Note
Go to the end to download the full example code.
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)