.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/montecarlo/plot_b04normal_mixture_numerical.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_montecarlo_plot_b04normal_mixture_numerical.py: Numerical integration ===================== Calculation of a mixtures of logit models where the integral is calculated using numerical integration. :author: Michel Bierlaire, EPFL :date: Thu Apr 13 20:51:32 2023 .. GENERATED FROM PYTHON SOURCE LINES 12-32 .. code-block:: default import biogeme.biogeme as bio import biogeme.distributions as dist from biogeme.expressions import RandomVariable, Integrate from biogeme import models from swissmetro_one import ( database, TRAIN_TT_SCALED, TRAIN_COST_SCALED, SM_TT_SCALED, SM_COST_SCALED, CAR_TT_SCALED, CAR_CO_SCALED, TRAIN_AV_SP, SM_AV, CAR_AV_SP, CHOICE, ) .. GENERATED FROM PYTHON SOURCE LINES 33-34 Parameters .. GENERATED FROM PYTHON SOURCE LINES 34-41 .. code-block:: default ASC_CAR = 0.137 ASC_TRAIN = -0.402 ASC_SM = 0 B_TIME = -2.26 B_TIME_S = 1.66 B_COST = -1.29 .. GENERATED FROM PYTHON SOURCE LINES 42-44 Define a random parameter, normally distributed, designed to be used for integration .. GENERATED FROM PYTHON SOURCE LINES 44-48 .. code-block:: default omega = RandomVariable('omega') density = dist.normalpdf(omega) B_TIME_RND = B_TIME + B_TIME_S * omega .. GENERATED FROM PYTHON SOURCE LINES 49-50 Definition of the utility functions .. GENERATED FROM PYTHON SOURCE LINES 50-54 .. code-block:: default V1 = ASC_TRAIN + B_TIME_RND * TRAIN_TT_SCALED + B_COST * TRAIN_COST_SCALED V2 = ASC_SM + B_TIME_RND * SM_TT_SCALED + B_COST * SM_COST_SCALED V3 = ASC_CAR + B_TIME_RND * CAR_TT_SCALED + B_COST * CAR_CO_SCALED .. GENERATED FROM PYTHON SOURCE LINES 55-56 Associate utility functions with the numbering of alternatives .. GENERATED FROM PYTHON SOURCE LINES 56-58 .. code-block:: default V = {1: V1, 2: V2, 3: V3} .. GENERATED FROM PYTHON SOURCE LINES 59-60 Associate the availability conditions with the alternatives .. GENERATED FROM PYTHON SOURCE LINES 60-62 .. code-block:: default av = {1: TRAIN_AV_SP, 2: SM_AV, 3: CAR_AV_SP} .. GENERATED FROM PYTHON SOURCE LINES 63-64 The choice model is a logit, with availability conditions .. GENERATED FROM PYTHON SOURCE LINES 64-67 .. code-block:: default integrand = models.logit(V, av, CHOICE) numericalI = Integrate(integrand * density, 'omega') .. GENERATED FROM PYTHON SOURCE LINES 68-70 .. code-block:: default simulate = {'Numerical': numericalI} .. GENERATED FROM PYTHON SOURCE LINES 71-73 .. code-block:: default biosim = bio.BIOGEME(database, simulate) .. GENERATED FROM PYTHON SOURCE LINES 74-77 .. code-block:: default results = biosim.simulate(theBetaValues={}) results .. raw:: html
Numerical
0 0.63785


.. GENERATED FROM PYTHON SOURCE LINES 78-79 .. code-block:: default print('Mixture of logit - numerical integration: ', results.iloc[0]['Numerical']) .. rst-class:: sphx-glr-script-out .. code-block:: none Mixture of logit - numerical integration: 0.6378498355784457 .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.021 seconds) .. _sphx_glr_download_auto_examples_montecarlo_plot_b04normal_mixture_numerical.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_b04normal_mixture_numerical.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_b04normal_mixture_numerical.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_