Modul 4: Analisis Regresi Logistik

Objectives Praktikum

  1. Praktikan mampu memahami konsep-konsep dan prinsip dasar pada analisis regresi logistik
  2. Praktikan mampu menjalankan prosedur analisis regresi logistik dengan R dan RStudio.
  3. Praktikan mampu melakukan interpretasi hasil analisis regresi logistik dalam konteks PWK.

Review Teori

Regresi Non-Linear

Regresi non-linear adalah model statistik yang menghubungkan variabel dependen dengan satu atau lebih variabel independen, di mana hubungan antara variabel-variabel tersebut tidak linier. Artinya, perubahan nilai variabel independen tidak selalu menghasilkan perubahan nilai variabel dependen secara proporsional. Hal ini akan terjadi apabila variabel dependen yang digunakan adalah data diskrit, data yang hanya dapat mengambil nilai-nilai tertentu dan biasanya dalam jumlah terbatas.

Data diskrit ini bisa dalam berbagai bentuk terutama dalam kelompok variabel kategorikal. Dalam praktikum ini, data diskrit yang difokuskan adalah data pilihan atau choice data (non-ordered). Dalam kasus choice data ini, analisis regresi yang biasa digunakan disebut sebagai discrete choice model. Discrete choice model adalah model statistik yang digunakan untuk memprediksi pilihan yang dibuat oleh individu atau kelompok.

Discrete Choice Model

Discrete choice model memiliki banyak jenis pendekatan analisis regresi. Berikut adalah contoh jenis-jenisnya.

  • Model logit: Model ini menggunakan fungsi logistik (standard logistic distribution) untuk memprediksi probabilitas individu atau kelompok memilih salah satu opsi. Fungsi loContohnya, model prediksi probabilitas seseorang akan membeli produk tertentu.

  • Model probit: Model ini menggunakan fungsi probit (standard normal distribution) untuk memprediksi probabilitas individu atau kelompok memilih salah satu opsi. Contohnya, model prediksi probabilitas seseorang akan memilih kandidat politik tertentu.

Pada praktikum ini, kita akan fokus pada model logit.

Elemen dari discrete choice model

  • Decision maker: aktor/individual/grup yang memilih suatu pilihan

  • Alternatives: pilihan yang akan dipilih oleh aktor. Biasanya dalam bentuk set. Kasus pilihan yang hanya terdiri dari 2 pilihan disebut sebagai binary choice, sedangkan pada kasus pilihan lebih dari 2 disebut sebagai multinomial choice.

  • Alternatives attributes: setiap alternatives memiliki informasi yang terkait. Hal ini menjadi ‘attractiveness’ untuk setiap pilihannya.

  • Decision rules: mekanisme internal yang digunakan/berlaku pada decision maker untuk memproses informasi yang ada dan mengerucut pada pilihan unik.

    • Dominance

    • Satisfaction

    • Lexicographical rules

    • Utility

Utility Maximization

Konsep ini terdiri dan 2 hal fundamental:

  • Setiap alternatif yang tersedia bagi individu digambarkan dengan vektor atribut. Vektor ini mewakili karakteristik atau fitur utama dari alternatif tersebut yang direduksi menjadi nilai utility. Contohnya, dalam kasus pembelian mobil, vektor atribut dapat meliputi harga, konsumsi bahan bakar, performa mesin, dan fitur keselamatan.

  • Individu akan memilih alternatif yang memiliki utilitas tertinggi. Utilitas adalah nilai yang diukur dari tingkat kepuasan atau kenikmatan yang diperoleh individu dari suatu alternatif.

Random Utility: Dalam setiap utility function, akan terdapat komponen random untuk merepresentasikan komponen unobserved dari sudut pandang analis

Deterministic Component Utility

Asumsi Logit Model

  1. Given choice set
    • Individu dihadapkan pada kumpulan pilihan yang terbatas dan terdefinisi dengan baik.
    • Kumpulan pilihan ini tidak berubah selama proses pengambilan keputusan.
    • Individu memiliki informasi yang lengkap tentang semua alternatif dalam kumpulan pilihan.
  2. Indepent assumption across alternatives
    • Utilitas dari setiap alternatif tidak terpengaruh oleh pilihan individu terhadap alternatif lain.
    • Artinya, keputusan individu untuk memilih satu alternatif tidak memengaruhi nilai utilitas alternatif lainnya.
    • Asumsi ini berlaku jika tidak ada interaksi atau efek samping antar alternatif.
  3. Independent assumption across decision maker
    • Keputusan individu tidak saling memengaruhi.
    • Artinya, pilihan satu individu tidak memengaruhi pilihan individu lain.
    • Asumsi ini berlaku jika individu tidak saling berinteraksi atau bertukar informasi dalam proses pengambilan keputusan.
  4. Identical distribution disturbance assumption
    • Gangguan (error term) dalam model logit diasumsikan mengikuti distribusi probabilitas yang sama untuk semua alternatif.
    • Gangguan ini mewakili faktor-faktor yang tidak teramati yang dapat memengaruhi keputusan individu.
    • Asumsi ini memungkinkan model logit untuk diestimasi dengan metode statistik yang umum.

Handson Praktikum

# packages used in this chapter
library(haven)
library(tidyverse) # general data munging
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(mlogit) # multinomial logit estimation
## Loading required package: dfidx
## 
## Attaching package: 'dfidx'
## 
## The following object is masked from 'package:stats':
## 
##     filter
library(modelsummary) # pretty tables
## `modelsummary` 2.0.0 now uses `tinytable` as its default table-drawing
##   backend. Learn more at: https://vincentarelbundock.github.io/tinytable/
## 
## Revert to `kableExtra` for one session:
## 
##   options(modelsummary_factory_default = 'kableExtra')
## 
## Change the default backend persistently:
## 
##   config_modelsummary(factory_default = 'gt')
## 
## Silence this message forever:
## 
##   config_modelsummary(startup_message = FALSE)
library(kableExtra)   # pretty tables
## 
## Attaching package: 'kableExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(labelled) # point labels

Data

Pada pratikum kali ini akan digunakan dataset sample MTC yang digunakan dalam A Self Instructing Course in Mode Choice Modeling: Multinomial and Nested Logit Models:

The San Francisco Bay Area work mode choice data set comprises 5029 home-to-work commute trips in the San Francisco Bay Area. The data is drawn from the San Francisco Bay Area Household Travel Survey conducted by the Metropolitan Transportation Commission (MTC) in the spring and fall of 1990. This survey included a one day travel diary for each household member older than five years and detailed individual and household socio-demographic information.

There are six work mode choice alternatives in the region: drive alone, shared-ride with 2 people, shared ride with 3 or more people, transit, bike, and walk.15 The drive alone mode is available for a trip only if the trip-maker’s household has a vehicle available and if the trip-maker has a driver’s license. The shared-ride modes (with 2 people and with 3 or more people) are available for all trips. Transit availability is determined based on the residence and work zones of individuals. The bike mode is deemed available if the one-way home-to-work distance is less than 12 miles, while the walk mode is considered to be available if the one-way home to work distance is less than 4 miles (the distance thresholds to determine bike and walk availability are determined based on the maximum one-way distance of bike and walk-users, respectively).

Berikut link download dataset: modechoice/data-raw/Work Trips/SPSS/SF MTC Work MC Data NewVars.sav at main · tfresource/modechoice · GitHub

# Read in raw SPSS file
# 
# We received the work mode choice dataset from Laurie Garrow, who had converted
# the file into a labeled SPSS data object. This code reads the file into R
# using the haven::read_spss function, and then creates a new alternative column
# as the label of the alternative number
sf_work_mode <- read_spss("SF MTC Work MC Data NewVars.sav") %>% 
  mutate(altname = as_factor(altnum, levels = "labels"))

# Convert into mlogit dfidx data frame
# mlogit requires instructions on which rows are the alternative, and which rows
# are the cases. This dataset is in IDCase-ALT format
sf_mlogit <- dfidx(sf_work_mode, idx = c("case", "altname"))

Format dataset ini adalah “IDCase-IDAlt” (case-altenative) format, setiap baris dapat mencakup informasi tentang variabel yang terkait dengan pembuat keputusan atau pilihan itu sendiri, atribut dari alternatif tertentu, dan variabel pilihan yang mengindikasikan apakah alternatif tersebut dipilih atau tidak dipilih.

Berikut adalah tampilan data yang akan digunakan bila dalam format Trip-Alternative format.

trip_alt <- sf_work_mode  %>%   
  filter(altnum <= 4)  %>%   
  select(hhid, perid, Alternative = altname, chosen, IVTT = ivtt, Income = hhinc)   

kbl(head(trip_alt), caption= "Data Layout Type II: Trip-Alternative Format") %>% 
  kable_styling()
Data Layout Type II: Trip-Alternative Format
hhid perid Alternative chosen IVTT Income
2 1 Drive alone 1 13.38 42.5
2 1 Share ride 2 0 18.38 42.5
2 1 Share ride 3+ 0 20.38 42.5
2 1 Transit 0 25.90 42.5
3 1 Drive alone 0 29.92 17.5
3 1 Share ride 2 0 34.92 17.5

Bentuk lain data dalam kasus discrete choice model adalah “IDCase” (case-only) format. setiap baris memberikan semua informasi yang relevan tentang pilihan individu, termasuk variabel yang terkait dengan pembuat keputusan atau pilihan itu sendiri, serta variabel yang terkait dengan alternatif untuk semua alternatif yang tersedia, dan variabel yang menunjukkan alternatif mana yang dipilih.

Berikut adalah tampilan data yang akan digunakan bila dalam format Trip format.

trip_format <- sf_work_mode  %>%
  filter(case <= 4)  %>%
  select(hhid, perid, chosen, ivtt, Income = hhinc, altname, altnum) %>%
  group_by(hhid, perid) %>%
  mutate( chosen = altname[which(chosen == 1)], altname = str_c(altname, " - Travel Time")) %>%
  select(-altnum) %>%
  spread(altname, ivtt, fill = 0)

kbl(head(trip_format), caption= "Data Layout Type I: Trip Format") %>%
  kable_styling()
Data Layout Type I: Trip Format
hhid perid chosen Income Bike - Travel Time Drive alone - Travel Time Share ride 2 - Travel Time Share ride 3+ - Travel Time Transit - Travel Time
2 1 Drive alone 42.5 40.50 13.38 18.38 20.38 25.90
3 1 Transit 17.5 58.95 29.92 34.92 21.92 22.96
5 1 Drive alone 12.5 0.00 8.60 13.60 15.60 16.87
6 1 Transit 55.0 0.00 30.60 35.70 22.70 24.27

Tabel di bawah memberikan informasi tentang ketersediaan dan penggunaan setiap alternatif dan nilai rata-rata in-vehicle time, out-of-vehicle time dan travel cost dalam sampel. Berkendara sendiri tersedia untuk sebagian besar komuter di Bay Area dan merupakan alternatif yang paling sering dipilih. Moda perjalanan bersama tersedia untuk semua perjalanan (berdasarkan konstruksi) dan bersama-sama merupakan bagian terbesar berikutnya dari alternatif yang dipilih. Total gabungan dari perjalanan berkendara sendiri dan perjalanan dengan kendaraan bersama mewakili hampir 85% dari semua perjalanan kerja. Perjalanan transit merupakan sekitar 10% dari perjalanan kerja, jauh lebih besar dibandingkan dengan sebagian besar wilayah metropolitan di A.S. Fraksi perjalanan yang menggunakan moda tidak bermotor (berjalan kaki dan bersepeda) merupakan bagian yang kecil namun tidak signifikan dari total perjalanan.

#calculations =======================================

#calculate IVTT
sf_wm_ivtt <- sf_work_mode  %>%
  select(hhid, perid, altnum, chosen, ivtt, hhinc) %>%
  group_by(hhid, perid) %>%
  mutate( chosen = max(chosen * altnum) ) %>%
  spread(altnum, ivtt, fill = 0)
ivtt_raw <- apply(sf_wm_ivtt,2,function(x) mean(x[x>0]))

#calculate OVTT
sf_wm_ovtt <- sf_work_mode  %>%
  select(hhid, perid, altnum, chosen, ovtt, hhinc) %>%
  group_by(hhid, perid) %>%
  mutate( chosen = max(chosen * altnum) ) %>%
  spread(altnum, ovtt, fill = 0)
ovtt_raw <- apply(sf_wm_ovtt,2,function(x) mean(x[x>0]))

#calculate OVTT for walk (using TVTT)
sf_wm_tvtt <- sf_work_mode  %>%
  select(hhid, perid, altnum, chosen, tvtt, hhinc) %>%
  group_by(hhid, perid) %>%
  mutate( chosen = max(chosen * altnum) ) %>%
  spread(altnum, tvtt, fill = 0)
tvtt_raw <- apply(sf_wm_tvtt,2,function(x) mean(x[x>0]))

#calculate market share
Base_model <- mlogit(chosen ~ cost + tvtt | hhinc, data = sf_mlogit)
mrktshr_raw <- Base_model$freq / nrow(sf_wm_tvtt)

#calculate COST
sf_wm_cost <- sf_work_mode  %>%
  select(hhid, perid, altnum, chosen, cost, hhinc) %>%
  group_by(hhid, perid) %>%
  mutate( chosen = max(chosen * altnum) ) %>%
  spread(altnum, cost, fill = 0)
cost_raw <- apply(sf_wm_cost,2,function(x) mean(x[x>0]))

#create the table ==================================
statsJtoWork <- tibble(
  "Mode"= c("1. Drive Alone","2. Shared Ride (2)","3. Shared Ride (3+)", "4. Transit", "5. Bike", "6. Walk"),
  "Fraction of Sample with Mode Available (%)" = c(94.6,100.0,100.0,79.6,34.6,29.4),
  "Market Share (%)" = c(mrktshr_raw) * 100,
  "Average IVTT (minutes)" = c(ivtt_raw[ -c(1:4)]), 
  "Average OVTT (minutes)" = c(ovtt_raw[c(5:9)],  tvtt_raw[c(10)]),
  "Average Cost (1990 cents)" = c(cost_raw[-c(1:4)]))

#display the table =================================
kbl(statsJtoWork, digits = 1,
    caption = "Sample Statistics for Bay Area Journey-to-Work Modal Data") %>% 
  kable_styling()
Sample Statistics for Bay Area Journey-to-Work Modal Data
Mode Fraction of Sample with Mode Available (%) Market Share (%) Average IVTT (minutes) Average OVTT (minutes) Average Cost (1990 cents)
  1. Drive Alone
94.6 72.3 20.9 3.7 176.4
  1. Shared Ride (2)
100.0 10.3 25.2 3.9 89.3
  1. Shared Ride (3+)
100.0 3.2 26.8 3.9 50.4
  1. Transit
79.6 9.9 24.6 28.8 122.8
  1. Bike
34.6 1.0 28.0 3.7 NaN
  1. Walk
29.4 3.3 NaN 48.7 NaN

Notes: Market share adalah constant-only model

Estimasi MNL Model

Kita akan melakukan estimasi model dengan dataset yang sama. Pada modul ini akan hanya dibahas model dengan spesifikasi dasar yang mencakup waktu tempuh, biaya perjalanan, dan pendapatan rumah tangga sebagai variabel penjelas. Waktu tempuh dan biaya perjalanan mewakili atribut yang terkait dengan moda; dengan asumsi semua hal lain sama, moda yang lebih cepat lebih mungkin dipilih daripada moda yang lebih lambat dan moda yang lebih murah lebih mungkin dipilih daripada moda yang lebih mahal. Pendapatan rumah tangga dimasukkan dalam model dengan harapan bahwa pelaku perjalanan dari rumah tangga berpenghasilan tinggi lebih cenderung mengemudi sendiri daripada menggunakan moda transportasi lain.

Variabel waktu tempuh (TT) dan biaya perjalanan (TC) ditetapkan secara umum dalam model ini. Hal ini mengimplikasikan bahwa peningkatan satu unit waktu tempuh atau biaya perjalanan memiliki dampak yang sama terhadap utilitas moda untuk keenam moda. Pendapatan Rumah Tangga (Inc) dimasukkan sebagai variabel alternative-spesific. Moda berkendara sendiri dianggap sebagai alternatif dasar untuk pendapatan rumah tangga dan konstanta modal. Hal ini dikarenakan moda berkendara menjadi moda paling umum dipiih.

Bisa dilihat berdasarkan penjelasan data sebelumnya, alternatif yang digunakan terdiri dari 6. Setiap alternatif digunakan untuk membentuk utility function: DA (berkendara sendiri), SR2 (berkendara bersama dengan 2 orang), SR3+ (berkendara bersama dengan 3 orang atau lebih), TR (angkutan umum), BK (sepeda) dan WK (berjalan kaki). Berikut adalah utility function untuk setiap moda.

\(V_{DA} = \beta_{1} \times TT_{DA} + \beta_{2} \times TC_{DA}\)

\(V_{SR2} = \beta_{SR2} + \beta_{1} \times TT_{SR2} + \beta_{2} \times TC_{SR2} + \gamma_{SR2} \times Inc\)

\(V_{SR3+} = \beta_{SR3+} + \beta_{1} \times TT_{SR3+} + \beta_{2} \times TC_{SR3+} + \gamma_{SR3+} \times Inc\)

\(V_{TR} = \beta_{TR} + \beta_{1} \times TT_{TR} + \beta_{2} \times TC_{TR} + \gamma_{TR} \times Inc\)

\(V_{BK} = \beta_{BK} + \beta_{1} \times TT_{BK} + \beta_{2} \times TC_{BK} + \gamma_{BK} \times Inc\)

\(V_{WK} = \beta_{WK} + \beta_{1} \times TT_{WK} + \beta_{2} \times TC_{WK} + \gamma_{WK} \times Inc\)


Basic Estimation

Catatan: untuk market shares dan null model tetap menggunakan command di bawah ini.

base <- mlogit(chosen ~ ivtt + cost | hhinc, data = sf_mlogit)

# estimate a model with constants only by constraining a single generic variable
# to be zero
market_shares <- mlogit(chosen ~ ivtt, data = sf_mlogit, constPar = c("ivtt" = 0))

# Estimate a null model by constraining ALL the parameters to be zero. 
fixed_coefs <- rep(0,6) %>% setNames(c(names(coef(market_shares)), "ivtt"))
null_model <- mlogit(chosen ~ ivtt, data = sf_mlogit, start = fixed_coefs, iterlim = 0)
  • Null model

    summary(null_model)
    ## 
    ## Call:
    ## mlogit(formula = chosen ~ ivtt, data = sf_mlogit, start = fixed_coefs, 
    ##     iterlim = 0, method = "nr")
    ## 
    ## Frequencies of alternatives:choice
    ##   Drive alone  Share ride 2 Share ride 3+       Transit          Bike 
    ##     0.7232054     0.1028037     0.0320143     0.0990257     0.0099423 
    ##          Walk 
    ##     0.0330086 
    ## 
    ## nr method
    ## 1 iterations, 0h:0m:0s 
    ## g'(-H)^-1g = 1E+10 
    ## iteration limit exceeded 
    ## 
    ## Coefficients :
    ##                            Estimate Std. Error z-value Pr(>|z|)
    ## (Intercept):Share ride 2   0.000000   0.043961       0        1
    ## (Intercept):Share ride 3++ 0.000000   0.045746       0        1
    ## (Intercept):Transit        0.000000   0.053483       0        1
    ## (Intercept):Bike           0.000000   0.084827       0        1
    ## (Intercept):Walk           0.000000   0.073315       0        1
    ## ivtt                       0.000000   0.002923       0        1
    ## 
    ## Log-Likelihood: -7309.6
    ## McFadden R^2:  -0.50491 
    ## Likelihood ratio test : chisq = -4904.8 (p.value = 1)
  • Market share (constants only)

    summary(market_shares)
    ## 
    ## Call:
    ## mlogit(formula = chosen ~ ivtt, data = sf_mlogit, constPar = c(ivtt = 0), 
    ##     method = "nr")
    ## 
    ## Frequencies of alternatives:choice
    ##   Drive alone  Share ride 2 Share ride 3+       Transit          Bike 
    ##     0.7232054     0.1028037     0.0320143     0.0990257     0.0099423 
    ##          Walk 
    ##     0.0330086 
    ## 
    ## nr method
    ## 6 iterations, 0h:0m:0s 
    ## g'(-H)^-1g = 2.75E-06 
    ## successive function values within tolerance limits 
    ## 
    ## Coefficients :
    ##                             Estimate Std. Error z-value  Pr(>|z|)    
    ## (Intercept):Share ride 2   -2.136711   0.048426 -44.123 < 2.2e-16 ***
    ## (Intercept):Share ride 3++ -3.303349   0.081376 -40.594 < 2.2e-16 ***
    ## (Intercept):Transit        -1.950417   0.050541 -38.590 < 2.2e-16 ***
    ## (Intercept):Bike           -3.334521   0.144509 -23.075 < 2.2e-16 ***
    ## (Intercept):Walk           -2.040294   0.085371 -23.899 < 2.2e-16 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Log-Likelihood: -4132.9
    ## McFadden R^2:  0.14911 
    ## Likelihood ratio test : chisq = 1448.5 (p.value = < 2.22e-16)
  • Base model

    summary(base)
    ## 
    ## Call:
    ## mlogit(formula = chosen ~ ivtt + cost | hhinc, data = sf_mlogit, 
    ##     method = "nr")
    ## 
    ## Frequencies of alternatives:choice
    ##   Drive alone  Share ride 2 Share ride 3+       Transit          Bike 
    ##     0.7232054     0.1028037     0.0320143     0.0990257     0.0099423 
    ##          Walk 
    ##     0.0330086 
    ## 
    ## nr method
    ## 6 iterations, 0h:0m:0s 
    ## g'(-H)^-1g = 1.73E-05 
    ## successive function values within tolerance limits 
    ## 
    ## Coefficients :
    ##                               Estimate  Std. Error  z-value  Pr(>|z|)    
    ## (Intercept):Share ride 2   -2.30498351  0.10548312 -21.8517 < 2.2e-16 ***
    ## (Intercept):Share ride 3++ -3.88936481  0.17794370 -21.8573 < 2.2e-16 ***
    ## (Intercept):Transit        -1.73953676  0.11558815 -15.0494 < 2.2e-16 ***
    ## (Intercept):Bike           -2.71692113  0.31192089  -8.7103 < 2.2e-16 ***
    ## (Intercept):Walk           -2.21386359  0.17160667 -12.9008 < 2.2e-16 ***
    ## ivtt                       -0.03124062  0.00506025  -6.1737  6.67e-10 ***
    ## cost                       -0.00511441  0.00024117 -21.2066 < 2.2e-16 ***
    ## hhinc:Share ride 2         -0.00200224  0.00153903  -1.3010  0.193266    
    ## hhinc:Share ride 3++        0.00049520  0.00251795   0.1967  0.844089    
    ## hhinc:Transit              -0.00568114  0.00179504  -3.1649  0.001551 ** 
    ## hhinc:Bike                 -0.01318729  0.00538865  -2.4472  0.014396 *  
    ## hhinc:Walk                 -0.00983799  0.00306815  -3.2065  0.001344 ** 
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Log-Likelihood: -3780.8
    ## McFadden R^2:  0.2216 
    ## Likelihood ratio test : chisq = 2152.7 (p.value = < 2.22e-16)
basic_estimation <- list(
  "Null Model" = null_model,
  "Market Shares" = market_shares,
  "Base Model" = base
)

modelsummary(
  basic_estimation,
  stars = TRUE
)
tinytable_hwn2tjh7llmovv1b1ibw
Null Model Market Shares Base Model
+ p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001
(Intercept) × Share ride 2 0.000 -2.137*** -2.305***
(0.044) (0.048) (0.105)
(Intercept) × Share ride 3++ 0.000 -3.303*** -3.889***
(0.046) (0.081) (0.178)
(Intercept) × Transit 0.000 -1.950*** -1.740***
(0.053) (0.051) (0.116)
(Intercept) × Bike 0.000 -3.335*** -2.717***
(0.085) (0.145) (0.312)
(Intercept) × Walk 0.000 -2.040*** -2.214***
(0.073) (0.085) (0.172)
ivtt 0.000 -0.031***
(0.003) (0.005)
cost -0.005***
(0.000)
hhinc × Share ride 2 -0.002
(0.002)
hhinc × Share ride 3++ 0.000
(0.003)
hhinc × Transit -0.006**
(0.002)
hhinc × Bike -0.013*
(0.005)
hhinc × Walk -0.010**
(0.003)
Num.Obs. 30174 30174 30174
AIC 14631.2 8277.8 7585.6
RMSE 0.83 0.54 0.52
mcfadden's r2 -0.504905585907711 0.149112535310227 0.22160323972448

Output akan keluar dalam bentuk Viewer web page pada tab viewer. Bisa gunakan “Show in new window” atau “Zoom”.

Informal Test

Berbagai tes informal dapat diterapkan pada model yang diestimasi. Pengujian ini dirancang untuk menilai kewajaran implikasi dari parameter yang diestimasi. Pengujian yang paling umum dilakukan:

  1. Sign/Tanda parameter (apakah variabel yang terkait memiliki efek positif atau negatif pada alternatif yang terkait dengannya?)

    Estimasi koefisien pada variabel waktu tempuh dan biaya pada tabel hasil model bernilai negatif (ivtt:-0.032; cost: -0.005), seperti yang diharapkan, yang mengimplikasikan bahwa utilitas suatu moda menurun ketika moda tersebut menjadi lebih lambat dan/atau lebih mahal. Hal ini, pada gilirannya, akan mengurangi probabilitas pemilihan moda yang bersangkutan.

  2. Perbedaan (positif atau negatif) dalam set variabel spesifik alternatif (apakah penyertaan variabel ini memiliki efek yang lebih atau kurang positif pada satu alternatif dibandingkan dengan yang lain?)

    Apakah ada dampak karakteristik pengambil keputusan terhadap berbagai alternatif? Karena DA adalah alternatif referensi dalam model ini, ekspektasinya adalah parameter negatif pada semua variabel alternative specific income, dengan nilai yang kecil untuk alternatif berkendara bersama dan nilai yang lebih besar untuk alternatif lainnya, untuk mencerminkan intuisi kita bahwa peningkatan pendapatan akan dikaitkan dengan penurunan preferensi untuk semua alternatif lainnya relatif terhadap berkendara sendiri.

    Semua estimasi parameter pendapatan spesifik alternatif pada Tabel Hasil Estimasi untuk Zero Coefficient, Constants Only dan Base Models bernilai negatif, seperti yang diharapkan, dengan pengecualian parameter untuk tumpangan bersama 3+. Tanda positif untuk parameter tumpangan bersama 3+ berlawanan dengan intuisi, tetapi sangat kecil dan tidak berbeda secara signifikan dari nol.

    Pengujian informal tambahan melibatkan perbandingan di antara parameter-parameter pendapatan yang diestimasi. Perbedaan besarnya parameter pendapatan spesifik alternatif ini menunjukkan dampak relatif dari peningkatan pendapatan terhadap utilitas dan, oleh karena itu, probabilitas pemilihan masing-masing moda. Hasil yang dilaporkan pada tabel menunjukkan bahwa peningkatan pendapatan akan memberikan dampak negatif yang lebih besar terhadap utilitas moda tak bermotor (sepeda dan pejalan kaki) dibandingkan dengan moda angkutan umum dan moda tumpangan bersama.

    Penting untuk dipahami bahwa perubahan probabilitas pemilihan alternatif tersebut tidak ditentukan oleh tanda parameter pendapatan untuk alternatif tertentu, melainkan oleh nilai parameter tersebut relatif terhadap rata-rata tertimbang dari parameter pendapatan di seluruh alternatif. Sebagai contoh, dalam spesifikasi base model, peningkatan pendapatan akan meningkatkan probabilitas untuk memilih berkendara sendiri dan nebeng 3+ orang (alternatif dengan parameter yang paling positif) dan akan mengurangi probabilitas untuk memilih berjalan kaki dan bersepeda (alternatif dengan parameter yang paling negatif). Namun, dampaknya terhadap perjalanan bersama 2 orang dan angkutan umum belum jelas; seiring dengan meningkatnya pendapatan, mereka akan kehilangan sebagian probabilitas untuk berkendara sendiri dan perjalanan bersama 3+ orang dan mendapatkan sebagian dari berjalan kaki dan bersepeda. Efeknya akan terlihat pada perbedaan antara parameter untuk mode yang diminati dan rata-rata tertimbang dari semua parameter pendapatan alternatif-spesifik.

  3. Rasio pasangan parameter (apakah rasio antara parameter-parameter tersebut memiliki tanda yang benar dan dalam kisaran yang wajar?)

    Rasio estimasi parameter waktu tempuh dan biaya perjalanan memberikan estimasi nilai waktu yang diimplikasikan oleh model; hal ini dapat menjadi uji informal penting lainnya untuk mengevaluasi kewajaran model. Sebagai contoh, dalam Base Model yang, nilai waktu yang tersirat adalah -0,0315962/-0,0050606 atau 6,2435342 sen per menit (unit ditentukan dari unit variabel waktu dan biaya yang digunakan dalam estimasi). Ini setara dengan $6,26 per jam yang jauh lebih rendah daripada tingkat upah rata-rata di daerah tersebut pada saat survei dilakukan, yaitu sekitar $21,20 per jam, yang menunjukkan bahwa estimasi nilai waktu tersebut mungkin terlalu rendah (ini jika lebih detail akan berkaitan dengan value of time)

    Rasio yang sama dapat digunakan untuk menilai kewajaran besaran relatif dari pasangan parameter lainnya. Hal ini termasuk waktu di luar kendaraan relatif terhadap waktu di dalam kendaraan, keandalan waktu tempuh (jika ada) relatif terhadap waktu tempuh rata-rata, dll.

Overall Goodness-of-Fit Measures

  1. Log-Likelihood: Merupakan nilai log-likelihood dari model, yang menunjukkan seberapa baik model ini cocok dengan data. Semakin tinggi nilai log-likelihood, semakin baik modelnya.

  2. McFadden R^2: Merupakan ukuran kecocokan model. Nilai yang lebih tinggi menunjukkan model yang lebih baik. Dalam kasus ini, nilai McFadden R^2 adalah 0.2216, menunjukkan bahwa model cukup baik dalam menjelaskan variasi dalam pemilihan moda transportasi.

Statistical Test

  1. Likelihood ratio test: Merupakan tes untuk signifikansi keseluruhan model. Nilai p kurang dari alpha yang ditentukan (biasanya 0.05) menunjukkan bahwa model secara keseluruhan signifikan.