.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/indicators/plot_b04market_shares.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_indicators_plot_b04market_shares.py: Calculation of market shares ============================ We use an estimated model to calculate market shares. :author: Michel Bierlaire, EPFL :date: Wed Apr 12 21:03:52 2023 .. GENERATED FROM PYTHON SOURCE LINES 12-21 .. code-block:: Python import sys from biogeme import models import biogeme.biogeme as bio from biogeme.exceptions import BiogemeError import biogeme.results as res from biogeme.data.optima import read_data, normalized_weight from scenarios import scenario .. GENERATED FROM PYTHON SOURCE LINES 22-23 Obtain the specification for the default scenario .. GENERATED FROM PYTHON SOURCE LINES 23-25 .. code-block:: Python V, nests, _, _ = scenario() .. GENERATED FROM PYTHON SOURCE LINES 26-27 Obtain the expression for the choice probability of each alternative. .. GENERATED FROM PYTHON SOURCE LINES 27-31 .. code-block:: Python prob_PT = models.nested(V, None, nests, 0) prob_CAR = models.nested(V, None, nests, 1) prob_SM = models.nested(V, None, nests, 2) .. GENERATED FROM PYTHON SOURCE LINES 32-33 Read the estimation results from the file .. GENERATED FROM PYTHON SOURCE LINES 33-42 .. code-block:: Python try: results = res.bioResults(pickle_file='saved_results/b02estimation.pickle') except BiogemeError: sys.exit( 'Run first the script b02simulation.py ' 'in order to generate the ' 'file b02estimation.pickle.' ) .. GENERATED FROM PYTHON SOURCE LINES 43-44 Read the database .. GENERATED FROM PYTHON SOURCE LINES 44-46 .. code-block:: Python database = read_data() .. GENERATED FROM PYTHON SOURCE LINES 47-48 We now simulate the choice probabilities and the weight .. GENERATED FROM PYTHON SOURCE LINES 48-58 .. code-block:: Python simulate = { 'weight': normalized_weight, 'Prob. PT': prob_PT, 'Prob. car': prob_CAR, 'Prob. SM': prob_SM, } the_biogeme = bio.BIOGEME(database, simulate) simulated_values = the_biogeme.simulate(results.get_beta_values()) .. GENERATED FROM PYTHON SOURCE LINES 59-60 We also calculate confidence intervals for the calculated quantities, .. GENERATED FROM PYTHON SOURCE LINES 60-64 .. code-block:: Python betas = the_biogeme.free_beta_names b = results.get_betas_for_sensitivity_analysis(betas) left, right = the_biogeme.confidence_intervals(b, 0.9) .. GENERATED FROM PYTHON SOURCE LINES 65-67 Market shares are calculated using the weighted mean of the individual probabilities. .. GENERATED FROM PYTHON SOURCE LINES 69-70 Alternative car .. GENERATED FROM PYTHON SOURCE LINES 70-80 .. code-block:: Python simulated_values['Weighted prob. car'] = ( simulated_values['weight'] * simulated_values['Prob. car'] ) left['Weighted prob. car'] = left['weight'] * left['Prob. car'] right['Weighted prob. car'] = right['weight'] * right['Prob. car'] marketShare_car = simulated_values['Weighted prob. car'].mean() marketShare_car_left = left['Weighted prob. car'].mean() marketShare_car_right = right['Weighted prob. car'].mean() .. GENERATED FROM PYTHON SOURCE LINES 81-82 Alternative public transportation .. GENERATED FROM PYTHON SOURCE LINES 82-92 .. code-block:: Python simulated_values['Weighted prob. PT'] = ( simulated_values['weight'] * simulated_values['Prob. PT'] ) left['Weighted prob. PT'] = left['weight'] * left['Prob. PT'] right['Weighted prob. PT'] = right['weight'] * right['Prob. PT'] marketShare_PT = simulated_values['Weighted prob. PT'].mean() marketShare_PT_left = left['Weighted prob. PT'].mean() marketShare_PT_right = right['Weighted prob. PT'].mean() .. GENERATED FROM PYTHON SOURCE LINES 93-94 Alternative slow modes .. GENERATED FROM PYTHON SOURCE LINES 94-104 .. code-block:: Python simulated_values['Weighted prob. SM'] = ( simulated_values['weight'] * simulated_values['Prob. SM'] ) left['Weighted prob. SM'] = left['weight'] * left['Prob. SM'] right['Weighted prob. SM'] = right['weight'] * right['Prob. SM'] marketShare_SM = simulated_values['Weighted prob. SM'].mean() marketShare_SM_left = left['Weighted prob. SM'].mean() marketShare_SM_right = right['Weighted prob. SM'].mean() .. GENERATED FROM PYTHON SOURCE LINES 105-106 Reporting. .. GENERATED FROM PYTHON SOURCE LINES 108-109 Car. .. GENERATED FROM PYTHON SOURCE LINES 109-115 .. code-block:: Python print( f'Market share for car: {100*marketShare_car:.1f}% ' f'[{100*marketShare_car_left:.1f}%, ' f'{100*marketShare_car_right:.1f}%]' ) .. rst-class:: sphx-glr-script-out .. code-block:: none Market share for car: 65.4% [62.2%, 69.1%] .. GENERATED FROM PYTHON SOURCE LINES 116-117 Public transportation. .. GENERATED FROM PYTHON SOURCE LINES 117-123 .. code-block:: Python print( f'Market share for PT: {100*marketShare_PT:.1f}% ' f'[{100*marketShare_PT_left:.1f}%, ' f'{100*marketShare_PT_right:.1f}%]' ) .. rst-class:: sphx-glr-script-out .. code-block:: none Market share for PT: 27.6% [24.0%, 31.4%] .. GENERATED FROM PYTHON SOURCE LINES 124-125 Slow modes. .. GENERATED FROM PYTHON SOURCE LINES 125-130 .. code-block:: Python print( f'Market share for SM: {100*marketShare_SM:.1f}% ' f'[{100*marketShare_SM_left:.1f}%, ' f'{100*marketShare_SM_right:.1f}%]' ) .. rst-class:: sphx-glr-script-out .. code-block:: none Market share for SM: 7.0% [4.3%, 9.3%] .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 27.787 seconds) .. _sphx_glr_download_auto_examples_indicators_plot_b04market_shares.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_b04market_shares.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_b04market_shares.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_b04market_shares.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_