2. MIMIC model - maximum likelihood estimationΒΆ

This script estimates a pure MIMIC model (measurement and structural components only) using maximum likelihood, without an associated discrete choice model.

It is mainly intended to:

  • test and validate the latent-variable specification,

  • assess identification and normalization issues, and

  • serve as a building block for hybrid choice models.

The model configuration is defined locally in this file and passed to the generic estimation pipeline via estimate_model().

Michel Bierlaire Thu Dec 25 2025, 08:24:35

Biogeme parameters read from biogeme.toml.
Results are read from the file saved_results/b02_mimic_ml.yaml.
Results for model b02_mimic_ml
Nbr of parameters:              60
Sample size:                    896
Excluded data:                  0
Final log likelihood:           -17009.57
Akaike Information Criterion:   34139.14
Bayesian Information Criterion: 34427.01

                                                 Name  ...  BHHH p-value
0                       measurement_intercept_Mobil12  ...  1.690337e-01
1   measurement_coefficient_environmental_attitude...  ...  2.727652e-02
2           struct_environmental_attitude_childSuburb  ...  1.148750e-02
3          struct_environmental_attitude_ScaledIncome  ...  7.110204e-04
4    struct_environmental_attitude_city_center_as_kid  ...  3.886242e-02
5              struct_environmental_attitude_artisans  ...  2.878049e-02
6        struct_environmental_attitude_high_education  ...  2.373663e-03
7         struct_environmental_attitude_low_education  ...  1.418459e-01
8             struct_environmental_attitude_sigma_log  ...  1.220268e-08
9                       measurement_Mobil12_sigma_log  ...  1.069770e-01
10                                 likert_delta_0_log  ...  0.000000e+00
11                                 likert_delta_1_log  ...  9.663676e-07
12                      measurement_intercept_Mobil09  ...  9.279196e-05
13  measurement_coefficient_car_centric_attitude_M...  ...  4.853264e-07
14         struct_car_centric_attitude_high_education  ...  2.101643e-05
15            struct_car_centric_attitude_top_manager  ...  2.798325e-01
16              struct_car_centric_attitude_employees  ...  4.544281e-01
17            struct_car_centric_attitude_age_30_less  ...  4.424488e-03
18           struct_car_centric_attitude_ScaledIncome  ...  6.771161e-01
19   struct_car_centric_attitude_car_oriented_parents  ...  1.164681e-03
20              struct_car_centric_attitude_sigma_log  ...  9.493466e-02
21                      measurement_Mobil09_sigma_log  ...  2.856044e-04
22                      measurement_intercept_Envir03  ...  2.936380e-04
23  measurement_coefficient_environmental_attitude...  ...  3.837000e-09
24                      measurement_Envir03_sigma_log  ...  1.155933e-01
25                      measurement_intercept_Envir05  ...  1.604078e-02
26  measurement_coefficient_environmental_attitude...  ...  0.000000e+00
27                      measurement_Envir05_sigma_log  ...  4.060020e-06
28                      measurement_intercept_Envir04  ...  1.975210e-03
29  measurement_coefficient_environmental_attitude...  ...  2.220446e-16
30                      measurement_Envir04_sigma_log  ...  7.405030e-06
31                      measurement_intercept_Mobil05  ...  3.136052e-03
32  measurement_coefficient_car_centric_attitude_M...  ...  6.612856e-05
33                      measurement_Mobil05_sigma_log  ...  7.029157e-01
34                      measurement_intercept_Mobil10  ...  5.597204e-02
35  measurement_coefficient_car_centric_attitude_M...  ...  1.153146e-02
36                      measurement_Mobil10_sigma_log  ...  3.266098e-01
37                     measurement_intercept_LifSty07  ...  3.301369e-01
38  measurement_coefficient_car_centric_attitude_L...  ...  4.580834e-02
39                     measurement_LifSty07_sigma_log  ...  4.474957e-01
40  measurement_coefficient_environmental_attitude...  ...  1.418943e-04
41                      measurement_intercept_Mobil03  ...  5.909451e-04
42  measurement_coefficient_car_centric_attitude_M...  ...  1.028528e-04
43                      measurement_Mobil03_sigma_log  ...  6.745101e-02
44                        measurement_intercept_NbCar  ...  0.000000e+00
45  measurement_coefficient_car_centric_attitude_N...  ...  1.839200e-09
46                                   cars_delta_1_log  ...  0.000000e+00
47                                   cars_delta_2_log  ...  0.000000e+00
48  measurement_coefficient_car_centric_attitude_E...  ...  1.598542e-07
49                      measurement_Envir02_sigma_log  ...  1.188719e-06
50                     measurement_intercept_LifSty01  ...  1.181660e-01
51  measurement_coefficient_environmental_attitude...  ...  1.969394e-04
52                     measurement_LifSty01_sigma_log  ...  7.193841e-03
53                      measurement_intercept_Mobil08  ...  2.167058e-01
54  measurement_coefficient_car_centric_attitude_M...  ...  3.447992e-04
55                      measurement_Mobil08_sigma_log  ...  6.359053e-01
56                      measurement_intercept_Envir06  ...  2.326318e-05
57  measurement_coefficient_car_centric_attitude_E...  ...  3.092209e-02
58  measurement_coefficient_environmental_attitude...  ...  0.000000e+00
59                      measurement_Envir06_sigma_log  ...  8.213430e-13

[60 rows x 5 columns]

import biogeme.biogeme_logging as blog

from config import Config
from estimate import estimate_model

logger = blog.get_screen_logger(level=blog.INFO)

the_config = Config(
    name='b02_mimic_ml',
    latent_variables="two",
    choice_model="no",
    estimation="ml",
    number_of_bayesian_draws_per_chain=20_000,
    number_of_monte_carlo_draws=20_000,
)

estimate_model(config=the_config)

Total running time of the script: (0 minutes 0.948 seconds)

Gallery generated by Sphinx-Gallery