Publié le :
Statistique CREATION_INTERNE

Modèle de Choix avec Logit Imbriqué - Exemple PROC BCHOICE

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script analyse les préférences de mode de transport (Auto, Avion, Transit) en fonction du temps de trajet et de l'âge des sujets. Les données sont d'abord créées en interne puis restructurées pour correspondre au format requis par les modèles de choix discrets (une ligne par alternative). Le script compare ensuite deux approches bayésiennes : un modèle logit imbriqué regroupant les transports terrestres (Auto, Transit) versus le transport aérien, et un modèle logit multinomial classique.
Analyse des données

Type : CREATION_INTERNE


Les données 'Travel' sont créées via DATALINES. La table 'Travel2' est dérivée de 'Travel' pour transformer la structure des données du format large (wide) au format long (long).

1 Bloc de code
DATA STEP Data
Explication :
Création de la table source 'Travel' contenant les temps de trajet pour chaque mode, l'âge du sujet et le choix final observé.
Copié !
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 Bloc de code
DATA STEP Data
Explication :
Restructuration des données : conversion en format long où chaque ligne représente une alternative de choix pour un sujet. Création de la variable binaire 'Choice' (1 si choisi, 0 sinon).
Copié !
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 Bloc de code
PROC BCHOICE
Explication :
Estimation d'un modèle Logit Imbriqué (Nested Logit). L'option 'nest=(1 2 1)' définit la structure hiérarchique en regroupant les modes 1 (Auto) et 3 (Transit) dans un nid, séparément du mode 2 (Plane).
Copié !
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 Bloc de code
PROC BCHOICE
Explication :
Estimation d'un modèle Logit Multinomial standard (sans structure de nidification) sur les mêmes données pour permettre la comparaison des critères d'information (DIC).
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : SAS SAMPLE LIBRARY


Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« L'analyse des préférences de transport via PROC BCHOICE permet de dépasser les limites des modèles de choix classiques en intégrant une approche bayésienne robuste. L'intérêt majeur de ce script réside dans l'utilisation du Logit Imbriqué (Nested Logit) via l'option TYPE=NLOGIT. Contrairement au modèle logit multinomial standard, le modèle imbriqué lève l'hypothèse restrictive d'Indépendance des Alternatives Non Pertinentes (IIA). En regroupant l'Auto et le Transit dans un même "nid" (nest=(1 2 1)), on reconnaît que ces modes terrestres sont des substituts plus proches entre eux qu'ils ne le sont de l'Avion, offrant ainsi une modélisation bien plus fidèle aux comportements réels des voyageurs. »