Veröffentlicht am :
Statistik CREATION_INTERNE

Wahlmodell mit verschachteltem Logit - PROC BCHOICE Beispiel

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript analysiert die Präferenzen für Verkehrsmittel (Auto, Flugzeug, ÖPNV) basierend auf Reisezeit und Alter der Probanden. Die Daten werden zunächst intern erstellt und dann neu strukturiert, um dem für diskrete Wahlmodelle erforderlichen Format zu entsprechen (eine Zeile pro Alternative). Das Skript vergleicht anschließend zwei Bayes'sche Ansätze: ein verschachteltes Logit-Modell, das Landverkehrsmittel (Auto, ÖPNV) gegenüber Flugreisen gruppiert, und ein klassisches multinomiales Logit-Modell.
Datenanalyse

Type : CREATION_INTERNE


Die Daten 'Travel' werden über DATALINES erstellt. Die Tabelle 'Travel2' wird aus 'Travel' abgeleitet, um die Datenstruktur vom breiten (wide) Format in das lange (long) Format umzuwandeln.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellung der Quelltabelle 'Travel', die die Reisezeiten für jeden Modus, das Alter des Probanden und die beobachtete endgültige Wahl enthält.
Kopiert!
1DATA Travel;
2 INPUT AutoTime PlanTime TranTime Age Chosen $;
3 AgeCtr=Age-34;
4 DATALINES;
510.0 4.5 10.5 32 Plane
65.5 4.0 7.5 13 Auto
74.5 6.0 5.5 41 Transit
83.5 2.0 5.0 41 Transit
91.5 4.5 4.0 47 Auto
1010.5 3.0 10.5 24 Plane
117.0 3.0 9.0 27 Auto
129.0 3.5 9.0 21 Plane
134.0 5.0 5.5 23 Auto
1422.0 4.5 22.5 30 Plane
157.5 5.5 10.0 58 Plane
1611.5 3.5 11.5 36 Transit
173.5 4.5 4.5 43 Auto
1812.0 3.0 11.0 33 Plane
1918.0 5.5 20.0 30 Plane
2023.0 5.5 21.5 28 Plane
214.0 3.0 4.5 44 Plane
225.0 2.5 7.0 37 Transit
233.5 2.0 7.0 45 Auto
2412.5 3.5 15.5 35 Plane
251.5 4.0 2.0 22 Auto
26;
2 Codeblock
DATA STEP Data
Erklärung :
Restrukturierung der Daten: Umwandlung in ein langes Format, wobei jede Zeile eine Wahlalternative für ein Subjekt darstellt. Erstellung der binären Variable 'Choice' (1 wenn gewählt, 0 sonst).
Kopiert!
1DATA Travel2(keep=Subject Mode TravTime Age AgeCtr Choice);
2 array Times[3] AutoTime PlanTime TranTime;
3 array Allmodes[3] $ _temporary_ ('Auto' 'Plane' 'Transit');
4 SET Travel;
5 Subject = _n_;
6 DO i = 1 to 3;
7 Mode = Allmodes[i];
8 TravTime = Times[i];
9 Choice = (Chosen eq Mode);
10 OUTPUT;
11 END;
12RUN;
3 Codeblock
PROC BCHOICE
Erklärung :
Schätzung eines verschachtelten Logit-Modells (Nested Logit). Die Option 'nest=(1 2 1)' definiert die hierarchische Struktur, indem die Modi 1 (Auto) und 3 (ÖPNV) in einem Nest zusammengefasst werden, getrennt vom Modus 2 (Flugzeug).
Kopiert!
1PROC BCHOICE DATA=Travel2 seed=124 nmc=20000 nthin=2 dic;
2 class Mode Subject / param=ref order=DATA;
3 model Choice = Mode TravTime / choiceset=(Subject) type=nlogit nest=(1 2 1);
4RUN;
4 Codeblock
PROC BCHOICE
Erklärung :
Schätzung eines Standard-Multinomial-Logit-Modells (ohne Verschachtelungsstruktur) auf denselben Daten, um den Vergleich der Informationskriterien (DIC) zu ermöglichen.
Kopiert!
1PROC BCHOICE DATA=Travel2 seed=124 nmc=20000 nthin=2 dic;
2 class Mode Subject / param=ref order=DATA;
3 model Choice = Mode TravTime / choiceset=(Subject);
4RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : SAS SAMPLE LIBRARY