Cross-nested logit

Estimation of a cross-nested logit model using sampling of alternatives.

author:

Michel Bierlaire

date:

Wed Nov 1 18:00:33 2023

import pandas as pd
from biogeme.sampling_of_alternatives import (
    SamplingContext,
    ChoiceSetsGeneration,
    GenerateModel,
    generate_segment_size,
)
from biogeme.expressions import Beta
import biogeme.biogeme_logging as blog
import biogeme.biogeme as bio
from biogeme.nests import OneNestForCrossNestedLogit, NestsForCrossNestedLogit
from specification import V, combined_variables
from compare import compare
from alternatives import (
    alternatives,
    ID_COLUMN,
    partitions,
    all_alternatives,
    asian_and_downtown,
    only_downtown,
    only_asian,
)
logger = blog.get_screen_logger(level=blog.INFO)
PARTITION = 'downtown'
MEV_PARTITION = 'uniform_asian_or_downtown'
SAMPLE_SIZE = 10  # out of 100 alternatives
SAMPLE_SIZE_MEV = 63  # out of 63 alternatives
CHOICE_COLUMN = 'cnl_3'
MODEL_NAME = f'cnl_{SAMPLE_SIZE}_{SAMPLE_SIZE_MEV}'
FILE_NAME = f'{MODEL_NAME}.dat'
the_partition = partitions.get(PARTITION)
if the_partition is None:
    raise ValueError(f'Unknown partition: {PARTITION}')
segment_sizes = list(
    generate_segment_size(SAMPLE_SIZE, the_partition.number_of_segments())
)

We use all alternatives in the nest.

mev_partition = partitions.get(MEV_PARTITION)
if mev_partition is None:
    raise ValueError(f'Unknown partition: {MEV_PARTITION}')
mev_segment_sizes = [
    SAMPLE_SIZE_MEV,
]

Nests

Downtown

mu_downtown = Beta('mu_downtown', 1, 1, None, 0)
downtown_alpha_dict = {i: 0.5 for i in asian_and_downtown} | {
    i: 1 for i in only_downtown
}
downtown_nest = OneNestForCrossNestedLogit(
    nest_param=mu_downtown, dict_of_alpha=downtown_alpha_dict, name='downtown'
)

Asian

mu_asian = Beta('mu_asian', 1, 1, None, 0)
asian_alpha_dict = {i: 0.5 for i in asian_and_downtown} | {i: 1.0 for i in only_asian}
asian_nest = OneNestForCrossNestedLogit(
    nest_param=mu_asian, dict_of_alpha=asian_alpha_dict, name='asian'
)

cnl_nests = NestsForCrossNestedLogit(
    choice_set=all_alternatives,
    tuple_of_nests=(downtown_nest, asian_nest),
)
observations = pd.read_csv('obs_choice.dat')
context = SamplingContext(
    the_partition=the_partition,
    sample_sizes=segment_sizes,
    individuals=observations,
    choice_column=CHOICE_COLUMN,
    alternatives=alternatives,
    id_column=ID_COLUMN,
    biogeme_file_name=FILE_NAME,
    utility_function=V,
    combined_variables=combined_variables,
    mev_partition=mev_partition,
    mev_sample_sizes=mev_segment_sizes,
    cnl_nests=cnl_nests,
)
logger.info(context.reporting())
Size of the choice set: 100
Main partition: 2 segment(s) of size 46, 54
Main sample: 10: 5/46, 5/54
Nbr of MEV alternatives: 63
MEV partition: 1 segment(s) of size 63
MEV sample: 63: 63/63
the_data_generation = ChoiceSetsGeneration(context=context)
the_model_generation = GenerateModel(context=context)
biogeme_database = the_data_generation.sample_and_merge(recycle=False)
Generating 10 + 63 alternatives for 10000 observations

  0%|          | 0/10000 [00:00<?, ?it/s]
  0%|          | 14/10000 [00:00<01:13, 136.59it/s]
  0%|          | 28/10000 [00:00<01:15, 132.91it/s]
  0%|          | 42/10000 [00:00<01:15, 132.11it/s]
  1%|          | 56/10000 [00:00<01:16, 129.21it/s]
  1%|          | 70/10000 [00:00<01:15, 130.78it/s]
  1%|          | 84/10000 [00:00<01:15, 131.71it/s]
  1%|          | 98/10000 [00:00<01:14, 132.75it/s]
  1%|          | 112/10000 [00:00<01:14, 132.97it/s]
  1%|▏         | 126/10000 [00:00<01:14, 133.38it/s]
  1%|▏         | 140/10000 [00:01<01:14, 131.49it/s]
  2%|▏         | 154/10000 [00:01<01:14, 132.60it/s]
  2%|▏         | 168/10000 [00:01<01:13, 133.43it/s]
  2%|▏         | 182/10000 [00:01<01:13, 134.28it/s]
  2%|▏         | 196/10000 [00:01<01:12, 134.89it/s]
  2%|▏         | 210/10000 [00:01<01:12, 134.62it/s]
  2%|▏         | 225/10000 [00:01<01:10, 138.52it/s]
  2%|▏         | 249/10000 [00:01<00:58, 166.80it/s]
  3%|▎         | 273/10000 [00:01<00:52, 186.69it/s]
  3%|▎         | 297/10000 [00:01<00:48, 200.70it/s]
  3%|▎         | 321/10000 [00:02<00:45, 210.59it/s]
  3%|▎         | 345/10000 [00:02<00:44, 217.44it/s]
  4%|▎         | 369/10000 [00:02<00:43, 222.22it/s]
  4%|▍         | 393/10000 [00:02<00:42, 225.64it/s]
  4%|▍         | 417/10000 [00:02<00:42, 227.98it/s]
  4%|▍         | 441/10000 [00:02<00:41, 229.63it/s]
  5%|▍         | 465/10000 [00:02<00:41, 230.64it/s]
  5%|▍         | 489/10000 [00:02<00:41, 231.55it/s]
  5%|▌         | 513/10000 [00:02<00:40, 232.01it/s]
  5%|▌         | 537/10000 [00:03<00:40, 232.32it/s]
  6%|▌         | 561/10000 [00:03<00:40, 232.48it/s]
  6%|▌         | 585/10000 [00:03<00:40, 232.42it/s]
  6%|▌         | 609/10000 [00:03<00:40, 232.33it/s]
  6%|▋         | 633/10000 [00:03<00:40, 232.31it/s]
  7%|▋         | 657/10000 [00:03<00:40, 232.34it/s]
  7%|▋         | 681/10000 [00:03<00:40, 232.40it/s]
  7%|▋         | 705/10000 [00:03<00:39, 232.38it/s]
  7%|▋         | 729/10000 [00:03<00:39, 232.32it/s]
  8%|▊         | 753/10000 [00:03<00:39, 232.34it/s]
  8%|▊         | 777/10000 [00:04<00:39, 232.41it/s]
  8%|▊         | 801/10000 [00:04<00:39, 232.36it/s]
  8%|▊         | 825/10000 [00:04<00:39, 232.37it/s]
  8%|▊         | 849/10000 [00:04<00:39, 232.38it/s]
  9%|▊         | 873/10000 [00:04<00:39, 232.35it/s]
  9%|▉         | 897/10000 [00:04<00:40, 224.29it/s]
  9%|▉         | 920/10000 [00:04<00:48, 188.21it/s]
  9%|▉         | 940/10000 [00:04<00:53, 170.75it/s]
 10%|▉         | 958/10000 [00:05<00:56, 160.55it/s]
 10%|▉         | 975/10000 [00:05<00:58, 153.98it/s]
 10%|▉         | 991/10000 [00:05<01:00, 148.78it/s]
 10%|█         | 1007/10000 [00:05<01:02, 144.42it/s]
 10%|█         | 1022/10000 [00:05<01:03, 141.84it/s]
 10%|█         | 1037/10000 [00:05<01:04, 139.68it/s]
 11%|█         | 1052/10000 [00:05<01:05, 137.64it/s]
 11%|█         | 1066/10000 [00:05<01:05, 136.43it/s]
 11%|█         | 1080/10000 [00:05<01:05, 135.91it/s]
 11%|█         | 1094/10000 [00:06<01:05, 135.62it/s]
 11%|█         | 1108/10000 [00:06<01:05, 134.87it/s]
 11%|█         | 1122/10000 [00:06<01:05, 134.96it/s]
 11%|█▏        | 1136/10000 [00:06<01:05, 134.57it/s]
 12%|█▏        | 1150/10000 [00:06<01:05, 134.57it/s]
 12%|█▏        | 1164/10000 [00:06<01:05, 134.59it/s]
 12%|█▏        | 1178/10000 [00:06<01:05, 134.17it/s]
 12%|█▏        | 1192/10000 [00:06<01:05, 134.04it/s]
 12%|█▏        | 1206/10000 [00:06<01:05, 134.04it/s]
 12%|█▏        | 1220/10000 [00:06<01:05, 134.30it/s]
 12%|█▏        | 1234/10000 [00:07<01:05, 134.25it/s]
 12%|█▏        | 1248/10000 [00:07<01:05, 134.06it/s]
 13%|█▎        | 1262/10000 [00:07<01:05, 134.23it/s]
 13%|█▎        | 1276/10000 [00:07<01:05, 134.05it/s]
 13%|█▎        | 1296/10000 [00:07<00:57, 152.06it/s]
 13%|█▎        | 1320/10000 [00:07<00:49, 175.77it/s]
 13%|█▎        | 1344/10000 [00:07<00:44, 192.37it/s]
 14%|█▎        | 1368/10000 [00:07<00:42, 203.99it/s]
 14%|█▍        | 1392/10000 [00:07<00:40, 212.12it/s]
 14%|█▍        | 1416/10000 [00:08<00:39, 217.82it/s]
 14%|█▍        | 1440/10000 [00:08<00:38, 221.81it/s]
 15%|█▍        | 1464/10000 [00:08<00:38, 224.58it/s]
 15%|█▍        | 1488/10000 [00:08<00:37, 226.55it/s]
 15%|█▌        | 1512/10000 [00:08<00:37, 227.79it/s]
 15%|█▌        | 1536/10000 [00:08<00:36, 228.80it/s]
 16%|█▌        | 1560/10000 [00:08<00:36, 229.52it/s]
 16%|█▌        | 1584/10000 [00:08<00:36, 230.06it/s]
 16%|█▌        | 1608/10000 [00:08<00:36, 230.56it/s]
 16%|█▋        | 1632/10000 [00:08<00:36, 230.78it/s]
 17%|█▋        | 1656/10000 [00:09<00:36, 231.02it/s]
 17%|█▋        | 1680/10000 [00:09<00:35, 231.17it/s]
 17%|█▋        | 1704/10000 [00:09<00:35, 231.25it/s]
 17%|█▋        | 1728/10000 [00:09<00:35, 231.32it/s]
 18%|█▊        | 1752/10000 [00:09<00:35, 231.27it/s]
 18%|█▊        | 1776/10000 [00:09<00:35, 231.27it/s]
 18%|█▊        | 1800/10000 [00:09<00:35, 231.31it/s]
 18%|█▊        | 1824/10000 [00:09<00:35, 231.32it/s]
 18%|█▊        | 1848/10000 [00:09<00:35, 231.39it/s]
 19%|█▊        | 1872/10000 [00:09<00:35, 231.46it/s]
 19%|█▉        | 1896/10000 [00:10<00:35, 231.51it/s]
 19%|█▉        | 1920/10000 [00:10<00:34, 231.54it/s]
 19%|█▉        | 1944/10000 [00:10<00:34, 231.56it/s]
 20%|█▉        | 1968/10000 [00:10<00:41, 195.60it/s]
 20%|█▉        | 1989/10000 [00:10<00:46, 173.29it/s]
 20%|██        | 2008/10000 [00:10<00:49, 161.52it/s]
 20%|██        | 2025/10000 [00:10<00:51, 153.97it/s]
 20%|██        | 2041/10000 [00:11<00:53, 148.66it/s]
 21%|██        | 2057/10000 [00:11<00:54, 144.91it/s]
 21%|██        | 2072/10000 [00:11<00:55, 141.95it/s]
 21%|██        | 2087/10000 [00:11<00:56, 139.62it/s]
 21%|██        | 2102/10000 [00:11<00:57, 138.22it/s]
 21%|██        | 2116/10000 [00:11<00:57, 137.29it/s]
 21%|██▏       | 2130/10000 [00:11<00:57, 136.47it/s]
 21%|██▏       | 2144/10000 [00:11<00:57, 135.88it/s]
 22%|██▏       | 2158/10000 [00:11<00:57, 135.65it/s]
 22%|██▏       | 2172/10000 [00:11<00:57, 135.27it/s]
 22%|██▏       | 2186/10000 [00:12<00:57, 135.30it/s]
 22%|██▏       | 2200/10000 [00:12<00:57, 134.92it/s]
 22%|██▏       | 2214/10000 [00:12<00:57, 134.90it/s]
 22%|██▏       | 2228/10000 [00:12<00:57, 134.83it/s]
 22%|██▏       | 2242/10000 [00:12<00:57, 134.80it/s]
 23%|██▎       | 2256/10000 [00:12<00:57, 134.68it/s]
 23%|██▎       | 2270/10000 [00:12<00:57, 135.02it/s]
 23%|██▎       | 2284/10000 [00:12<00:57, 134.97it/s]
 23%|██▎       | 2298/10000 [00:12<00:56, 135.12it/s]
 23%|██▎       | 2312/10000 [00:13<00:56, 135.64it/s]
 23%|██▎       | 2326/10000 [00:13<00:56, 135.44it/s]
 23%|██▎       | 2342/10000 [00:13<00:54, 141.11it/s]
 24%|██▎       | 2366/10000 [00:13<00:45, 168.37it/s]
 24%|██▍       | 2390/10000 [00:13<00:40, 187.56it/s]
 24%|██▍       | 2414/10000 [00:13<00:37, 201.02it/s]
 24%|██▍       | 2438/10000 [00:13<00:35, 210.48it/s]
 25%|██▍       | 2462/10000 [00:13<00:34, 217.04it/s]
 25%|██▍       | 2486/10000 [00:13<00:33, 221.65it/s]
 25%|██▌       | 2510/10000 [00:13<00:33, 224.77it/s]
 25%|██▌       | 2534/10000 [00:14<00:32, 227.05it/s]
 26%|██▌       | 2558/10000 [00:14<00:32, 228.68it/s]
 26%|██▌       | 2582/10000 [00:14<00:32, 229.79it/s]
 26%|██▌       | 2606/10000 [00:14<00:32, 230.62it/s]
 26%|██▋       | 2630/10000 [00:14<00:31, 231.22it/s]
 27%|██▋       | 2654/10000 [00:14<00:31, 231.65it/s]
 27%|██▋       | 2678/10000 [00:14<00:31, 231.99it/s]
 27%|██▋       | 2702/10000 [00:14<00:31, 232.16it/s]
 27%|██▋       | 2726/10000 [00:14<00:31, 232.31it/s]
 28%|██▊       | 2750/10000 [00:14<00:31, 232.32it/s]
 28%|██▊       | 2774/10000 [00:15<00:31, 232.43it/s]
 28%|██▊       | 2798/10000 [00:15<00:43, 164.49it/s]
 28%|██▊       | 2822/10000 [00:15<00:39, 180.09it/s]
 28%|██▊       | 2846/10000 [00:15<00:37, 192.98it/s]
 29%|██▊       | 2870/10000 [00:15<00:35, 203.29it/s]
 29%|██▉       | 2894/10000 [00:15<00:33, 211.07it/s]
 29%|██▉       | 2918/10000 [00:15<00:32, 216.99it/s]
 29%|██▉       | 2942/10000 [00:15<00:31, 221.30it/s]
 30%|██▉       | 2966/10000 [00:16<00:31, 224.44it/s]
 30%|██▉       | 2989/10000 [00:16<00:35, 199.04it/s]
 30%|███       | 3010/10000 [00:16<00:39, 176.44it/s]
 30%|███       | 3029/10000 [00:16<00:42, 163.37it/s]
 30%|███       | 3047/10000 [00:16<00:44, 154.68it/s]
 31%|███       | 3063/10000 [00:16<00:46, 148.93it/s]
 31%|███       | 3079/10000 [00:16<00:47, 144.22it/s]
 31%|███       | 3094/10000 [00:16<00:49, 140.91it/s]
 31%|███       | 3109/10000 [00:17<00:49, 138.69it/s]
 31%|███       | 3123/10000 [00:17<00:49, 137.57it/s]
 31%|███▏      | 3137/10000 [00:17<00:50, 136.11it/s]
 32%|███▏      | 3151/10000 [00:17<00:50, 135.06it/s]
 32%|███▏      | 3165/10000 [00:17<00:50, 134.49it/s]
 32%|███▏      | 3179/10000 [00:17<00:50, 133.79it/s]
 32%|███▏      | 3193/10000 [00:17<00:50, 133.55it/s]
 32%|███▏      | 3207/10000 [00:17<00:50, 133.29it/s]
 32%|███▏      | 3221/10000 [00:17<00:50, 133.21it/s]
 32%|███▏      | 3235/10000 [00:18<00:50, 133.11it/s]
 32%|███▏      | 3249/10000 [00:18<00:50, 132.53it/s]
 33%|███▎      | 3263/10000 [00:18<00:50, 132.63it/s]
 33%|███▎      | 3277/10000 [00:18<00:50, 132.94it/s]
 33%|███▎      | 3291/10000 [00:18<00:50, 132.38it/s]
 33%|███▎      | 3305/10000 [00:18<00:50, 132.50it/s]
 33%|███▎      | 3319/10000 [00:18<00:50, 132.59it/s]
 33%|███▎      | 3333/10000 [00:18<00:50, 132.62it/s]
 33%|███▎      | 3347/10000 [00:18<00:50, 132.89it/s]
 34%|███▎      | 3362/10000 [00:18<00:48, 137.49it/s]
 34%|███▍      | 3386/10000 [00:19<00:39, 165.56it/s]
 34%|███▍      | 3410/10000 [00:19<00:35, 185.41it/s]
 34%|███▍      | 3434/10000 [00:19<00:32, 199.34it/s]
 35%|███▍      | 3458/10000 [00:19<00:31, 209.10it/s]
 35%|███▍      | 3482/10000 [00:19<00:30, 215.91it/s]
 35%|███▌      | 3506/10000 [00:19<00:29, 220.66it/s]
 35%|███▌      | 3530/10000 [00:19<00:28, 224.02it/s]
 36%|███▌      | 3554/10000 [00:19<00:28, 226.41it/s]
 36%|███▌      | 3578/10000 [00:19<00:28, 228.08it/s]
 36%|███▌      | 3602/10000 [00:20<00:27, 229.29it/s]
 36%|███▋      | 3626/10000 [00:20<00:27, 230.13it/s]
 36%|███▋      | 3650/10000 [00:20<00:27, 230.72it/s]
 37%|███▋      | 3674/10000 [00:20<00:27, 231.16it/s]
 37%|███▋      | 3698/10000 [00:20<00:27, 231.50it/s]
 37%|███▋      | 3722/10000 [00:20<00:27, 231.84it/s]
 37%|███▋      | 3746/10000 [00:20<00:26, 231.96it/s]
 38%|███▊      | 3770/10000 [00:20<00:26, 232.03it/s]
 38%|███▊      | 3794/10000 [00:20<00:26, 232.11it/s]
 38%|███▊      | 3818/10000 [00:20<00:26, 232.25it/s]
 38%|███▊      | 3842/10000 [00:21<00:26, 232.34it/s]
 39%|███▊      | 3866/10000 [00:21<00:26, 232.33it/s]
 39%|███▉      | 3890/10000 [00:21<00:26, 231.98it/s]
 39%|███▉      | 3914/10000 [00:21<00:26, 231.99it/s]
 39%|███▉      | 3938/10000 [00:21<00:26, 232.07it/s]
 40%|███▉      | 3962/10000 [00:21<00:26, 232.05it/s]
 40%|███▉      | 3986/10000 [00:21<00:25, 232.06it/s]
 40%|████      | 4010/10000 [00:21<00:25, 231.85it/s]
 40%|████      | 4034/10000 [00:21<00:27, 219.29it/s]
 41%|████      | 4057/10000 [00:22<00:32, 185.13it/s]
 41%|████      | 4077/10000 [00:22<00:35, 167.96it/s]
 41%|████      | 4095/10000 [00:22<00:37, 158.79it/s]
 41%|████      | 4112/10000 [00:22<00:38, 152.46it/s]
 41%|████▏     | 4128/10000 [00:22<00:39, 148.06it/s]
 41%|████▏     | 4144/10000 [00:22<00:40, 144.20it/s]
 42%|████▏     | 4159/10000 [00:22<00:41, 141.06it/s]
 42%|████▏     | 4174/10000 [00:22<00:41, 139.09it/s]
 42%|████▏     | 4188/10000 [00:23<00:42, 137.74it/s]
 42%|████▏     | 4202/10000 [00:23<00:42, 136.40it/s]
 42%|████▏     | 4216/10000 [00:23<00:42, 135.07it/s]
 42%|████▏     | 4230/10000 [00:23<00:42, 134.53it/s]
 42%|████▏     | 4244/10000 [00:23<00:42, 134.41it/s]
 43%|████▎     | 4258/10000 [00:23<00:42, 134.01it/s]
 43%|████▎     | 4272/10000 [00:23<00:42, 133.82it/s]
 43%|████▎     | 4286/10000 [00:23<00:42, 133.61it/s]
 43%|████▎     | 4300/10000 [00:23<00:42, 133.53it/s]
 43%|████▎     | 4314/10000 [00:23<00:42, 133.74it/s]
 43%|████▎     | 4328/10000 [00:24<00:42, 133.19it/s]
 43%|████▎     | 4342/10000 [00:24<00:42, 133.07it/s]
 44%|████▎     | 4356/10000 [00:24<00:42, 133.69it/s]
 44%|████▎     | 4370/10000 [00:24<00:41, 134.12it/s]
 44%|████▍     | 4384/10000 [00:24<00:41, 134.31it/s]
 44%|████▍     | 4398/10000 [00:24<00:41, 134.79it/s]
 44%|████▍     | 4412/10000 [00:24<00:41, 135.14it/s]
 44%|████▍     | 4434/10000 [00:24<00:35, 158.20it/s]
 45%|████▍     | 4458/10000 [00:24<00:30, 180.25it/s]
 45%|████▍     | 4482/10000 [00:25<00:28, 195.79it/s]
 45%|████▌     | 4506/10000 [00:25<00:26, 206.58it/s]
 45%|████▌     | 4530/10000 [00:25<00:25, 214.23it/s]
 46%|████▌     | 4554/10000 [00:25<00:24, 219.60it/s]
 46%|████▌     | 4578/10000 [00:25<00:24, 223.40it/s]
 46%|████▌     | 4602/10000 [00:25<00:23, 225.98it/s]
 46%|████▋     | 4626/10000 [00:25<00:23, 227.78it/s]
 46%|████▋     | 4650/10000 [00:25<00:23, 229.07it/s]
 47%|████▋     | 4674/10000 [00:25<00:23, 230.00it/s]
 47%|████▋     | 4698/10000 [00:25<00:22, 230.65it/s]
 47%|████▋     | 4722/10000 [00:26<00:22, 231.16it/s]
 47%|████▋     | 4746/10000 [00:26<00:22, 231.49it/s]
 48%|████▊     | 4770/10000 [00:26<00:22, 231.72it/s]
 48%|████▊     | 4794/10000 [00:26<00:22, 231.90it/s]
 48%|████▊     | 4818/10000 [00:26<00:22, 231.96it/s]
 48%|████▊     | 4842/10000 [00:26<00:22, 232.14it/s]
 49%|████▊     | 4866/10000 [00:26<00:22, 232.21it/s]
 49%|████▉     | 4890/10000 [00:26<00:22, 232.19it/s]
 49%|████▉     | 4914/10000 [00:26<00:21, 232.17it/s]
 49%|████▉     | 4938/10000 [00:26<00:21, 232.20it/s]
 50%|████▉     | 4962/10000 [00:27<00:21, 232.23it/s]
 50%|████▉     | 4986/10000 [00:27<00:21, 232.23it/s]
 50%|█████     | 5010/10000 [00:27<00:21, 232.08it/s]
 50%|█████     | 5034/10000 [00:27<00:21, 232.12it/s]
 51%|█████     | 5058/10000 [00:27<00:21, 232.18it/s]
 51%|█████     | 5082/10000 [00:27<00:21, 232.22it/s]
 51%|█████     | 5106/10000 [00:27<00:24, 196.43it/s]
 51%|█████▏    | 5127/10000 [00:27<00:27, 177.78it/s]
 51%|█████▏    | 5146/10000 [00:28<00:29, 165.20it/s]
 52%|█████▏    | 5164/10000 [00:28<00:30, 156.06it/s]
 52%|█████▏    | 5181/10000 [00:28<00:32, 150.25it/s]
 52%|█████▏    | 5197/10000 [00:28<00:32, 146.14it/s]
 52%|█████▏    | 5212/10000 [00:28<00:33, 141.49it/s]
 52%|█████▏    | 5227/10000 [00:28<00:34, 140.35it/s]
 52%|█████▏    | 5242/10000 [00:28<00:34, 138.82it/s]
 53%|█████▎    | 5256/10000 [00:28<00:34, 137.55it/s]
 53%|█████▎    | 5270/10000 [00:28<00:34, 136.78it/s]
 53%|█████▎    | 5284/10000 [00:29<00:34, 136.23it/s]
 53%|█████▎    | 5298/10000 [00:29<00:34, 135.58it/s]
 53%|█████▎    | 5312/10000 [00:29<00:34, 134.87it/s]
 53%|█████▎    | 5326/10000 [00:29<00:34, 135.41it/s]
 53%|█████▎    | 5346/10000 [00:29<00:30, 152.84it/s]
 54%|█████▎    | 5370/10000 [00:29<00:26, 176.10it/s]
 54%|█████▍    | 5394/10000 [00:29<00:23, 192.54it/s]
 54%|█████▍    | 5418/10000 [00:29<00:22, 204.26it/s]
 54%|█████▍    | 5442/10000 [00:29<00:21, 212.34it/s]
 55%|█████▍    | 5464/10000 [00:30<00:24, 182.67it/s]
 55%|█████▍    | 5484/10000 [00:30<00:27, 165.30it/s]
 55%|█████▌    | 5502/10000 [00:30<00:28, 155.47it/s]
 55%|█████▌    | 5519/10000 [00:30<00:30, 146.02it/s]
 55%|█████▌    | 5535/10000 [00:30<00:31, 143.00it/s]
 56%|█████▌    | 5550/10000 [00:30<00:31, 141.53it/s]
 56%|█████▌    | 5565/10000 [00:30<00:31, 140.23it/s]
 56%|█████▌    | 5580/10000 [00:30<00:31, 139.72it/s]
 56%|█████▌    | 5595/10000 [00:31<00:31, 138.20it/s]
 56%|█████▌    | 5617/10000 [00:31<00:27, 158.63it/s]
 56%|█████▋    | 5640/10000 [00:31<00:24, 177.58it/s]
 57%|█████▋    | 5663/10000 [00:31<00:22, 192.27it/s]
 57%|█████▋    | 5686/10000 [00:31<00:21, 202.94it/s]
 57%|█████▋    | 5709/10000 [00:31<00:20, 209.37it/s]
 57%|█████▋    | 5733/10000 [00:31<00:19, 215.96it/s]
 58%|█████▊    | 5757/10000 [00:31<00:19, 220.70it/s]
 58%|█████▊    | 5781/10000 [00:31<00:18, 224.12it/s]
 58%|█████▊    | 5804/10000 [00:32<00:27, 155.07it/s]
 58%|█████▊    | 5828/10000 [00:32<00:24, 172.16it/s]
 58%|█████▊    | 5848/10000 [00:32<00:26, 158.48it/s]
 59%|█████▊    | 5866/10000 [00:32<00:27, 150.12it/s]
 59%|█████▉    | 5883/10000 [00:32<00:28, 146.67it/s]
 59%|█████▉    | 5899/10000 [00:32<00:28, 142.99it/s]
 59%|█████▉    | 5914/10000 [00:32<00:29, 140.85it/s]
 59%|█████▉    | 5929/10000 [00:33<00:30, 134.11it/s]
 59%|█████▉    | 5943/10000 [00:33<00:30, 133.81it/s]
 60%|█████▉    | 5957/10000 [00:33<00:30, 133.63it/s]
 60%|█████▉    | 5971/10000 [00:33<00:30, 133.84it/s]
 60%|█████▉    | 5985/10000 [00:33<00:30, 133.61it/s]
 60%|█████▉    | 5999/10000 [00:33<00:30, 133.15it/s]
 60%|██████    | 6013/10000 [00:33<00:29, 133.68it/s]
 60%|██████    | 6027/10000 [00:33<00:29, 133.91it/s]
 60%|██████    | 6041/10000 [00:33<00:29, 133.60it/s]
 61%|██████    | 6055/10000 [00:33<00:29, 133.90it/s]
 61%|██████    | 6069/10000 [00:34<00:29, 133.96it/s]
 61%|██████    | 6083/10000 [00:34<00:28, 135.23it/s]
 61%|██████    | 6097/10000 [00:34<00:29, 133.63it/s]
 61%|██████    | 6111/10000 [00:34<00:29, 133.87it/s]
 61%|██████▏   | 6125/10000 [00:34<00:28, 134.35it/s]
 61%|██████▏   | 6140/10000 [00:34<00:28, 137.74it/s]
 62%|██████▏   | 6163/10000 [00:34<00:23, 163.91it/s]
 62%|██████▏   | 6187/10000 [00:34<00:20, 184.15it/s]
 62%|██████▏   | 6211/10000 [00:34<00:19, 198.46it/s]
 62%|██████▏   | 6235/10000 [00:34<00:18, 208.46it/s]
 63%|██████▎   | 6259/10000 [00:35<00:17, 215.51it/s]
 63%|██████▎   | 6283/10000 [00:35<00:16, 220.50it/s]
 63%|██████▎   | 6307/10000 [00:35<00:16, 224.01it/s]
 63%|██████▎   | 6331/10000 [00:35<00:16, 226.56it/s]
 64%|██████▎   | 6355/10000 [00:35<00:15, 227.86it/s]
 64%|██████▍   | 6379/10000 [00:35<00:15, 229.19it/s]
 64%|██████▍   | 6403/10000 [00:35<00:15, 230.05it/s]
 64%|██████▍   | 6427/10000 [00:35<00:15, 230.68it/s]
 65%|██████▍   | 6451/10000 [00:35<00:15, 231.12it/s]
 65%|██████▍   | 6475/10000 [00:36<00:15, 231.47it/s]
 65%|██████▍   | 6499/10000 [00:36<00:15, 231.64it/s]
 65%|██████▌   | 6523/10000 [00:36<00:15, 231.75it/s]
 65%|██████▌   | 6547/10000 [00:36<00:14, 231.48it/s]
 66%|██████▌   | 6571/10000 [00:36<00:14, 231.69it/s]
 66%|██████▌   | 6595/10000 [00:36<00:14, 230.28it/s]
 66%|██████▌   | 6619/10000 [00:36<00:14, 230.88it/s]
 66%|██████▋   | 6643/10000 [00:36<00:14, 231.25it/s]
 67%|██████▋   | 6667/10000 [00:36<00:14, 230.21it/s]
 67%|██████▋   | 6691/10000 [00:37<00:17, 188.25it/s]
 67%|██████▋   | 6712/10000 [00:37<00:19, 168.33it/s]
 67%|██████▋   | 6730/10000 [00:37<00:20, 157.07it/s]
 67%|██████▋   | 6747/10000 [00:37<00:21, 152.89it/s]
 68%|██████▊   | 6763/10000 [00:37<00:22, 146.06it/s]
 68%|██████▊   | 6778/10000 [00:37<00:22, 142.01it/s]
 68%|██████▊   | 6793/10000 [00:37<00:22, 140.39it/s]
 68%|██████▊   | 6808/10000 [00:37<00:23, 138.30it/s]
 68%|██████▊   | 6822/10000 [00:38<00:23, 136.47it/s]
 68%|██████▊   | 6836/10000 [00:38<00:23, 135.80it/s]
 68%|██████▊   | 6850/10000 [00:38<00:23, 135.49it/s]
 69%|██████▊   | 6864/10000 [00:38<00:23, 134.78it/s]
 69%|██████▉   | 6878/10000 [00:38<00:23, 134.59it/s]
 69%|██████▉   | 6892/10000 [00:38<00:23, 133.97it/s]
 69%|██████▉   | 6906/10000 [00:38<00:23, 133.33it/s]
 69%|██████▉   | 6920/10000 [00:38<00:23, 133.48it/s]
 69%|██████▉   | 6934/10000 [00:38<00:23, 133.12it/s]
 69%|██████▉   | 6948/10000 [00:38<00:22, 133.26it/s]
 70%|██████▉   | 6962/10000 [00:39<00:22, 133.12it/s]
 70%|██████▉   | 6977/10000 [00:39<00:21, 137.97it/s]
 70%|███████   | 7001/10000 [00:39<00:18, 165.89it/s]
 70%|███████   | 7025/10000 [00:39<00:16, 185.42it/s]
 70%|███████   | 7049/10000 [00:39<00:14, 199.20it/s]
 71%|███████   | 7073/10000 [00:39<00:14, 208.96it/s]
 71%|███████   | 7097/10000 [00:39<00:13, 215.89it/s]
 71%|███████   | 7121/10000 [00:39<00:13, 220.63it/s]
 71%|███████▏  | 7145/10000 [00:39<00:12, 224.05it/s]
 72%|███████▏  | 7169/10000 [00:40<00:12, 226.37it/s]
 72%|███████▏  | 7193/10000 [00:40<00:12, 228.01it/s]
 72%|███████▏  | 7217/10000 [00:40<00:12, 229.14it/s]
 72%|███████▏  | 7241/10000 [00:40<00:12, 229.90it/s]
 73%|███████▎  | 7265/10000 [00:40<00:11, 230.44it/s]
 73%|███████▎  | 7289/10000 [00:40<00:11, 230.59it/s]
 73%|███████▎  | 7313/10000 [00:40<00:11, 231.02it/s]
 73%|███████▎  | 7337/10000 [00:40<00:11, 231.38it/s]
 74%|███████▎  | 7361/10000 [00:40<00:11, 231.48it/s]
 74%|███████▍  | 7385/10000 [00:40<00:11, 231.64it/s]
 74%|███████▍  | 7409/10000 [00:41<00:11, 231.76it/s]
 74%|███████▍  | 7433/10000 [00:41<00:11, 231.90it/s]
 75%|███████▍  | 7457/10000 [00:41<00:10, 231.87it/s]
 75%|███████▍  | 7481/10000 [00:41<00:10, 231.66it/s]
 75%|███████▌  | 7505/10000 [00:41<00:10, 231.43it/s]
 75%|███████▌  | 7529/10000 [00:41<00:10, 231.28it/s]
 76%|███████▌  | 7553/10000 [00:41<00:10, 231.43it/s]
 76%|███████▌  | 7577/10000 [00:41<00:10, 231.52it/s]
 76%|███████▌  | 7601/10000 [00:41<00:10, 231.59it/s]
 76%|███████▋  | 7625/10000 [00:41<00:10, 231.63it/s]
 76%|███████▋  | 7649/10000 [00:42<00:10, 218.40it/s]
 77%|███████▋  | 7671/10000 [00:42<00:12, 186.22it/s]
 77%|███████▋  | 7691/10000 [00:42<00:13, 168.81it/s]
 77%|███████▋  | 7709/10000 [00:42<00:14, 159.11it/s]
 77%|███████▋  | 7726/10000 [00:42<00:14, 152.73it/s]
 77%|███████▋  | 7742/10000 [00:42<00:15, 147.07it/s]
 78%|███████▊  | 7757/10000 [00:42<00:15, 143.12it/s]
 78%|███████▊  | 7772/10000 [00:43<00:15, 140.83it/s]
 78%|███████▊  | 7787/10000 [00:43<00:15, 139.14it/s]
 78%|███████▊  | 7801/10000 [00:43<00:15, 137.64it/s]
 78%|███████▊  | 7815/10000 [00:43<00:15, 136.70it/s]
 78%|███████▊  | 7829/10000 [00:43<00:15, 135.81it/s]
 78%|███████▊  | 7843/10000 [00:43<00:15, 135.44it/s]
 79%|███████▊  | 7858/10000 [00:43<00:15, 136.88it/s]
 79%|███████▊  | 7872/10000 [00:43<00:15, 136.01it/s]
 79%|███████▉  | 7886/10000 [00:43<00:15, 135.37it/s]
 79%|███████▉  | 7900/10000 [00:43<00:15, 135.30it/s]
 79%|███████▉  | 7914/10000 [00:44<00:15, 134.47it/s]
 79%|███████▉  | 7928/10000 [00:44<00:15, 133.79it/s]
 79%|███████▉  | 7942/10000 [00:44<00:15, 134.45it/s]
 80%|███████▉  | 7959/10000 [00:44<00:14, 141.34it/s]
 80%|███████▉  | 7974/10000 [00:44<00:14, 135.43it/s]
 80%|███████▉  | 7988/10000 [00:44<00:15, 132.68it/s]
 80%|████████  | 8002/10000 [00:44<00:14, 133.56it/s]
 80%|████████  | 8017/10000 [00:44<00:14, 137.26it/s]
 80%|████████  | 8031/10000 [00:44<00:14, 136.62it/s]
 81%|████████  | 8053/10000 [00:45<00:12, 160.20it/s]
 81%|████████  | 8077/10000 [00:45<00:10, 181.53it/s]
 81%|████████  | 8101/10000 [00:45<00:09, 196.53it/s]
 81%|████████▏ | 8125/10000 [00:45<00:09, 207.07it/s]
 81%|████████▏ | 8149/10000 [00:45<00:08, 214.46it/s]
 82%|████████▏ | 8173/10000 [00:45<00:08, 219.71it/s]
 82%|████████▏ | 8197/10000 [00:45<00:08, 223.45it/s]
 82%|████████▏ | 8221/10000 [00:45<00:07, 226.00it/s]
 82%|████████▏ | 8245/10000 [00:45<00:07, 227.81it/s]
 83%|████████▎ | 8269/10000 [00:45<00:07, 229.15it/s]
 83%|████████▎ | 8293/10000 [00:46<00:07, 230.01it/s]
 83%|████████▎ | 8317/10000 [00:46<00:07, 230.69it/s]
 83%|████████▎ | 8341/10000 [00:46<00:07, 231.13it/s]
 84%|████████▎ | 8365/10000 [00:46<00:07, 231.51it/s]
 84%|████████▍ | 8389/10000 [00:46<00:06, 231.77it/s]
 84%|████████▍ | 8413/10000 [00:46<00:06, 231.93it/s]
 84%|████████▍ | 8437/10000 [00:46<00:06, 232.04it/s]
 85%|████████▍ | 8461/10000 [00:46<00:06, 232.14it/s]
 85%|████████▍ | 8485/10000 [00:46<00:06, 232.17it/s]
 85%|████████▌ | 8509/10000 [00:46<00:06, 232.03it/s]
 85%|████████▌ | 8533/10000 [00:47<00:06, 232.12it/s]
 86%|████████▌ | 8557/10000 [00:47<00:06, 232.08it/s]
 86%|████████▌ | 8581/10000 [00:47<00:06, 232.08it/s]
 86%|████████▌ | 8605/10000 [00:47<00:06, 232.07it/s]
 86%|████████▋ | 8629/10000 [00:47<00:05, 232.07it/s]
 87%|████████▋ | 8653/10000 [00:47<00:05, 232.00it/s]
 87%|████████▋ | 8677/10000 [00:47<00:05, 232.02it/s]
 87%|████████▋ | 8701/10000 [00:47<00:05, 231.92it/s]
 87%|████████▋ | 8725/10000 [00:47<00:06, 191.64it/s]
 87%|████████▋ | 8746/10000 [00:48<00:07, 171.62it/s]
 88%|████████▊ | 8765/10000 [00:48<00:07, 159.56it/s]
 88%|████████▊ | 8782/10000 [00:48<00:08, 152.04it/s]
 88%|████████▊ | 8798/10000 [00:48<00:11, 101.26it/s]
 88%|████████▊ | 8812/10000 [00:48<00:11, 107.39it/s]
 88%|████████▊ | 8826/10000 [00:48<00:10, 112.75it/s]
 88%|████████▊ | 8840/10000 [00:49<00:09, 118.38it/s]
 89%|████████▊ | 8854/10000 [00:49<00:09, 121.87it/s]
 89%|████████▊ | 8868/10000 [00:49<00:09, 124.92it/s]
 89%|████████▉ | 8882/10000 [00:49<00:08, 126.69it/s]
 89%|████████▉ | 8896/10000 [00:49<00:08, 128.30it/s]
 89%|████████▉ | 8910/10000 [00:49<00:08, 129.69it/s]
 89%|████████▉ | 8924/10000 [00:49<00:08, 128.48it/s]
 89%|████████▉ | 8938/10000 [00:49<00:08, 129.52it/s]
 90%|████████▉ | 8952/10000 [00:49<00:08, 130.40it/s]
 90%|████████▉ | 8966/10000 [00:50<00:07, 131.71it/s]
 90%|████████▉ | 8980/10000 [00:50<00:07, 132.31it/s]
 90%|████████▉ | 8994/10000 [00:50<00:07, 132.41it/s]
 90%|█████████ | 9008/10000 [00:50<00:07, 131.67it/s]
 90%|█████████ | 9022/10000 [00:50<00:07, 132.00it/s]
 90%|█████████ | 9036/10000 [00:50<00:07, 132.17it/s]
 90%|█████████ | 9050/10000 [00:50<00:07, 132.15it/s]
 91%|█████████ | 9067/10000 [00:50<00:06, 142.86it/s]
 91%|█████████ | 9091/10000 [00:50<00:05, 169.32it/s]
 91%|█████████ | 9115/10000 [00:50<00:04, 187.92it/s]
 91%|█████████▏| 9139/10000 [00:51<00:04, 201.02it/s]
 92%|█████████▏| 9163/10000 [00:51<00:03, 210.23it/s]
 92%|█████████▏| 9187/10000 [00:51<00:03, 216.21it/s]
 92%|█████████▏| 9210/10000 [00:51<00:03, 220.14it/s]
 92%|█████████▏| 9234/10000 [00:51<00:03, 223.54it/s]
 93%|█████████▎| 9258/10000 [00:51<00:03, 226.01it/s]
 93%|█████████▎| 9282/10000 [00:51<00:03, 227.74it/s]
 93%|█████████▎| 9306/10000 [00:51<00:03, 228.93it/s]
 93%|█████████▎| 9330/10000 [00:51<00:02, 229.81it/s]
 94%|█████████▎| 9354/10000 [00:51<00:02, 230.39it/s]
 94%|█████████▍| 9378/10000 [00:52<00:02, 230.83it/s]
 94%|█████████▍| 9402/10000 [00:52<00:02, 231.11it/s]
 94%|█████████▍| 9426/10000 [00:52<00:02, 231.34it/s]
 94%|█████████▍| 9450/10000 [00:52<00:02, 231.56it/s]
 95%|█████████▍| 9474/10000 [00:52<00:02, 231.61it/s]
 95%|█████████▍| 9498/10000 [00:52<00:02, 231.39it/s]
 95%|█████████▌| 9522/10000 [00:52<00:02, 231.20it/s]
 95%|█████████▌| 9546/10000 [00:52<00:01, 231.37it/s]
 96%|█████████▌| 9570/10000 [00:52<00:01, 231.56it/s]
 96%|█████████▌| 9594/10000 [00:53<00:01, 231.71it/s]
 96%|█████████▌| 9618/10000 [00:53<00:01, 231.83it/s]
 96%|█████████▋| 9642/10000 [00:53<00:01, 231.86it/s]
 97%|█████████▋| 9666/10000 [00:53<00:01, 231.85it/s]
 97%|█████████▋| 9690/10000 [00:53<00:01, 231.87it/s]
 97%|█████████▋| 9714/10000 [00:53<00:01, 231.83it/s]
 97%|█████████▋| 9738/10000 [00:53<00:01, 210.20it/s]
 98%|█████████▊| 9760/10000 [00:53<00:01, 180.96it/s]
 98%|█████████▊| 9779/10000 [00:53<00:01, 165.21it/s]
 98%|█████████▊| 9797/10000 [00:54<00:01, 155.31it/s]
 98%|█████████▊| 9814/10000 [00:54<00:01, 146.30it/s]
 98%|█████████▊| 9830/10000 [00:54<00:01, 142.11it/s]
 98%|█████████▊| 9845/10000 [00:54<00:01, 139.33it/s]
 99%|█████████▊| 9860/10000 [00:54<00:01, 136.73it/s]
 99%|█████████▊| 9874/10000 [00:54<00:00, 135.46it/s]
 99%|█████████▉| 9888/10000 [00:54<00:00, 134.51it/s]
 99%|█████████▉| 9902/10000 [00:54<00:00, 134.02it/s]
 99%|█████████▉| 9916/10000 [00:55<00:00, 133.34it/s]
 99%|█████████▉| 9931/10000 [00:55<00:00, 137.62it/s]
 99%|█████████▉| 9946/10000 [00:55<00:00, 139.23it/s]
100%|█████████▉| 9960/10000 [00:55<00:00, 136.92it/s]
100%|█████████▉| 9974/10000 [00:55<00:00, 135.06it/s]
100%|█████████▉| 9988/10000 [00:55<00:00, 134.17it/s]
100%|██████████| 10000/10000 [00:58<00:00, 172.36it/s]
Define new variables

Defining new variables...:   0%|          | 0/10 [00:00<?, ?it/s]
Defining new variables...:  10%|█         | 1/10 [00:00<00:05,  1.59it/s]
Defining new variables...:  20%|██        | 2/10 [00:01<00:05,  1.41it/s]
Defining new variables...:  30%|███       | 3/10 [00:02<00:05,  1.36it/s]
Defining new variables...:  40%|████      | 4/10 [00:02<00:04,  1.36it/s]
Defining new variables...:  50%|█████     | 5/10 [00:03<00:03,  1.34it/s]
Defining new variables...:  60%|██████    | 6/10 [00:04<00:02,  1.33it/s]
Defining new variables...:  70%|███████   | 7/10 [00:05<00:02,  1.34it/s]
Defining new variables...:  80%|████████  | 8/10 [00:05<00:01,  1.34it/s]
Defining new variables...:  90%|█████████ | 9/10 [00:06<00:00,  1.34it/s]
Defining new variables...: 100%|██████████| 10/10 [00:07<00:00,  1.34it/s]
Defining new variables...: 100%|██████████| 10/10 [00:56<00:00,  5.70s/it]
File cnl_10_63.dat has been created.
logprob = the_model_generation.get_cross_nested_logit()
the_biogeme = bio.BIOGEME(biogeme_database, logprob)
the_biogeme.modelName = MODEL_NAME
File biogeme.toml has been parsed.

Calculate the null log likelihood for reporting.

the_biogeme.calculateNullLoglikelihood({i: 1 for i in range(context.total_sample_size)})
-23025.850929942502

Estimate the parameters.

results = the_biogeme.estimate(recycle=False)
*** Initial values of the parameters are obtained from the file __cnl_10_63.iter
Cannot read file __cnl_10_63.iter. Statement is ignored.
Optimization algorithm: hybrid Newton/BFGS with simple bounds [simple_bounds]
** Optimization: Newton with trust region for simple bounds
Iter.    beta_chinese  beta_ethiopian     beta_french     beta_indian   beta_japanese     beta_korean   beta_lebanese   beta_log_dist    beta_mexican      beta_price     beta_rating        mu_asian     mu_downtown     Function    Relgrad   Radius      Rho
    0          -0.074          -0.091           0.095          -0.091             0.2          -0.065           -0.06              -1            0.74           -0.53            0.55             1.3             1.3      1.6e+04       0.15       10     0.94   ++
    1            0.74            0.51            0.92             1.2             1.6            0.84            0.78           -0.49             1.2           -0.41             0.8             1.9             1.5      1.4e+04      0.056    1e+02      0.9   ++
    2            0.83            0.52             0.8             1.1             1.3            0.85            0.75            -0.6             1.3           -0.43            0.75             2.1             1.8      1.4e+04      0.016    1e+03        1   ++
    3            0.78            0.53            0.78             1.1             1.3            0.82            0.76           -0.59             1.2           -0.42            0.75             2.1             1.9      1.4e+04     0.0027    1e+04      1.1   ++
    4            0.77            0.53            0.78             1.1             1.3            0.81            0.76           -0.59             1.2           -0.42            0.75             2.1             1.9      1.4e+04     0.0001    1e+05        1   ++
    5            0.77            0.53            0.78             1.1             1.3            0.81            0.76           -0.59             1.2           -0.42            0.75             2.1             1.9      1.4e+04    1.5e-07    1e+05        1   ++
Results saved in file cnl_10_63~00.html
Results saved in file cnl_10_63~00.pickle
print(results.short_summary())
Results for model cnl_10_63
Nbr of parameters:              13
Sample size:                    10000
Excluded data:                  0
Null log likelihood:            -23025.85
Final log likelihood:           -14092.76
Likelihood ratio test (null):           17866.18
Rho square (null):                      0.388
Rho bar square (null):                  0.387
Akaike Information Criterion:   28211.52
Bayesian Information Criterion: 28305.26
estimated_parameters = results.getEstimatedParameters()
estimated_parameters
Value Rob. Std err Rob. t-test Rob. p-value
beta_chinese 0.765983 0.060207 12.722451 0.0
beta_ethiopian 0.526412 0.041496 12.685779 0.0
beta_french 0.777741 0.049470 15.721391 0.0
beta_indian 1.097405 0.052229 21.011339 0.0
beta_japanese 1.296880 0.046115 28.122891 0.0
beta_korean 0.811152 0.053094 15.277640 0.0
beta_lebanese 0.755723 0.048377 15.621583 0.0
beta_log_dist -0.586730 0.012674 -46.292851 0.0
beta_mexican 1.241028 0.030040 41.312755 0.0
beta_price -0.420492 0.012436 -33.811212 0.0
beta_rating 0.746966 0.015039 49.667319 0.0
mu_asian 2.123777 0.067253 31.578949 0.0
mu_downtown 1.930837 0.030021 64.316050 0.0


df, msg = compare(estimated_parameters)
print(df)
              Name  True Value  Estimated Value    T-Test
0      beta_rating        0.75         0.746966  0.201726
1       beta_price       -0.40        -0.420492  1.647755
2     beta_chinese        0.75         0.765983 -0.265467
3    beta_japanese        1.25         1.296880 -1.016593
4      beta_korean        0.75         0.811152 -1.151761
5      beta_indian        1.00         1.097405 -1.864958
6      beta_french        0.75         0.777741 -0.560769
7     beta_mexican        1.25         1.241028  0.298658
8    beta_lebanese        0.75         0.755723 -0.118305
9   beta_ethiopian        0.50         0.526412 -0.636482
10   beta_log_dist       -0.60        -0.586730 -1.046964
11        mu_asian        2.00         2.123777 -1.840468
12     mu_downtown        2.00         1.930837  2.303824
print(msg)

Total running time of the script: (6 minutes 12.700 seconds)

Gallery generated by Sphinx-Gallery