23a. Binary logit model

Bayesian estimation of a binary logit model. Two alternatives: Train and Car.

Michel Bierlaire, EPFL Tue Nov 18 2025, 18:42:42

from IPython.core.display_functions import display

from biogeme.bayesian_estimation import BayesianResults, get_pandas_estimated_parameters
from biogeme.biogeme import BIOGEME
from biogeme.expressions import Beta
from biogeme.models import loglogit

See the data processing script: Data preparation for Swissmetro (binary choice).

from swissmetro_binary import (
    CAR_AV_SP,
    CAR_CO_SCALED,
    CAR_TT_SCALED,
    CHOICE,
    TRAIN_AV_SP,
    TRAIN_COST_SCALED,
    TRAIN_TT_SCALED,
    database,
)

Parameters to be estimated.

asc_car = Beta('asc_car', 0, None, None, 0)
b_time_car = Beta('b_time_car', 0, None, 0, 0)
b_time_train = Beta('b_time_train', 0, None, 0, 0)
b_cost_car = Beta('b_cost_car', 0, None, 0, 0)
b_cost_train = Beta('b_cost_train', 0, None, 0, 0)

Definition of the utility functions. We estimate a binary logit model. There are only two alternatives.

v_train = b_time_train * TRAIN_TT_SCALED + b_cost_train * TRAIN_COST_SCALED
v_car = asc_car + b_time_car * CAR_TT_SCALED + b_cost_car * CAR_CO_SCALED

Associate utility functions with the numbering of alternatives.

v = {1: v_train, 3: v_car}

Associate the availability conditions with the alternatives.

av = {1: TRAIN_AV_SP, 3: CAR_AV_SP}

Definition of the model. This is the contribution of each observation to the log likelihood function.

log_probability = loglogit(v, av, CHOICE)

Create the Biogeme object

the_biogeme = BIOGEME(database, log_probability)
the_biogeme.model_name = 'b23a_binary_logit'

Estimate the parameters.

try:
    results = BayesianResults.from_netcdf(
        filename=f'saved_results/{the_biogeme.model_name}.nc'
    )
except FileNotFoundError:
    results = the_biogeme.bayesian_estimation()
/Users/bierlair/MyFiles/github/biogeme/src/biogeme/biogeme.py:832: UserWarning: Note: JAX currently sees 1 CPU device. To parallelize across CPU devices, set XLA_FLAGS as above and restart Python/Jupyter.
macOS / Linux (bash/zsh):
  export XLA_FLAGS="--xla_force_host_platform_device_count=<number_of_cores>"

Jupyter (new cell, before `import jax`):
  %env XLA_FLAGS="--xla_force_host_platform_device_count=<number_of_cores>"

  warning_cpu_devices()
/Users/bierlair/MyFiles/github/biogeme/src/biogeme/biogeme.py:859: UserWarning: The effect of Potentials on other parameters is ignored during prior predictive sampling. This is likely to lead to invalid or biased predictive samples.
  pm.sample_prior_predictive(

  0%|          | 0/4000 [00:00<?, ?it/s]
warmup:   0%|          | 1/4000 [00:01<1:28:51,  1.33s/it]
warmup:   0%|          | 9/4000 [00:01<07:55,  8.40it/s]
warmup:   0%|          | 16/4000 [00:01<04:12, 15.76it/s]
warmup:   1%|          | 23/4000 [00:01<02:50, 23.33it/s]
warmup:   1%|          | 29/4000 [00:01<02:17, 28.91it/s]
warmup:   1%|          | 37/4000 [00:01<01:44, 37.83it/s]
warmup:   1%|          | 44/4000 [00:02<01:47, 36.80it/s]
warmup:   1%|▏         | 52/4000 [00:02<01:27, 45.08it/s]
warmup:   1%|▏         | 59/4000 [00:02<01:19, 49.37it/s]
warmup:   2%|▏         | 66/4000 [00:02<01:12, 54.10it/s]
warmup:   2%|▏         | 73/4000 [00:02<01:08, 57.58it/s]
warmup:   2%|▏         | 83/4000 [00:02<00:57, 67.73it/s]
warmup:   2%|▏         | 93/4000 [00:02<00:52, 74.30it/s]
warmup:   3%|▎         | 101/4000 [00:02<01:00, 64.69it/s]
warmup:   3%|▎         | 108/4000 [00:03<01:10, 55.32it/s]
warmup:   3%|▎         | 115/4000 [00:03<01:12, 53.54it/s]
warmup:   3%|▎         | 121/4000 [00:03<01:21, 47.86it/s]
warmup:   3%|▎         | 127/4000 [00:03<01:18, 49.47it/s]
warmup:   3%|▎         | 133/4000 [00:03<01:15, 51.24it/s]
warmup:   4%|▎         | 145/4000 [00:03<00:57, 66.77it/s]
warmup:   4%|▍         | 155/4000 [00:03<00:53, 71.98it/s]
warmup:   4%|▍         | 163/4000 [00:04<01:04, 59.31it/s]
warmup:   4%|▍         | 173/4000 [00:04<00:55, 68.54it/s]
warmup:   5%|▍         | 184/4000 [00:04<00:48, 78.37it/s]
warmup:   5%|▍         | 193/4000 [00:04<00:50, 75.84it/s]
warmup:   5%|▌         | 203/4000 [00:04<00:46, 80.87it/s]
warmup:   5%|▌         | 212/4000 [00:04<00:47, 79.79it/s]
warmup:   6%|▌         | 224/4000 [00:04<00:41, 90.28it/s]
warmup:   6%|▌         | 237/4000 [00:04<00:37, 100.97it/s]
warmup:   6%|▌         | 248/4000 [00:04<00:37, 100.67it/s]
warmup:   6%|▋         | 259/4000 [00:05<00:49, 76.02it/s]
warmup:   7%|▋         | 268/4000 [00:05<00:56, 66.35it/s]
warmup:   7%|▋         | 276/4000 [00:05<00:56, 65.95it/s]
warmup:   7%|▋         | 288/4000 [00:05<00:47, 77.64it/s]
warmup:   7%|▋         | 298/4000 [00:05<00:44, 82.87it/s]
warmup:   8%|▊         | 311/4000 [00:05<00:39, 94.18it/s]
warmup:   8%|▊         | 322/4000 [00:05<00:39, 93.50it/s]
warmup:   8%|▊         | 333/4000 [00:05<00:37, 97.52it/s]
warmup:   9%|▊         | 345/4000 [00:06<00:35, 103.34it/s]
warmup:   9%|▉         | 356/4000 [00:06<00:37, 98.22it/s]
warmup:   9%|▉         | 368/4000 [00:06<00:35, 101.16it/s]
warmup:  10%|▉         | 382/4000 [00:06<00:32, 110.44it/s]
warmup:  10%|▉         | 398/4000 [00:06<00:29, 121.57it/s]
warmup:  10%|█         | 413/4000 [00:06<00:27, 129.11it/s]
warmup:  11%|█         | 427/4000 [00:06<00:27, 131.08it/s]
warmup:  11%|█         | 441/4000 [00:06<00:26, 133.34it/s]
warmup:  11%|█▏        | 456/4000 [00:06<00:26, 134.08it/s]
warmup:  12%|█▏        | 470/4000 [00:07<00:30, 115.26it/s]
warmup:  12%|█▏        | 483/4000 [00:07<00:39, 88.66it/s]
warmup:  12%|█▏        | 494/4000 [00:07<00:39, 89.81it/s]
warmup:  13%|█▎        | 504/4000 [00:07<00:38, 91.20it/s]
warmup:  13%|█▎        | 515/4000 [00:07<00:36, 94.88it/s]
warmup:  13%|█▎        | 526/4000 [00:07<00:36, 95.53it/s]
warmup:  14%|█▎        | 541/4000 [00:07<00:31, 109.52it/s]
warmup:  14%|█▍        | 553/4000 [00:07<00:30, 111.55it/s]
warmup:  14%|█▍        | 565/4000 [00:08<00:30, 110.84it/s]
warmup:  14%|█▍        | 579/4000 [00:08<00:29, 117.05it/s]
warmup:  15%|█▍        | 593/4000 [00:08<00:27, 122.01it/s]
warmup:  15%|█▌        | 608/4000 [00:08<00:26, 127.68it/s]
warmup:  16%|█▌        | 621/4000 [00:08<00:27, 124.83it/s]
warmup:  16%|█▌        | 635/4000 [00:08<00:26, 128.04it/s]
warmup:  16%|█▋        | 652/4000 [00:08<00:24, 138.88it/s]
warmup:  17%|█▋        | 667/4000 [00:08<00:23, 140.90it/s]
warmup:  17%|█▋        | 682/4000 [00:08<00:24, 137.71it/s]
warmup:  17%|█▋        | 696/4000 [00:09<00:24, 132.33it/s]
warmup:  18%|█▊        | 710/4000 [00:09<00:26, 125.71it/s]
warmup:  18%|█▊        | 724/4000 [00:09<00:25, 129.04it/s]
warmup:  18%|█▊        | 738/4000 [00:09<00:24, 130.52it/s]
warmup:  19%|█▉        | 752/4000 [00:09<00:24, 131.16it/s]
warmup:  19%|█▉        | 767/4000 [00:09<00:23, 135.73it/s]
warmup:  20%|█▉        | 782/4000 [00:09<00:23, 138.88it/s]
warmup:  20%|█▉        | 798/4000 [00:09<00:22, 143.70it/s]
warmup:  20%|██        | 814/4000 [00:09<00:21, 147.40it/s]
warmup:  21%|██        | 829/4000 [00:09<00:22, 141.05it/s]
warmup:  21%|██        | 846/4000 [00:10<00:21, 149.08it/s]
warmup:  22%|██▏       | 862/4000 [00:10<00:27, 114.55it/s]
warmup:  22%|██▏       | 875/4000 [00:10<00:28, 109.13it/s]
warmup:  22%|██▏       | 887/4000 [00:10<00:30, 102.14it/s]
warmup:  22%|██▏       | 898/4000 [00:10<00:32, 96.48it/s]
warmup:  23%|██▎       | 910/4000 [00:10<00:30, 100.24it/s]
warmup:  23%|██▎       | 921/4000 [00:10<00:32, 95.59it/s]
warmup:  23%|██▎       | 936/4000 [00:11<00:28, 106.24it/s]
warmup:  24%|██▎       | 948/4000 [00:11<00:28, 108.12it/s]
warmup:  24%|██▍       | 961/4000 [00:11<00:26, 112.77it/s]
warmup:  24%|██▍       | 976/4000 [00:11<00:25, 119.49it/s]
warmup:  25%|██▍       | 989/4000 [00:11<00:26, 112.49it/s]
warmup:  25%|██▌       | 1003/4000 [00:11<00:25, 116.51it/s]
warmup:  25%|██▌       | 1019/4000 [00:11<00:23, 127.05it/s]
warmup:  26%|██▌       | 1037/4000 [00:11<00:20, 141.45it/s]
warmup:  26%|██▋       | 1052/4000 [00:11<00:22, 133.82it/s]
warmup:  27%|██▋       | 1068/4000 [00:12<00:21, 138.55it/s]
warmup:  27%|██▋       | 1083/4000 [00:12<00:20, 139.67it/s]
warmup:  27%|██▋       | 1098/4000 [00:12<00:20, 139.92it/s]
warmup:  28%|██▊       | 1117/4000 [00:12<00:19, 149.92it/s]
warmup:  28%|██▊       | 1133/4000 [00:12<00:20, 143.31it/s]
warmup:  29%|██▊       | 1149/4000 [00:12<00:19, 147.81it/s]
warmup:  29%|██▉       | 1165/4000 [00:12<00:18, 149.83it/s]
warmup:  30%|██▉       | 1181/4000 [00:12<00:18, 152.29it/s]
warmup:  30%|██▉       | 1197/4000 [00:12<00:18, 152.73it/s]
warmup:  30%|███       | 1213/4000 [00:13<00:18, 149.04it/s]
warmup:  31%|███       | 1229/4000 [00:13<00:18, 151.22it/s]
warmup:  31%|███       | 1245/4000 [00:13<00:17, 153.34it/s]
warmup:  32%|███▏      | 1262/4000 [00:13<00:17, 156.67it/s]
warmup:  32%|███▏      | 1278/4000 [00:13<00:17, 156.13it/s]
warmup:  32%|███▏      | 1294/4000 [00:13<00:17, 154.24it/s]
warmup:  33%|███▎      | 1310/4000 [00:13<00:17, 151.40it/s]
warmup:  33%|███▎      | 1326/4000 [00:13<00:18, 147.77it/s]
warmup:  34%|███▎      | 1342/4000 [00:13<00:17, 151.17it/s]
warmup:  34%|███▍      | 1358/4000 [00:13<00:17, 152.26it/s]
warmup:  34%|███▍      | 1374/4000 [00:14<00:17, 154.23it/s]
warmup:  35%|███▍      | 1390/4000 [00:14<00:16, 155.81it/s]
warmup:  35%|███▌      | 1406/4000 [00:14<00:17, 149.08it/s]
warmup:  36%|███▌      | 1422/4000 [00:14<00:16, 152.10it/s]
warmup:  36%|███▌      | 1439/4000 [00:14<00:16, 155.59it/s]
warmup:  36%|███▋      | 1455/4000 [00:14<00:16, 156.60it/s]
warmup:  37%|███▋      | 1472/4000 [00:14<00:15, 158.40it/s]
warmup:  37%|███▋      | 1488/4000 [00:14<00:15, 157.98it/s]
warmup:  38%|███▊      | 1504/4000 [00:14<00:15, 156.48it/s]
warmup:  38%|███▊      | 1521/4000 [00:14<00:15, 158.01it/s]
warmup:  38%|███▊      | 1537/4000 [00:15<00:15, 156.89it/s]
warmup:  39%|███▉      | 1554/4000 [00:15<00:15, 159.04it/s]
warmup:  39%|███▉      | 1570/4000 [00:15<00:15, 157.89it/s]
warmup:  40%|███▉      | 1586/4000 [00:15<00:15, 158.32it/s]
warmup:  40%|████      | 1602/4000 [00:15<00:15, 157.85it/s]
warmup:  40%|████      | 1619/4000 [00:15<00:14, 159.66it/s]
warmup:  41%|████      | 1635/4000 [00:15<00:14, 157.72it/s]
warmup:  41%|████▏     | 1651/4000 [00:15<00:14, 157.67it/s]
warmup:  42%|████▏     | 1669/4000 [00:15<00:14, 162.07it/s]
warmup:  42%|████▏     | 1686/4000 [00:16<00:14, 161.57it/s]
warmup:  43%|████▎     | 1703/4000 [00:16<00:14, 157.67it/s]
warmup:  43%|████▎     | 1720/4000 [00:16<00:14, 158.59it/s]
warmup:  43%|████▎     | 1736/4000 [00:16<00:14, 158.94it/s]
warmup:  44%|████▍     | 1752/4000 [00:16<00:14, 157.32it/s]
warmup:  44%|████▍     | 1768/4000 [00:16<00:14, 156.07it/s]
warmup:  45%|████▍     | 1784/4000 [00:16<00:14, 155.44it/s]
warmup:  45%|████▌     | 1801/4000 [00:16<00:13, 159.30it/s]
warmup:  45%|████▌     | 1817/4000 [00:16<00:14, 155.34it/s]
warmup:  46%|████▌     | 1833/4000 [00:16<00:14, 154.38it/s]
warmup:  46%|████▌     | 1849/4000 [00:17<00:14, 153.12it/s]
warmup:  47%|████▋     | 1866/4000 [00:17<00:13, 157.56it/s]
warmup:  47%|████▋     | 1882/4000 [00:17<00:13, 151.79it/s]
warmup:  47%|████▋     | 1898/4000 [00:17<00:13, 152.14it/s]
warmup:  48%|████▊     | 1914/4000 [00:17<00:13, 152.36it/s]
warmup:  48%|████▊     | 1930/4000 [00:17<00:13, 153.10it/s]
warmup:  49%|████▊     | 1946/4000 [00:17<00:13, 154.34it/s]
warmup:  49%|████▉     | 1962/4000 [00:17<00:15, 129.87it/s]
warmup:  49%|████▉     | 1976/4000 [00:18<00:19, 103.43it/s]
warmup:  50%|████▉     | 1988/4000 [00:18<00:20, 96.91it/s]
warmup:  50%|████▉     | 1999/4000 [00:18<00:21, 94.63it/s]
sample:  50%|█████     | 2013/4000 [00:18<00:18, 105.01it/s]
sample:  51%|█████     | 2028/4000 [00:18<00:16, 116.11it/s]
sample:  51%|█████     | 2044/4000 [00:18<00:15, 126.03it/s]
sample:  51%|█████▏    | 2059/4000 [00:18<00:14, 130.55it/s]
sample:  52%|█████▏    | 2075/4000 [00:18<00:14, 137.44it/s]
sample:  52%|█████▏    | 2091/4000 [00:18<00:13, 141.83it/s]
sample:  53%|█████▎    | 2107/4000 [00:19<00:13, 144.69it/s]
sample:  53%|█████▎    | 2123/4000 [00:19<00:12, 146.70it/s]
sample:  53%|█████▎    | 2139/4000 [00:19<00:12, 149.42it/s]
sample:  54%|█████▍    | 2155/4000 [00:19<00:12, 150.01it/s]
sample:  54%|█████▍    | 2171/4000 [00:19<00:12, 150.50it/s]
sample:  55%|█████▍    | 2187/4000 [00:19<00:12, 150.33it/s]
sample:  55%|█████▌    | 2203/4000 [00:19<00:11, 150.63it/s]
sample:  55%|█████▌    | 2219/4000 [00:19<00:11, 150.18it/s]
sample:  56%|█████▌    | 2235/4000 [00:19<00:11, 150.48it/s]
sample:  56%|█████▋    | 2251/4000 [00:20<00:11, 149.97it/s]
sample:  57%|█████▋    | 2267/4000 [00:20<00:11, 149.62it/s]
sample:  57%|█████▋    | 2283/4000 [00:20<00:11, 150.11it/s]
sample:  57%|█████▋    | 2299/4000 [00:20<00:11, 150.19it/s]
sample:  58%|█████▊    | 2315/4000 [00:20<00:11, 150.59it/s]
sample:  58%|█████▊    | 2331/4000 [00:20<00:10, 151.98it/s]
sample:  59%|█████▊    | 2347/4000 [00:20<00:11, 149.53it/s]
sample:  59%|█████▉    | 2363/4000 [00:20<00:10, 150.82it/s]
sample:  59%|█████▉    | 2379/4000 [00:20<00:10, 151.99it/s]
sample:  60%|█████▉    | 2395/4000 [00:20<00:10, 152.51it/s]
sample:  60%|██████    | 2411/4000 [00:21<00:10, 153.09it/s]
sample:  61%|██████    | 2427/4000 [00:21<00:10, 152.64it/s]
sample:  61%|██████    | 2443/4000 [00:21<00:10, 151.80it/s]
sample:  61%|██████▏   | 2459/4000 [00:21<00:10, 151.70it/s]
sample:  62%|██████▏   | 2475/4000 [00:21<00:10, 151.44it/s]
sample:  62%|██████▏   | 2491/4000 [00:21<00:09, 151.03it/s]
sample:  63%|██████▎   | 2507/4000 [00:21<00:09, 149.34it/s]
sample:  63%|██████▎   | 2522/4000 [00:21<00:09, 148.11it/s]
sample:  63%|██████▎   | 2538/4000 [00:21<00:09, 149.29it/s]
sample:  64%|██████▍   | 2554/4000 [00:22<00:09, 150.19it/s]
sample:  64%|██████▍   | 2570/4000 [00:22<00:09, 150.62it/s]
sample:  65%|██████▍   | 2586/4000 [00:22<00:09, 148.92it/s]
sample:  65%|██████▌   | 2602/4000 [00:22<00:09, 150.34it/s]
sample:  65%|██████▌   | 2618/4000 [00:22<00:09, 151.73it/s]
sample:  66%|██████▌   | 2634/4000 [00:22<00:09, 149.09it/s]
sample:  66%|██████▋   | 2650/4000 [00:22<00:08, 150.95it/s]
sample:  67%|██████▋   | 2666/4000 [00:22<00:08, 153.04it/s]
sample:  67%|██████▋   | 2682/4000 [00:22<00:08, 153.48it/s]
sample:  67%|██████▋   | 2698/4000 [00:22<00:08, 153.71it/s]
sample:  68%|██████▊   | 2715/4000 [00:23<00:08, 156.11it/s]
sample:  68%|██████▊   | 2731/4000 [00:23<00:08, 156.11it/s]
sample:  69%|██████▊   | 2747/4000 [00:23<00:08, 155.18it/s]
sample:  69%|██████▉   | 2763/4000 [00:23<00:07, 155.56it/s]
sample:  69%|██████▉   | 2779/4000 [00:23<00:07, 155.79it/s]
sample:  70%|██████▉   | 2795/4000 [00:23<00:07, 155.94it/s]
sample:  70%|███████   | 2811/4000 [00:23<00:07, 152.62it/s]
sample:  71%|███████   | 2827/4000 [00:23<00:07, 153.32it/s]
sample:  71%|███████   | 2843/4000 [00:23<00:07, 152.99it/s]
sample:  71%|███████▏  | 2859/4000 [00:24<00:07, 153.30it/s]
sample:  72%|███████▏  | 2875/4000 [00:24<00:07, 153.27it/s]
sample:  72%|███████▏  | 2891/4000 [00:24<00:07, 152.44it/s]
sample:  73%|███████▎  | 2907/4000 [00:24<00:07, 144.27it/s]
sample:  73%|███████▎  | 2923/4000 [00:24<00:07, 146.19it/s]
sample:  73%|███████▎  | 2938/4000 [00:24<00:07, 146.43it/s]
sample:  74%|███████▍  | 2954/4000 [00:24<00:07, 148.62it/s]
sample:  74%|███████▍  | 2970/4000 [00:24<00:06, 149.84it/s]
sample:  75%|███████▍  | 2986/4000 [00:24<00:06, 150.89it/s]
sample:  75%|███████▌  | 3002/4000 [00:24<00:06, 152.20it/s]
sample:  75%|███████▌  | 3018/4000 [00:25<00:06, 148.31it/s]
sample:  76%|███████▌  | 3034/4000 [00:25<00:06, 149.92it/s]
sample:  76%|███████▋  | 3050/4000 [00:25<00:06, 151.27it/s]
sample:  77%|███████▋  | 3066/4000 [00:25<00:06, 152.40it/s]
sample:  77%|███████▋  | 3082/4000 [00:25<00:06, 152.40it/s]
sample:  77%|███████▋  | 3099/4000 [00:25<00:05, 156.10it/s]
sample:  78%|███████▊  | 3116/4000 [00:25<00:05, 157.29it/s]
sample:  78%|███████▊  | 3132/4000 [00:25<00:05, 154.70it/s]
sample:  79%|███████▊  | 3148/4000 [00:25<00:05, 155.80it/s]
sample:  79%|███████▉  | 3164/4000 [00:26<00:05, 156.60it/s]
sample:  80%|███████▉  | 3180/4000 [00:26<00:05, 156.44it/s]
sample:  80%|███████▉  | 3196/4000 [00:26<00:05, 154.65it/s]
sample:  80%|████████  | 3212/4000 [00:26<00:05, 155.43it/s]
sample:  81%|████████  | 3228/4000 [00:26<00:04, 156.35it/s]
sample:  81%|████████  | 3244/4000 [00:26<00:04, 155.42it/s]
sample:  82%|████████▏ | 3260/4000 [00:26<00:04, 155.01it/s]
sample:  82%|████████▏ | 3276/4000 [00:26<00:04, 152.04it/s]
sample:  82%|████████▏ | 3292/4000 [00:26<00:04, 149.57it/s]
sample:  83%|████████▎ | 3307/4000 [00:26<00:04, 145.33it/s]
sample:  83%|████████▎ | 3323/4000 [00:27<00:04, 147.23it/s]
sample:  83%|████████▎ | 3339/4000 [00:27<00:04, 149.21it/s]
sample:  84%|████████▍ | 3355/4000 [00:27<00:04, 150.13it/s]
sample:  84%|████████▍ | 3371/4000 [00:27<00:04, 149.89it/s]
sample:  85%|████████▍ | 3386/4000 [00:27<00:04, 146.92it/s]
sample:  85%|████████▌ | 3401/4000 [00:27<00:04, 145.87it/s]
sample:  85%|████████▌ | 3416/4000 [00:27<00:03, 146.70it/s]
sample:  86%|████████▌ | 3431/4000 [00:27<00:03, 147.53it/s]
sample:  86%|████████▌ | 3447/4000 [00:27<00:03, 148.36it/s]
sample:  87%|████████▋ | 3462/4000 [00:28<00:03, 148.76it/s]
sample:  87%|████████▋ | 3477/4000 [00:28<00:03, 147.70it/s]
sample:  87%|████████▋ | 3492/4000 [00:28<00:03, 147.70it/s]
sample:  88%|████████▊ | 3508/4000 [00:28<00:03, 148.55it/s]
sample:  88%|████████▊ | 3524/4000 [00:28<00:03, 149.24it/s]
sample:  88%|████████▊ | 3540/4000 [00:28<00:03, 149.91it/s]
sample:  89%|████████▉ | 3556/4000 [00:28<00:02, 150.47it/s]
sample:  89%|████████▉ | 3572/4000 [00:28<00:02, 150.69it/s]
sample:  90%|████████▉ | 3588/4000 [00:28<00:02, 150.84it/s]
sample:  90%|█████████ | 3604/4000 [00:28<00:02, 151.51it/s]
sample:  90%|█████████ | 3620/4000 [00:29<00:02, 152.44it/s]
sample:  91%|█████████ | 3636/4000 [00:29<00:02, 153.62it/s]
sample:  91%|█████████▏| 3652/4000 [00:29<00:02, 150.49it/s]
sample:  92%|█████████▏| 3668/4000 [00:29<00:02, 150.28it/s]
sample:  92%|█████████▏| 3684/4000 [00:29<00:02, 150.19it/s]
sample:  92%|█████████▎| 3700/4000 [00:29<00:01, 150.23it/s]
sample:  93%|█████████▎| 3716/4000 [00:29<00:01, 151.21it/s]
sample:  93%|█████████▎| 3732/4000 [00:29<00:01, 152.54it/s]
sample:  94%|█████████▎| 3748/4000 [00:29<00:01, 152.90it/s]
sample:  94%|█████████▍| 3764/4000 [00:30<00:01, 153.11it/s]
sample:  94%|█████████▍| 3780/4000 [00:30<00:01, 152.04it/s]
sample:  95%|█████████▍| 3796/4000 [00:30<00:01, 149.10it/s]
sample:  95%|█████████▌| 3812/4000 [00:30<00:01, 150.78it/s]
sample:  96%|█████████▌| 3828/4000 [00:30<00:01, 151.42it/s]
sample:  96%|█████████▌| 3844/4000 [00:30<00:01, 151.44it/s]
sample:  96%|█████████▋| 3860/4000 [00:30<00:00, 151.07it/s]
sample:  97%|█████████▋| 3876/4000 [00:30<00:00, 151.80it/s]
sample:  97%|█████████▋| 3892/4000 [00:30<00:00, 152.54it/s]
sample:  98%|█████████▊| 3908/4000 [00:30<00:00, 153.16it/s]
sample:  98%|█████████▊| 3924/4000 [00:31<00:00, 153.47it/s]
sample:  98%|█████████▊| 3940/4000 [00:31<00:00, 154.64it/s]
sample:  99%|█████████▉| 3956/4000 [00:31<00:00, 151.88it/s]
sample:  99%|█████████▉| 3972/4000 [00:31<00:00, 152.46it/s]
sample: 100%|█████████▉| 3988/4000 [00:31<00:00, 152.94it/s]
sample: 100%|██████████| 4000/4000 [00:31<00:00, 126.64it/s]
posterior_predictive_loglike finished in 87 ms
/Users/bierlair/python_envs/venv313/lib/python3.13/site-packages/arviz/stats/stats.py:1667: UserWarning: For one or more samples the posterior variance of the log predictive densities exceeds 0.4. This could be indication of WAIC starting to fail.
See http://arxiv.org/abs/1507.04544 for details
  warnings.warn(
waic_res finished in 232 ms
waic finished in 232 ms
loo_res finished in 2711 ms (2.71 s)
loo finished in 2711 ms (2.71 s)
print(results.short_summary())
Sample size                                              2232
Sampler                                                  NUTS
Number of chains                                         4
Number of draws per chain                                2000
Total number of draws                                    8000
Acceptance rate target                                   0.9
Run time                                                 0:00:34.328287
Posterior predictive log-likelihood (sum of log mean p)  -869.73
Expected log-likelihood E[log L(Y|θ)]                    -875.39
Best-draw log-likelihood (posterior upper bound)         -872.92
WAIC (Widely Applicable Information Criterion)           -882.42
WAIC Standard Error                                      34.81
Effective number of parameters (p_WAIC)                  12.69
LOO (Leave-One-Out Cross-Validation)                     -882.37
LOO Standard Error                                       34.80
Effective number of parameters (p_LOO)                   12.64

Get the results in a pandas table

pandas_results = get_pandas_estimated_parameters(
    estimation_results=results,
)
display(pandas_results)
           Name  Value (mean)  ...   ESS (bulk)   ESS (tail)
0       asc_car     -0.901620  ...  5561.528458  4851.382236
1  b_time_train     -1.158381  ...  4435.671075  4494.601164
2  b_cost_train     -2.402039  ...  6019.122471  4842.254908
3    b_time_car     -0.417747  ...  5025.790890  3121.605048
4    b_cost_car     -1.078325  ...  5699.909181  4401.614672

[5 rows x 12 columns]

Total running time of the script: (0 minutes 56.023 seconds)

Gallery generated by Sphinx-Gallery