.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/swissmetro/plot_b08boxcox.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_swissmetro_plot_b08boxcox.py: Box-Cox transforms ================== Example of a logit model, with a Box-Cox transform of variables. :author: Michel Bierlaire, EPFL :date: Sun Apr 9 17:58:15 2023 .. GENERATED FROM PYTHON SOURCE LINES 11-16 .. code-block:: default import biogeme.biogeme as bio from biogeme import models from biogeme.expressions import Beta .. GENERATED FROM PYTHON SOURCE LINES 17-18 See the data processing script: :ref:`swissmetro_data`. .. GENERATED FROM PYTHON SOURCE LINES 18-32 .. code-block:: default from swissmetro_data import ( database, CHOICE, SM_AV, CAR_AV_SP, TRAIN_AV_SP, TRAIN_TT_SCALED, TRAIN_COST_SCALED, SM_TT_SCALED, SM_COST_SCALED, CAR_TT_SCALED, CAR_CO_SCALED, ) .. GENERATED FROM PYTHON SOURCE LINES 33-34 Parameters to be estimated. .. GENERATED FROM PYTHON SOURCE LINES 34-41 .. code-block:: default ASC_CAR = Beta('ASC_CAR', 0, None, None, 0) ASC_TRAIN = Beta('ASC_TRAIN', 0, None, None, 0) ASC_SM = Beta('ASC_SM', 0, None, None, 1) B_TIME = Beta('B_TIME', 0, None, None, 0) B_COST = Beta('B_COST', 0, None, None, 0) LAMBDA = Beta('LAMBDA', 0, None, None, 0) .. GENERATED FROM PYTHON SOURCE LINES 42-43 Definition of the utility functions. .. GENERATED FROM PYTHON SOURCE LINES 43-51 .. code-block:: default V1 = ( ASC_TRAIN + B_TIME * models.boxcox(TRAIN_TT_SCALED, LAMBDA) + B_COST * TRAIN_COST_SCALED ) V2 = ASC_SM + B_TIME * models.boxcox(SM_TT_SCALED, LAMBDA) + B_COST * SM_COST_SCALED V3 = ASC_CAR + B_TIME * models.boxcox(CAR_TT_SCALED, LAMBDA) + B_COST * CAR_CO_SCALED .. GENERATED FROM PYTHON SOURCE LINES 52-53 Associate utility functions with the numbering of alternatives. .. GENERATED FROM PYTHON SOURCE LINES 53-55 .. code-block:: default V = {1: V1, 2: V2, 3: V3} .. GENERATED FROM PYTHON SOURCE LINES 56-57 Associate the availability conditions with the alternatives. .. GENERATED FROM PYTHON SOURCE LINES 57-59 .. code-block:: default av = {1: TRAIN_AV_SP, 2: SM_AV, 3: CAR_AV_SP} .. GENERATED FROM PYTHON SOURCE LINES 60-62 Definition of the model. This is the contribution of each observation to the log likelihood function. .. GENERATED FROM PYTHON SOURCE LINES 62-64 .. code-block:: default logprob = models.loglogit(V, av, CHOICE) .. GENERATED FROM PYTHON SOURCE LINES 65-66 Create the Biogeme object. .. GENERATED FROM PYTHON SOURCE LINES 66-69 .. code-block:: default the_biogeme = bio.BIOGEME(database, logprob) the_biogeme.modelName = 'b08boxcox' .. GENERATED FROM PYTHON SOURCE LINES 70-71 Check the derivatives of the log liklelihood function around 0. .. GENERATED FROM PYTHON SOURCE LINES 71-73 .. code-block:: default the_biogeme.checkDerivatives(beta=[0, 0, 0, 0, 0], verbose=True) .. rst-class:: sphx-glr-script-out .. code-block:: none (-6964.6629791922205, array([ -99. , -1541.5 , -224.60833333, -1510.70259763, 0. ]), array([[-1246. , 623. , 113.97111111, -216.89261174, 0. ], [ 623. , -1536.25 , 154.53194444, -754.54814588, 0. ], [ 113.97111111, 154.53194444, -633.136825 , 164.98825122, 0. ], [ -216.89261174, -754.54814588, 164.98825122, -896.93691608, -290.96756803], [ 0. , 0. , 0. , -290.96756803, 0. ]]), array([-0.00035575, -0.00045858, -0.00030395, -0.00027485, 0. ]), array([[-2.33821161e-05, 8.70677854e-06, 1.87785348e-05, 1.28155432e-06, 0.00000000e+00], [-1.78165961e-04, 2.44009268e-05, -3.65803303e-05, -3.42056321e-05, 0.00000000e+00], [ 5.42033138e-06, -7.02175248e-06, -6.80464154e-07, 1.17407737e-06, 0.00000000e+00], [ 3.55529107e-06, 8.99536622e-06, 6.05643180e-07, -5.55560746e-06, 2.10474028e-05], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.68242649e-06, 0.00000000e+00]])) .. GENERATED FROM PYTHON SOURCE LINES 74-75 Estimate the parameters .. GENERATED FROM PYTHON SOURCE LINES 75-77 .. code-block:: default results = the_biogeme.estimate() .. GENERATED FROM PYTHON SOURCE LINES 78-80 .. code-block:: default print(results.short_summary()) .. rst-class:: sphx-glr-script-out .. code-block:: none Results for model b08boxcox Nbr of parameters: 5 Sample size: 6768 Excluded data: 3960 Final log likelihood: -5292.095 Akaike Information Criterion: 10594.19 Bayesian Information Criterion: 10628.29 .. GENERATED FROM PYTHON SOURCE LINES 81-83 .. code-block:: default pandas_results = results.getEstimatedParameters() pandas_results .. raw:: html
Value Rob. Std err Rob. t-test Rob. p-value
ASC_CAR -0.004624 0.048008 -0.096310 9.232741e-01
ASC_TRAIN -0.484974 0.064398 -7.530904 5.040413e-14
B_COST -1.078534 0.068008 -15.858881 0.000000e+00
B_TIME -1.674909 0.076558 -21.877701 0.000000e+00
LAMBDA 0.510059 0.077305 6.598023 4.166778e-11


.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.482 seconds) .. _sphx_glr_download_auto_examples_swissmetro_plot_b08boxcox.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_b08boxcox.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_b08boxcox.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_