.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/latent/plot_b05latent_choice_full.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_latent_plot_b05latent_choice_full.py: Choice model with a latent variable: maximum likelihood estimation ================================================================== Mixture of logit. Measurement equation for the indicators. Maximum likelihood (full information) estimation. :author: Michel Bierlaire, EPFL :date: Thu Apr 13 18:02:26 2023 .. GENERATED FROM PYTHON SOURCE LINES 13-66 .. code-block:: default import sys import biogeme.biogeme_logging as blog import biogeme.biogeme as bio import biogeme.exceptions as excep from biogeme import models import biogeme.distributions as dist import biogeme.results as res from biogeme.expressions import ( Beta, log, RandomVariable, Integrate, Elem, bioNormalCdf, exp, ) from read_or_estimate import read_or_estimate from optima import ( database, age_65_more, moreThanOneCar, moreThanOneBike, individualHouse, male, haveChildren, haveGA, highEducation, WaitingTimePT, Envir01, Envir02, Envir03, Mobil11, Mobil14, Mobil16, Mobil17, Choice, TimePT_scaled, TimeCar_scaled, MarginalCostPT_scaled, CostCarCHF_scaled, distance_km_scaled, PurpHWH, PurpOther, ScaledIncome, ) logger = blog.get_screen_logger(level=blog.INFO) logger.info('Example b05latent_choice_full.py') .. rst-class:: sphx-glr-script-out .. code-block:: none Example b05latent_choice_full.py .. GENERATED FROM PYTHON SOURCE LINES 67-68 Read the estimates from the structural equation estimation. .. GENERATED FROM PYTHON SOURCE LINES 68-79 .. code-block:: default MODELNAME = 'b02one_latent_ordered' try: struct_results = res.bioResults(pickleFile=f'saved_results/{MODELNAME}.pickle') except excep.BiogemeError: print( f'Run first the script {MODELNAME}.py in order to generate the ' f'file {MODELNAME}.pickle, and move it to the directory saved_results' ) sys.exit() struct_betas = struct_results.getBetaValues() .. GENERATED FROM PYTHON SOURCE LINES 80-81 Coefficients .. GENERATED FROM PYTHON SOURCE LINES 81-104 .. code-block:: default coef_intercept = Beta('coef_intercept', struct_betas['coef_intercept'], None, None, 0) coef_age_65_more = Beta( 'coef_age_65_more', struct_betas['coef_age_65_more'], None, None, 0 ) coef_haveGA = Beta('coef_haveGA', struct_betas['coef_haveGA'], None, None, 0) coef_moreThanOneCar = Beta( 'coef_moreThanOneCar', struct_betas['coef_moreThanOneCar'], None, None, 0 ) coef_moreThanOneBike = Beta( 'coef_moreThanOneBike', struct_betas['coef_moreThanOneBike'], None, None, 0 ) coef_individualHouse = Beta( 'coef_individualHouse', struct_betas['coef_individualHouse'], None, None, 0 ) coef_male = Beta('coef_male', struct_betas['coef_male'], None, None, 0) coef_haveChildren = Beta( 'coef_haveChildren', struct_betas['coef_haveChildren'], None, None, 0 ) coef_highEducation = Beta( 'coef_highEducation', struct_betas['coef_highEducation'], None, None, 0 ) .. GENERATED FROM PYTHON SOURCE LINES 105-106 Latent variable: structural equation .. GENERATED FROM PYTHON SOURCE LINES 108-110 Define a random parameter, normally distributed, designed to be used for numerical integration .. GENERATED FROM PYTHON SOURCE LINES 110-114 .. code-block:: default omega = RandomVariable('omega') density = dist.normalpdf(omega) sigma_s = Beta('sigma_s', 1, None, None, 0) .. GENERATED FROM PYTHON SOURCE LINES 115-116 Piecewise linear specification for income. .. GENERATED FROM PYTHON SOURCE LINES 116-175 .. code-block:: default thresholds = [None, 4, 6, 8, 10, None] betas_thresholds = [ Beta( 'beta_ScaledIncome_minus_inf_4', struct_betas['beta_ScaledIncome_minus_inf_4'], None, None, 0, ), Beta( 'beta_ScaledIncome_4_6', struct_betas['beta_ScaledIncome_4_6'], None, None, 0, ), Beta( 'beta_ScaledIncome_6_8', struct_betas['beta_ScaledIncome_6_8'], None, None, 0, ), Beta( 'beta_ScaledIncome_8_10', struct_betas['beta_ScaledIncome_8_10'], None, None, 0, ), Beta( 'beta_ScaledIncome_10_inf', struct_betas['beta_ScaledIncome_10_inf'], None, None, 0, ), ] formula_income = models.piecewiseFormula( variable=ScaledIncome, thresholds=thresholds, betas=betas_thresholds, ) CARLOVERS = ( coef_intercept + coef_age_65_more * age_65_more + formula_income + coef_moreThanOneCar * moreThanOneCar + coef_moreThanOneBike * moreThanOneBike + coef_individualHouse * individualHouse + coef_male * male + coef_haveChildren * haveChildren + coef_haveGA * haveGA + coef_highEducation * highEducation + sigma_s * omega ) .. GENERATED FROM PYTHON SOURCE LINES 176-177 Measurement equations. .. GENERATED FROM PYTHON SOURCE LINES 179-180 Intercepts. .. GENERATED FROM PYTHON SOURCE LINES 180-188 .. code-block:: default INTER_Envir01 = Beta('INTER_Envir01', 0, None, None, 1) INTER_Envir02 = Beta('INTER_Envir02', 0, None, None, 0) INTER_Envir03 = Beta('INTER_Envir03', 0, None, None, 0) INTER_Mobil11 = Beta('INTER_Mobil11', 0, None, None, 0) INTER_Mobil14 = Beta('INTER_Mobil14', 0, None, None, 0) INTER_Mobil16 = Beta('INTER_Mobil16', 0, None, None, 0) INTER_Mobil17 = Beta('INTER_Mobil17', 0, None, None, 0) .. GENERATED FROM PYTHON SOURCE LINES 189-190 Coefficients. .. GENERATED FROM PYTHON SOURCE LINES 190-198 .. code-block:: default B_Envir01_F1 = Beta('B_Envir01_F1', -1, None, None, 1) B_Envir02_F1 = Beta('B_Envir02_F1', -1, None, None, 0) B_Envir03_F1 = Beta('B_Envir03_F1', 1, None, None, 0) B_Mobil11_F1 = Beta('B_Mobil11_F1', 1, None, None, 0) B_Mobil14_F1 = Beta('B_Mobil14_F1', 1, None, None, 0) B_Mobil16_F1 = Beta('B_Mobil16_F1', 1, None, None, 0) B_Mobil17_F1 = Beta('B_Mobil17_F1', 1, None, None, 0) .. GENERATED FROM PYTHON SOURCE LINES 199-200 Linear models. .. GENERATED FROM PYTHON SOURCE LINES 200-208 .. code-block:: default MODEL_Envir01 = INTER_Envir01 + B_Envir01_F1 * CARLOVERS MODEL_Envir02 = INTER_Envir02 + B_Envir02_F1 * CARLOVERS MODEL_Envir03 = INTER_Envir03 + B_Envir03_F1 * CARLOVERS MODEL_Mobil11 = INTER_Mobil11 + B_Mobil11_F1 * CARLOVERS MODEL_Mobil14 = INTER_Mobil14 + B_Mobil14_F1 * CARLOVERS MODEL_Mobil16 = INTER_Mobil16 + B_Mobil16_F1 * CARLOVERS MODEL_Mobil17 = INTER_Mobil17 + B_Mobil17_F1 * CARLOVERS .. GENERATED FROM PYTHON SOURCE LINES 209-210 Scale parameters .. GENERATED FROM PYTHON SOURCE LINES 210-218 .. code-block:: default SIGMA_STAR_Envir01 = Beta('SIGMA_STAR_Envir01', 1, 1.0e-5, None, 1) SIGMA_STAR_Envir02 = Beta('SIGMA_STAR_Envir02', 1, 1.0e-5, None, 0) SIGMA_STAR_Envir03 = Beta('SIGMA_STAR_Envir03', 1, 1.0e-5, None, 0) SIGMA_STAR_Mobil11 = Beta('SIGMA_STAR_Mobil11', 1, 1.0e-5, None, 0) SIGMA_STAR_Mobil14 = Beta('SIGMA_STAR_Mobil14', 1, 1.0e-5, None, 0) SIGMA_STAR_Mobil16 = Beta('SIGMA_STAR_Mobil16', 1, 1.0e-5, None, 0) SIGMA_STAR_Mobil17 = Beta('SIGMA_STAR_Mobil17', 1, 1.0e-5, None, 0) .. GENERATED FROM PYTHON SOURCE LINES 219-220 Symmetric thresholds. .. GENERATED FROM PYTHON SOURCE LINES 220-227 .. code-block:: default delta_1 = Beta('delta_1', 0.1, 1.0e-5, None, 0) delta_2 = Beta('delta_2', 0.2, 1.0e-5, None, 0) tau_1 = -delta_1 - delta_2 tau_2 = -delta_1 tau_3 = delta_1 tau_4 = delta_1 + delta_2 .. GENERATED FROM PYTHON SOURCE LINES 228-229 Ordered probit models. .. GENERATED FROM PYTHON SOURCE LINES 229-348 .. code-block:: default Envir01_tau_1 = (tau_1 - MODEL_Envir01) / SIGMA_STAR_Envir01 Envir01_tau_2 = (tau_2 - MODEL_Envir01) / SIGMA_STAR_Envir01 Envir01_tau_3 = (tau_3 - MODEL_Envir01) / SIGMA_STAR_Envir01 Envir01_tau_4 = (tau_4 - MODEL_Envir01) / SIGMA_STAR_Envir01 IndEnvir01 = { 1: bioNormalCdf(Envir01_tau_1), 2: bioNormalCdf(Envir01_tau_2) - bioNormalCdf(Envir01_tau_1), 3: bioNormalCdf(Envir01_tau_3) - bioNormalCdf(Envir01_tau_2), 4: bioNormalCdf(Envir01_tau_4) - bioNormalCdf(Envir01_tau_3), 5: 1 - bioNormalCdf(Envir01_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Envir01 = Elem(IndEnvir01, Envir01) Envir02_tau_1 = (tau_1 - MODEL_Envir02) / SIGMA_STAR_Envir02 Envir02_tau_2 = (tau_2 - MODEL_Envir02) / SIGMA_STAR_Envir02 Envir02_tau_3 = (tau_3 - MODEL_Envir02) / SIGMA_STAR_Envir02 Envir02_tau_4 = (tau_4 - MODEL_Envir02) / SIGMA_STAR_Envir02 IndEnvir02 = { 1: bioNormalCdf(Envir02_tau_1), 2: bioNormalCdf(Envir02_tau_2) - bioNormalCdf(Envir02_tau_1), 3: bioNormalCdf(Envir02_tau_3) - bioNormalCdf(Envir02_tau_2), 4: bioNormalCdf(Envir02_tau_4) - bioNormalCdf(Envir02_tau_3), 5: 1 - bioNormalCdf(Envir02_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Envir02 = Elem(IndEnvir02, Envir02) Envir03_tau_1 = (tau_1 - MODEL_Envir03) / SIGMA_STAR_Envir03 Envir03_tau_2 = (tau_2 - MODEL_Envir03) / SIGMA_STAR_Envir03 Envir03_tau_3 = (tau_3 - MODEL_Envir03) / SIGMA_STAR_Envir03 Envir03_tau_4 = (tau_4 - MODEL_Envir03) / SIGMA_STAR_Envir03 IndEnvir03 = { 1: bioNormalCdf(Envir03_tau_1), 2: bioNormalCdf(Envir03_tau_2) - bioNormalCdf(Envir03_tau_1), 3: bioNormalCdf(Envir03_tau_3) - bioNormalCdf(Envir03_tau_2), 4: bioNormalCdf(Envir03_tau_4) - bioNormalCdf(Envir03_tau_3), 5: 1 - bioNormalCdf(Envir03_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Envir03 = Elem(IndEnvir03, Envir03) Mobil11_tau_1 = (tau_1 - MODEL_Mobil11) / SIGMA_STAR_Mobil11 Mobil11_tau_2 = (tau_2 - MODEL_Mobil11) / SIGMA_STAR_Mobil11 Mobil11_tau_3 = (tau_3 - MODEL_Mobil11) / SIGMA_STAR_Mobil11 Mobil11_tau_4 = (tau_4 - MODEL_Mobil11) / SIGMA_STAR_Mobil11 IndMobil11 = { 1: bioNormalCdf(Mobil11_tau_1), 2: bioNormalCdf(Mobil11_tau_2) - bioNormalCdf(Mobil11_tau_1), 3: bioNormalCdf(Mobil11_tau_3) - bioNormalCdf(Mobil11_tau_2), 4: bioNormalCdf(Mobil11_tau_4) - bioNormalCdf(Mobil11_tau_3), 5: 1 - bioNormalCdf(Mobil11_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Mobil11 = Elem(IndMobil11, Mobil11) Mobil14_tau_1 = (tau_1 - MODEL_Mobil14) / SIGMA_STAR_Mobil14 Mobil14_tau_2 = (tau_2 - MODEL_Mobil14) / SIGMA_STAR_Mobil14 Mobil14_tau_3 = (tau_3 - MODEL_Mobil14) / SIGMA_STAR_Mobil14 Mobil14_tau_4 = (tau_4 - MODEL_Mobil14) / SIGMA_STAR_Mobil14 IndMobil14 = { 1: bioNormalCdf(Mobil14_tau_1), 2: bioNormalCdf(Mobil14_tau_2) - bioNormalCdf(Mobil14_tau_1), 3: bioNormalCdf(Mobil14_tau_3) - bioNormalCdf(Mobil14_tau_2), 4: bioNormalCdf(Mobil14_tau_4) - bioNormalCdf(Mobil14_tau_3), 5: 1 - bioNormalCdf(Mobil14_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Mobil14 = Elem(IndMobil14, Mobil14) Mobil16_tau_1 = (tau_1 - MODEL_Mobil16) / SIGMA_STAR_Mobil16 Mobil16_tau_2 = (tau_2 - MODEL_Mobil16) / SIGMA_STAR_Mobil16 Mobil16_tau_3 = (tau_3 - MODEL_Mobil16) / SIGMA_STAR_Mobil16 Mobil16_tau_4 = (tau_4 - MODEL_Mobil16) / SIGMA_STAR_Mobil16 IndMobil16 = { 1: bioNormalCdf(Mobil16_tau_1), 2: bioNormalCdf(Mobil16_tau_2) - bioNormalCdf(Mobil16_tau_1), 3: bioNormalCdf(Mobil16_tau_3) - bioNormalCdf(Mobil16_tau_2), 4: bioNormalCdf(Mobil16_tau_4) - bioNormalCdf(Mobil16_tau_3), 5: 1 - bioNormalCdf(Mobil16_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Mobil16 = Elem(IndMobil16, Mobil16) Mobil17_tau_1 = (tau_1 - MODEL_Mobil17) / SIGMA_STAR_Mobil17 Mobil17_tau_2 = (tau_2 - MODEL_Mobil17) / SIGMA_STAR_Mobil17 Mobil17_tau_3 = (tau_3 - MODEL_Mobil17) / SIGMA_STAR_Mobil17 Mobil17_tau_4 = (tau_4 - MODEL_Mobil17) / SIGMA_STAR_Mobil17 IndMobil17 = { 1: bioNormalCdf(Mobil17_tau_1), 2: bioNormalCdf(Mobil17_tau_2) - bioNormalCdf(Mobil17_tau_1), 3: bioNormalCdf(Mobil17_tau_3) - bioNormalCdf(Mobil17_tau_2), 4: bioNormalCdf(Mobil17_tau_4) - bioNormalCdf(Mobil17_tau_3), 5: 1 - bioNormalCdf(Mobil17_tau_4), 6: 1.0, -1: 1.0, -2: 1.0, } P_Mobil17 = Elem(IndMobil17, Mobil17) .. GENERATED FROM PYTHON SOURCE LINES 349-352 Choice model Read the estimates from the sequential estimation, and use them as starting values .. GENERATED FROM PYTHON SOURCE LINES 352-363 .. code-block:: default MODELNAME = 'b04latent_choice_seq' try: choice_results = res.bioResults(pickleFile=f'saved_results/{MODELNAME}.pickle') except excep.BiogemeError: print( f'Run first the script {MODELNAME}.py in order to generate the ' f'file {MODELNAME}.pickle, and move it to the directory saved_results' ) sys.exit() choice_betas = choice_results.getBetaValues() .. GENERATED FROM PYTHON SOURCE LINES 364-365 Parameters to estimate. We use the previously estimated values as starting points. .. GENERATED FROM PYTHON SOURCE LINES 365-389 .. code-block:: default ASC_CAR = Beta('ASC_CAR', choice_betas['ASC_CAR'], None, None, 0) ASC_PT = Beta('ASC_PT', 0, None, None, 1) ASC_SM = Beta('ASC_SM', choice_betas['ASC_SM'], None, None, 0) BETA_COST_HWH = Beta('BETA_COST_HWH', choice_betas['BETA_COST_HWH'], None, None, 0) BETA_COST_OTHER = Beta( 'BETA_COST_OTHER', choice_betas['BETA_COST_OTHER'], None, None, 0 ) BETA_DIST = Beta('BETA_DIST', choice_betas['BETA_DIST'], None, None, 0) BETA_TIME_CAR_REF = Beta( 'BETA_TIME_CAR_REF', choice_betas['BETA_TIME_CAR_REF'], None, 0, 0 ) BETA_TIME_CAR_CL = Beta( 'BETA_TIME_CAR_CL', choice_betas['BETA_TIME_CAR_CL'], None, None, 0 ) BETA_TIME_PT_REF = Beta( 'BETA_TIME_PT_REF', choice_betas['BETA_TIME_PT_REF'], None, 0, 0 ) BETA_TIME_PT_CL = Beta( 'BETA_TIME_PT_CL', choice_betas['BETA_TIME_PT_CL'], None, None, 0 ) BETA_WAITING_TIME = Beta( 'BETA_WAITING_TIME', choice_betas['BETA_WAITING_TIME'], None, None, 0 ) .. GENERATED FROM PYTHON SOURCE LINES 390-391 Definition of the utility functions. .. GENERATED FROM PYTHON SOURCE LINES 391-413 .. code-block:: default BETA_TIME_PT = BETA_TIME_PT_REF * exp(BETA_TIME_PT_CL * CARLOVERS) V0 = ( ASC_PT + BETA_TIME_PT * TimePT_scaled + BETA_WAITING_TIME * WaitingTimePT + BETA_COST_HWH * MarginalCostPT_scaled * PurpHWH + BETA_COST_OTHER * MarginalCostPT_scaled * PurpOther ) BETA_TIME_CAR = BETA_TIME_CAR_REF * exp(BETA_TIME_CAR_CL * CARLOVERS) V1 = ( ASC_CAR + BETA_TIME_CAR * TimeCar_scaled + BETA_COST_HWH * CostCarCHF_scaled * PurpHWH + BETA_COST_OTHER * CostCarCHF_scaled * PurpOther ) V2 = ASC_SM + BETA_DIST * distance_km_scaled .. GENERATED FROM PYTHON SOURCE LINES 414-415 Associate utility functions with the numbering of alternatives. .. GENERATED FROM PYTHON SOURCE LINES 415-417 .. code-block:: default V = {0: V0, 1: V1, 2: V2} .. GENERATED FROM PYTHON SOURCE LINES 418-420 Conditional on omega, we have a logit model (called the kernel) for the choice. .. GENERATED FROM PYTHON SOURCE LINES 420-422 .. code-block:: default condprob = models.logit(V, None, Choice) .. GENERATED FROM PYTHON SOURCE LINES 423-425 Conditional on omega, we have the product of ordered probit for the indicators. .. GENERATED FROM PYTHON SOURCE LINES 425-436 .. code-block:: default condlike = ( P_Envir01 * P_Envir02 * P_Envir03 * P_Mobil11 * P_Mobil14 * P_Mobil16 * P_Mobil17 * condprob ) .. GENERATED FROM PYTHON SOURCE LINES 437-438 We integrate over omega using numerical integration. .. GENERATED FROM PYTHON SOURCE LINES 438-440 .. code-block:: default loglike = log(Integrate(condlike * density, 'omega')) .. GENERATED FROM PYTHON SOURCE LINES 441-442 Create the Biogeme object .. GENERATED FROM PYTHON SOURCE LINES 442-445 .. code-block:: default the_biogeme = bio.BIOGEME(database, loglike) the_biogeme.modelName = 'b05latent_choice_full' .. rst-class:: sphx-glr-script-out .. code-block:: none File biogeme.toml has been parsed. .. GENERATED FROM PYTHON SOURCE LINES 446-448 If estimation results are saved on file, we read them to speed up the process. If not, we estimate the parameters. .. GENERATED FROM PYTHON SOURCE LINES 448-450 .. code-block:: default results = read_or_estimate(the_biogeme=the_biogeme, directory='saved_results') .. GENERATED FROM PYTHON SOURCE LINES 451-455 .. code-block:: default print(f'Estimated betas: {len(results.data.betaValues)}') print(f'Final log likelihood: {results.data.logLike:.3f}') print(f'Output file: {results.data.htmlFileName}') .. rst-class:: sphx-glr-script-out .. code-block:: none Estimated betas: 45 Final log likelihood: -18382.717 Output file: b05latent_choice_full.html .. GENERATED FROM PYTHON SOURCE LINES 456-457 .. code-block:: default results.getEstimatedParameters() .. raw:: html
Value Rob. Std err Rob. t-test Rob. p-value
ASC_CAR 0.815233 0.104743 7.783210 7.105427e-15
ASC_SM 1.400745 0.236395 5.925450 3.114439e-09
BETA_COST_HWH -1.589918 0.366315 -4.340306 1.422842e-05
BETA_COST_OTHER -0.663446 0.189130 -3.507885 4.516849e-04
BETA_DIST -3.392497 0.484974 -6.995216 2.648548e-12
BETA_TIME_CAR_CL -1.768226 0.148916 -11.873992 0.000000e+00
BETA_TIME_CAR_REF -10.389780 1.679466 -6.186359 6.156988e-10
BETA_TIME_PT_CL -1.339830 0.110312 -12.145776 0.000000e+00
BETA_TIME_PT_REF -3.474129 0.645128 -5.385174 7.237458e-08
BETA_WAITING_TIME -0.023051 0.009581 -2.405874 1.613383e-02
B_Envir02_F1 -0.464301 0.031682 -14.655262 0.000000e+00
B_Envir03_F1 0.487399 0.031612 15.418223 0.000000e+00
B_Mobil11_F1 0.583207 0.041162 14.168555 0.000000e+00
B_Mobil14_F1 0.578342 0.034671 16.680763 0.000000e+00
B_Mobil16_F1 0.524495 0.040696 12.888214 0.000000e+00
B_Mobil17_F1 0.514920 0.039927 12.896673 0.000000e+00
INTER_Envir02 0.452860 0.029692 15.251942 0.000000e+00
INTER_Envir03 -0.360788 0.027981 -12.893854 0.000000e+00
INTER_Mobil11 0.401588 0.035651 11.264272 0.000000e+00
INTER_Mobil14 -0.170274 0.027058 -6.292896 3.115974e-10
INTER_Mobil16 0.142562 0.032124 4.437855 9.085983e-06
INTER_Mobil17 0.134492 0.031284 4.299096 1.714962e-05
SIGMA_STAR_Envir02 0.898517 0.032992 27.234586 0.000000e+00
SIGMA_STAR_Envir03 0.840490 0.033153 25.351663 0.000000e+00
SIGMA_STAR_Mobil11 0.876890 0.037607 23.317248 0.000000e+00
SIGMA_STAR_Mobil14 0.748311 0.031335 23.881328 0.000000e+00
SIGMA_STAR_Mobil16 0.860156 0.036691 23.443363 0.000000e+00
SIGMA_STAR_Mobil17 0.862204 0.035991 23.955859 0.000000e+00
beta_ScaledIncome_10_inf 0.108667 0.030514 3.561174 3.692006e-04
beta_ScaledIncome_4_6 -0.272952 0.106514 -2.562587 1.038956e-02
beta_ScaledIncome_6_8 0.295908 0.127715 2.316941 2.050694e-02
beta_ScaledIncome_8_10 -0.610315 0.142779 -4.274551 1.915227e-05
beta_ScaledIncome_minus_inf_4 0.135102 0.052844 2.556620 1.056946e-02
coef_age_65_more 0.034253 0.060561 0.565593 5.716707e-01
coef_haveChildren -0.035222 0.037075 -0.950018 3.421031e-01
coef_haveGA -0.672809 0.060700 -11.084210 0.000000e+00
coef_highEducation -0.239201 0.046422 -5.152773 2.566630e-07
coef_individualHouse -0.114339 0.035596 -3.212079 1.317779e-03
coef_intercept 0.383396 0.140325 2.732203 6.291229e-03
coef_male 0.089800 0.038919 2.307322 2.103690e-02
coef_moreThanOneBike -0.349312 0.055942 -6.244219 4.259237e-10
coef_moreThanOneCar 0.684881 0.062173 11.015789 0.000000e+00
delta_1 0.319813 0.011911 26.850842 0.000000e+00
delta_2 0.964421 0.033649 28.661064 0.000000e+00
sigma_s 0.807894 0.054736 14.759725 0.000000e+00


.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.279 seconds) .. _sphx_glr_download_auto_examples_latent_plot_b05latent_choice_full.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_b05latent_choice_full.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_b05latent_choice_full.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_