diff --git a/.github/workflows/branch-docs.yml b/.github/workflows/branch-docs.yml index 3f2b8d549d..ef5c437c57 100644 --- a/.github/workflows/branch-docs.yml +++ b/.github/workflows/branch-docs.yml @@ -21,39 +21,21 @@ jobs: with: fetch-depth: 0 # get all tags, lets setuptools_scm do its thing - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v2 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - miniforge-version: latest - python-version: "3.10" - activate-environment: docbuild - auto-activate-base: false - auto-update-conda: false + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v3 + - name: "Set up Python" + uses: actions/setup-python@v5 with: - path: /usr/share/miniconda3/envs/docbuild - key: linux-64-conda-${{ hashFiles('conda-environments/docbuild.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache - - - name: Update environment - run: conda env update --verbose -n docbuild -f conda-environments/docbuild.yml - if: steps.cache.outputs.cache-hit != 'true' + python-version-file: ".python-version" - name: Install activitysim run: | - python -m pip install . - - - name: Conda checkup - run: | - conda info -a - conda list - echo REPOSITORY ${{ github.repository }} - echo REF ${{ github.ref }} - echo REF_NAME ${{ github.ref_name }} + uv sync --locked --dev - name: Build the docs run: | diff --git a/.github/workflows/core_tests.yml b/.github/workflows/core_tests.yml index 17b3cbc2ae..3e4fd52f91 100644 --- a/.github/workflows/core_tests.yml +++ b/.github/workflows/core_tests.yml @@ -17,9 +17,6 @@ env: jobs: foundation: - strategy: - matrix: - python-version: ["3.10"] defaults: run: shell: bash -l {0} @@ -28,67 +25,46 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v3 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - auto-update-conda: true - miniforge-version: latest - mamba-version: "2.0.5" - conda-solver: classic - conda-remove-defaults: true - activate-environment: asim-test - python-version: ${{ matrix.python-version }} - - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v4 - with: - path: /usr/share/miniconda3/envs/asim-test - key: linux-64-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Update environment - run: | - conda env update -n asim-test -f conda-environments/github-actions-tests.yml - if: steps.cache.outputs.cache-hit != 'true' + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" - name: Install activitysim - # installing without dependencies is faster, we trust that all needed dependencies - # are in the conda environment defined above. Also, this avoids pip getting - # confused and reinstalling tables (pytables). run: | - python -m pip install -e . --no-deps - - - name: Conda checkup - run: | - conda info -a - conda list + uv sync --locked - name: Lint with Black run: | # stop the build if there are problems - black --check --diff . + uv run black --check --diff . - name: Test activitysim.core run: | - python -m pytest --pyargs activitysim.core + uv run pytest --pyargs activitysim.core - name: Test activitysim.abm.models run: | - python -m pytest --pyargs activitysim.abm.models + uv run pytest --pyargs activitysim.abm.models - name: Test activitysim.abm.test run: | - python -m pytest --pyargs activitysim.abm.test + uv run pytest --pyargs activitysim.abm.test - name: Test activitysim.cli run: | - python -m pytest --pyargs activitysim.cli + uv run pytest --pyargs activitysim.cli - name: Test activitysim.examples.test run: | - python -m pytest --pyargs activitysim.examples.test + uv run pytest --pyargs activitysim.examples.test cross-platform: @@ -115,70 +91,52 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v3 - with: - auto-update-conda: true - miniforge-version: latest - mamba-version: "2.0.5" - conda-solver: classic - conda-remove-defaults: true - activate-environment: asim-test - python-version: ${{ matrix.python-version }} - - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v4 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - path: ${{ env.CONDA }}/envs - key: ${{ matrix.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Update environment - run: | - conda env update -n asim-test -f conda-environments/github-actions-tests.yml - if: steps.cache.outputs.cache-hit != 'true' + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" - name: Install activitysim - # installing without dependencies is faster, we trust that all needed dependencies - # are in the conda environment defined above. Also, this avoids pip getting - # confused and reinstalling tables (pytables). run: | - python -m pip install -e . --no-deps - - - name: Conda checkup - run: | - conda info -a - conda list + uv sync --locked - name: Lint with Black run: | # stop the build if there are problems - black --check --diff . + uv run black --check --diff . - name: Test activitysim.core run: | - python -m pytest --pyargs activitysim.core + uv run pytest --pyargs activitysim.core - name: Test activitysim.abm.models run: | - python -m pytest --pyargs activitysim.abm.models + uv run pytest --pyargs activitysim.abm.models - name: Test activitysim.abm.test run: | - python -m pytest --pyargs activitysim.abm.test + uv run pytest --pyargs activitysim.abm.test - name: Test activitysim.cli run: | - python -m pytest --pyargs activitysim.cli + uv run pytest --pyargs activitysim.cli + - run: uv run pytest test/test_skim_name_conflicts.py + - run: uv run pytest test/random_seed/test_random_seed.py + - run: uv run pytest test/trace_id/test_trace_id.py builtin_regional_models: needs: foundation env: python-version: "3.10" - label: linux-64 + label: win-64 strategy: matrix: region: @@ -186,7 +144,6 @@ jobs: - placeholder_psrc - prototype_marin - prototype_mtc_extended - - placeholder_sandag - prototype_sandag_xborder - production_semcog - prototype_mwcog @@ -194,48 +151,27 @@ jobs: fail-fast: false defaults: run: - shell: bash -l {0} + shell: pwsh name: ${{ matrix.region }} - runs-on: ubuntu-latest + runs-on: windows-latest steps: - uses: actions/checkout@v4 - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v3 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - auto-update-conda: true - miniforge-version: latest - mamba-version: "2.0.5" - conda-solver: classic - conda-remove-defaults: true - activate-environment: asim-test - python-version: ${{ env.python-version }} - - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v4 - with: - path: ${{ env.CONDA }}/envs - key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Update environment - run: | - conda env update -n asim-test -f conda-environments/github-actions-tests.yml - if: steps.cache.outputs.cache-hit != 'true' + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" - name: Install activitysim - # installing without dependencies is faster, we trust that all needed dependencies - # are in the conda environment defined above. Also, this avoids pip getting - # confused and reinstalling tables (pytables). - run: | - python -m pip install -e . --no-deps - - - name: Conda checkup run: | - conda info -a - conda list + uv sync --locked # TODO: Cache sharrow compiled flows? The contents of __pycache__ appear to # be ignored, so this is not working as expected right now @@ -262,13 +198,13 @@ jobs: - name: Test ${{ matrix.region }} run: | - python -m pytest activitysim/examples/${{ matrix.region }}/test --durations=0 + uv run pytest activitysim/examples/${{ matrix.region }}/test --durations=0 external_regional_models: needs: foundation env: python-version: "3.10" - label: linux-64 + label: win-64 strategy: matrix: include: @@ -279,55 +215,32 @@ jobs: - region: Standard 2-Zone Example (SANDAG) region-org: ActivitySim region-repo: sandag-abm3-example - region-branch: pandas2 + region-branch: main fail-fast: false defaults: run: - shell: bash -l {0} + shell: pwsh name: ${{ matrix.region }} - runs-on: ubuntu-latest + runs-on: windows-latest steps: - name: Checkout ActivitySim uses: actions/checkout@v4 - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v3 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - auto-update-conda: true - miniforge-version: latest - mamba-version: "2.0.5" - conda-solver: classic - conda-remove-defaults: true - activate-environment: asim-test - python-version: ${{ env.python-version }} - - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v4 - with: - path: | - ${{ env.CONDA }}/envs - ~/.cache/ActivitySim - key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Update environment - run: | - conda env update -n asim-test -f conda-environments/github-actions-tests.yml - if: steps.cache.outputs.cache-hit != 'true' + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" - name: Install activitysim - # installing without dependencies is faster, we trust that all needed dependencies - # are in the conda environment defined above. Also, this avoids pip getting - # confused and reinstalling tables (pytables). - run: | - python -m pip install . --no-deps - - - name: Conda checkup run: | - conda info -a - conda list + uv sync --locked - name: Checkout Example uses: actions/checkout@v4 @@ -338,120 +251,185 @@ jobs: - name: Test ${{ matrix.region }} run: | - cd ${{ matrix.region-repo }}/test - python -m pytest . + cd ${{ matrix.region-repo }} + uv run --project .. --locked pytest ./test random_seed_generation: needs: foundation env: python-version: "3.10" - label: linux-64 + label: win-64 defaults: run: - shell: bash -l {0} + shell: pwsh name: random_seed_generation_test - runs-on: ubuntu-latest + runs-on: windows-latest steps: - uses: actions/checkout@v4 - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v3 - with: - auto-update-conda: true - miniforge-version: latest - mamba-version: "2.0.5" - conda-solver: classic - conda-remove-defaults: true - activate-environment: asim-test - python-version: ${{ env.python-version }} - - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v4 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - path: ${{ env.CONDA }}/envs - key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Update environment - run: | - conda env update -n asim-test -f conda-environments/github-actions-tests.yml - if: steps.cache.outputs.cache-hit != 'true' + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" - name: Install activitysim - # installing without dependencies is faster, we trust that all needed dependencies - # are in the conda environment defined above. Also, this avoids pip getting - # confused and reinstalling tables (pytables). run: | - python -m pip install -e . --no-deps - - - name: Conda checkup - run: | - conda info -a - conda list + uv sync --locked - name: Test Random Seed Generation run: | - python -m pytest test/random_seed/test_random_seed.py --durations=0 + uv run pytest test/random_seed/test_random_seed.py --durations=0 estimation_mode: needs: foundation env: python-version: "3.10" - label: linux-64 + label: win-64 defaults: run: - shell: bash -l {0} + shell: pwsh name: Estimation Mode Unit Tests - runs-on: ubuntu-latest + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" + + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" + + - name: Install activitysim + run: | + uv sync --locked + + - name: Test Estimation Mode + run: | + uv run pytest activitysim/estimation/test/test_larch_estimation.py --durations=0 + + estimation_notebooks: + needs: foundation + env: + python-version: "3.10" + label: win-64 + defaults: + run: + shell: pwsh + name: Estimation Notebooks Test + runs-on: windows-latest steps: - uses: actions/checkout@v4 - - name: Setup Miniforge - uses: conda-incubator/setup-miniconda@v3 + - name: "Set up Python" + uses: actions/setup-python@v5 with: - auto-update-conda: true - miniforge-version: latest - mamba-version: "2.0.5" - conda-solver: classic - conda-remove-defaults: true - activate-environment: asim-test - python-version: ${{ env.python-version }} - - - name: Set cache date for year and month - run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV - - - uses: actions/cache@v4 + python-version-file: ".python-version" + + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - path: ${{ env.CONDA }}/envs - key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - id: cache + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" - - name: Update environment + - name: setup graphviz + uses: ts-graphviz/setup-graphviz@v2 + + - name: Install activitysim run: | - conda env update -n asim-test -f conda-environments/github-actions-tests.yml - if: steps.cache.outputs.cache-hit != 'true' + uv sync --locked + + - name: Create Estimation Data + run: > + uv run python activitysim/examples/example_estimation/notebooks/est_mode_setup.py + --household_sample_size 5000 - - name: Install Larch - run: mamba install "larch>=5.7.1" + - name: Test Estimation Notebooks + run: > + uv run pytest activitysim/examples/example_estimation/notebooks + --nbmake-timeout=3000 + --ignore=activitysim/examples/example_estimation/notebooks/01_estimation_mode.ipynb + --ignore-glob=activitysim/examples/example_estimation/notebooks/test-estimation-data/** + + estimation_edb_creation: + needs: foundation + env: + python-version: "3.10" + label: win-64 + defaults: + run: + shell: pwsh + name: estimation_edb_creation_test + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" + + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" - name: Install activitysim - # installing without dependencies is faster, we trust that all needed dependencies - # are in the conda environment defined above. Also, this avoids pip getting - # confused and reinstalling tables (pytables). run: | - python -m pip install -e . --no-deps + uv sync --locked - - name: Conda checkup + - name: Test Estimation EDB Creation run: | - conda info -a - conda list + uv run pytest activitysim/estimation/test/test_edb_creation/test_edb_formation.py --durations=0 - - name: Test Estimation Mode + expression-profiling: + needs: foundation + env: + python-version: "3.10" + label: win-64 + defaults: + run: + shell: pwsh + name: Expression Profiling Tests + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" + + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" + + - name: Install activitysim + run: | + uv sync --locked + + - name: Test Expression Profiling run: | - python -m pytest activitysim/estimation/test/test_larch_estimation.py --durations=0 + uv run pytest test/test_expression_profiling.py develop-docbuild: needs: foundation @@ -467,30 +445,19 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 # get all tags, lets setuptools_scm do its thing - - name: Set up Python 3.10 - uses: actions/setup-python@v5 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - python-version: "3.10" - - name: Install dependencies - uses: conda-incubator/setup-miniconda@v3 + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" + - name: "Set up Python" + uses: actions/setup-python@v5 with: - miniforge-version: latest - mamba-version: "2.0.5" - conda-remove-defaults: true - environment-file: conda-environments/docbuild.yml - python-version: "3.10" - activate-environment: docbuild - auto-activate-base: false - auto-update-conda: false + python-version-file: ".python-version" - name: Install activitysim run: | - python -m pip install . - - name: Conda checkup - run: | - conda info -a - conda list - echo ${{ github.repository }} - echo ${{ github.ref_name }} + uv sync --locked - name: localize version switcher run: | python .github/workflows/localize-base-urls.py docs/_static/switcher.json @@ -507,4 +474,4 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} # Token is created automatically by Github Actions, no other config needed publish_dir: ./docs/_build/html - destination_dir: develop + destination_dir: develop \ No newline at end of file diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 10652bba4d..b3766f0a22 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -68,7 +68,7 @@ jobs: python -m activitysim --version - name: Publish package to TestPyPI if: github.event_name == 'push' - uses: pypa/gh-action-pypi-publish@v1.5.1 + uses: pypa/gh-action-pypi-publish@v1.13.0 with: user: __token__ password: ${{ secrets.TESTPYPI_TOKEN }} @@ -89,31 +89,19 @@ jobs: with: name: releases path: dist - - name: Set up Python 3.10 - uses: actions/setup-python@v5 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: - python-version: "3.10" - - name: Install dependencies - uses: conda-incubator/setup-miniconda@v2 + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" + - name: "Set up Python" + uses: actions/setup-python@v5 with: - miniforge-variant: Mambaforge - miniforge-version: latest - use-mamba: true - environment-file: conda-environments/docbuild.yml - python-version: "3.10" - activate-environment: docbuild - auto-activate-base: false - auto-update-conda: false + python-version-file: ".python-version" - name: Install activitysim run: | - python -m pip install dist/activitysim-*.whl - - name: Conda checkup - run: | - conda info -a - conda list - echo REPOSITORY ${{ github.repository }} - echo REF ${{ github.ref }} - echo REF_NAME ${{ github.ref_name }} + uv sync --locked --dev - name: Build the docs run: | cd docs @@ -137,7 +125,7 @@ jobs: name: releases path: dist - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@v1.5.1 + uses: pypa/gh-action-pypi-publish@v1.13.0 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/rebuild-docs.yml b/.github/workflows/rebuild-docs.yml new file mode 100644 index 0000000000..0a0b6a78ab --- /dev/null +++ b/.github/workflows/rebuild-docs.yml @@ -0,0 +1,51 @@ +name: Rebuild Docs +on: + workflow_dispatch: + inputs: + commit: + description: 'Commit SHA or branch/tag to build docs from' + required: true + type: string + version: + description: 'Version number to publish docs as' + required: true + type: string + +jobs: + docbuild: + name: ubuntu-latest py3.9 + runs-on: ubuntu-latest + permissions: + contents: write + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.commit }} + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + version: "0.7.12" + enable-cache: true + cache-dependency-glob: "uv.lock" + - name: "Set up Python" + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" + - name: Install activitysim + run: | + uv sync --locked --dev + - name: Build the docs + run: | + cd docs + make clean + make html + - name: Push to GitHub Pages + uses: peaceiris/actions-gh-pages@v3.8.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + # Token is created automatically by Github Actions, no other config needed + publish_dir: ./docs/_build/html + destination_dir: ${{ github.event.inputs.version }} diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index bbcd938b35..bf626b3e7c 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -72,7 +72,7 @@ jobs: python -m activitysim --version - name: Publish package to TestPyPI if: github.event_name == 'push' - uses: pypa/gh-action-pypi-publish@v1.5.1 + uses: pypa/gh-action-pypi-publish@v1.13.0 with: user: __token__ password: ${{ secrets.TESTPYPI_TOKEN }} diff --git a/.gitignore b/.gitignore index ff98b3c68d..4cda55136e 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,9 @@ coverage.xml .project .pydevproject +# ides +.vscode/ + # Rope .ropeproject diff --git a/.python-version b/.python-version new file mode 100644 index 0000000000..c8cfe39591 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.10 diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000000..d234a51a5a --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,24 @@ +cff-version: 1.2.0 +message: "If you use this software, please cite it as below." +type: software +title: "ActivitySim" +abstract: "Advanced, open-source, activity-based travel behavior modeling software based on best software development practices for distribution at no charge to the public." +authors: + - name: "Zephyr Foundation" +repository-code: "https://github.com/ActivitySim/activitysim" +url: "https://activitysim.github.io/activitysim" +license: BSD-3-Clause +keywords: + - "activity-based modeling" + - "travel behavior" + - "transportation planning" + - "microsimulation" + - "travel demand modeling" +preferred-citation: + type: software + title: "ActivitySim" + authors: + - name: "Zephyr Foundation" + repository-code: "https://github.com/ActivitySim/activitysim" + url: "https://activitysim.github.io/activitysim" + license: BSD-3-Clause \ No newline at end of file diff --git a/HOW_TO_RELEASE.md b/HOW_TO_RELEASE.md index 786a71d131..b47586d9d0 100644 --- a/HOW_TO_RELEASE.md +++ b/HOW_TO_RELEASE.md @@ -1,47 +1,32 @@ # How to issue an ActivitySim release -00. Check that the main branch is passing tests, especially the "core tests" on +1. Check that the main branch is passing tests, especially the "core tests" on [GitHub Actions](https://github.com/ActivitySim/activitysim/actions/workflows/core_tests.yml). It is generally the policy that the main branch should always be passing tests, - becuase PRs must pass tests before they can be merged. However, it is + because PRs must pass tests before they can be merged. However, it is possible that tests may fail after a PR is merged, so it is important to double-check that the main branch is passing tests before issuing a release. -00. Start from a completely clean conda environment - and git repository. Assuming you have `conda` installed, you can do so +2. Start from a completely clean environment + and git repository. Assuming you have `uv` installed, you can do so by starting where ActivitySim is not yet cloned (e.g. in an empty directory) and running: ```sh - conda create -p ./TEMP-ASIM-DEV python=3.10 git gh -c conda-forge --override-channels - conda activate ./TEMP-ASIM-DEV gh auth login # <--- (only needed if gh is not logged in) gh repo clone ActivitySim/activitysim cd activitysim + uv sync ``` -00. Update your Conda environment for testing. We do not want to use an - existing environment on your machine, as it may be out-of-sync - and we want to make sure everything passes muster using the - dependencies as they are available today. The following command - will update the active environment (we made this to be `TEMP-ASIM-DEV` - if you followed the directions above). - ```sh - conda env update --file=conda-environments/activitysim-dev.yml - ``` - If you add to the ActivitySim dependencies, make sure to also update - the environments in `conda-environments`, which are used for testing - and development. If they are not updated, these environments will end - up with dependencies loaded from *pip* instead of *conda-forge*. - -00. Run black to ensure that the codebase passes all style checks. +3. Run `black` to ensure that the codebase passes all style checks. This check should only take a few seconds. These checks are also done on GitHub Actions and are platform independent, so they should not be necessary to replicate locally, but are listed here for completeness. ```sh - black --check --diff . + uv run black --check --diff . ``` -00. Run the regular test suite on Windows. Most GitHub Actions tests are done on +4. Run the regular test suite on Windows. Most GitHub Actions tests are done on Linux (it's faster to start up and run a new clean VM for testing) but most users are on Windows, and the test suite should also be run on Windows to ensure that it works on that platform as well. If you @@ -54,12 +39,12 @@ regular test suite takes some time to run, between about half an hour and two hours depending on the specs of your machine. ```sh - python activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py - python activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py - pytest . + uv run activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py + uv run activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py + uv run pytest . ``` -00. Test the full-scale regional examples. These examples are big, too +5. Test the full-scale regional examples. These examples are big, too large to run on GitHub Actions, and will take a lot of time (many hours) to download and run. ```sh @@ -77,11 +62,17 @@ python ../activitysim/examples/scan_examples_for_errors.py . ``` -00. Test the notebooks in `activitysim/examples/prototype_mtc/notebooks`. +6. Test the notebooks in `activitysim/examples/prototype_mtc/notebooks`. There are also demo notebooks for estimation, but their functionality is completely tested in the unit tests run previously. -00. Tag the release commit with the new version number. ActivitySim uses +6. (Optional) After ensuring the code on the branch is passing all tests, pull in the latest versions of all dependencies that still satisfy current constraints, and repeat all above tests again. + ```sh + uv lock --upgrade + ``` + Make any adjustments using `uv add ...` with version constraints as needed to pass tests. If a version constraint is created, there should be a github issue created that identities the need in the future to debug and remove this constraint. + +7. Tag the release commit with the new version number. ActivitySim uses dynamic versioning, so the version number is not stored in a file but is instead read from the most recent git tag, so it is important to tag the repository with the correct version. The following command will @@ -90,12 +81,12 @@ git -a v1.2.3 -m "Release v1.2.3" ``` -00. Push the tagged commit to GitHub. +8. Push the tagged commit to GitHub. ```sh git push --tags ``` -00. Create a "release" on GitHub. You can do this from the command line using +9. Create a "release" on GitHub. You can do this from the command line using the `gh` command line tool: ```sh gh release create v1.2.3 @@ -110,25 +101,13 @@ The process of creating and tagging a release will automatically trigger various GitHub Actions scripts to build, test, and publish the - new release to PyPI and conda forge, assuming there are no errors. - -00. If the dependencies of ActivitySim have changed, also be sure to update the - dependencies of the conda-forge [recipe](https://github.com/conda-forge/activitysim-feedstock/tree/main/recipe). - If the dependencies of ActivitySim have not changed, the conda-forge version - of ActivitySim should auto-update within a few hours of making the release on - Github. + new release to PyPI, assuming there are no errors. -00. Build the ActivitySim Standalone Windows Installer. This is done using +10. Build the ActivitySim Standalone Windows Installer. This is done using GitHub Actions, but it is not done automatically when a release is created, instead it requires a manual workflow dispatch trigger. You can do this by going to the [build_installer workflow page](https://github.com/ActivitySim/activitysim/actions/workflows/build_installer.yml) and clicking on the "Run workflow" button. You will need to provide the version number and choose to add the built installer to the release. -00. Clean up your workspace, including removing the Conda environment used for - testing (which will prevent you from accidentally using an old - environment when you should have a fresh up-to-date one next time). - ```sh - conda deactivate - conda env remove -p ./TEMP-ASIM-DEV - ``` +11. Clean up your environment as is good practice by deleting `.venv` inside your workspace. However, `uv` will do this for you. Prior to every `uv run` invocation, `uv` will verify that the lockfile is up-to-date with the `pyproject.toml`, and that the environment is up-to-date with the lockfile, keeping your project in-sync without the need for manual intervention. `uv run` guarantees that your command is run in a consistent, locked environment. (Be sure to use `uv add` and `uv remove` to adjust dependencies always. Manually editing `pyproject.toml` dependencies *can* result in some problems with the environment that require `uv sync` before `uv run`.) \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index c091c014e5..7f725194d6 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) Association of Metropolitan Planning Organizations Research Foundation +Copyright (c) Zephyr Foundation All rights reserved. diff --git a/README.md b/README.md index 65809763ba..6f7dfae189 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ ActivitySim =========== -[![Build Status](https://travis-ci.com/ActivitySim/activitysim.svg?branch=main)](https://travis-ci.org/github/ActivitySim/activitysim)[![Coverage Status](https://coveralls.io/repos/github/ActivitySim/activitysim/badge.svg?branch=main)](https://coveralls.io/github/ActivitySim/activitysim?branch=main) - The mission of the ActivitySim project is to create and maintain advanced, open-source, activity-based travel behavior modeling software based on best software development practices for distribution at no charge to the public. @@ -15,11 +13,11 @@ and benefit from contributions of other agency partners. :fire: The `main` branch of this repository contains the Consortium's latest in-development codebase. It is not necessarily what you'll get if you install released -code from conda-forge or by downloading one of the "release" versions here on GitHub, +code from PyPI or by downloading one of the "release" versions here on GitHub, but it is generally expected that code in the `main` branch should be usable. ## Helpful Links -- [AMPO Research Foundation](https://research.ampo.org/#research) +- [Zephyr Foundation](https://activitysim.github.io) - [Documentation](https://activitysim.github.io/activitysim) - [Releases](https://github.com/ActivitySim/activitysim/releases) diff --git a/activitysim/abm/models/__init__.py b/activitysim/abm/models/__init__.py index 1383668431..44534fa531 100644 --- a/activitysim/abm/models/__init__.py +++ b/activitysim/abm/models/__init__.py @@ -33,6 +33,7 @@ stop_frequency, summarize, telecommute_frequency, + telecommute_status, tour_mode_choice, tour_od_choice, tour_scheduling_probabilistic, diff --git a/activitysim/abm/models/atwork_subtour_destination.py b/activitysim/abm/models/atwork_subtour_destination.py index d0d7fd9916..1c313a0896 100644 --- a/activitysim/abm/models/atwork_subtour_destination.py +++ b/activitysim/abm/models/atwork_subtour_destination.py @@ -7,7 +7,7 @@ import pandas as pd from activitysim.abm.models.util import tour_destination -from activitysim.core import config, estimation, los, tracing, workflow +from activitysim.core import config, estimation, los, tracing, workflow, expressions from activitysim.core.configuration.logit import TourLocationComponentSettings from activitysim.core.util import assign_in_place @@ -120,3 +120,11 @@ def atwork_subtour_destination( state.tracing.trace_df( tours, label="atwork_subtour_destination", columns=["destination"] ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/atwork_subtour_frequency.py b/activitysim/abm/models/atwork_subtour_frequency.py index 3483554432..ca7ae6d259 100644 --- a/activitysim/abm/models/atwork_subtour_frequency.py +++ b/activitysim/abm/models/atwork_subtour_frequency.py @@ -37,8 +37,8 @@ class AtworkSubtourFrequencySettings(LogitComponentSettings, extra="forbid"): Settings for the `atwork_subtour_frequency` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" + # no additional fields are required for this component + pass @workflow.step @@ -92,15 +92,15 @@ def atwork_subtour_frequency( nest_spec = config.get_logit_model_settings(model_settings) constants = config.get_model_constants(model_settings) - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - expressions.assign_columns( - state, - df=work_tours, - model_settings=preprocessor_settings, - trace_label=trace_label, - ) + # preprocess choosers + expressions.annotate_preprocessors( + state, + df=work_tours, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) if estimator: estimator.write_spec(model_settings) @@ -164,3 +164,11 @@ def atwork_subtour_frequency( if trace_hh_id: state.tracing.trace_df(tours, label="atwork_subtour_frequency.tours") + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/atwork_subtour_mode_choice.py b/activitysim/abm/models/atwork_subtour_mode_choice.py index 4e1949dc06..b9889aee72 100644 --- a/activitysim/abm/models/atwork_subtour_mode_choice.py +++ b/activitysim/abm/models/atwork_subtour_mode_choice.py @@ -195,17 +195,6 @@ def atwork_subtour_mode_choice( ) state.add_table("tours", tours) - # - annotate tours table - if model_settings.annotate_tours: - tours = state.get_dataframe("tours") - expressions.assign_columns( - state, - df=tours, - model_settings=model_settings.annotate_tours, - trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), - ) - state.add_table("tours", tours) - if trace_hh_id: state.tracing.trace_df( tours[tours.tour_category == "atwork"], @@ -213,3 +202,11 @@ def atwork_subtour_mode_choice( slicer="tour_id", index_label="tour_id", ) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/atwork_subtour_scheduling.py b/activitysim/abm/models/atwork_subtour_scheduling.py index fff94ef30f..2ad67ff22a 100644 --- a/activitysim/abm/models/atwork_subtour_scheduling.py +++ b/activitysim/abm/models/atwork_subtour_scheduling.py @@ -141,3 +141,11 @@ def atwork_subtour_scheduling( trace_label, "tour_map", ) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/auto_ownership.py b/activitysim/abm/models/auto_ownership.py index a66ce763a7..fe6a472abb 100644 --- a/activitysim/abm/models/auto_ownership.py +++ b/activitysim/abm/models/auto_ownership.py @@ -18,8 +18,6 @@ from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable from activitysim.core.configuration.logit import LogitComponentSettings -from .util import annotate - logger = logging.getLogger(__name__) @@ -28,8 +26,8 @@ class AutoOwnershipSettings(LogitComponentSettings, extra="forbid"): Settings for the `auto_ownership` component. """ - preprocessor: PreprocessorSettings | None = None - annotate_households: PreprocessorSettings | None = None + # no additional fields are required for this component + pass @workflow.step @@ -69,20 +67,14 @@ def auto_ownership_simulate( logger.info("Running %s with %d households", trace_label, len(choosers)) - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) @@ -120,8 +112,13 @@ def auto_ownership_simulate( "auto_ownership", households.auto_ownership, value_counts=True ) - if model_settings.annotate_households: - annotate.annotate_households(state, model_settings, trace_label) - if trace_hh_id: state.tracing.trace_df(households, label="auto_ownership", warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/cdap.py b/activitysim/abm/models/cdap.py index 6776c06c7f..d5e92e5227 100644 --- a/activitysim/abm/models/cdap.py +++ b/activitysim/abm/models/cdap.py @@ -36,12 +36,17 @@ class CdapSettings(PydanticReadable, extra="forbid"): JOINT_TOUR_COEFFICIENTS: str = "cdap_joint_tour_coefficients.csv" JOINT_TOUR_USEFUL_COLUMNS: list[str] | None = None """Columns to include from the persons table that will be need to calculate household joint tour utility.""" - annotate_persons: PreprocessorSettings | None = None - annotate_households: PreprocessorSettings | None = None COEFFICIENTS: Path CONSTANTS: dict[str, Any] = {} compute_settings: ComputeSettings | None = None + preprocessor: PreprocessorSettings | None = None + """Preprocess choosers tables before running the model.""" + annotate_persons: PreprocessorSettings | None = None + """Postprocess persons table after model completion.""" + annotate_households: PreprocessorSettings | None = None + """Postprocess households table after model completion.""" + @workflow.step def cdap_simulate( @@ -171,6 +176,16 @@ def cdap_simulate( index=True, ) + # preprocess choosers + expressions.annotate_preprocessors( + state, + df=persons_merged, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + if estimator: estimator.write_model_settings(model_settings, "cdap.yaml") estimator.write_spec(model_settings, tag="INDIV_AND_HHSIZE1_SPEC") @@ -180,7 +195,7 @@ def cdap_simulate( estimator.write_coefficients(coefficients_df, model_settings) estimator.write_table( cdap_interaction_coefficients, - "interaction_coefficients", + "cdap_interaction_coefficients", index=False, append=False, ) @@ -189,7 +204,7 @@ def cdap_simulate( spec = cdap.get_cached_spec(state, hhsize) estimator.write_table(spec, "spec_%s" % hhsize, append=False) if add_joint_tour_utility: - joint_spec = cdap.get_cached_joint_spec(hhsize) + joint_spec = cdap.get_cached_joint_spec(state, hhsize) estimator.write_table( joint_spec, "joint_spec_%s" % hhsize, append=False ) @@ -241,14 +256,6 @@ def cdap_simulate( cap_cat_type = pd.api.types.CategoricalDtype(["", "M", "N", "H"], ordered=False) choices = choices.astype(cap_cat_type) persons["cdap_activity"] = choices - - expressions.assign_columns( - state, - df=persons, - model_settings=model_settings.annotate_persons, - trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), - ) - state.add_table("persons", persons) # - annotate households table @@ -256,12 +263,6 @@ def cdap_simulate( hh_joint = hh_joint.reindex(households.index) households["has_joint_tour"] = hh_joint - expressions.assign_columns( - state, - df=households, - model_settings=model_settings.annotate_households, - trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), - ) state.add_table("households", households) tracing.print_summary("cdap_activity", persons.cdap_activity, value_counts=True) @@ -269,3 +270,11 @@ def cdap_simulate( "cdap crosstabs:\n%s" % pd.crosstab(persons.ptype, persons.cdap_activity, margins=True) ) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/disaggregate_accessibility.py b/activitysim/abm/models/disaggregate_accessibility.py index 588db53913..5fe3375b31 100644 --- a/activitysim/abm/models/disaggregate_accessibility.py +++ b/activitysim/abm/models/disaggregate_accessibility.py @@ -601,9 +601,11 @@ def expand_template_zones(self, tables): for col, fill in col_filler.items(): df_ids[col] = df_ids[col].str.zfill(fill) - ex_table["proto_person_id"] = df_ids[cols].apply("".join, axis=1).astype(int) + ex_table["proto_person_id"] = ( + df_ids[cols].apply("".join, axis=1).astype(np.int64) + ) ex_table["proto_household_id"] = ( - df_ids[cols[:-1]].apply("".join, axis=1).astype(int) + df_ids[cols[:-1]].apply("".join, axis=1).astype(np.int64) ) # Separate out into households, persons, tours @@ -626,9 +628,11 @@ def create_proto_pop(self): # Create ID columns, defaults to "%tablename%_id" hhid, perid, tourid = ( - self.params[x]["index_col"] - if len(self.params[x]["index_col"]) > 0 - else x + "_id" + ( + self.params[x]["index_col"] + if len(self.params[x]["index_col"]) > 0 + else x + "_id" + ) for x in klist ) @@ -768,11 +772,12 @@ def get_disaggregate_logsums( state.filesystem, model_name + ".yaml" ) model_settings.SAMPLE_SIZE = disagg_model_settings.DESTINATION_SAMPLE_SIZE - estimator = estimation.manager.begin_estimation(state, trace_label) - if estimator: - location_choice.write_estimation_specs( - state, estimator, model_settings, model_name + ".yaml" - ) + # estimator = estimation.manager.begin_estimation(state, trace_label) + # if estimator: + # location_choice.write_estimation_specs( + # state, estimator, model_settings, model_name + ".yaml" + # ) + estimator = None # Append table references in settings with "proto_" # This avoids having to make duplicate copies of config files for disagg accessibilities diff --git a/activitysim/abm/models/free_parking.py b/activitysim/abm/models/free_parking.py index 9aa2800a67..ebcecd248a 100644 --- a/activitysim/abm/models/free_parking.py +++ b/activitysim/abm/models/free_parking.py @@ -26,9 +26,6 @@ class FreeParkingSettings(LogitComponentSettings, extra="forbid"): Settings for the `free_parking` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - FREE_PARKING_ALT: int """The code for free parking.""" @@ -78,21 +75,6 @@ def free_parking( constants = model_settings.CONSTANTS or {} - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) - model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) coefficients_df = state.filesystem.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients( @@ -101,6 +83,15 @@ def free_parking( nest_spec = config.get_logit_model_settings(model_settings) + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) estimator.write_spec(file_name=model_settings.SPEC) @@ -144,3 +135,11 @@ def free_parking( if state.settings.trace_hh_id: state.tracing.trace_df(persons, label=trace_label, warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/initialize_tours.py b/activitysim/abm/models/initialize_tours.py index da69e8d227..79b0263ced 100644 --- a/activitysim/abm/models/initialize_tours.py +++ b/activitysim/abm/models/initialize_tours.py @@ -10,6 +10,7 @@ from activitysim.core import expressions, tracing, workflow from activitysim.core.configuration import PydanticReadable from activitysim.core.configuration.base import PreprocessorSettings +from activitysim.core.exceptions import InputTableError from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -140,7 +141,7 @@ def initialize_tours( f"{tours_without_persons.sum()} tours out of {len(persons)} without persons\n" f"{pd.Series({'person_id': tours_without_persons.index.values})}" ) - raise RuntimeError(f"{tours_without_persons.sum()} tours with bad person_id") + raise InputTableError(f"{tours_without_persons.sum()} tours with bad person_id") if trace_hh_id: state.tracing.trace_df(tours, label="initialize_tours", warn_if_empty=True) diff --git a/activitysim/abm/models/input_checker.py b/activitysim/abm/models/input_checker.py index 568da851e1..68274ba694 100644 --- a/activitysim/abm/models/input_checker.py +++ b/activitysim/abm/models/input_checker.py @@ -13,6 +13,7 @@ from activitysim.core import workflow from activitysim.core.input import read_input_table +from activitysim.core.exceptions import ModelConfigurationError logger = logging.getLogger(__name__) file_logger = logger.getChild("logfile") @@ -468,6 +469,6 @@ def input_checker(state: workflow.State): if input_check_failure: logger.error("Run is killed due to input checker failure!!") - raise RuntimeError( + raise ModelConfigurationError( "Encountered error in input checker, see input_checker.log for details" ) diff --git a/activitysim/abm/models/joint_tour_composition.py b/activitysim/abm/models/joint_tour_composition.py index ee4ac3a69c..1c620e0709 100644 --- a/activitysim/abm/models/joint_tour_composition.py +++ b/activitysim/abm/models/joint_tour_composition.py @@ -18,6 +18,7 @@ from activitysim.core.configuration.base import PreprocessorSettings from activitysim.core.configuration.logit import LogitComponentSettings + logger = logging.getLogger(__name__) @@ -36,8 +37,7 @@ class JointTourCompositionSettings(LogitComponentSettings, extra="forbid"): Settings for the `joint_tour_composition` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" + pass @workflow.step @@ -78,26 +78,6 @@ def joint_tour_composition( "Running joint_tour_composition with %d joint tours" % joint_tours.shape[0] ) - # - run preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = { - "persons": persons, - "hh_time_window_overlap": lambda *x: hh_time_window_overlap(state, *x), - } - - expressions.assign_columns( - state, - df=households, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - - joint_tours_merged = pd.merge( - joint_tours, households, left_on="household_id", right_index=True, how="left" - ) - # - simple_simulate model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) coefficients_df = state.filesystem.read_model_coefficients(model_settings) @@ -108,6 +88,25 @@ def joint_tour_composition( nest_spec = config.get_logit_model_settings(model_settings) constants = config.get_model_constants(model_settings) + locals_dict = { + "persons": persons, + "hh_time_window_overlap": lambda *x: hh_time_window_overlap(state, *x), + } + locals_dict.update(constants) + + expressions.annotate_preprocessors( + state, + df=households, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + + joint_tours_merged = pd.merge( + joint_tours, households, left_on="household_id", right_index=True, how="left" + ) + if estimator: estimator.write_spec(model_settings) estimator.write_model_settings(model_settings, model_settings_file_name) @@ -156,3 +155,11 @@ def joint_tour_composition( label="joint_tour_composition.joint_tours", slicer="household_id", ) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/joint_tour_destination.py b/activitysim/abm/models/joint_tour_destination.py index cd6c2fed01..29b117821b 100644 --- a/activitysim/abm/models/joint_tour_destination.py +++ b/activitysim/abm/models/joint_tour_destination.py @@ -7,10 +7,11 @@ import pandas as pd from activitysim.abm.models.util import tour_destination -from activitysim.core import estimation, los, tracing, workflow +from activitysim.core import estimation, los, tracing, workflow, expressions from activitysim.core.configuration.logit import TourLocationComponentSettings from activitysim.core.util import assign_in_place + logger = logging.getLogger(__name__) @@ -113,3 +114,11 @@ def joint_tour_destination( if trace_hh_id: state.tracing.trace_df(joint_tours, label="joint_tour_destination.joint_tours") + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/joint_tour_frequency.py b/activitysim/abm/models/joint_tour_frequency.py index 1700c143b0..d2dc67bc81 100644 --- a/activitysim/abm/models/joint_tour_frequency.py +++ b/activitysim/abm/models/joint_tour_frequency.py @@ -25,11 +25,11 @@ class JointTourFrequencySettings(LogitComponentSettings, extra="forbid"): """ - Settings for the `free_parking` component. + Settings for the `joint_tour_frequency` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" + # no additional settings are required for this model + pass @workflow.step @@ -72,22 +72,6 @@ def joint_tour_frequency( % multi_person_households.shape[0] ) - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = { - "persons": persons, - "hh_time_window_overlap": lambda *x: hh_time_window_overlap(state, *x), - } - - expressions.assign_columns( - state, - df=multi_person_households, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) coefficients_df = state.filesystem.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients( @@ -97,6 +81,22 @@ def joint_tour_frequency( nest_spec = config.get_logit_model_settings(model_settings) constants = config.get_model_constants(model_settings) + # - preprocess choosers table + locals_dict = { + "persons": persons, + "hh_time_window_overlap": lambda *x: hh_time_window_overlap(state, *x), + } + locals_dict.update(constants) + + expressions.annotate_preprocessors( + state, + df=multi_person_households, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + if estimator: estimator.write_spec(model_settings) estimator.write_model_settings(model_settings, model_settings_file_name) @@ -137,7 +137,15 @@ def joint_tour_frequency( # - but we don't know the tour participants yet # - so we arbitrarily choose the first person in the household # - to be point person for the purpose of generating an index and setting origin - temp_point_persons = persons.loc[persons.PNUM == 1] + if "PNUM" in persons.columns: + temp_point_persons = persons.loc[persons.PNUM == 1] + else: + # if PNUM is not available, we can still get the first person in the household + temp_point_persons = ( + persons.sort_index() # ensure stable ordering + .groupby("household_id", as_index=False) + .first() + ) temp_point_persons["person_id"] = temp_point_persons.index temp_point_persons = temp_point_persons.set_index("household_id") temp_point_persons = temp_point_persons[["person_id", "home_zone_id"]] @@ -192,8 +200,11 @@ def joint_tour_frequency( print(f"len(joint_tours) {len(joint_tours)}") different = False + # need to check households as well because the full survey sample may not be used + # (e.g. if we set household_sample_size in settings.yaml) survey_tours_not_in_tours = survey_tours[ ~survey_tours.index.isin(joint_tours.index) + & survey_tours.household_id.isin(households.index) ] if len(survey_tours_not_in_tours) > 0: print(f"survey_tours_not_in_tours\n{survey_tours_not_in_tours}") @@ -201,7 +212,15 @@ def joint_tour_frequency( tours_not_in_survey_tours = joint_tours[ ~joint_tours.index.isin(survey_tours.index) ] - if len(survey_tours_not_in_tours) > 0: + if len(tours_not_in_survey_tours) > 0: print(f"tours_not_in_survey_tours\n{tours_not_in_survey_tours}") different = True assert not different + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/joint_tour_frequency_composition.py b/activitysim/abm/models/joint_tour_frequency_composition.py index 553b280fe7..1fffd892ac 100644 --- a/activitysim/abm/models/joint_tour_frequency_composition.py +++ b/activitysim/abm/models/joint_tour_frequency_composition.py @@ -22,6 +22,7 @@ ) from activitysim.core.interaction_simulate import interaction_simulate + logger = logging.getLogger(__name__) @@ -58,37 +59,6 @@ def joint_tour_frequency_composition( logger.info("Running %s with %d households", trace_label, len(choosers)) - # alt preprocessor - alt_preprocessor_settings = model_settings.ALTS_PREPROCESSOR - if alt_preprocessor_settings: - locals_dict = {} - - alts = alts.copy() - - expressions.assign_columns( - state, - df=alts, - model_settings=alt_preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = { - "persons": persons, - "hh_time_window_overlap": lambda *x: hh_time_window_overlap(state, *x), - } - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - estimator = estimation.manager.begin_estimation( state, "joint_tour_frequency_composition" ) @@ -101,6 +71,32 @@ def joint_tour_frequency_composition( constants = config.get_model_constants(model_settings) + # preprocess choosers table + locals_dict = { + "persons": persons, + "hh_time_window_overlap": lambda *x: hh_time_window_overlap(state, *x), + } + locals_dict.update(constants) + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocess alternatives table + expressions.annotate_preprocessors( + state, + df=alts, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="ALTS_PREPROCESSOR", + ) + if estimator: estimator.write_spec(model_settings) estimator.write_model_settings(model_settings, model_settings_file_name) @@ -150,8 +146,15 @@ def joint_tour_frequency_composition( # - but we don't know the tour participants yet # - so we arbitrarily choose the first person in the household # - to be point person for the purpose of generating an index and setting origin - # FIXME: not all models are guaranteed to have PNUM - temp_point_persons = persons.loc[persons.PNUM == 1] + if "PNUM" in persons.columns: + temp_point_persons = persons.loc[persons.PNUM == 1] + else: + # if PNUM is not available, we can still get the first person in the household + temp_point_persons = ( + persons.sort_index() # ensure stable ordering + .groupby("household_id", as_index=False) + .first() + ) temp_point_persons["person_id"] = temp_point_persons.index temp_point_persons = temp_point_persons.set_index("household_id") temp_point_persons = temp_point_persons[["person_id", "home_zone_id"]] @@ -221,3 +224,11 @@ def joint_tour_frequency_composition( label="joint_tour_frequency_composition.joint_tours", slicer="household_id", ) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/joint_tour_participation.py b/activitysim/abm/models/joint_tour_participation.py index 3844a3f217..68a8a3b9b4 100644 --- a/activitysim/abm/models/joint_tour_participation.py +++ b/activitysim/abm/models/joint_tour_participation.py @@ -21,6 +21,7 @@ from activitysim.core.configuration.base import ComputeSettings, PreprocessorSettings from activitysim.core.configuration.logit import LogitComponentSettings from activitysim.core.util import assign_in_place, reindex +from activitysim.core.exceptions import InvalidTravelError logger = logging.getLogger(__name__) @@ -60,6 +61,9 @@ def joint_tour_participation_candidates(joint_tours, persons_merged): # if this happens, participant_id may not be unique # channel random seeds will overlap at MAX_PARTICIPANT_PNUM (probably not a big deal) # and estimation infer will fail + if "PNUM" not in candidates.columns: + # create a PNUM column that just numbers the candidates for assignment of participant_id + candidates["PNUM"] = candidates.groupby("household_id").cumcount() + 1 assert ( candidates.PNUM.max() < MAX_PARTICIPANT_PNUM ), f"max persons.PNUM ({candidates.PNUM.max()}) > MAX_PARTICIPANT_PNUM ({MAX_PARTICIPANT_PNUM})" @@ -238,11 +242,11 @@ def participants_chooser( probs_or_utils[non_choice_col] = 1 - probs_or_utils[choice_col] if iter > MAX_ITERATIONS + 1: - raise RuntimeError( + raise InvalidTravelError( f"{num_tours_remaining} tours could not be satisfied even with forcing participation" ) else: - raise RuntimeError( + raise InvalidTravelError( f"{num_tours_remaining} tours could not be satisfied after {iter} iterations" ) @@ -302,22 +306,6 @@ def participants_chooser( return choices, rands -def annotate_jtp( - state: workflow.State, - model_settings: JointTourParticipationSettings, - trace_label: str, -): - # - annotate persons - persons = state.get_dataframe("persons") - expressions.assign_columns( - state, - df=persons, - model_settings=model_settings.annotate_persons, - trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), - ) - state.add_table("persons", persons) - - def add_null_results( state: workflow.State, model_settings: JointTourParticipationSettings, @@ -333,7 +321,13 @@ def add_null_results( state.add_table("joint_tour_participants", participants) # - run annotations - annotate_jtp(state, model_settings, trace_label) + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) class JointTourParticipationSettings(LogitComponentSettings, extra="forbid"): @@ -341,12 +335,6 @@ class JointTourParticipationSettings(LogitComponentSettings, extra="forbid"): Settings for the `joint_tour_participation` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - - annotate_persons: PreprocessorSettings | None = None - """Instructions for annotating the persons table.""" - participation_choice: str = "participate" max_participation_choice_iterations: int = 5000 @@ -390,25 +378,6 @@ def joint_tour_participation( "Running joint_tours_participation with %d potential participants (candidates)" % candidates.shape[0] ) - - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = { - "person_time_window_overlap": lambda x: person_time_window_overlap( - state, x - ), - "persons": persons_merged, - } - - expressions.assign_columns( - state, - df=candidates, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - # - simple_simulate estimator = estimation.manager.begin_estimation(state, "joint_tour_participation") @@ -422,6 +391,21 @@ def joint_tour_participation( nest_spec = config.get_logit_model_settings(model_settings) constants = config.get_model_constants(model_settings) + # preprocess choosers table + locals_dict = { + "persons": persons_merged, + "person_time_window_overlap": lambda x: person_time_window_overlap(state, x), + } + locals_dict.update(constants) + expressions.annotate_preprocessors( + state, + df=candidates, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) estimator.write_spec(model_settings) @@ -506,14 +490,24 @@ def joint_tour_participation( PARTICIPANT_COLS = ["tour_id", "household_id", "person_id"] participants = candidates[participate][PARTICIPANT_COLS].copy() - # assign participant_num - # FIXME do we want something smarter than the participant with the lowest person_id? - participants["participant_num"] = ( - participants.sort_values(by=["tour_id", "person_id"]) - .groupby("tour_id") - .cumcount() - + 1 - ) + if estimator: + # In estimation mode, use participant_num from survey data to preserve consistency + # with the original survey data. ActivitySim treats participant_num=1 as the tour + # leader, so the joint tour in the tour table will be associated with the tour + # leader's person_id. We merge participant_num from survey data using the + # participant_id as the join key to ensure the correct tour leader is identified. + participants["participant_num"] = survey_participants_df.reindex( + participants.index + )["participant_num"] + else: + # assign participant_num + # FIXME do we want something smarter than the participant with the lowest person_id? + participants["participant_num"] = ( + participants.sort_values(by=["tour_id", "person_id"]) + .groupby("tour_id") + .cumcount() + + 1 + ) state.add_table("joint_tour_participants", participants) @@ -536,9 +530,6 @@ def joint_tour_participation( state.add_table("tours", tours) - # - run annotations - annotate_jtp(state, model_settings, trace_label) - if trace_hh_id: state.tracing.trace_df( participants, label="joint_tour_participation.participants" @@ -547,3 +538,11 @@ def joint_tour_participation( state.tracing.trace_df( joint_tours, label="joint_tour_participation.joint_tours" ) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/joint_tour_scheduling.py b/activitysim/abm/models/joint_tour_scheduling.py index 9bdcbe146f..791dd7aaf4 100644 --- a/activitysim/abm/models/joint_tour_scheduling.py +++ b/activitysim/abm/models/joint_tour_scheduling.py @@ -22,20 +22,8 @@ from activitysim.core.configuration.logit import LogitComponentSettings from activitysim.core.util import assign_in_place, reindex -logger = logging.getLogger(__name__) - -# class JointTourSchedulingSettings(LogitComponentSettings, extra="forbid"): -# """ -# Settings for the `joint_tour_scheduling` component. -# """ -# -# preprocessor: PreprocessorSettings | None = None -# """Setting for the preprocessor.""" -# -# sharrow_skip: bool = False -# """Setting to skip sharrow""" -# +logger = logging.getLogger(__name__) @workflow.step @@ -85,21 +73,18 @@ def joint_tour_scheduling( constants = config.get_model_constants(model_settings) # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=joint_tours, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) - timetable = state.get_injectable("timetable") + locals_d = {"timetable": timetable} + locals_d.update(constants) + + expressions.annotate_preprocessors( + state, + df=joint_tours, + locals_dict=locals_d, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) estimator = estimation.manager.begin_estimation(state, "joint_tour_scheduling") @@ -172,3 +157,11 @@ def joint_tour_scheduling( state.tracing.trace_df( joint_tours, label="joint_tour_scheduling", slicer="household_id" ) + + expressions.annotate_tables( + state, + locals_dict=locals_d, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/location_choice.py b/activitysim/abm/models/location_choice.py index 83e794b2be..7f032a8ae6 100644 --- a/activitysim/abm/models/location_choice.py +++ b/activitysim/abm/models/location_choice.py @@ -18,7 +18,7 @@ from activitysim.core.interaction_sample import interaction_sample from activitysim.core.interaction_sample_simulate import interaction_sample_simulate from activitysim.core.util import reindex - +from activitysim.core.exceptions import DuplicateWorkflowTableError """ The school/workplace location model predicts the zones in which various people will @@ -140,7 +140,7 @@ def _location_sample( sample_size = model_settings.SAMPLE_SIZE - if estimator: + if estimator and model_settings.ESTIMATION_SAMPLE_SIZE >= 0: sample_size = model_settings.ESTIMATION_SAMPLE_SIZE logger.info( f"Estimation mode for {trace_label} using sample size of {sample_size}" @@ -163,6 +163,27 @@ def _location_sample( } locals_d.update(model_settings.CONSTANTS or {}) + # preprocess choosers table + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_d, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocess alternatives table + expressions.annotate_preprocessors( + state, + df=alternatives, + locals_dict=locals_d, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_sample", + ) + spec = simulate.spec_for_segment( state, None, @@ -402,7 +423,7 @@ def location_presample( # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total maz_choices = tour_destination.choose_MAZ_for_TAZ( - state, taz_sample, MAZ_size_terms, trace_label + state, taz_sample, MAZ_size_terms, trace_label, model_settings ) assert DEST_MAZ in maz_choices @@ -491,38 +512,6 @@ def run_location_sample( trace_label=trace_label, ) - # adding observed choice to alt set when running in estimation mode - if estimator: - # grabbing survey values - survey_persons = estimation.manager.get_survey_table("persons") - if "school_location" in trace_label: - survey_choices = survey_persons["school_zone_id"].reset_index() - elif ("workplace_location" in trace_label) and ("external" not in trace_label): - survey_choices = survey_persons["workplace_zone_id"].reset_index() - else: - return choices - survey_choices.columns = ["person_id", "alt_dest"] - survey_choices = survey_choices[ - survey_choices["person_id"].isin(choices.index) - & (survey_choices.alt_dest > 0) - ] - # merging survey destination into table if not available - joined_data = survey_choices.merge( - choices, on=["person_id", "alt_dest"], how="left", indicator=True - ) - missing_rows = joined_data[joined_data["_merge"] == "left_only"] - missing_rows["pick_count"] = 1 - if len(missing_rows) > 0: - new_choices = missing_rows[ - ["person_id", "alt_dest", "prob", "pick_count"] - ].set_index("person_id") - choices = choices.append(new_choices, ignore_index=False).sort_index() - # making probability the mean of all other sampled destinations by person - # FIXME is there a better way to do this? Does this even matter for estimation? - choices["prob"] = choices["prob"].fillna( - choices.groupby("person_id")["prob"].transform("mean") - ) - return choices @@ -664,6 +653,27 @@ def run_location_simulate( } locals_d.update(model_settings.CONSTANTS or {}) + # preprocess choosers table + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_d, + skims=None, # skims included in locals_d + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocess alternatives table + expressions.annotate_preprocessors( + state, + df=alternatives, + locals_dict=locals_d, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_simulate", + ) + if estimator: # write choosers after annotation estimator.write_choosers(choosers) @@ -796,19 +806,23 @@ def run_location_choice( ) # - location_logsums - location_sample_df = run_location_logsums( - state, - segment_name, - choosers, - network_los, - location_sample_df, - model_settings, - chunk_size, - chunk_tag=f"{chunk_tag}.logsums", - trace_label=tracing.extend_trace_label( - trace_label, "logsums.%s" % segment_name - ), - ) + # skip logsum calculations if LOGSUM_SETTINGS is None + if model_settings.LOGSUM_SETTINGS: + location_sample_df = run_location_logsums( + state, + segment_name, + choosers, + network_los, + location_sample_df, + model_settings, + chunk_size, + chunk_tag=f"{chunk_tag}.logsums", + trace_label=tracing.extend_trace_label( + trace_label, "logsums.%s" % segment_name + ), + ) + else: + location_sample_df[ALT_LOGSUM] = 0.0 # - location_simulate choices_df = run_location_simulate( @@ -1112,38 +1126,23 @@ def iterate_location_choice( assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) # lest they try to put school and workplace samples into the same table if state.is_table(sample_table_name): - raise RuntimeError( + raise DuplicateWorkflowTableError( "dest choice sample table %s already exists" % sample_table_name ) state.extend_table(sample_table_name, save_sample_df) - # - annotate persons table - if model_settings.annotate_persons: - expressions.assign_columns( - state, - df=persons_df, - model_settings=model_settings.annotate_persons, - trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), - ) - - state.add_table("persons", persons_df) + state.add_table("persons", persons_df) - if state.settings.trace_hh_id: - state.tracing.trace_df(persons_df, label=trace_label, warn_if_empty=True) + if state.settings.trace_hh_id: + state.tracing.trace_df(persons_df, label=trace_label, warn_if_empty=True) - # - annotate households table - if model_settings.annotate_households: - households_df = households - expressions.assign_columns( - state, - df=households_df, - model_settings=model_settings.annotate_households, - trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), - ) - state.add_table("households", households_df) - - if state.settings.trace_hh_id: - state.tracing.trace_df(households_df, label=trace_label, warn_if_empty=True) + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) if dc_logsum_column_name: tracing.print_summary( diff --git a/activitysim/abm/models/mandatory_scheduling.py b/activitysim/abm/models/mandatory_scheduling.py index 64fc26215f..a8cb46ecca 100644 --- a/activitysim/abm/models/mandatory_scheduling.py +++ b/activitysim/abm/models/mandatory_scheduling.py @@ -8,8 +8,9 @@ from activitysim.abm.models.util.tour_scheduling import run_tour_scheduling from activitysim.core import timetable as tt -from activitysim.core import tracing, workflow +from activitysim.core import tracing, workflow, expressions from activitysim.core.util import assign_in_place, reindex +from activitysim.abm.models.util.vectorize_tour_scheduling import TourSchedulingSettings logger = logging.getLogger(__name__) @@ -30,6 +31,12 @@ def mandatory_tour_scheduling( model_name = "mandatory_tour_scheduling" trace_label = model_name + model_settings = TourSchedulingSettings.read_settings_file( + state.filesystem, + f"{model_name}.yaml", + mandatory=False, + ) + mandatory_tours = tours[tours.tour_category == "mandatory"] # - if no mandatory_tours @@ -55,11 +62,12 @@ def mandatory_tour_scheduling( choices = run_tour_scheduling( state, - model_name, + model_settings, mandatory_tours, persons_merged, tdd_alts, tour_segment_col, + trace_label, ) assign_in_place( @@ -86,3 +94,11 @@ def mandatory_tour_scheduling( columns=None, warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/mandatory_tour_frequency.py b/activitysim/abm/models/mandatory_tour_frequency.py index 8ab69710f1..2e2657d31f 100644 --- a/activitysim/abm/models/mandatory_tour_frequency.py +++ b/activitysim/abm/models/mandatory_tour_frequency.py @@ -30,7 +30,7 @@ def add_null_results(state, trace_label, mandatory_tour_frequency_settings): logger.info("Skipping %s: add_null_results", trace_label) persons = state.get_dataframe("persons") - persons["mandatory_tour_frequency"] = pd.categorical( + persons["mandatory_tour_frequency"] = pd.Categorical( "", categories=["", "work1", "work2", "school1", "school2", "work_and_school"], ordered=False, @@ -58,10 +58,8 @@ class MandatoryTourFrequencySettings(LogitComponentSettings, extra="forbid"): Settings for the `mandatory_tour_frequency` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - - annotate_persons: PreprocessorSettings | None = None + # no additional fields are required for this component + pass @workflow.step @@ -95,19 +93,6 @@ def mandatory_tour_frequency( add_null_results(state, trace_label, model_settings) return - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = {} - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - estimator = estimation.manager.begin_estimation(state, "mandatory_tour_frequency") model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) @@ -119,6 +104,16 @@ def mandatory_tour_frequency( nest_spec = config.get_logit_model_settings(model_settings) constants = config.get_model_constants(model_settings) + # - preprocessor + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + if estimator: estimator.write_spec(model_settings) estimator.write_model_settings(model_settings, model_settings_file_name) @@ -183,13 +178,6 @@ def mandatory_tour_frequency( # need to reindex as we only handled persons with cdap_activity == 'M' persons["mandatory_tour_frequency"] = choices.reindex(persons.index).fillna("") - expressions.assign_columns( - state, - df=persons, - model_settings=model_settings.annotate_persons, - trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), - ) - state.add_table("persons", persons) tracing.print_summary( @@ -206,3 +194,11 @@ def mandatory_tour_frequency( state.tracing.trace_df( persons, label="mandatory_tour_frequency.persons", warn_if_empty=True ) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/non_mandatory_destination.py b/activitysim/abm/models/non_mandatory_destination.py index 496c734cdd..b0c6ea3fb1 100644 --- a/activitysim/abm/models/non_mandatory_destination.py +++ b/activitysim/abm/models/non_mandatory_destination.py @@ -6,8 +6,8 @@ import pandas as pd -from activitysim.abm.models.util import annotate, tour_destination -from activitysim.core import estimation, los, tracing, workflow +from activitysim.abm.models.util import tour_destination +from activitysim.core import estimation, los, tracing, workflow, expressions from activitysim.core.configuration.logit import TourLocationComponentSettings from activitysim.core.util import assign_in_place @@ -129,9 +129,6 @@ def non_mandatory_tour_destination( state.add_table("tours", tours) - if model_settings.annotate_tours: - annotate.annotate_tours(state, model_settings, trace_label) - if want_sample_table: assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) # save_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) @@ -146,3 +143,11 @@ def non_mandatory_tour_destination( columns=None, warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/non_mandatory_scheduling.py b/activitysim/abm/models/non_mandatory_scheduling.py index 4e444107bc..bbb09f7f57 100644 --- a/activitysim/abm/models/non_mandatory_scheduling.py +++ b/activitysim/abm/models/non_mandatory_scheduling.py @@ -8,8 +8,9 @@ from activitysim.abm.models.util.tour_scheduling import run_tour_scheduling from activitysim.core import timetable as tt -from activitysim.core import tracing, workflow +from activitysim.core import tracing, workflow, expressions from activitysim.core.util import assign_in_place +from activitysim.abm.models.util.vectorize_tour_scheduling import TourSchedulingSettings logger = logging.getLogger(__name__) DUMP = False @@ -29,6 +30,13 @@ def non_mandatory_tour_scheduling( model_name = "non_mandatory_tour_scheduling" trace_label = model_name trace_hh_id = state.settings.trace_hh_id + + model_settings = TourSchedulingSettings.read_settings_file( + state.filesystem, + f"{model_name}.yaml", + mandatory=False, + ) + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] # - if no mandatory_tours @@ -40,11 +48,12 @@ def non_mandatory_tour_scheduling( choices = run_tour_scheduling( state, - model_name, + model_settings, non_mandatory_tours, persons_merged, tdd_alts, tour_segment_col, + trace_label, ) assign_in_place( @@ -71,3 +80,11 @@ def non_mandatory_tour_scheduling( columns=None, warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/non_mandatory_tour_frequency.py b/activitysim/abm/models/non_mandatory_tour_frequency.py index 69b0524d42..8afe368d86 100644 --- a/activitysim/abm/models/non_mandatory_tour_frequency.py +++ b/activitysim/abm/models/non_mandatory_tour_frequency.py @@ -10,7 +10,6 @@ import numpy as np import pandas as pd -from activitysim.abm.models.util import annotate from activitysim.abm.models.util.overlap import ( person_available_periods, person_max_window, @@ -28,7 +27,7 @@ tracing, workflow, ) -from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable +from activitysim.core.configuration.base import PydanticReadable, PreprocessorSettings from activitysim.core.configuration.logit import LogitComponentSettings from activitysim.core.interaction_simulate import interaction_simulate @@ -166,27 +165,21 @@ class NonMandatoryTourFrequencySettings(LogitComponentSettings, extra="forbid"): Settings for the `non_mandatory_tour_frequency` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - SEGMENT_COL: str = "ptype" # not used anymore TODO remove if needed SPEC_SEGMENTS: list[NonMandatoryTourSpecSegment] = [] # check the above - annotate_persons: PreprocessorSettings | None = None - """Preprocessor settings to annotate persons""" - - annotate_tours: PreprocessorSettings | None = None - """Preprocessor settings to annotate tours""" - explicit_chunk: float = 0 """ If > 0, use this chunk size instead of adaptive chunking. If less than 1, use this fraction of the total number of rows. """ + alts_preprocessor: PreprocessorSettings | None = None + """Settings for the alternatives preprocessor.""" + @workflow.step def non_mandatory_tour_frequency( @@ -233,27 +226,36 @@ def non_mandatory_tour_frequency( choosers = persons_merged choosers = choosers[choosers.cdap_activity.isin(["M", "N"])] - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = { - "person_max_window": lambda x: person_max_window(state, x), - "person_available_periods": lambda persons, start_bin, end_bin, continuous: person_available_periods( - state, persons, start_bin, end_bin, continuous - ), - } - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) - logger.info("Running non_mandatory_tour_frequency with %d persons", len(choosers)) - + # preprocessing choosers constants = config.get_model_constants(model_settings) + locals_dict = { + "person_max_window": lambda x: person_max_window(state, x), + "person_available_periods": lambda persons, start_bin, end_bin, continuous: person_available_periods( + state, persons, start_bin, end_bin, continuous + ), + } + locals_dict.update(constants) + + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=alternatives, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor", + ) model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) spec_segments = model_settings.SPEC_SEGMENTS @@ -287,14 +289,22 @@ def non_mandatory_tour_frequency( ) if estimator: - estimator.write_spec(model_settings, bundle_directory=True) + bundle_directory = True + # writing to separte subdirectory for each segment if multiprocessing + if state.settings.multiprocess: + bundle_directory = False + estimator.write_spec(model_settings, bundle_directory=bundle_directory) estimator.write_model_settings( - model_settings, model_settings_file_name, bundle_directory=True + model_settings, + model_settings_file_name, + bundle_directory=bundle_directory, ) # preserving coefficients file name makes bringing back updated coefficients more straightforward estimator.write_coefficients(coefficients_df, segment_settings) estimator.write_choosers(chooser_segment) - estimator.write_alternatives(alternatives, bundle_directory=True) + estimator.write_alternatives( + alternatives, bundle_directory=bundle_directory + ) # FIXME #interaction_simulate_estimation_requires_chooser_id_in_df_column # shuold we do it here or have interaction_simulate do it? @@ -433,8 +443,10 @@ def non_mandatory_tour_frequency( if estimator: # make sure they created the right tours survey_tours = estimation.manager.get_survey_table("tours").sort_index() + # need the household_id check below incase household_sample_size != 0 non_mandatory_survey_tours = survey_tours[ - survey_tours.tour_category == "non_mandatory" + (survey_tours.tour_category == "non_mandatory") + & survey_tours.household_id.isin(persons.household_id) ] # need to remove the pure-escort tours from the survey tours table for comparison below if state.is_table("school_escort_tours"): @@ -479,16 +491,6 @@ def non_mandatory_tour_frequency( # need to re-compute tour frequency statistics to account for school escort tours recompute_tour_count_statistics(state) - if model_settings.annotate_tours: - annotate.annotate_tours(state, model_settings, trace_label) - - expressions.assign_columns( - state, - df=persons, - model_settings=model_settings.annotate_persons, - trace_label=trace_label, - ) - state.add_table("persons", persons) tracing.print_summary( @@ -513,3 +515,11 @@ def non_mandatory_tour_frequency( label="non_mandatory_tour_frequency.annotated_persons", warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 674b950aaa..32f3aabee2 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -3,6 +3,7 @@ from __future__ import annotations import logging +import warnings from pathlib import Path import numpy as np @@ -22,6 +23,7 @@ from activitysim.core.interaction_sample_simulate import interaction_sample_simulate from activitysim.core.tracing import print_elapsed_time from activitysim.core.util import assign_in_place, drop_unused_columns +from activitysim.core.exceptions import DuplicateWorkflowTableError logger = logging.getLogger(__name__) @@ -202,8 +204,10 @@ def choose_parking_location( additional_columns=model_settings.compute_settings.protect_columns, ) + # Passing only the index of the trips table to the interaction_dataset + # See ActivitySim issue #633 destination_sample = logit.interaction_dataset( - state, trips, alternatives, alt_index_id=alt_dest_col_name + state, trips[[]], alternatives, alt_index_id=alt_dest_col_name ) destination_sample.index = np.repeat(trips.index.values, len(alternatives)) destination_sample.index.name = trips.index.name @@ -325,7 +329,14 @@ class ParkingLocationSettings(LogitComponentSettings, extra="forbid"): """The school escort model does not use this setting, see `SPECIFICATION`.""" PREPROCESSOR: PreprocessorSettings | None = None - """Setting for the preprocessor.""" + """Setting for the preprocessor. + Runs before the choosers are filtered by the CHOOSER_FILTER_COLUMN_NAME. + Deprecated name -- use `preprocessor` instead. + """ + + alts_preprocessor: PreprocessorSettings | None = None + """Setting for the alternatives (aka landuse zones) preprocessor. + Runs before the alternatives are filtered by the ALTERNATIVE_FILTER_COLUMN_NAME.""" ALT_DEST_COL_NAME: str = "parking_zone" """Parking destination column name.""" @@ -362,6 +373,19 @@ class ParkingLocationSettings(LogitComponentSettings, extra="forbid"): If less than 1, use this fraction of the total number of rows. """ + def __init__(self, **data): + # Handle deprecated ALTS_PREPROCESSOR + if "PREPROCESSOR" in data: + warnings.warn( + "The 'PREPROCESSOR' setting is deprecated. Please use 'preprocessor' (lowercase) instead.", + DeprecationWarning, + stacklevel=2, + ) + # If both are provided, prefer the lowercase version + if "preprocessor" not in data: + data["preprocessor"] = data["PREPROCESSOR"] + super().__init__(**data) + @workflow.step def parking_location( @@ -388,8 +412,6 @@ def parking_location( trace_hh_id = state.settings.trace_hh_id alt_destination_col_name = model_settings.ALT_DEST_COL_NAME - preprocessor_settings = model_settings.PREPROCESSOR - trips_df = trips trips_merged_df = trips_merged land_use_df = land_use @@ -416,14 +438,28 @@ def parking_location( if constants is not None: locals_dict.update(constants) - if preprocessor_settings: - expressions.assign_columns( - state, - df=trips_merged_df, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) + # putting preprocessor and alts preprocessor here so that they are run before + # the filter columns are applied so the user can use the preprocessor to add filter + # preprocessing choosers + expressions.annotate_preprocessors( + state, + df=trips_merged_df, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=land_use_df, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor", + ) parking_locations, save_sample_df = run_parking_destination( state, @@ -465,5 +501,15 @@ def parking_location( # lest they try to put tour samples into the same table if state.is_table(sample_table_name): - raise RuntimeError("sample table %s already exists" % sample_table_name) + raise DuplicateWorkflowTableError( + "sample table %s already exists" % sample_table_name + ) state.extend_table(sample_table_name, save_sample_df) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/school_escorting.py b/activitysim/abm/models/school_escorting.py index a0cf6a3312..32e5058e77 100644 --- a/activitysim/abm/models/school_escorting.py +++ b/activitysim/abm/models/school_escorting.py @@ -319,9 +319,6 @@ class SchoolEscortSettings(BaseLogitComponentSettings, extra="forbid"): Settings for the `telecommute_frequency` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - ALTS: Any NUM_ESCORTEES: int = 3 @@ -353,6 +350,8 @@ class SchoolEscortSettings(BaseLogitComponentSettings, extra="forbid"): preprocessor_outbound: PreprocessorSettings | None = None preprocessor_inbound: PreprocessorSettings | None = None preprocessor_outbound_cond: PreprocessorSettings | None = None + alts_preprocessor: PreprocessorSettings | None = None + """Preprocessor settings for the school escorting model alternatives.""" no_escorting_alterative: int = 1 """The alternative number for no escorting. Used to set the choice for households with no escortees.""" @@ -428,6 +427,16 @@ def school_escorting( constants = config.get_model_constants(model_settings) locals_dict = {} locals_dict.update(constants) + # alternatives preprocessor + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor", + ) school_escorting_stages = ["outbound", "inbound", "outbound_cond"] escort_bundles = [] @@ -476,15 +485,16 @@ def school_escorting( logger.info("Running %s with %d households", stage_trace_label, len(choosers)) - preprocessor_settings = getattr(model_settings, "preprocessor_" + stage, None) - if preprocessor_settings: - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=stage_trace_label, - ) + preprocessor_setting_name = "preprocessor_" + stage + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name=preprocessor_setting_name, + ) if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) @@ -493,7 +503,10 @@ def school_escorting( coefficients_df, file_name=stage.upper() + "_COEFFICIENTS" ) estimator.write_choosers(choosers) - estimator.write_alternatives(alts, bundle_directory=True) + if state.settings.multiprocess: + estimator.write_alternatives(alts, bundle_directory=False) + else: + estimator.write_alternatives(alts, bundle_directory=True) # FIXME #interaction_simulate_estimation_requires_chooser_id_in_df_column # shuold we do it here or have interaction_simulate do it? @@ -655,3 +668,11 @@ def school_escorting( ) timetable.replace_table(state) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/settings_checker.py b/activitysim/abm/models/settings_checker.py new file mode 100644 index 0000000000..243b2fb742 --- /dev/null +++ b/activitysim/abm/models/settings_checker.py @@ -0,0 +1,769 @@ +import logging +import os +from pandas import DataFrame +from pydantic import BaseModel as PydanticBase +from typing import Type, Optional + +from activitysim.core.configuration.base import PydanticReadable + +# import core settings +from activitysim.core.configuration.logit import ( + LogitNestSpec, + TourLocationComponentSettings, + TourModeComponentSettings, + TemplatedLogitComponentSettings, +) +from activitysim.core import config +from activitysim.core.configuration.network import NetworkSettings +from activitysim.core.workflow import State +from activitysim.core.simulate import ( + eval_coefficients, + eval_nest_coefficients, + read_model_coefficient_template, +) +from activitysim.core.exceptions import ModelConfigurationError + +# import model settings +from activitysim.abm.models.accessibility import AccessibilitySettings +from activitysim.abm.models.atwork_subtour_frequency import ( + AtworkSubtourFrequencySettings, +) +from activitysim.abm.models.auto_ownership import AutoOwnershipSettings +from activitysim.abm.models.cdap import CdapSettings +from activitysim.abm.models.disaggregate_accessibility import ( + DisaggregateAccessibilitySettings, + read_disaggregate_accessibility_yaml, +) +from activitysim.abm.models.free_parking import FreeParkingSettings +from activitysim.abm.models.initialize import InitializeTableSettings +from activitysim.abm.models.joint_tour_composition import JointTourCompositionSettings +from activitysim.abm.models.joint_tour_frequency_composition import ( + JointTourFreqCompSettings, +) +from activitysim.abm.models.joint_tour_frequency import JointTourFrequencySettings +from activitysim.abm.models.joint_tour_participation import ( + JointTourParticipationSettings, +) +from activitysim.abm.models.mandatory_tour_frequency import ( + MandatoryTourFrequencySettings, +) +from activitysim.abm.models.non_mandatory_tour_frequency import ( + NonMandatoryTourFrequencySettings, +) +from activitysim.abm.models.parking_location_choice import ParkingLocationSettings +from activitysim.abm.models.school_escorting import SchoolEscortSettings +from activitysim.abm.models.stop_frequency import StopFrequencySettings +from activitysim.abm.models.summarize import SummarizeSettings +from activitysim.abm.models.telecommute_frequency import TelecommuteFrequencySettings +from activitysim.abm.models.tour_scheduling_probabilistic import ( + TourSchedulingProbabilisticSettings, +) +from activitysim.abm.models.transit_pass_ownership import TransitPassOwnershipSettings +from activitysim.abm.models.transit_pass_subsidy import TransitPassSubsidySettings +from activitysim.abm.models.trip_departure_choice import TripDepartureChoiceSettings +from activitysim.abm.models.trip_destination import TripDestinationSettings +from activitysim.abm.models.trip_matrices import WriteTripMatricesSettings +from activitysim.abm.models.trip_mode_choice import TripModeChoiceSettings +from activitysim.abm.models.trip_purpose_and_destination import ( + TripPurposeAndDestinationSettings, +) +from activitysim.abm.models.trip_purpose import TripPurposeSettings +from activitysim.abm.models.vehicle_allocation import VehicleAllocationSettings +from activitysim.abm.models.vehicle_type_choice import VehicleTypeChoiceSettings +from activitysim.abm.models.work_from_home import WorkFromHomeSettings + +# import util settings +from activitysim.abm.models.util.vectorize_tour_scheduling import ( + TourSchedulingSettings, +) +from activitysim.abm.models.util.tour_od import TourODSettings + +# import table settings +from activitysim.abm.tables.shadow_pricing import ShadowPriceSettings + + +class SettingsCheckerError(Exception): + """Custom exception for settings checker errors.""" + + def __init__( + self, + model_name: str, + exception: Exception, + error_files: None = None, + additional_info: str = None, + ): + self.model_name = model_name + self.exception = exception + self.error_files = error_files + self.additional_info = additional_info + self.message = self._construct_message() + + super().__init__(self.message) + + def _construct_message(self) -> str: + message = f"Error checking settings for {self.model_name}" + if self.error_files is not None: + # cast all files from path to strings if required and wrap into list + if not isinstance(self.error_files, list): + message_files = [self.error_files] + else: + message_files = self.error_files + message += f" using files {', '.join([str(f) for f in message_files])}" + message += f": {str(self.exception)}" + if self.additional_info is not None: + message += f". {self.additional_info}" + return message + + +# setup logging +logger = logging.getLogger(__name__) +file_logger = logger.getChild("logfile") + +CHECKER_SETTINGS = { + "compute_accessibility": { + "settings_cls": AccessibilitySettings, + "settings_file": "accessibility.yaml", + }, + "atwork_subtour_destination": { + "settings_cls": TourLocationComponentSettings, + "settings_file": "atwork_subtour_destination.yaml", + }, + "atwork_subtour_frequency": { + "settings_cls": AtworkSubtourFrequencySettings, + "settings_file": "atwork_subtour_frequency.yaml", + }, + "atwork_subtour_mode_choice": { + "settings_cls": TourModeComponentSettings, + "settings_file": "tour_mode_choice.yaml", + }, + "atwork_subtour_scheduling": { + "settings_cls": TourSchedulingSettings, + "settings_file": "tour_scheduling_atwork.yaml", + }, + "auto_ownership_simulate": { + "settings_cls": AutoOwnershipSettings, + "settings_file": "auto_ownership.yaml", + }, + "cdap_simulate": {"settings_cls": CdapSettings, "settings_file": "cdap.yaml"}, + "compute_disaggregate_accessibility": { + "settings_cls": DisaggregateAccessibilitySettings, + "settings_file": "disaggregate_accessibility.yaml", + }, + "free_parking": { + "settings_cls": FreeParkingSettings, + "settings_file": "free_parking.yaml", + }, + "initialize_households": { + "settings_cls": InitializeTableSettings, + "settings_file": "initialize_households.yaml", + }, + "initialize_landuse": { + "settings_cls": InitializeTableSettings, + "settings_file": "initialize_landuse.yaml", + }, + "initialize_los": { + "settings_cls": NetworkSettings, + "settings_file": "network_los.yaml", + }, + "input_checker": { + "settings_cls": PydanticReadable, # input checker uses state.filesystem.read_model_settings directly + "settings_file": "input_checker.yaml", + }, + "joint_tour_composition": { + "settings_cls": JointTourCompositionSettings, + "settings_file": "joint_tour_composition.yaml", + }, + "joint_tour_destination": { + "settings_cls": TourLocationComponentSettings, + "settings_file": "joint_tour_destination.yaml", + }, + "joint_tour_frequency_composition": { + "settings_cls": JointTourFreqCompSettings, + "settings_file": "joint_tour_frequency_composition.yaml", + }, + "joint_tour_frequency": { + "settings_cls": JointTourFrequencySettings, + "settings_file": "joint_tour_frequency.yaml", + }, + "joint_tour_participation": { + "settings_cls": JointTourParticipationSettings, + "settings_file": "joint_tour_participation.yaml", + }, + "joint_tour_scheduling": { + "settings_cls": TourSchedulingSettings, + "settings_file": "joint_tour_scheduling.yaml", + }, + "mandatory_tour_frequency": { + "settings_cls": MandatoryTourFrequencySettings, + "settings_file": "mandatory_tour_frequency.yaml", + }, + "mandatory_tour_scheduling": { + "settings_cls": TourSchedulingSettings, + "settings_file": "mandatory_tour_scheduling.yaml", + }, + "non_mandatory_tour_destination": { + "settings_cls": TourLocationComponentSettings, + "settings_file": "non_mandatory_tour_destination.yaml", + }, + "non_mandatory_tour_frequency": { + "settings_cls": NonMandatoryTourFrequencySettings, + "settings_file": "non_mandatory_tour_frequency.yaml", + }, + "non_mandatory_tour_scheduling": { + "settings_cls": TourSchedulingSettings, + "settings_file": "non_mandatory_tour_scheduling.yaml", + }, + "parking_location": { + "settings_cls": ParkingLocationSettings, + "settings_file": "parking_location_choice.yaml", + }, + "school_escorting": { + "settings_cls": SchoolEscortSettings, + "settings_file": "school_escorting.yaml", + "spec_coefficient_keys": [ + {"spec": "OUTBOUND_SPEC", "coefs": "OUTBOUND_COEFFICIENTS"}, + {"spec": "INBOUND_SPEC", "coefs": "INBOUND_COEFFICIENTS"}, + {"spec": "OUTBOUND_COND_SPEC", "coefs": "OUTBOUND_COND_COEFFICIENTS"}, + ], + }, + "school_location": { + "settings_cls": TourLocationComponentSettings, + "settings_file": "school_location.yaml", + }, + "shadow_pricing": { + "settings_cls": ShadowPriceSettings, + "settings_file": "shadow_pricing.yaml", + }, + "stop_frequency": { + "settings_cls": StopFrequencySettings, + "settings_file": "stop_frequency.yaml", + }, + "summarize": {"settings_cls": SummarizeSettings, "settings_file": "summarize.yaml"}, + "telecommute_frequency": { + "settings_cls": TelecommuteFrequencySettings, + "settings_file": "telecommute_frequency.yaml", + }, + "tour_mode_choice_simulate": { + "settings_cls": TourModeComponentSettings, + "settings_file": "tour_mode_choice.yaml", + }, + "tour_od_choice": { + "settings_cls": TourODSettings, + "settings_file": "tour_od_choice.yaml", + }, + "tour_scheduling_probabilistic": { + "settings_cls": TourSchedulingProbabilisticSettings, + "settings_file": "tour_scheduling_probabilistic.yaml", + }, + "transit_pass_ownership": { + "settings_cls": TransitPassOwnershipSettings, + "settings_file": "transit_pass_ownership.yaml", + }, + "transit_pass_subsidy": { + "settings_cls": TransitPassSubsidySettings, + "settings_file": "transit_pass_subsidy.yaml", + }, + "trip_departure_choice": { + "settings_cls": TripDepartureChoiceSettings, + "settings_file": "trip_departure_choice.yaml", + }, + "trip_destination": { + "settings_cls": TripDestinationSettings, + "settings_file": "trip_destination.yaml", + }, + "trip_mode_choice": { + "settings_cls": TripModeChoiceSettings, + "settings_file": "trip_mode_choice.yaml", + }, + "trip_purpose": { + "settings_cls": TripPurposeSettings, + "settings_file": "trip_purpose.yaml", + }, + "trip_purpose_and_destination": { + "settings_cls": TripPurposeAndDestinationSettings, + "settings_file": "trip_purpose_and_destination.yaml", + }, + "vehicle_allocation": { + "settings_cls": VehicleAllocationSettings, + "settings_file": "vehicle_allocation.yaml", + }, + "vehicle_type_choice": { + "settings_cls": VehicleAllocationSettings, + "settings_file": "vehicle_allocation.yaml", + }, + "vehicle_type_choice": { + "settings_cls": VehicleTypeChoiceSettings, + "settings_file": "vehicle_type_choice.yaml", + }, + "work_from_home": { + "settings_cls": WorkFromHomeSettings, + "settings_file": "work_from_home.yaml", + }, + "workplace_location": { + "settings_cls": TourLocationComponentSettings, + "settings_file": "workplace_location.yaml", + }, + "write_data_dictionary": { + "settings_cls": PydanticReadable, # write data dictionary uses state.filesystem.read_model_settings directly + "settings_file": "write_data_dictionary.yaml", + "warn_only": True, + }, + "write_trip_matrices": { + "settings_cls": WriteTripMatricesSettings, + "settings_file": "write_trip_matrices.yaml", + }, +} + + +def try_load_model_settings( + model_name: str, + model_settings_class: Type[PydanticBase], + model_settings_file: str, + state: State, +) -> tuple[PydanticBase | None, Exception | None]: + + msg = f"Attempting to load model settings for {model_name} via {model_settings_class.__name__} and {model_settings_file}" + logger.debug(msg) + file_logger.info(msg) + + try: + if isinstance(model_settings_class, DisaggregateAccessibilitySettings): + model_settings = read_disaggregate_accessibility_yaml( + state, model_settings_file + ) + elif model_name == "input_checker": + # HACK: input checker does not define a pydantic data model, but reads directly to dictionary. Wrapping in BaseModel + # provides the required model_dump interface downstream without adding additional branching logic. + class InputCheckerSettings(PydanticBase): + input_check_settings: dict + + input_check_settings = state.filesystem.read_model_settings( + model_settings_file, mandatory=True + ) + model_settings = InputCheckerSettings( + input_check_settings=input_check_settings + ) + else: + model_settings = model_settings_class.read_settings_file( + state.filesystem, model_settings_file + ) + result = model_settings, None + msg = f"Successfully loaded model settings from {model_settings_file}" + logger.debug(msg) + except Exception as e: + result = None, e + return result + + +def try_load_spec( + model_name: str, model_settings: PydanticBase, spec_file: str, state: State +) -> tuple[DataFrame | None, Exception | None]: + msg = f"Attempting to load SPEC for {model_name} via {model_settings.__class__.__name__}" + logger.debug(msg) + file_logger.info(msg) + try: + result = state.filesystem.read_model_spec(spec_file), None + msg = f"Successfully loaded model SPEC from {spec_file}" + logger.debug(msg) + file_logger.info(msg) + except Exception as e: + # always return a dataframe + result = None, e + return result + + +def try_load_coefs( + model_name: str, model_settings: PydanticBase, coefs_file: str, state: State +) -> tuple[DataFrame, Optional[Exception]]: + msg = f"Attempting to load COEFFICIENTS for {model_name} via {model_settings.__class__.__name__}" + logger.debug(msg) + file_logger.info(msg) + + try: + result = state.filesystem.read_model_coefficients(file_name=coefs_file), None + msg = f"Successfully loaded model Coefficients from {coefs_file}" + logger.debug(msg) + file_logger.info(msg) + except Exception as e: + result = None, e + return result + + +def try_eval_spec_coefs( + model_name: str, + model_settings: PydanticBase, + spec: DataFrame | None, + coefs: DataFrame | None, + state: State, +) -> tuple[DataFrame | None, Exception | None]: + + if spec is None or coefs is None: + msg_prefix = ( + f"Skipping Evaluation Check for {model_settings.__class__.__name__}" + ) + spec_msg = "No SPEC available" if spec is None else "" + coefs_msg = "No COEFFICENTS available" if coefs is None else "" + msg = ". ".join([msg_prefix, spec_msg, coefs_msg]) + logger.debug(msg) + file_logger.debug(msg) + return None, None + + try: + # check whether coefficients should be evaluated as NESTS or not + if model_settings.model_dump().get("NESTS"): + if isinstance(model_settings.NESTS, LogitNestSpec): + nests = model_settings.NESTS + else: + nests = None + if nests is not None: + # Proper Trace label is probably unneeded here + result = ( + eval_nest_coefficients(model_settings.NESTS, coefs, trace_label=None), + None, + ) + else: + result = eval_coefficients(state, spec, coefs, estimator=None), None + msg = f"Successfully evaluated coefficients for {model_name}" + logger.debug(msg) + file_logger.info(msg) + except Exception as e: + result = None, e + return result + + +def try_check_spec_coefs_templated( + model_name: str, model_settings: TemplatedLogitComponentSettings, state: State +) -> list[Exception]: + """Alternative function for checking mode choice settings using a templated coefficients files""" + + errors = [] + inner_errors = [] + + try: + coefs_template = read_model_coefficient_template( + state.filesystem, model_settings + ) + coefs_segments = list(coefs_template.columns) + + for segment_name in coefs_segments: + try: + nest_spec = config.get_logit_model_settings(model_settings) + coefs = state.filesystem.get_segment_coefficients( + model_settings, segment_name + ) + # Proper trace label probably unneeded here + nest_spec = eval_nest_coefficients(nest_spec, coefs, trace_label=None) + except Exception as e: + additional_info = f"Could not evaluate templated coefficients for segment {segment_name}. Check that SPEC, Coefficients, and Template files exist and have compatible labels." + inner_errors.append( + SettingsCheckerError( + model_name, + e, + [ + model_settings.SPEC, + model_settings.COEFFICIENTS, + model_settings.COEFFICIENT_TEMPLATE, + ], + additional_info, + ) + ) + continue + except Exception as e: + msg = f"{model_name}: Could not evaluate templated coefficients. Check that SPEC, Coefficients, and Template files exist and have compatible labels." + logger.warning(msg) + file_logger.warning(msg) + + additional_info = "Could not evaluated templated coefficients. Check that SPEC, Coefficients, and Template files exist and have compatible labels." + + errors.append( + SettingsCheckerError( + model_name, + e, + [ + model_settings.SPEC, + model_settings.COEFFICIENTS, + model_settings.COEFFICIENT_TEMPLATE, + ], + additional_info, + ) + ) + + errors.extend(inner_errors) + + return errors + + +def try_check_spec_coefs_ptype_spec_segments( + model_name: str, model_settings: PydanticBase, state: State +) -> list[Exception]: + """Alternative function for checking settings that are segmented by PTYPE within the main model spec""" + errors = [] + + try: + spec_segments = model_settings.SPEC_SEGMENTS + model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) + + # pick the spec column for the segment + for segment_settings in spec_segments: + segment_name = segment_settings.NAME + segment_spec = model_spec[[segment_name]] + + coefficients_df = state.filesystem.read_model_coefficients(segment_settings) + segment_spec = eval_coefficients( + state, segment_spec, coefficients_df, estimator=None + ) + except Exception as e: + errors.append( + SettingsCheckerError( + model_name, e, [model_settings.SPEC, model_settings.COEFFICIENTS] + ) + ) + return errors + + +def try_load_and_check_spec_coefs( + model_name: str, + model_settings: Type[PydanticBase], + state: State, + spec_coefficient_keys: list[dict] = None, +) -> list[Exception]: + """Attempt to load and evaluate SPEC and COEFFICIENTS. + By default, will look for SPEC and COEFFICIENTS at the top level of the settings. + This can be overriden by providing an alternative set of spec/coefs keys + in the settings checker register. + """ + # collect all errors + errors = [] + + if spec_coefficient_keys is None: + spec_coefficient_keys = [{"spec": "SPEC", "coefs": "COEFFICIENTS"}] + + for key_pair in spec_coefficient_keys: + + # attempt to read SPEC file + if hasattr(model_settings, key_pair["spec"]): + spec_file = model_settings.model_dump().get(key_pair["spec"]) + + # HACK: some models may use older "SPECIFICATION" field name instead of "SPEC" + if spec_file is None and hasattr(model_settings, "SPECIFICATION"): + spec_file = model_settings.SPECIFICATION + + if spec_file is not None: + spec, spec_error = try_load_spec( + model_name=model_name, + model_settings=model_settings, + spec_file=spec_file, + state=state, + ) + else: + spec, spec_error = None, None + msg = f"{model_name}: Field {key_pair['spec']} is None in {model_settings.__class__.__name__}. Ensure that a filepath is defined YAML settings if required" + logger.warning(msg) + file_logger.warning(msg) + else: + spec, spec_error = None, None + # msg = f"No SPEC file is associated with {model_settings.__class__.__name__}" + # logger.info(msg) + # file_logger.info(msg) + + if spec_error is not None: + errors.append(spec_error) + + # then attempt to read coefficients + if hasattr(model_settings, key_pair["coefs"]): + coefs_file = model_settings.model_dump().get(key_pair["coefs"]) + if coefs_file is not None: + coefs, coefs_error = try_load_coefs( + model_name=model_name, + model_settings=model_settings, + coefs_file=coefs_file, + state=state, + ) + else: + coefs, coefs_error = None, None + msg = f"{model_name}: Field {key_pair['coefs']} is None in {model_settings.__class__.__name__}. Ensure that a filepath is defined YAML settings if required" + logger.warning(msg) + file_logger.warning(msg) + else: + coefs, coefs_error = None, None + # msg = f"No coefficients file is associated with {model_settings.__class__.__name__}" + # logger.info(msg) + # file_logger.info(msg) + + if coefs_error is not None: + errors.append(SettingsCheckerError(model_name, coefs_error, coefs_file)) + + # then attempt to evaluate coefficients against spec + eval_coefs, eval_coefs_error = try_eval_spec_coefs( + model_name=model_name, + model_settings=model_settings, + spec=spec, + coefs=coefs, + state=state, + ) + + if eval_coefs_error is not None: + errors.append( + SettingsCheckerError( + model_name, eval_coefs_error, [spec_file, coefs_file] + ) + ) + + # then, check any other subsettings that may have a SPEC + # this includes preprocessors and annotators, etc. + # for now, check is limited to check that the SPEC file is loadable + for _, setting in model_settings: + if ( + isinstance(setting, PydanticBase) + and setting.model_dump().get("SPEC") is not None + ): + addl_spec_file = setting.SPEC + addl_spec, addl_spec_error = try_load_spec( + model_name=model_name + f": {setting.__class__.__name__}", + model_settings=setting, + spec_file=addl_spec_file, + state=state, + ) + if addl_spec_error: + errors.append( + SettingsCheckerError(model_name, addl_spec_error, addl_spec_file) + ) + return errors + + +def check_model_settings( + state: State, + checker_settings: dict = CHECKER_SETTINGS, + extension_settings: dict = {}, + log_file: str = "settings_checker.log", +) -> None: + + # Collect all errors + all_errors = [] + + # additional logging set up + formatter = logging.Formatter( + "%(asctime)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S" + ) + out_log_file = state.get_log_file_path(log_file) + if os.path.exists(out_log_file): + os.remove(out_log_file) + module_handler = logging.FileHandler(out_log_file) + module_handler.setFormatter(formatter) + file_logger.addHandler(module_handler) + file_logger.propagate = False + + # add extension settings to checker settings + if extension_settings is not None: + checker_settings.update(extension_settings) + + # extract all model components + all_models = state.settings.models.copy() + + # add shadow pricing and initalize los (not in state.settings.models) + if state.settings.use_shadow_pricing == True: + all_models.append("shadow_pricing") + if "initialize_los" in state._RUNNABLE_STEPS: + all_models.append("initialize_los") + + for model_name in all_models: + + if not model_name in checker_settings: + msg = ( + f"Cannot pre-check settings for model component {model_name}: " + "mapping to a Pydantic data model is undefined in the checker." + ) + logger.info(msg) + file_logger.info(msg) + continue + + model_settings_class = checker_settings[model_name]["settings_cls"] + model_settings_file = checker_settings[model_name]["settings_file"] + spec_coefficient_keys = checker_settings[model_name].get( + "spec_coefficient_keys" + ) + # do not raise errors if YAML file cannot be loaded + # this is used for write_data_dictionary + warn_only = checker_settings[model_name].get("warn_only", False) + + # first, attempt to load settings + # continue if any error + model_settings, model_settings_error = try_load_model_settings( + model_name=model_name, + model_settings_class=model_settings_class, + model_settings_file=model_settings_file, + state=state, + ) + + if model_settings_error is not None: + if warn_only: + msg = f"{model_name} settings file {model_settings_file} could not be loaded. Ensure inclusion of this configuration file is optional." + logger.warning(msg) + file_logger.warning(msg) + continue + else: + all_errors.append( + SettingsCheckerError( + model_name, model_settings_error, model_settings_file + ) + ) + continue + + # then attempt to load and resolve spec/coef files + if isinstance(model_settings, TemplatedLogitComponentSettings): + errors = try_check_spec_coefs_templated( + model_name=model_name, model_settings=model_settings, state=state + ) + else: + errors = try_load_and_check_spec_coefs( + model_name=model_name, + model_settings=model_settings, + state=state, + spec_coefficient_keys=spec_coefficient_keys, + ) + all_errors.extend(errors) + + # if model has nested SPEC_SEGMENTS, check each of these. + # there are two ways of segmenting specs, which are handled differently: + # 1) Settings using define separate pairs of spec/coefficient files. + # 2) Others define segments within the main model spec file, keyed by PTYPE. + if model_settings.model_dump().get("SPEC_SEGMENTS"): + + spec_segments = model_settings.SPEC_SEGMENTS + + if isinstance(spec_segments, dict): + spec_segments = [ + segment for segment_name, segment in spec_segments.items() + ] + + # check the first segment to see if PTYPE should be defined + # this avoids needing to hardcode branching logic to determine evaluation method + if "PTYPE" in spec_segments[0].model_fields: + errors = try_check_spec_coefs_ptype_spec_segments( + model_name=model_name, + model_settings=model_settings, + state=state, + ) + all_errors.extend(errors) + else: + for segment_settings in spec_segments: + errors = try_load_and_check_spec_coefs( + model_name=model_name, + model_settings=segment_settings, + state=state, + ) + all_errors.extend(errors) + + if len(all_errors) > 0: + msg = "Settings Checker Failed with the following errors:" + logger.error(msg) + file_logger.error(msg) + for e in all_errors: + logger.error(f"\t{str(e)}") + file_logger.error(f"\t{str(e)}") + raise ModelConfigurationError( + f"Encountered one or more errors in settings checker. See f{log_file} for details." + ) + msg = f"Setting Checker Complete. No runtime errors were raised. Check f{log_file} for warnings. These *may* prevent model from successfully running." + logger.info(msg) + file_logger.info(msg) diff --git a/activitysim/abm/models/stop_frequency.py b/activitysim/abm/models/stop_frequency.py index 2f0253f219..634eb0cd12 100644 --- a/activitysim/abm/models/stop_frequency.py +++ b/activitysim/abm/models/stop_frequency.py @@ -134,21 +134,15 @@ def stop_frequency( simulate.set_skim_wrapper_targets(tours_merged, skims) # this should be pre-slice as some expressions may count tours by type - annotations = expressions.compute_columns( + expressions.annotate_preprocessors( state, df=tours_merged, - model_settings=preprocessor_settings, locals_dict=locals_dict, + skims=None, # skims are already set on tours_merged above + model_settings=model_settings, trace_label=trace_label, ) - assign_in_place( - tours_merged, - annotations, - state.settings.downcast_int, - state.settings.downcast_float, - ) - tracing.print_summary( "stop_frequency segments", tours_merged.primary_purpose, value_counts=True ) @@ -197,9 +191,15 @@ def stop_frequency( if estimator: estimator.write_spec(segment_settings, bundle_directory=False) - estimator.write_model_settings( - model_settings, model_settings_file_name, bundle_directory=True - ) + # writing to separte subdirectory for each segment if multiprocessing + if state.settings.multiprocess: + estimator.write_model_settings( + model_settings, model_settings_file_name, bundle_directory=False + ) + else: + estimator.write_model_settings( + model_settings, model_settings_file_name, bundle_directory=True + ) estimator.write_coefficients(coefficients_df, segment_settings) estimator.write_choosers(chooser_segment) @@ -271,7 +271,11 @@ def stop_frequency( survey_trips = estimation.manager.get_survey_table(table_name="trips") different = False - survey_trips_not_in_trips = survey_trips[~survey_trips.index.isin(trips.index)] + # need the check below on household_id incase household_sample_size != 0 + survey_trips_not_in_trips = survey_trips[ + ~survey_trips.index.isin(trips.index) + & survey_trips.household_id.isin(trips.household_id) + ] if len(survey_trips_not_in_trips) > 0: print(f"survey_trips_not_in_trips\n{survey_trips_not_in_trips}") different = True @@ -304,10 +308,6 @@ def stop_frequency( trips, label="stop_frequency.trips", slicer="person_id", columns=None ) - state.tracing.trace_df( - annotations, label="stop_frequency.annotations", columns=None - ) - state.tracing.trace_df( tours_merged, label="stop_frequency.tours_merged", @@ -317,3 +317,11 @@ def stop_frequency( if state.is_table("school_escort_trips"): school_escort_tours_trips.merge_school_escort_trips_into_pipeline(state) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/summarize.py b/activitysim/abm/models/summarize.py index e842393fda..fb29fe19d6 100644 --- a/activitysim/abm/models/summarize.py +++ b/activitysim/abm/models/summarize.py @@ -4,11 +4,12 @@ import logging import os +from pathlib import Path import numpy as np import pandas as pd -from activitysim.core import expressions, workflow +from activitysim.core import expressions, timing, workflow from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable from activitysim.core.los import Network_LOS @@ -234,7 +235,7 @@ def summarize( trace_label: str = "summarize", ) -> None: """ - A standard model that uses expression files to summarize pipeline tables for vizualization. + A standard model that uses expression files to summarize pipeline tables for visualization. Summaries are configured in `summarize.yaml`, including specification of the expression file (`summarize.csv` by default). @@ -242,7 +243,7 @@ def summarize( Columns in pipeline tables can also be sliced and aggregated prior to summarization. This preprocessing is configured in `summarize.yaml`. - Outputs a seperate csv summary file for each expression; + Outputs a separate csv summary file for each expression; outputs starting with '_' are saved as temporary local variables. """ @@ -353,6 +354,12 @@ def summarize( } ) + if state.settings.expression_profile: + perf_log_file = Path(trace_label + ".log") + else: + perf_log_file = None + performance_timer = timing.EvalTiming(perf_log_file) + for i, row in spec.iterrows(): out_file = row["Output"] expr = row["Expression"] @@ -361,15 +368,19 @@ def summarize( if out_file.startswith("_"): logger.debug(f"Temp Variable: {expr} -> {out_file}") - locals_d[out_file] = eval(expr, globals(), locals_d) + with performance_timer.time_expression(expr): + locals_d[out_file] = eval(expr, globals(), locals_d) continue logger.debug(f"Summary: {expr} -> {out_file}.csv") - resultset = eval(expr, globals(), locals_d) + with performance_timer.time_expression(expr): + resultset = eval(expr, globals(), locals_d) resultset.to_csv( state.get_output_file_path( os.path.join(output_location, f"{out_file}.csv") ), index=False, ) + + performance_timer.write_log(state) diff --git a/activitysim/abm/models/telecommute_frequency.py b/activitysim/abm/models/telecommute_frequency.py index f98791a2a2..195335258a 100755 --- a/activitysim/abm/models/telecommute_frequency.py +++ b/activitysim/abm/models/telecommute_frequency.py @@ -61,20 +61,15 @@ def telecommute_frequency( constants = config.get_model_constants(model_settings) - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) + # choosers preprocessor + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) coefficients_df = state.filesystem.read_model_coefficients(model_settings) @@ -127,3 +122,11 @@ def telecommute_frequency( if state.settings.trace_hh_id: state.tracing.trace_df(persons, label=trace_label, warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/telecommute_status.py b/activitysim/abm/models/telecommute_status.py new file mode 100644 index 0000000000..7954052591 --- /dev/null +++ b/activitysim/abm/models/telecommute_status.py @@ -0,0 +1,125 @@ +# ActivitySim +# See full license in LICENSE.txt. +from __future__ import annotations + +import logging + +import numpy as np +import pandas as pd + +from activitysim.core import ( + config, + estimation, + expressions, + simulate, + tracing, + workflow, +) +from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable +from activitysim.core.configuration.logit import LogitComponentSettings + +logger = logging.getLogger("activitysim") + + +class TelecommuteStatusSettings(LogitComponentSettings, extra="forbid"): + """ + Settings for the `telecommute_status` component. + """ + + TELECOMMUTE_ALT: int + """Value that specifies if the worker is telecommuting on the simulation day.""" + + CHOOSER_FILTER_COLUMN_NAME: str = "is_worker" + """Column name in the dataframe to represent worker.""" + + +@workflow.step +def telecommute_status( + state: workflow.State, + persons_merged: pd.DataFrame, + persons: pd.DataFrame, + model_settings: TelecommuteStatusSettings | None = None, + model_settings_file_name: str = "telecommute_status.yaml", + trace_label: str = "telecommute_status", +) -> None: + """ + This model predicts whether a person (worker) telecommutes on the simulation day. + The output from this model is TRUE (if telecommutes) or FALSE (if does not telecommute). + """ + if model_settings is None: + model_settings = TelecommuteStatusSettings.read_settings_file( + state.filesystem, + model_settings_file_name, + ) + + choosers = persons_merged + chooser_filter_column_name = model_settings.CHOOSER_FILTER_COLUMN_NAME + choosers = choosers[(choosers[chooser_filter_column_name])] + logger.info("Running %s with %d persons", trace_label, len(choosers)) + + estimator = estimation.manager.begin_estimation(state, "telecommute_status") + + constants = config.get_model_constants(model_settings) + + # - preprocessor + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + + model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) + coefficients_df = state.filesystem.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients( + state, model_spec, coefficients_df, estimator + ) + nest_spec = config.get_logit_model_settings(model_settings) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df, model_settings) + estimator.write_choosers(choosers) + + choices = simulate.simple_simulate( + state, + choosers=choosers, + spec=model_spec, + nest_spec=nest_spec, + locals_d=constants, + trace_label=trace_label, + trace_choice_name="is_telecommuting", + estimator=estimator, + compute_settings=model_settings.compute_settings, + ) + + telecommute_alt = model_settings.TELECOMMUTE_ALT + choices = choices == telecommute_alt + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values(choices, "persons", "is_telecommuting") + estimator.write_override_choices(choices) + estimator.end_estimation() + + persons["is_telecommuting"] = choices.reindex(persons.index).fillna(0).astype(bool) + + state.add_table("persons", persons) + + tracing.print_summary( + "telecommute_status", persons.is_telecommuting, value_counts=True + ) + + if state.settings.trace_hh_id: + state.tracing.trace_df(persons, label=trace_label, warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/tour_mode_choice.py b/activitysim/abm/models/tour_mode_choice.py index befcb0d7a3..d2052f099a 100644 --- a/activitysim/abm/models/tour_mode_choice.py +++ b/activitysim/abm/models/tour_mode_choice.py @@ -7,9 +7,18 @@ import numpy as np import pandas as pd -from activitysim.abm.models.util import annotate, school_escort_tours_trips, trip +from activitysim.abm.models.util import school_escort_tours_trips, trip from activitysim.abm.models.util.mode import run_tour_mode_choice_simulate -from activitysim.core import config, estimation, logit, los, simulate, tracing, workflow +from activitysim.core import ( + config, + estimation, + logit, + los, + simulate, + tracing, + workflow, + expressions, +) from activitysim.core.configuration.logit import TourModeComponentSettings from activitysim.core.util import assign_in_place, reindex @@ -450,10 +459,6 @@ def tour_mode_choice_simulate( state.add_table("tours", all_tours) - # - annotate tours table - if model_settings.annotate_tours: - annotate.annotate_tours(state, model_settings, trace_label) - if state.settings.trace_hh_id: state.tracing.trace_df( primary_tours, @@ -462,3 +467,11 @@ def tour_mode_choice_simulate( index_label="tour_id", warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/tour_od_choice.py b/activitysim/abm/models/tour_od_choice.py index b518b36f97..ad9f527d75 100644 --- a/activitysim/abm/models/tour_od_choice.py +++ b/activitysim/abm/models/tour_od_choice.py @@ -7,7 +7,7 @@ import pandas as pd from activitysim.abm.models.util import tour_od -from activitysim.core import estimation, los, workflow +from activitysim.core import estimation, los, workflow, expressions logger = logging.getLogger(__name__) @@ -147,3 +147,11 @@ def tour_od_choice( columns=None, warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/tour_scheduling_probabilistic.py b/activitysim/abm/models/tour_scheduling_probabilistic.py index 324db45667..8dcb1bbff2 100644 --- a/activitysim/abm/models/tour_scheduling_probabilistic.py +++ b/activitysim/abm/models/tour_scheduling_probabilistic.py @@ -7,7 +7,7 @@ import pandas as pd from activitysim.abm.models.util import probabilistic_scheduling as ps -from activitysim.core import chunk, estimation, workflow +from activitysim.core import chunk, estimation, workflow, expressions from activitysim.core.configuration.base import PydanticReadable logger = logging.getLogger(__name__) @@ -175,3 +175,11 @@ def tour_scheduling_probabilistic( assert not tours_df["duration"].isnull().any() state.add_table("tours", tours_df) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/transit_pass_ownership.py b/activitysim/abm/models/transit_pass_ownership.py index 9a34b7b0b4..19ba883212 100644 --- a/activitysim/abm/models/transit_pass_ownership.py +++ b/activitysim/abm/models/transit_pass_ownership.py @@ -17,6 +17,7 @@ from activitysim.core.configuration.base import PreprocessorSettings from activitysim.core.configuration.logit import LogitComponentSettings + logger = logging.getLogger("activitysim") @@ -25,8 +26,8 @@ class TransitPassOwnershipSettings(LogitComponentSettings, extra="forbid"): Settings for the `transit_pass_ownership` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" + # no additional fields are required for this component + pass @workflow.step @@ -56,19 +57,14 @@ def transit_pass_ownership( constants = config.get_model_constants(model_settings) # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) coefficients_df = state.filesystem.read_model_coefficients(model_settings) @@ -114,3 +110,11 @@ def transit_pass_ownership( if state.settings.trace_hh_id: state.tracing.trace_df(persons, label=trace_label, warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/transit_pass_subsidy.py b/activitysim/abm/models/transit_pass_subsidy.py index 0f71279cdf..328b499929 100644 --- a/activitysim/abm/models/transit_pass_subsidy.py +++ b/activitysim/abm/models/transit_pass_subsidy.py @@ -17,6 +17,7 @@ from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable from activitysim.core.configuration.logit import LogitComponentSettings + logger = logging.getLogger("activitysim") @@ -25,9 +26,6 @@ class TransitPassSubsidySettings(LogitComponentSettings, extra="forbid"): Settings for the `transit_pass_subsidy` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - CHOOSER_FILTER_COLUMN_NAME: str | None = None """Column name which selects choosers. If None, all persons are choosers.""" @@ -56,20 +54,15 @@ def transit_pass_subsidy( constants = config.get_model_constants(model_settings) - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) + # - preprocessor, running before choosers are filtered so column can be created + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) filter_col = model_settings.CHOOSER_FILTER_COLUMN_NAME if filter_col is not None: @@ -122,3 +115,11 @@ def transit_pass_subsidy( if state.settings.trace_hh_id: state.tracing.trace_df(persons, label=trace_label, warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_departure_choice.py b/activitysim/abm/models/trip_departure_choice.py index 65a4468a62..33a6bbf098 100644 --- a/activitysim/abm/models/trip_departure_choice.py +++ b/activitysim/abm/models/trip_departure_choice.py @@ -27,6 +27,7 @@ from activitysim.core.skim_dataset import SkimDataset from activitysim.core.skim_dictionary import SkimDict from activitysim.core.util import reindex +from activitysim.core.exceptions import SegmentedSpecificationError logger = logging.getLogger(__name__) @@ -191,9 +192,21 @@ def choose_tour_leg_pattern( trace_label="trace_label", *, chunk_sizer: chunk.ChunkSizer, - compute_settings: ComputeSettings | None = None, + model_settings: TripDepartureChoiceSettings, ): alternatives = generate_alternatives(trip_segment, STOP_TIME_DURATION).sort_index() + + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=alternatives, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor", + ) + have_trace_targets = state.tracing.has_trace_targets(trip_segment) if have_trace_targets: @@ -207,7 +220,7 @@ def choose_tour_leg_pattern( ) if len(spec.columns) > 1: - raise RuntimeError("spec must have only one column") + raise SegmentedSpecificationError("spec must have only one column") # - join choosers and alts # in vanilla interaction_simulate interaction_df is cross join of choosers and alternatives @@ -245,7 +258,7 @@ def choose_tour_leg_pattern( trace_label, trace_rows, estimator=None, - compute_settings=compute_settings, + compute_settings=model_settings.compute_settings, ) interaction_utilities = pd.concat( @@ -416,7 +429,7 @@ def apply_stage_two_model( trips, chunk_size, trace_label: str, - compute_settings: ComputeSettings | None = None, + model_settings: TripDepartureChoiceSettings, ): if not trips.index.is_monotonic_increasing: trips = trips.sort_index() @@ -487,7 +500,7 @@ def apply_stage_two_model( spec, trace_label=segment_trace_label, chunk_sizer=chunk_sizer, - compute_settings=compute_settings, + model_settings=model_settings, ) choices = pd.merge( @@ -523,6 +536,9 @@ class TripDepartureChoiceSettings(PydanticCompute, extra="forbid"): PREPROCESSOR: PreprocessorSettings | None = None """Setting for the preprocessor.""" + alts_preprocessor: PreprocessorSettings | None = None + """Setting for the alternatives preprocessor.""" + SPECIFICATION: str = "trip_departure_choice.csv" """Filename for the trip departure choice (.csv) file.""" @@ -594,7 +610,7 @@ def trip_departure_choice( trips_merged_df, state.settings.chunk_size, trace_label, - compute_settings=model_settings.compute_settings, + model_settings=model_settings, ) trips_df = trips @@ -604,3 +620,11 @@ def trip_departure_choice( assert trips_df[trips_df["depart"].isnull()].empty state.add_table("trips", trips_df) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_destination.py b/activitysim/abm/models/trip_destination.py index 2b6b5a2ff2..853cfc35e9 100644 --- a/activitysim/abm/models/trip_destination.py +++ b/activitysim/abm/models/trip_destination.py @@ -35,6 +35,7 @@ from activitysim.core.skim_dictionary import DataFrameMatrix from activitysim.core.tracing import print_elapsed_time from activitysim.core.util import assign_in_place, reindex +from activitysim.core.exceptions import InvalidTravelError, DuplicateWorkflowTableError logger = logging.getLogger(__name__) @@ -59,9 +60,6 @@ class TripDestinationSettings(LocationComponentSettings, extra="forbid"): PRIMARY_ORIGIN: str = "origin" PRIMARY_DEST: str = "tour_leg_dest" # must be created in preprocessor REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: list[str] | None = None - preprocessor: PreprocessorSettings | None = None - alts_preprocessor_sample: PreprocessorSettings | None = None - alts_preprocessor_simulate: PreprocessorSettings | None = None CLEANUP: bool fail_some_trips_for_testing: bool = False """This setting is used by testing code to force failed trip_destination.""" @@ -173,15 +171,17 @@ def _destination_sample( ) sample_size = model_settings.SAMPLE_SIZE - if state.settings.disable_destination_sampling or ( - estimator and estimator.want_unsampled_alternatives - ): - # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count + if estimator and model_settings.ESTIMATION_SAMPLE_SIZE >= 0: + sample_size = model_settings.ESTIMATION_SAMPLE_SIZE logger.info( - f"Estimation mode for {trace_label} using " - f"unsampled alternatives short_circuit_choices" + f"Estimation mode for {trace_label} using sample size of {sample_size}" ) + + if state.settings.disable_destination_sampling: sample_size = 0 + logger.info( + f"SAMPLE_SIZE set to 0 for {trace_label} because disable_destination_sampling is set" + ) locals_dict = state.get_global_constants().copy() locals_dict.update(model_settings.CONSTANTS) @@ -203,14 +203,16 @@ def _destination_sample( log_alt_losers = state.settings.log_alt_losers - if model_settings.alts_preprocessor_sample: - expressions.assign_columns( - state, - df=alternatives, - model_settings=model_settings.alts_preprocessor_sample, - locals_dict=locals_dict, - trace_label=tracing.extend_trace_label(trace_label, "alts"), - ) + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=alternatives, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_sample", + ) choices = interaction_sample( state, @@ -291,6 +293,7 @@ def choose_MAZ_for_TAZ( network_los, alt_dest_col_name, trace_label, + model_settings, ): """ Convert taz_sample table with TAZ zone sample choices to a table with a MAZ zone chosen for each TAZ @@ -530,6 +533,57 @@ def choose_MAZ_for_TAZ( transpose=False, ) + if estimation.manager.enabled and ( + model_settings.ESTIMATION_SAMPLE_SIZE > 0 + or ( + model_settings.ESTIMATION_SAMPLE_SIZE < 0 and model_settings.SAMPLE_SIZE > 0 + ) + ): + # want to ensure the override choice is in the choice set + survey_choices = estimation.manager.get_survey_destination_choices( + state, chooser_df, trace_label + ) + if survey_choices is not None: + assert ( + chooser_df.index == survey_choices.index + ).all(), "survey_choices index should match chooser_df index" + survey_choices.name = DEST_MAZ + survey_choices = survey_choices.dropna().astype(taz_choices[DEST_MAZ].dtype) + # merge maz_sizes onto survey choices + maz_sizes["MAZ_prob"] = maz_sizes.groupby(DEST_TAZ)["size_term"].transform( + lambda x: x / x.sum() + ) + survey_choices = pd.merge( + survey_choices.reset_index(), + maz_sizes[[DEST_MAZ, DEST_TAZ, "MAZ_prob"]], + on=[DEST_MAZ], + how="left", + ) + # merge TAZ_prob from taz_choices onto survey choices + survey_choices = pd.merge( + survey_choices, + # dropping duplicates to avoid duplicate rows as the same TAZ can be chosen multiple times + taz_choices[[chooser_id_col, DEST_TAZ, "TAZ_prob"]].drop_duplicates( + subset=[chooser_id_col, DEST_TAZ] + ), + on=[chooser_id_col, DEST_TAZ], + how="left", + ) + survey_choices["prob"] = ( + survey_choices["TAZ_prob"] * survey_choices["MAZ_prob"] + ) + + # Don't care about getting dest_TAZ correct as it gets dropped later + survey_choices.fillna(0, inplace=True) + + # merge survey choices back into choices_df and sort by chooser + taz_choices = pd.concat( + [taz_choices, survey_choices[taz_choices.columns]], ignore_index=True + ) + taz_choices.sort_values( + by=[chooser_id_col, DEST_TAZ], inplace=True, ignore_index=True + ) + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg( prob=("prob", "max"), pick_count=("prob", "count") @@ -603,6 +657,7 @@ def destination_presample( network_los, alt_dest_col_name, trace_label, + model_settings, ) assert alt_dest_col_name in maz_sample @@ -766,7 +821,7 @@ def compute_logsums( adds od_logsum and dp_logsum columns to trips (in place) """ trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") - logger.info("Running %s with %d samples", trace_label, destination_sample.shape[0]) + logger.debug("Running %s with %d samples", trace_label, destination_sample.shape[0]) # chunk usage is uniform so better to combine chunk_tag = "trip_destination.compute_logsums" @@ -923,7 +978,7 @@ def trip_destination_simulate( alt_dest_col_name = model_settings.ALT_DEST_COL_NAME - logger.info("Running trip_destination_simulate with %d trips", len(trips)) + logger.debug("Running trip_destination_simulate with %d trips", len(trips)) skims = skim_hotel.sample_skims(presample=False) @@ -951,14 +1006,16 @@ def trip_destination_simulate( ) locals_dict.update(skims) - if model_settings.alts_preprocessor_simulate: - expressions.assign_columns( - state, - df=destination_sample, - model_settings=model_settings.alts_preprocessor_simulate, - locals_dict=locals_dict, - trace_label=tracing.extend_trace_label(trace_label, "alts"), - ) + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=destination_sample, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_simulate", + ) log_alt_losers = state.settings.log_alt_losers destinations = interaction_sample_simulate( @@ -1046,24 +1103,29 @@ def choose_trip_destination( ) trips = trips[~dropped_trips] - t0 = print_elapsed_time("%s.trip_destination_sample" % trace_label, t0) + t0 = print_elapsed_time("%s.trip_destination_sample" % trace_label, t0, debug=True) if trips.empty: return pd.Series(index=trips.index).to_frame("choice"), None # - compute logsums - destination_sample = compute_logsums( - state, - primary_purpose=primary_purpose, - trips=trips, - destination_sample=destination_sample, - tours_merged=tours_merged, - model_settings=model_settings, - skim_hotel=skim_hotel, - trace_label=trace_label, - ) + # If LOGSUM_SETTINGS is set to None, we don't want to compute logsums + if model_settings.LOGSUM_SETTINGS: + destination_sample = compute_logsums( + state, + primary_purpose=primary_purpose, + trips=trips, + destination_sample=destination_sample, + tours_merged=tours_merged, + model_settings=model_settings, + skim_hotel=skim_hotel, + trace_label=trace_label, + ) + else: + destination_sample["od_logsum"] = 0.0 + destination_sample["dp_logsum"] = 0.0 - t0 = print_elapsed_time("%s.compute_logsums" % trace_label, t0) + t0 = print_elapsed_time("%s.compute_logsums" % trace_label, t0, debug=True) destinations = trip_destination_simulate( state, @@ -1094,7 +1156,9 @@ def choose_trip_destination( else: destination_sample = None - t0 = print_elapsed_time("%s.trip_destination_simulate" % trace_label, t0) + t0 = print_elapsed_time( + "%s.trip_destination_simulate" % trace_label, t0, debug=True + ) return destinations, destination_sample @@ -1271,9 +1335,14 @@ def run_trip_destination( state.filesystem, model_settings_file_name ) preprocessor_settings = model_settings.preprocessor - logsum_settings = state.filesystem.read_model_settings( - model_settings.LOGSUM_SETTINGS - ) + + # read in logsum settings if they exist, otherwise logsum calculations are skipped + if model_settings.LOGSUM_SETTINGS: + logsum_settings = state.filesystem.read_model_settings( + model_settings.LOGSUM_SETTINGS + ) + else: + logsum_settings = None logsum_column_name = model_settings.DEST_CHOICE_LOGSUM_COLUMN_NAME want_logsums = logsum_column_name is not None @@ -1312,6 +1381,8 @@ def run_trip_destination( # expect all the same trips survey_trips = estimator.get_survey_table("trips").sort_index() + # need to check household_id incase household_sample_size != 0 + survey_trips = survey_trips[survey_trips.household_id.isin(trips.household_id)] assert survey_trips.index.equals(trips.index) first = survey_trips.trip_num == 1 @@ -1341,7 +1412,9 @@ def run_trip_destination( # - filter tours_merged (AFTER copying destination and origin columns to trips) # tours_merged is used for logsums, we filter it here upfront to save space and time - tours_merged_cols = logsum_settings["TOURS_MERGED_CHOOSER_COLUMNS"] + tours_merged_cols = ( + logsum_settings["TOURS_MERGED_CHOOSER_COLUMNS"] if logsum_settings else [] + ) redundant_cols = model_settings.REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS or [] if redundant_cols: tours_merged_cols = [c for c in tours_merged_cols if c not in redundant_cols] @@ -1383,15 +1456,15 @@ def run_trip_destination( } locals_dict.update(model_settings.CONSTANTS) - # - annotate nth_trips - if preprocessor_settings: - expressions.assign_columns( - state, - df=nth_trips, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=nth_trace_label, - ) + # preprocessing choosers + expressions.annotate_preprocessors( + state, + df=nth_trips, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) if isinstance( nth_trips["trip_period"].dtype, pd.api.types.CategoricalDtype @@ -1414,30 +1487,51 @@ def run_trip_destination( else: None - logger.info("Running %s with %d trips", nth_trace_label, nth_trips.shape[0]) + logger.debug( + "Running %s with %d trips", nth_trace_label, nth_trips.shape[0] + ) # - choose destination for nth_trips, segmented by primary_purpose choices_list = [] for primary_purpose, trips_segment in nth_trips.groupby( "primary_purpose", observed=True ): - choices, destination_sample = choose_trip_destination( - state, - primary_purpose, - trips_segment, - alternatives, - tours_merged, - model_settings, - want_logsums, - want_sample_table, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, - trace_label=tracing.extend_trace_label( - nth_trace_label, primary_purpose - ), - ) + try: + choices, destination_sample = choose_trip_destination( + state, + primary_purpose, + trips_segment, + alternatives, + tours_merged, + model_settings, + want_logsums, + want_sample_table, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_label=tracing.extend_trace_label( + nth_trace_label, primary_purpose + ), + ) + except KeyError as err: + if err.args[0] == "purpose_index_num": + logger.error( + """ + + When using the trip destination model with sharrow, it is necessary + to set a value for `purpose_index_num` in the trip destination + annotate trips preprocessor. This allows for an optimized compiled + lookup of the size term from the array of size terms. The value of + `purpose_index_num` should be the integer column position in the size + matrix, with usual zero-based numpy indexing semantics (i.e. the first + column is zero). The preprocessor expression most likely needs to be + "size_terms.get_cols(df.purpose)" unless some unusual transform of + size terms has been employed. + + """ + ) + raise choices_list.append(choices) if want_sample_table: @@ -1579,7 +1673,7 @@ def trip_destination( estimator.write_table(state.get_dataframe("land_use"), "landuse", append=False) estimator.write_model_settings(model_settings, model_settings_file_name) - logger.info("Running %s with %d trips", trace_label, trips_df.shape[0]) + logger.debug("Running %s with %d trips", trace_label, trips_df.shape[0]) trips_df, save_sample_df = run_trip_destination( state, @@ -1594,7 +1688,7 @@ def trip_destination( # testing feature t0 make sure at least one trip fails so trip_purpose_and_destination model is run if state.settings.testing_fail_trip_destination and not trips_df.failed.any(): if (trips_df.trip_num < trips_df.trip_count).sum() == 0: - raise RuntimeError( + raise InvalidTravelError( "can't honor 'testing_fail_trip_destination' setting because no intermediate trips" ) @@ -1675,5 +1769,15 @@ def trip_destination( # lest they try to put tour samples into the same table if state.is_table(sample_table_name): - raise RuntimeError("sample table %s already exists" % sample_table_name) + raise DuplicateWorkflowTableError( + "sample table %s already exists" % sample_table_name + ) state.extend_table(sample_table_name, save_sample_df) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_mode_choice.py b/activitysim/abm/models/trip_mode_choice.py index b3dd0e7f4f..a942b7af84 100644 --- a/activitysim/abm/models/trip_mode_choice.py +++ b/activitysim/abm/models/trip_mode_choice.py @@ -8,7 +8,7 @@ import numpy as np import pandas as pd -from activitysim.abm.models.util import annotate, school_escort_tours_trips +from activitysim.abm.models.util import school_escort_tours_trips from activitysim.abm.models.util.mode import mode_choice_simulate from activitysim.core import ( chunk, @@ -32,9 +32,6 @@ class TripModeChoiceSettings(TemplatedLogitComponentSettings, extra="forbid"): Settings for the `trip_mode_choice` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - MODE_CHOICE_LOGSUM_COLUMN_NAME: str = "mode_choice_logsum" """Column name of the mode choice logsum""" @@ -49,8 +46,11 @@ class TripModeChoiceSettings(TemplatedLogitComponentSettings, extra="forbid"): use_TVPB_constants: bool = True FORCE_ESCORTEE_CHAUFFEUR_MODE_MATCH: bool = True - - annotate_trips: PreprocessorSettings | None = None + """ + If True, overwrite the trip mode of escortee trips to match the mode selected + by the chauffeur. This is useful for school escort tours where the escortee trip + mode (e.g., "transit") should match the chauffeur trip mode. + """ LEGACY_COEFFICIENTS: str | None = None @@ -370,15 +370,6 @@ def trip_mode_choice( state.add_table("trips", trips_df) - if model_settings.annotate_trips: - # need to update locals_dict to access skims that are the same .shape as trips table - locals_dict = {} - locals_dict.update(constants) - simulate.set_skim_wrapper_targets(trips_merged, skims) - locals_dict.update(skims) - locals_dict["timeframe"] = "trip" - annotate.annotate_trips(state, model_settings, trace_label, locals_dict) - if state.settings.trace_hh_id: state.tracing.trace_df( trips_df, @@ -387,3 +378,17 @@ def trip_mode_choice( index_label="trip_id", warn_if_empty=True, ) + + # need to update locals_dict to access skims that are the same .shape as trips table + locals_dict = {} + locals_dict.update(constants) + simulate.set_skim_wrapper_targets(trips_merged, skims) + locals_dict.update(skims) + locals_dict["timeframe"] = "trip" + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_purpose.py b/activitysim/abm/models/trip_purpose.py index 5f208f514d..73ccaaf8c0 100644 --- a/activitysim/abm/models/trip_purpose.py +++ b/activitysim/abm/models/trip_purpose.py @@ -22,6 +22,7 @@ ) from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable from activitysim.core.util import reindex +from activitysim.core.exceptions import InvalidTravelError logger = logging.getLogger(__name__) @@ -134,7 +135,7 @@ def choose_intermediate_trip_purpose( state.tracing.write_csv( unmatched_choosers, file_name=file_name, transpose=False ) - raise RuntimeError( + raise InvalidTravelError( "Some trips could not be matched to probs based on join columns %s." % probs_join_cols ) @@ -253,16 +254,14 @@ def run_trip_purpose( trips_df = trips_df[~last_trip] logger.info("assign purpose to %s intermediate trips", trips_df.shape[0]) - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_dict = config.get_model_constants(model_settings) - expressions.assign_columns( - state, - df=trips_df, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) + expressions.annotate_preprocessors( + state, + df=trips_df, + locals_dict=config.get_model_constants(model_settings), + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) use_depart_time = model_settings.use_depart_time @@ -303,6 +302,10 @@ def trip_purpose(state: workflow.State, trips: pd.DataFrame) -> None: """ trace_label = "trip_purpose" + model_settings = TripPurposeSettings.read_settings_file( + state.filesystem, "trip_purpose.yaml" + ) + trips_df = trips if state.is_table("school_escort_trips"): @@ -326,6 +329,7 @@ def trip_purpose(state: workflow.State, trips: pd.DataFrame) -> None: state, trips_df, estimator, + model_settings, trace_label=trace_label, ) @@ -359,3 +363,11 @@ def trip_purpose(state: workflow.State, trips: pd.DataFrame) -> None: index_label="trip_id", warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_purpose_and_destination.py b/activitysim/abm/models/trip_purpose_and_destination.py index 66443e0892..02b8a6cbfd 100644 --- a/activitysim/abm/models/trip_purpose_and_destination.py +++ b/activitysim/abm/models/trip_purpose_and_destination.py @@ -12,7 +12,7 @@ cleanup_failed_trips, flag_failed_trip_leg_mates, ) -from activitysim.core import estimation, tracing, workflow +from activitysim.core import estimation, tracing, workflow, expressions from activitysim.core.configuration.base import PydanticReadable from activitysim.core.util import assign_in_place @@ -261,3 +261,11 @@ def trip_purpose_and_destination( index_label="trip_id", warn_if_empty=True, ) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_scheduling.py b/activitysim/abm/models/trip_scheduling.py index fa69567ec9..0ce4f2ffff 100644 --- a/activitysim/abm/models/trip_scheduling.py +++ b/activitysim/abm/models/trip_scheduling.py @@ -18,6 +18,7 @@ from activitysim.core import chunk, config, estimation, expressions, tracing, workflow from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable from activitysim.core.util import reindex +from activitysim.core.exceptions import InvalidTravelError, PipelineError logger = logging.getLogger(__name__) @@ -224,7 +225,6 @@ def schedule_trips_in_leg( failfix = model_settings.FAILFIX depart_alt_base = model_settings.DEPART_ALT_BASE scheduling_mode = model_settings.scheduling_mode - preprocessor_settings = model_settings.preprocessor probs_join_cols = model_settings.probs_join_cols if probs_join_cols is None: @@ -286,14 +286,14 @@ def schedule_trips_in_leg( nth_trace_label = tracing.extend_trace_label(trace_label, "num_%s" % i) # - annotate trips - if preprocessor_settings: - expressions.assign_columns( - state, - df=trips, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=nth_trace_label, - ) + expressions.annotate_preprocessors( + state, + df=trips, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) if ( outbound @@ -585,9 +585,11 @@ def trip_scheduling( i = 0 while (i < max_iterations) and not trips_chunk.empty: # only chunk log first iteration since memory use declines with each iteration - with chunk.chunk_log( - state, trace_label - ) if i == 0 else chunk.chunk_log_skip(): + with ( + chunk.chunk_log(state, trace_label) + if i == 0 + else chunk.chunk_log_skip() + ): i += 1 is_last_iteration = i == max_iterations @@ -616,7 +618,9 @@ def trip_scheduling( logger.info("%s %s failed", trace_label_i, failed.sum()) if (failed.sum() > 0) & (model_settings.scheduling_mode == "relative"): - raise RuntimeError("failed trips with relative scheduling mode") + raise InvalidTravelError( + "failed trips with relative scheduling mode" + ) if not is_last_iteration: # boolean series of trips whose leg scheduling failed @@ -654,7 +658,7 @@ def trip_scheduling( ) if failfix != FAILFIX_DROP_AND_CLEANUP: - raise RuntimeError( + raise PipelineError( "%s setting '%s' not enabled in settings" % (FAILFIX, FAILFIX_DROP_AND_CLEANUP) ) @@ -682,3 +686,11 @@ def trip_scheduling( assert not trips_df.depart.isnull().any() state.add_table("trips", trips_df) + + expressions.annotate_tables( + state, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/trip_scheduling_choice.py b/activitysim/abm/models/trip_scheduling_choice.py index 5f58e68ee4..81d908ef1b 100644 --- a/activitysim/abm/models/trip_scheduling_choice.py +++ b/activitysim/abm/models/trip_scheduling_choice.py @@ -18,6 +18,7 @@ PreprocessorSettings, PydanticReadable, ) +from activitysim.core.configuration.logit import LogitComponentSettings from activitysim.core.interaction_sample_simulate import _interaction_sample_simulate from activitysim.core.skim_dataset import SkimDataset from activitysim.core.skim_dictionary import SkimDict @@ -81,6 +82,8 @@ def generate_schedule_alternatives(tours): schedules = pd.concat([no_stops, one_way, two_way], sort=True) schedules[SCHEDULE_ID] = np.arange(1, schedules.shape[0] + 1) + # this sort is necessary to keep single process and multiprocess results the same! + schedules.sort_values(by=["tour_id", SCHEDULE_ID], inplace=True) return schedules @@ -207,9 +210,7 @@ def get_spec_for_segment( :return: array of utility equations """ - omnibus_spec = state.filesystem.read_model_spec( - file_name=model_settings.SPECIFICATION - ) + omnibus_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) spec = omnibus_spec[[segment]] @@ -280,6 +281,17 @@ def run_trip_scheduling_choice( choosers = choosers.sort_index() schedules = generate_schedule_alternatives(choosers).sort_index() + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=schedules, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor", + ) + # Assuming we did the max_alt_size calculation correctly, # we should get the same sizes here. assert choosers[NUM_ALTERNATIVES].sum() == schedules.shape[0] @@ -333,19 +345,12 @@ def run_trip_scheduling_choice( return tours -class TripSchedulingChoiceSettings(PydanticReadable, extra="forbid"): +class TripSchedulingChoiceSettings(LogitComponentSettings, extra="forbid"): """ Settings for the `trip_scheduling_choice` component. """ - PREPROCESSOR: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - - SPECIFICATION: str - """file name of specification file""" - - compute_settings: ComputeSettings = ComputeSettings() - """Compute settings for this component.""" + pass @workflow.step @@ -396,34 +401,32 @@ def trip_scheduling_choice( .reindex(tours.index) ) - preprocessor_settings = model_settings.PREPROCESSOR - # hack: preprocessor adds origin column in place if it does not exist already od_skim_stack_wrapper = skim_dict.wrap("origin", "destination") do_skim_stack_wrapper = skim_dict.wrap("destination", "origin") obib_skim_stack_wrapper = skim_dict.wrap(LAST_OB_STOP, FIRST_IB_STOP) - skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] - - locals_dict = { + skims = { "od_skims": od_skim_stack_wrapper, "do_skims": do_skim_stack_wrapper, "obib_skims": obib_skim_stack_wrapper, + } + locals_dict = { "orig_col_name": "origin", "dest_col_name": "destination", "timeframe": "timeless_directional", } + locals_dict.update(skims) - if preprocessor_settings: - simulate.set_skim_wrapper_targets(tours_df, skims) - - expressions.assign_columns( - state, - df=tours_df, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) + # preprocess choosers + expressions.annotate_preprocessors( + state, + df=tours_df, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) tours_df = run_trip_scheduling_choice( state, @@ -436,3 +439,11 @@ def trip_scheduling_choice( ) state.add_table("tours", tours_df) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/util/annotate.py b/activitysim/abm/models/util/annotate.py deleted file mode 100644 index 5c0f628219..0000000000 --- a/activitysim/abm/models/util/annotate.py +++ /dev/null @@ -1,136 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -from __future__ import annotations - -import logging - -import pandas as pd - -from activitysim.core import expressions, tracing, workflow -from activitysim.core.configuration import PydanticBase - -""" -Code for annotating tables -""" - -logger = logging.getLogger(__name__) - - -def annotate_households( - state: workflow.State, - model_settings: dict | PydanticBase, - trace_label: str, - locals_dict: dict | None = None, -): - """ - Add columns to the households table in the pipeline according to spec. - - Parameters - ---------- - model_settings : dict - trace_label : str - """ - if isinstance(model_settings, PydanticBase): - model_settings = model_settings.dict() - if locals_dict is None: - locals_dict = {} - households = state.get_dataframe("households") - expressions.assign_columns( - state, - df=households, - model_settings=model_settings.get("annotate_households"), - locals_dict=locals_dict, - trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), - ) - state.add_table("households", households) - - -def annotate_persons( - state: workflow.State, - model_settings: dict | PydanticBase, - trace_label: str, - locals_dict: dict | None = None, -): - """ - Add columns to the persons table in the pipeline according to spec. - - Parameters - ---------- - model_settings : dict - trace_label : str - """ - if isinstance(model_settings, PydanticBase): - model_settings = model_settings.dict() - if locals_dict is None: - locals_dict = {} - persons = state.get_dataframe("persons") - expressions.assign_columns( - state, - df=persons, - model_settings=model_settings.get("annotate_persons"), - locals_dict=locals_dict, - trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), - ) - state.add_table("persons", persons) - - -def annotate_tours( - state: workflow.State, - model_settings: dict | PydanticBase, - trace_label: str, - locals_dict: dict | None = None, -): - """ - Add columns to the tours table in the pipeline according to spec. - - Parameters - ---------- - state : workflow.State - model_settings : dict or PydanticBase - trace_label : str - locals_dict : dict, optional - """ - if isinstance(model_settings, PydanticBase): - model_settings = model_settings.dict() - if locals_dict is None: - locals_dict = {} - tours = state.get_dataframe("tours") - expressions.assign_columns( - state, - df=tours, - model_settings=model_settings.get("annotate_tours"), - locals_dict=locals_dict, - trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), - ) - state.add_table("tours", tours) - - -def annotate_trips( - state: workflow.State, - model_settings: dict | PydanticBase, - trace_label: str, - locals_dict=None, -): - """ - Add columns to the trips table in the pipeline according to spec. - - Parameters - ---------- - state : workflow.State - model_settings : dict or PydanticBase - trace_label : str - locals_dict : dict, optional - """ - if isinstance(model_settings, PydanticBase): - model_settings = model_settings.dict() - if locals_dict is None: - locals_dict = {} - trips = state.get_dataframe("trips") - expressions.assign_columns( - state, - df=trips, - model_settings=model_settings.get("annotate_trips"), - locals_dict=locals_dict, - trace_label=tracing.extend_trace_label(trace_label, "annotate_trips"), - ) - state.add_table("trips", trips) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index ab26239167..e3246a6233 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -255,7 +255,7 @@ def canonical_tours(state: workflow.State): ) non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) - logger.info(f"Non-Mandatory tour flavors used are {non_mandatory_tour_flavors}") + logger.debug(f"Non-Mandatory tour flavors used are {non_mandatory_tour_flavors}") # ---- mandatory_channels mtf_model_settings_file_name = "mandatory_tour_frequency.yaml" @@ -271,7 +271,7 @@ def canonical_tours(state: workflow.State): ) mandatory_channels = enumerate_tour_types(mandatory_tour_flavors) - logger.info(f"Mandatory tour flavors used are {mandatory_tour_flavors}") + logger.debug(f"Mandatory tour flavors used are {mandatory_tour_flavors}") # ---- atwork_subtour_channels atwork_model_settings_file_name = "atwork_subtour_frequency.yaml" @@ -288,7 +288,7 @@ def canonical_tours(state: workflow.State): ) atwork_subtour_channels = enumerate_tour_types(atwork_subtour_flavors) - logger.info(f"Atwork subtour flavors used are {atwork_subtour_flavors}") + logger.debug(f"Atwork subtour flavors used are {atwork_subtour_flavors}") # we need to distinguish between subtours of different work tours # (e.g. eat1_1 is eat subtour for parent work tour 1 and eat1_2 is for work tour 2) @@ -317,7 +317,7 @@ def canonical_tours(state: workflow.State): joint_tour_flavors = determine_flavors_from_alts_file( jtf_alts, provided_joint_flavors, default_joint_flavors ) - logger.info(f"Joint tour flavors used are {joint_tour_flavors}") + logger.debug(f"Joint tour flavors used are {joint_tour_flavors}") joint_tour_channels = enumerate_tour_types(joint_tour_flavors) joint_tour_channels = ["j_%s" % c for c in joint_tour_channels] @@ -343,7 +343,7 @@ def canonical_tours(state: workflow.State): school_escort_flavors = {"escort": 2 * num_escortees} school_escort_channels = enumerate_tour_types(school_escort_flavors) school_escort_channels = ["se_%s" % c for c in school_escort_channels] - logger.info(f"School escort tour flavors used are {school_escort_flavors}") + logger.debug(f"School escort tour flavors used are {school_escort_flavors}") sub_channels = sub_channels + school_escort_channels diff --git a/activitysim/abm/models/util/cdap.py b/activitysim/abm/models/util/cdap.py index 71aca621de..48ec7a31a1 100644 --- a/activitysim/abm/models/util/cdap.py +++ b/activitysim/abm/models/util/cdap.py @@ -10,6 +10,7 @@ from activitysim.core import chunk, logit, simulate, tracing, workflow from activitysim.core.configuration.base import ComputeSettings +from activitysim.core.exceptions import ModelConfigurationError logger = logging.getLogger(__name__) @@ -48,7 +49,7 @@ def add_pn(col, pnum): elif isinstance(col, (list, tuple)): return [c if c == _hh_id_ else "%s_p%s" % (c, pnum) for c in col] else: - raise RuntimeError("add_pn col not list or str") + raise TypeError("add_pn col not list or str") def assign_cdap_rank( @@ -270,7 +271,7 @@ def preprocess_interaction_coefficients(interaction_coefficients): "Error in cdap_interaction_coefficients at row %s. Expect only M, N, or H!" % coefficients[~coefficients["activity"].isin(["M", "N", "H"])].index.values ) - raise RuntimeError(msg) + raise ModelConfigurationError(msg) coefficients["cardinality"] = ( coefficients["interaction_ptypes"].astype(str).str.len() @@ -470,8 +471,9 @@ def build_cdap_spec( continue if not (0 <= row.cardinality <= MAX_INTERACTION_CARDINALITY): - raise RuntimeError( - "Bad row cardinality %d for %s" % (row.cardinality, row.slug) + raise ModelConfigurationError( + "Bad row cardinality %d for %s. Try checking that all interaction terms include 3 or fewer person types." + % (row.cardinality, row.slug) ) # for all other interaction rules, we need to generate a row in the spec for each @@ -965,6 +967,7 @@ def household_activity_choices( spec, choosers, trace_label=trace_label, + have_trace_targets=(trace_hh_id in choosers.index), chunk_sizer=chunk_sizer, compute_settings=compute_settings, ) @@ -980,14 +983,15 @@ def household_activity_choices( interaction_coefficients, hhsize, trace_spec=(trace_hh_id in choosers.index), - trace_label=trace_label, + trace_label=tracing.extend_trace_label(trace_label, "joint"), ) joint_tour_utils = simulate.eval_utilities( state, joint_tour_spec, choosers, - trace_label=trace_label, + trace_label=tracing.extend_trace_label(trace_label, "joint"), + have_trace_targets=(trace_hh_id in choosers.index), chunk_sizer=chunk_sizer, compute_settings=compute_settings, ) diff --git a/activitysim/abm/models/util/mode.py b/activitysim/abm/models/util/mode.py index 49776684a3..d82dd09ea8 100644 --- a/activitysim/abm/models/util/mode.py +++ b/activitysim/abm/models/util/mode.py @@ -88,7 +88,8 @@ def mode_choice_simulate( choices[mode_column_name] = choices[mode_column_name].map( dict(list(zip(list(range(len(alts))), alts))) ) - cat_type = pd.api.types.CategoricalDtype([""] + alts.tolist(), ordered=True) + # note: do we want to order the mode categories? + cat_type = pd.api.types.CategoricalDtype([""] + alts.tolist()) choices[mode_column_name] = choices[mode_column_name].astype(cat_type) return choices diff --git a/activitysim/abm/models/util/probabilistic_scheduling.py b/activitysim/abm/models/util/probabilistic_scheduling.py index cdaf64da5a..193a1b703d 100644 --- a/activitysim/abm/models/util/probabilistic_scheduling.py +++ b/activitysim/abm/models/util/probabilistic_scheduling.py @@ -8,6 +8,7 @@ import pandas as pd from activitysim.core import chunk, logit, tracing, workflow +from activitysim.core.exceptions import InvalidTravelError logger = logging.getLogger(__name__) @@ -210,7 +211,7 @@ def _postprocess_scheduling_choices( if scheduling_mode == "relative": if failed.any(): - RuntimeError( + InvalidTravelError( f"Failed trips in realtive mode for {failed.sum()} trips: {choosers[failed]}" ) diff --git a/activitysim/abm/models/util/school_escort_tours_trips.py b/activitysim/abm/models/util/school_escort_tours_trips.py index 4a9f2ef170..665844023f 100644 --- a/activitysim/abm/models/util/school_escort_tours_trips.py +++ b/activitysim/abm/models/util/school_escort_tours_trips.py @@ -767,7 +767,9 @@ def merge_school_escort_trips_into_pipeline(state: workflow.State): if isinstance(school_escort_trips[c].dtype, pd.api.types.CategoricalDtype): from pandas.api.types import union_categoricals - uc = union_categoricals([trips[c], school_escort_trips[c]]) + uc = union_categoricals( + [trips[c], school_escort_trips[c]], sort_categories=True + ) trips[c] = pd.Categorical(trips[c], categories=uc.categories) school_escort_trips[c] = pd.Categorical( school_escort_trips[c], categories=uc.categories diff --git a/activitysim/abm/models/util/tour_destination.py b/activitysim/abm/models/util/tour_destination.py index 0891b8d216..d99803bd7d 100644 --- a/activitysim/abm/models/util/tour_destination.py +++ b/activitysim/abm/models/util/tour_destination.py @@ -9,7 +9,15 @@ from activitysim.abm.models.util import logsums as logsum from activitysim.abm.tables.size_terms import tour_destination_size_terms -from activitysim.core import config, los, simulate, tracing, workflow +from activitysim.core import ( + config, + estimation, + los, + simulate, + tracing, + workflow, + expressions, +) from activitysim.core.configuration.logit import TourLocationComponentSettings from activitysim.core.interaction_sample import interaction_sample from activitysim.core.interaction_sample_simulate import interaction_sample_simulate @@ -84,18 +92,20 @@ def _destination_sample( coefficients_file_name=model_settings.COEFFICIENTS, ) - logger.info("running %s with %d tours", trace_label, len(choosers)) + logger.debug("running %s with %d tours", trace_label, len(choosers)) sample_size = model_settings.SAMPLE_SIZE - if state.settings.disable_destination_sampling or ( - estimator and estimator.want_unsampled_alternatives - ): - # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info( - "Estimation mode for %s using unsampled alternatives short_circuit_choices" - % (trace_label,) + if estimator and model_settings.ESTIMATION_SAMPLE_SIZE >= 0: + sample_size = model_settings.ESTIMATION_SAMPLE_SIZE + logger.debug( + f"Estimation mode for {trace_label} using sample size of {sample_size}" ) + + if state.settings.disable_destination_sampling: sample_size = 0 + logger.debug( + f"SAMPLE_SIZE set to 0 for {trace_label} because disable_destination_sampling is set" + ) locals_d = { "skims": skims, @@ -109,6 +119,27 @@ def _destination_sample( log_alt_losers = state.settings.log_alt_losers + # preprocess choosers table + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_d, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocess alternatives table + expressions.annotate_preprocessors( + state, + df=destination_size_terms, + locals_dict=locals_d, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_sample", + ) + choices = interaction_sample( state, choosers, @@ -232,7 +263,9 @@ def aggregate_size_terms(dest_size_terms, network_los): return MAZ_size_terms, TAZ_size_terms -def choose_MAZ_for_TAZ(state: workflow.State, taz_sample, MAZ_size_terms, trace_label): +def choose_MAZ_for_TAZ( + state: workflow.State, taz_sample, MAZ_size_terms, trace_label, model_settings +): """ Convert taz_sample table with TAZ zone sample choices to a table with a MAZ zone chosen for each TAZ choose MAZ probabilistically (proportionally by size_term) from set of MAZ zones in parent TAZ @@ -308,7 +341,7 @@ def choose_MAZ_for_TAZ(state: workflow.State, taz_sample, MAZ_size_terms, trace_ # taz_choices index values should be contiguous assert ( - taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)) ).all() # we need to choose a MAZ for each DEST_TAZ choice @@ -453,6 +486,59 @@ def choose_MAZ_for_TAZ(state: workflow.State, taz_sample, MAZ_size_terms, trace_ transpose=False, ) + if estimation.manager.enabled and ( + model_settings.ESTIMATION_SAMPLE_SIZE > 0 + or ( + model_settings.ESTIMATION_SAMPLE_SIZE < 0 and model_settings.SAMPLE_SIZE > 0 + ) + ): + # want to ensure the override choice is in the choice set + survey_choices = estimation.manager.get_survey_destination_choices( + state, chooser_df, trace_label + ) + + if survey_choices is not None: + assert ( + chooser_df.index == survey_choices.index + ).all(), "survey_choices index should match chooser_df index" + survey_choices.name = DEST_MAZ + survey_choices = survey_choices.dropna().astype(taz_choices[DEST_MAZ].dtype) + # merge maz_sizes onto survey choices + MAZ_size_terms["MAZ_prob"] = MAZ_size_terms.groupby("dest_TAZ")[ + "size_term" + ].transform(lambda x: x / x.sum()) + survey_choices = pd.merge( + survey_choices.reset_index(), + MAZ_size_terms.rename(columns={"zone_id": DEST_MAZ}), + on=[DEST_MAZ], + how="left", + ) + # merge TAZ_prob from taz_choices onto survey choices + survey_choices = pd.merge( + survey_choices, + # dropping duplicates to avoid duplicate rows as the same TAZ can be chosen multiple times + taz_choices[[chooser_id_col, "dest_TAZ", "TAZ_prob"]].drop_duplicates( + subset=[chooser_id_col, "dest_TAZ"] + ), + on=[chooser_id_col, "dest_TAZ"], + how="left", + ) + + survey_choices["prob"] = ( + survey_choices["TAZ_prob"] * survey_choices["MAZ_prob"] + ) + + # Don't care about getting dest_TAZ correct as it gets dropped later + survey_choices.fillna(0, inplace=True) + + # merge survey choices back into choices_df and sort by chooser + taz_choices = pd.concat( + [taz_choices, survey_choices[taz_choices.columns]], ignore_index=True + ) + taz_choices.sort_values( + by=[chooser_id_col, "dest_TAZ"], inplace=True, ignore_index=True + ) + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg( prob=("prob", "max"), pick_count=("prob", "count") @@ -476,7 +562,7 @@ def destination_presample( trace_label = tracing.extend_trace_label(trace_label, "presample") chunk_tag = "tour_destination.presample" - logger.info(f"{trace_label} location_presample") + logger.debug(f"{trace_label} location_presample") alt_dest_col_name = model_settings.ALT_DEST_COL_NAME assert DEST_TAZ != alt_dest_col_name @@ -511,7 +597,9 @@ def destination_presample( ) # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total - maz_choices = choose_MAZ_for_TAZ(state, taz_sample, MAZ_size_terms, trace_label) + maz_choices = choose_MAZ_for_TAZ( + state, taz_sample, MAZ_size_terms, trace_label, model_settings + ) assert DEST_MAZ in maz_choices maz_choices = maz_choices.rename(columns={DEST_MAZ: alt_dest_col_name}) @@ -564,7 +652,7 @@ def run_destination_sample( ) if pre_sample_taz: - logger.info( + logger.debug( "Running %s destination_presample with %d tours" % (trace_label, len(tours)) ) @@ -652,7 +740,7 @@ def run_destination_logsums( how="left", ) - logger.info("Running %s with %s rows", trace_label, len(choosers)) + logger.debug("Running %s with %s rows", trace_label, len(choosers)) state.tracing.dump_df(DUMP, persons_merged, trace_label, "persons_merged") state.tracing.dump_df(DUMP, choosers, trace_label, "choosers") @@ -744,7 +832,7 @@ def run_destination_simulate( constants = model_settings.CONSTANTS - logger.info("Running tour_destination_simulate with %d persons", len(choosers)) + logger.debug("Running tour_destination_simulate with %d persons", len(choosers)) # create wrapper with keys for this lookup - in this case there is a home_zone_id in the choosers # and a zone_id in the alternatives which get merged during interaction @@ -761,6 +849,27 @@ def run_destination_simulate( if constants is not None: locals_d.update(constants) + # preprocess choosers table + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_d, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) + + # preprocess alternatives table + expressions.annotate_preprocessors( + state, + df=destination_sample, + locals_dict=locals_d, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_simulate", + ) + state.tracing.dump_df(DUMP, choosers, trace_label, "choosers") log_alt_losers = state.settings.log_alt_losers @@ -852,17 +961,21 @@ def run_tour_destination( ) # - destination_logsums - tour_purpose = segment_name # tour_purpose is segment_name - location_sample_df = run_destination_logsums( - state, - tour_purpose, - persons_merged, - location_sample_df, - model_settings, - network_los, - chunk_size=state.settings.chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, "logsums"), - ) + # if LOGSUM_SETTINGS is set to 'None', we skip this step + if model_settings.LOGSUM_SETTINGS: + tour_purpose = segment_name # tour_purpose is segment_name + location_sample_df = run_destination_logsums( + state, + tour_purpose, + persons_merged, + location_sample_df, + model_settings, + network_los, + chunk_size=state.settings.chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "logsums"), + ) + else: + location_sample_df["mode_choice_logsum"] = 0 # - destination_simulate spec_segment_name = segment_name # spec_segment_name is segment_name diff --git a/activitysim/abm/models/util/tour_frequency.py b/activitysim/abm/models/util/tour_frequency.py index 93c624b135..3c64f4bcc2 100644 --- a/activitysim/abm/models/util/tour_frequency.py +++ b/activitysim/abm/models/util/tour_frequency.py @@ -643,8 +643,7 @@ class JointTourFreqCompSettings(LogitComponentSettings, extra="forbid"): """ ALTS_TABLE_STRUCTURE: JointTourFreqCompAlts = JointTourFreqCompAlts() - preprocessor: PreprocessorSettings | None = None - ALTS_PREPROCESSOR: PreprocessorSettings | None = None + ALTS_PREPROCESSOR: PreprocessorSettings | list[PreprocessorSettings] | None = None def create_joint_tours( diff --git a/activitysim/abm/models/util/tour_od.py b/activitysim/abm/models/util/tour_od.py index 7c615142f4..5ec9dd493f 100644 --- a/activitysim/abm/models/util/tour_od.py +++ b/activitysim/abm/models/util/tour_od.py @@ -47,7 +47,6 @@ class TourODSettings(TourLocationComponentSettings): ORIGIN_ATTR_COLS_TO_USE: list[str] = [] ORIG_COL_NAME: str ORIG_FILTER: str | None = None - preprocessor: PreprocessorSettings | None = None def get_od_id_col(origin_col, destination_col): @@ -156,7 +155,7 @@ def _od_sample( else: alt_col_name = alt_od_col_name - logger.info("running %s with %d tours", trace_label, len(choosers)) + logger.debug("running %s with %d tours", trace_label, len(choosers)) sample_size = model_settings.SAMPLE_SIZE if state.settings.disable_destination_sampling or ( @@ -164,7 +163,7 @@ def _od_sample( ): # FIXME interaction_sample will return unsampled complete alternatives # with probs and pick_count - logger.info( + logger.debug( ( "Estimation mode for %s using unsampled alternatives " "short_circuit_choices" @@ -203,6 +202,17 @@ def _od_sample( elif skims.orig_key not in od_alts_df: logger.error("Alts df is missing origin skim key column.") + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=od_alts_df, + locals_dict=locals_d, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_sample", + ) + choices = interaction_sample( state, choosers, @@ -597,7 +607,7 @@ def od_presample( trace_label = tracing.extend_trace_label(trace_label, "presample") chunk_tag = "tour_od.presample" - logger.info(f"{trace_label} od_presample") + logger.debug(f"{trace_label} od_presample") alt_od_col_name = get_od_id_col(ORIG_MAZ, DEST_TAZ) @@ -658,54 +668,6 @@ def od_presample( return maz_choices -# class SizeTermCalculatorOD: # class SizeTermCalculator -# """ -# convenience object to provide size_terms for a selector (e.g. -# non_mandatory) for various segments (e.g. tour_type or purpose) -# returns size terms for specified segment in df or series form. -# """ -# -# def __init__(self, size_term_selector): -# # do this once so they can request size_terms for various segments (tour_type or purpose) -# land_use = state.checkpoint.load_dataframe("land_use") -# self.land_use = land_use -# size_terms = state.get_injectable("size_terms") -# self.destination_size_terms = tour_destination_size_terms( -# self.land_use, size_terms, size_term_selector -# ) -# -# assert not self.destination_size_terms.isna().any(axis=None) -# -# def omnibus_size_terms_df(self): -# return self.destination_size_terms -# -# def dest_size_terms_df(self, segment_name, trace_label): -# # return size terms as df with one column named 'size_term' -# # convenient if creating or merging with alts -# -# size_terms = self.destination_size_terms[[segment_name]].copy() -# size_terms.columns = ["size_term"] -# -# # FIXME - no point in considering impossible alternatives (where dest size term is zero) -# logger.debug( -# f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " -# f"of {len(size_terms)} rows where size_term is zero for {segment_name}" -# ) -# size_terms = size_terms[size_terms.size_term > 0] -# -# if len(size_terms) == 0: -# logger.warning( -# f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}" -# ) -# -# return size_terms -# -# def dest_size_terms_series(self, segment_name): -# # return size terms as as series -# # convenient (and no copy overhead) if reindexing and assigning into alts column -# return self.destination_size_terms[segment_name] - - def run_od_sample( state, spec_segment_name, @@ -749,7 +711,7 @@ def run_od_sample( ) if pre_sample_taz: - logger.info( + logger.debug( "Running %s destination_presample with %d tours" % (trace_label, len(tours)) ) @@ -818,7 +780,7 @@ def run_od_logsums( choosers[origin_id_col].astype(str) + "_" + choosers[dest_id_col].astype(str) ) - logger.info("Running %s with %s rows", trace_label, len(choosers)) + logger.debug("Running %s with %s rows", trace_label, len(choosers)) state.tracing.dump_df(DUMP, choosers, trace_label, "choosers") @@ -1027,7 +989,7 @@ def run_od_simulate( constants = model_settings.CONSTANTS - logger.info("Running tour_destination_simulate with %d persons", len(choosers)) + logger.debug("Running tour_destination_simulate with %d persons", len(choosers)) # create wrapper with keys for this lookup - in this case there is an origin ID # column and a destination ID columns in the alternatives table. @@ -1044,6 +1006,17 @@ def run_od_simulate( if constants is not None: locals_d.update(constants) + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=od_sample, + locals_dict=locals_d, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor_simulate", + ) + state.tracing.dump_df(DUMP, choosers, trace_label, "choosers") choices = interaction_sample_simulate( state, @@ -1085,7 +1058,6 @@ def run_tour_od( trace_label, ): size_term_calculator = SizeTermCalculator(state, model_settings.SIZE_TERM_SELECTOR) - preprocessor_settings = model_settings.preprocessor origin_col_name = model_settings.ORIG_COL_NAME chooser_segment_column = model_settings.CHOOSER_SEGMENT_COLUMN_NAME @@ -1108,15 +1080,15 @@ def run_tour_od( right_index=True, ) - # - annotate choosers - if preprocessor_settings: - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - trace_label=trace_label, - ) - + # preprocessing choosers + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict={}, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) # size_term segment is segment_name segment_destination_size_terms = size_term_calculator.dest_size_terms_df( segment_name, trace_label @@ -1160,20 +1132,24 @@ def run_tour_od( ) # - destination_logsums - od_sample_df = run_od_logsums( - state, - spec_segment_name, - choosers, - od_sample_df, - model_settings, - network_los, - estimator, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label( - trace_label, f"logsums.{segment_name}" - ), - ) + # Skip logsum calculation step if LOGSUM_SETTINGS is None + if model_settings.LOGSUM_SETTINGS: + od_sample_df = run_od_logsums( + state, + spec_segment_name, + choosers, + od_sample_df, + model_settings, + network_los, + estimator, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=tracing.extend_trace_label( + trace_label, f"logsums.{segment_name}" + ), + ) + else: + od_sample_df["tour_mode_choice_logsum"] = 0.0 # - od_simulate choices = run_od_simulate( diff --git a/activitysim/abm/models/util/tour_scheduling.py b/activitysim/abm/models/util/tour_scheduling.py index db003786f4..80474db596 100644 --- a/activitysim/abm/models/util/tour_scheduling.py +++ b/activitysim/abm/models/util/tour_scheduling.py @@ -16,20 +16,13 @@ def run_tour_scheduling( state: workflow.State, - model_name: str, + model_settings: TourSchedulingSettings, chooser_tours: pd.DataFrame, persons_merged: pd.DataFrame, tdd_alts: pd.DataFrame, tour_segment_col: str, + trace_label: str, ): - trace_label = model_name - model_settings_file_name = f"{model_name}.yaml" - - model_settings = TourSchedulingSettings.read_settings_file( - state.filesystem, - model_settings_file_name, - mandatory=False, - ) if model_settings.LOGSUM_SETTINGS: logsum_settings = TourModeComponentSettings.read_settings_file( @@ -52,18 +45,19 @@ def run_tour_scheduling( timetable = state.get_injectable("timetable") # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {"tt": timetable.attach_state(state)} - locals_d.update(config.get_model_constants(model_settings)) - - expressions.assign_columns( - state, - df=chooser_tours, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) + locals_d = {"tt": timetable.attach_state(state)} + locals_d.update(config.get_model_constants(model_settings)) + + # preprocess choosers + expressions.annotate_preprocessors( + state, + df=chooser_tours, + locals_dict=locals_d, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) + # alts preprocessed in vectorize_tour_scheduling estimators = {} if model_settings.TOUR_SPEC_SEGMENTS: @@ -72,7 +66,7 @@ def run_tour_scheduling( specs = {} compute_settings = {} for spec_segment_name, spec_settings in spec_segment_settings.items(): - bundle_name = f"{model_name}_{spec_segment_name}" + bundle_name = f"{trace_label}_{spec_segment_name}" # estimator for this tour_segment estimator = estimation.manager.begin_estimation( @@ -91,7 +85,7 @@ def run_tour_scheduling( if estimator: estimators[spec_segment_name] = estimator # add to local list - estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_model_settings(model_settings, f"{trace_label}.yaml") estimator.write_spec(spec_settings) estimator.write_coefficients(coefficients_df, spec_settings) @@ -121,7 +115,7 @@ def run_tour_scheduling( assert not model_settings.TOUR_SPEC_SEGMENTS assert tour_segment_col is None - estimator = estimation.manager.begin_estimation(state, model_name) + estimator = estimation.manager.begin_estimation(state, trace_label) spec_file_name = model_settings.SPEC model_spec = state.filesystem.read_model_spec(file_name=spec_file_name) @@ -132,7 +126,7 @@ def run_tour_scheduling( if estimator: estimators[None] = estimator # add to local list - estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_model_settings(model_settings, f"{trace_label}.yaml") estimator.write_spec(model_settings) estimator.write_coefficients(coefficients_df, model_settings) @@ -146,7 +140,7 @@ def run_tour_scheduling( if estimators: timetable.begin_transaction(list(estimators.values())) - logger.info(f"Running {model_name} with %d tours", len(chooser_tours)) + logger.debug(f"Running {trace_label} with %d tours", len(chooser_tours)) choices = vts.vectorize_tour_scheduling( state, chooser_tours, diff --git a/activitysim/abm/models/util/vectorize_tour_scheduling.py b/activitysim/abm/models/util/vectorize_tour_scheduling.py index dfab8171de..c199ef40da 100644 --- a/activitysim/abm/models/util/vectorize_tour_scheduling.py +++ b/activitysim/abm/models/util/vectorize_tour_scheduling.py @@ -43,8 +43,6 @@ class TourSchedulingSettings(LogitComponentSettings, extra="forbid"): give the segements. """ SIMULATE_CHOOSER_COLUMNS: list[str] | None = None - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" SPEC_SEGMENTS: dict[str, LogitComponentSettings] = {} @@ -84,7 +82,7 @@ def skims_for_logsums( elif isinstance(destination_for_tour_purpose, dict): dest_col_name = destination_for_tour_purpose.get(tour_purpose) else: - raise RuntimeError( + raise TypeError( f"expected string or dict DESTINATION_FOR_TOUR_PURPOSE model_setting for {tour_purpose}" ) @@ -163,7 +161,7 @@ def _compute_logsums( mandatory=False, ) choosers = alt_tdd.join(tours_merged, how="left", rsuffix="_chooser") - logger.info( + logger.debug( f"{trace_label} compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts" ) @@ -196,7 +194,7 @@ def _compute_logsums( if preprocessor_settings: simulate.set_skim_wrapper_targets(choosers, skims) - logger.info( + logger.debug( f"{trace_label} start preprocessing prior to compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts" ) expressions.assign_columns( @@ -206,7 +204,7 @@ def _compute_logsums( locals_dict=locals_dict, trace_label=trace_label, ) - logger.info( + logger.debug( f"{trace_label} end preprocessing prior to compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts" ) @@ -428,7 +426,7 @@ def compute_tour_scheduling_logsums( ) chunk_sizer.log_df(trace_label, "deduped_alt_tdds", deduped_alt_tdds) - logger.info( + logger.debug( f"{trace_label} compute_logsums " f"deduped_alt_tdds reduced number of rows by " f"{round(100 * (len(alt_tdd) - len(deduped_alt_tdds)) / len(alt_tdd), 2)}% " @@ -760,7 +758,7 @@ def _schedule_tours( """ - logger.info( + logger.debug( "%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours)) ) @@ -910,7 +908,7 @@ def schedule_tours( logger.info("schedule_tours %s tours not monotonic_increasing - sorting df") tours = tours.sort_index() - logger.info( + logger.debug( "%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours)) ) diff --git a/activitysim/abm/models/vehicle_allocation.py b/activitysim/abm/models/vehicle_allocation.py index 8dfb35bfd4..a3f04037c0 100644 --- a/activitysim/abm/models/vehicle_allocation.py +++ b/activitysim/abm/models/vehicle_allocation.py @@ -87,13 +87,10 @@ def get_skim_dict(network_los: los.Network_LOS, choosers: pd.DataFrame): class VehicleAllocationSettings(LogitComponentSettings, extra="forbid"): """ - Settings for the `joint_tour_scheduling` component. + Settings for the `vehicle_allocation` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - - OCCUPANCY_LEVELS: list = [1] # TODO Check this + OCCUPANCY_LEVELS: list = [1] # TODO check this """Occupancy level It will create columns in the tour table selecting a vehicle for each of the @@ -101,9 +98,6 @@ class VehicleAllocationSettings(LogitComponentSettings, extra="forbid"): if not supplied, will default to only one occupancy level of 1 """ - annotate_tours: PreprocessorSettings | None = None - """Preprocessor settings to annotate tours""" - @workflow.step def vehicle_allocation( @@ -212,15 +206,14 @@ def vehicle_allocation( locals_dict.update(skims) # ------ preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) logger.info("Running %s with %d tours", trace_label, len(choosers)) @@ -286,9 +279,13 @@ def vehicle_allocation( "vehicle_allocation", tours[tours_veh_occup_cols], value_counts=True ) - annotate_settings = model_settings.annotate_tours - if annotate_settings: - annotate_vehicle_allocation(state, model_settings, trace_label) - if state.settings.trace_hh_id: state.tracing.trace_df(tours, label="vehicle_allocation", warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=skims, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/vehicle_type_choice.py b/activitysim/abm/models/vehicle_type_choice.py index 93caae0381..5347b5bb79 100644 --- a/activitysim/abm/models/vehicle_type_choice.py +++ b/activitysim/abm/models/vehicle_type_choice.py @@ -407,15 +407,16 @@ def iterate_vehicle_type_choice( ) # alts preprocessor - alts_preprocessor_settings = model_settings.alts_preprocessor - if alts_preprocessor_settings: - expressions.assign_columns( - state, - df=alts_wide, - model_settings=alts_preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) + # preprocessing alternatives + expressions.annotate_preprocessors( + state, + df=alts_wide, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + preprocessor_setting_name="alts_preprocessor", + ) # - preparing choosers for iterating vehicles_merged["already_owned_veh"] = "" @@ -434,15 +435,15 @@ def iterate_vehicle_type_choice( # running preprocessor on entire vehicle table to enumerate vehicle types # already owned by the household choosers = vehicles_merged - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label, - ) + # preprocessing choosers + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) # only make choices for vehicles that have not been selected yet choosers = choosers[choosers["vehicle_num"] == veh_num] @@ -564,7 +565,6 @@ class VehicleTypeChoiceSettings(LogitComponentSettings, extra="forbid"): VEHICLE_TYPE_DATA_FILE: str | None = None PROBS_SPEC: str | None = None combinatorial_alts: dict | None = None - preprocessor: PreprocessorSettings | None = None alts_preprocessor: PreprocessorSettings | None = None SIMULATION_TYPE: Literal[ "simple_simulate", "interaction_simulate" @@ -576,10 +576,6 @@ class VehicleTypeChoiceSettings(LogitComponentSettings, extra="forbid"): COLS_TO_INCLUDE_IN_ALTS_TABLE: list[str] = [] """Columns to include in the alternatives table for use in utility calculations.""" - annotate_households: PreprocessorSettings | None = None - annotate_persons: PreprocessorSettings | None = None - annotate_vehicles: PreprocessorSettings | None = None - REQUIRE_DATA_FOR_ALL_ALTS: bool = False WRITE_OUT_ALTS_FILE: bool = False @@ -708,14 +704,6 @@ def vehicle_type_choice( vehicles = pd.concat([vehicles, choices], axis=1) state.add_table("vehicles", vehicles) - # - annotate tables - if model_settings.annotate_households: - annotate_vehicle_type_choice_households(state, model_settings, trace_label) - if model_settings.annotate_persons: - annotate_vehicle_type_choice_persons(state, model_settings, trace_label) - if model_settings.annotate_vehicles: - annotate_vehicle_type_choice_vehicles(state, model_settings, trace_label) - tracing.print_summary( "vehicle_type_choice", vehicles.vehicle_type, value_counts=True ) @@ -724,3 +712,11 @@ def vehicle_type_choice( state.tracing.trace_df( vehicles, label="vehicle_type_choice", warn_if_empty=True ) + + expressions.annotate_tables( + state, + locals_dict=locals_dict, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/models/work_from_home.py b/activitysim/abm/models/work_from_home.py index 8b96dafa13..6b8f8d7815 100755 --- a/activitysim/abm/models/work_from_home.py +++ b/activitysim/abm/models/work_from_home.py @@ -18,6 +18,7 @@ from activitysim.core.configuration.base import PreprocessorSettings, PydanticReadable from activitysim.core.configuration.logit import LogitComponentSettings + logger = logging.getLogger("activitysim") @@ -26,9 +27,6 @@ class WorkFromHomeSettings(LogitComponentSettings, extra="forbid"): Settings for the `work_from_home` component. """ - preprocessor: PreprocessorSettings | None = None - """Setting for the preprocessor.""" - WORK_FROM_HOME_ALT: int """Value that specify if the person is working from home""" # TODO @@ -88,20 +86,14 @@ def work_from_home( constants = config.get_model_constants(model_settings) work_from_home_alt = model_settings.WORK_FROM_HOME_ALT - # - preprocessor - preprocessor_settings = model_settings.preprocessor - if preprocessor_settings: - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - state, - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label, - ) + expressions.annotate_preprocessors( + state, + df=choosers, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) model_spec = state.filesystem.read_model_spec(file_name=model_settings.SPEC) coefficients_df = state.filesystem.read_model_coefficients(model_settings) @@ -221,3 +213,11 @@ def work_from_home( if state.settings.trace_hh_id: state.tracing.trace_df(persons, label=trace_label, warn_if_empty=True) + + expressions.annotate_tables( + state, + locals_dict=constants, + skims=None, + model_settings=model_settings, + trace_label=trace_label, + ) diff --git a/activitysim/abm/tables/households.py b/activitysim/abm/tables/households.py index 9f121e7082..c0c33dcbcf 100644 --- a/activitysim/abm/tables/households.py +++ b/activitysim/abm/tables/households.py @@ -11,6 +11,7 @@ from activitysim.abm.tables.util import simple_table_join from activitysim.core import tracing, workflow from activitysim.core.input import read_input_table +from activitysim.core.exceptions import MissingInputTableDefinition logger = logging.getLogger(__name__) @@ -45,7 +46,7 @@ def households(state: workflow.State) -> pd.DataFrame: ) if df.shape[0] == 0: - raise RuntimeError("No override households found in store") + raise MissingInputTableDefinition("No override households found in store") # if we are tracing hh exclusively elif _trace_hh_id and households_sample_size == 1: diff --git a/activitysim/abm/tables/persons.py b/activitysim/abm/tables/persons.py index d5ab67fb57..2c7716ddcc 100644 --- a/activitysim/abm/tables/persons.py +++ b/activitysim/abm/tables/persons.py @@ -9,6 +9,7 @@ from activitysim.abm.tables.util import simple_table_join from activitysim.core import workflow +from activitysim.core.exceptions import InputTableError from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -55,7 +56,7 @@ def persons(state: workflow.State) -> pd.DataFrame: f"{persons_without_households.sum()} persons out of {len(df)} without households\n" f"{pd.Series({'person_id': persons_without_households.index.values})}" ) - raise RuntimeError( + raise InputTableError( f"{persons_without_households.sum()} persons with bad household_id" ) @@ -67,7 +68,7 @@ def persons(state: workflow.State) -> pd.DataFrame: f"{households_without_persons.sum()} households out of {len(households.index)} without persons\n" f"{pd.Series({'household_id': households_without_persons.index.values})}" ) - raise RuntimeError( + raise InputTableError( f"{households_without_persons.sum()} households with no persons" ) @@ -107,5 +108,5 @@ def persons_merged( left_on="person_id", ) if n_persons != len(persons): - raise RuntimeError("number of persons changed") + raise InputTableError("number of persons changed") return persons diff --git a/activitysim/abm/tables/shadow_pricing.py b/activitysim/abm/tables/shadow_pricing.py index 586924efc9..fa2832181c 100644 --- a/activitysim/abm/tables/shadow_pricing.py +++ b/activitysim/abm/tables/shadow_pricing.py @@ -18,6 +18,7 @@ from activitysim.core.configuration import PydanticReadable from activitysim.core.configuration.logit import TourLocationComponentSettings from activitysim.core.input import read_input_table +from activitysim.core.exceptions import SystemConfigurationError, MissingNameError logger = logging.getLogger(__name__) @@ -181,7 +182,7 @@ def __init__( logger.warning( "deprecated combination of multiprocessing and not fail_fast" ) - raise RuntimeError( + raise SystemConfigurationError( "Shadow pricing requires fail_fast setting in multiprocessing mode" ) @@ -904,7 +905,10 @@ def update_shadow_prices(self, state): self.sampled_persons = sampled_persons else: - raise RuntimeError("unknown SHADOW_PRICE_METHOD %s" % shadow_price_method) + raise SystemConfigurationError( + "unknown SHADOW_PRICE_METHOD %s, method must be one of 'ctramp', 'daysim', or 'simulation'" + % shadow_price_method + ) def dest_size_terms(self, segment): assert segment in self.segment_ids @@ -922,8 +926,9 @@ def dest_size_terms(self, segment): elif shadow_price_method == "simulation": utility_adjustment = self.shadow_prices[segment] else: - raise RuntimeError( - "unknown SHADOW_PRICE_METHOD %s" % shadow_price_method + raise SystemConfigurationError( + "unknown SHADOW_PRICE_METHOD %s, method must be one of 'ctramp', 'daysim', or 'simulation'" + % shadow_price_method ) size_terms = pd.DataFrame( @@ -1036,9 +1041,7 @@ def buffers_for_shadow_pricing(shadow_pricing_info): if np.issubdtype(dtype, np.int64): typecode = ctypes.c_int64 else: - raise RuntimeError( - "buffer_for_shadow_pricing unrecognized dtype %s" % dtype - ) + raise TypeError("buffer_for_shadow_pricing unrecognized dtype %s" % dtype) shared_data_buffer = multiprocessing.Array(typecode, buffer_size) @@ -1085,9 +1088,7 @@ def buffers_for_shadow_pricing_choice(state, shadow_pricing_choice_info): if np.issubdtype(dtype, np.int64): typecode = ctypes.c_int64 else: - raise RuntimeError( - "buffer_for_shadow_pricing unrecognized dtype %s" % dtype - ) + raise TypeError("buffer_for_shadow_pricing unrecognized dtype %s" % dtype) shared_data_buffer = multiprocessing.Array(typecode, buffer_size) @@ -1145,12 +1146,12 @@ def shadow_price_data_from_buffers_choice( block_shapes = shadow_pricing_info["block_shapes"] if model_selector not in block_shapes: - raise RuntimeError( + raise MissingNameError( "Model selector %s not in shadow_pricing_info" % model_selector ) if block_name(model_selector + "_choice") not in data_buffers: - raise RuntimeError( + raise MissingNameError( "Block %s not in data_buffers" % block_name(model_selector + "_choice") ) @@ -1195,12 +1196,14 @@ def shadow_price_data_from_buffers(data_buffers, shadow_pricing_info, model_sele block_shapes = shadow_pricing_info["block_shapes"] if model_selector not in block_shapes: - raise RuntimeError( + raise MissingNameError( "Model selector %s not in shadow_pricing_info" % model_selector ) if block_name(model_selector) not in data_buffers: - raise RuntimeError("Block %s not in data_buffers" % block_name(model_selector)) + raise MissingNameError( + "Block %s not in data_buffers" % block_name(model_selector) + ) shape = block_shapes[model_selector] data = data_buffers[block_name(model_selector)] diff --git a/activitysim/abm/tables/vehicles.py b/activitysim/abm/tables/vehicles.py index c998c9abe3..36f13b0ccd 100644 --- a/activitysim/abm/tables/vehicles.py +++ b/activitysim/abm/tables/vehicles.py @@ -29,6 +29,12 @@ def vehicles(state: workflow.State, households: pd.DataFrame): """ # initialize vehicles table + if "auto_ownership" not in households.columns: + # grab the proto_households table instead + # this is called when running disaggregate accessibilities and the vehicles table is used in the logsum calculation + households = state.get_table("proto_households") + households.index.name = "household_id" + vehicles = households.loc[households.index.repeat(households["auto_ownership"])] vehicles = vehicles.reset_index()[["household_id"]] diff --git a/activitysim/abm/test/test_misc/configs_test_misc/network_los.yaml b/activitysim/abm/test/test_misc/configs_test_misc/network_los.yaml new file mode 100644 index 0000000000..391125a38e --- /dev/null +++ b/activitysim/abm/test/test_misc/configs_test_misc/network_los.yaml @@ -0,0 +1,14 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 1 + +taz_skims: skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 3, 5, 9, 14, 18, 24] # 3=3:00-3:59, 5=5:00-5:59, 9=9:00-9:59, 14=2:00-2:59, 18=6:00-6:59 + labels: ['EA', 'EA', 'AM', 'MD', 'PM', 'EV'] \ No newline at end of file diff --git a/activitysim/abm/test/test_misc/configs_test_misc/settings_60_min.yaml b/activitysim/abm/test/test_misc/configs_test_misc/settings_60_min.yaml new file mode 100644 index 0000000000..a9ca5a0816 --- /dev/null +++ b/activitysim/abm/test/test_misc/configs_test_misc/settings_60_min.yaml @@ -0,0 +1,9 @@ +zone_system: 1 + +taz_skims: z1_taz_skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 6, 11, 16, 20, 24] + labels: ['EA', 'AM', 'MD', 'PM', 'EV'] diff --git a/activitysim/abm/test/test_misc/data/z1_taz_skims.omx b/activitysim/abm/test/test_misc/data/z1_taz_skims.omx new file mode 100644 index 0000000000..18c6dc4408 Binary files /dev/null and b/activitysim/abm/test/test_misc/data/z1_taz_skims.omx differ diff --git a/activitysim/abm/test/test_misc/setup_utils.py b/activitysim/abm/test/test_misc/setup_utils.py index a4fe7e9c06..7169404432 100644 --- a/activitysim/abm/test/test_misc/setup_utils.py +++ b/activitysim/abm/test/test_misc/setup_utils.py @@ -2,6 +2,7 @@ # See full license in LICENSE.txt. from __future__ import annotations +import importlib.resources import logging import os @@ -10,7 +11,6 @@ import openmatrix as omx import pandas as pd import pandas.testing as pdt -import pkg_resources import pytest import yaml @@ -32,7 +32,7 @@ def example_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def setup_dirs(ancillary_configs_dir=None, data_dir=None): diff --git a/activitysim/abm/test/test_misc/test_load_cached_accessibility.py b/activitysim/abm/test/test_misc/test_load_cached_accessibility.py index 60288d67c8..402b18783a 100644 --- a/activitysim/abm/test/test_misc/test_load_cached_accessibility.py +++ b/activitysim/abm/test/test_misc/test_load_cached_accessibility.py @@ -2,6 +2,7 @@ # See full license in LICENSE.txt. from __future__ import annotations +import importlib.resources import logging import os @@ -10,7 +11,6 @@ import openmatrix as omx import pandas as pd import pandas.testing as pdt -import pkg_resources import pytest import yaml @@ -34,7 +34,7 @@ def example_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def close_handlers(): diff --git a/activitysim/abm/test/test_misc/test_trip_departure_choice.py b/activitysim/abm/test/test_misc/test_trip_departure_choice.py index 6d462c0bd0..94d47f57ac 100644 --- a/activitysim/abm/test/test_misc/test_trip_departure_choice.py +++ b/activitysim/abm/test/test_misc/test_trip_departure_choice.py @@ -1,152 +1,189 @@ -# import numpy as np -# import pandas as pd -# import pytest -# -# import activitysim.abm.models.trip_departure_choice as tdc -# from activitysim.abm.models.util.trip import get_time_windows -# from activitysim.core import los -# -# from .setup_utils import setup_dirs -# -# -# @pytest.fixture(scope="module") -# def trips(): -# outbound_array = [True, True, False, False, False, True, True, False, False, True] -# -# trips = pd.DataFrame( -# data={ -# "tour_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], -# "trip_duration": [2, 2, 7, 7, 7, 12, 12, 4, 4, 5], -# "inbound_duration": [0, 0, 7, 7, 7, 0, 0, 4, 4, 5], -# "main_leg_duration": [4, 4, 2, 2, 2, 2, 2, 1, 1, 2], -# "outbound_duration": [2, 2, 0, 0, 0, 12, 12, 0, 0, 5], -# "trip_count": [2, 2, 3, 3, 3, 2, 2, 2, 2, 1], -# "trip_num": [1, 2, 1, 2, 3, 1, 2, 1, 2, 1], -# "outbound": outbound_array, -# "chunk_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], -# "is_work": [ -# True, -# True, -# False, -# False, -# False, -# False, -# False, -# False, -# False, -# True, -# ], -# "is_school": [ -# False, -# False, -# False, -# False, -# False, -# False, -# False, -# True, -# True, -# False, -# ], -# "is_eatout": [ -# False, -# False, -# True, -# True, -# True, -# True, -# True, -# False, -# False, -# False, -# ], -# "start": [8, 8, 18, 18, 18, 18, 18, 24, 24, 19], -# "end": [14, 14, 39, 39, 39, 39, 39, 29, 29, 26], -# "origin": [3, 5, 15, 12, 24, 8, 17, 8, 9, 6], -# "destination": [5, 9, 12, 24, 20, 17, 18, 9, 11, 14], -# }, -# index=range(10), -# ) -# -# trips.index.name = "trip_id" -# return trips -# -# -# @pytest.fixture(scope="module") -# def settings(): -# return { -# "skims_file": "skims.omx", -# "skim_time_periods": {"labels": ["EA", "AM", "MD", "PM", "NT"]}, -# } -# -# -# @pytest.fixture(scope="module") -# def model_spec(): -# index = [ -# "@(df['stop_time_duration'] * df['is_work'].astype(int)).astype(int)", -# "@(df['stop_time_duration'] * df['is_school'].astype(int)).astype(int)", -# "@(df['stop_time_duration'] * df['is_eatout'].astype(int)).astype(int)", -# ] -# -# values = { -# "inbound": [0.933020, 0.370260, 0.994840], -# "outbound": [0.933020, 0.370260, 0.994840], -# } -# -# return pd.DataFrame(index=index, data=values) -# -# -# def test_build_patterns(trips): -# time_windows = get_time_windows(48, 3) -# patterns = tdc.build_patterns(trips, time_windows) -# patterns = patterns.sort_values(["tour_id", "outbound", "trip_num"]) -# -# assert patterns.shape[0] == 34 -# assert patterns.shape[1] == 6 -# assert patterns.index.name == tdc.TOUR_LEG_ID -# -# output_columns = [ -# tdc.TOUR_ID, -# tdc.PATTERN_ID, -# tdc.TRIP_NUM, -# tdc.STOP_TIME_DURATION, -# tdc.TOUR_ID, -# tdc.OUTBOUND, -# ] -# -# assert set(output_columns).issubset(patterns.columns) -# -# -# def test_get_tour_legs(trips): -# tour_legs = tdc.get_tour_legs(trips) -# assert tour_legs.index.name == tdc.TOUR_LEG_ID -# assert ( -# np.unique(tour_legs[tdc.TOUR_ID].values).shape[0] -# == np.unique(trips[tdc.TOUR_ID].values).shape[0] -# ) -# -# -# def test_generate_alternative(trips): -# alts = tdc.generate_alternatives(trips, tdc.STOP_TIME_DURATION) -# assert alts.shape[0] == 67 -# assert alts.shape[1] == 1 -# -# assert alts.index.name == tdc.TRIP_ID -# assert alts.columns[0] == tdc.STOP_TIME_DURATION -# -# pd.testing.assert_series_equal( -# trips.groupby(trips.index)["trip_duration"].max(), -# alts.groupby(alts.index)[tdc.STOP_TIME_DURATION].max(), -# check_names=False, -# ) -# -# -# def test_apply_stage_two_model(state, model_spec, trips): -# setup_dirs() -# departures = tdc.apply_stage_two_model( -# state, model_spec, trips, 0, "TEST Trip Departure" -# ) -# assert len(departures) == len(trips) -# pd.testing.assert_index_equal(departures.index, trips.index) -# -# departures = pd.concat([trips, departures], axis=1) +import numpy as np +import pandas as pd +import pytest +import os + +import activitysim.abm.models.trip_departure_choice as tdc +from activitysim.abm.models.util.trip import get_time_windows +from activitysim.core import workflow + +from .setup_utils import setup_dirs + + +@pytest.fixture(scope="module") +def trips(): + trips = pd.DataFrame( + data={ + "tour_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], + "trip_duration": [2, 2, 7, 7, 7, 12, 12, 4, 4, 5], + "inbound_duration": [0, 0, 7, 7, 7, 0, 0, 4, 4, 5], + "main_leg_duration": [4, 4, 2, 2, 2, 2, 2, 1, 1, 2], + "outbound_duration": [2, 2, 0, 0, 0, 12, 12, 0, 0, 5], + "trip_count": [2, 2, 3, 3, 3, 2, 2, 2, 2, 1], + "trip_num": [1, 2, 1, 2, 3, 1, 2, 1, 2, 1], + "outbound": [ + True, + True, + False, + False, + False, + True, + True, + False, + False, + True, + ], + "chunk_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], + "is_work": [ + True, + True, + False, + False, + False, + False, + False, + False, + False, + True, + ], + "is_school": [ + False, + False, + False, + False, + False, + False, + False, + True, + True, + False, + ], + "is_eatout": [ + False, + False, + True, + True, + True, + True, + True, + False, + False, + False, + ], + "start": [8, 8, 18, 18, 18, 18, 18, 24, 24, 19], + "end": [14, 14, 39, 39, 39, 39, 39, 29, 29, 26], + "origin": [3, 5, 15, 12, 24, 8, 17, 8, 9, 6], + "destination": [5, 9, 12, 24, 20, 17, 18, 9, 11, 14], + }, + index=range(10), + ) + + trips.index.name = "trip_id" + return trips + + +@pytest.fixture(scope="module") +def settings(): + return { + "skims_file": "skims.omx", + "skim_time_periods": {"labels": ["EA", "AM", "MD", "PM", "NT"]}, + } + + +def add_canonical_dirs(configs_dir_name): + state = workflow.State() + configs_dir = os.path.join(os.path.dirname(__file__), f"{configs_dir_name}") + data_dir = os.path.join(os.path.dirname(__file__), f"data") + output_dir = os.path.join(os.path.dirname(__file__), "output") + state.initialize_filesystem( + working_dir=os.path.dirname(__file__), + configs_dir=(configs_dir,), + output_dir=output_dir, + data_dir=(data_dir,), + ) + return state + + +@pytest.fixture(scope="module") +def model_spec(): + index = [ + "@(df['stop_time_duration'] * df['is_work'].astype(int)).astype(int)", + "@(df['stop_time_duration'] * df['is_school'].astype(int)).astype(int)", + "@(df['stop_time_duration'] * df['is_eatout'].astype(int)).astype(int)", + ] + + values = { + "inbound": [0.933020, 0.370260, 0.994840], + "outbound": [0.933020, 0.370260, 0.994840], + } + + return pd.DataFrame(index=index, data=values) + + +def test_build_patterns(trips): + time_windows = get_time_windows(48, 3) + patterns = tdc.build_patterns(trips, time_windows) + patterns = patterns.sort_values(["tour_id", "outbound", "trip_num"]) + + assert patterns.shape[0] == 34 + assert patterns.shape[1] == 6 + assert patterns.index.name == tdc.TOUR_LEG_ID + + output_columns = [ + tdc.TOUR_ID, + tdc.PATTERN_ID, + tdc.TRIP_NUM, + tdc.STOP_TIME_DURATION, + tdc.TOUR_ID, + tdc.OUTBOUND, + ] + + assert set(output_columns).issubset(patterns.columns) + + +def test_get_tour_legs(trips): + tour_legs = tdc.get_tour_legs(trips) + assert tour_legs.index.name == tdc.TOUR_LEG_ID + assert ( + np.unique(tour_legs[tdc.TOUR_ID].values).shape[0] + == np.unique(trips[tdc.TOUR_ID].values).shape[0] + ) + + +def test_generate_alternative(trips): + alts = tdc.generate_alternatives(trips, tdc.STOP_TIME_DURATION) + assert alts.shape[0] == 67 + assert alts.shape[1] == 1 + + assert alts.index.name == tdc.TRIP_ID + assert alts.columns[0] == tdc.STOP_TIME_DURATION + + pd.testing.assert_series_equal( + trips.groupby(trips.index)["trip_duration"].max(), + alts.groupby(alts.index)[tdc.STOP_TIME_DURATION].max(), + check_names=False, + ) + + +def test_apply_stage_two_model(model_spec, trips): + setup_dirs() + state = add_canonical_dirs("configs_test_misc").default_settings() + + # A settings object is needed to pass to the model application function, + # but for testing we can just use the default settings. + # In non-testing use cases, the SPEC would actually be read from the yaml file + # instead of being passed directly as a dataframe. + model_settings = tdc.TripDepartureChoiceSettings() + + departures = tdc.apply_stage_two_model( + state, + model_spec, + trips, + 0, + "TEST Trip Departure", + model_settings=model_settings, + ) + assert len(departures) == len(trips) + pd.testing.assert_index_equal(departures.index, trips.index) + + departures = pd.concat([trips, departures], axis=1) diff --git a/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py b/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py index 24fdebde3e..6823a5b123 100644 --- a/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py +++ b/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py @@ -1,199 +1,287 @@ -# import numpy as np -# import pandas as pd -# import pytest -# -# from activitysim.abm.models import trip_scheduling_choice as tsc -# from activitysim.abm.tables.skims import skim_dict -# from activitysim.core import los, workflow -# -# from .setup_utils import setup_dirs -# -# -# @pytest.fixture(scope="module") -# def tours(): -# tours = pd.DataFrame( -# data={ -# "duration": [2, 44, 32, 12, 11, 16], -# "num_outbound_stops": [2, 4, 0, 0, 1, 3], -# "num_inbound_stops": [1, 0, 0, 2, 1, 2], -# "tour_type": ["othdisc"] * 2 + ["eatout"] * 4, -# "origin": [3, 10, 15, 23, 5, 8], -# "destination": [5, 9, 12, 24, 20, 17], -# tsc.LAST_OB_STOP: [1, 3, 0, 0, 12, 14], -# tsc.FIRST_IB_STOP: [2, 0, 0, 4, 6, 20], -# }, -# index=range(6), -# ) -# -# tours.index.name = "tour_id" -# -# tours[tsc.HAS_OB_STOPS] = tours[tsc.NUM_OB_STOPS] >= 1 -# tours[tsc.HAS_IB_STOPS] = tours[tsc.NUM_IB_STOPS] >= 1 -# -# return tours -# -# -# @pytest.fixture(scope="module") -# def settings(): -# return {"skims_file": "skims.omx", "skim_time_periods": {"labels": ["MD"]}} -# -# -# @pytest.fixture(scope="module") -# def model_spec(): -# index = [ -# "@(df['main_leg_duration']>df['duration']).astype(int)", -# "@(df['main_leg_duration'] == 0)&(df['tour_type']=='othdiscr')", -# "@(df['main_leg_duration'] == 1)&(df['tour_type']=='othdiscr')", -# "@(df['main_leg_duration'] == 2)&(df['tour_type']=='othdiscr')", -# "@(df['main_leg_duration'] == 3)&(df['tour_type']=='othdiscr')", -# "@(df['main_leg_duration'] == 4)&(df['tour_type']=='othdiscr')", -# "@df['tour_type']=='othdiscr'", -# "@df['tour_type']=='eatout'", -# "@df['tour_type']=='eatout'", -# ] -# -# values = [ -# -999, -# -6.5884, -# -5.0326, -# -2.0526, -# -1.0313, -# -0.46489, -# 0.060382, -# -0.7508, -# 0.53247, -# ] -# -# return pd.DataFrame(index=index, data=values, columns=["stage_one"]) -# -# -# @pytest.fixture(scope="module") -# def skims(settings): -# setup_dirs() -# nw_los = los.Network_LOS() -# nw_los.load_data() -# skim_d = skim_dict(nw_los) -# -# od_skim_stack_wrapper = skim_d.wrap("origin", "destination") -# do_skim_stack_wrapper = skim_d.wrap("destination", "origin") -# obib_skim_stack_wrapper = skim_d.wrap(tsc.LAST_OB_STOP, tsc.FIRST_IB_STOP) -# -# skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] -# -# return skims -# -# -# @pytest.fixture(scope="module") -# def locals_dict(skims): -# return {"od_skims": skims[0], "do_skims": skims[1], "obib_skims": skims[2]} -# -# -# def test_generate_schedule_alternatives(tours): -# windows = tsc.generate_schedule_alternatives(tours) -# assert windows.shape[0] == 296 -# assert windows.shape[1] == 4 -# -# output_columns = [ -# tsc.SCHEDULE_ID, -# tsc.MAIN_LEG_DURATION, -# tsc.OB_DURATION, -# tsc.IB_DURATION, -# ] -# -# assert set(output_columns).issubset(windows.columns) -# -# -# def test_no_stops_patterns(tours): -# no_stops = tours[ -# (tours["num_outbound_stops"] == 0) & (tours["num_inbound_stops"] == 0) -# ].copy() -# windows = tsc.no_stops_patterns(no_stops) -# -# assert windows.shape[0] == 1 -# assert windows.shape[1] == 3 -# -# output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] -# -# assert set(output_columns).issubset(windows.columns) -# -# pd.testing.assert_series_equal( -# windows[tsc.MAIN_LEG_DURATION], -# no_stops["duration"], -# check_names=False, -# check_dtype=False, -# ) -# assert windows[windows[tsc.IB_DURATION] > 0].empty -# assert windows[windows[tsc.OB_DURATION] > 0].empty -# -# -# def test_one_way_stop_patterns(tours): -# one_way_stops = tours[ -# ( -# (tours["num_outbound_stops"] > 0).astype(int) -# + (tours["num_inbound_stops"] > 0).astype(int) -# ) -# == 1 -# ].copy() -# windows = tsc.stop_one_way_only_patterns(one_way_stops) -# -# assert windows.shape[0] == 58 -# assert windows.shape[1] == 3 -# -# output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] -# -# assert set(output_columns).issubset(windows.columns) -# -# inbound_options = windows[(windows[tsc.IB_DURATION] > 0)] -# outbound_options = windows[windows[tsc.OB_DURATION] > 0] -# assert np.unique(inbound_options.index).shape[0] == 1 -# assert np.unique(outbound_options.index).shape[0] == 1 -# -# -# def test_two_way_stop_patterns(tours): -# two_way_stops = tours[ -# ( -# (tours["num_outbound_stops"] > 0).astype(int) -# + (tours["num_inbound_stops"] > 0).astype(int) -# ) -# == 2 -# ].copy() -# windows = tsc.stop_two_way_only_patterns(two_way_stops) -# -# assert windows.shape[0] == 237 -# assert windows.shape[1] == 3 -# -# output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] -# -# assert set(output_columns).issubset(windows.columns) -# -# -# def test_run_trip_scheduling_choice( -# state: workflow.State, model_spec, tours, skims, locals_dict -# ): -# """ -# Test run the model. -# """ -# -# out_tours = tsc.run_trip_scheduling_choice( -# state, -# model_spec, -# tours, -# skims, -# locals_dict, -# trace_label="PyTest Trip Scheduling", -# ) -# -# assert len(tours) == len(out_tours) -# pd.testing.assert_index_equal( -# tours.sort_index().index, out_tours.sort_index().index -# ) -# -# output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] -# -# assert set(output_columns).issubset(out_tours.columns) -# -# assert len( -# out_tours[ -# out_tours[output_columns].sum(axis=1) == out_tours[tsc.TOUR_DURATION_COLUMN] -# ] -# ) == len(tours) +import numpy as np +import pandas as pd +import pytest +import os +from pathlib import Path + + +from activitysim.abm.models import trip_scheduling_choice as tsc +from activitysim.abm.tables.skims import skim_dict +from activitysim.core import los, workflow + + +@pytest.fixture(scope="module") +def tours(): + tours = pd.DataFrame( + data={ + "duration": [2, 44, 32, 12, 11, 16], + "num_outbound_stops": [2, 4, 0, 0, 1, 3], + "num_inbound_stops": [1, 0, 0, 2, 1, 2], + "tour_type": ["othdisc"] * 2 + ["eatout"] * 4, + "origin": [3, 10, 15, 23, 5, 8], + "destination": [5, 9, 12, 24, 20, 17], + tsc.LAST_OB_STOP: [1, 3, 0, 0, 12, 14], + tsc.FIRST_IB_STOP: [2, 0, 0, 4, 6, 20], + }, + index=range(6), + ) + + tours.index.name = "tour_id" + + tours[tsc.HAS_OB_STOPS] = tours[tsc.NUM_OB_STOPS] >= 1 + tours[tsc.HAS_IB_STOPS] = tours[tsc.NUM_IB_STOPS] >= 1 + + return tours + + +@pytest.fixture(scope="module") +def model_spec(): + index = [ + "@(df['main_leg_duration']>df['duration']).astype(int)", + "@(df['main_leg_duration'] == 0)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 1)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 2)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 3)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 4)&(df['tour_type']=='othdiscr')", + "@df['tour_type']=='othdiscr'", + "@df['tour_type']=='eatout'", + "@df['tour_type']=='eatout'", + ] + + values = [ + -999, + -6.5884, + -5.0326, + -2.0526, + -1.0313, + -0.46489, + 0.060382, + -0.7508, + 0.53247, + ] + + return pd.DataFrame(index=index, data=values, columns=["stage_one"]).rename_axis( + "Expression" + ) + + +def add_canonical_dirs(configs_dir_name): + state = workflow.State() + configs_dir = os.path.join(os.path.dirname(__file__), f"{configs_dir_name}") + data_dir = os.path.join(os.path.dirname(__file__), "data") + output_dir = os.path.join(os.path.dirname(__file__), "output") + state.initialize_filesystem( + working_dir=os.path.dirname(__file__), + configs_dir=(configs_dir,), + output_dir=output_dir, + data_dir=(data_dir,), + ) + return state + + +@pytest.fixture(scope="module") +def skims(): + state = add_canonical_dirs("configs_test_misc").default_settings() + nw_los = los.Network_LOS(state, los_settings_file_name="settings_60_min.yaml") + nw_los.load_data() + skim_d = skim_dict(state, nw_los) + + od_skim_stack_wrapper = skim_d.wrap("origin", "destination") + do_skim_stack_wrapper = skim_d.wrap("destination", "origin") + obib_skim_stack_wrapper = skim_d.wrap(tsc.LAST_OB_STOP, tsc.FIRST_IB_STOP) + + skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] + + return skims + + +@pytest.fixture(scope="module") +def locals_dict(skims): + return {"od_skims": skims[0], "do_skims": skims[1], "obib_skims": skims[2]} + + +@pytest.fixture(scope="module") +def base_dir() -> Path: + """ + A pytest fixture that returns the data folder location. + :return: folder location for any necessary data to initialize the tests + """ + return Path(__file__).parent + + +@pytest.fixture(scope="module") +def module() -> str: + """ + A pytest fixture that returns the module name string used in test setup. + :return: module name string ("summarize") + """ + return "summarize" + + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope="module") +def tables() -> dict[str, str]: + """ + A pytest fixture that returns the "mock" tables to build pipeline dataframes. The + key-value pair is the name of the table and the index column. + :return: dict + """ + return { + "land_use": "zone_id", + "tours": "tour_id", + "trips": "trip_id", + "persons": "person_id", + "households": "household_id", + } + + +# Used by conftest.py initialize_pipeline method +# Set to true if you need to read skims into the pipeline +@pytest.fixture(scope="module") +def initialize_network_los() -> bool: + """ + A pytest boolean fixture indicating whether network skims should be read from the + fixtures test data folder. + :return: bool + """ + return True + + +def test_generate_schedule_alternatives(tours): + windows = tsc.generate_schedule_alternatives(tours) + assert windows.shape[0] == 296 + assert windows.shape[1] == 4 + + output_columns = [ + tsc.SCHEDULE_ID, + tsc.MAIN_LEG_DURATION, + tsc.OB_DURATION, + tsc.IB_DURATION, + ] + + assert set(output_columns).issubset(windows.columns) + + +def test_no_stops_patterns(tours): + no_stops = tours[ + (tours["num_outbound_stops"] == 0) & (tours["num_inbound_stops"] == 0) + ].copy() + windows = tsc.no_stops_patterns(no_stops) + + assert windows.shape[0] == 1 + assert windows.shape[1] == 3 + + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] + + assert set(output_columns).issubset(windows.columns) + + pd.testing.assert_series_equal( + windows[tsc.MAIN_LEG_DURATION], + no_stops["duration"], + check_names=False, + check_dtype=False, + ) + assert windows[windows[tsc.IB_DURATION] > 0].empty + assert windows[windows[tsc.OB_DURATION] > 0].empty + + +def test_one_way_stop_patterns(tours): + one_way_stops = tours[ + ( + (tours["num_outbound_stops"] > 0).astype(int) + + (tours["num_inbound_stops"] > 0).astype(int) + ) + == 1 + ].copy() + windows = tsc.stop_one_way_only_patterns(one_way_stops) + + assert windows.shape[0] == 58 + assert windows.shape[1] == 3 + + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] + + assert set(output_columns).issubset(windows.columns) + + inbound_options = windows[(windows[tsc.IB_DURATION] > 0)] + outbound_options = windows[windows[tsc.OB_DURATION] > 0] + assert np.unique(inbound_options.index).shape[0] == 1 + assert np.unique(outbound_options.index).shape[0] == 1 + + +def test_two_way_stop_patterns(tours): + two_way_stops = tours[ + ( + (tours["num_outbound_stops"] > 0).astype(int) + + (tours["num_inbound_stops"] > 0).astype(int) + ) + == 2 + ].copy() + windows = tsc.stop_two_way_only_patterns(two_way_stops) + + assert windows.shape[0] == 237 + assert windows.shape[1] == 3 + + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] + + assert set(output_columns).issubset(windows.columns) + + +def test_run_trip_scheduling_choice(model_spec, tours, skims, locals_dict): + # create a temporary workflow state with no content + state = workflow.State.make_temp() + + # Define model settings for this test. + # The settings for this model requires a filename for the spec, but in this test we + # are passing the spec dataframe directly, so the filename is just a placeholder. + # In non-testing use cases, the SPEC would actually be read from the yaml file + # instead of being passed directly as a dataframe. + model_settings = tsc.TripSchedulingChoiceSettings( + **{ + "SPEC": "placeholder.csv", + "compute_settings": { + "protect_columns": ["origin", "destination", "schedule_id"] + }, + } + ) + + # As is common in ActivitySim the component will modify the input dataframe in-place. + # For testing we make a copy of the input tours to compare against after running the model. + in_tours = tours.copy(deep=True) + + # run the trip scheduling choice model + out_tours = tsc.run_trip_scheduling_choice( + state, + model_spec, + tours, + skims, + locals_dict, + trace_label="PyTest Trip Scheduling", + model_settings=model_settings, + ) + + # check that the number of tours is unchanged + assert len(in_tours) == len(out_tours) + pd.testing.assert_index_equal( + in_tours.sort_index().index, out_tours.sort_index().index + ) + + # check that the expected output columns are not present in input tours + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] + for col in output_columns: + assert col not in in_tours.columns + + # check that the expected output columns *are* present in output tours + assert set(output_columns).issubset(out_tours.columns) + + # check that the sum of the output durations equals the tour duration + assert len( + out_tours[ + out_tours[output_columns].sum(axis=1) == out_tours[tsc.TOUR_DURATION_COLUMN] + ] + ) == len(in_tours) + + # check that tours with no outbound stops have zero outbound duration + assert out_tours[tsc.OB_DURATION].mask(in_tours[tsc.HAS_OB_STOPS], 0).sum() == 0 + + # check that tours with no inbound stops have zero inbound duration + assert out_tours[tsc.IB_DURATION].mask(in_tours[tsc.HAS_IB_STOPS], 0).sum() == 0 diff --git a/activitysim/abm/test/test_pipeline/test_pipeline.py b/activitysim/abm/test/test_pipeline/test_pipeline.py index 70bc26f4b1..2d837258a5 100644 --- a/activitysim/abm/test/test_pipeline/test_pipeline.py +++ b/activitysim/abm/test/test_pipeline/test_pipeline.py @@ -2,6 +2,7 @@ # See full license in LICENSE.txt. from __future__ import annotations +import importlib.resources import logging import os @@ -9,10 +10,13 @@ import openmatrix as omx import pandas as pd import pandas.testing as pdt -import pkg_resources import pytest from activitysim.core import random, tracing, workflow +from activitysim.core.exceptions import ( + CheckpointNameNotFoundError, + DuplicateWorkflowNameError, +) # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -30,7 +34,7 @@ def example_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def setup_dirs(ancillary_configs_dir=None, data_dir=None): @@ -190,12 +194,12 @@ def test_mini_pipeline_run(): regress_mini_location_choice_logsums(state) # try to get a non-existant table - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("bogus") assert "never checkpointed" in str(excinfo.value) # try to get an existing table from a non-existant checkpoint - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("households", checkpoint_name="bogus") assert "not in checkpoints" in str(excinfo.value) @@ -235,7 +239,7 @@ def test_mini_pipeline_run2(): regress_mini_auto(state) # try to run a model already in pipeline - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(DuplicateWorkflowNameError) as excinfo: state.run.by_name("auto_ownership_simulate") assert "run model 'auto_ownership_simulate' more than once" in str(excinfo.value) diff --git a/activitysim/cli/create.py b/activitysim/cli/create.py index 4275ad3a1d..ec2e917bd8 100644 --- a/activitysim/cli/create.py +++ b/activitysim/cli/create.py @@ -11,7 +11,6 @@ import zipfile from pathlib import Path -import pkg_resources import requests import yaml diff --git a/activitysim/cli/run.py b/activitysim/cli/run.py index 03258be4b5..a1b23048c9 100644 --- a/activitysim/cli/run.py +++ b/activitysim/cli/run.py @@ -8,11 +8,17 @@ import os import sys import warnings +from datetime import datetime +import struct +import time import numpy as np -from activitysim.core import chunk, config, mem, tracing, workflow +from activitysim.core import chunk, config, mem, timing, tracing, workflow from activitysim.core.configuration import FileSystem, Settings +from activitysim.core.run_id import RunId + +from activitysim.abm.models.settings_checker import check_model_settings logger = logging.getLogger(__name__) @@ -25,6 +31,8 @@ "cache_dir", "settings_file_name", "imported_extensions", + "run_timestamp", + "run_id", ] @@ -157,6 +165,8 @@ def inject_arg(name, value): # 'configs', 'data', and 'output' folders by default os.chdir(args.working_dir) + inject_arg("run_id", state.tracing.run_id) + if args.ext: for e in args.ext: basepath, extpath = os.path.split(e) @@ -264,6 +274,7 @@ def run(args): """ state = workflow.State() + _init_run_id = state.tracing.run_id # register abm steps and other abm-specific injectables # by default, assume we are running activitysim.abm @@ -279,11 +290,19 @@ def run(args): if state.settings.rotate_logs: state.logging.rotate_log_directory() + # set a run timestamp + timestamp = state.get("run_timestamp", None) + if timestamp is None: + # if no run timestamp, use current time, and store it so + # it can be used later in the same run + timestamp = datetime.now().strftime("%Y%m%d-%H%M%S") + state.set("run_timestamp", timestamp) + if state.settings.memory_profile and not state.settings.multiprocess: # Memory sidecar is only useful for single process runs # multiprocess runs log memory usage without blocking in the controlling process. mem_prof_log = state.get_log_file_path("memory_profile.csv") - from ..core.memory_sidecar import MemorySidecar + from activitysim.core.memory_sidecar import MemorySidecar memory_sidecar_process = MemorySidecar(mem_prof_log) else: @@ -328,6 +347,9 @@ def run(args): config.filter_warnings(state) logging.captureWarnings(capture=True) + activitysim_version = importlib.metadata.version("activitysim") + logger.info(f"ActivitySim Version: {activitysim_version}") + # directories for k in ["configs_dir", "settings_file_name", "data_dir", "output_dir"]: logger.info("SETTING %s: %s" % (k, getattr(state.filesystem, k, None))) @@ -362,7 +384,10 @@ def run(args): ] for cfg_key in np_info_keys: - info = np.__config__.get_info(cfg_key) + try: + info = np.__config__.get_info(cfg_key) + except AttributeError: + info = np.show_config("dicts").get(cfg_key, "MISSING") if info: for info_key in ["libraries"]: if info_key in info: @@ -370,6 +395,28 @@ def run(args): t0 = tracing.print_elapsed_time() + if state.settings.check_model_settings == True: + logger.info( + "Settings checker will check core settings files. See settings_checker.log for details." + ) + # get any additional settings definitions from extensions + extension_checker_settings = {} + extension_names = state.get_injectable("imported_extensions") + if extension_names: + for ext in extension_names: + try: + settings_checker_ext = importlib.import_module( + ext + ".settings_checker" + ) + extension_checker_settings.update( + settings_checker_ext.EXTENSION_CHECKER_SETTINGS + ) + except ImportError: + logger.warning( + f"Extension {ext} does not have a settings_checker module or it cannot be imported." + ) + check_model_settings(state, extension_settings=extension_checker_settings) + try: if state.settings.multiprocess: logger.info("run multiprocess simulation") @@ -412,7 +459,13 @@ def run(args): raise chunk.consolidate_logs(state) - mem.consolidate_logs(state) + try: + mem.consolidate_logs(state) + except Exception as e: + logger.warning( + f"Memory log consolidation failed with error: {e}. " + "This does not affect model results, but memory usage logs will not be consolidated." + ) from activitysim.core.flow import TimeLogger @@ -423,6 +476,13 @@ def run(args): if memory_sidecar_process: memory_sidecar_process.stop() + if state.settings.expression_profile: + # generate a summary of slower expression evaluation times + # across all models and write to a file + analyze = timing.AnalyzeEvalTiming(state) + analyze.component_report(style=state.settings.expression_profile_style) + analyze.subcomponent_report(style=state.settings.expression_profile_style) + return 0 diff --git a/activitysim/core/assign.py b/activitysim/core/assign.py index c5f69d1d12..fe39bfc443 100644 --- a/activitysim/core/assign.py +++ b/activitysim/core/assign.py @@ -5,11 +5,12 @@ import logging from builtins import object, zip from collections import OrderedDict +from pathlib import Path import numpy as np import pandas as pd -from activitysim.core import chunk, util, workflow +from activitysim.core import chunk, timing, util, workflow logger = logging.getLogger(__name__) @@ -275,6 +276,12 @@ def to_series(x): assert assignment_expressions.shape[0] > 0 + if state.settings.expression_profile: + perf_log_file = Path(trace_label + ".log") + else: + perf_log_file = None + performance_timer = timing.EvalTiming(perf_log_file) + trace_assigned_locals = trace_results = None if trace_rows is not None: # convert to numpy array so we can slice ndarrays as well as series @@ -311,24 +318,25 @@ def to_series(x): n_randoms += 1 assignment_expressions.loc[expression_idx, "expression"] = expression if n_randoms: - try: - random_draws = state.get_rn_generator().normal_for_df( - df, broadcast=True, size=n_randoms - ) - except RuntimeError: - pass - else: - _locals_dict["random_draws"] = random_draws + with performance_timer.time_expression(""): + try: + random_draws = state.get_rn_generator().normal_for_df( + df, broadcast=True, size=n_randoms + ) + except RuntimeError: + pass + else: + _locals_dict["random_draws"] = random_draws - def rng_lognormal(random_draws, mu, sigma, broadcast=True, scale=False): - if scale: - x = 1 + ((sigma * sigma) / (mu * mu)) - mu = np.log(mu / (np.sqrt(x))) - sigma = np.sqrt(np.log(x)) - assert broadcast - return np.exp(random_draws * sigma + mu) + def rng_lognormal(random_draws, mu, sigma, broadcast=True, scale=False): + if scale: + x = 1 + ((sigma * sigma) / (mu * mu)) + mu = np.log(mu / (np.sqrt(x))) + sigma = np.sqrt(np.log(x)) + assert broadcast + return np.exp(random_draws * sigma + mu) - _locals_dict["rng_lognormal"] = rng_lognormal + _locals_dict["rng_lognormal"] = rng_lognormal sharrow_enabled = state.settings.sharrow @@ -352,11 +360,12 @@ def rng_lognormal(random_draws, mu, sigma, broadcast=True, scale=False): ) if trace_label: - logger.info(f"{trace_label}.assign_variables {target} = {expression}") + logger.debug(f"{trace_label}.assign_variables {target} = {expression}") if is_temp_singular(target) or is_throwaway(target): try: - x = eval(expression, globals(), _locals_dict) + with performance_timer.time_expression(expression): + x = eval(expression, globals(), _locals_dict) except Exception as err: logger.error( "assign_variables error: %s: %s", type(err).__name__, str(err) @@ -384,7 +393,8 @@ def rng_lognormal(random_draws, mu, sigma, broadcast=True, scale=False): # FIXME should whitelist globals for security? globals_dict = {} - expr_values = to_series(eval(expression, globals_dict, _locals_dict)) + with performance_timer.time_expression(expression): + expr_values = to_series(eval(expression, globals_dict, _locals_dict)) if sharrow_enabled: if isinstance(expr_values.dtype, pd.api.types.CategoricalDtype): @@ -459,4 +469,5 @@ def rng_lognormal(random_draws, mu, sigma, broadcast=True, scale=False): inplace=True, ) + performance_timer.write_log(state) return variables, trace_results, trace_assigned_locals diff --git a/activitysim/core/chunk.py b/activitysim/core/chunk.py index 7f09187f1f..f0074683d8 100644 --- a/activitysim/core/chunk.py +++ b/activitysim/core/chunk.py @@ -1078,7 +1078,7 @@ def ledger(self): if mem_monitor is not None: if not mem_monitor.is_alive(): logger.error(f"mem_monitor for {self.trace_label} died!") - raise RuntimeError("bug") + raise RuntimeError("mem_monitor for {self.trace_label} died!") if stop_snooping is not None: stop_snooping.set() @@ -1224,7 +1224,7 @@ def adaptive_chunked_choosers( # The adaptive chunking logic is expensive and sometimes results # in needless data copying. So we short circuit it entirely # when chunking is disabled. - logger.info(f"Running chunkless with {len(choosers)} choosers") + logger.debug(f"Running chunkless with {len(choosers)} choosers") yield 0, choosers, trace_label, ChunkSizer( state, "chunkless", trace_label, 0, 0, state.settings.chunk_training_mode ) @@ -1234,18 +1234,23 @@ def adaptive_chunked_choosers( num_choosers = len(choosers.index) + if state.settings.multiprocess: + num_processes = state.get_injectable("num_processes", 1) + else: + num_processes = 1 + if state.settings.chunk_training_mode == MODE_EXPLICIT: if explicit_chunk_size < 1: chunk_size = math.ceil(num_choosers * explicit_chunk_size) else: - chunk_size = int(explicit_chunk_size) + chunk_size = math.ceil(explicit_chunk_size / num_processes) elif chunk_size is None: chunk_size = state.settings.chunk_size assert num_choosers > 0 assert chunk_size >= 0 - logger.info( + logger.debug( f"{trace_label} Running adaptive_chunked_choosers with {num_choosers} choosers" ) @@ -1270,7 +1275,7 @@ def adaptive_chunked_choosers( # grab the next chunk based on current rows_per_chunk chooser_chunk = choosers[offset : offset + rows_per_chunk] - logger.info( + logger.debug( f"Running chunk {i} of {estimated_number_of_chunks or '?'} " f"with {len(chooser_chunk)} of {num_choosers} choosers" ) @@ -1337,7 +1342,7 @@ def adaptive_chunked_choosers_and_alts( # The adaptive chunking logic is expensive and sometimes results # in needless data copying. So we short circuit it entirely # when chunking is disabled. - logger.info(f"Running chunkless with {len(choosers)} choosers") + logger.debug(f"Running chunkless with {len(choosers)} choosers") chunk_sizer = ChunkSizer( state, "chunkless", trace_label, 0, 0, state.settings.chunk_training_mode ) @@ -1367,16 +1372,21 @@ def adaptive_chunked_choosers_and_alts( alternatives.index[last_repeat] ) - logger.info( + logger.debug( f"{trace_label} Running adaptive_chunked_choosers_and_alts " f"with {num_choosers} choosers and {num_alternatives} alternatives" ) + if state.settings.multiprocess: + num_processes = state.get_injectable("num_processes", 1) + else: + num_processes = 1 + if state.settings.chunk_training_mode == MODE_EXPLICIT: if explicit_chunk_size < 1: chunk_size = math.ceil(num_choosers * explicit_chunk_size) else: - chunk_size = int(explicit_chunk_size) + chunk_size = int(explicit_chunk_size / num_processes) elif chunk_size is None: chunk_size = state.settings.chunk_size @@ -1389,7 +1399,14 @@ def adaptive_chunked_choosers_and_alts( chunk_training_mode=state.settings.chunk_training_mode, ) rows_per_chunk, estimated_number_of_chunks = chunk_sizer.initial_rows_per_chunk() - assert (rows_per_chunk > 0) and (rows_per_chunk <= num_choosers) + assert (rows_per_chunk > 0) and ( + (rows_per_chunk <= num_choosers) + or ( + (rows_per_chunk >= num_choosers) + and (estimated_number_of_chunks == 1) + and (state.settings.chunk_training_mode == MODE_EXPLICIT) + ) + ) # alt chunks boundaries are where index changes alt_ids = alternatives.index.values @@ -1425,7 +1442,7 @@ def adaptive_chunked_choosers_and_alts( chooser_chunk.index == np.unique(alternative_chunk.index.values) ).all() - logger.info( + logger.debug( f"Running chunk {i} of {estimated_number_of_chunks or '?'} " f"with {len(chooser_chunk)} of {num_choosers} choosers" ) @@ -1464,7 +1481,7 @@ def adaptive_chunked_choosers_by_chunk_id( # The adaptive chunking logic is expensive and sometimes results # in needless data copying. So we short circuit it entirely # when chunking is disabled. - logger.info(f"Running chunkless with {len(choosers)} choosers") + logger.debug(f"Running chunkless with {len(choosers)} choosers") chunk_sizer = ChunkSizer( state, "chunkless", trace_label, 0, 0, state.settings.chunk_training_mode ) @@ -1502,7 +1519,7 @@ def adaptive_chunked_choosers_by_chunk_id( choosers["chunk_id"].between(offset, offset + rows_per_chunk - 1) ] - logger.info( + logger.debug( f"{trace_label} Running chunk {i} of {estimated_number_of_chunks or '?'} " f"with {rows_per_chunk} of {num_choosers} choosers" ) diff --git a/activitysim/core/config.py b/activitysim/core/config.py index 730c383157..e395769160 100644 --- a/activitysim/core/config.py +++ b/activitysim/core/config.py @@ -7,6 +7,7 @@ from activitysim.core import workflow from activitysim.core.configuration.base import PydanticBase from activitysim.core.configuration.logit import LogitComponentSettings +from activitysim.core.exceptions import ModelConfigurationError # ActivitySim # See full license in LICENSE.txt. @@ -100,7 +101,7 @@ def get_model_constants(model_settings): def get_logit_model_settings( - model_settings: LogitComponentSettings | dict[str, Any] | None + model_settings: LogitComponentSettings | dict[str, Any] | None, ): """ Read nest spec (for nested logit) from model settings file @@ -123,13 +124,18 @@ def get_logit_model_settings( if logit_type not in ["NL", "MNL"]: logger.error("Unrecognized logit type '%s'" % logit_type) - raise RuntimeError("Unrecognized logit type '%s'" % logit_type) + raise ModelConfigurationError( + "Unrecognized logit type '%s'. Logit type must be 'NL' for nested logit or 'MNL' for multinomial logit" + % logit_type + ) if logit_type == "NL": nests = model_settings.get("NESTS", None) if nests is None: logger.error("No NEST found in model spec for NL model type") - raise RuntimeError("No NEST found in model spec for NL model type") + raise ModelConfigurationError( + "No NEST found in model spec for NL model type" + ) return nests diff --git a/activitysim/core/configuration/base.py b/activitysim/core/configuration/base.py index 320278bf1a..aad266ff12 100644 --- a/activitysim/core/configuration/base.py +++ b/activitysim/core/configuration/base.py @@ -245,6 +245,28 @@ def pandas_option_context(self): else: yield + performance_log: Path | bool | None = None + """Log runtime performance to this file. + + The runtime performance log shows the time taken to evaluate each + expression in the specification files. It is useful for debugging + performance issues with complex expressions. + + Giving a filename here will override the global performance logging + setting, and will log performance to the specified file, unless the + global performance logging setting is set to `False`, in which case + no performance logging will be done for any component. + + If set to `True`, performance logging will be activated, and the filename + will be chosen based on the trace label for this component. + + If this path is set to None (the default), performance logging will be + activated based on the global performance logging setting, and the filename + will be chosen based on the trace label for this component. This is strongly + recommended for most use cases, unless the trace label causes the filename + to be too long or otherwise unsuitable for the filesystem. + """ + def subcomponent_settings(self, subcomponent: str) -> ComputeSettings: """Get the sharrow settings for a particular subcomponent.""" return ComputeSettings( diff --git a/activitysim/core/configuration/filesystem.py b/activitysim/core/configuration/filesystem.py index 704e179a14..75bd761365 100644 --- a/activitysim/core/configuration/filesystem.py +++ b/activitysim/core/configuration/filesystem.py @@ -16,7 +16,10 @@ from activitysim.core.configuration.base import PydanticBase from activitysim.core.configuration.logit import LogitComponentSettings -from activitysim.core.exceptions import SettingsFileNotFoundError +from activitysim.core.exceptions import ( + SettingsFileNotFoundError, + SystemConfigurationError, +) from activitysim.core.util import parse_suffix_args, suffix_tables_in_settings logger = logging.getLogger(__name__) @@ -169,7 +172,8 @@ def get_output_dir(self, subdir=None) -> Path: if subdir is not None: out = out.joinpath(subdir) if not out.exists(): - out.mkdir(parents=True) + out.mkdir(parents=True, exist_ok=True) + # we set exist_ok=True so we avoid multiprocess race conditions return out def get_output_file_path(self, file_name) -> Path: @@ -767,7 +771,7 @@ def backfill_settings(settings, backfill): logger.error( f"Unexpected additional settings: {additional_settings}" ) - raise RuntimeError( + raise SystemConfigurationError( "'include_settings' must appear alone in settings file." ) diff --git a/activitysim/core/configuration/logit.py b/activitysim/core/configuration/logit.py index d03bcab778..a97143f2dd 100644 --- a/activitysim/core/configuration/logit.py +++ b/activitysim/core/configuration/logit.py @@ -77,6 +77,31 @@ class BaseLogitComponentSettings(PydanticCompute): CONSTANTS: dict[str, Any] = {} """Named constants usable in the utility expressions.""" + preprocessor: PreprocessorSettings | list[PreprocessorSettings] | None = None + """Chooser preprocessor settings. + + This is a set of expressions to be evaluated on the choosers + before the logit model is run. It is used to prepare the choosers + for the logit model by adding columns that are used in the + utility expressions. + """ + + annotate_households: PreprocessorSettings | None = None + """Annotate households output tables with additional columns. + + These settings are used to add additional columns to the output tables + after the logit model is run. They are typically used to add + additional attributes that are derived from the model results. + """ + annotate_persons: PreprocessorSettings | None = None + """Annotate persons output tables with additional columns.""" + annotate_tours: PreprocessorSettings | None = None + """Annotate tours output tables with additional columns.""" + annotate_trips: PreprocessorSettings | None = None + """Annotate trips output tables with additional columns.""" + annotate_vehicles: PreprocessorSettings | None = None + """Annotate vehicles output tables with additional columns.""" + # sharrow_skip is deprecated in factor of compute_settings.sharrow_skip @model_validator(mode="before") @classmethod @@ -187,8 +212,19 @@ class LocationComponentSettings(BaseLogitComponentSettings): SAMPLE_SIZE: int """This many candidate alternatives will be sampled for each choice.""" - LOGSUM_SETTINGS: Path - """Settings for the logsum computation.""" + ESTIMATION_SAMPLE_SIZE: int = -1 + """ + The number of alternatives to sample for estimation mode. + If zero, then all alternatives are used. If negative, then the regular + `SAMPLE_SIZE` is used. + Truth alternative will be included in the sample. + """ + + LOGSUM_SETTINGS: Path | None = None + """ + Settings for the logsum computation. + If None, no logsum is computed and logsum field is populated with zeros. + """ explicit_chunk: float = 0 """ @@ -196,6 +232,11 @@ class LocationComponentSettings(BaseLogitComponentSettings): If less than 1, use this fraction of the total number of rows. """ + alts_preprocessor_sample: PreprocessorSettings | None = None + """Alternatives preprocessor settings to use when sampling alternatives.""" + alts_preprocessor_simulate: PreprocessorSettings | None = None + """Alternatives preprocessor settings to use when simulating choices.""" + class TourLocationComponentSettings(LocationComponentSettings, extra="forbid"): # Logsum-related settings @@ -207,7 +248,6 @@ class TourLocationComponentSettings(LocationComponentSettings, extra="forbid"): SEGMENTS: list[str] | None = None SIZE_TERM_SELECTOR: str | None = None - annotate_tours: PreprocessorSettings | None = None CHOOSER_FILTER_COLUMN_NAME: str | None = None DEST_CHOICE_COLUMN_NAME: str | None = None @@ -221,8 +261,6 @@ class TourLocationComponentSettings(LocationComponentSettings, extra="forbid"): SEGMENT_IDS: dict[str, int] | dict[str, str] | dict[str, bool] | None = None SHADOW_PRICE_TABLE: str | None = None MODELED_SIZE_TABLE: str | None = None - annotate_persons: PreprocessorSettings | None = None - annotate_households: PreprocessorSettings | None = None SIMULATE_CHOOSER_COLUMNS: list[str] | None = None ALT_DEST_COL_NAME: str LOGSUM_TOUR_PURPOSE: str | dict[str, str] | None = None @@ -233,15 +271,6 @@ class TourLocationComponentSettings(LocationComponentSettings, extra="forbid"): ORIG_ZONE_ID: str | None = None """This setting appears to do nothing...""" - ESTIMATION_SAMPLE_SIZE: int = 0 - """ - The number of alternatives to sample for estimation mode. - If zero, then all alternatives are used. - Truth alternative will be included in the sample. - Larch does not yet support sampling alternatives for estimation, - but this setting is still helpful for estimation mode runtime. - """ - class TourModeComponentSettings(TemplatedLogitComponentSettings, extra="forbid"): MODE_CHOICE_LOGSUM_COLUMN_NAME: str | None = None @@ -249,8 +278,6 @@ class TourModeComponentSettings(TemplatedLogitComponentSettings, extra="forbid") COMPUTE_TRIP_MODE_CHOICE_LOGSUMS: bool = False tvpb_mode_path_types: dict[str, Any] | None = None FORCE_ESCORTEE_CHAUFFEUR_MODE_MATCH: bool = True - annotate_tours: PreprocessorSettings | None = None - preprocessor: PreprocessorSettings | list[PreprocessorSettings] | None = None nontour_preprocessor: PreprocessorSettings | list[ PreprocessorSettings ] | None = None diff --git a/activitysim/core/configuration/top.py b/activitysim/core/configuration/top.py index 486c5b78f4..58eaea3b2c 100644 --- a/activitysim/core/configuration/top.py +++ b/activitysim/core/configuration/top.py @@ -2,6 +2,8 @@ from pathlib import Path from typing import Any, Literal +import struct +import time from pydantic import model_validator, validator @@ -537,6 +539,60 @@ def _check_store_skims_in_shm(self): own that pollutes the collected data. """ + expression_profile: bool | None = None + """ + Track the runtime of each individual expression in each spec file. + + .. versionadded:: 1.4 + + The default value of this setting is `None`, which sets no global control + of expression profiling, and allows this feature to be turned on or off + for individual components. If set to `True`, all components will have + expression profiling enabled, and the outputs will be written to files named + based on the trace label unless explicitly set in the `compute_settings` for + individual components. If set to `False`, all components will have expression + profiling disabled. + + This is generally a developer-only feature and not needed for regular usage. + It will add some overhead to the model run, which is only valuable if you + expect the review the expression runtimes with an eye towards improving them. + Production model users should typically have this set explicitly to `False`. + """ + + expression_profile_style: Literal["simple", "grid"] = "grid" + """ + The style of the expression profiling report. + + .. versionadded:: 1.4 + + This setting controls the style of the expression profiling report that is + generated at the end of a model run when :py:attr:`expression_profile` is + `True`. The report summarizes the runtime of each expression in each spec + file, and can be used to identify slow or inefficient expressions. + + The "simple" style generates a simple HTML table with the expression names, + runtimes, and other relevant information. This may be easier to import into + other tools (e.g. Excel) for further analysis if desired. The "grid" style + generates a JavaScript data grid that allows for sorting and filtering of the + expression runtimes, making it easier to analyze large sets of expressions + directly in a web browser with no other outside analysis tools. + """ + + expression_profile_cutoff: float = 0.1 + """ + Minimum runtime for an expression to be included in the expression profile. + + .. versionadded:: 1.4 + + Expressions that take less than this amount of time to evaluate will not be + included in the summary report of expression profiling generated at the end + of a model run. For large scale models, this value can be increased to make + the report file smaller, as only the largest values will typically be of + interest. + + This setting has no effect if :py:attr:`expression_profile` is not `True`. + """ + benchmarking: bool = False """ Flag this model run as a benchmarking run. @@ -721,6 +777,13 @@ def _check_store_skims_in_shm(self): .. versionadded:: 1.3 """ + check_model_settings: bool = True + """ + run checks to validate that YAML settings files are loadable and spec and coefficent csv can be resolved. + + should catch many common errors early, including missing required configurations or specified coefficient labels without defined values. + """ + use_explicit_error_terms: bool = False """ Make choice from random utility model by drawing from distribution of unobserved diff --git a/activitysim/core/estimation.py b/activitysim/core/estimation.py index 6e02aca76a..bbbe376ee4 100644 --- a/activitysim/core/estimation.py +++ b/activitysim/core/estimation.py @@ -5,35 +5,209 @@ import logging import os import shutil +from pathlib import Path +from typing import Literal import pandas as pd -import yaml +from pydantic import model_validator from activitysim.core import simulate, workflow +from activitysim.core.configuration import PydanticReadable from activitysim.core.configuration.base import PydanticBase from activitysim.core.util import reindex from activitysim.core.yaml_tools import safe_dump +from activitysim.core.exceptions import ( + DuplicateWorkflowTableError, + DuplicateLoadableObjectError, + EstimationDataError, +) logger = logging.getLogger("estimation") ESTIMATION_SETTINGS_FILE_NAME = "estimation.yaml" +ESTIMATION_TABLE_RECIPES = { + "interaction_sample_simulate": { + "omnibus_tables": { + "choosers_combined": ["choices", "override_choices", "choosers"], + "alternatives_combined": [ + "interaction_sample_alternatives", + "interaction_expression_values", + ], + }, + "omnibus_tables_append_columns": ["choosers_combined", "alternatives_combined"], + }, + "interaction_simulate": { + "omnibus_tables": { + "choosers_combined": ["choices", "override_choices", "choosers"], + "alternatives_combined": ["interaction_expression_values"], + }, + "omnibus_tables_append_columns": ["choosers_combined", "alternatives_combined"], + }, + "simple_simulate": { + "omnibus_tables": { + "values_combined": [ + "choices", + "override_choices", + "expression_values", + "choosers", + ] + }, + "omnibus_tables_append_columns": ["values_combined"], + }, + "cdap_simulate": { + "omnibus_tables": { + "values_combined": ["choices", "override_choices", "choosers"] + }, + "omnibus_tables_append_columns": ["values_combined"], + }, + "simple_probabilistic": { + "omnibus_tables": { + "values_combined": ["choices", "override_choices", "choosers", "probs"] + }, + "omnibus_tables_append_columns": ["values_combined"], + }, +} + + +def unlink_files(directory_path, file_types=("csv", "yaml", "parquet", "pkl")): + """ + Deletes existing files in directory_path with file_types extensions. + """ + if not os.path.exists(directory_path): + return -def unlink_files(directory_path, file_types=("csv", "yaml")): for file_name in os.listdir(directory_path): if file_name.endswith(file_types): file_path = os.path.join(directory_path, file_name) try: if os.path.isfile(file_path): os.unlink(file_path) - print(f"deleted {file_path}") + logger.debug(f"deleted {file_path}") except Exception as e: - print(e) + logger.error(e) + + +def estimation_enabled(state): + """ + Returns True if estimation.yaml exists in the configs directory. + """ + settings = state.filesystem.read_model_settings( + ESTIMATION_SETTINGS_FILE_NAME, mandatory=False + ) + return settings is not None + + +class SurveyTableConfig(PydanticBase): + file_name: str + index_col: str + + # The dataframe is stored in the loaded config dynamically but not given + # directly in the config file, as it's not a simple serializable object that + # can be written in a YAML file. + class Config: + arbitrary_types_allowed = True + + df: pd.DataFrame | None = None + + +class EstimationTableRecipeConfig(PydanticBase): + omnibus_tables: dict[str, list[str]] + omnibus_tables_append_columns: list[str] + + +class EstimationConfig(PydanticReadable): + SKIP_BUNDLE_WRITE_FOR: list[str] = [] + """List of bundle names to skip writing to disk. + + This is useful for saving disk space and decreasing runtime + if you do not care about the estimation output for all models. + """ + + EDB_FILETYPE: Literal["csv", "parquet", "pkl"] = "parquet" + """File type for dataframes written to the estimation data bundles. + + Options are 'csv', 'parquet', or 'pkl'. When set to 'parquet', if file + writing fails for any reason, it will fall back to 'pkl'. This typically + will happen when the data types in the dataframe are not compatible with + parquet (e.g. Python 'object' dtype with mixed format content). + + Legacy ActivitySim used 'csv' to maximize compatibility with other software. + As of version 1.4, the default changed to 'parquet', which is more efficient + and better preserves data types. + """ + + DELETE_MP_SUBDIRS: bool = True + """Flag to delete the multiprocessing subdirectories after coalescing the results. + + Typically only used for debugging purposes. + """ + + enable: bool = False + """Flag to enable estimation.""" + + bundles: list[str] = [] + """List of component names to create EDBs for.""" + + estimation_table_types: dict[str, str] = {} + """Mapping of component names to estimation table types. + + The keys of this mapping are the model component names, and the values are the + names of the estimation table recipes that should be used to generate the + estimation tables for the model component. The recipes are generally related + to the generic model types, such as 'simple_simulate', 'interaction_simulate', + 'interaction_sample_simulate', etc. + """ + + estimation_table_recipes: dict[str, EstimationTableRecipeConfig] = None + """This option has been removed from the user-facing configuration file. + + Mapping of estimation table recipe names to their configurations. + + The keys of this mapping are the names of the estimation table recipes. + The recipes are generally related to the generic model types, such as + 'simple_simulate', 'interaction_simulate', 'interaction_sample_simulate', + etc. The values are the configurations for the estimation table recipes. + """ + + @model_validator(mode="before") + def check_estimation_table_recipes(cls, values): + if ( + "estimation_table_recipes" in values + and values["estimation_table_recipes"] is not None + ): + raise ValueError( + "estimation_table_recipes is no longer an accepted input. Please delete it from your estimation.yaml file." + ) + return values + + survey_tables: dict[str, SurveyTableConfig] = {} + """Mapping of survey table names to their configurations. + + Each survey table should have a file name and an index column. These files + are where the survey data is read from while running in estimation mode.""" + + # pydantic class validator to ensure that the estimation_table_types + # dictionary is a valid dictionary with string keys and string values, and + # that all the values are in the estimation_table_recipes dictionary + @model_validator(mode="after") + def validate_estimation_table_types(self): + for key, value in self.estimation_table_types.items(): + if value not in ESTIMATION_TABLE_RECIPES: + raise ValueError( + f"estimation_table_types value '{value}' not in estimation_table_recipes" + ) + return self class Estimator: def __init__( - self, state: workflow.State, bundle_name, model_name, estimation_table_recipes + self, + state: workflow.State, + bundle_name: str, + model_name: str, + estimation_table_recipe: EstimationTableRecipeConfig, + settings: EstimationConfig, ): logger.info("Initialize Estimator for'%s'" % (model_name,)) @@ -41,8 +215,9 @@ def __init__( self.bundle_name = bundle_name self.model_name = model_name self.settings_name = model_name - self.estimation_table_recipes = estimation_table_recipes + self.estimation_table_recipe = estimation_table_recipe self.estimating = True + self.settings = settings # ensure the output data directory exists output_dir = self.output_directory() @@ -50,22 +225,21 @@ def __init__( os.makedirs(output_dir) # make directory if needed # delete estimation files - unlink_files(self.output_directory(), file_types=("csv", "yaml")) + unlink_files(self.output_directory()) if self.bundle_name != self.model_name: # kind of inelegant to always delete these, but ok as they are redundantly recreated for each sub model unlink_files( self.output_directory(bundle_directory=True), - file_types=("csv", "yaml"), ) # FIXME - not required? # assert 'override_choices' in self.model_settings, \ # "override_choices not found for %s in %s." % (model_name, ESTIMATION_SETTINGS_FILE_NAME) - self.omnibus_tables = self.estimation_table_recipes["omnibus_tables"] - self.omnibus_tables_append_columns = self.estimation_table_recipes[ - "omnibus_tables_append_columns" - ] + self.omnibus_tables = self.estimation_table_recipe.omnibus_tables + self.omnibus_tables_append_columns = ( + self.estimation_table_recipe.omnibus_tables_append_columns + ) self.tables = {} self.tables_to_cache = [ table_name @@ -139,6 +313,9 @@ def output_directory(self, bundle_directory=False): if self.bundle_name != self.model_name and not bundle_directory: dir = os.path.join(dir, self.model_name) + if self.state.settings.multiprocess: + dir = os.path.join(dir, self.state.get_injectable("pipeline_file_prefix")) + return dir def output_file_path(self, table_name, file_type=None, bundle_directory=False): @@ -150,7 +327,9 @@ def output_file_path(self, table_name, file_type=None, bundle_directory=False): if bundle_directory: file_name = f"{self.bundle_name}_{table_name}" else: - if self.model_name == self.bundle_name: + if "_coefficients" in table_name: + file_name = f"{table_name}" + elif self.model_name == self.bundle_name: file_name = f"{self.model_name}_{table_name}" else: file_name = f"{self.bundle_name}_{table_name}" @@ -160,8 +339,87 @@ def output_file_path(self, table_name, file_type=None, bundle_directory=False): return os.path.join(output_dir, file_name) + def write_parquet(self, df, file_path, index, append=False): + """Convert DF to be parquet compliant and write to disk""" + # Ensure column names are strings for parquet + df.columns = df.columns.astype(str) + + assert (not os.path.isfile(file_path)) or ( + append == True + ), f"file already exists: {file_path}" + + # Explicitly set the data types of the columns + for col_name, col_data in df.items(): + if "int" in str(col_data.dtype): + pass + elif ( + col_data.dtype == "float16" + ): # Handle halffloat type not allowed in parquet + df[col_name] = col_data.astype("float32") + elif "float" in str(col_data.dtype): + pass + elif col_data.dtype == "bool": + pass + elif col_data.dtype == "object": + # first try converting to numeric, if that fails, convert to string + try: + df[col_name] = pd.to_numeric(col_data, errors="raise") + except ValueError: + df[col_name] = col_data.astype(str) + else: + # Convert any other unsupported types to string + df[col_name] = col_data.astype(str) + + self.debug(f"writing table: {file_path}") + # want parquet file to be exactly the same as df read from csv + # therefore we are resetting the index into a column if we want to keep it + # if we don't want to keep it, we are dropping it on write with index=False + if index: + if df.index.name in df.columns: + # replace old index with new one + df.drop(columns=[df.index.name], inplace=True) + df = df.reset_index(drop=False) + + if append and os.path.isfile(file_path): + df.to_parquet(file_path, engine="fastparquet", append=True, index=False) + else: + df.to_parquet(file_path, index=False) + + def write_pickle(self, df, file_path, index, append=False): + """Write DF to disk as pickle""" + file_path = file_path.replace(".csv", ".pkl").replace(".parquet", ".pkl") + assert file_path.endswith(".pkl") + + # want pickle file to be exactly the same as df read from csv + # therefore we are resetting the index into a column if we want to keep it + # if we don't want to keep it, we are dropping it on write with index=False + if index: + if df.index.name in df.columns: + # replace old index with new one + df.drop(columns=[df.index.name], inplace=True) + df = df.reset_index(drop=False) + else: + df = df.reset_index(drop=True) + + assert (not os.path.isfile(file_path)) or ( + append == True + ), f"file already exists: {file_path}" + + if append and os.path.isfile(file_path): + # read the previous df and concat + prev_df = pd.read_pickle(file_path) + df = pd.concat([prev_df, df]) + + df.to_pickle(file_path) + def write_table( - self, df, table_name, index=True, append=True, bundle_directory=False + self, + df, + table_name, + index=True, + append=True, + bundle_directory=False, + filetype="csv", ): """ @@ -173,12 +431,14 @@ def write_table( index: booelan append: boolean bundle_directory: boolean + filetype: str + csv or parquet or pkl """ def cache_table(df, table_name, append): if table_name in self.tables and not append: - raise RuntimeError( + raise DuplicateWorkflowTableError( "cache_table %s append=False and table exists" % (table_name,) ) if table_name in self.tables: @@ -186,21 +446,38 @@ def cache_table(df, table_name, append): else: self.tables[table_name] = df.copy() - def write_table(df, table_name, index, append, bundle_directory): - if table_name.endswith(".csv"): - # pass through filename without adding model or bundle name prefix - file_path = os.path.join( - self.output_directory(bundle_directory), table_name - ) - else: - file_path = self.output_file_path(table_name, "csv", bundle_directory) + def write_table(df, table_name, index, append, bundle_directory, filetype): + # remove file extension if present + table_name = Path(table_name).stem + # set new full file path with desired file type + file_path = self.output_file_path(table_name, filetype, bundle_directory) + + # check if file exists file_exists = os.path.isfile(file_path) if file_exists and not append: - raise RuntimeError( + raise DuplicateLoadableObjectError( "write_table %s append=False and file exists: %s" % (table_name, file_path) ) - df.to_csv(file_path, mode="a", index=index, header=(not file_exists)) + if filetype == "csv": + # check if index is in columns and drop it if so + if index and (df.index.name in df.columns): + df.drop(columns=df.index.name, inplace=True) + df.to_csv(file_path, mode="a", index=index, header=(not file_exists)) + elif filetype == "parquet": + try: + self.write_parquet(df, file_path, index, append) + except Exception as e: + logger.error( + f"Error writing parquet: {file_path} because {e}, falling back to pickle" + ) + self.write_pickle(df, file_path, index, append) + elif filetype == "pkl": + self.write_pickle(df, file_path, index, append) + else: + raise IOError( + f"Unsupported filetype: {filetype}, allowed options are csv, parquet, pkl" + ) assert self.estimating @@ -213,18 +490,14 @@ def write_table(df, table_name, index, append, bundle_directory): self.debug("write_table cache: %s" % table_name) if write: - write_table(df, table_name, index, append, bundle_directory) + write_table(df, table_name, index, append, bundle_directory, filetype) self.debug("write_table write: %s" % table_name) def write_omnibus_table(self): if len(self.omnibus_tables) == 0: return - settings = self.state.filesystem.read_model_settings( - ESTIMATION_SETTINGS_FILE_NAME, mandatory=False - ) - - edbs_to_skip = settings.get("SKIP_BUNDLE_WRITE_FOR", []) + edbs_to_skip = self.settings.SKIP_BUNDLE_WRITE_FOR if self.bundle_name in edbs_to_skip: self.debug(f"Skipping write to disk for {self.bundle_name}") return @@ -252,16 +525,53 @@ def write_omnibus_table(self): else: df = pd.concat([self.tables[t] for t in table_names], axis=concat_axis) + # remove duplicated columns, keeping the first instance + df = df.loc[:, ~df.columns.duplicated()] + + # set index if not already set according to lowest level heirarchy + # df missing index is typically coming from interaction_simulate expression values + # important for sorting and thus for multiprocessing to be consistent with single + if df.index.name is None: + if "trip_id" in df.columns: + df.set_index("trip_id", inplace=True) + elif "tour_id" in df.columns: + df.set_index("tour_id", inplace=True) + elif "person_id" in df.columns: + df.set_index("person_id", inplace=True) + elif "household_id" in df.columns: + df.set_index("household_id", inplace=True) + else: + EstimationDataError( + f"No index column found in omnibus table {omnibus_table}: {df}" + ) + self.debug(f"sorting tables: {table_names}") df.sort_index(ascending=True, inplace=True, kind="mergesort") - file_path = self.output_file_path(omnibus_table, "csv") - assert not os.path.isfile(file_path) + filetype = self.settings.EDB_FILETYPE + + if filetype == "csv": + file_path = self.output_file_path(omnibus_table, "csv") + assert not os.path.isfile(file_path) + + self.debug(f"writing table: {file_path}") + # check if index is in columns and drop it if so + if df.index.name in df.columns: + df.drop(columns=df.index.name, inplace=True) + df.to_csv(file_path, mode="a", index=True, header=True) - self.debug(f"writing table: {file_path}") - df.to_csv(file_path, mode="a", index=True, header=True) + elif filetype == "parquet": + file_path = self.output_file_path(omnibus_table, "parquet") + self.write_parquet(df, file_path, index=True, append=False) - self.debug("write_omnibus_choosers: %s" % file_path) + elif filetype == "pkl": + file_path = self.output_file_path(omnibus_table, "pkl") + self.write_pickle(df, file_path, index=True, append=False) + + else: + raise IOError(f"Unsupported filetype: {filetype}") + + self.debug("wrote_omnibus_choosers: %s" % file_path) def write_dict(self, d, dict_name, bundle_directory): assert self.estimating @@ -304,33 +614,48 @@ def write_coefficients( base_file_name = os.path.basename(file_name) assert self.estimating - self.write_table(coefficients_df, base_file_name, append=False) + self.write_table(coefficients_df, base_file_name, append=False, filetype="csv") def write_coefficients_template(self, model_settings): assert self.estimating if isinstance(model_settings, PydanticBase): - model_settings = model_settings.dict() + model_settings = model_settings.model_dump() coefficients_df = simulate.read_model_coefficient_template( self.state.filesystem, model_settings ) tag = "coefficients_template" - self.write_table(coefficients_df, tag, append=False) + self.write_table(coefficients_df, tag, append=False, filetype="csv") def write_choosers(self, choosers_df): - self.write_table(choosers_df, "choosers", append=True) + self.write_table( + choosers_df, + "choosers", + append=True, + filetype=self.settings.EDB_FILETYPE, + ) def write_choices(self, choices): if isinstance(choices, pd.Series): choices = choices.to_frame(name="model_choice") assert list(choices.columns) == ["model_choice"] - self.write_table(choices, "choices", append=True) + self.write_table( + choices, + "choices", + append=True, + filetype=self.settings.EDB_FILETYPE, + ) def write_override_choices(self, choices): if isinstance(choices, pd.Series): choices = choices.to_frame(name="override_choice") assert list(choices.columns) == ["override_choice"] - self.write_table(choices, "override_choices", append=True) + self.write_table( + choices, + "override_choices", + append=True, + filetype=self.settings.EDB_FILETYPE, + ) def write_constants(self, constants): self.write_dict(self, constants, "model_constants") @@ -368,7 +693,7 @@ def write_model_settings( ) assert not os.path.isfile(file_path) with open(file_path, "w") as f: - safe_dump(model_settings.dict(), f) + safe_dump(model_settings.model_dump(), f) else: if "include_settings" in model_settings: file_path = self.output_file_path( @@ -386,68 +711,21 @@ def write_model_settings( model_settings, "inherited_model_settings", bundle_directory ) - def melt_alternatives(self, df): - alt_id_name = self.alt_id_column_name - - assert alt_id_name is not None, ( - "alt_id not set. Did you forget to call set_alt_id()? (%s)" - % self.model_name - ) - assert ( - alt_id_name in df - ), "alt_id_column_name '%s' not in alternatives table (%s)" % ( - alt_id_name, - self.model_name, - ) - - variable_column = "variable" - - # alt_dest util_dist_0_1 util_dist_1_2 ... - # person_id ... - # 31153 1 1.0 0.75 ... - # 31153 2 1.0 0.46 ... - # 31153 3 1.0 0.28 ... - - if df.index.name is not None: - chooser_name = df.index.name - assert self.chooser_id_column_name in (chooser_name, None) - df = df.reset_index() - else: - assert self.chooser_id_column_name is not None - chooser_name = self.chooser_id_column_name - assert chooser_name in df - - # mergesort is the only stable sort, and we want the expressions to appear in original df column order - melt_df = ( - pd.melt(df, id_vars=[chooser_name, alt_id_name]) - .sort_values(by=chooser_name, kind="mergesort") - .rename(columns={"variable": variable_column}) - ) - - # person_id,alt_dest,expression,value - # 31153,1,util_dist_0_1,1.0 - # 31153,2,util_dist_0_1,1.0 - # 31153,3,util_dist_0_1,1.0 - - melt_df = melt_df.set_index( - [chooser_name, variable_column, alt_id_name] - ).unstack(2) - melt_df.columns = melt_df.columns.droplevel(0) - melt_df = melt_df.reset_index(1) - - # person_id,expression,1,2,3,4,5,... - # 31153,util_dist_0_1,0.75,0.46,0.27,0.63,0.48,... - # 31153,util_dist_1_2,0.0,0.0,0.0,0.0,0.0,... - # 31153,util_dist_2_3,0.0,0.0,0.0,0.0,0.0,... - - return melt_df - def write_interaction_expression_values(self, df): - df = self.melt_alternatives(df) - self.write_table(df, "interaction_expression_values", append=True) + self.write_table( + df, + "interaction_expression_values", + append=True, + filetype=self.settings.EDB_FILETYPE, + ) def write_expression_values(self, df): - self.write_table(df, "expression_values", append=True) + self.write_table( + df, + "expression_values", + append=True, + filetype=self.settings.EDB_FILETYPE, + ) def write_alternatives(self, alternatives_df, bundle_directory=False): self.write_table( @@ -458,15 +736,19 @@ def write_alternatives(self, alternatives_df, bundle_directory=False): ) def write_interaction_sample_alternatives(self, alternatives_df): - alternatives_df = self.melt_alternatives(alternatives_df) self.write_table( - alternatives_df, "interaction_sample_alternatives", append=True + alternatives_df, + "interaction_sample_alternatives", + append=True, + filetype=self.settings.EDB_FILETYPE, ) def write_interaction_simulate_alternatives(self, interaction_df): - interaction_df = self.melt_alternatives(interaction_df) self.write_table( - interaction_df, "interaction_simulate_alternatives", append=True + interaction_df, + "interaction_simulate_alternatives", + append=True, + filetype=self.settings.EDB_FILETYPE, ) def get_survey_values(self, model_values, table_name, column_names): @@ -498,9 +780,11 @@ class EstimationManager(object): def __init__(self): self.settings_initialized = False self.bundles = [] - self.estimation_table_recipes = {} - self.model_estimation_table_types = {} + self.estimation_table_recipes: dict[str, EstimationTableRecipeConfig] = {} + self.estimation_table_types: dict[str, str] = {} self.estimating = {} + self.settings = None + self.enabled = False def initialize_settings(self, state): # FIXME - can't we just initialize in init and handle no-presence of settings file as not enabled @@ -508,46 +792,53 @@ def initialize_settings(self, state): return assert not self.settings_initialized - settings = state.filesystem.read_model_settings( - ESTIMATION_SETTINGS_FILE_NAME, mandatory=False + self.settings = EstimationConfig.read_settings_file( + state.filesystem, ESTIMATION_SETTINGS_FILE_NAME, mandatory=False ) - if not settings: - # if the model settings file is not found, we are not in estimation mode. + if not self.settings: + # if the model self.settings file is not found, we are not in estimation mode. self.enabled = False else: - self.enabled = settings.get("enable", "True") - self.bundles = settings.get("bundles", []) + self.enabled = self.settings.enable + self.bundles = self.settings.bundles - self.model_estimation_table_types = settings.get( - "model_estimation_table_types", {} - ) - self.estimation_table_recipes = settings.get("estimation_table_recipes", {}) + self.estimation_table_types = self.settings.estimation_table_types + self.estimation_table_recipes = ESTIMATION_TABLE_RECIPES if self.enabled: - self.survey_tables = settings.get("survey_tables", {}) + self.survey_tables = self.settings.survey_tables for table_name, table_info in self.survey_tables.items(): assert ( - "file_name" in table_info - ), "No file name specified for survey_table '%s' in %s" % ( - table_name, - ESTIMATION_SETTINGS_FILE_NAME, - ) + table_info.file_name + ), f"No file name specified for survey_table '{table_name}' in {ESTIMATION_SETTINGS_FILE_NAME}" file_path = state.filesystem.get_data_file_path( - table_info["file_name"], mandatory=True + table_info.file_name, mandatory=True ) assert os.path.exists( file_path ), "File for survey table '%s' not found: %s" % (table_name, file_path) df = pd.read_csv(file_path) - index_col = table_info.get("index_col") + index_col = table_info.index_col if index_col is not None: assert ( index_col in df.columns ), "Index col '%s' not in survey_table '%s' in file: %s % (index_col, table_name, file_path)" df.set_index(index_col, inplace=True) + # if multiprocessing then only return the households that are in the pipeline + if state.settings.multiprocess: + pipeline_hh_ids = state.get_table("households").index + if table_name == "households": + df = df.reindex(pipeline_hh_ids) + assert pipeline_hh_ids.equals( + df.index + ), "household_ids not equal between survey and pipeline" + else: + assert "household_id" in df.columns + df = df[df.household_id.isin(pipeline_hh_ids)] + # add the table df to survey_tables - table_info["df"] = df + table_info.df = df self.settings_initialized = True @@ -589,13 +880,13 @@ def begin_estimation( ), "Cant begin estimating %s - already estimating that model." % (model_name,) assert ( - bundle_name in self.model_estimation_table_types + bundle_name in self.estimation_table_types ), "No estimation_table_type for %s in %s." % ( bundle_name, ESTIMATION_SETTINGS_FILE_NAME, ) - model_estimation_table_type = self.model_estimation_table_types[bundle_name] + model_estimation_table_type = self.estimation_table_types[bundle_name] assert ( model_estimation_table_type in self.estimation_table_recipes @@ -609,9 +900,10 @@ def begin_estimation( state, bundle_name, model_name, - estimation_table_recipes=self.estimation_table_recipes[ - model_estimation_table_type - ], + estimation_table_recipe=EstimationTableRecipeConfig( + **self.estimation_table_recipes[model_estimation_table_type] + ), + settings=self.settings, ) return self.estimating[model_name] @@ -626,7 +918,7 @@ def get_survey_table(self, table_name): "EstimationManager. get_survey_table: survey table '%s' not in survey_tables" % table_name ) - df = self.survey_tables[table_name].get("df") + df = self.survey_tables[table_name].df return df def get_survey_values(self, model_values, table_name, column_names): @@ -658,7 +950,7 @@ def get_survey_values(self, model_values, table_name, column_names): % (missing_columns, table_name) ) print("survey table columns: %s" % (survey_df.columns,)) - raise RuntimeError( + raise EstimationDataError( "missing columns (%s) in survey table %s" % (missing_columns, table_name) ) @@ -711,7 +1003,7 @@ def get_survey_values(self, model_values, table_name, column_names): logger.error( "couldn't get_survey_values for %s in %s\n" % (c, table_name) ) - raise RuntimeError( + raise EstimationDataError( "couldn't get_survey_values for %s in %s\n" % (c, table_name) ) @@ -736,5 +1028,81 @@ def get_survey_values(self, model_values, table_name, column_names): return values[column_name] if column_name else values + def get_survey_destination_choices(self, state, choosers, trace_label): + """ + Returning the survey choices for the destination choice model. + This gets called from inside interaction_sample and is used to + ensure the choices include the override choices when sampling alternatives. + + Parameters + ---------- + state : workflow.State + trace_label : str + The model name. + + Returns + ------- + pd.Series : The survey choices for the destination choice model. + """ + if "accessibilities" in trace_label: + # accessibilities models to not have survey values + return None + + model = trace_label.split(".")[0] + if model == "school_location": + survey_choices = manager.get_survey_values( + choosers.index, "persons", "school_zone_id" + ) + elif model == "workplace_location": + survey_choices = manager.get_survey_values( + choosers.index, "persons", "workplace_zone_id" + ) + elif model in [ + "joint_tour_destination", + "atwork_subtour_destination", + "non_mandatory_tour_destination", + ]: + survey_choices = manager.get_survey_values( + choosers.index, "tours", "destination" + ) + elif model == "trip_destination": + survey_choices = manager.get_survey_values( + choosers.index, "trips", "destination" + ) + elif model == "parking_location": + # need to grab parking location column name from its settings + from activitysim.abm.models.parking_location_choice import ( + ParkingLocationSettings, + ) + + model_settings = ParkingLocationSettings.read_settings_file( + state.filesystem, + "parking_location_choice.yaml", + ) + survey_choices = manager.get_survey_values( + choosers.index, "trips", model_settings.ALT_DEST_COL_NAME + ) + else: + # since this fucntion is called from inside interaction_sample, + # we don't want to return anything for other models that aren't destination choice + # not implemented models include scheduling models and tour_od_choice + logger.debug(f"Not grabbing survey choices for {model}.") + return None + + if "presample.interaction_sample" in trace_label: + # presampling happens for destination choice of two-zone systems. + # They are pre-sampling TAZs but the survey value destination is MAZs. + land_use = state.get_table("land_use") + TAZ_col = "TAZ" if "TAZ" in land_use.columns else "taz" + assert ( + TAZ_col in land_use.columns + ), "Cannot find TAZ column in land_use table." + maz_to_taz_map = land_use[TAZ_col].to_dict() + # allow for unmapped TAZs + maz_to_taz_map[-1] = -1 + survey_choices = survey_choices.map(maz_to_taz_map) + + return survey_choices + manager = EstimationManager() diff --git a/activitysim/core/exceptions.py b/activitysim/core/exceptions.py index 29d8f03a1a..878ed6cfc9 100644 --- a/activitysim/core/exceptions.py +++ b/activitysim/core/exceptions.py @@ -56,3 +56,39 @@ class ReadOnlyError(IOError): class MissingInputTableDefinition(RuntimeError): """An input table definition was expected but not found.""" + + +class SystemConfigurationError(RuntimeError): + """An error in the system configuration (possibly in settings.yaml) was found.""" + + +class ModelConfigurationError(RuntimeError): + """An error in the model configuration was found.""" + + +class InvalidTravelError(RuntimeError): + """Travel behavior could not be completed in a valid way.""" + + +class TableSlicingError(RuntimeError): + """An error occurred trying to slice a table.""" + + +class InputTableError(RuntimeError): + """An issue with the input population was found.""" + + +class SubprocessError(RuntimeError): + """An error occurred in a subprocess.""" + + +class SegmentedSpecificationError(RuntimeError): + """An error was caused by creating an invalid spec table for a segmented model component.""" + + +class TableIndexError(RuntimeError): + """An error related to the index of a table in the pipeline.""" + + +class EstimationDataError(RuntimeError): + """An error related to estimation data.""" diff --git a/activitysim/core/expressions.py b/activitysim/core/expressions.py index 413636d3f4..f8a255fb12 100644 --- a/activitysim/core/expressions.py +++ b/activitysim/core/expressions.py @@ -6,7 +6,7 @@ import pandas as pd -from activitysim.core import assign, simulate, tracing, workflow +from activitysim.core import config, assign, simulate, tracing, workflow from activitysim.core.configuration.base import PreprocessorSettings, PydanticBase from activitysim.core.util import ( assign_in_place, @@ -139,6 +139,7 @@ def compute_columns( df, _locals_dict, trace_rows=state.tracing.trace_targets(df), + trace_label=trace_label, ) if trace_results is not None: @@ -184,26 +185,65 @@ def assign_columns( def annotate_preprocessors( state: workflow.State, df: pd.DataFrame, - locals_dict, - skims, + locals_dict: dict, + skims: dict | None, model_settings: PydanticBase | dict, trace_label: str, + preprocessor_setting_name: str = "preprocessor", ): - locals_d = {} - locals_d.update(locals_dict) - locals_d.update(skims) + """ + Look through the preprocessor settings and apply the calculations to the dataframe. + This is generally called before the main model calculations to prepare the data. + + Parameters + ---------- + state : workflow.State + The current state of the workflow. + df : pd.DataFrame + DataFrame to which the preprocessor settings will be applied. + locals_dict : dict + Dictionary of local variables to be used in the expressions. + skims : dict | None + Dictionary of skims to be used in the expressions. + model_settings : PydanticBase | dict + Model settings containing the preprocessor settings. + trace_label : str + Label for tracing the operations. + preprocessor_setting_name : str + Name of the preprocessor settings key in the model settings. + + Returns + ------- + None -- dataframe is modified in place + + """ + if isinstance(model_settings, PydanticBase): + preprocessor_settings = getattr(model_settings, preprocessor_setting_name, []) + elif isinstance(model_settings, dict): + preprocessor_settings = model_settings.get(preprocessor_setting_name, []) + else: + raise ValueError( + f"Expected model_settings to be PydanticBase or dict, got {type(model_settings)}" + ) + + if not preprocessor_settings or preprocessor_settings == []: + return - try: - preprocessor_settings = model_settings.preprocessor - except AttributeError: - preprocessor_settings = model_settings.get("preprocessor", []) - if preprocessor_settings is None: - preprocessor_settings = [] if not isinstance(preprocessor_settings, list): assert isinstance(preprocessor_settings, dict | PreprocessorSettings) preprocessor_settings = [preprocessor_settings] - simulate.set_skim_wrapper_targets(df, skims) + locals_d = {} + locals_d.update(locals_dict) + if skims: + try: + simulate.set_skim_wrapper_targets(df, skims) + locals_d.update(skims) + except AssertionError as e: + logger.warning( + "Failed to set skim wrapper targets: %s. Skims wrappers may not be used in expressions.", + e, + ) for preproc_settings in preprocessor_settings: results = compute_columns( @@ -211,7 +251,9 @@ def annotate_preprocessors( df=df, model_settings=preproc_settings, locals_dict=locals_d, - trace_label=trace_label, + trace_label=tracing.extend_trace_label( + trace_label, preprocessor_setting_name + ), ) assign_in_place( @@ -219,6 +261,85 @@ def annotate_preprocessors( ) +def annotate_tables( + state: workflow.State, + model_settings: PydanticBase | dict, + trace_label: str, + skims: dict | None = None, + locals_dict: dict | None = None, +): + """ + Look through the annotate settings and apply the calculations to the tables. + This is generally called after the main model calculations to add data to output tables. + + Parameters + ---------- + state : workflow.State + The current state of the workflow. + model_settings : PydanticBase | dict + Model settings containing the annotation settings for various tables. + trace_label : str + Label for tracing the operations. + skims : dict | None + Dictionary of skims to be used in the expressions, if applicable. + locals_dict : dict | None + Dictionary of local variables to be used in the expressions, if applicable. + + Returns + ------- + None -- tables are modified in place + """ + + # process tables in least to most aggregated order + tables = ["trips", "tours", "vehicles", "persons", "households"] + + for table_name in tables: + if isinstance(model_settings, PydanticBase): + annotate_settings = getattr(model_settings, f"annotate_{table_name}", None) + elif isinstance(model_settings, dict): + annotate_settings = model_settings.get(f"annotate_{table_name}", None) + else: + raise ValueError( + f"Expected model_settings to be PydanticBase or dict, got {type(model_settings)}" + ) + + if annotate_settings is None: + continue + assert isinstance( + annotate_settings, (dict, PreprocessorSettings) + ), f"Expected annotate_{table_name} to be dict or PreprocessorSettings, got {type(annotate_settings)}" + + df = state.get_dataframe(table_name) + + locals_d = {} + if skims: + try: + simulate.set_skim_wrapper_targets(df, skims) + locals_d.update(skims) + except AssertionError as e: + logger.warning( + "Failed to set skim wrapper targets: %s. Skims wrappers may not be used in expressions.", + e, + ) + if locals_dict: + locals_d.update(locals_dict) + + results = compute_columns( + state, + df=df, + model_settings=annotate_settings, + locals_dict=locals_d, + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) + + assign_in_place( + df, results, state.settings.downcast_int, state.settings.downcast_float + ) + + # write table with new columns back to state + state.add_table(table_name, df) + + def filter_chooser_columns(choosers, chooser_columns): missing_columns = [c for c in chooser_columns if c not in choosers] if missing_columns: diff --git a/activitysim/core/flow.py b/activitysim/core/flow.py index d3e83e72bc..e6771b6f43 100644 --- a/activitysim/core/flow.py +++ b/activitysim/core/flow.py @@ -51,7 +51,7 @@ @contextlib.contextmanager def logtime(tag, tag2=""): - logger.info(f"begin {tag} {tag2}") + logger.debug(f"begin {tag} {tag2}") t0 = time.time() try: yield @@ -59,7 +59,7 @@ def logtime(tag, tag2=""): logger.error(f"error in {tag} after {timedelta(seconds=time.time()-t0)} {tag2}") raise else: - logger.info(f"completed {tag} in {timedelta(seconds=time.time()-t0)} {tag2}") + logger.debug(f"completed {tag} in {timedelta(seconds=time.time()-t0)} {tag2}") class TimeLogger: @@ -77,7 +77,7 @@ def mark(self, tag, ping=True, logger=None, suffix=""): self._time_log.append((tag, timedelta(seconds=elapsed))) self._time_point = now if logger is not None: - logger.info( + logger.debug( "elapsed time {0} {1} {2}".format( tag, timedelta(seconds=elapsed), @@ -94,7 +94,7 @@ def mark(self, tag, ping=True, logger=None, suffix=""): else: self.aggregate_timing[tag] += elapsed - def summary(self, logger, tag, level=20, suffix=None): + def summary(self, logger, tag, level=10, suffix=None): gross_elaspsed = time.time() - self._time_start if suffix: msg = f"{tag} in {timedelta(seconds=gross_elaspsed)}: ({suffix})\n" @@ -271,11 +271,11 @@ def skims_mapping( primary_origin_col_name=None, predigitized_time_periods=False, ): - logger.info("loading skims_mapping") - logger.info(f"- orig_col_name: {orig_col_name}") - logger.info(f"- dest_col_name: {dest_col_name}") - logger.info(f"- stop_col_name: {stop_col_name}") - logger.info(f"- primary_origin_col_name: {primary_origin_col_name}") + logger.debug("loading skims_mapping") + logger.debug(f"- orig_col_name: {orig_col_name}") + logger.debug(f"- dest_col_name: {dest_col_name}") + logger.debug(f"- stop_col_name: {stop_col_name}") + logger.debug(f"- primary_origin_col_name: {primary_origin_col_name}") skim_dataset = state.get_injectable("skim_dataset") if zone_layer == "maz" or zone_layer is None: odim = "omaz" if "omaz" in skim_dataset.dims else "otaz" @@ -297,7 +297,7 @@ def skims_mapping( else: raise ValueError(f"unknown zone layer {zone_layer!r}") if zone_layer: - logger.info(f"- zone_layer: {zone_layer}") + logger.debug(f"- zone_layer: {zone_layer}") if ( orig_col_name is not None and dest_col_name is not None @@ -574,7 +574,7 @@ def _apply_filter(_dataset, renames: list): if choosers is None: logger.info(f"empty flow on {trace_label}") else: - logger.info(f"{len(choosers)} chooser rows on {trace_label}") + logger.debug(f"{len(choosers)} chooser rows on {trace_label}") flow_tree = sh.DataTree(df=[] if choosers is None else choosers) idx_name = choosers.index.name or "index" rename_dataset_cols = [ @@ -598,7 +598,7 @@ def _apply_filter(_dataset, renames: list): ) flow_tree.root_dataset = flow_tree.root_dataset # apply the filter else: - logger.info( + logger.debug( f"{len(choosers)} chooser rows and {len(interacts)} interact rows on {trace_label}" ) top = sh.dataset.from_named_objects( @@ -697,7 +697,7 @@ def _apply_filter(_dataset, renames: list): for i, v in extra_vars.items(): readme += f"\n - {i}: {v}" - logger.info(f"setting up sharrow flow {trace_label}") + logger.debug(f"setting up sharrow flow {trace_label}") extra_hash_data = () if zone_layer: extra_hash_data += (zone_layer,) diff --git a/activitysim/core/input.py b/activitysim/core/input.py index 51730fcf02..ecac76b07b 100644 --- a/activitysim/core/input.py +++ b/activitysim/core/input.py @@ -5,11 +5,15 @@ import logging import os +import numpy as np import pandas as pd from activitysim.core import util, workflow from activitysim.core.configuration import InputTable -from activitysim.core.exceptions import MissingInputTableDefinition +from activitysim.core.exceptions import ( + MissingInputTableDefinition, + ModelConfigurationError, +) logger = logging.getLogger(__name__) @@ -194,7 +198,7 @@ def read_from_table_info(table_info: InputTable, state): assert ( df[index_col] == df[index_col].astype(int) ).all(), f"Index col '{index_col}' has non-integer values" - df[index_col] = df[index_col].astype(int) + df[index_col] = df[index_col].astype(np.int64) df.set_index(index_col, inplace=True) else: # FIXME not sure we want to do this. More likely they omitted index col than that they want to name it? @@ -203,7 +207,9 @@ def read_from_table_info(table_info: InputTable, state): f"index_col '{index_col}' specified in configs but not in {tablename} table!" ) logger.error(f"{tablename} columns are: {list(df.columns)}") - raise RuntimeError(f"index_col '{index_col}' not in {tablename} table!") + raise ModelConfigurationError( + f"index_col '{index_col}' not in {tablename} table!" + ) if keep_columns: logger.debug("keeping columns: %s" % keep_columns) @@ -213,7 +219,9 @@ def read_from_table_info(table_info: InputTable, state): f"{list(set(keep_columns).difference(set(df.columns)))}" ) logger.error(f"{tablename} table has columns: {list(df.columns)}") - raise RuntimeError(f"Required columns missing from {tablename} table") + raise ModelConfigurationError( + f"Required columns missing from {tablename} table" + ) df = df[keep_columns] diff --git a/activitysim/core/interaction_sample.py b/activitysim/core/interaction_sample.py index 47548e442d..6f61c009db 100644 --- a/activitysim/core/interaction_sample.py +++ b/activitysim/core/interaction_sample.py @@ -9,6 +9,7 @@ from activitysim.core import ( chunk, + estimation, interaction_simulate, logit, simulate, @@ -17,8 +18,10 @@ workflow, ) from activitysim.core.configuration.base import ComputeSettings +from activitysim.core.exceptions import SegmentedSpecificationError from activitysim.core.skim_dataset import DatasetWrapper from activitysim.core.skim_dictionary import SkimWrapper +from activitysim.core.workflow import State logger = logging.getLogger(__name__) @@ -108,13 +111,12 @@ def make_sample_choices_utility_based( chunk_sizer.log_df(trace_label, "chooser_idx", None) del chosen_destinations chunk_sizer.log_df(trace_label, "chosen_destinations", None) - del probs - chunk_sizer.log_df(trace_label, "probs", None) # handing this off to caller + chunk_sizer.log_df(trace_label, "probs", None) chunk_sizer.log_df(trace_label, "choices_df", None) - return choices_df + return choices_df, probs def make_sample_choices( @@ -310,7 +312,7 @@ def _interaction_sample( ) if len(spec.columns) > 1: - raise RuntimeError("spec must have only one column") + raise SegmentedSpecificationError("spec must have only one column") # if using skims, copy index into the dataframe, so it will be # available as the "destination" for set_skim_wrapper_targets @@ -578,7 +580,7 @@ def _interaction_sample( trace_choosers=choosers, ) - choices_df = make_sample_choices_utility_based( + choices_df, probs = make_sample_choices_utility_based( state, choosers, utilities, @@ -590,8 +592,25 @@ def _interaction_sample( trace_label=trace_label, chunk_sizer=chunk_sizer, ) + del utilities chunk_sizer.log_df(trace_label, "utilities", None) + + if estimation.manager.enabled and sample_size > 0: + + choices_df = _ensure_chosen_alts_in_sample( + alt_col_name, + alternatives, + choices_df, + choosers, + probs, + state, + trace_label, + ) + + del probs + chunk_sizer.log_df(trace_label, "probs", None) + else: # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative @@ -628,6 +647,19 @@ def _interaction_sample( chunk_sizer=chunk_sizer, ) + chunk_sizer.log_df(trace_label, "choices_df", choices_df) + + if estimation.manager.enabled and sample_size > 0: + choices_df = _ensure_chosen_alts_in_sample( + alt_col_name, + alternatives, + choices_df, + choosers, + probs, + state, + trace_label, + ) + del probs chunk_sizer.log_df(trace_label, "probs", None) @@ -677,6 +709,49 @@ def _interaction_sample( return choices_df +def _ensure_chosen_alts_in_sample( + alt_col_name, + alternatives: pd.DataFrame, + choices_df: pd.DataFrame, + choosers: pd.DataFrame, + probs: pd.DataFrame, + state: State, + trace_label, +) -> pd.DataFrame: + # we need to ensure chosen alternative is included in the sample + survey_choices = estimation.manager.get_survey_destination_choices( + state, choosers, trace_label + ) + if survey_choices is not None: + assert ( + survey_choices.index == choosers.index + ).all(), "survey_choices and choosers must have the same index" + survey_choices.name = alt_col_name + survey_choices = survey_choices.dropna().astype(choices_df[alt_col_name].dtype) + + # merge all survey choices onto choices_df + probs_df = probs.reset_index().melt( + id_vars=[choosers.index.name], + var_name=alt_col_name, + value_name="prob", + ) + # probs are numbered 0..n-1 so we need to map back to alt ids + zone_map = pd.Series(alternatives.index).to_dict() + probs_df[alt_col_name] = probs_df[alt_col_name].map(zone_map) + + survey_choices = pd.merge( + survey_choices, + probs_df, + on=[choosers.index.name, alt_col_name], + how="left", + ) + survey_choices["rand"] = 0 + survey_choices["prob"].fillna(0, inplace=True) + choices_df = pd.concat([choices_df, survey_choices], ignore_index=True) + choices_df.sort_values(by=[choosers.index.name], inplace=True) + return choices_df + + def interaction_sample( state: workflow.State, choosers: pd.DataFrame, diff --git a/activitysim/core/interaction_sample_simulate.py b/activitysim/core/interaction_sample_simulate.py index 0914334276..e73f64f4fb 100644 --- a/activitysim/core/interaction_sample_simulate.py +++ b/activitysim/core/interaction_sample_simulate.py @@ -10,6 +10,7 @@ from activitysim.core import chunk, interaction_simulate, logit, tracing, util, workflow from activitysim.core.configuration.base import ComputeSettings from activitysim.core.simulate import set_skim_wrapper_targets +from activitysim.core.exceptions import SegmentedSpecificationError logger = logging.getLogger(__name__) @@ -115,7 +116,7 @@ def _interaction_sample_simulate( ) if len(spec.columns) > 1: - raise RuntimeError("spec must have only one column") + raise SegmentedSpecificationError("spec must have only one column") # if using skims, copy index into the dataframe, so it will be # available as the "destination" for the skims dereference below @@ -133,7 +134,7 @@ def _interaction_sample_simulate( # assert alternatives.index.name == choosers.index.name # asserting the index names are the same tells us nothing about the underlying data so why? - logger.info( + logger.debug( f"{trace_label} start merging choosers and alternatives to create interaction_df" ) @@ -169,7 +170,7 @@ def _interaction_sample_simulate( ) interaction_df = alternatives.join(choosers, how="left", rsuffix="_chooser") - logger.info( + logger.debug( f"{trace_label} end merging choosers and alternatives to create interaction_df" ) diff --git a/activitysim/core/interaction_simulate.py b/activitysim/core/interaction_simulate.py index 4aa3166d87..13abb9f77f 100644 --- a/activitysim/core/interaction_simulate.py +++ b/activitysim/core/interaction_simulate.py @@ -7,14 +7,16 @@ from builtins import zip from collections import OrderedDict from datetime import timedelta +from pathlib import Path from typing import Mapping import numpy as np import pandas as pd -from activitysim.core import chunk, logit, simulate, tracing, util, workflow +from activitysim.core import chunk, logit, simulate, timing, tracing, util, workflow from activitysim.core.configuration.base import ComputeSettings from activitysim.core.fast_eval import fast_eval +from activitysim.core.exceptions import SegmentedSpecificationError logger = logging.getLogger(__name__) @@ -82,7 +84,7 @@ def eval_interaction_utilities( start_time = time.time() trace_label = tracing.extend_trace_label(trace_label, "eval_interaction_utils") - logger.info("Running eval_interaction_utilities on %s rows" % df.shape[0]) + logger.debug("Running eval_interaction_utilities on %s rows" % df.shape[0]) sharrow_enabled = state.settings.sharrow if compute_settings is None: @@ -90,7 +92,7 @@ def eval_interaction_utilities( if compute_settings.sharrow_skip: sharrow_enabled = False - logger.info(f"{trace_label} sharrow_enabled is {sharrow_enabled}") + logger.debug(f"{trace_label} sharrow_enabled is {sharrow_enabled}") trace_eval_results = None @@ -263,6 +265,23 @@ def to_series(x): exprs = spec.index labels = spec.index + # init a performance timer if needed + if ( + state.settings.expression_profile + and compute_settings.performance_log is None + ): + perf_log_file = Path(trace_label + ".log") + elif ( + state.settings.expression_profile is False + or compute_settings.performance_log is False + ): + perf_log_file = None + elif compute_settings.performance_log is True: + perf_log_file = Path(trace_label + ".log") + else: + perf_log_file = compute_settings.performance_log + performance_timer = timing.EvalTiming(perf_log_file) + with compute_settings.pandas_option_context(): for expr, label, coefficient in zip(exprs, labels, spec.iloc[:, 0]): try: @@ -270,7 +289,8 @@ def to_series(x): if expr.startswith("_"): target = expr[: expr.index("@")] rhs = expr[expr.index("@") + 1 :] - v = to_series(eval(rhs, globals(), locals_d)) + with performance_timer.time_expression(expr): + v = to_series(eval(rhs, globals(), locals_d)) # update locals to allows us to ref previously assigned targets locals_d[target] = v @@ -285,10 +305,11 @@ def to_series(x): # they have a non-zero dummy coefficient to avoid being removed from spec as NOPs continue - if expr.startswith("@"): - v = to_series(eval(expr[1:], globals(), locals_d)) - else: - v = fast_eval(df, expr, resolvers=[locals_d]) + with performance_timer.time_expression(expr): + if expr.startswith("@"): + v = to_series(eval(expr[1:], globals(), locals_d)) + else: + v = fast_eval(df, expr, resolvers=[locals_d]) if check_for_variability and v.std() == 0: logger.info( @@ -403,6 +424,7 @@ def to_series(x): trace_label, "eval.trace_eval_results", trace_eval_results ) + performance_timer.write_log(state) chunk_sizer.log_df(trace_label, "v", None) chunk_sizer.log_df( trace_label, "eval.utilities", None @@ -612,11 +634,11 @@ def to_series(x): raise # enter debugger now to see what's up timelogger.mark("sharrow interact test", True, logger, trace_label) - logger.info(f"utilities.dtypes {trace_label}\n{utilities.dtypes}") + logger.debug(f"utilities.dtypes {trace_label}\n{utilities.dtypes}") end_time = time.time() timelogger.summary(logger, "TIMING interact_simulate.eval_utils") - logger.info( + logger.debug( f"interact_simulate.eval_utils runtime: {timedelta(seconds=end_time - start_time)} {trace_label}" ) @@ -701,7 +723,7 @@ def _interaction_simulate( ) if len(spec.columns) > 1: - raise RuntimeError("spec must have only one column") + raise SegmentedSpecificationError("spec must have only one column") sample_size = sample_size or len(alternatives) diff --git a/activitysim/core/logit.py b/activitysim/core/logit.py index 0162f0b8c8..0030168bb2 100644 --- a/activitysim/core/logit.py +++ b/activitysim/core/logit.py @@ -11,6 +11,11 @@ from activitysim.core import tracing, workflow from activitysim.core.choosing import choice_maker from activitysim.core.configuration.logit import LogitNestSpec +from activitysim.core.exceptions import ( + InvalidTravelError, + ModelConfigurationError, + TableIndexError, +) logger = logging.getLogger(__name__) @@ -88,7 +93,7 @@ def report_bad_choices( logger.warning(row_msg) if raise_error: - raise RuntimeError(msg_with_count) + raise InvalidTravelError(msg_with_count) def utils_to_logsums(utils, exponentiated=False, allow_zero_probs=False): @@ -524,11 +529,11 @@ def interaction_dataset( """ if not choosers.index.is_unique: - raise RuntimeError( + raise TableIndexError( "ERROR: choosers index is not unique, " "sample will not work correctly" ) if not alternatives.index.is_unique: - raise RuntimeError( + raise TableIndexError( "ERROR: alternatives index is not unique, " "sample will not work correctly" ) @@ -633,7 +638,7 @@ def validate_nest_spec(nest_spec: dict | LogitNestSpec, trace_label: str): # nest.print() if duplicates: - raise RuntimeError( + raise ModelConfigurationError( f"validate_nest_spec:duplicate nest key/s '{duplicates}' in nest spec - {trace_label}" ) @@ -733,7 +738,9 @@ def each_nest(nest_spec: dict | LogitNestSpec, type=None, post_order=False): Nest object with info about the current node (nest or leaf) """ if type is not None and type not in Nest.nest_types(): - raise RuntimeError("Unknown nest type '%s' in call to each_nest" % type) + raise ModelConfigurationError( + "Unknown nest type '%s' in call to each_nest" % type + ) if isinstance(nest_spec, dict): nest_spec = LogitNestSpec.model_validate(nest_spec) diff --git a/activitysim/core/mp_tasks.py b/activitysim/core/mp_tasks.py index 7d31134bc0..f54e2f8d2f 100644 --- a/activitysim/core/mp_tasks.py +++ b/activitysim/core/mp_tasks.py @@ -19,6 +19,7 @@ from activitysim.core import config, mem, tracing, util, workflow from activitysim.core.configuration import FileSystem, Settings +from activitysim.core.run_id import RunId from activitysim.core.workflow.checkpoint import ( CHECKPOINT_NAME, CHECKPOINT_TABLE_NAME, @@ -26,6 +27,7 @@ NON_TABLE_COLUMNS, ParquetStore, ) +from activitysim.core.exceptions import * logger = logging.getLogger(__name__) @@ -440,7 +442,9 @@ def build_slice_rules(state: workflow.State, slice_info, pipeline_tables): tables[table_name] = pipeline_tables[table_name] if primary_slicer not in tables: - raise RuntimeError("primary slice table '%s' not in pipeline" % primary_slicer) + raise SystemConfigurationError( + "primary slice table '%s' not in pipeline" % primary_slicer + ) # allow wildcard 'True' to avoid slicing (or coalescing) any tables no explicitly listed in slice_info.tables # populationsim uses slice.except wildcards to avoid listing control tables (etc) that should not be sliced, @@ -532,7 +536,7 @@ def apportion_pipeline(state: workflow.State, sub_proc_names, step_info): """ slice_info = step_info.get("slice", None) if slice_info is None: - raise RuntimeError("missing slice_info.slice") + raise SystemConfigurationError("missing slice_info.slice") multiprocess_step_name = step_info.get("name", None) pipeline_file_name = state.get_injectable("pipeline_file_name") @@ -542,14 +546,16 @@ def apportion_pipeline(state: workflow.State, sub_proc_names, step_info): "last_checkpoint_in_previous_multiprocess_step", None ) if last_checkpoint_in_previous_multiprocess_step is None: - raise RuntimeError("missing last_checkpoint_in_previous_multiprocess_step") + raise CheckpointNameNotFoundError( + "missing last_checkpoint_in_previous_multiprocess_step" + ) state.checkpoint.restore(resume_after=last_checkpoint_in_previous_multiprocess_step) # ensure all tables are in the pipeline checkpointed_tables = state.checkpoint.list_tables() for table_name in slice_info["tables"]: if table_name not in checkpointed_tables: - raise RuntimeError(f"slicer table {table_name} not found in pipeline") + raise StateAccessError(f"slicer table {table_name} not found in pipeline") checkpoints_df = state.checkpoint.get_inventory() @@ -601,7 +607,7 @@ def apportion_pipeline(state: workflow.State, sub_proc_names, step_info): if rule["slice_by"] is not None and num_sub_procs > len(df): # almost certainly a configuration error - raise RuntimeError( + raise SystemConfigurationError( f"apportion_pipeline: multiprocess step {multiprocess_step_name} " f"slice table {table_name} has fewer rows {df.shape} " f"than num_processes ({num_sub_procs})." @@ -634,7 +640,7 @@ def apportion_pipeline(state: workflow.State, sub_proc_names, step_info): # don't slice mirrored tables sliced_tables[table_name] = df else: - raise RuntimeError( + raise TableSlicingError( "Unrecognized slice rule '%s' for table %s" % (rule["slice_by"], table_name) ) @@ -678,7 +684,7 @@ def apportion_pipeline(state: workflow.State, sub_proc_names, step_info): if rule["slice_by"] is not None and num_sub_procs > len(df): # almost certainly a configuration error - raise RuntimeError( + raise SystemConfigurationError( f"apportion_pipeline: multiprocess step {multiprocess_step_name} " f"slice table {table_name} has fewer rows {df.shape} " f"than num_processes ({num_sub_procs})." @@ -711,7 +717,7 @@ def apportion_pipeline(state: workflow.State, sub_proc_names, step_info): # don't slice mirrored tables sliced_tables[table_name] = df else: - raise RuntimeError( + raise TableSlicingError( "Unrecognized slice rule '%s' for table %s" % (rule["slice_by"], table_name) ) @@ -885,6 +891,10 @@ def setup_injectables_and_logging(injectables, locutor: bool = True) -> workflow injects injectables """ state = workflow.State() + _run_id = injectables.get("run_id", None) + if _run_id: + state.tracing.run_id = RunId(_run_id) + state = state.initialize_filesystem(**injectables) state.settings = injectables.get("settings", Settings()) state.filesystem.parse_settings(state.settings) @@ -970,7 +980,7 @@ def adjust_chunk_size_for_shared_memory(chunk_size, data_buffers, num_processes) ) if adjusted_chunk_size <= 0: - raise RuntimeError( + raise SystemConfigurationError( f"adjust_chunk_size_for_shared_memory: chunk_size too small for shared memory. " f"adjusted_chunk_size: {adjusted_chunk_size}" ) @@ -1366,7 +1376,7 @@ def check_proc_status(state: workflow.State): state, f"error terminating process {op.name}: {e}", ) - raise RuntimeError("Process %s failed" % (p.name,)) + raise SubprocessError("Process %s failed" % (p.name,)) step_name = step_info["name"] @@ -1531,7 +1541,7 @@ def run_sub_task(state: workflow.State, p): if p.exitcode: error(state, f"Process {p.name} returned exitcode {p.exitcode}") - raise RuntimeError("Process %s returned exitcode %s" % (p.name, p.exitcode)) + raise SubprocessError("Process %s returned exitcode %s" % (p.name, p.exitcode)) def drop_breadcrumb(state: workflow.State, step_name, crumb, value=True): @@ -1596,7 +1606,7 @@ def run_multiprocess(state: workflow.State, injectables): run_list = get_run_list(state) if not run_list["multiprocess"]: - raise RuntimeError( + raise SubprocessError( "run_multiprocess called but multiprocess flag is %s" % run_list["multiprocess"] ) @@ -1719,7 +1729,7 @@ def find_breadcrumb(crumb, default=None): ) if len(completed) != num_processes: - raise RuntimeError( + raise SubprocessError( "%s processes failed in step %s" % (num_processes - len(completed), step_name) ) @@ -1787,7 +1797,9 @@ def get_breadcrumbs(state: workflow.State, run_list): # - can't resume multiprocess without breadcrumbs file if not breadcrumbs: error(state, f"empty breadcrumbs for resume_after '{resume_after}'") - raise RuntimeError("empty breadcrumbs for resume_after '%s'" % resume_after) + raise CheckpointNameNotFoundError( + "empty breadcrumbs for resume_after '%s'" % resume_after + ) # if resume_after is specified by name if resume_after != LAST_CHECKPOINT: @@ -1808,7 +1820,7 @@ def get_breadcrumbs(state: workflow.State, run_list): if resume_step_name not in previous_steps: error(state, f"resume_after model '{resume_after}' not in breadcrumbs") - raise RuntimeError( + raise CheckpointNameNotFoundError( "resume_after model '%s' not in breadcrumbs" % resume_after ) @@ -1826,7 +1838,7 @@ def get_breadcrumbs(state: workflow.State, run_list): multiprocess_step_names = [step["name"] for step in run_list["multiprocess_steps"]] if list(breadcrumbs.keys()) != multiprocess_step_names[: len(breadcrumbs)]: - raise RuntimeError( + raise CheckpointNameNotFoundError( "last run steps don't match run list: %s" % list(breadcrumbs.keys()) ) @@ -1911,15 +1923,15 @@ def get_run_list(state: workflow.State): } if not models or not isinstance(models, list): - raise RuntimeError("No models list in settings file") + raise SystemConfigurationError("No models list in settings file") if resume_after == models[-1]: - raise RuntimeError( + raise SystemConfigurationError( "resume_after '%s' is last model in models list" % resume_after ) if multiprocess: if not multiprocess_steps: - raise RuntimeError( + raise SystemConfigurationError( "multiprocess setting is %s but no multiprocess_steps setting" % multiprocess ) @@ -1935,15 +1947,15 @@ def get_run_list(state: workflow.State): # - validate step name name = step.get("name", None) if not name: - raise RuntimeError( + raise SystemConfigurationError( "missing name for step %s" " in multiprocess_steps" % istep ) if name in step_names: - raise RuntimeError( + raise SystemConfigurationError( "duplicate step name %s" " in multiprocess_steps" % name ) if name in models: - raise RuntimeError( + raise SystemConfigurationError( f"multiprocess_steps step name '{name}' cannot also be a model name" ) @@ -1953,7 +1965,7 @@ def get_run_list(state: workflow.State): num_processes = step.get("num_processes", 0) or 0 if not isinstance(num_processes, int) or num_processes < 0: - raise RuntimeError( + raise SystemConfigurationError( "bad value (%s) for num_processes for step %s" " in multiprocess_steps" % (num_processes, name) ) @@ -1975,7 +1987,7 @@ def get_run_list(state: workflow.State): if num_processes == 0: num_processes = 1 if num_processes > 1: - raise RuntimeError( + raise SystemConfigurationError( "num_processes > 1 but no slice info for step %s" " in multiprocess_steps" % name ) @@ -2004,19 +2016,19 @@ def get_run_list(state: workflow.State): slice = step.get("slice", None) if slice: if "tables" not in slice: - raise RuntimeError( + raise SystemConfigurationError( "missing tables list for step %s" " in multiprocess_steps" % istep ) start = step.get(start_tag, None) if not name: - raise RuntimeError( + raise SystemConfigurationError( "missing %s tag for step '%s' (%s)" " in multiprocess_steps" % (start_tag, name, istep) ) if start not in models: - raise RuntimeError( + raise SystemConfigurationError( "%s tag '%s' for step '%s' (%s) not in models list" % (start_tag, start, name, istep) ) @@ -2024,14 +2036,14 @@ def get_run_list(state: workflow.State): starts[istep] = models.index(start) if istep == 0 and starts[istep] != 0: - raise RuntimeError( + raise SystemConfigurationError( "%s tag '%s' for first step '%s' (%s)" " is not first model in models list" % (start_tag, start, name, istep) ) if istep > 0 and starts[istep] <= starts[istep - 1]: - raise RuntimeError( + raise SystemConfigurationError( "%s tag '%s' for step '%s' (%s)" " falls before that of prior step in models list" % (start_tag, start, name, istep) @@ -2048,7 +2060,7 @@ def get_run_list(state: workflow.State): step_models = models[starts[istep] : starts[istep + 1]] if step_models[-1][0] == LAST_CHECKPOINT: - raise RuntimeError( + raise CheckpointNameNotFoundError( "Final model '%s' in step %s models list not checkpointed" % (step_models[-1], name) ) diff --git a/activitysim/core/pathbuilder_cache.py b/activitysim/core/pathbuilder_cache.py index a59ca17ec4..6ed3a7061e 100644 --- a/activitysim/core/pathbuilder_cache.py +++ b/activitysim/core/pathbuilder_cache.py @@ -14,6 +14,7 @@ import psutil from activitysim.core import config, los, util +from activitysim.core.exceptions import StateAccessError, TableTypeError logger = logging.getLogger(__name__) @@ -177,7 +178,7 @@ def open(self): f"TVPBCache.open {self.cache_tag} read fully_populated data array from mmap file" ) else: - raise RuntimeError( + raise StateAccessError( f"Pathbuilder cache not found. Did you forget to run initialize tvpb?" f"Expected cache file: {self.cache_path}" ) @@ -253,7 +254,7 @@ def allocate_data_buffer(self, shared=False): elif dtype_name == "float32": typecode = "f" else: - raise RuntimeError( + raise TableTypeError( "allocate_data_buffer unrecognized dtype %s" % dtype_name ) diff --git a/activitysim/core/random.py b/activitysim/core/random.py index dcef272ff6..5541fcd41d 100644 --- a/activitysim/core/random.py +++ b/activitysim/core/random.py @@ -10,6 +10,7 @@ import pandas as pd from activitysim.core.util import reindex +from activitysim.core.exceptions import DuplicateLoadableObjectError, TableIndexError from .tracing import print_elapsed_time @@ -441,7 +442,7 @@ def get_channel_for_df(self, df): channel_name = self.index_to_channel.get(df.index.name, None) if channel_name is None: - raise RuntimeError("No channel with index name '%s'" % df.index.name) + raise TableIndexError("No channel with index name '%s'" % df.index.name) return self.channels[channel_name] # step handling @@ -574,7 +575,9 @@ def set_base_seed(self, seed=None): """ if self.step_name is not None or self.channels: - raise RuntimeError("Can only call set_base_seed before the first step.") + raise DuplicateLoadableObjectError( + "Can only call set_base_seed before the first step." + ) assert len(list(self.channels.keys())) == 0 diff --git a/activitysim/core/run_id.py b/activitysim/core/run_id.py new file mode 100644 index 0000000000..a5d4ea1c87 --- /dev/null +++ b/activitysim/core/run_id.py @@ -0,0 +1,11 @@ +import struct +import time + + +class RunId(str): + def __new__(cls, x=None): + if x is None: + return cls( + hex(struct.unpack(" 0: for wrn in w: @@ -686,6 +707,7 @@ def eval_utilities( expression_values[i] = expression_value i += 1 + performance_timer.write_log(state) chunk_sizer.log_df(trace_label, "expression_values", expression_values) if estimator: @@ -840,14 +862,16 @@ def eval_utilities( chunk_sizer.log_df(trace_label, "utilities", None) end_time = time.time() - logger.info( + logger.debug( f"simulate.eval_utils runtime: {timedelta(seconds=end_time - start_time)} {trace_label}" ) timelogger.summary(logger, "simulate.eval_utils timing") return utilities -def eval_variables(state: workflow.State, exprs, df, locals_d=None): +def eval_variables( + state: workflow.State, exprs, df, locals_d=None, trace_label: str | None = None +): """ Evaluate a set of variable expressions from a spec in the context of a given data table. @@ -874,6 +898,9 @@ def eval_variables(state: workflow.State, exprs, df, locals_d=None): locals_d : Dict This is a dictionary of local variables that will be the environment for an evaluation of an expression that begins with @ + trace_label : str + The trace label to use for performance logging. If None, performance + logging is not activated. Returns ------- @@ -908,13 +935,20 @@ def to_array(x): return a + if state.settings.expression_profile and trace_label: + perf_log_file = Path(trace_label + ".log") + else: + perf_log_file = None + performance_timer = timing.EvalTiming(perf_log_file) + values = OrderedDict() for expr in exprs: try: - if expr.startswith("@"): - expr_values = to_array(eval(expr[1:], globals_dict, locals_dict)) - else: - expr_values = to_array(fast_eval(df, expr)) + with performance_timer.time_expression(expr): + if expr.startswith("@"): + expr_values = to_array(eval(expr[1:], globals_dict, locals_dict)) + else: + expr_values = to_array(fast_eval(df, expr)) # read model spec should ensure uniqueness, otherwise we should uniquify assert expr not in values values[expr] = expr_values @@ -955,7 +989,7 @@ def to_array(x): # return utilities -def set_skim_wrapper_targets(df, skims): +def set_skim_wrapper_targets(df, skims, allow_partial_success: bool = True): """ Add the dataframe to the SkimWrapper object so that it can be dereferenced using the parameters of the skims object. @@ -973,6 +1007,11 @@ def set_skim_wrapper_targets(df, skims): dataframe that comes back from interacting choosers with alternatives. See the skims module for more documentation on how the skims object is intended to be used. + allow_partial_success : bool, optional + If True (default), failures to set skim targets for some skim objects + (for example due to missing required columns in `df`) will be collected + and logged as warnings but will not raise an exception. If False, any + such failure will be raised immediately, preventing partial success. """ skims = ( @@ -982,13 +1021,31 @@ def set_skim_wrapper_targets(df, skims): if isinstance(skims, dict) else [skims] ) + problems = [] # assume any object in skims can be treated as a skim for skim in skims: try: skim.set_df(df) except AttributeError: + # sometimes when passed as a dict, the skims have a few keys given as + # settings or constants, which are not actually "skim" objects and have + # no `set_df` attribute. This is fine and we just let them pass. pass + except AssertionError as e: + # An assertion error will get triggered if the columns of `df` are + # missing one of the required keys needed to look up values in the + # skims. This may not be a problem, if this particular set of skims + # is not actually used in this model component. So we'll warn about + # it but usually not raise a showstopping error. + problems.append(e) + if not allow_partial_success: + raise + + if problems: + # if problems were discovered, log them as warnings + for problem in problems: + logger.warning(str(problem)) # @@ -1716,11 +1773,13 @@ def list_of_skims(skims): return ( skims if isinstance(skims, list) - else skims.values() - if isinstance(skims, dict) - else [skims] - if skims is not None - else [] + else ( + skims.values() + if isinstance(skims, dict) + else [skims] + if skims is not None + else [] + ) ) return [ diff --git a/activitysim/core/skim_dataset.py b/activitysim/core/skim_dataset.py index 1ed871ec0f..14c7ed862b 100644 --- a/activitysim/core/skim_dataset.py +++ b/activitysim/core/skim_dataset.py @@ -3,6 +3,7 @@ import glob import logging import os +import re import time from functools import partial from pathlib import Path @@ -252,7 +253,7 @@ def set_df(self, df): and np.issubdtype(df[self.time_key].dtype, np.integer) and df[self.time_key].max() < self.dataset.dims["time_period"] ): - logger.info(f"natural use for time_period={self.time_key}") + logger.debug(f"natural use for time_period={self.time_key}") positions["time_period"] = df[self.time_key] elif ( df[self.time_key].dtype == "category" @@ -260,7 +261,7 @@ def set_df(self, df): ): positions["time_period"] = df[self.time_key].cat.codes else: - logger.info(f"vectorize lookup for time_period={self.time_key}") + logger.debug(f"vectorize lookup for time_period={self.time_key}") positions["time_period"] = pd.Series( np.vectorize(self.time_map.get, "I")(df[self.time_key], 0), index=df.index, @@ -499,8 +500,6 @@ def _apply_digital_encoding(dataset, digital_encodings): As modified """ if digital_encodings: - import re - # apply once, before saving to zarr, will stick around in cache for encoding in digital_encodings: logger.info(f"applying zarr digital-encoding: {encoding}") @@ -753,6 +752,68 @@ def load_skim_dataset_to_shared_memory(state, skim_tag="taz") -> xr.Dataset: d = None # skims are not stored in shared memory, so we need to load them do_not_save_zarr = False + potential_conflicts = network_los_preload.skims_info.get(skim_tag).skim_conflicts + if potential_conflicts: + # There are some conflicts in the skims, where both time-dependent + # and time-agnostic skim with the same name are present. We need + # to check we have sufficient ignore rules in place to correct this + # condition. + + def _should_ignore(ignore, x): + if isinstance(ignore, str): + ignore = [ignore] + if ignore is not None: + for i in ignore: + if re.match(i, x): + return True + return False + + ignore = state.settings.omx_ignore_patterns + problems = [] + for time_agnostic, time_dependent in potential_conflicts.items(): + # option 1, ignore all the time-dependent skims + # if this is fulfilled, we are ok and can proceed + if all((_should_ignore(ignore, i)) for i in time_dependent): + continue + # option 2, ignore the time-agnostic skim + # if this is fulfilled, we are ok and can proceed + if _should_ignore(ignore, time_agnostic): + continue + # otherwise, we have a problem. collect all the problems + # and raise an error at the end listing all of them + problems.append(time_agnostic) + if problems: + solution_1 = "__.+'\n - '^".join(problems) + solution_2 = "$'\n - '^".join(problems) + # we have a problem, raise an error + error_message = ( + f"skims {problems} are present in both time-dependent and time-agnostic formats.\n" + "Please add ignore rules to the omx_ignore_patterns setting to resolve this issue.\n" + "To ignore the time dependent skims, add the following to your settings file:\n" + "\n" + "omx_ignore_patterns:\n" + f" - '^{solution_1}__.+'\n" + "\n" + "To ignore the time agnostic skims, add the following to your settings file:\n" + "\n" + "omx_ignore_patterns:\n" + f" - '^{solution_2}$'\n" + "\n" + "You can also do some variation or combination of the two, as long as you resolve\n" + "the conflict(s). In addition, note that minor edits to model spec files may be\n" + "needed to accommodate these changes in how skim data is represented (e.g. changing\n" + "`odt_skims` to `od_skims`, or similar modifications wherever the offending variable\n" + "names are used). Alternatively, you can modify the skim data in the source files to\n" + "remove the naming conflicts, which is typically done upstream of ActivitySim in\n" + "whatever tool you are using to create the skims in the first place.\n" + "\n" + "See [https://activitysim.github.io/?q=skims] for more information.\n" + ) + # write the error message to the log + logger.error(error_message) + # raise an error to stop the run, put the entire error message there also + raise ValueError(error_message) + if d is None: time_periods = _dedupe_time_periods(network_los_preload) if zarr_file: diff --git a/activitysim/core/skim_dict_factory.py b/activitysim/core/skim_dict_factory.py index 78c7053583..2ca90c4c66 100644 --- a/activitysim/core/skim_dict_factory.py +++ b/activitysim/core/skim_dict_factory.py @@ -8,11 +8,13 @@ import os import warnings from abc import ABC +from collections import defaultdict import numpy as np import openmatrix as omx from activitysim.core import skim_dictionary, util +from activitysim.core.exceptions import TableTypeError logger = logging.getLogger(__name__) @@ -86,6 +88,7 @@ def __init__(self, state, skim_tag, network_los): self.offset_map_name = None self.offset_map = None self.omx_keys = None + self.skim_conflicts = None self.base_keys = None self.block_offsets = None @@ -117,7 +120,12 @@ def load_skim_info(self, state, skim_tag): logger.debug(f"load_skim_info {skim_tag} reading {omx_file_path}") with omx.open_file(omx_file_path, mode="r") as omx_file: - # fixme call to omx_file.shape() failing in windows p3.5 + + # Check the shape of the skims. All skim files loaded within this + # loop need to have the same shape. For the first file, the + # shape is set to the omx_shape attribute, so we know what shape + # to expect. For subsequent files, we check that the shape is the + # same as the first file. If not, we raise an error. if self.omx_shape is None: self.omx_shape = tuple( int(i) for i in omx_file.shape() @@ -127,6 +135,12 @@ def load_skim_info(self, state, skim_tag): int(i) for i in omx_file.shape() ), f"Mismatch shape {self.omx_shape} != {omx_file.shape()}" + # Check that all the matrix names are unique across all the + # omx files. This check is only looking at the name as stored in + # the file, and is not processing any time period transformations. + # If duplicate names are found, a warning is issued. This is not + # a fatal error, but it is inefficient and may be symptom of a + # deeper problem. for skim_name in omx_file.listMatrices(): if skim_name in self.omx_manifest: warnings.warn( @@ -134,6 +148,11 @@ def load_skim_info(self, state, skim_tag): ) self.omx_manifest[skim_name] = omx_file_path + # We load the offset map if it exists. This is expected to be + # a 1D array of integers that that gives ID values for each TAZ + # in the skims. ActivitySim expects there to be only one such + # mapping, although it can appear multiple times (e.g. once in + # each file). for m in omx_file.listMappings(): if self.offset_map is None: self.offset_map_name = m @@ -146,21 +165,54 @@ def load_skim_info(self, state, skim_tag): f"Multiple mappings in omx file: {self.offset_map_name} != {m}" ) - # - omx_keys dict maps skim key to omx_key - # DISTWALK: DISTWALK - # ('DRV_COM_WLK_BOARDS', 'AM'): DRV_COM_WLK_BOARDS__AM, ... + # Create the `omx_keys` mapping, which connects skim key to omx_key. + # The skim key is either a single string that names a skim that is not + # time-dependent, or a 2-tuple of strings which names a skim and a time + # period. The omx_key is the original name of the skim in the omx file. + # For non-time-dependent skims, the omx_key is the same as the skim key, + # e.g. DISTWALK: DISTWALK. For time-dependent skims, the omx_key is the + # skim key with the time period appended, + # e.g. ('DRV_COM_WLK_BOARDS', 'AM'): DRV_COM_WLK_BOARDS__AM. self.omx_keys = dict() for skim_name in self.omx_manifest.keys(): key1, sep, key2 = skim_name.partition("__") - # - ignore composite tags not in dim3_tags_to_load if dim3_tags_to_load and sep and key2 not in dim3_tags_to_load: + # If a skim is found that has a time period that is not one of + # the known named time periods, a warning is issued, and that + # skim is ignored. This is not a fatal error, but it may be a + # symptom of a deeper problem. + warnings.warn(f"skim '{key1}' has unknown time period '{key2}'") continue - skim_key = (key1, key2) if sep else key1 - self.omx_keys[skim_key] = skim_name + # Create a skim_conflicts set, which identifies any skims that have both + # time-dependent and time-agnostic versions. This condition in and of + # itself is not a fatal error, as it is possible to have both types of skims + # in the same data when using the legacy codebase. When using skim_dataset + # instead of skim_dictionary (the former is required when using sharrow) this + # condition is no longer allowed, although we can potentially recover if + # the user has specified instructions that certain skim variables are not + # to be loaded. The recovery option is checked later, in the skim_dataset + # module, as that is where the skim variables are actually loaded. + time_dependent_skims = defaultdict(set) + time_agnostic_skims = set() + for k, v in self.omx_keys.items(): + if isinstance(k, tuple): + time_dependent_skims[k[0]].add(v) + else: + time_agnostic_skims.add(k) + self.skim_conflicts = { + k: v for k, v in time_dependent_skims.items() if k in time_agnostic_skims + } + if self.skim_conflicts: + msg = "some skims have both time-dependent and time-agnostic versions:" + for k in self.skim_conflicts: + msg += f"\n- {k}" + warnings.warn(msg) + + # Count the number of skims in the omx file self.num_skims = len(self.omx_keys) # - key1_subkeys dict maps key1 to dict of subkeys with that key1 @@ -411,7 +463,7 @@ def allocate_skim_buffer(self, skim_info, shared=False): elif dtype_name == "float32": typecode = "f" else: - raise RuntimeError( + raise TableTypeError( "allocate_skim_buffer unrecognized dtype %s" % dtype_name ) diff --git a/activitysim/core/skim_dictionary.py b/activitysim/core/skim_dictionary.py index 020002e252..59692e3d37 100644 --- a/activitysim/core/skim_dictionary.py +++ b/activitysim/core/skim_dictionary.py @@ -10,7 +10,7 @@ import pandas as pd from activitysim.core import workflow -from activitysim.core.exceptions import StateAccessError +from activitysim.core.exceptions import StateAccessError, TableIndexError logger = logging.getLogger(__name__) @@ -400,7 +400,6 @@ def wrap_3d(self, orig_key, dest_key, dim3_key): class SkimWrapper(object): - """ A SkimWrapper object is an access wrapper around a SkimDict of multiple skim objects, where each object is identified by a key. @@ -907,7 +906,7 @@ def get(self, row_ids, col_ids): not_in_skim = not_in_skim.values logger.warning(f"row_ids: {row_ids[not_in_skim]}") logger.warning(f"col_ids: {col_ids[not_in_skim]}") - raise RuntimeError( + raise TableIndexError( f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim." ) diff --git a/activitysim/core/steps/output.py b/activitysim/core/steps/output.py index b9d7cc13d6..ea543c8aaf 100644 --- a/activitysim/core/steps/output.py +++ b/activitysim/core/steps/output.py @@ -4,6 +4,9 @@ import logging import sys +import os +import shutil +from pathlib import Path import numpy as np import pandas as pd @@ -13,6 +16,7 @@ from activitysim.core import configuration, workflow from activitysim.core.workflow.checkpoint import CHECKPOINT_NAME +from activitysim.core.estimation import estimation_enabled, EstimationConfig logger = logging.getLogger(__name__) @@ -224,6 +228,144 @@ def write_data_dictionary(state: workflow.State) -> None: print(f"{info}\n", file=output_file) +def find_lowest_level_directories(starting_directory): + lowest_dirs = list() + + for root, dirs, files in os.walk(starting_directory): + if not dirs: + lowest_dirs.append(root) + + return lowest_dirs + + +def concat_and_write_edb(df_concat_dict, write_dir): + # concatenate the dataframes and output final file + for table_name, df_array in df_concat_dict.items(): + df = pd.concat(df_array) + + # sort the dataframe by index + if df.index.name is not None: + df = df.sort_index() + else: + df = df.sort_values(by=df.columns[0], kind="mergesort", ignore_index=True) + + if table_name.endswith(".csv"): + df.to_csv(os.path.join(write_dir, table_name), index=False) + elif table_name.endswith(".parquet"): + df.to_parquet(os.path.join(write_dir, table_name), index=True) + elif table_name.endswith(".pkl"): + df.to_pickle(os.path.join(write_dir, table_name)) + else: + raise ValueError(f"Unknown file type {table_name}") + + +def _coalesce_estimation_data_bundles(state): + """ + In estimation mode, estimation data bundles are written to separate subdirectories for each subprocess. + This model will go through each subdirectory and move the files to the parent directory. + This will only occur if the lowest level directory contains the multiprocess step names. + Only multiprocess step names are used because that's how EDBs are written in estimation mode. + """ + + logger.info("Coalescing Estimation Data Bundles") + + edb_dir = state.filesystem.get_output_dir("estimation_data_bundle") + estimation_settings = EstimationConfig.read_settings_file( + state.filesystem, "estimation.yaml", mandatory=True + ) + + lowest_dirs = find_lowest_level_directories(edb_dir) + + multiprocessing_step_names = [ + step.name for step in state.settings.multiprocess_steps + ] + lowest_dirs = [ + dir + for dir in lowest_dirs + if any(step in dir for step in multiprocessing_step_names) + ] + + if len(lowest_dirs) == 0: + logger.info("No estimation data bundles to coalesce") + return + + prev_edb = None + df_concat_dict = {} + + # loop through each lowest level directory + for dir in lowest_dirs: + logger.debug(f"Coalescing {dir}") + # get the parent directory + cur_edb = Path(dir).parent.absolute() + if prev_edb is None: + prev_edb = cur_edb + + # check if we have moved onto a new EDB + is_same_edb = cur_edb == prev_edb + + # if we have moved onto a new EDB, concatenate the dataframes and write the final files + if ( + (not is_same_edb) + and (len(df_concat_dict) > 0) + # and (len(df_concat_dict[list(df_concat_dict.keys())[0]]) > 1) + ): + concat_and_write_edb(df_concat_dict, prev_edb) + + # reset edb dir and dictionary + prev_edb = cur_edb + df_concat_dict = {} + + for i, file in enumerate(os.listdir(dir)): + + # get the file path + file_path = os.path.join(dir, file) + + # look for files that are duplicated across subprocesses + is_coefs_file = file.endswith(".csv") and "coef" in file + is_settings_file = file.endswith(".yaml") + is_spec_file = file.endswith(".csv") and ("spec" in file.lower()) + is_landuse_file = file.endswith("_landuse.csv") + is_size_terms_file = file.endswith("_size_terms.csv") + is_duplicate_file = ( + is_coefs_file + or is_spec_file + or is_settings_file + or is_landuse_file + or is_size_terms_file + ) + + if is_duplicate_file and not os.path.exists(os.path.join(cur_edb, file)): + # copy the file to the parent directory + shutil.copy(file_path, os.path.join(cur_edb, file)) + + if not is_duplicate_file: + # read file and store in dictionary + if file.endswith(".csv"): + df = pd.read_csv(file_path, low_memory=False) + elif file.endswith(".parquet"): + df = pd.read_parquet(file_path) + elif file.endswith(".pkl"): + df = pd.read_pickle(file_path) + else: + raise ValueError( + f"Unknown file type found {file}, expect csv, parquet, or pkl" + ) + + if file in df_concat_dict.keys(): + df_concat_dict[file].append(df) + else: + df_concat_dict[file] = [df] + + # delete the directory now that we have gone through all the files + if estimation_settings.DELETE_MP_SUBDIRS: + shutil.rmtree(dir) + + # need to concatenate the last set of dataframes + concat_and_write_edb(df_concat_dict, cur_edb) + + return + + @workflow.step def write_tables(state: workflow.State) -> None: """ @@ -434,3 +576,22 @@ def map_func(x): parquet.write_table(dt, file_path) else: raise ValueError(f"unknown file_type {file_type}") + + +@workflow.step +def coalesce_estimation_data_bundles(state: workflow.State) -> None: + """ + In estimation mode, estimation data bundles are written to separate subdirectories for each subprocess. + This model will go through each subdirectory and concat / copy the files to the parent directory. + This will only occur if the lowest level directory contains the multiprocess step names. + Only multiprocess step names are used because that's how EDBs are written in estimation mode. + + """ + is_estimation = estimation_enabled(state) + if state.settings.multiprocess and is_estimation: + _coalesce_estimation_data_bundles(state) + else: + logger.info( + "Not in estimation mode or not using multiprocess. Nothing to coalesce." + ) + return diff --git a/activitysim/core/test/_tools.py b/activitysim/core/test/_tools.py index 618b467bb9..3169b771c2 100644 --- a/activitysim/core/test/_tools.py +++ b/activitysim/core/test/_tools.py @@ -7,6 +7,8 @@ import pandas as pd +from activitysim.core.exceptions import PipelineError + def run_if_exists(filename): import pytest @@ -176,6 +178,6 @@ def progressive_checkpoint_test( # generate the reference pipeline if it did not exist if not ref_target.exists(): state.checkpoint.store.make_zip_archive(ref_target) - raise RuntimeError( + raise PipelineError( f"Reference pipeline {ref_target} did not exist, so it was created." ) diff --git a/activitysim/core/test/configs/preprocessor.csv b/activitysim/core/test/configs/preprocessor.csv new file mode 100644 index 0000000000..e2f5c29b97 --- /dev/null +++ b/activitysim/core/test/configs/preprocessor.csv @@ -0,0 +1,8 @@ +Description,Target,Expression +income from households table,_hh_income,"reindex(households.income, df.household_id)" +income test,is_high_income,_hh_income > 50000 +count persons test,num_persons,persons.groupby('household_id').size().reindex(df.household_id) +skim dict test,od_distance,"skim_dict.lookup(df.origin, df.destination, 'DIST')" +skim wrapper test,od_distance_wrapper,skims2d['DIST'] +sov time,od_sov_time,skims3d['SOV_TIME'] +testing constant from locals_dict,constant_test,test_constant / 2 \ No newline at end of file diff --git a/activitysim/core/test/test_pipeline.py b/activitysim/core/test/test_pipeline.py index dfa6d770a8..12f31dbc66 100644 --- a/activitysim/core/test/test_pipeline.py +++ b/activitysim/core/test/test_pipeline.py @@ -9,6 +9,7 @@ import tables from activitysim.core import workflow +from activitysim.core.exceptions import CheckpointNameNotFoundError from activitysim.core.test.extensions import steps # set the max households for all tests (this is to limit memory use on travis) @@ -70,17 +71,17 @@ def test_pipeline_run(state): state.checkpoint.load_dataframe("table1", checkpoint_name="step3") # try to get a table from a step before it was checkpointed - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("table2", checkpoint_name="step1") assert "not in checkpoint 'step1'" in str(excinfo.value) # try to get a non-existant table - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("bogus") assert "never checkpointed" in str(excinfo.value) # try to get an existing table from a non-existant checkpoint - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("table1", checkpoint_name="bogus") assert "not in checkpoints" in str(excinfo.value) @@ -111,12 +112,12 @@ def test_pipeline_checkpoint_drop(state): state.checkpoint.load_dataframe("table1") - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("table2") # assert "never checkpointed" in str(excinfo.value) # can't get a dropped table from current checkpoint - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(CheckpointNameNotFoundError) as excinfo: state.checkpoint.load_dataframe("table3") # assert "was dropped" in str(excinfo.value) diff --git a/activitysim/core/test/test_preprocessing.py b/activitysim/core/test/test_preprocessing.py new file mode 100644 index 0000000000..06c7785603 --- /dev/null +++ b/activitysim/core/test/test_preprocessing.py @@ -0,0 +1,197 @@ +# ActivitySim +# See full license in LICENSE.txt. +from __future__ import annotations + +import logging +import logging.config +import os.path + +import numpy as np +import pandas as pd +import pytest + +from activitysim.core import workflow, expressions, los +from activitysim.core.configuration.base import PreprocessorSettings + + +def add_canonical_dirs(configs_dir_name): + state = workflow.State() + los_configs_dir = os.path.join(os.path.dirname(__file__), f"los/{configs_dir_name}") + configs_dir = os.path.join(os.path.dirname(__file__), "configs") + data_dir = os.path.join(os.path.dirname(__file__), f"los/data") + output_dir = os.path.join(os.path.dirname(__file__), "output") + state.initialize_filesystem( + working_dir=os.path.dirname(__file__), + configs_dir=(los_configs_dir, configs_dir), + output_dir=output_dir, + data_dir=(data_dir,), + ) + return state + + +@pytest.fixture +def state() -> workflow.State: + state = add_canonical_dirs("configs_1z").load_settings() + network_los = los.Network_LOS(state) + network_los.load_data() + state.set("skim_dict", network_los.get_default_skim_dict()) + return state + + +@pytest.fixture(scope="module") +def households(): + return pd.DataFrame( + { + "household_id": [1, 2, 3], + "home_zone_id": [1, 2, 3], + "income": [50000, 60000, 70000], + } + ).set_index("household_id") + + +@pytest.fixture(scope="module") +def persons(): + return pd.DataFrame( + { + "person_id": [1, 2, 3, 4, 5], + "household_id": [1, 1, 2, 2, 3], + "age": [25, 30, 22, 28, 35], + } + ).set_index("person_id") + + +@pytest.fixture(scope="module") +def tours(): + return pd.DataFrame( + { + "tour_id": [1, 2, 3], + "household_id": [1, 2, 3], + "person_id": [1, 2, 3], + "tour_type": ["work", "shopping", "othmaint"], + "origin": [1, 2, 3], + "destination": [2, 3, 1], + "period": ["AM", "PM", "AM"], + } + ).set_index("tour_id") + + +def check_outputs(tours): + """ + Check that the tours DataFrame has the expected new columns and values + according to the preprocessor / annotator expressions. + """ + new_cols = [ + "is_high_income", + "num_persons", + "od_distance", + "od_distance_wrapper", + "od_sov_time", + "constant_test", + ] + + # check all new columns are added + assert all( + col in tours.columns for col in new_cols + ), f"Missing columns: {set(new_cols) - set(tours.columns)}" + + # column with _ shouldn't be in the columns + assert ( + "_hh_income" not in tours.columns + ), f"Unexpected column found: _hh_income in {tours.columns}" + + # check the values in the new columns + exppected_output = pd.DataFrame( + { + "tour_id": [1, 2, 3], + "is_high_income": [False, True, True], + "num_persons": [2, 2, 1], + "od_distance": [0.24, 0.28, 0.57], + "od_distance_wrapper": [0.24, 0.28, 0.57], + "od_sov_time": [0.78, 0.89, 1.76], + "constant_test": [21, 21, 21], + } + ).set_index("tour_id") + pd.testing.assert_frame_equal(tours[new_cols], exppected_output, check_dtype=False) + + +def setup_skims(state: workflow.State): + """Creates a set of skim wrappers to test in expressions.""" + skim_dict = state.get("skim_dict") + skims3d = skim_dict.wrap_3d( + orig_key="origin", dest_key="destination", dim3_key="period" + ) + skims2d = skim_dict.wrap("origin", "destination") + return {"skims3d": skims3d, "skims2d": skims2d} + + +def test_preprocessor(state: workflow.State, households, persons, tours): + # adding dataframes to state so they can be accessed in preprocessor + state.add_table("households", households) + state.add_table("persons", persons) + original_tours = tours.copy() + state.add_table("tours", original_tours) + + # defining preprocessor + preprocessor_settings = PreprocessorSettings( + SPEC="preprocessor.csv", + DF="tours", + TABLES=["persons", "households"], + ) + model_settings = {"preprocessor": preprocessor_settings} + + # annotating preprocessors + expressions.annotate_preprocessors( + state, + df=tours, + locals_dict={"test_constant": 42}, + skims=setup_skims(state), + model_settings=model_settings, + trace_label="ci_test_preprocessor", + ) + + check_outputs(tours) + + state_tours = state.get_table("tours") + # check that the state table is not modified + pd.testing.assert_frame_equal(state_tours, original_tours) + + +def test_annotator(state, households, persons, tours): + # adding dataframes to state so they can be accessed in annotator + state.add_table("households", households) + state.add_table("persons", persons) + original_tours = tours.copy() + state.add_table("tours", original_tours) + + # defining annotator + annotator_settings = PreprocessorSettings( + SPEC="preprocessor.csv", + DF="tours", + TABLES=["persons", "households"], + ) + model_settings = {"annotate_tours": annotator_settings} + + # annotating preprocessors + expressions.annotate_tables( + state, + model_settings=model_settings, + trace_label="ci_test_annotator", + skims=setup_skims(state), + locals_dict={"test_constant": 42}, + ) + + # outputs now put directly into the state object + check_outputs(state.get_table("tours")) + + # test what happens if we try to annotate a table that does not exist + model_settings = {"annotate_trips": annotator_settings} + + with pytest.raises(ValueError) as excinfo: + # this should raise an error because "trips" table does not exist in state + expressions.annotate_tables( + state, + model_settings=model_settings, + trace_label="ci_test_annotator", + skims=None, + locals_dict={"test_constant": 42}, + ) diff --git a/activitysim/core/test/test_random.py b/activitysim/core/test/test_random.py index 63809278c1..bcbc602685 100644 --- a/activitysim/core/test/test_random.py +++ b/activitysim/core/test/test_random.py @@ -8,6 +8,7 @@ import pytest from activitysim.core import random +from activitysim.core.exceptions import DuplicateLoadableObjectError def test_basic(): @@ -27,7 +28,7 @@ def test_basic(): assert "Arrays are not almost equal" in str(excinfo.value) # second call should return something different - with pytest.raises(RuntimeError) as excinfo: + with pytest.raises(DuplicateLoadableObjectError) as excinfo: rng.set_base_seed(1) assert "call set_base_seed before the first step" in str(excinfo.value) diff --git a/activitysim/core/test/test_util.py b/activitysim/core/test/test_util.py index 940c9a081d..ffb9e1ad04 100644 --- a/activitysim/core/test/test_util.py +++ b/activitysim/core/test/test_util.py @@ -67,7 +67,9 @@ def test_df_from_dict(): df = pd.DataFrame({"attrib": [1, 2, 2, 3, 1]}, index=index) # scramble index order for one expression and not the other - sorted = df.eval("attrib.sort_values()") + # use mergesort to ensure stable sort, if not specified the default is to + # use quicksort which is unstable and will cause this test to fail intermittently + sorted = df.eval("attrib.sort_values(kind='mergesort')") not_sorted = df.eval("attrib * 1") # check above expressions diff --git a/activitysim/core/timetable.py b/activitysim/core/timetable.py index 5743aeef0a..cedb3d2673 100644 --- a/activitysim/core/timetable.py +++ b/activitysim/core/timetable.py @@ -10,6 +10,7 @@ import pandas as pd from activitysim.core import chunk, configuration, workflow +from activitysim.core.exceptions import DuplicateWorkflowTableError logger = logging.getLogger(__name__) @@ -463,7 +464,9 @@ def replace_table(self, state: workflow.State): % self.windows_table_name, level=logging.ERROR, ) - raise RuntimeError("Attempt to replace_table while in transaction") + raise DuplicateWorkflowTableError( + "Attempt to replace_table while in transaction" + ) # get windows_df from bottleneck function in case updates to self.person_window # do not write through to pandas dataframe diff --git a/activitysim/core/timing.py b/activitysim/core/timing.py new file mode 100644 index 0000000000..618d02b741 --- /dev/null +++ b/activitysim/core/timing.py @@ -0,0 +1,787 @@ +from __future__ import annotations + +from contextlib import contextmanager +from pathlib import Path +from time import time_ns +from typing import TYPE_CHECKING, Literal + +import pandas as pd + +from .util import si_units + +if TYPE_CHECKING: + from .workflow import State + + +class NoTiming: + """Class that does no timing, serves as the default. + + This class is kept as simple as possible to avoid unnecessary overhead when + no timing is requested. + """ + + @contextmanager + def time_expression(self, expression: str): + """Context manager to time an expression.""" + yield + + def write_log(self, state: State) -> None: + """Write the log to a file.""" + pass + + +class EvalTiming(NoTiming): + def __new__(cls, log: Path | None = None, **kwargs): + if log is None: + return NoTiming() + else: + return super().__new__(cls) + + def __init__(self, log: Path | None = None, *, overwrite: bool = False): + """ + Timing class to log the time taken to evaluate expressions. + + Parameters + ---------- + log : Path | None, default None + Path to the log file. If None, no logging is done. If this is an + absolute path, the log file is created there. If this is just a + simple filename or a relative path, the log file is created relative + in or relative to the usual logging directory. + overwrite : bool, default False + If True, overwrite the log file if it already exists. If False, + create a new log file with a unique name. + """ + self.log_file = log + self.overwrite = overwrite + self.elapsed_times = {} + + @contextmanager + def time_expression(self, expression: str): + """Context manager to time an expression. + + Parameters + ---------- + expression : str + The expression to be timed. This is used as the key in the log file. + """ + + # when performance logging is not enabled, do nothing + if self.log_file is None: + yield + return + + # when performance logging is enabled, we track the time it takes to evaluate + # the expression and store it + start_time = time_ns() + yield + end_time = time_ns() + elapsed_time = end_time - start_time + if expression in self.elapsed_times: + self.elapsed_times[expression] += elapsed_time + else: + self.elapsed_times[expression] = elapsed_time + + def write_log(self, state: State) -> None: + """Write the log to a file. + + Parameters + ---------- + state : State + The state object containing configuration information. This is used + to determine the path for the log file, when the log file is not + given as an absolute path. + """ + if self.log_file is None: + return + + if self.log_file.is_absolute(): + filename = self.log_file + else: + filename = state.get_expr_performance_log_file_path(str(self.log_file)) + + # if the log file already exists and overwrite is false, create a new file + proposed_filename = filename + n = 0 + while not self.overwrite and proposed_filename.exists(): + n += 1 + proposed_filename = filename.with_stem(filename.stem + f"-{n}") + filename = proposed_filename + + # ensure the parent directory exists + filename.parent.mkdir(parents=True, exist_ok=True) + + # Determine the scale for the elapsed times. We want to use an appropriate + # timescale for the elapsed times, which provides useful information without + # reporting excessive precision. + # If the smallest elapsed time is greater than 1 second, use seconds. + # If the smallest elapsed time is greater than 1 millisecond, use milliseconds. + # Otherwise, use microseconds, no one should care about nanoseconds. + min_t = 1_000_000_000 + for t in self.elapsed_times.values(): + if t < min_t: + min_t = t + if min_t > 1_000_000_000: + scale = 1_000_000_000 + label = "Time (sec)" + elif min_t > 1_000_000: + scale = 1_000_000 + label = "Time (msec)" + else: + scale = 1_000 + label = "Time (µsec)" + + # The timing log is written in a tab-separated format, with times in the + # first column so they are easy to scan through for anomalies. + try: + with open(filename, "w", encoding="utf-8") as f: + f.write(f"{label:11}\tExpression\n") + for expression, elapsed_time in self.elapsed_times.items(): + t = int(elapsed_time / scale) + f.write(f"{t: 11d}\t{expression}\n") + except FileNotFoundError as err: + if not filename.parent.exists(): + raise FileNotFoundError( + f"Could not write log file {filename!r}, parent directory does not exist." + ) from err + else: + raise FileNotFoundError( + f"Could not write log file {filename!r}\n check permissions " + f"or path length ({len(str(filename))} characters in relative path, " + f"{len(str(filename.absolute()))} in absolute path)." + ) from err + + +def write_sortable_table(df: pd.DataFrame, filename: str | Path) -> None: + html_table = df.to_html(classes="sortable", index=False) + html_content = f""" + + + + + + + {html_table} + + + + """ + with open(filename, "w") as f: + f.write(html_content) + + +class AnalyzeEvalTiming: + """ + Class to analyze the timing of expressions. + """ + + def _read_log(self, log_file: Path) -> pd.DataFrame: + """Read the log file and return a DataFrame.""" + df = pd.read_csv(log_file, sep="\t") + if "(msec)" in df.columns[0]: + df.columns = ["Time (µsec)"] + df.columns[1:].tolist() + df.iloc[:, 0] = df.iloc[:, 0].astype(int) * 1_000 + elif "(sec)" in df.columns[0]: + df.columns = ["Time (µsec)"] + df.columns[1:].tolist() + df.iloc[:, 0] = df.iloc[:, 0].astype(int) * 1_000_000 + else: + df.iloc[:, 0] = df.iloc[:, 0].astype(int) + return df + + def __init__(self, state: State, collect_mp: bool = True) -> None: + self.log_dir = state.get_expr_performance_log_file_path(".") + self.default_cutoff = state.settings.expression_profile_cutoff + raw_data = {} + for f in self.log_dir.glob("*.log"): + raw_data[str(f.stem)] = self._read_log(f) + + if raw_data: + d = pd.concat(raw_data, names=["Component"]).reset_index() + d["Proc"] = "main" + else: + d = None + + if collect_mp: + raw_data = {} + mp_log_dirs = state.get_expr_performance_log_file_path(".").glob( + "*-expr-performance" + ) + for mp_log_dir in mp_log_dirs: + subproc_name = "-".join(mp_log_dir.stem.split("-")[:-2]) + for f in mp_log_dir.glob("*.log"): + raw_data[subproc_name, str(f.stem)] = self._read_log(f) + if raw_data: + d_mp = pd.concat(raw_data, names=["Proc", "Component"]).reset_index() + if d is None: + d = d_mp + else: + d = pd.concat([d, d_mp]) + + # break trace labels into components and subcomponents + try: + d["Subcomponent"] = d["Component"].str.split(".", n=1).str[1] + d["Component"] = d["Component"].str.split(".", n=1).str[0] + except TypeError: + # if the component is not a string, we cannot split it + d["Subcomponent"] = "" + d["Component"] = d["Component"].astype(str) + self.data = d[ + ["Time (µsec)", "Proc", "Component", "Subcomponent", "Expression"] + ] + self.data = self.data.sort_values(by=["Time (µsec)"], ascending=[False]) + + def subcomponent_report( + self, + filename: str | Path = "expression-timing-subcomponents.html", + cutoff_secs: float | None = None, + style: Literal["grid", "simple"] = "grid", + ) -> None: + """Write the data to an HTML file. + + Parameters + ---------- + filename : str | Path + The name of the file to write the HTML to. If a relative path is given, + it will be written in the log directory. + cutoff_secs : float, optional + The cutoff time in seconds. Only expressions with a runtime greater than + this will be included in the HTML file. This is used to avoid writing a + huge report full of expressions that run plenty fast. If not provided, + the default cutoff time from the settings is used. + style : "simple" | "grid", default "simple" + The style of the report. Either "simple" or "grid". "simple" is a + simple HTML table, "grid" is a JavaScript data grid. + """ + if cutoff_secs is None: + cutoff_secs = self.default_cutoff + + # include only expressions that took longer than cutoff_secs + df = self.data[self.data["Time (µsec)"] >= cutoff_secs * 1e6].copy() + + # convert the time to seconds + df["Time (µsec)"] /= 1e6 + df = df.rename(columns={"Time (µsec)": "Time (sec)"}) + + if style == "simple": + # format and write the report to HTML + df = ( + df.style.format( + { + "Time (sec)": lambda x: f"{x:.3f}", + } + ) + .background_gradient( + axis=0, gmap=df["Time (sec)"], cmap="YlOrRd", subset=["Time (sec)"] + ) + .hide(axis="index") + .set_table_styles( + [{"selector": "th", "props": [("text-align", "left")]}] + ) + .set_properties(**{"padding": "0 5px"}, subset=["Time (sec)"]) + ) + dat = df.to_html(index=False) + dat = dat.replace(" + + + + + Expression Timing Report + + + + {dat} + + """ + self.log_dir.joinpath(filename).parent.mkdir(parents=True, exist_ok=True) + with open(self.log_dir.joinpath(filename), "w") as f: + f.write(template) + elif style == "grid": + template = """ + + + + + + +
+ + + + """ + self.log_dir.joinpath(filename).parent.mkdir(parents=True, exist_ok=True) + with open(self.log_dir.joinpath(filename), "w") as f: + f.write(template.replace("<>", df.to_json(orient="records"))) + + def component_report_data(self, cutoff_secs: float | None = None): + """ + Return the data for the component report. + + Parameters + ---------- + cutoff_secs : float, optional + The cutoff time in seconds. Only expressions with a runtime greater than + this will be included in the report. This is used to avoid writing a + huge report full of expressions that run plenty fast. If not provided, + the default cutoff time from the settings is used. + """ + if cutoff_secs is None: + cutoff_secs = self.default_cutoff + + df = ( + self.data.groupby(["Component", "Expression"]) + .agg({"Time (µsec)": "sum"}) + .reset_index()[["Time (µsec)", "Component", "Expression"]] + .sort_values(by=["Time (µsec)"], ascending=[False]) + ) + + # include only expressions that took longer than cutoff_secs + df = df[df["Time (µsec)"] >= cutoff_secs * 1e6] + + # convert the time to seconds + df["Time (µsec)"] /= 1e6 + df.rename(columns={"Time (µsec)": "Time (sec)"}, inplace=True) + return df + + def component_report( + self, + filename: str | Path = "expression-timing-components.html", + cutoff_secs: float | None = None, + style: Literal["grid", "simple"] = "grid", + ) -> None: + """Write component-level aggregations to an HTML file. + + This will aggregate the expression timings by component, which may better + reveal expressions that are more problematic because they are evaluated + multiple times. + + Parameters + ---------- + filename : str | Path + The name of the file to write the HTML to. If a relative path is given, + it will be written in the log directory. + cutoff_secs : float + The cutoff time in seconds. Only expressions with a runtime greater than + this will be included in the HTML file. This is used to avoid writing a + huge report full of expressions that run plenty fast. + style : "simple" | "grid", default "simple" + The style of the report. Either "simple" or "grid". "simple" is a + simple HTML table, "grid" is a JavaScript data grid. + """ + + df = self.component_report_data(cutoff_secs=cutoff_secs) + + if style == "simple": + # format and write the report to HTML in a simple table + df = ( + df.style.format( + { + "Time (sec)": lambda x: f"{x:.3f}", + } + ) + .background_gradient( + axis=0, gmap=df["Time (sec)"], cmap="YlOrRd", subset=["Time (sec)"] + ) + .hide(axis="index") + .set_table_styles( + [{"selector": "th", "props": [("text-align", "left")]}] + ) + .set_properties(**{"padding": "0 5px"}, subset=["Time (sec)"]) + ) + dat = df.to_html(index=False) + dat = dat.replace("
+ + + + + Expression Timing Report + + + + {dat} + + """ + self.log_dir.joinpath(filename).parent.mkdir(parents=True, exist_ok=True) + with open(self.log_dir.joinpath(filename), "w") as f: + f.write(template) + elif style == "grid": + template = """ + + + + + + +
+ + + + """ + self.log_dir.joinpath(filename).parent.mkdir(parents=True, exist_ok=True) + with open(self.log_dir.joinpath(filename), "w") as f: + f.write(template.replace("<>", df.to_json(orient="records"))) + else: + raise ValueError(f"Unknown style {style}. Must be 'simple' or 'grid'.") + + +# Code below is from https://github.com/HubSpot/sortable +# Copyright (C) 2013 Adam Schwartz, http://adamschwartz.co +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + + +SORTABLE_JS = """ +(function() { + var SELECTOR, addEventListener, clickEvents, numberRegExp, sortable, touchDevice, trimRegExp; + + SELECTOR = 'table[data-sortable]'; + + numberRegExp = /^-?[£$¤]?[\d,.]+%?$/; + + trimRegExp = /^\s+|\s+$/g; + + clickEvents = ['click']; + + touchDevice = 'ontouchstart' in document.documentElement; + + if (touchDevice) { + clickEvents.push('touchstart'); + } + + addEventListener = function(el, event, handler) { + if (el.addEventListener != null) { + return el.addEventListener(event, handler, false); + } else { + return el.attachEvent("on" + event, handler); + } + }; + + sortable = { + init: function(options) { + var table, tables, _i, _len, _results; + if (options == null) { + options = {}; + } + if (options.selector == null) { + options.selector = SELECTOR; + } + tables = document.querySelectorAll(options.selector); + _results = []; + for (_i = 0, _len = tables.length; _i < _len; _i++) { + table = tables[_i]; + _results.push(sortable.initTable(table)); + } + return _results; + }, + initTable: function(table) { + var i, th, ths, _i, _len, _ref; + if (((_ref = table.tHead) != null ? _ref.rows.length : void 0) !== 1) { + return; + } + if (table.getAttribute('data-sortable-initialized') === 'true') { + return; + } + table.setAttribute('data-sortable-initialized', 'true'); + ths = table.querySelectorAll('th'); + for (i = _i = 0, _len = ths.length; _i < _len; i = ++_i) { + th = ths[i]; + if (th.getAttribute('data-sortable') !== 'false') { + sortable.setupClickableTH(table, th, i); + } + } + return table; + }, + setupClickableTH: function(table, th, i) { + var eventName, onClick, type, _i, _len, _results; + type = sortable.getColumnType(table, i); + onClick = function(e) { + var compare, item, newSortedDirection, position, row, rowArray, sorted, sortedDirection, tBody, ths, value, _compare, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1; + if (e.handled !== true) { + e.handled = true; + } else { + return false; + } + sorted = this.getAttribute('data-sorted') === 'true'; + sortedDirection = this.getAttribute('data-sorted-direction'); + if (sorted) { + newSortedDirection = sortedDirection === 'ascending' ? 'descending' : 'ascending'; + } else { + newSortedDirection = type.defaultSortDirection; + } + ths = this.parentNode.querySelectorAll('th'); + for (_i = 0, _len = ths.length; _i < _len; _i++) { + th = ths[_i]; + th.setAttribute('data-sorted', 'false'); + th.removeAttribute('data-sorted-direction'); + } + this.setAttribute('data-sorted', 'true'); + this.setAttribute('data-sorted-direction', newSortedDirection); + tBody = table.tBodies[0]; + rowArray = []; + if (!sorted) { + if (type.compare != null) { + _compare = type.compare; + } else { + _compare = function(a, b) { + return b - a; + }; + } + compare = function(a, b) { + if (a[0] === b[0]) { + return a[2] - b[2]; + } + if (type.reverse) { + return _compare(b[0], a[0]); + } else { + return _compare(a[0], b[0]); + } + }; + _ref = tBody.rows; + for (position = _j = 0, _len1 = _ref.length; _j < _len1; position = ++_j) { + row = _ref[position]; + value = sortable.getNodeValue(row.cells[i]); + if (type.comparator != null) { + value = type.comparator(value); + } + rowArray.push([value, row, position]); + } + rowArray.sort(compare); + for (_k = 0, _len2 = rowArray.length; _k < _len2; _k++) { + row = rowArray[_k]; + tBody.appendChild(row[1]); + } + } else { + _ref1 = tBody.rows; + for (_l = 0, _len3 = _ref1.length; _l < _len3; _l++) { + item = _ref1[_l]; + rowArray.push(item); + } + rowArray.reverse(); + for (_m = 0, _len4 = rowArray.length; _m < _len4; _m++) { + row = rowArray[_m]; + tBody.appendChild(row); + } + } + if (typeof window['CustomEvent'] === 'function') { + return typeof table.dispatchEvent === "function" ? table.dispatchEvent(new CustomEvent('Sortable.sorted', { + bubbles: true + })) : void 0; + } + }; + _results = []; + for (_i = 0, _len = clickEvents.length; _i < _len; _i++) { + eventName = clickEvents[_i]; + _results.push(addEventListener(th, eventName, onClick)); + } + return _results; + }, + getColumnType: function(table, i) { + var row, specified, text, type, _i, _j, _len, _len1, _ref, _ref1, _ref2; + specified = (_ref = table.querySelectorAll('th')[i]) != null ? _ref.getAttribute('data-sortable-type') : void 0; + if (specified != null) { + return sortable.typesObject[specified]; + } + _ref1 = table.tBodies[0].rows; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + row = _ref1[_i]; + text = sortable.getNodeValue(row.cells[i]); + _ref2 = sortable.types; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + type = _ref2[_j]; + if (type.match(text)) { + return type; + } + } + } + return sortable.typesObject.alpha; + }, + getNodeValue: function(node) { + var dataValue; + if (!node) { + return ''; + } + dataValue = node.getAttribute('data-value'); + if (dataValue !== null) { + return dataValue; + } + if (typeof node.innerText !== 'undefined') { + return node.innerText.replace(trimRegExp, ''); + } + return node.textContent.replace(trimRegExp, ''); + }, + setupTypes: function(types) { + var type, _i, _len, _results; + sortable.types = types; + sortable.typesObject = {}; + _results = []; + for (_i = 0, _len = types.length; _i < _len; _i++) { + type = types[_i]; + _results.push(sortable.typesObject[type.name] = type); + } + return _results; + } + }; + + sortable.setupTypes([ + { + name: 'numeric', + defaultSortDirection: 'descending', + match: function(a) { + return a.match(numberRegExp); + }, + comparator: function(a) { + return parseFloat(a.replace(/[^0-9.-]/g, ''), 10) || 0; + } + }, { + name: 'date', + defaultSortDirection: 'ascending', + reverse: true, + match: function(a) { + return !isNaN(Date.parse(a)); + }, + comparator: function(a) { + return Date.parse(a) || 0; + } + }, { + name: 'alpha', + defaultSortDirection: 'ascending', + match: function() { + return true; + }, + compare: function(a, b) { + return a.localeCompare(b); + } + } + ]); + + setTimeout(sortable.init, 0); + + if (typeof define === 'function' && define.amd) { + define(function() { + return sortable; + }); + } else if (typeof exports !== 'undefined') { + module.exports = sortable; + } else { + window.Sortable = sortable; + } + +}).call(this); +""" + +SORTABLE_CSS = """ +/* line 2, ../sass/_sortable.sass */ +table[data-sortable] { + border-collapse: collapse; + border-spacing: 0; +} +/* line 6, ../sass/_sortable.sass */ +table[data-sortable] th { + vertical-align: bottom; + font-weight: bold; +} +/* line 10, ../sass/_sortable.sass */ +table[data-sortable] th, table[data-sortable] td { + text-align: left; + padding: 10px; +} +/* line 14, ../sass/_sortable.sass */ +table[data-sortable] th:not([data-sortable="false"]) { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-touch-callout: none; + cursor: pointer; +} +/* line 26, ../sass/_sortable.sass */ +table[data-sortable] th:after { + content: ""; + visibility: hidden; + display: inline-block; + vertical-align: inherit; + height: 0; + width: 0; + border-width: 5px; + border-style: solid; + border-color: transparent; + margin-right: 1px; + margin-left: 10px; + float: right; +} +/* line 40, ../sass/_sortable.sass */ +table[data-sortable] th[data-sorted="true"]:after { + visibility: visible; +} +/* line 43, ../sass/_sortable.sass */ +table[data-sortable] th[data-sorted-direction="descending"]:after { + border-top-color: inherit; + margin-top: 8px; +} +/* line 47, ../sass/_sortable.sass */ +table[data-sortable] th[data-sorted-direction="ascending"]:after { + border-bottom-color: inherit; + margin-top: 3px; +}""" diff --git a/activitysim/core/tracing.py b/activitysim/core/tracing.py index 88bf0fc167..ecb0c363cd 100644 --- a/activitysim/core/tracing.py +++ b/activitysim/core/tracing.py @@ -11,6 +11,8 @@ import numpy as np import pandas as pd +from activitysim.core.exceptions import TableSlicingError + # Configurations ASIM_LOGGER = "activitysim" CSV_FILE_TYPE = "csv" @@ -147,12 +149,12 @@ def print_summary(label, df, describe=False, value_counts=False): if value_counts: n = 10 - logger.info( + logger.debug( "%s top %s value counts:\n%s" % (label, n, df.value_counts().nlargest(n)) ) if describe: - logger.info("%s summary:\n%s" % (label, df.describe())) + logger.debug("%s summary:\n%s" % (label, df.describe())) def write_df_csv( @@ -247,7 +249,9 @@ def slice_ids(df, ids, column=None): except KeyError: # this happens if specified slicer column is not in df # df = df[0:0] - raise RuntimeError("slice_ids slicer column '%s' not in dataframe" % column) + raise TableSlicingError( + "slice_ids slicer column '%s' not in dataframe" % column + ) return df diff --git a/activitysim/core/util.py b/activitysim/core/util.py index 940796e4bd..20f79c7609 100644 --- a/activitysim/core/util.py +++ b/activitysim/core/util.py @@ -74,7 +74,9 @@ def delete_files(file_list, trace_label): logger.debug(f"{trace_label} deleting {file_path}") os.unlink(file_path) except Exception as e: - logger.warning(f"{trace_label} exception (e) trying to delete {file_path}") + logger.warning( + f"{trace_label} exception ({e}) trying to delete {file_path}" + ) def df_size(df): @@ -296,7 +298,7 @@ def quick_loc_series(loc_list, target_series): elif isinstance(loc_list, np.ndarray) or isinstance(loc_list, list): left_df = pd.DataFrame({left_on: loc_list}) else: - raise RuntimeError( + raise TypeError( "quick_loc_series loc_list of unexpected type %s" % type(loc_list) ) @@ -340,6 +342,24 @@ def assign_in_place(df, df2, downcast_int=False, downcast_float=False): common_columns = df2.columns.intersection(df.columns) if len(common_columns) > 0: old_dtypes = [df[c].dtype for c in common_columns] + # in pandas 2.x, update a categorical column with any new categories will cause TypeError + # so we need to add the new categories first + # this is a workaround for pandas 2.x, see discussion in + # https://github.com/ActivitySim/activitysim/discussions/946 + for c in common_columns: + if isinstance(df[c].dtype, pd.CategoricalDtype): + if not isinstance(df2[c].dtype, pd.CategoricalDtype): + # if df column is categorical, but df2 column is not + # convert df2 column to categorical then union categories + df2[c] = df2[c].astype("category") + + # when df and df2 column are both categorical, union categories + from pandas.api.types import union_categoricals + + uc = union_categoricals([df[c], df2[c]], sort_categories=True) + df[c] = pd.Categorical(df[c], categories=uc.categories) + df2[c] = pd.Categorical(df2[c], categories=uc.categories) + df.update(df2) # avoid needlessly changing int columns to float @@ -426,7 +446,7 @@ def auto_opt_pd_dtypes( else: df[col] = pd.to_numeric(df[col], downcast="float") # Skip if the column is already categorical - if pd.api.types.is_categorical_dtype(dtype): + if isinstance(dtype, pd.CategoricalDtype): continue # Handle integer types if pd.api.types.is_integer_dtype(dtype): @@ -702,9 +722,9 @@ def drop_unused_columns( custom_chooser_lines = inspect.getsource(custom_chooser) unique_variables_in_spec.update(re.findall(pattern, custom_chooser_lines)) - logger.info("Dropping unused variables in chooser table") + logger.debug("Dropping unused variables in chooser table") - logger.info( + logger.debug( "before dropping, the choosers table has {} columns: {}".format( len(choosers.columns), choosers.columns ) @@ -713,7 +733,7 @@ def drop_unused_columns( # keep only variables needed for spec choosers = choosers[[c for c in choosers.columns if c in unique_variables_in_spec]] - logger.info( + logger.debug( "after dropping, the choosers table has {} columns: {}".format( len(choosers.columns), choosers.columns ) diff --git a/activitysim/core/workflow/checkpoint.py b/activitysim/core/workflow/checkpoint.py index d5a7286359..7391e1c9b9 100644 --- a/activitysim/core/workflow/checkpoint.py +++ b/activitysim/core/workflow/checkpoint.py @@ -18,6 +18,7 @@ TableNameNotFound, ) from activitysim.core.workflow.accessor import FromState, StateAccessor +from activitysim.core.exceptions import CheckpointNameNotFoundError, PipelineError logger = logging.getLogger(__name__) @@ -565,7 +566,7 @@ def open_store( """ if self._checkpoint_store is not None: - raise RuntimeError("Pipeline store is already open!") + raise PipelineError("Pipeline store is already open!") if pipeline_file_name is None: pipeline_file_path = self.default_pipeline_file_path() @@ -775,7 +776,7 @@ def load(self, checkpoint_name: str, store=None): msg = f"Couldn't find checkpoint '{checkpoint_name}' in checkpoints" print(checkpoints[CHECKPOINT_NAME]) logger.error(msg) - raise RuntimeError(msg) from None + raise CheckpointNameNotFoundError(msg) from None # convert pandas dataframe back to array of checkpoint dicts checkpoints = checkpoints.to_dict(orient="records") @@ -1201,7 +1202,7 @@ def load_dataframe(self, table_name, checkpoint_name=None): if table_name not in self.last_checkpoint and self._obj.is_table(table_name): if checkpoint_name is not None: - raise RuntimeError( + raise CheckpointNameNotFoundError( f"checkpoint.dataframe: checkpoint_name ({checkpoint_name!r}) not " f"supported for non-checkpointed table {table_name!r}" ) @@ -1211,10 +1212,14 @@ def load_dataframe(self, table_name, checkpoint_name=None): # if there is no checkpoint name given, do not attempt to read from store if checkpoint_name is None: if table_name not in self.last_checkpoint: - raise RuntimeError("table '%s' never checkpointed." % table_name) + raise CheckpointNameNotFoundError( + "table '%s' never checkpointed." % table_name + ) if not self.last_checkpoint[table_name]: - raise RuntimeError("table '%s' was dropped." % table_name) + raise CheckpointNameNotFoundError( + "table '%s' was dropped." % table_name + ) return self._obj.get_dataframe(table_name) @@ -1224,13 +1229,15 @@ def load_dataframe(self, table_name, checkpoint_name=None): None, ) if checkpoint is None: - raise RuntimeError("checkpoint '%s' not in checkpoints." % checkpoint_name) + raise CheckpointNameNotFoundError( + "checkpoint '%s' not in checkpoints." % checkpoint_name + ) # find the checkpoint that table was written to store last_checkpoint_name = checkpoint.get(table_name, None) if not last_checkpoint_name: - raise RuntimeError( + raise CheckpointNameNotFoundError( "table '%s' not in checkpoint '%s'." % (table_name, checkpoint_name) ) diff --git a/activitysim/core/workflow/runner.py b/activitysim/core/workflow/runner.py index 8eba53cbef..79ecd0ed4f 100644 --- a/activitysim/core/workflow/runner.py +++ b/activitysim/core/workflow/runner.py @@ -265,7 +265,7 @@ def _pre_run_step(self, model_name: str) -> bool | None: if model_name in checkpointed_models: if self._obj.settings.duplicate_step_execution == "error": checkpointed_model_bullets = "\n - ".join(checkpointed_models) - raise RuntimeError( + raise DuplicateWorkflowNameError( f"Checkpointed Models:\n - {checkpointed_model_bullets}\n" f"Cannot run model '{model_name}' more than once" ) diff --git a/activitysim/core/workflow/state.py b/activitysim/core/workflow/state.py index 45aa7a1f74..9f7dcd4d6f 100644 --- a/activitysim/core/workflow/state.py +++ b/activitysim/core/workflow/state.py @@ -8,6 +8,7 @@ import textwrap import warnings from collections.abc import Iterable +from datetime import datetime from pathlib import Path from typing import Any, Optional @@ -19,7 +20,7 @@ import activitysim.core.random from activitysim.core.configuration import FileSystem, NetworkSettings, Settings -from activitysim.core.exceptions import StateAccessError +from activitysim.core.exceptions import StateAccessError, CheckpointNameNotFoundError from activitysim.core.workflow.checkpoint import LAST_CHECKPOINT, Checkpoints from activitysim.core.workflow.chunking import Chunking from activitysim.core.workflow.dataset import Datasets @@ -1016,7 +1017,7 @@ def get_table(self, table_name, checkpoint_name=None): table_name ): if checkpoint_name is not None: - raise RuntimeError( + raise CheckpointNameNotFoundError( f"get_table: checkpoint_name ({checkpoint_name!r}) not " f"supported for non-checkpointed table {table_name!r}" ) @@ -1026,10 +1027,14 @@ def get_table(self, table_name, checkpoint_name=None): # if they want current version of table, no need to read from pipeline store if checkpoint_name is None: if table_name not in self.checkpoint.last_checkpoint: - raise RuntimeError("table '%s' never checkpointed." % table_name) + raise CheckpointNameNotFoundError( + "table '%s' never checkpointed." % table_name + ) if not self.checkpoint.last_checkpoint[table_name]: - raise RuntimeError("table '%s' was dropped." % table_name) + raise CheckpointNameNotFoundError( + "table '%s' was dropped." % table_name + ) return self._context.get(table_name) @@ -1043,13 +1048,15 @@ def get_table(self, table_name, checkpoint_name=None): None, ) if checkpoint is None: - raise RuntimeError("checkpoint '%s' not in checkpoints." % checkpoint_name) + raise CheckpointNameNotFoundError( + "checkpoint '%s' not in checkpoints." % checkpoint_name + ) # find the checkpoint that table was written to store last_checkpoint_name = checkpoint.get(table_name, None) if not last_checkpoint_name: - raise RuntimeError( + raise CheckpointNameNotFoundError( "table '%s' not in checkpoint '%s'." % (table_name, checkpoint_name) ) @@ -1099,7 +1106,9 @@ def extend_table(self, table_name, df, axis=0): if isinstance(df[c].dtype, pd.api.types.CategoricalDtype): from pandas.api.types import union_categoricals - uc = union_categoricals([table_df[c], df[c]]) + uc = union_categoricals( + [table_df[c], df[c]], sort_categories=True + ) table_df[c] = pd.Categorical( table_df[c], categories=uc.categories ) @@ -1169,6 +1178,49 @@ def get_log_file_path(self, file_name: str, prefix: bool = True) -> Path: file_name = f"{prefix}-{file_name}" return self.filesystem.get_log_file_path(file_name) + def get_expr_performance_log_file_path( + self, file_name: str, prefix: bool = True + ) -> Path: + """ + Get the log file path for this process. + + This method is not purely a pass-through to this state's `filesystem`, + as it also potentially adds a prefix to the filename based on the state. + + Parameters + ---------- + file_name : str + The name of the desired log file. + prefix : bool, default True + Whether to add a prefix to the desired log file name. This is + simply a boolean flag for whether to add the prefix, the actual + value of the prefix id drawn from the "log_file_prefix" key within + this state. If that key is not set, no prefix is added regardless + of the value of this argument. + timestamped : bool, default False + Whether to add a timestamp to the log file name. If True, a + timestamp is added as a directory prefix to the log file name, + and the directory is created if it does not already exist. + + Returns + ------- + Path + """ + prefix = prefix and self.get_injectable("log_file_prefix", None) + if prefix: + file_name = f"{prefix}-{file_name}" + + timestamp = self.get("run_timestamp", None) + if timestamp is None: + # if no run timestamp, use current time, and store it so + # it can be used later in the same run + timestamp = datetime.now().strftime("%Y%m%d-%H%M%S") + self.set("run_timestamp", timestamp) + perf_dir = os.path.join("expr-performance", timestamp, file_name) + result = self.filesystem.get_log_file_path(perf_dir) + result.parent.mkdir(parents=True, exist_ok=True) + return result + def set_step_args(self, args=None): assert isinstance(args, dict) or args is None self.add_injectable("step_args", args) diff --git a/activitysim/core/workflow/tracing.py b/activitysim/core/workflow/tracing.py index 580c6fad9b..b89a8bd26b 100644 --- a/activitysim/core/workflow/tracing.py +++ b/activitysim/core/workflow/tracing.py @@ -5,11 +5,9 @@ import logging import logging.config import os -import struct import sys import tarfile import tempfile -import time from collections.abc import Mapping, MutableMapping, Sequence from pathlib import Path from typing import Any, Optional @@ -21,6 +19,8 @@ from activitysim.core import tracing from activitysim.core.test import assert_equal, assert_frame_substantively_equal from activitysim.core.workflow.accessor import FromState, StateAccessor +from activitysim.core.exceptions import TableSlicingError +from activitysim.core.run_id import RunId logger = logging.getLogger(__name__) @@ -36,15 +36,6 @@ ] -class RunId(str): - def __new__(cls, x=None): - if x is None: - return cls( - hex(struct.unpack("= 0] - - m = Model() - # One of the alternatives is coded as 0, so - # we need to explicitly initialize the MNL nesting graph - # and set to root_id to a value other than zero. - m.initialize_graph(alternative_codes=altcodes, root_id=99) - - m.utility_co = dict_of_linear_utility_from_spec( - spec, - "Label", - dict(zip(altnames, altcodes)), - ) - - apply_coefficients(coefficients, m) - - d = DataFrames( - co=chooser_data, - av=True, - alt_codes=altcodes, - alt_names=altnames, - ) - - m.dataservice = d - m.choice_co_code = "override_choice" - - if return_data: - return ( - m, - Dict( - edb_directory=data.edb_directory, - chooser_data=chooser_data, - coefficients=coefficients, - spec=spec, - altnames=altnames, - altcodes=altcodes, - ), - ) - - return m diff --git a/activitysim/estimation/larch/cdap.py b/activitysim/estimation/larch/cdap.py index 60fcce6fed..ba63ec3c3c 100644 --- a/activitysim/estimation/larch/cdap.py +++ b/activitysim/estimation/larch/cdap.py @@ -9,24 +9,23 @@ import numpy as np import pandas as pd +import xarray as xr import yaml from ...abm.models.util import cdap from .general import apply_coefficients, explicit_value_parameters try: - import larch + import larch as lx except ImportError: - larch = None + lx = None logger_name = "larch" else: - from larch import DataFrames, Model, P, X - from larch.log import logger_name - from larch.model.model_group import ModelGroup + from larch import P, X from larch.util import Dict -_logger = logging.getLogger(logger_name) +_logger = logging.getLogger("larch") MAX_HHSIZE = 5 @@ -112,11 +111,17 @@ def cdap_base_utility_by_person( if n_persons == 1: for i in spec.index: if not pd.isna(spec.loc[i, "M"]): - model.utility_co[1] += X(spec.Expression[i]) * P(spec.loc[i, "M"]) + model.utility_co[1] += X(spec.Expression[i].lstrip("@")) * P( + spec.loc[i, "M"] + ) if not pd.isna(spec.loc[i, "N"]): - model.utility_co[2] += X(spec.Expression[i]) * P(spec.loc[i, "N"]) + model.utility_co[2] += X(spec.Expression[i].lstrip("@")) * P( + spec.loc[i, "N"] + ) if not pd.isna(spec.loc[i, "H"]): - model.utility_co[3] += X(spec.Expression[i]) * P(spec.loc[i, "H"]) + model.utility_co[3] += X(spec.Expression[i].lstrip("@")) * P( + spec.loc[i, "H"] + ) else: if alts is None: alts = generate_alternatives(n_persons, add_joint) @@ -129,7 +134,9 @@ def cdap_base_utility_by_person( x = apply_replacements( spec.Expression[i], f"p{pnum}", value_tokens ) - model.utility_co[anum] += X(x) * P(spec.loc[i, aname[z]]) + model.utility_co[anum] += X(x.lstrip("@")) * P( + spec.loc[i, aname[z]] + ) def interact_pattern(n_persons, select_persons, tag): @@ -281,7 +288,7 @@ def cdap_joint_tour_utility(model, n_persons, alts, joint_coef, values): expression_value = "&".join(expression_list) # FIXME only apply to alternative if dependency satisfied - bug + raise NotImplementedError("bug") model.utility_co[anum] += X(expression_value) * P(coefficient) elif "_px" in expression: @@ -289,7 +296,7 @@ def cdap_joint_tour_utility(model, n_persons, alts, joint_coef, values): dependency_name = row.dependency.replace("x", str(pnum)) expression = row.Expression.replace("x", str(pnum)) # FIXME only apply to alternative if dependency satisfied - bug + raise NotImplementedError("bug") model.utility_co[anum] += X(expression) * P(coefficient) else: @@ -335,48 +342,25 @@ def cdap_split_data(households, values, add_joint): return cdap_data -def cdap_dataframes(households, values, add_joint): +def cdap_dataframes(households, values, add_joint) -> dict[int, lx.Dataset]: data = cdap_split_data(households, values, add_joint) dfs = {} for hhsize in data.keys(): alts = generate_alternatives(hhsize, add_joint) - dfs[hhsize] = DataFrames( - co=data[hhsize], - alt_names=alts.keys(), - alt_codes=alts.values(), - av=1, - ch=data[hhsize].override_choice.map(alts), + dfs[hhsize] = lx.Dataset.construct.from_idco( + data[hhsize], + alts=dict(zip(alts.values(), alts.keys())), + ) + # convert override_choice to alternative code from alternative name + dfs[hhsize]["override_choice"] = xr.DataArray( + np.vectorize(alts.get)(dfs[hhsize].override_choice.data), + coords=dfs[hhsize].override_choice.coords, + dims=dfs[hhsize].override_choice.dims, + name="override_choice", ) return dfs -# def _cdap_model(households, values, spec1, interaction_coef, coefficients): -# cdap_data = cdap_dataframes(households, values) -# m = {} -# _logger.info(f"building for model 1") -# m[1] = Model(dataservice=cdap_data[1]) -# cdap_base_utility_by_person(m[1], n_persons=1, spec=spec1) -# m[1].choice_any = True -# m[1].availability_any = True -# -# # Add cardinality into interaction_coef if not present -# if 'cardinality' not in interaction_coef: -# interaction_coef['cardinality'] = interaction_coef['interaction_ptypes'].str.len() -# for s in [2, 3, 4, 5]: -# _logger.info(f"building for model {s}") -# m[s] = Model(dataservice=cdap_data[s]) -# alts = generate_alternatives(s) -# cdap_base_utility_by_person(m[s], s, spec1, alts, values.columns) -# cdap_interaction_utility(m[s], s, alts, interaction_coef, coefficients) -# m[s].choice_any = True -# m[s].availability_any = True -# -# result = ModelGroup(m.values()) -# explicit_value_parameters(result) -# apply_coefficients(coefficients, result) -# return result - - def cdap_data( name="cdap", edb_directory="output/estimation_data_bundle/{name}/", @@ -394,11 +378,22 @@ def cdap_data( raise FileNotFoundError(edb_directory) def read_csv(filename, **kwargs): - filename = filename.format(name=name) - return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) + filename = Path(edb_directory).joinpath(filename.format(name=name)).resolve() + if filename.with_suffix(".parquet").exists(): + if "comment" in kwargs: + del kwargs["comment"] + print(f"Reading {filename.with_suffix('.parquet')}") + df = pd.read_parquet(filename.with_suffix(".parquet"), **kwargs) + if df.index.name is not None: + # want the data to be read in the same as csv format -- without the index + df = df.reset_index(drop=False) + return df + print(f"Reading {filename}") + return pd.read_csv(filename, **kwargs) def read_yaml(filename, **kwargs): filename = filename.format(name=name) + print(f"Reading {os.path.join(edb_directory, filename)}") with open(os.path.join(edb_directory, filename), "rt") as f: return yaml.load(f, Loader=yaml.SafeLoader, **kwargs) @@ -442,7 +437,7 @@ def read_yaml(filename, **kwargs): except FileNotFoundError: joint_coef = None add_joint = False - print("Including joint tour utiltiy?:", add_joint) + print("Including joint tour utility?:", add_joint) spec1 = read_csv(spec1_file, comment="#") values = read_csv(chooser_data_file, comment="#") @@ -499,13 +494,17 @@ def cdap_model( interaction_coef = d.interaction_coef coefficients = d.coefficients add_joint = d.add_joint + extra_vars = d.settings.get("CONSTANTS", {}) cdap_dfs = cdap_dataframes(households, values, add_joint) m = {} _logger.info(f"building for model 1") - m[1] = Model(dataservice=cdap_dfs[1]) + m[1] = lx.Model( + datatree=cdap_dfs[1].dc.as_tree("df", extra_vars=extra_vars), + compute_engine="numba", + ) cdap_base_utility_by_person(m[1], n_persons=1, spec=spec1) - m[1].choice_any = True + m[1].choice_co_code = "override_choice" m[1].availability_any = True # Add cardinality into interaction_coef if not present @@ -516,16 +515,16 @@ def cdap_model( for s in range(2, MAX_HHSIZE + 1): # for s in [2, 3, 4, 5]: _logger.info(f"building for model {s}") - m[s] = Model(dataservice=cdap_dfs[s]) + m[s] = lx.Model(datatree=cdap_dfs[s].dc.as_tree("df", extra_vars=extra_vars)) alts = generate_alternatives(s, add_joint) cdap_base_utility_by_person(m[s], s, spec1, alts, values.columns) cdap_interaction_utility(m[s], s, alts, interaction_coef, coefficients) # if add_joint: # cdap_joint_tour_utility(m[s], s, alts, d.joint_coef, values) - m[s].choice_any = True + m[s].choice_co_code = "override_choice" m[s].availability_any = True - model = ModelGroup(m.values()) + model = lx.ModelGroup(m.values()) explicit_value_parameters(model) apply_coefficients(coefficients, model) if return_data: diff --git a/activitysim/estimation/larch/general.py b/activitysim/estimation/larch/general.py index 14f8bd3f66..cfb81c756b 100644 --- a/activitysim/estimation/larch/general.py +++ b/activitysim/estimation/larch/general.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import logging import os from pathlib import Path @@ -7,18 +9,17 @@ import pandas as pd try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None - logger_name = "larch" + lx = None else: - from larch import DataFrames, Model, P, X # noqa: F401 - from larch.log import logger_name - from larch.model.abstract_model import AbstractChoiceModel + from larch import Model, P, X # noqa: F401 from larch.model.tree import NestingTree from larch.util import Dict # noqa: F401 -_logger = logging.getLogger(logger_name) +_logger = logging.getLogger("larch") def cv_to_ca(alt_values, dtype="float64", required_labels=None): @@ -74,7 +75,12 @@ def cv_to_ca(alt_values, dtype="float64", required_labels=None): x_ca_tall = x_ca_tall.astype(dtype) # Unstack the variables dimension - x_ca = x_ca_tall.unstack(1) + x_ca = ( + x_ca_tall.reset_index() + .drop_duplicates() + .set_index(x_ca_tall.index.names) + .unstack(1) + ) # Code above added a dummy top level to columns, remove it here. x_ca.columns = x_ca.columns.droplevel(0) @@ -111,7 +117,9 @@ def str_repr(x): return x -def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): +def linear_utility_from_spec( + spec, x_col, p_col, ignore_x=(), segment_id=None, x_validator=None, expr_col=None +): """ Create a linear function from a spec DataFrame. @@ -136,6 +144,13 @@ def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): The CHOOSER_SEGMENT_COLUMN_NAME identified for ActivitySim. This value is ignored if `p_col` is a string, and required if `p_col` is a dict. + x_validator : Container, optional + A container of valid values for the x_col. If given, the + x_col values will be used if they are `in` the x_validator, + otherwise the value from `expr_col` will be used. + expr_col : str, optional + The name of the column to use when the x_col value is not + in the x_validator. Returns ------- @@ -151,6 +166,8 @@ def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): x_col, seg_p_col, ignore_x, + x_validator=x_validator, + expr_col=expr_col, ) * X(f"{segment_id}=={str_repr(segval)}") return sum(partial_utility.values()) parts = [] @@ -163,6 +180,16 @@ def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): _x = None else: raise + + # when a validator is given, use the expression column if the original + # x value is not in the validator + if _x is not None and _x not in ignore_x: + if x_validator is not None and _x not in x_validator: + _x = spec.loc[i, expr_col] + if _x.startswith("@"): + _x = _x[1:] + + # handle the parameter... _p = spec.loc[i, p_col] if _x is not None and (_x not in ignore_x) and not pd.isna(_p): @@ -201,7 +228,9 @@ def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): return sum(parts) -def dict_of_linear_utility_from_spec(spec, x_col, p_col, ignore_x=()): +def dict_of_linear_utility_from_spec( + spec, x_col, p_col, ignore_x=(), x_validator=None, expr_col=None +): """ Create a linear function from a spec DataFrame. @@ -223,6 +252,13 @@ def dict_of_linear_utility_from_spec(spec, x_col, p_col, ignore_x=()): The CHOOSER_SEGMENT_COLUMN_NAME identified for ActivitySim. This value is ignored if `p_col` is a string, and required if `p_col` is a dict. + x_validator : Container, optional + A container of valid values for the x_col. If given, the + x_col values will be used if they are `in` the x_validator, + otherwise the value from `expr_col` will be used. + expr_col : str, optional + The name of the column to use when the x_col value is not + in the x_validator. Returns ------- @@ -231,7 +267,12 @@ def dict_of_linear_utility_from_spec(spec, x_col, p_col, ignore_x=()): utils = {} for altname, altcode in p_col.items(): utils[altcode] = linear_utility_from_spec( - spec, x_col, altname, ignore_x=ignore_x + spec, + x_col, + altname, + ignore_x=ignore_x, + x_validator=x_validator, + expr_col=expr_col, ) return utils @@ -295,15 +336,7 @@ def explicit_value_parameters(model): except Exception: pass else: - model.set_value( - i, - value=j, - initvalue=j, - nullvalue=j, - minimum=j, - maximum=j, - holdfast=True, - ) + model.lock_value(i, value=j) def apply_coefficients(coefficients, model, minimum=None, maximum=None): @@ -333,25 +366,22 @@ def apply_coefficients(coefficients, model, minimum=None, maximum=None): ) coefficients["constrain"] = "F" assert coefficients.index.name == "coefficient_name" - assert isinstance(model, AbstractChoiceModel) + # assert isinstance(model, AbstractChoiceModel) explicit_value_parameters(model) for i in coefficients.itertuples(): - if i.Index in model: + if i.Index in model.pnames: holdfast = i.constrain == "T" if holdfast: - minimum_ = i.value - maximum_ = i.value + model.lock_value(i.Index, value=i.value) else: - minimum_ = minimum - maximum_ = maximum - model.set_value( - i.Index, - value=i.value, - initvalue=i.value, - holdfast=holdfast, - minimum=minimum_, - maximum=maximum_, - ) + model.set_value( + i.Index, + value=i.value, + initvalue=i.value, + holdfast=holdfast, + minimum=minimum, + maximum=maximum, + ) def apply_coef_template(linear_utility, template_col, condition=None): @@ -426,7 +456,8 @@ def make_nest(cfg, parent_code=0): else: make_nest(a, parent_code=nest_names_to_codes[cfg["name"]]) - make_nest(nesting_settings) + if nesting_settings: + make_nest(nesting_settings) return tree diff --git a/activitysim/estimation/larch/location_choice.py b/activitysim/estimation/larch/location_choice.py index 75814ff6f7..5c50f6b736 100644 --- a/activitysim/estimation/larch/location_choice.py +++ b/activitysim/estimation/larch/location_choice.py @@ -1,7 +1,9 @@ from __future__ import annotations +import collections import os import pickle +import warnings from datetime import datetime from pathlib import Path from typing import Collection @@ -21,11 +23,12 @@ ) try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None + lx = None else: - from larch import DataFrames, Model, P, X from larch.util import Dict @@ -43,6 +46,23 @@ def size_coefficients_from_spec(size_spec): return size_coef +LocationChoiceData = collections.namedtuple( + "LocationChoiceData", + field_names=[ + "edb_directory", + "alt_values", + "chooser_data", + "coefficients", + "landuse", + "spec", + "size_spec", + "master_size_spec", + "model_selector", + "settings", + ], +) + + def location_choice_model( name="workplace_location", edb_directory="output/estimation_data_bundle/{name}/", @@ -56,7 +76,60 @@ def location_choice_model( return_data=False, alt_values_to_feather=False, chunking_size=None, -): + *, + alts_in_cv_format=False, + availability_expression=None, +) -> lx.Model | tuple[lx.Model, LocationChoiceData]: + """ + Construct a location choice model from the estimation data bundle. + + Parameters + ---------- + name : str, optional + The name of the location choice model. The default is "workplace_location". + edb_directory : str, optional + The directory containing the estimation data bundle. The default is + "output/estimation_data_bundle/{name}/", where "{name}" is the name of + the model (see above). + coefficients_file : str, optional + The name of the coefficients file. The default is "{name}_coefficients.csv", + where "{name}" is the name of the model (see above). + spec_file : str, optional + The name of the spec file. The default is "{name}_SPEC.csv", where "{name}" + is the name of the model (see above). + size_spec_file : str, optional + The name of the size spec file. The default is "{name}_size_terms.csv", where + "{name}" is the name of the model (see above). + alt_values_file : str, optional + The name of the alternative values file. The default is + "{name}_alternatives_combined.csv", where "{name}" is the name of the model + (see above). + chooser_file : str, optional + The name of the chooser file. The default is "{name}_choosers_combined.csv", + where "{name}" is the name of the model (see above). + settings_file : str, optional + The name of the settings file. The default is "{name}_model_settings.yaml", + where "{name}" is the name of the model (see above). + landuse_file : str, optional + The name of the land use file. The default is "{name}_landuse.csv", where + "{name}" is the name of the model (see above). + return_data : bool, optional + If True, return a tuple containing the model and the location choice data. + The default is False, which returns only the model. + alt_values_to_feather : bool, default False + If True, convert the alternative values to a feather file. + chunking_size : int, optional + The number of rows per chunk for processing the alternative values. The default + is None, which processes all rows at once. + alts_in_cv_format : bool, default False + If True, the alternatives are in CV format. The default is False. + availability_expression : str, optional + The name of the availability expression. This is the "Label" from the + spec file that identifies an expression that evaluates truthy (non-zero) + if the alternative is available, and falsey otherwise. If not provided, + the code will attempt to infer the availability expression from the + expressions, but this is not reliable. The default is None. + """ model_selector = name.replace("_location", "") model_selector = model_selector.replace("_destination", "") model_selector = model_selector.replace("_subtour", "") @@ -66,8 +139,12 @@ def location_choice_model( edb_directory = edb_directory.format(name=name) def _read_csv(filename, **kwargs): - filename = filename.format(name=name) - return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) + filename = Path(edb_directory).joinpath(filename.format(name=name)) + if filename.with_suffix(".parquet").exists(): + print("loading from", filename.with_suffix(".parquet")) + return pd.read_parquet(filename.with_suffix(".parquet"), **kwargs) + print("loading from", filename) + return pd.read_csv(filename, **kwargs) def _read_feather(filename, **kwargs): filename = filename.format(name=name) @@ -185,7 +262,10 @@ def _file_exists(filename): if label_column_name == "Expression": spec.insert(0, "Label", spec["Expression"].map(expression_labels)) - alt_values["variable"] = alt_values["variable"].map(expression_labels) + if alts_in_cv_format: + alt_values["variable"] = alt_values["variable"].map(expression_labels) + else: + alt_values = alt_values.rename(columns=expression_labels) label_column_name = "Label" if name == "trip_destination": @@ -200,44 +280,58 @@ def split(a, n): k, m = divmod(len(a), n) return (a[i * k + min(i, m) : (i + 1) * k + min(i + 1, m)] for i in range(n)) - # process x_ca with cv_to_ca with or without chunking - x_ca_pickle_file = "{name}_x_ca.pkl" - if chunking_size == None: - x_ca = cv_to_ca( - alt_values.set_index([chooser_index_name, alt_values.columns[1]]) - ) - elif _file_exists(x_ca_pickle_file): - # if pickle file from previous x_ca processing exist, load it to save time - time_start = datetime.now() - x_ca = _read_pickle(x_ca_pickle_file) - print( - f"x_ca data loaded from {name}_x_ca.fea - time elapsed {(datetime.now() - time_start).total_seconds()}" - ) - else: - time_start = datetime.now() - # calculate num_chunks based on chunking_size (or max number of rows per chunk) - num_chunks = int(len(alt_values) / chunking_size) - id_col_name = alt_values.columns[0] - all_ids = list(alt_values[id_col_name].unique()) - split_ids = list(split(all_ids, num_chunks)) - x_ca_list = [] - i = 0 - for chunk_ids in split_ids: - alt_values_i = alt_values[alt_values[id_col_name].isin(chunk_ids)] - x_ca_i = cv_to_ca( - alt_values_i.set_index([chooser_index_name, alt_values_i.columns[1]]) + if alts_in_cv_format: + # if alternatives are in CV format, convert them to CA format. + # The CV format has the chooser index as the first column and the variable name + # as the second column, with values for each alternative in the remaining columns. + # This format is inefficient and deprecated as of ActivitySim version 1.4. + + # process x_ca with cv_to_ca with or without chunking + x_ca_pickle_file = "{name}_x_ca.pkl" + if chunking_size == None: + x_ca = cv_to_ca( + alt_values.set_index([chooser_index_name, alt_values.columns[1]]) ) - x_ca_list.append(x_ca_i) + elif _file_exists(x_ca_pickle_file): + # if pickle file from previous x_ca processing exist, load it to save time + time_start = datetime.now() + x_ca = _read_pickle(x_ca_pickle_file) print( - f"\rx_ca_i compute done for chunk {i}/{num_chunks} - time elapsed {(datetime.now() - time_start).total_seconds()}" + f"x_ca data loaded from {name}_x_ca.fea - time elapsed {(datetime.now() - time_start).total_seconds()}" ) - i = i + 1 - x_ca = pd.concat(x_ca_list, axis=0) - # save final x_ca result as pickle file to save time for future data loading - _to_pickle(df=x_ca, filename=x_ca_pickle_file) - print( - f"x_ca compute done - time elapsed {(datetime.now() - time_start).total_seconds()}" - ) + else: + time_start = datetime.now() + # calculate num_chunks based on chunking_size (or max number of rows per chunk) + num_chunks = int(len(alt_values) / chunking_size) + id_col_name = alt_values.columns[0] + all_ids = list(alt_values[id_col_name].unique()) + split_ids = list(split(all_ids, num_chunks)) + x_ca_list = [] + i = 0 + for chunk_ids in split_ids: + alt_values_i = alt_values[alt_values[id_col_name].isin(chunk_ids)] + x_ca_i = cv_to_ca( + alt_values_i.set_index( + [chooser_index_name, alt_values_i.columns[1]] + ) + ) + x_ca_list.append(x_ca_i) + print( + f"\rx_ca_i compute done for chunk {i}/{num_chunks} - time elapsed {(datetime.now() - time_start).total_seconds()}" + ) + i = i + 1 + x_ca = pd.concat(x_ca_list, axis=0) + # save final x_ca result as pickle file to save time for future data loading + _to_pickle(df=x_ca, filename=x_ca_pickle_file) + print( + f"x_ca compute done - time elapsed {(datetime.now() - time_start).total_seconds()}" + ) + else: + # otherwise, we assume that the alternatives are already in the correct IDCA format with + # the cases and alternatives as the first two columns, and the variables as the + # remaining columns. This is a much more efficient format for the data. + assert alt_values.columns[0] == chooser_index_name + x_ca = alt_values.set_index([chooser_index_name, alt_values.columns[1]]) if CHOOSER_SEGMENT_COLUMN_NAME is not None: # label segments with names @@ -256,6 +350,10 @@ def split(a, n): total_size_segment += ( landuse[land_use_field] * size_spec.loc[segment, land_use_field] ) + if -1 in x_co["override_choice"].values: + print("Warning: override_choice contains -1, adding 0 to total_size") + print("You should probably remove data containing -1 from your data") + total_size_segment.loc[-1] = 0 x_co["total_size_" + segment] = total_size_segment.loc[ x_co["override_choice"] ].to_numpy() @@ -269,46 +367,91 @@ def split(a, n): # Remove choosers with invalid observed choice (appropriate total size value = 0) valid_observed_zone = x_co["total_size_segment"] > 0 + prior_n_cases = len(x_co) x_co = x_co[valid_observed_zone] x_ca = x_ca[x_ca.index.get_level_values(chooser_index_name).isin(x_co.index)] + after_n_cases = len(x_co) + if prior_n_cases != after_n_cases: + warnings.warn( + f"Removed {prior_n_cases - after_n_cases} choosers with invalid (zero-sized) observed choice", + stacklevel=2, + ) # Merge land use characteristics into CA data - try: - x_ca_1 = pd.merge(x_ca, landuse, on="zone_id", how="left") - except KeyError: - # Missing the zone_id variable? - # Use the alternative id's instead, which assumes no sampling of alternatives - x_ca_1 = pd.merge( - x_ca, - landuse, - left_on=x_ca.index.get_level_values(1), - right_index=True, - how="left", - ) - x_ca_1.index = x_ca.index + x_ca_1 = pd.merge( + x_ca, landuse, left_on=x_ca.index.get_level_values(1), right_index=True + ) + x_ca_1 = x_ca_1.sort_index() + + # relabel zones to reduce memory usage. + # We will core the original zone ids in a new column _original_zone_id, + # and create a new index with a dummy zone id. This way, if we have sampled + # only a subset of 30 zones, then we only need 30 unique alternatives in the + # data structure. + original_zone_ids = x_ca_1.index.get_level_values(1) + + dummy_zone_ids_index = pd.MultiIndex.from_arrays( + [ + x_ca_1.index.get_level_values(0), + x_ca_1.groupby(level=0).cumcount() + 1, + ], + names=[x_ca_1.index.names[0], "dummy_zone_id"], + ) + x_ca_1.index = dummy_zone_ids_index + x_ca_1["_original_zone_id"] = original_zone_ids + choice_def = {"choice_ca_var": "override_choice == _original_zone_id"} # Availability of choice zones - if "util_no_attractions" in x_ca_1: + if availability_expression is not None and availability_expression in x_ca_1: + av = ( + x_ca_1[availability_expression] + .apply(lambda x: False if x == 1 else True) + .astype(np.int8) + .to_xarray() + ) + elif "util_no_attractions" in x_ca_1: av = ( x_ca_1["util_no_attractions"] .apply(lambda x: False if x == 1 else True) .astype(np.int8) + .to_xarray() ) elif "@df['size_term']==0" in x_ca_1: av = ( x_ca_1["@df['size_term']==0"] .apply(lambda x: False if x == 1 else True) .astype(np.int8) + .to_xarray() + ) + elif expression_labels is not None and "@df['size_term']==0" in expression_labels: + av = ( + x_ca_1[expression_labels["@df['size_term']==0"]] + .apply(lambda x: False if x == 1 else True) + .astype(np.int8) + .to_xarray() ) else: - av = 1 + av = None assert len(x_co) > 0, "Empty chooser dataframe" assert len(x_ca_1) > 0, "Empty alternatives dataframe" - d = DataFrames(co=x_co, ca=x_ca_1, av=av) + d_ca = lx.Dataset.construct.from_idca(x_ca_1) + d_co = lx.Dataset.construct.from_idco(x_co) + d = d_ca.merge(d_co) + if av is not None: + d["_avail_"] = av + + m = lx.Model(datatree=d, compute_engine="numba") + + # One of the alternatives might be coded as 0, so + # we need to explicitly initialize the MNL nesting graph + # and set to root_id to a value other than zero. + root_id = 0 + if root_id in d.dc.altids(): + root_id = -1 + m.initialize_graph(alternative_codes=d.dc.altids(), root_id=root_id) - m = Model(dataservice=d) if len(spec.columns) == 4 and all( spec.columns == ["Label", "Description", "Expression", "coefficient"] ): @@ -317,6 +460,8 @@ def split(a, n): x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + x_validator=d, + expr_col="Expression", ) elif ( len(spec.columns) == 4 @@ -329,6 +474,8 @@ def split(a, n): x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + x_validator=d, + expr_col="Expression", ) else: m.utility_ca = linear_utility_from_spec( @@ -337,21 +484,23 @@ def split(a, n): p_col=SEGMENT_IDS, ignore_x=("local_dist",), segment_id=CHOOSER_SEGMENT_COLUMN_NAME, + x_validator=d, + expr_col="Expression", ) if CHOOSER_SEGMENT_COLUMN_NAME is None: assert len(size_spec) == 1 m.quantity_ca = sum( - P(f"{i}_{q}") * X(q) + lx.P(f"{i}_{q}") * lx.X(q) for i in size_spec.index for q in size_spec.columns if size_spec.loc[i, q] != 0 ) else: m.quantity_ca = sum( - P(f"{i}_{q}") - * X(q) - * X(f"{CHOOSER_SEGMENT_COLUMN_NAME}=={str_repr(SEGMENT_IDS[i])}") + lx.P(f"{i}_{q}") + * lx.X(q) + * lx.X(f"{CHOOSER_SEGMENT_COLUMN_NAME}=={str_repr(SEGMENT_IDS[i])}") for i in size_spec.index for q in size_spec.columns if size_spec.loc[i, q] != 0 @@ -360,12 +509,16 @@ def split(a, n): apply_coefficients(coefficients, m, minimum=-25, maximum=25) apply_coefficients(size_coef, m, minimum=-6, maximum=6) - m.choice_co_code = "override_choice" + m.choice_def(choice_def) + if av is not None: + m.availability_ca_var = "_avail_" + else: + m.availability_any = True if return_data: return ( m, - Dict( + LocationChoiceData( edb_directory=Path(edb_directory), alt_values=alt_values, chooser_data=chooser_data, diff --git a/activitysim/estimation/larch/mode_choice.py b/activitysim/estimation/larch/mode_choice.py index 74aa4d1be6..f3d933d3f1 100644 --- a/activitysim/estimation/larch/mode_choice.py +++ b/activitysim/estimation/larch/mode_choice.py @@ -6,6 +6,7 @@ import numpy as np import pandas as pd +import xarray as xr import yaml from .general import ( @@ -19,11 +20,12 @@ from .simple_simulate import construct_availability, simple_simulate_data try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None + lx = None else: - from larch import DataFrames, Model, P, X from larch.util import Dict @@ -62,7 +64,10 @@ def mode_choice_model( purposes.remove("atwork") # Setup purpose specific models - m = {purpose: Model(graph=tree, title=purpose) for purpose in purposes} + m = { + purpose: lx.Model(graph=tree, title=purpose, compute_engine="numba") + for purpose in purposes + } for alt_code, alt_name in tree.elemental_names().items(): # Read in base utility function for this alt_name u = linear_utility_from_spec( @@ -70,42 +75,43 @@ def mode_choice_model( x_col="Label", p_col=alt_name, ignore_x=("#",), + x_validator=chooser_data.columns, + expr_col="Expression", ) for purpose in purposes: # Modify utility function based on template for purpose u_purp = sum( - (P(coef_template[purpose].get(i.param, i.param)) * i.data * i.scale) + (lx.P(coef_template[purpose].get(i.param, i.param)) * i.data * i.scale) for i in u ) m[purpose].utility_co[alt_code] = u_purp for model in m.values(): explicit_value_parameters(model) + model.availability_ca_var = "_avail_" apply_coefficients(coefficients, m) avail = construct_availability( m[purposes[0]], chooser_data, data.alt_codes_to_names ) - d = DataFrames( - co=chooser_data, - av=avail, - alt_codes=data.alt_codes, - alt_names=data.alt_names, + d = lx.Dataset.construct.from_idco( + chooser_data, alts=dict(zip(data.alt_codes, data.alt_names)) ) + d["_avail_"] = xr.DataArray(avail, dims=(d.dc.CASEID, d.dc.ALTID)) if "atwork" not in name: for purpose, model in m.items(): - model.dataservice = d.selector_co(f"tour_type=='{purpose}'") + model.datatree = d.dc.query_cases(f"tour_type=='{purpose}'") model.choice_co_code = "override_choice_code" else: for purpose, model in m.items(): - model.dataservice = d + model.datatree = d model.choice_co_code = "override_choice_code" - from larch.model.model_group import ModelGroup - - mg = ModelGroup(m.values()) + mg = lx.ModelGroup(m.values()) + explicit_value_parameters(mg) + apply_coefficients(coefficients, mg) if return_data: return ( diff --git a/activitysim/estimation/larch/nonmand_tour_freq.py b/activitysim/estimation/larch/nonmand_tour_freq.py index 9fbcbb1ed5..c35d44453a 100644 --- a/activitysim/estimation/larch/nonmand_tour_freq.py +++ b/activitysim/estimation/larch/nonmand_tour_freq.py @@ -1,5 +1,6 @@ from __future__ import annotations +import glob import logging import os import pickle @@ -17,17 +18,16 @@ ) try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None - logger_name = "larch" + lx = None else: - from larch import DataFrames, Model - from larch.log import logger_name from larch.util import Dict -_logger = logging.getLogger(logger_name) +_logger = logging.getLogger("larch") def interaction_simulate_data( @@ -38,17 +38,48 @@ def interaction_simulate_data( alt_def_file="{name}_alternatives.csv", coefficients_files="{segment_name}/{name}_coefficients_{segment_name}.csv", chooser_data_files="{segment_name}/{name}_choosers_combined.csv", - alt_values_files="{segment_name}/{name}_interaction_expression_values.csv", - segment_subset=[], + alt_values_files="{segment_name}/{name}_alternatives_combined.csv", + segment_subset=(), ): edb_directory = edb_directory.format(name=name) def _read_csv(filename, **kwargs): - filename = filename.format(name=name) - return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) + filename = Path(edb_directory).joinpath(filename.format(name=name)) + if filename.with_suffix(".parquet").exists(): + print("loading from", filename.with_suffix(".parquet")) + if "comment" in kwargs: + kwargs.pop("comment") + return pd.read_parquet(filename.with_suffix(".parquet"), **kwargs) + if filename.exists(): + print("loading from", filename) + return pd.read_csv(filename, **kwargs) + # if the file does not exist, try to load parquet from a subdirectory + search_glob = os.path.join( + edb_directory, "*", filename.with_suffix(".parquet").name + ) + files = glob.glob(search_glob) + if files: + print("loading from", files[0]) + return pd.read_parquet(files[0], **kwargs) + # otherwise try to load csv from a subdirectory + search_glob = os.path.join(edb_directory, "*", filename.name) + files = glob.glob(search_glob) + if files: + print("loading from", files[0]) + return pd.read_csv(files[0], **kwargs) + raise FileNotFoundError(f"File {filename} not found") settings_file = settings_file.format(name=name) - with open(os.path.join(edb_directory, settings_file), "r") as yf: + settings_file_resolved = os.path.join(edb_directory, settings_file) + if not os.path.exists(settings_file_resolved): + search_glob = os.path.join(edb_directory, "*", settings_file) + settings_files = glob.glob(search_glob) + if not settings_files: + raise FileNotFoundError(f"Settings file {settings_file} not found") + else: + settings_file_resolved = settings_files[0] + + with open(settings_file_resolved) as yf: settings = yaml.load( yf, Loader=yaml.SafeLoader, @@ -123,7 +154,7 @@ def link_same_value_coefficients(segment_names, coefficients, spec): def unavail_parameters(model): - return model.pf.index[(model.pf.value < -900) & (model.pf.holdfast != 0)] + return model.pnames[(model.pvals < -900) & (model.pholdfast != 0)] def unavail_data_cols(model): @@ -133,10 +164,15 @@ def unavail_data_cols(model): def unavail(model, x_ca): lock_data = unavail_data_cols(model) + # intialize unavail to False array of same length as x_ca + unav = pd.Series(False, index=x_ca.index) if len(lock_data): unav = x_ca[lock_data[0]] > 0 for j in lock_data[1:]: unav |= x_ca[j] > 0 + else: + # no unavailability parameters are included + return pd.DataFrame(0, index=x_ca.index, columns=["_avail_"]) return unav @@ -212,8 +248,10 @@ def nonmand_tour_freq_model( edb_directory="output/estimation_data_bundle/{name}/", return_data=False, condense_parameters=False, - segment_subset=[], + segment_subset=(), num_chunks=1, + *, + alts_in_cv_format=False, ): """ Prepare nonmandatory tour frequency models for estimation. @@ -253,10 +291,13 @@ def nonmand_tour_freq_model( alt_values = data.alt_values alt_def = data.alt_def + # deduplicate rows in alt_def + alt_def = alt_def[~alt_def.index.duplicated(keep="first")] + m = {} for segment_name in segment_names: print(f"Creating larch model for {segment_name}") - segment_model = m[segment_name] = Model() + segment_model = m[segment_name] = lx.Model(compute_engine="numba") # One of the alternatives is coded as 0, so # we need to explicitly initialize the MNL nesting graph # and set to root_id to a value other than zero. @@ -267,6 +308,9 @@ def nonmand_tour_freq_model( spec, x_col="Label", p_col=segment_name, + x_validator=set(chooser_data[segment_name].columns) + | set(alt_values[segment_name].columns), + expr_col="Expression", ) apply_coefficients(coefficients[segment_name], segment_model) segment_model.choice_co_code = "override_choice" @@ -277,21 +321,29 @@ def nonmand_tour_freq_model( .set_index("person_id") .rename(columns={"TAZ": "HOMETAZ"}) ) - print("\t performing cv to ca step") - # x_ca = cv_to_ca(alt_values[segment_name].set_index(["person_id", "variable"])) - x_ca = get_x_ca_df( - alt_values=alt_values[segment_name].set_index(["person_id", "variable"]), - name=segment_name, - edb_directory=edb_directory.format(name="non_mandatory_tour_frequency"), - num_chunks=num_chunks, - ) + if alts_in_cv_format: + print("\t performing cv to ca step") + x_ca = get_x_ca_df( + alt_values=alt_values[segment_name].set_index( + ["person_id", "variable"] + ), + name=segment_name, + edb_directory=edb_directory.format(name="non_mandatory_tour_frequency"), + num_chunks=num_chunks, + ) + else: + x_ca = alt_values[segment_name].set_index(["person_id", "alt_id"]) - d = DataFrames( - co=x_co, - ca=x_ca, - av=~unavail(segment_model, x_ca), + d_co = lx.Dataset.construct.from_idco( + x_co, + alts=alt_def.index.rename("alt_id"), ) - m[segment_name].dataservice = d + x_ca["_avail_"] = ~unavail(segment_model, x_ca) + # we set crack to False here so that we do not dissolve zero variance IDCAs + d_ca = lx.Dataset.construct.from_idca(x_ca, crack=False) + d = d_ca.merge(d_co) + m[segment_name].datatree = d + m[segment_name].availability_ca_var = "_avail_" if return_data: return m, data diff --git a/activitysim/estimation/larch/scheduling.py b/activitysim/estimation/larch/scheduling.py index 7d9461b5ca..e0adb34e56 100644 --- a/activitysim/estimation/larch/scheduling.py +++ b/activitysim/estimation/larch/scheduling.py @@ -21,11 +21,13 @@ ) try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None + lx = None else: - from larch import DataFrames, Model, P, X + from larch import P, X from larch.util import Dict @@ -38,6 +40,8 @@ def schedule_choice_model( chooser_file="{name}_choosers_combined.csv", settings_file="{name}_model_settings.yaml", return_data=False, + *, + alts_in_cv_format=False, ): model_selector = name.replace("_location", "") model_selector = model_selector.replace("_destination", "") @@ -46,14 +50,16 @@ def schedule_choice_model( edb_directory = edb_directory.format(name=name) def _read_csv(filename, optional=False, **kwargs): - filename = filename.format(name=name) - try: - return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) - except FileNotFoundError: - if optional: - return None - else: - raise + filename = Path(edb_directory).joinpath(filename.format(name=name)) + if filename.with_suffix(".parquet").exists(): + print("loading from", filename.with_suffix(".parquet")) + return pd.read_parquet(filename.with_suffix(".parquet"), **kwargs) + if filename.exists(): + print("loading from", filename) + return pd.read_csv(filename, **kwargs) + if optional: + return None + raise FileNotFoundError(filename) settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: @@ -106,7 +112,7 @@ def _read_csv(filename, optional=False, **kwargs): else: raise ValueError("cannot find Label or Expression in spec file") - m = Model() + m = lx.Model(compute_engine="numba") if len(spec.columns) == 4 and ( [c.lower() for c in spec.columns] == ["label", "description", "expression", "coefficient"] @@ -141,12 +147,16 @@ def _read_csv(filename, optional=False, **kwargs): apply_coefficients(coefficients, m, minimum=-25, maximum=25) chooser_index_name = chooser_data.columns[0] - x_co = chooser_data.set_index(chooser_index_name) + x_co = chooser_data.set_index(chooser_index_name).dropna(axis=1, how="all") alt_values.fillna(0, inplace=True) - x_ca = cv_to_ca( - alt_values.set_index([chooser_index_name, alt_values.columns[1]]), - required_labels=spec[label_column_name], - ) + if alts_in_cv_format: + x_ca = cv_to_ca( + alt_values.set_index([chooser_index_name, alt_values.columns[1]]), + required_labels=spec[label_column_name], + ) + else: + # the alternative code is "tdd" + x_ca = alt_values.set_index([chooser_index_name, "tdd"]) # if CHOOSER_SEGMENT_COLUMN_NAME is not None: # # label segments with names @@ -158,22 +168,36 @@ def _read_csv(filename, optional=False, **kwargs): # x_co["_segment_label"] = size_spec.index[0] alt_codes = np.arange(len(x_ca.index.levels[1])) + 1 - x_ca.index = x_ca.index.set_levels(alt_codes, 1) + x_ca.index = x_ca.index.set_levels(alt_codes, level=1) x_co["override_choice_plus1"] = x_co["override_choice"] + 1 x_co["model_choice_plus1"] = x_co["model_choice"] + 1 unavail_coefs = coefficients.query("(constrain == 'T') & (value < -900)").index unavail_data = [i.data for i in m.utility_ca if i.param in unavail_coefs] - if len(unavail_data): + + if "mode_choice_logsum" in x_ca and not len(unavail_data): + joint_avail = "~(mode_choice_logsum_missing)" + elif len(unavail_data): joint_unavail = "|".join(f"({i}>0)" for i in unavail_data) joint_avail = f"~({joint_unavail})" else: - joint_avail = 1 - - d = DataFrames(co=x_co, ca=x_ca, av=joint_avail) - m.dataservice = d + joint_avail = None + + # d = DataFrames(co=x_co, ca=x_ca, av=joint_avail) # larch 5.7 + d_ca = lx.Dataset.construct.from_idca(x_ca) + if joint_avail == "~(mode_choice_logsum_missing)": + tmp = np.isnan(d_ca["mode_choice_logsum"]) + tmp = tmp.drop_vars(tmp.coords) + d_ca = d_ca.assign(mode_choice_logsum_missing=tmp) + d_co = lx.Dataset.construct.from_idco(x_co) + d = d_ca.merge(d_co) + # if joint_avail is not None: + # d["_avail_"] = joint_avail + + m.datatree = d m.choice_co_code = "override_choice_plus1" - # m.choice_co_code = "model_choice_plus1" + if joint_avail is not None: + m.availability_ca_var = joint_avail if return_data: return ( @@ -226,38 +250,64 @@ def construct_availability_ca(model, chooser_data, alt_codes_to_names): return avail -def mandatory_tour_scheduling_work_model(return_data=False): +def mandatory_tour_scheduling_work_model( + edb_directory="output/estimation_data_bundle/{name}/", return_data=False +): return schedule_choice_model( name="mandatory_tour_scheduling_work", + edb_directory=edb_directory, return_data=return_data, coefficients_file="tour_scheduling_work_coefficients.csv", ) -def mandatory_tour_scheduling_school_model(return_data=False): +def mandatory_tour_scheduling_school_model( + edb_directory="output/estimation_data_bundle/{name}/", return_data=False +): return schedule_choice_model( name="mandatory_tour_scheduling_school", + edb_directory=edb_directory, return_data=return_data, coefficients_file="tour_scheduling_school_coefficients.csv", ) -def non_mandatory_tour_scheduling_model(return_data=False): +def mandatory_tour_scheduling_univ_model( + edb_directory="output/estimation_data_bundle/{name}/", return_data=False +): + return schedule_choice_model( + name="mandatory_tour_scheduling_univ", + edb_directory=edb_directory, + return_data=return_data, + coefficients_file="tour_scheduling_univ_coefficients.csv", + ) + + +def non_mandatory_tour_scheduling_model( + edb_directory="output/estimation_data_bundle/{name}/", return_data=False +): return schedule_choice_model( name="non_mandatory_tour_scheduling", + edb_directory=edb_directory, return_data=return_data, ) -def joint_tour_scheduling_model(return_data=False): +def joint_tour_scheduling_model( + edb_directory="output/estimation_data_bundle/{name}/", return_data=False +): return schedule_choice_model( name="joint_tour_scheduling", + edb_directory=edb_directory, return_data=return_data, ) -def atwork_subtour_scheduling_model(return_data=False): +def atwork_subtour_scheduling_model( + edb_directory="output/estimation_data_bundle/{name}/", return_data=False +): return schedule_choice_model( name="atwork_subtour_scheduling", + edb_directory=edb_directory, return_data=return_data, ) diff --git a/activitysim/estimation/larch/simple_simulate.py b/activitysim/estimation/larch/simple_simulate.py index e608a50084..2ec8a574f3 100644 --- a/activitysim/estimation/larch/simple_simulate.py +++ b/activitysim/estimation/larch/simple_simulate.py @@ -1,5 +1,6 @@ from __future__ import annotations +import collections import os from pathlib import Path @@ -17,11 +18,12 @@ ) try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None + lx = None else: - from larch import DataFrames, Model from larch.util import Dict @@ -40,7 +42,7 @@ def construct_availability(model, chooser_data, alt_codes_to_names): pandas.DataFrame """ avail = {} - for acode, aname in alt_codes_to_names.items(): + for acode, _aname in alt_codes_to_names.items(): unavail_cols = list( ( chooser_data[i.data] @@ -59,6 +61,37 @@ def construct_availability(model, chooser_data, alt_codes_to_names): return avail +SimpleSimulateData = collections.namedtuple( + "SimpleSimulateData", + field_names=[ + "edb_directory", + "settings", + "chooser_data", + "coefficients", + "coef_template", + "spec", + "alt_names", + "alt_codes", + "alt_names_to_codes", + "alt_codes_to_names", + ], +) + + +def read_spec(filename: str | os.PathLike) -> pd.DataFrame: + """Read a simple simulate spec file""" + print("loading spec from", filename) + spec = pd.read_csv(filename, comment="#") + spec = remove_apostrophes(spec, ["Label"]) + + # remove temp rows from spec, ASim uses them to calculate the other values written + # to the EDB, but they are not actually part of the utility function themselves. + spec = spec.loc[~spec.Expression.isna()] + spec = spec.loc[~spec.Expression.str.startswith("_")].copy() + + return spec + + def simple_simulate_data( name="tour_mode_choice", edb_directory="output/estimation_data_bundle/{name}/", @@ -68,15 +101,20 @@ def simple_simulate_data( settings_file="{name}_model_settings.yaml", chooser_data_file="{name}_values_combined.csv", values_index_col="tour_id", -): - edb_directory = edb_directory.format(name=name) +) -> SimpleSimulateData: + edb_directory = str(edb_directory).format(name=name) def _read_csv(filename, **kwargs): - filename = filename.format(name=name) - return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) + filename = Path(edb_directory).joinpath(filename.format(name=name)) + if filename.with_suffix(".parquet").exists(): + print("loading from", filename.with_suffix(".parquet")) + return pd.read_parquet(filename.with_suffix(".parquet"), **kwargs) + if filename.exists(): + print("loading from", filename) + return pd.read_csv(filename, **kwargs) settings_file = settings_file.format(name=name) - with open(os.path.join(edb_directory, settings_file), "r") as yf: + with open(os.path.join(edb_directory, settings_file)) as yf: settings = yaml.load( yf, Loader=yaml.SafeLoader, @@ -96,23 +134,16 @@ def _read_csv(filename, **kwargs): except FileNotFoundError: coef_template = None - spec = _read_csv(spec_file, comment="#") - spec = remove_apostrophes(spec, ["Label"]) - - # remove temp rows from spec, ASim uses them to calculate the other values written - # to the EDB, but they are not actually part of the utility function themselves. - spec = spec.loc[~spec.Expression.isna()] - spec = spec.loc[~spec.Expression.str.startswith("_")].copy() + spec = read_spec(Path(edb_directory).joinpath(spec_file.format(name=name))) alt_names = list(spec.columns[3:]) alt_codes = np.arange(1, len(alt_names) + 1) - alt_names_to_codes = dict(zip(alt_names, alt_codes)) - alt_codes_to_names = dict(zip(alt_codes, alt_names)) + alt_names_to_codes = dict(zip(alt_names, alt_codes, strict=False)) + alt_codes_to_names = dict(zip(alt_codes, alt_names, strict=False)) chooser_data = _read_csv( chooser_data_file, - index_col=values_index_col, - ) + ).set_index(values_index_col) except Exception: # when an error happens in reading anything other than settings, print settings @@ -121,7 +152,7 @@ def _read_csv(filename, **kwargs): pprint(settings) raise - return Dict( + return SimpleSimulateData( edb_directory=Path(edb_directory), settings=settings, chooser_data=chooser_data, @@ -167,33 +198,40 @@ def simple_simulate_model( if settings.get("LOGIT_TYPE") == "NL": tree = construct_nesting_tree(data.alt_names, settings["NESTS"]) - m = Model(graph=tree) else: - m = Model(alts=data.alt_codes_to_names) + tree = construct_nesting_tree(data.alt_names_to_codes, {}) + m = lx.Model(compute_engine="numba") m.utility_co = dict_of_linear_utility_from_spec( spec, "Label", - dict(zip(alt_names, alt_codes)), + dict(zip(alt_names, alt_codes, strict=False)), + x_validator=chooser_data, + expr_col="Expression", ) apply_coefficients(coefficients, m) if construct_avail: avail = construct_availability(m, chooser_data, data.alt_codes_to_names) + d = lx.Dataset.construct.from_idco( + pd.concat([chooser_data, avail], axis=1), + alts=dict(zip(alt_codes, alt_names, strict=False)), + ) else: avail = True + d = lx.Dataset.construct.from_idco( + chooser_data, alts=dict(zip(alt_codes, alt_names, strict=False)) + ) - d = DataFrames( - co=chooser_data, - av=avail, - alt_codes=alt_codes, - alt_names=alt_names, - ) - - m.dataservice = d + m.datatree = d.dc.as_tree("df") + m.graph = tree m.choice_co_code = "override_choice_code" + # set bounds on unbounded coefficients, so that they don't get big + # and cause numerical errors which some optimizers can't handle + m.set_cap(50) + if return_data: return ( m, @@ -257,6 +295,22 @@ def work_from_home_model( ) +def telecommute_status_model( + name="telecommute_status", + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, +): + return simple_simulate_model( + name=name, + edb_directory=edb_directory, + return_data=return_data, + choices={ + True: 1, + False: 2, + }, # True is telecommute, false is does not telecommute, names match spec positions + ) + + def mandatory_tour_frequency_model( name="mandatory_tour_frequency", edb_directory="output/estimation_data_bundle/{name}/", diff --git a/activitysim/estimation/larch/stop_frequency.py b/activitysim/estimation/larch/stop_frequency.py index cf36096dd7..d3344ad60c 100644 --- a/activitysim/estimation/larch/stop_frequency.py +++ b/activitysim/estimation/larch/stop_frequency.py @@ -15,11 +15,12 @@ ) try: - import larch + # Larch is an optional dependency, and we don't want to fail when importing + # this module simply because larch is not installed. + import larch as lx except ImportError: - larch = None + lx = None else: - from larch import DataFrames, Model from larch.util import Dict @@ -33,11 +34,29 @@ def stop_frequency_data( edb_directory = edb_directory.format(name=name) settings_file = settings_file.format(name=name) - with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load( - yf, - Loader=yaml.SafeLoader, - ) + try: + with open(os.path.join(edb_directory, settings_file), "r") as yf: + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) + except FileNotFoundError: + # search in all first level subdirectories for the settings file + for subdir in os.listdir(edb_directory): + if os.path.isdir(os.path.join(edb_directory, subdir)): + try: + with open( + os.path.join(edb_directory, subdir, settings_file), "r" + ) as yf: + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) + break + except FileNotFoundError: + pass + else: + raise segments = [i["primary_purpose"] for i in settings["SPEC_SEGMENTS"]] @@ -117,10 +136,30 @@ def stop_frequency_data( seg_alt_names_to_codes.append(alt_names_to_codes) seg_alt_codes_to_names.append(alt_codes_to_names) - chooser_data = pd.read_csv( - seg_subdir / chooser_data_file.format(name=name), - index_col=values_index_col, - ) + # load parquet if available, otherwise pickle, or if all else fails csv + if ( + (seg_subdir / chooser_data_file.format(name=name)) + .with_suffix(".parquet") + .exists() + ): + chooser_data = pd.read_parquet( + (seg_subdir / chooser_data_file.format(name=name)).with_suffix( + ".parquet" + ), + ).set_index(values_index_col) + elif ( + (seg_subdir / chooser_data_file.format(name=name)) + .with_suffix(".pkl") + .exists() + ): + chooser_data = pd.read_pickle( + (seg_subdir / chooser_data_file.format(name=name)).with_suffix(".pkl"), + ).set_index(values_index_col) + else: + chooser_data = pd.read_csv( + seg_subdir / chooser_data_file.format(name=name), + index_col=values_index_col, + ) seg_chooser_data.append(chooser_data) return Dict( @@ -170,9 +209,9 @@ def stop_frequency_model( if settings.get("LOGIT_TYPE") == "NL": tree = construct_nesting_tree(data.alt_names[n], settings["NESTS"]) - m = Model(graph=tree) + m = lx.Model(graph=tree, compute_engine="numba") else: - m = Model() + m = lx.Model(compute_engine="numba") m.utility_co = dict_of_linear_utility_from_spec( spec, @@ -184,15 +223,13 @@ def stop_frequency_model( avail = True - d = DataFrames( - co=chooser_data, - av=avail, - alt_codes=alt_codes, - alt_names=alt_names, + d = lx.Dataset.construct.from_idco( + chooser_data, alts=dict(zip(alt_codes, alt_names)) ) - m.dataservice = d + m.datatree = d m.choice_co_code = "override_choice_code" + m.availability_any = True models.append(m) from larch.model.model_group import ModelGroup diff --git a/activitysim/estimation/test/test_edb_creation/configs_estimation/.gitignore b/activitysim/estimation/test/test_edb_creation/configs_estimation/.gitignore new file mode 100644 index 0000000000..e767d25cef --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/configs_estimation/.gitignore @@ -0,0 +1,2 @@ +settings.yaml +estimation.yaml \ No newline at end of file diff --git a/activitysim/estimation/test/test_edb_creation/configs_estimation/estimation_template.yaml b/activitysim/estimation/test/test_edb_creation/configs_estimation/estimation_template.yaml new file mode 100644 index 0000000000..6cab9136ad --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/configs_estimation/estimation_template.yaml @@ -0,0 +1,81 @@ +EDB_FILETYPE: csv # options: csv, parquet, pkl + +enable: True + +bundles: + - school_location + - workplace_location + - auto_ownership + - vehicle_type_choice + - free_parking + - cdap + - mandatory_tour_frequency + - mandatory_tour_scheduling_work + - mandatory_tour_scheduling_school + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_scheduling + - trip_mode_choice + +# - atwork_subtour_mode_choice subtours.tour_mode + +survey_tables: + households: + file_name: override_households.csv + index_col: household_id + persons: + file_name: override_persons.csv + index_col: person_id + tours: + file_name: override_tours.csv + index_col: tour_id + joint_tour_participants: + file_name: override_joint_tour_participants.csv + index_col: participant_id + trips: + file_name: override_trips.csv + index_col: trip_id + + +estimation_table_types: + school_location: interaction_sample_simulate + workplace_location: interaction_sample_simulate + auto_ownership: simple_simulate + vehicle_type_choice: interaction_simulate + free_parking: simple_simulate + cdap: cdap_simulate + mandatory_tour_frequency: simple_simulate + mandatory_tour_scheduling_work: interaction_sample_simulate + mandatory_tour_scheduling_school: interaction_sample_simulate + joint_tour_frequency: simple_simulate + joint_tour_composition: simple_simulate + joint_tour_participation: simple_simulate + joint_tour_destination: interaction_sample_simulate + joint_tour_scheduling: interaction_sample_simulate + non_mandatory_tour_frequency: interaction_simulate + non_mandatory_tour_destination: interaction_sample_simulate + non_mandatory_tour_scheduling: interaction_sample_simulate + tour_mode_choice: simple_simulate + atwork_subtour_frequency: simple_simulate + atwork_subtour_destination: interaction_sample_simulate + atwork_subtour_scheduling: interaction_sample_simulate + atwork_subtour_mode_choice: simple_simulate + stop_frequency: simple_simulate + trip_purpose: simple_probabilistic + trip_destination: interaction_sample_simulate + trip_scheduling: simple_probabilistic + trip_mode_choice: simple_simulate diff --git a/activitysim/estimation/test/test_edb_creation/configs_estimation/logging.yaml b/activitysim/estimation/test/test_edb_creation/configs_estimation/logging.yaml new file mode 100644 index 0000000000..f4902943d6 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/configs_estimation/logging.yaml @@ -0,0 +1,67 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile, elogfile] + + loggers: + + estimation: + level: DEBUG + handlers: [console, elogfile] + propagate: false + + activitysim: + level: INFO + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + elogfile: + class: logging.FileHandler + filename: + get_log_file_path: 'estimation.log' + mode: w + formatter: fileFormatter + level: NOTSET + + logfile: + class: logging.FileHandler + filename: + get_log_file_path: 'activitysim.log' + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' diff --git a/activitysim/estimation/test/test_edb_creation/configs_estimation/settings_template.yaml b/activitysim/estimation/test/test_edb_creation/configs_estimation/settings_template.yaml new file mode 100644 index 0000000000..75b9720c75 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/configs_estimation/settings_template.yaml @@ -0,0 +1,165 @@ + +inherit_settings: True + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# input tables +input_table_list: + # + # households (table index 'household_id') + # + - tablename: households + filename: override_households.csv + index_col: household_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + # + # persons (table index 'person_id') + # + - tablename: persons + filename: override_persons.csv + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + # + # land_use (table index 'zone_id') + # + - tablename: land_use + filename: land_use.csv + rename_columns: + # accept either TAZ or ZONE (but not both) + TAZ: zone_id + ZONE: zone_id + COUNTY: county_id + keep_columns: + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL + +write_raw_tables: False +rng_base_seed: 0 + +fail_fast: True + +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# number of households to simulate +households_sample_size: 0 + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: initialize_households + +trace_hh_id: + +multiprocess: false +num_processes: 2 + + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +resume_after: + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination +# - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice +# - write_data_dictionary +# - track_skim_usage +# - write_trip_matrices + - write_tables + - coalesce_estimation_data_bundles + + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_accessibility + begin: compute_accessibility + slice: + tables: + - accessibility + # don't slice any tables not explicitly listed above in slice.tables + exclude: True + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_tables \ No newline at end of file diff --git a/activitysim/estimation/test/test_edb_creation/outputs/.gitignore b/activitysim/estimation/test/test_edb_creation/outputs/.gitignore new file mode 100644 index 0000000000..08194de49b --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/outputs/.gitignore @@ -0,0 +1,2 @@ +/output*/ +*.csv \ No newline at end of file diff --git a/activitysim/estimation/test/test_edb_creation/outputs/infer_output/.gitignore b/activitysim/estimation/test/test_edb_creation/outputs/infer_output/.gitignore new file mode 100644 index 0000000000..16f2dc5fa9 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/outputs/infer_output/.gitignore @@ -0,0 +1 @@ +*.csv \ No newline at end of file diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/final_households.csv b/activitysim/estimation/test/test_edb_creation/survey_data/final_households.csv new file mode 100644 index 0000000000..c91fceec9d --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/final_households.csv @@ -0,0 +1,51 @@ +"home_zone_id","income","hhsize","HHT","auto_ownership","num_workers","sample_rate","income_in_thousands","income_segment","median_value_of_time","hh_value_of_time","num_non_workers","num_drivers","num_adults","num_children","num_young_children","num_children_5_to_15","num_children_16_to_17","num_college_age","num_young_adults","non_family","family","home_is_urban","home_is_rural","hh_work_auto_savings_ratio","num_under16_not_at_school","num_travel_active","num_travel_active_adults","num_travel_active_preschoolers","num_travel_active_children","num_travel_active_non_preschoolers","participates_in_jtf_model","joint_tour_frequency","num_hh_joint_tours","household_id" +16,30900,2,5,1,2,0.01,30.9,2,8.81,6.021274002645185,0,2,2,0,0,0,0,0,2,true,false,true,false,0.39972082,0,2,2,0,0,2,true,"0_tours",0,982875 +16,99700,9,2,1,4,0.01,99.7,3,10.44,3.705326363656352,5,8,8,1,1,0,0,3,3,false,true,true,false,0.71195495,0,7,6,1,1,6,true,"0_tours",0,1810015 +20,58160,3,1,1,1,0.01,58.16,2,8.81,10.708809147889093,2,2,2,1,1,0,0,0,0,false,true,true,false,0.2646,0,3,2,1,1,2,true,"0_tours",0,1099626 +6,59220,1,4,1,0,0.01,59.22,2,8.81,10.449019648473794,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,763879 +18,51000,1,4,0,1,0.01,51,2,8.81,17.13534609189038,0,1,1,0,0,0,0,0,1,true,false,true,false,0.18706083,0,1,1,0,0,1,false,"0_tours",0,824207 +8,0,1,0,0,1,0.01,0,1,6.01,7.558195608572484,0,1,1,0,0,0,0,1,0,false,false,true,false,0.20204751,0,1,1,0,0,1,false,"0_tours",0,2822230 +8,0,1,0,0,1,0.01,0,1,6.01,1,0,1,1,0,0,0,0,0,0,false,false,true,false,0.19095585,0,1,1,0,0,1,false,"0_tours",0,2821179 +25,31360,5,1,0,1,0.01,31.36,2,8.81,12.074894163110672,4,2,2,3,2,1,0,0,1,false,true,true,false,0.14576416,0,4,1,2,3,2,true,"0_tours",0,1196298 +24,58300,2,2,1,1,0.01,58.3,2,8.81,10.4823297442415,1,2,2,0,0,0,0,0,0,false,true,true,false,0.12962,0,2,2,0,0,2,true,"0_tours",0,1363467 +16,21000,3,1,1,2,0.01,21,1,6.01,5.098171219655474,1,2,2,1,0,1,0,0,0,false,true,true,false,0.28337085,0,3,2,0,1,3,true,"0_tours",0,386761 +9,133000,2,1,0,2,0.01,133,4,12.86,6.387619611064064,0,2,2,0,0,0,0,0,0,false,true,true,false,0.30083168,0,2,2,0,0,2,true,"0_tours",0,2223027 +7,0,1,0,0,0,0.01,0,1,6.01,3.0402011627479264,1,1,1,0,0,0,0,0,0,false,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,2832182 +20,118800,2,1,1,2,0.01,118.8,4,12.86,21.606392235487583,0,2,2,0,0,0,0,0,0,false,true,true,false,0.26,0,2,2,0,0,2,true,"0_tours",0,2727273 +14,60000,1,4,0,1,0.01,60,2,8.81,4.0074881716523025,0,1,1,0,0,0,0,0,0,true,false,true,false,0.13325916,0,0,0,0,0,0,false,"0_tours",0,1444715 +16,18000,1,6,1,1,0.01,18,1,6.01,2.647107057372401,0,1,1,0,0,0,0,0,0,true,false,true,false,0.23449998,0,1,1,0,0,1,false,"0_tours",0,112064 +14,61900,1,4,1,1,0.01,61.9,3,10.44,2.5980714149446418,0,1,1,0,0,0,0,0,0,true,false,true,false,0.08287584,0,1,1,0,0,1,false,"0_tours",0,1952792 +16,144100,2,1,0,2,0.01,144.1,4,12.86,7.408554295817758,0,2,2,0,0,0,0,0,2,false,true,true,false,0.4657992,0,2,2,0,0,2,true,"1_Eat",1,2223759 +8,0,1,0,0,1,0.01,0,1,6.01,2.467783203776223,0,1,1,0,0,0,0,1,0,false,false,true,false,0.11770582,0,0,0,0,0,0,false,"0_tours",0,2820538 +10,24000,1,4,0,0,0.01,24,1,6.01,5.584662029883316,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,27726 +21,1500,1,4,0,0,0.01,1.5,1,6.01,10.364201291815256,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,0,0,0,0,0,false,"0_tours",0,570454 +21,18000,3,2,0,1,0.01,18,1,6.01,4.005080218193281,2,2,2,1,0,1,0,1,0,false,true,true,false,0.1529925,0,1,0,0,1,1,false,"0_tours",0,370497 +8,45000,4,1,1,0,0.01,45,2,8.81,2.9767301704144296,4,2,2,2,0,2,0,0,0,false,true,true,false,0,0,4,2,0,2,4,true,"1_Shop",1,1173905 +11,30000,1,4,1,0,0.01,30,1,6.01,3.6040501851984663,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,1286557 +20,0,1,0,0,0,0.01,0,1,6.01,6.660210105218662,1,1,1,0,0,0,0,0,0,false,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,2762078 +16,0,1,0,1,0,0.01,0,1,6.01,7.951880936376377,1,1,1,0,0,0,0,0,0,false,false,true,false,0,0,0,0,0,0,0,false,"0_tours",0,2832429 +7,21000,3,1,0,2,0.01,21,1,6.01,4.590650730864872,1,2,2,1,0,1,0,0,0,false,true,true,false,0.2743725,0,3,2,0,1,3,true,"0_tours",0,386699 +8,0,1,0,1,1,0.01,0,1,6.01,10.786630771770398,0,1,1,0,0,0,0,0,0,false,false,true,false,0.10683333,0,1,1,0,0,1,false,"0_tours",0,2822097 +9,34630,1,4,1,0,0.01,34.63,2,8.81,7.593970066915795,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,764150 +8,0,1,0,1,1,0.01,0,1,6.01,1.8304507502262177,0,1,1,0,0,0,0,0,0,false,false,true,false,0.15995501,0,1,1,0,0,1,false,"0_tours",0,2820774 +10,69200,2,1,0,2,0.01,69.2,3,10.44,17.6624037989451,0,2,2,0,0,0,0,0,2,false,true,true,false,0.23833334,0,2,2,0,0,2,true,"0_tours",0,1594621 +16,12000,2,7,0,2,0.01,12,1,6.01,8.417809979092251,0,2,2,0,0,0,0,2,0,true,false,true,false,0.3178517,0,2,2,0,0,2,true,"0_tours",0,257531 +9,92700,2,3,0,0,0.01,92.7,3,10.44,11.518178930487295,2,1,1,1,0,1,0,0,0,false,true,true,false,0,1,2,1,0,1,2,true,"0_tours",0,1645132 +17,4200,1,4,0,0,0.01,4.2,1,6.01,4.768890669889258,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,29625 +25,37200,4,1,1,4,0.01,37.2,2,8.81,10.32100270756728,0,4,4,0,0,0,0,2,0,false,true,true,false,0.56286997,0,4,4,0,0,4,true,"1_Disc",1,1402945 +12,30000,1,4,0,1,0.01,30,1,6.01,4.360890352038947,0,1,1,0,0,0,0,0,0,true,false,true,false,0.06425,0,1,1,0,0,1,false,"0_tours",0,823501 +16,76000,3,1,0,2,0.01,76,3,10.44,15.5812014089547,1,2,2,1,0,1,0,0,0,false,true,true,false,0.3402317,0,3,2,0,1,3,true,"0_tours",0,1747467 +17,68000,1,6,0,1,0.01,68,3,10.44,7.595766438703255,0,1,1,0,0,0,0,0,0,true,false,true,false,0.31015667,0,1,1,0,0,1,false,"0_tours",0,1445222 +8,3500,1,4,0,0,0.01,3.5,1,6.01,41.95868930639066,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,26844 +8,0,1,0,0,1,0.01,0,1,6.01,2.9220038814547133,0,1,1,0,0,0,0,1,0,false,false,true,false,0.12387166,0,1,1,0,0,1,false,"0_tours",0,2822219 +16,5050,1,4,0,1,0.01,5.05,1,6.01,3.9205668642399836,0,1,1,0,0,0,0,0,1,true,false,true,false,0.35884497,0,0,0,0,0,0,false,"0_tours",0,110675 +5,388000,1,4,0,1,0.01,388,4,12.86,6.218529751813423,0,1,1,0,0,0,0,0,0,true,false,true,false,0.26293832,0,1,1,0,0,1,false,"0_tours",0,2048204 +8,34400,1,6,0,0,0.01,34.4,2,8.81,11.48239030277669,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,1286259 +17,8000,1,4,1,0,0.01,8,1,6.01,7.32202829064968,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,568785 +8,0,1,4,0,0,0.01,0,1,6.01,2.84310444200838,1,1,1,0,0,0,0,0,0,true,false,true,false,0,0,1,1,0,0,1,false,"0_tours",0,26686 +8,88600,2,1,0,1,0.01,88.6,3,10.44,4.2960940332239455,1,2,2,0,0,0,0,0,0,false,true,true,false,0.1417767,0,2,2,0,0,2,true,"0_tours",0,1511234 +7,195000,1,4,0,1,0.01,195,4,12.86,8.219354788406312,0,1,1,0,0,0,0,0,1,true,false,true,false,0.15494083,0,1,1,0,0,1,false,"0_tours",0,2048382 +10,27800,2,7,0,2,0.01,27.8,1,6.01,1.5416062020885206,0,2,2,0,0,0,0,2,0,true,false,true,false,0.29182667,0,1,1,0,0,1,false,"0_tours",0,256660 +25,17210,2,1,1,0,0.01,17.21,1,6.01,1.8372202530691708,2,2,2,0,0,0,0,0,0,false,true,true,false,0,0,2,2,0,0,2,true,"0_tours",0,703381 +9,4000,2,1,0,1,0.01,4,1,6.01,2.5758755480394475,1,2,2,0,0,0,0,0,2,false,true,true,false,0.23177332,0,2,2,0,0,2,true,"0_tours",0,226869 +11,50000,1,4,1,1,0.01,50,2,8.81,12.952762239760721,0,1,1,0,0,0,0,0,1,true,false,true,false,0.17517333,0,0,0,0,0,0,false,"0_tours",0,823426 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/final_joint_tour_participants.csv b/activitysim/estimation/test/test_edb_creation/survey_data/final_joint_tour_participants.csv new file mode 100644 index 0000000000..7e7029f731 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/final_joint_tour_participants.csv @@ -0,0 +1,8 @@ +"tour_id","household_id","person_id","participant_num","participant_id" +220958279,2223759,5389226,1,22095827901 +220958279,2223759,5389227,2,22095827902 +100798519,1173905,2458502,1,10079851903 +100798519,1173905,2458503,2,10079851904 +130727777,1402945,3188483,1,13072777702 +130727777,1402945,3188484,2,13072777703 +130727777,1402945,3188485,3,13072777704 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/final_persons.csv b/activitysim/estimation/test/test_edb_creation/survey_data/final_persons.csv new file mode 100644 index 0000000000..edfe675874 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/final_persons.csv @@ -0,0 +1,91 @@ +"household_id","age","PNUM","sex","pemploy","pstudent","ptype","age_16_to_19","age_16_p","adult","male","female","has_non_worker","has_retiree","has_preschool_kid","has_driving_kid","has_school_kid","has_full_time","has_part_time","has_university","student_is_employed","nonstudent_to_school","is_student","is_gradeschool","is_highschool","is_university","school_segment","is_worker","home_zone_id","value_of_time","school_zone_id","school_location_logsum","distance_to_school","roundtrip_auto_time_to_school","workplace_zone_id","workplace_location_logsum","distance_to_work","workplace_in_cbd","work_zone_area_type","roundtrip_auto_time_to_work","work_auto_savings","work_auto_savings_ratio","free_parking_at_work","cdap_activity","travel_active","under16_not_at_school","has_preschool_kid_at_home","has_school_kid_at_home","mandatory_tour_frequency","work_and_school_and_worker","work_and_school_and_student","num_mand","num_work_tours","num_joint_tours","non_mandatory_tour_frequency","num_non_mand","num_escort_tours","num_eatout_tours","num_shop_tours","num_maint_tours","num_discr_tours","num_social_tours","num_non_escort_tours","person_id" +26686,39,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,8,2.84310444200838,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,12,2,0,1,0,1,0,0,2,26686 +26844,51,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,8,41.95868930639066,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,2,1,0,0,0,0,0,1,1,26844 +27726,52,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,10,5.584662029883316,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,1,1,0,0,0,0,1,0,1,27726 +29625,61,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,17,4.768890669889258,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,29625 +110675,30,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,16,3.9205668642399836,-1,,,0,19,13.725626729995362,1.6,true,1,9.73,43.061398,0.35884497,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,110675 +112064,48,1,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,16,2.647107057372401,-1,,,0,21,15.492083174049057,0.96,true,1,5.26,28.139997,0.23449998,false,"N",true,false,false,false,"",false,false,0,0,0,17,2,0,0,1,0,1,0,2,112064 +226869,28,1,1,2,3,2,false,true,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,9,2.5758755480394475,-1,,,0,24,15.354599835527907,1.67,true,0,11.389999,27.812798,0.23177332,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,264107 +226869,27,2,2,3,3,4,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,false,9,2.5758755480394475,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,1,1,0,0,0,0,1,0,1,264108 +256660,22,1,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,10,1.5416062020885206,-1,,,0,1,14.098626830690556,1.57,true,0,10.940001,18.8746,0.15728833,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,323689 +256660,23,2,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,10,1.5416062020885206,-1,,,0,5,14.131499655555483,1.14,true,0,8.049999,16.1446,0.13453834,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,323690 +257531,22,1,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,16,8.417809979092251,-1,,,0,12,13.802811148472596,0.67,true,0,4.65,17.645102,0.14704251,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,325431 +257531,22,2,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,16,8.417809979092251,-1,,,0,2,13.787334502957885,0.66,true,0,5.0699997,20.4971,0.17080918,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,325432 +370497,52,1,1,2,3,2,false,true,true,true,false,false,false,false,true,true,false,false,false,false,false,false,false,false,false,0,true,21,4.005080218193281,-1,,,0,4,15.371088271013553,0.88,true,0,5.3900003,18.3591,0.1529925,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,595684 +370497,18,2,1,3,1,6,true,true,true,true,false,false,false,false,false,true,false,true,false,false,false,true,false,true,false,2,false,21,4.005080218193281,13,16.12477815830904,0.76,5.08,-1,,,false,,0,0,0,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,595685 +370497,14,3,2,4,1,7,false,false,false,false,true,false,false,false,true,false,false,true,false,false,false,true,true,false,false,1,false,21,2.6713885055349182,8,20.920595339763924,0.71,5.07,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,595686 +386699,47,1,1,2,3,2,false,true,true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,0,true,7,4.590650730864872,-1,,,0,12,15.426483631583249,0.77,true,0,4.81,14.3318,0.11943167,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,644290 +386699,43,2,2,1,3,1,false,true,true,false,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,0,true,7,4.590650730864872,-1,,,0,2,15.430078506697235,0.96,true,0,5.88,18.5929,0.15494083,false,"M",true,false,false,false,"work1",false,false,1,1,0,8,1,0,0,0,1,0,0,1,644291 +386699,7,3,1,4,1,7,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,true,true,false,false,1,false,7,3.0619640374868697,9,20.36118907767507,0.86,4.91,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,644292 +386761,47,1,1,2,3,2,false,true,true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,0,true,16,5.098171219655474,-1,,,0,4,15.590597722513333,0.68,true,0,4.63,17.6251,0.14687583,false,"M",true,false,false,false,"work1",false,false,1,1,0,41,3,1,0,0,1,1,0,2,644476 +386761,43,2,2,1,3,1,false,true,true,false,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,0,true,16,5.098171219655474,-1,,,0,15,15.601574170160411,0.47,true,0,3.3899999,16.379402,0.13649502,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,644477 +386761,7,3,1,4,1,7,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,true,true,false,false,1,false,16,3.4004802035102015,20,19.95067445224191,1.49,8.48,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,644478 +568785,80,1,1,3,3,5,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,17,7.32202829064968,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,1,1,0,0,0,0,1,0,1,1265898 +570454,85,1,1,3,3,5,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,21,10.364201291815256,-1,,,0,-1,,,false,,0,0,0,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,1267567 +703381,65,1,1,3,3,5,false,true,true,true,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,0,false,25,1.8372202530691708,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,1427193 +703381,69,2,2,3,3,5,false,true,true,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,0,false,25,1.8372202530691708,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,10,2,0,0,0,1,0,1,2,1427194 +763879,60,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,6,10.449019648473794,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,1572659 +764150,52,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,9,7.593970066915795,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,24,2,0,0,1,1,0,0,2,1572930 +823426,31,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,11,12.952762239760721,-1,,,0,2,15.565710510565173,1.02,true,0,6.81,21.0208,0.17517333,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,1632206 +823501,36,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,12,4.360890352038947,-1,,,0,13,15.700363517892352,0.24,true,0,1.89,7.7099996,0.06425,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,1632281 +824207,29,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,18,17.13534609189038,-1,,,0,4,13.53236354932943,1.26,true,0,7.3900003,22.4473,0.18706083,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,1632987 +982875,25,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,0,true,16,6.021274002645185,-1,,,0,10,15.590713009893207,1.61,true,0,9.91,30.3414,0.252845,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,1875721 +982875,25,2,2,2,2,3,false,true,true,false,true,false,false,false,false,false,true,false,false,true,false,true,false,false,true,3,true,16,6.021274002645185,13,12.760001421247718,0.46,2.99,4,15.603313124205917,0.68,true,0,4.63,17.6251,0.14687583,false,"N",true,false,false,false,"",false,false,0,0,0,4,1,0,1,0,0,0,0,1,1875722 +1099626,35,1,1,1,3,1,false,true,true,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,0,true,20,10.708809147889093,-1,,,0,2,13.499558028231366,1.63,true,0,10.13,31.752003,0.2646,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,2159057 +1099626,36,2,2,3,2,3,false,true,true,false,true,false,false,true,false,false,true,false,false,false,false,true,false,false,true,3,false,20,10.708809147889093,9,7.716620155624279,0.78,4.6,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,2159058 +1099626,3,3,1,4,1,8,false,false,false,true,false,false,false,false,false,false,true,false,true,false,false,true,true,false,false,1,false,20,7.142775701642026,20,10.16596170222939,0.23,1.4,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,2159059 +1173905,40,1,1,3,3,4,false,true,true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,0,false,8,2.9767301704144296,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,8,1,0,0,0,1,0,0,1,2458500 +1173905,42,2,2,3,3,4,false,true,true,false,true,true,false,false,false,true,false,false,false,false,false,false,false,false,false,0,false,8,2.9767301704144296,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,32,1,1,0,0,0,0,0,0,2458501 +1173905,12,3,2,4,1,7,false,false,false,false,true,true,false,false,false,true,false,false,false,false,false,true,true,false,false,1,false,8,1.9854790236664246,8,20.93607187982974,0.12,0.78,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,1,0,0,0,0,1,0,0,0,0,2458502 +1173905,9,4,1,4,1,7,false,false,false,true,false,true,false,false,false,true,false,false,false,false,false,true,true,false,false,1,false,8,1.9854790236664246,8,20.57860073687866,0.12,0.78,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,1,0,0,0,0,0,0,0,0,0,2458503 +1196298,36,1,1,1,3,1,false,true,true,true,false,true,false,true,false,true,false,false,false,false,false,false,false,false,false,0,true,25,12.074894163110672,-1,,,0,1,15.551818554287767,0.73,true,0,5.21,17.4917,0.14576416,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,2566698 +1196298,29,2,2,3,3,4,false,true,true,false,true,false,false,true,false,true,true,false,false,false,false,false,false,false,false,0,false,25,12.074894163110672,-1,,,0,-1,,,false,,0,0,0,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,2566699 +1196298,8,3,1,4,1,7,false,false,false,true,false,true,false,true,false,false,true,false,false,false,false,true,true,false,false,1,false,25,8.05395440679482,25,20.139937486434746,0.13,0.86,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,2566700 +1196298,4,4,2,4,1,8,false,false,false,false,true,true,false,true,false,true,true,false,false,false,false,true,true,false,false,1,false,25,8.05395440679482,3,20.285545324456304,0.41,3.5700002,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,2566701 +1196298,2,5,1,4,1,8,false,false,false,true,false,true,false,true,false,true,true,false,false,false,false,true,true,false,false,1,false,25,8.05395440679482,6,20.162884633511972,0.78,5.63,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,2566702 +1286259,67,1,2,3,3,5,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,8,11.48239030277669,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,17,2,0,0,1,0,1,0,2,2936550 +1286557,67,1,1,3,3,5,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,11,3.6040501851984663,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,5,2,0,1,0,0,1,0,2,2936848 +1363467,68,1,1,3,3,5,false,true,true,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,false,24,10.4823297442415,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,3061894 +1363467,63,2,2,2,3,2,false,true,true,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,0,true,24,10.4823297442415,-1,,,0,25,13.759441855802429,0.5,true,0,3.52,15.5543995,0.12962,false,"M",true,false,false,false,"work1",false,false,1,1,0,9,2,0,0,0,1,1,0,2,3061895 +1402945,66,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,0,true,25,10.32100270756728,-1,,,0,24,15.538000311308064,0.48,true,0,3.52,15.5543995,0.12962,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,3188482 +1402945,48,2,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,true,true,false,false,false,false,false,false,0,true,25,10.32100270756728,-1,,,0,2,15.531149525318941,0.45,true,0,3.4699998,17.33,0.14441666,false,"M",true,false,false,false,"work1",false,false,1,1,1,0,0,0,0,0,0,1,0,0,3188483 +1402945,22,3,2,2,2,3,false,true,true,false,true,false,false,false,false,false,false,true,true,true,false,true,false,false,true,3,true,25,10.32100270756728,13,11.401936182943931,0.91,7.08,2,15.547680085581693,0.45,true,0,3.4699998,17.33,0.14441666,false,"M",true,false,false,false,"work_and_school",true,true,2,1,1,0,0,0,0,0,0,0,0,0,3188484 +1402945,19,4,2,2,2,3,true,true,true,false,true,false,false,false,false,false,false,true,true,true,false,true,false,false,true,3,true,25,10.32100270756728,9,11.406264826287744,1.56,10.530001,2,15.533387802712083,0.45,true,0,3.4699998,17.33,0.14441666,false,"M",true,false,false,false,"work1",false,false,1,1,1,0,0,0,0,0,0,0,0,0,3188485 +1444715,42,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,14,4.0074881716523025,-1,,,0,8,13.89688636450196,1.18,true,0,8.18,15.9911,0.13325916,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,3232955 +1445222,43,1,2,1,3,1,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,17,7.595766438703255,-1,,,0,22,13.744452615299863,1.36,true,0,7.59,37.2188,0.31015667,false,"M",true,false,false,false,"work1",false,false,1,1,0,17,3,0,0,2,0,1,0,3,3233462 +1511234,53,1,2,1,3,1,false,true,true,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,0,true,8,4.2960940332239455,-1,,,0,1,13.81269859955603,1.05,true,0,7.6400003,17.013203,0.1417767,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,3328568 +1511234,61,2,1,3,2,3,false,true,true,true,false,false,false,false,false,false,true,false,false,false,false,true,false,false,true,3,false,8,4.2960940332239455,13,8.537371920112303,0.91,6.96,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,20,2,0,1,1,0,0,0,2,3328569 +1594621,31,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,10,17.6624037989451,-1,,,0,11,15.65673756421631,0.49,true,0,4.61,14.99,0.124916665,false,"M",true,false,false,false,"work1",false,false,1,1,0,1,1,0,0,0,0,1,0,1,3495342 +1594621,25,2,2,2,3,2,false,true,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,0,true,10,17.6624037989451,-1,,,0,9,15.663788754130458,0.49,true,0,2.79,13.610002,0.11341668,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,3495343 +1645132,56,1,2,3,2,3,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true,3,false,9,11.518178930487295,9,9.065704601782443,0.17,1.08,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,20,2,0,1,1,0,0,0,2,3596364 +1645132,13,2,2,4,1,7,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,true,true,false,false,1,false,9,7.682625346635026,10,10.997808724651822,0.33,2.79,-1,,,false,,0,0,0,false,"N",true,true,false,false,"",false,false,0,0,0,2,1,0,0,0,0,0,1,1,3596365 +1747467,36,1,2,1,3,1,false,true,true,false,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,0,true,16,15.5812014089547,-1,,,0,11,15.790768885585281,1.13,true,0,6.85,23.182701,0.19318917,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,3891102 +1747467,67,2,1,2,3,2,false,true,true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,0,true,16,15.5812014089547,-1,,,0,12,15.810492366417014,0.67,true,0,4.65,17.645102,0.14704251,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,3891103 +1747467,8,3,1,4,1,7,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,true,true,false,false,1,false,16,10.392661339772785,17,20.51958126009443,0.55,3.84,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,1,2,0,0,0,0,2,0,2,3891104 +1810015,29,1,1,3,2,3,false,true,true,true,false,true,false,true,true,false,true,true,false,false,false,true,false,false,true,3,false,16,3.705326363656352,12,10.535691561088802,0.67,4.65,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,4171615 +1810015,20,2,1,3,3,4,false,true,true,true,false,true,false,true,true,false,true,true,true,false,false,false,false,false,false,0,false,16,3.705326363656352,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,8,1,0,0,0,1,0,0,1,4171616 +1810015,27,3,1,1,3,1,false,true,true,true,false,true,false,true,true,false,true,true,true,false,false,false,false,false,false,0,true,16,3.705326363656352,-1,,,0,15,14.465318636285936,0.47,true,0,3.3899999,16.379402,0.13649502,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,4171617 +1810015,24,4,1,2,3,2,false,true,true,true,false,true,false,true,true,false,true,true,true,false,false,false,false,false,false,0,true,16,3.705326363656352,-1,,,0,13,14.461210466251647,0.46,true,0,2.99,15.41,0.12841667,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,4171618 +1810015,58,5,2,3,3,4,false,true,true,false,true,true,false,true,true,false,true,true,true,false,false,false,false,false,false,0,false,16,3.705326363656352,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,4171619 +1810015,3,6,2,4,1,8,false,false,false,false,true,true,false,false,true,false,true,true,true,false,false,true,true,false,false,1,false,16,2.4714526845587867,8,11.178622471450844,1.39,9.309999,-1,,,false,,0,0,0,false,"M",true,false,false,false,"school1",false,false,1,0,0,0,0,0,0,0,0,0,0,0,4171620 +1810015,19,7,2,2,1,6,true,true,true,false,true,true,false,true,false,false,true,true,true,true,false,true,false,true,false,2,true,16,3.705326363656352,13,7.554959896288849,0.46,2.99,22,14.475775585095361,1.01,true,0,5.84,25.505198,0.21254331,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,4171621 +1810015,31,8,2,3,3,4,false,true,true,false,true,true,false,true,true,false,true,true,true,false,false,false,false,false,false,0,false,16,3.705326363656352,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,4171622 +1810015,36,9,2,1,3,1,false,true,true,false,true,true,false,true,true,false,true,true,true,false,false,false,false,false,false,0,true,16,3.705326363656352,-1,,,0,21,14.455337491545183,0.96,true,1,5.26,28.139997,0.23449998,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,4171623 +1952792,74,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,14,2.5980714149446418,-1,,,0,12,15.708211617788441,0.45,true,0,3.15,9.945101,0.08287584,false,"M",true,false,false,false,"work1",false,false,1,1,0,9,2,0,0,0,1,1,0,2,4823797 +2048204,40,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,5,6.218529751813423,-1,,,0,23,14.004424311191945,1.46,true,1,9.16,31.552597,0.26293832,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,5057160 +2048382,33,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,7,8.219354788406312,-1,,,0,2,13.895050253457644,0.96,true,0,5.88,18.5929,0.15494083,false,"M",true,false,false,false,"work1",false,false,1,1,0,30,4,0,1,1,1,0,1,4,5057338 +2223027,49,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,0,true,9,6.387619611064064,-1,,,0,4,13.912084249194642,1.23,true,0,8.16,15.9552,0.13296,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,5387762 +2223027,39,2,2,1,3,1,false,true,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,0,true,9,6.387619611064064,-1,,,0,14,13.91744334490833,1.55,true,0,10.71,20.1446,0.16787167,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,5387763 +2223759,28,1,2,1,3,1,false,true,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,0,true,16,7.408554295817758,-1,,,0,1,14.01123384048398,0.51,true,0,3.73,17.6825,0.14735417,false,"M",true,false,false,false,"work1",false,false,1,1,1,0,0,0,1,0,0,0,0,0,5389226 +2223759,29,2,1,1,3,1,false,true,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,0,true,16,7.408554295817758,-1,,,0,23,14.01521677947659,1.21,true,1,8.01,38.2134,0.31844503,false,"M",true,false,false,false,"work1",false,false,1,1,1,0,0,0,0,0,0,0,0,0,5389227 +2727273,72,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,20,21.606392235487583,-1,,,0,20,13.845922250496361,0.23,true,1,1.4,7.7999997,0.065,false,"M",true,false,false,false,"work1",false,false,1,1,0,1,1,0,0,0,0,1,0,1,7305540 +2727273,62,2,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,0,true,20,21.606392235487583,-1,,,0,9,13.82908782269542,0.78,true,0,4.6,23.4,0.195,false,"M",true,false,false,false,"work2",false,false,2,2,0,0,0,0,0,0,0,0,0,0,7305541 +2762078,57,1,1,3,3,4,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,20,6.660210105218662,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,16,1,0,0,1,0,0,0,1,7453413 +2820538,18,1,1,2,3,2,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,8,2.467783203776223,-1,,,0,11,15.473764868535847,0.54,true,0,3.6,14.124699,0.11770582,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,7511873 +2820774,35,1,1,1,3,1,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,8,1.8304507502262177,-1,,,0,2,15.359656301391546,0.99,true,0,7.16,19.194601,0.15995501,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,7512109 +2821179,60,1,1,2,3,2,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,8,1,-1,,,0,22,15.316797175665155,1.43,true,0,9.67,22.914701,0.19095585,false,"N",true,false,false,false,"",false,false,0,0,0,22,3,0,1,1,0,0,1,3,7512514 +2822097,39,1,2,2,3,2,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,true,8,10.786630771770398,-1,,,0,7,15.586470857848573,0.25,true,0,2.38,12.82,0.10683333,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,7513432 +2822219,18,1,2,1,3,1,true,true,true,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,0,true,8,2.9220038814547133,-1,,,0,9,15.428749460641615,0.53,true,0,3.33,14.864599,0.12387166,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,7513554 +2822230,19,1,2,2,2,3,true,true,true,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,true,3,true,8,7.558195608572484,12,12.656259331864534,0.72,6.04,25,15.543074447856814,1.14,true,0,8.04,24.2457,0.20204751,false,"M",true,false,false,false,"work1",false,false,1,1,0,0,0,0,0,0,0,0,0,0,7513565 +2832182,87,1,2,3,3,5,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,7,3.0402011627479264,-1,,,0,-1,,,false,,0,0,0,false,"N",true,false,false,false,"",false,false,0,0,0,1,1,0,0,0,0,1,0,1,7523517 +2832429,93,1,2,3,3,5,false,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,0,false,16,7.951880936376377,-1,,,0,-1,,,false,,0,0,0,false,"H",false,false,false,false,"",false,false,0,0,0,0,0,0,0,0,0,0,0,0,7523764 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/final_tours.csv b/activitysim/estimation/test/test_edb_creation/survey_data/final_tours.csv new file mode 100644 index 0000000000..8dc5c1206a --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/final_tours.csv @@ -0,0 +1,118 @@ +"person_id","tour_type","tour_type_count","tour_type_num","tour_num","tour_count","tour_category","number_of_participants","destination","origin","household_id","tdd","start","end","duration","composition","destination_logsum","tour_mode","mode_choice_logsum","atwork_subtour_frequency","parent_tour_id","stop_frequency","primary_purpose","tour_id" +264107,"work",1,1,1,1,"mandatory",1,24,9,226869,49,7,19,12,"",,"WALK_LRF",5.706465236833864,"no_subtours",,"0out_0in","work",10828426 +323689,"work",1,1,1,1,"mandatory",1,1,10,256660,106,11,18,7,"",,"WALK_LRF",5.762750226520877,"no_subtours",,"0out_0in","work",13271288 +325431,"work",1,1,1,1,"mandatory",1,12,16,257531,47,7,17,10,"",,"TNC_SINGLE",5.877301554634767,"no_subtours",,"1out_3in","work",13342710 +595686,"school",1,1,1,1,"mandatory",1,8,21,370497,46,7,16,9,"",,"WALK_LOC",19.487029458680386,"",,"0out_0in","school",24423157 +644290,"work",1,1,1,1,"mandatory",1,12,7,386699,122,12,22,10,"",,"WALK_LOC",5.610320631120498,"no_subtours",,"0out_0in","work",26415929 +644291,"work",1,1,1,1,"mandatory",1,2,7,386699,47,7,17,10,"",,"WALK",5.650927738864148,"no_subtours",,"0out_0in","work",26415970 +644292,"school",1,1,1,1,"mandatory",1,9,7,386699,130,13,19,6,"",,"WALK_LRF",20.42262619148089,"",,"0out_1in","school",26416003 +644476,"work",1,1,1,1,"mandatory",1,4,16,386761,47,7,17,10,"",,"SHARED3FREE",1.761501686723627,"no_subtours",,"0out_0in","work",26423555 +644478,"school",1,1,1,1,"mandatory",1,20,16,386761,107,11,19,8,"",,"WALK_LRF",2.675051981340837,"",,"0out_0in","school",26423629 +1632281,"work",1,1,1,1,"mandatory",1,13,12,823501,49,7,19,12,"",,"TNC_SINGLE",5.737987317212601,"eat",,"0out_0in","work",66923560 +1632987,"work",1,1,1,1,"mandatory",1,4,18,824207,151,15,21,6,"",,"WALK_LRF",6.1374959346320095,"no_subtours",,"0out_0in","work",66952506 +1875721,"work",1,1,1,1,"mandatory",1,10,16,982875,64,8,18,10,"",,"WALK_LOC",0.9683784523915128,"no_subtours",,"0out_0in","work",76904600 +2159057,"work",1,1,1,1,"mandatory",1,2,20,1099626,48,7,18,11,"",,"WALK_LRF",-0.03845876909164505,"no_subtours",,"0out_1in","work",88521376 +2159058,"school",1,1,1,1,"mandatory",1,9,20,1099626,148,15,18,3,"",,"TAXI",0.525351958951068,"",,"0out_0in","univ",88521409 +2159059,"school",1,1,1,1,"mandatory",1,20,20,1099626,59,8,13,5,"",,"WALK",-0.2634059707184708,"",,"0out_0in","school",88521450 +2458502,"school",1,1,1,1,"mandatory",1,8,8,1173905,64,8,18,10,"",,"WALK",0.1992035348928025,"",,"1out_0in","school",100798613 +2458503,"school",1,1,1,1,"mandatory",1,8,8,1173905,60,8,14,6,"",,"WALK",0.2156875433576043,"",,"0out_0in","school",100798654 +2566698,"work",1,1,1,1,"mandatory",1,1,25,1196298,30,6,17,11,"",,"TNC_SINGLE",5.932545072370928,"no_subtours",,"0out_0in","work",105234657 +2566700,"school",1,1,1,1,"mandatory",1,25,25,1196298,45,7,15,8,"",,"WALK",18.287824829249224,"",,"0out_0in","school",105234731 +2566701,"school",1,1,1,1,"mandatory",1,3,25,1196298,59,8,13,5,"",,"WALK",19.073489619505818,"",,"0out_0in","school",105234772 +2566702,"school",1,1,1,1,"mandatory",1,6,25,1196298,120,12,20,8,"",,"WALK_LOC",18.510662532745897,"",,"0out_1in","school",105234813 +3061895,"work",1,1,1,1,"mandatory",1,25,24,1363467,26,6,13,7,"",,"WALK",0.2804129197266325,"no_subtours",,"0out_0in","work",125537734 +3188482,"work",1,1,1,1,"mandatory",1,24,25,1402945,63,8,17,9,"",,"WALK",2.249899545931642,"no_subtours",,"1out_0in","work",130727801 +3188483,"work",1,1,1,1,"mandatory",1,2,25,1402945,78,9,17,8,"",,"WALK_LOC",2.2185417162398577,"no_subtours",,"0out_0in","work",130727842 +3188484,"work",1,1,1,2,"mandatory",1,2,25,1402945,73,9,12,3,"",,"WALK_LOC",2.240731078612465,"no_subtours",,"0out_0in","work",130727883 +3188484,"school",1,1,2,2,"mandatory",1,13,25,1402945,155,16,17,1,"",,"WALK",3.181510470161417,"",,"0out_2in","univ",130727875 +3188485,"work",1,1,1,1,"mandatory",1,2,25,1402945,96,10,21,11,"",,"BIKE",2.1487334423330005,"no_subtours",,"1out_1in","work",130727924 +3233462,"work",1,1,1,1,"mandatory",1,22,17,1445222,53,7,23,16,"",,"TNC_SINGLE",5.922341860291894,"no_subtours",,"0out_0in","work",132571981 +3328568,"work",1,1,1,1,"mandatory",1,1,8,1511234,30,6,17,11,"",,"WALK_LRF",6.052905188790869,"no_subtours",,"0out_0in","work",136471327 +3495342,"work",1,1,1,1,"mandatory",1,11,10,1594621,46,7,16,9,"",,"WALK_LOC",6.106308966698332,"no_subtours",,"0out_0in","work",143309061 +3495343,"work",1,1,1,1,"mandatory",1,9,10,1594621,128,13,17,4,"",,"WALK",6.301543519645703,"eat",,"0out_0in","work",143309102 +3891102,"work",1,1,1,1,"mandatory",1,11,16,1747467,46,7,16,9,"",,"WALK_LOC",5.87041941077222,"no_subtours",,"0out_0in","work",159535221 +3891104,"school",1,1,1,1,"mandatory",1,17,16,1747467,44,7,14,7,"",,"WALK_LRF",20.477184369166057,"",,"0out_0in","school",159535295 +4171615,"school",1,1,1,1,"mandatory",1,12,16,1810015,124,13,13,0,"",,"WALK",2.9751655865930506,"",,"0out_0in","univ",171036246 +4171617,"work",1,1,1,1,"mandatory",1,15,16,1810015,79,9,18,9,"",,"WALK",1.6497477694001255,"no_subtours",,"1out_0in","work",171036336 +4171620,"school",1,1,1,1,"mandatory",1,8,16,1810015,45,7,15,8,"",,"WALK_LOC",1.0091399254943096,"",,"0out_0in","school",171036451 +4171623,"work",1,1,1,1,"mandatory",1,21,16,1810015,69,8,23,15,"",,"WALK",1.3627881263595452,"eat",,"1out_1in","work",171036582 +4823797,"work",1,1,1,1,"mandatory",1,12,14,1952792,103,11,15,4,"",,"BIKE",-0.4317170835900537,"no_subtours",,"0out_0in","work",197775716 +5057160,"work",1,1,1,1,"mandatory",1,23,5,2048204,43,7,13,6,"",,"TNC_SINGLE",5.760634465125435,"no_subtours",,"0out_0in","work",207343599 +5057338,"work",1,1,1,1,"mandatory",1,2,7,2048382,30,6,17,11,"",,"TNC_SINGLE",5.899143436225317,"no_subtours",,"0out_0in","work",207350897 +5387762,"work",1,1,1,1,"mandatory",1,4,9,2223027,47,7,17,10,"",,"WALK_HVY",6.208077244952496,"no_subtours",,"0out_0in","work",220898281 +5387763,"work",1,1,1,1,"mandatory",1,14,9,2223027,63,8,17,9,"",,"WALK_HVY",6.045289166977812,"no_subtours",,"1out_1in","work",220898322 +5389226,"work",1,1,1,1,"mandatory",1,1,16,2223759,79,9,18,9,"",,"WALK",5.842396021294293,"eat",,"0out_0in","work",220958305 +5389227,"work",1,1,1,1,"mandatory",1,23,16,2223759,33,6,20,14,"",,"WALK",5.866576082823254,"no_subtours",,"0out_0in","work",220958346 +7305540,"work",1,1,1,1,"mandatory",1,20,20,2727273,103,11,15,4,"",,"DRIVEALONEFREE",1.9004730948098723,"no_subtours",,"0out_0in","work",299527179 +7305541,"work",2,1,1,2,"mandatory",1,9,20,2727273,26,6,13,7,"",,"WALK",1.920480893206963,"no_subtours",,"0out_0in","work",299527220 +7305541,"work",2,2,2,2,"mandatory",1,9,20,2727273,139,14,18,4,"",,"WALK",1.9391010189034459,"no_subtours",,"0out_0in","work",299527221 +7512109,"work",1,1,1,1,"mandatory",1,2,8,2820774,65,8,19,11,"",,"WALK",-0.14126603138986757,"eat",,"0out_2in","work",307996508 +7513432,"work",1,1,1,1,"mandatory",1,7,8,2822097,10,5,15,10,"",,"BIKE",0.2843400004991259,"no_subtours",,"0out_0in","work",308050751 +7513554,"work",1,1,1,1,"mandatory",1,9,8,2822219,11,5,16,11,"",,"WALK",5.610133706923624,"no_subtours",,"0out_0in","work",308055753 +7513565,"work",1,1,1,1,"mandatory",1,25,8,2822230,79,9,18,9,"",,"WALK",5.728223421490162,"no_subtours",,"1out_0in","work",308056204 +5389226,"eatout",1,1,1,1,"joint",2,13,16,2223759,180,20,20,0,"adults",15.700851700188215,"WALK",0.10567890761343558,"",,"0out_0in","eatout",220958279 +2458502,"shopping",1,1,1,1,"joint",2,5,8,1173905,54,8,8,0,"children",13.054650480322216,"SHARED2FREE",-0.5111781667673684,"",,"0out_0in","shopping",100798519 +3188483,"othdiscr",1,1,1,1,"joint",3,24,25,1402945,70,9,9,0,"adults",14.684837106261803,"WALK",-2.2633078286768997,"",,"0out_0in","othdiscr",130727777 +26686,"othmaint",1,1,1,2,"non_mandatory",1,9,8,26686,113,12,13,1,"",15.128287261384761,"BIKE",1.8681013354742215,"",,"0out_0in","othmaint",1094154 +26686,"eatout",1,1,2,2,"non_mandatory",1,5,8,26686,175,19,19,0,"",15.839748033438521,"WALK",4.389345460274684,"",,"0out_0in","eatout",1094132 +26844,"social",1,1,1,1,"non_mandatory",1,7,8,26844,58,8,12,4,"",14.80937948982704,"WALK",2.3971996226244454,"",,"0out_1in","social",1100640 +27726,"othdiscr",1,1,1,1,"non_mandatory",1,9,10,27726,56,8,10,2,"",15.385947148348619,"WALK",2.8054735464903384,"",,"0out_0in","othdiscr",1136791 +29625,"shopping",1,1,1,1,"non_mandatory",1,17,17,29625,145,15,15,0,"",14.097979049989863,"WALK",2.197070314899941,"",,"0out_0in","shopping",1214658 +112064,"shopping",1,1,1,2,"non_mandatory",1,3,16,112064,155,16,17,1,"",12.863310046769188,"WALK",-0.45236824043048446,"",,"0out_0in","shopping",4594657 +112064,"othdiscr",1,1,2,2,"non_mandatory",1,21,16,112064,114,12,14,2,"",14.175152333791747,"DRIVEALONEFREE",-0.2059367766627193,"",,"0out_0in","othdiscr",4594649 +264108,"othdiscr",1,1,1,1,"non_mandatory",1,19,9,226869,86,10,11,1,"",15.408950294845221,"WALK",1.5151852085832618,"",,"0out_0in","othdiscr",10828453 +325432,"shopping",1,1,1,1,"non_mandatory",1,14,16,257531,113,12,13,1,"",14.164245179577405,"TAXI",2.245802766560401,"",,"0out_0in","shopping",13342745 +644291,"othmaint",1,1,1,1,"non_mandatory",1,2,7,386699,179,19,23,4,"",15.115958969714466,"TNC_SINGLE",1.8502335907456067,"",,"0out_0in","othmaint",26415959 +644476,"escort",1,1,1,3,"non_mandatory",1,11,16,386761,1,5,6,1,"",12.795273575389468,"TNC_SINGLE",-0.7934297704888018,"",,"0out_0in","escort",26423525 +644476,"othmaint",1,1,2,3,"non_mandatory",1,13,16,386761,170,18,19,1,"",14.239645494444684,"WALK",0.5448752034137055,"",,"0out_0in","othmaint",26423544 +644476,"othdiscr",1,1,3,3,"non_mandatory",1,16,16,386761,169,18,18,0,"",14.73709932540282,"WALK",1.901940250188323,"",,"0out_0in","othdiscr",26423541 +644477,"shopping",1,1,1,1,"non_mandatory",1,16,16,386761,135,14,14,0,"",13.817208967526978,"DRIVEALONEFREE",1.9264575100035397,"",,"0out_0in","shopping",26423590 +1265898,"othdiscr",1,1,1,1,"non_mandatory",1,20,17,568785,81,9,20,11,"",14.038862408841926,"WALK_LRF",-0.5585556103261583,"",,"0out_0in","othdiscr",51901843 +1427193,"shopping",1,1,1,1,"non_mandatory",1,14,25,703381,130,13,19,6,"",12.69331890781131,"WALK",-1.0811369726727758,"",,"0out_0in","shopping",58514946 +1427194,"othmaint",1,1,1,2,"non_mandatory",1,14,25,703381,43,7,13,6,"",13.942750115929014,"WALK",-0.9941329062085063,"",,"0out_0in","othmaint",58514982 +1427194,"social",1,1,2,2,"non_mandatory",1,2,25,703381,160,16,22,6,"",13.77700865100175,"WALK",1.0801844297966243,"",,"1out_3in","social",58514990 +1572659,"shopping",1,1,1,1,"non_mandatory",1,24,6,763879,50,7,20,13,"",12.944687277006528,"WALK",-0.5346597893073812,"",,"2out_2in","shopping",64479052 +1572930,"shopping",1,1,1,2,"non_mandatory",1,7,9,764150,104,11,16,5,"",12.871444186599586,"WALK",-0.15716862120827904,"",,"0out_0in","shopping",64490163 +1572930,"othmaint",1,1,2,2,"non_mandatory",1,9,9,764150,57,8,11,3,"",14.115990694346833,"WALK",0.5775008727356886,"",,"1out_0in","othmaint",64490158 +1875722,"eatout",1,1,1,1,"non_mandatory",1,14,16,982875,92,10,17,7,"",14.382991219857317,"WALK",2.162753491521419,"",,"1out_0in","eatout",76904608 +2458500,"othmaint",1,1,1,1,"non_mandatory",1,7,8,1173905,120,12,20,8,"",14.167855032527061,"WALK",0.38559056447197426,"",,"0out_0in","othmaint",100798528 +2458501,"escort",1,1,1,1,"non_mandatory",1,16,8,1173905,146,15,16,1,"",12.678877131453035,"WALK_LOC",-1.932482226653213,"",,"0out_0in","escort",100798550 +2936550,"shopping",1,1,1,2,"non_mandatory",1,11,8,1286259,113,12,13,1,"",14.329923645050131,"WALK",2.380720675067925,"",,"0out_0in","shopping",120398583 +2936550,"othdiscr",1,1,2,2,"non_mandatory",1,6,8,1286259,138,14,17,3,"",15.563753675610899,"WALK",2.937756877729721,"",,"0out_0in","othdiscr",120398575 +2936848,"othdiscr",1,1,1,2,"non_mandatory",1,11,11,1286557,146,15,16,1,"",14.200096334451901,"DRIVEALONEFREE",0.6742944281956302,"",,"1out_0in","othdiscr",120410793 +2936848,"eatout",1,1,2,2,"non_mandatory",1,9,11,1286557,136,14,15,1,"",13.618742937074572,"DRIVEALONEFREE",0.6916712958119103,"",,"0out_0in","eatout",120410774 +3061894,"shopping",1,1,1,1,"non_mandatory",1,20,24,1363467,113,12,13,1,"",12.936400847846238,"DRIVEALONEFREE",-0.419345072964738,"",,"0out_0in","shopping",125537687 +3061895,"othmaint",1,1,1,2,"non_mandatory",1,7,24,1363467,146,15,16,1,"",14.06003170940918,"WALK",-0.16195911293846704,"",,"0out_0in","othmaint",125537723 +3061895,"othdiscr",1,1,2,2,"non_mandatory",1,9,24,1363467,164,17,19,2,"",14.089291551343601,"WALK_HVY",0.30873285639026604,"",,"0out_0in","othdiscr",125537720 +3233462,"shopping",2,1,1,3,"non_mandatory",1,16,17,1445222,19,6,6,0,"",14.283234710901684,"WALK_LRF",2.5866729381679985,"",,"0out_0in","shopping",132571975 +3233462,"shopping",2,2,2,3,"non_mandatory",1,13,17,1445222,37,7,7,0,"",14.291671919294387,"WALK_LOC",1.7366283594420195,"",,"0out_0in","shopping",132571976 +3233462,"othdiscr",1,1,3,3,"non_mandatory",1,14,17,1445222,37,7,7,0,"",15.3475060062512,"WALK_LRF",2.5704471563279228,"",,"0out_0in","othdiscr",132571967 +3328569,"shopping",1,1,1,2,"non_mandatory",1,4,8,1511234,85,10,10,0,"",14.125733968656233,"WALK_LRF",2.38356074513733,"",,"1out_0in","shopping",136471362 +3328569,"eatout",1,1,2,2,"non_mandatory",1,13,8,1511234,137,14,16,2,"",15.597840009148284,"WALK_LRF",3.672048876588288,"",,"0out_0in","eatout",136471335 +3495342,"othdiscr",1,1,1,1,"non_mandatory",1,15,10,1594621,160,16,22,6,"",15.508505478543945,"TNC_SINGLE",2.3148522693391618,"",,"0out_0in","othdiscr",143309047 +3596364,"shopping",1,1,1,2,"non_mandatory",1,22,9,1645132,176,19,20,1,"",14.363714390192708,"WALK_LRF",2.3452602538930165,"",,"0out_2in","shopping",147450957 +3596364,"eatout",1,1,2,2,"non_mandatory",1,5,9,1645132,135,14,14,0,"",15.40958622642079,"WALK",3.8915091275806684,"",,"0out_0in","eatout",147450930 +3596365,"social",1,1,1,1,"non_mandatory",1,9,9,1645132,48,7,18,11,"",14.542235377439113,"TAXI",1.8197268535726026,"",,"0out_0in","social",147451001 +3891103,"shopping",1,1,1,1,"non_mandatory",1,16,16,1747467,127,13,16,3,"",14.345132902591203,"WALK",2.410899830438007,"",,"0out_0in","shopping",159535256 +3891104,"othdiscr",2,1,1,2,"non_mandatory",1,2,16,1747467,136,14,15,1,"",15.50230775562424,"WALK",2.706012062287055,"",,"0out_0in","othdiscr",159535289 +3891104,"othdiscr",2,2,2,2,"non_mandatory",1,19,16,1747467,159,16,21,5,"",15.496659202926004,"WALK_LOC",1.4568065331937983,"",,"0out_0in","othdiscr",159535290 +4171616,"othmaint",1,1,1,1,"non_mandatory",1,3,16,1810015,72,9,11,2,"",14.289824837336404,"WALK",0.18665328796358552,"",,"0out_0in","othmaint",171036284 +4171619,"shopping",1,1,1,1,"non_mandatory",1,1,16,1810015,126,13,15,2,"",13.640567650511668,"WALK",0.9902753937389079,"",,"0out_1in","shopping",171036412 +4171622,"shopping",1,1,1,1,"non_mandatory",1,19,16,1810015,76,9,15,6,"",13.569454077979632,"WALK",-0.6999014421153607,"",,"0out_0in","shopping",171036535 +4823797,"othmaint",1,1,1,2,"non_mandatory",1,7,14,1952792,145,15,15,0,"",14.077945771016731,"DRIVEALONEFREE",0.09809762893266673,"",,"0out_0in","othmaint",197775705 +4823797,"othdiscr",1,1,2,2,"non_mandatory",1,16,14,1952792,156,16,18,2,"",14.148349302926023,"WALK",0.3783571737852308,"",,"0out_0in","othdiscr",197775702 +5057338,"shopping",1,1,1,4,"non_mandatory",1,25,7,2048382,184,21,21,0,"",14.255205007211757,"WALK_LOC",2.101189166034452,"",,"0out_0in","shopping",207350891 +5057338,"othmaint",1,1,2,4,"non_mandatory",1,7,7,2048382,169,18,18,0,"",15.398681601999414,"WALK",2.251684017727115,"",,"0out_0in","othmaint",207350886 +5057338,"eatout",1,1,3,4,"non_mandatory",1,10,7,2048382,180,20,20,0,"",15.673355298407246,"WALK_LRF",3.815469226012807,"",,"0out_0in","eatout",207350864 +5057338,"social",1,1,4,4,"non_mandatory",1,6,7,2048382,170,18,19,1,"",14.470705576395908,"TNC_SINGLE",2.092887419244588,"",,"0out_0in","social",207350894 +7305540,"othdiscr",1,1,1,1,"non_mandatory",1,12,20,2727273,151,15,21,6,"",14.631393485472051,"WALK",0.703051223685245,"",,"0out_0in","othdiscr",299527165 +7453413,"shopping",1,1,1,1,"non_mandatory",1,19,20,2762078,154,16,16,0,"",13.96782273443678,"WALK",1.8263069979086812,"",,"0out_0in","shopping",305589966 +7512514,"shopping",1,1,1,3,"non_mandatory",1,6,8,2821179,164,17,19,2,"",13.761715627405522,"WALK",1.777915016124194,"",,"0out_0in","shopping",308013107 +7512514,"eatout",1,1,2,3,"non_mandatory",1,13,8,2821179,62,8,16,8,"",15.672503858155086,"WALK",3.4520753953932997,"",,"0out_0in","eatout",308013080 +7512514,"social",1,1,3,3,"non_mandatory",1,9,8,2821179,154,16,16,0,"",13.986153838122636,"WALK_LOC",1.0884935003375935,"",,"0out_0in","social",308013110 +7523517,"othdiscr",1,1,1,1,"non_mandatory",1,9,7,2832182,59,8,13,5,"",15.215939189600421,"WALK_LOC",2.3087491550483623,"",,"0out_0in","othdiscr",308464222 +1632281,"eat",1,1,1,1,"atwork",1,8,13,823501,125,13,14,1,"",15.947502350236292,"WALK",5.269628441312229,"",66923560,"1out_0in","atwork",66923525 +3495343,"eat",1,1,1,1,"atwork",1,16,9,1594621,135,14,14,0,"",15.54410431803647,"WALK",4.189553929647487,"",143309102,"3out_0in","atwork",143309067 +4171623,"eat",1,1,1,1,"atwork",1,7,21,1810015,85,10,10,0,"",12.96349084109601,"WALK",-0.21208714075218113,"",171036582,"0out_1in","atwork",171036547 +5389226,"eat",1,1,1,1,"atwork",1,2,1,2223759,124,13,13,0,"",15.712981796209124,"WALK",6.339068060891636,"",220958305,"0out_0in","atwork",220958270 +7512109,"eat",1,1,1,1,"atwork",1,8,2,2820774,85,10,10,0,"",20.633672564068426,"WALK",-0.4712382999322044,"",307996508,"0out_1in","atwork",307996473 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/final_trips.csv b/activitysim/estimation/test/test_edb_creation/survey_data/final_trips.csv new file mode 100644 index 0000000000..e7075be5ec --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/final_trips.csv @@ -0,0 +1,278 @@ +"person_id","household_id","primary_purpose","trip_num","outbound","trip_count","destination","origin","tour_id","purpose","destination_logsum","depart","trip_mode","mode_choice_logsum","trip_id" +26686,26686,"eatout",1,true,1,5,8,1094132,"eatout",,19,"WALK",4.457539268772517,8753057 +26686,26686,"eatout",1,false,1,8,5,1094132,"home",,19,"WALK",4.457539268092902,8753061 +26686,26686,"othmaint",1,true,1,9,8,1094154,"othmaint",,12,"BIKE",6.898149355436168,8753233 +26686,26686,"othmaint",1,false,1,8,9,1094154,"home",,13,"WALK",6.898149355330578,8753237 +26844,26844,"social",1,true,1,7,8,1100640,"social",,8,"WALK",8.97158319245669,8805121 +26844,26844,"social",1,false,2,7,7,1100640,"othmaint",43.13165717387488,12,"WALK",9.041583184270134,8805125 +26844,26844,"social",2,false,2,8,7,1100640,"home",,12,"WALK",8.789583223221504,8805126 +27726,27726,"othdiscr",1,true,1,9,10,1136791,"othdiscr",,8,"WALK",10.602053625992742,9094329 +27726,27726,"othdiscr",1,false,1,10,9,1136791,"home",,10,"WALK",10.780613609497287,9094333 +29625,29625,"shopping",1,true,1,17,17,1214658,"shopping",,15,"WALK",6.232122380537646,9717265 +29625,29625,"shopping",1,false,1,17,17,1214658,"home",,15,"WALK",6.232122380537646,9717269 +112064,112064,"othdiscr",1,true,1,21,16,4594649,"othdiscr",,12,"WALK",2.1507947003355725,36757193 +112064,112064,"othdiscr",1,false,1,16,21,4594649,"home",,14,"TAXI",2.361929055638584,36757197 +112064,112064,"shopping",1,true,1,3,16,4594657,"shopping",,16,"WALK",9.171843929425059,36757257 +112064,112064,"shopping",1,false,1,16,3,4594657,"home",,17,"WALK",8.920744017488841,36757261 +264107,226869,"work",1,true,1,24,9,10828426,"work",,7,"WALK_LRF",2.4072481834219825,86627409 +264107,226869,"work",1,false,1,9,24,10828426,"home",,19,"WALK_LRF",2.64270709783459,86627413 +264108,226869,"othdiscr",1,true,1,19,9,10828453,"othdiscr",,10,"WALK",-0.8882719505294207,86627625 +264108,226869,"othdiscr",1,false,1,9,19,10828453,"home",,11,"WALK",-1.083555087607077,86627629 +323689,256660,"work",1,true,1,1,10,13271288,"work",,11,"WALK_LRF",-0.011824703285233131,106170305 +323689,256660,"work",1,false,1,10,1,13271288,"home",,18,"WALK_LRF",-0.027352899414421275,106170309 +325431,257531,"work",1,true,2,25,16,13342710,"shopping",35.382763983172914,7,"WALK",10.195186294548499,106741681 +325431,257531,"work",2,true,2,12,25,13342710,"work",,8,"WALK",4.112435828979324,106741682 +325431,257531,"work",1,false,4,7,12,13342710,"eatout",38.563608123329665,17,"WALK",4.429198666616662,106741685 +325431,257531,"work",2,false,4,25,7,13342710,"shopping",49.069979336099856,17,"WALK_LOC",10.976833414968677,106741686 +325431,257531,"work",3,false,4,7,25,13342710,"escort",49.56683087980666,17,"WALK_LOC",10.645246813510491,106741687 +325431,257531,"work",4,false,4,16,7,13342710,"home",,17,"WALK",10.872836065437152,106741688 +325432,257531,"shopping",1,true,1,14,16,13342745,"shopping",,12,"WALK_LOC",1.5232643877229,106741961 +325432,257531,"shopping",1,false,1,16,14,13342745,"home",,13,"WALK_LOC",1.5693861133527638,106741965 +595686,370497,"school",1,true,1,8,21,24423157,"school",,7,"WALK_LOC",11.180762378631227,195385257 +595686,370497,"school",1,false,1,21,8,24423157,"home",,16,"WALK",11.113688275374244,195385261 +644290,386699,"work",1,true,1,12,7,26415929,"work",,12,"WALK_LOC",4.308779715277221,211327433 +644290,386699,"work",1,false,1,7,12,26415929,"home",,22,"WALK_LOC",4.332367558204261,211327437 +644291,386699,"othmaint",1,true,1,2,7,26415959,"othmaint",,19,"WALK_LOC",0.1926592887611779,211327673 +644291,386699,"othmaint",1,false,1,7,2,26415959,"home",,23,"TNC_SINGLE",0.2090608444298338,211327677 +644291,386699,"work",1,true,1,2,7,26415970,"work",,7,"WALK",-0.6047304841612396,211327761 +644291,386699,"work",1,false,1,7,2,26415970,"home",,17,"WALK",-0.5343416483077198,211327765 +644292,386699,"school",1,true,1,9,7,26416003,"school",,13,"WALK_LOC",9.76993799435511,211328025 +644292,386699,"school",1,false,2,7,9,26416003,"othdiscr",54.47702761519171,19,"WALK_LRF",11.717824347550579,211328029 +644292,386699,"school",2,false,2,7,7,26416003,"home",,19,"WALK",12.412237340788142,211328030 +644476,386761,"escort",1,true,1,11,16,26423525,"escort",,5,"WALK_LOC",4.78915841238078,211388201 +644476,386761,"escort",1,false,1,16,11,26423525,"home",,6,"WALK_LOC",5.050171287433509,211388205 +644476,386761,"othdiscr",1,true,1,16,16,26423541,"othdiscr",,18,"WALK",7.330879513166791,211388329 +644476,386761,"othdiscr",1,false,1,16,16,26423541,"home",,18,"WALK",7.330879513166791,211388333 +644476,386761,"othmaint",1,true,1,13,16,26423544,"othmaint",,18,"WALK",-0.4192505336997586,211388353 +644476,386761,"othmaint",1,false,1,16,13,26423544,"home",,19,"WALK",-0.41925030619506426,211388357 +644476,386761,"work",1,true,1,4,16,26423555,"work",,7,"SHARED2FREE",0.6984134734828816,211388441 +644476,386761,"work",1,false,1,16,4,26423555,"home",,17,"SHARED3FREE",-0.05867188910234502,211388445 +644477,386761,"shopping",1,true,1,16,16,26423590,"shopping",,14,"WALK",5.857453125014367,211388721 +644477,386761,"shopping",1,false,1,16,16,26423590,"home",,14,"WALK",5.857453125014367,211388725 +644478,386761,"school",1,true,1,20,16,26423629,"school",,11,"WALK_LOC",1.530044582582947,211389033 +644478,386761,"school",1,false,1,16,20,26423629,"home",,19,"WALK_LRF",3.76602489416099,211389037 +1265898,568785,"othdiscr",1,true,1,20,17,51901843,"othdiscr",,9,"WALK_LRF",2.7426144387101616,415214745 +1265898,568785,"othdiscr",1,false,1,17,20,51901843,"home",,20,"WALK_LRF",3.0312322271177115,415214749 +1427193,703381,"shopping",1,true,1,14,25,58514946,"shopping",,13,"WALK",0.41368191525132,468119569 +1427193,703381,"shopping",1,false,1,25,14,58514946,"home",,19,"WALK",0.20722357704976505,468119573 +1427194,703381,"othmaint",1,true,1,14,25,58514982,"othmaint",,7,"WALK",0.25954887271815646,468119857 +1427194,703381,"othmaint",1,false,1,25,14,58514982,"home",,13,"WALK",0.13005163957603907,468119861 +1427194,703381,"social",1,true,2,6,25,58514990,"eatout",23.804031444441073,16,"WALK",7.665909210409199,468119921 +1427194,703381,"social",2,true,2,2,6,58514990,"social",,19,"WALK",-0.11373619351391898,468119922 +1427194,703381,"social",1,false,4,6,2,58514990,"social",25.675224145070427,21,"WALK",-0.11373628500729509,468119925 +1427194,703381,"social",2,false,4,8,6,58514990,"shopping",36.086366516709475,22,"WALK",7.728909184292301,468119926 +1427194,703381,"social",3,false,4,7,8,58514990,"social",40.832427907262876,22,"WALK",7.751367569789609,468119927 +1427194,703381,"social",4,false,4,25,7,58514990,"home",,22,"WALK",8.429083086926186,468119928 +1572659,763879,"shopping",1,true,3,25,6,64479052,"othmaint",40.895784325733594,7,"WALK",12.896301701456215,515832417 +1572659,763879,"shopping",2,true,3,25,25,64479052,"escort",40.13139614585728,12,"WALK",13.621701652814899,515832418 +1572659,763879,"shopping",3,true,3,24,25,64479052,"shopping",,17,"WALK",3.0930067693134005,515832419 +1572659,763879,"shopping",1,false,3,25,24,64479052,"shopping",38.41713719577139,18,"WALK",3.0706867412992,515832421 +1572659,763879,"shopping",2,false,3,7,25,64479052,"escort",59.6309483835455,20,"WALK",12.807021629683366,515832422 +1572659,763879,"shopping",3,false,3,6,7,64479052,"home",,20,"WALK",14.258626224164276,515832423 +1572930,764150,"othmaint",1,true,2,7,9,64490158,"othmaint",38.76005910239585,8,"WALK",8.642583134383138,515921265 +1572930,764150,"othmaint",2,true,2,9,7,64490158,"othmaint",,8,"WALK",6.391034808672385,515921266 +1572930,764150,"othmaint",1,false,1,9,9,64490158,"home",,11,"WALK",6.874034571771074,515921269 +1572930,764150,"shopping",1,true,1,7,9,64490163,"shopping",,11,"WALK",13.778746190542957,515921305 +1572930,764150,"shopping",1,false,1,9,7,64490163,"home",,16,"WALK",13.622506184583505,515921309 +1632281,823501,"atwork",1,true,2,9,13,66923525,"work",52.01208618984001,13,"WALK",9.392493718811465,535388201 +1632281,823501,"atwork",2,true,2,8,9,66923525,"atwork",,13,"WALK",12.238334146563448,535388202 +1632281,823501,"atwork",1,false,1,13,8,66923525,"work",,14,"WALK",11.952574143723762,535388205 +1632281,823501,"work",1,true,1,13,12,66923560,"work",,7,"WALK",0.3452900411345135,535388481 +1632281,823501,"work",1,false,1,12,13,66923560,"home",,19,"WALK",0.29278490089518977,535388485 +1632987,824207,"work",1,true,1,4,18,66952506,"work",,15,"WALK_LOC",0.2992185756062765,535620049 +1632987,824207,"work",1,false,1,18,4,66952506,"home",,21,"WALK",0.5557332757868809,535620053 +1875721,982875,"work",1,true,1,10,16,76904600,"work",,8,"WALK_LOC",7.627291076037503,615236801 +1875721,982875,"work",1,false,1,16,10,76904600,"home",,18,"WALK_LOC",7.619393573928726,615236805 +1875722,982875,"eatout",1,true,2,7,16,76904608,"escort",33.332775271121825,10,"WALK",12.852466196970816,615236865 +1875722,982875,"eatout",2,true,2,14,7,76904608,"eatout",,13,"WALK",0.0679239371174617,615236866 +1875722,982875,"eatout",1,false,1,16,14,76904608,"home",,17,"WALK",0.9383092208675533,615236869 +2159057,1099626,"work",1,true,1,2,20,88521376,"work",,7,"WALK",-0.3540033864901755,708171009 +2159057,1099626,"work",1,false,2,8,2,88521376,"shopping",28.059656557964445,18,"WALK",0.34307389812569966,708171013 +2159057,1099626,"work",2,false,2,20,8,88521376,"home",,18,"WALK_LOC",9.930931452887558,708171014 +2159058,1099626,"univ",1,true,1,9,20,88521409,"univ",,15,"WALK_LOC",10.081589126967758,708171273 +2159058,1099626,"univ",1,false,1,20,9,88521409,"home",,18,"WALK_LOC",9.700222902924416,708171277 +2159059,1099626,"school",1,true,1,20,20,88521450,"school",,8,"WALK",2.001157626801728,708171601 +2159059,1099626,"school",1,false,1,20,20,88521450,"home",,13,"WALK",2.001157626801728,708171605 +2458502,1173905,"shopping",1,true,1,5,8,100798519,"shopping",,8,"SHARED2FREE",0.16957406666783342,806388153 +2458502,1173905,"shopping",1,false,1,8,5,100798519,"home",,8,"SHARED2FREE",0.1684460835975957,806388157 +2458500,1173905,"othmaint",1,true,1,7,8,100798528,"othmaint",,12,"WALK",8.971583091962668,806388225 +2458500,1173905,"othmaint",1,false,1,8,7,100798528,"home",,20,"WALK",8.789583098654154,806388229 +2458501,1173905,"escort",1,true,1,16,8,100798550,"escort",,15,"WALK_LOC",6.451456988932713,806388401 +2458501,1173905,"escort",1,false,1,8,16,100798550,"home",,16,"WALK_LOC",6.446188145342157,806388405 +2458502,1173905,"school",1,true,2,7,8,100798613,"social",55.65769426652772,8,"WALK",13.486637386215971,806388905 +2458502,1173905,"school",2,true,2,8,7,100798613,"school",,8,"WALK",11.315206418159061,806388906 +2458502,1173905,"school",1,false,1,8,8,100798613,"home",,18,"WALK",11.737966424070635,806388909 +2458503,1173905,"school",1,true,1,8,8,100798654,"school",,8,"WALK",11.737966424070635,806389233 +2458503,1173905,"school",1,false,1,8,8,100798654,"home",,14,"WALK",11.737966424070635,806389237 +2566698,1196298,"work",1,true,1,1,25,105234657,"work",,6,"WALK",0.5218384234138416,841877257 +2566698,1196298,"work",1,false,1,25,1,105234657,"home",,17,"WALK_LOC",0.4855336440096437,841877261 +2566700,1196298,"school",1,true,1,25,25,105234731,"school",,7,"WALK",12.824615869979219,841877849 +2566700,1196298,"school",1,false,1,25,25,105234731,"home",,15,"WALK",12.824615869979219,841877853 +2566701,1196298,"school",1,true,1,3,25,105234772,"school",,8,"WALK",8.979312480941104,841878177 +2566701,1196298,"school",1,false,1,25,3,105234772,"home",,13,"WALK",8.979312481086987,841878181 +2566702,1196298,"school",1,true,1,6,25,105234813,"school",,12,"WALK_LOC",11.70939586566571,841878505 +2566702,1196298,"school",1,false,2,25,6,105234813,"shopping",51.23589608925055,20,"WALK_LOC",11.23832543650178,841878509 +2566702,1196298,"school",2,false,2,25,25,105234813,"home",,20,"WALK",11.641815891720018,841878510 +2936550,1286259,"othdiscr",1,true,1,6,8,120398575,"othdiscr",,14,"WALK",12.612248980790358,963188601 +2936550,1286259,"othdiscr",1,false,1,8,6,120398575,"home",,17,"WALK",12.322089000527528,963188605 +2936550,1286259,"shopping",1,true,1,11,8,120398583,"shopping",,12,"WALK",4.840354366429668,963188665 +2936550,1286259,"shopping",1,false,1,8,11,120398583,"home",,13,"WALK",4.940794055372203,963188669 +2936848,1286557,"eatout",1,true,1,9,11,120410774,"eatout",,14,"WALK",9.079286100640175,963286193 +2936848,1286557,"eatout",1,false,1,11,9,120410774,"home",,15,"WALK",9.101568714168469,963286197 +2936848,1286557,"othdiscr",1,true,2,10,11,120410793,"escort",33.67980057651356,15,"WALK",8.178730791217355,963286345 +2936848,1286557,"othdiscr",2,true,2,11,10,120410793,"othdiscr",,16,"WALK",3.366293797308929,963286346 +2936848,1286557,"othdiscr",1,false,1,11,11,120410793,"home",,16,"WALK",3.65295752128872,963286349 +3061894,1363467,"shopping",1,true,1,20,24,125537687,"shopping",,12,"TNC_SHARED",0.10121955466253282,1004301497 +3061894,1363467,"shopping",1,false,1,24,20,125537687,"home",,13,"DRIVEALONEFREE",0.019236377431838474,1004301501 +3061895,1363467,"othdiscr",1,true,1,9,24,125537720,"othdiscr",,17,"WALK_HVY",11.684658026322639,1004301761 +3061895,1363467,"othdiscr",1,false,1,24,9,125537720,"home",,19,"WALK_LRF",11.49938905905555,1004301765 +3061895,1363467,"othmaint",1,true,1,7,24,125537723,"othmaint",,15,"WALK",8.131583343724042,1004301785 +3061895,1363467,"othmaint",1,false,1,24,7,125537723,"home",,16,"WALK",8.096583148991245,1004301789 +3061895,1363467,"work",1,true,1,25,24,125537734,"work",,6,"WALK",10.08552703351978,1004301873 +3061895,1363467,"work",1,false,1,24,25,125537734,"home",,13,"WALK",10.103127058632895,1004301877 +3188483,1402945,"othdiscr",1,true,1,24,25,130727777,"othdiscr",,9,"WALK",3.118711021135967,1045822217 +3188483,1402945,"othdiscr",1,false,1,25,24,130727777,"home",,9,"WALK",3.0963906344964696,1045822221 +3188482,1402945,"work",1,true,2,7,25,130727801,"work",34.564591307437105,8,"WALK",10.411761425965901,1045822409 +3188482,1402945,"work",2,true,2,24,7,130727801,"work",,9,"WALK",1.211444903376802,1045822410 +3188482,1402945,"work",1,false,1,25,24,130727801,"home",,17,"WALK",2.091377723899355,1045822413 +3188483,1402945,"work",1,true,1,2,25,130727842,"work",,9,"WALK",0.7316381092221191,1045822737 +3188483,1402945,"work",1,false,1,25,2,130727842,"home",,17,"WALK_LOC",0.6404115318186951,1045822741 +3188484,1402945,"univ",1,true,1,13,25,130727875,"univ",,16,"WALK",-1.5428778623620805,1045823001 +3188484,1402945,"univ",1,false,3,7,13,130727875,"shopping",30.41829198797714,17,"WALK",-1.4237492795265192,1045823005 +3188484,1402945,"univ",2,false,3,7,7,130727875,"othmaint",59.4490857231952,17,"WALK",13.5950373888898,1045823006 +3188484,1402945,"univ",3,false,3,25,7,130727875,"home",,17,"WALK",12.646537396714635,1045823007 +3188484,1402945,"work",1,true,1,2,25,130727883,"work",,9,"WALK",0.7316381092221191,1045823065 +3188484,1402945,"work",1,false,1,25,2,130727883,"home",,12,"WALK_LOC",0.5898827035401254,1045823069 +3188485,1402945,"work",1,true,2,25,25,130727924,"escort",29.779997197410285,10,"BIKE",10.416625527744298,1045823393 +3188485,1402945,"work",2,true,2,2,25,130727924,"work",,12,"BIKE",-0.019493094347113764,1045823394 +3188485,1402945,"work",1,false,2,7,2,130727924,"eatout",29.723531295459807,20,"BIKE",-0.21951892594579855,1045823397 +3188485,1402945,"work",2,false,2,25,7,130727924,"home",,21,"BIKE",10.648166757292298,1045823398 +3233462,1445222,"othdiscr",1,true,1,14,17,132571967,"othdiscr",,7,"WALK",1.8799351940528457,1060575737 +3233462,1445222,"othdiscr",1,false,1,17,14,132571967,"home",,7,"WALK_LOC",1.6549807020273366,1060575741 +3233462,1445222,"shopping",1,true,1,16,17,132571975,"shopping",,6,"WALK",7.8891489495492335,1060575801 +3233462,1445222,"shopping",1,false,1,17,16,132571975,"home",,6,"WALK_LRF",7.904205187610422,1060575805 +3233462,1445222,"shopping",1,true,1,13,17,132571976,"shopping",,7,"WALK_LOC",-0.15795552230629617,1060575809 +3233462,1445222,"shopping",1,false,1,17,13,132571976,"home",,7,"WALK_LOC",-0.22691611232387354,1060575813 +3233462,1445222,"work",1,true,1,22,17,132571981,"work",,7,"WALK_LRF",1.5282754769935067,1060575849 +3233462,1445222,"work",1,false,1,17,22,132571981,"home",,23,"TNC_SINGLE",1.793267333094202,1060575853 +3328568,1511234,"work",1,true,1,1,8,136471327,"work",,6,"WALK_LRF",0.24234305546243562,1091770617 +3328568,1511234,"work",1,false,1,8,1,136471327,"home",,17,"WALK",0.17155654756009,1091770621 +3328569,1511234,"eatout",1,true,1,13,8,136471335,"eatout",,14,"WALK",0.5773709562181402,1091770681 +3328569,1511234,"eatout",1,false,1,8,13,136471335,"home",,16,"WALK_LRF",1.098907001128995,1091770685 +3328569,1511234,"shopping",1,true,2,9,8,136471362,"eatout",33.74288275937864,10,"WALK_LOC",11.097623867544948,1091770897 +3328569,1511234,"shopping",2,true,2,4,9,136471362,"shopping",,10,"WALK_LRF",1.1309568013629243,1091770898 +3328569,1511234,"shopping",1,false,1,8,4,136471362,"home",,10,"WALK_LRF",1.3002912188200697,1091770901 +3495342,1594621,"othdiscr",1,true,1,15,10,143309047,"othdiscr",,16,"WALK_LOC",1.6922670564497784,1146472377 +3495342,1594621,"othdiscr",1,false,1,10,15,143309047,"home",,22,"WALK_LRF",1.7951585505312424,1146472381 +3495342,1594621,"work",1,true,1,11,10,143309061,"work",,7,"WALK_LOC",4.611533756385394,1146472489 +3495342,1594621,"work",1,false,1,10,11,143309061,"home",,16,"WALK",4.609280148452949,1146472493 +3495343,1594621,"atwork",1,true,4,6,9,143309067,"othmaint",43.892801127843825,14,"WALK",12.430369125011044,1146472537 +3495343,1594621,"atwork",2,true,4,6,6,143309067,"shopping",43.85860241624266,14,"WALK",13.016929006188157,1146472538 +3495343,1594621,"atwork",3,true,4,7,6,143309067,"escort",46.55936296536758,14,"WALK",14.326586254989872,1146472539 +3495343,1594621,"atwork",4,true,4,16,7,143309067,"atwork",,14,"WALK",5.875801157805464,1146472540 +3495343,1594621,"atwork",1,false,1,9,16,143309067,"work",,14,"WALK",4.620305346152653,1146472541 +3495343,1594621,"work",1,true,1,9,10,143309102,"work",,13,"WALK",8.030042709603043,1146472817 +3495343,1594621,"work",1,false,1,10,9,143309102,"home",,17,"WALK",8.170842677581534,1146472821 +3596364,1645132,"eatout",1,true,1,5,9,147450930,"eatout",,14,"WALK",3.8995482482297024,1179607441 +3596364,1645132,"eatout",1,false,1,9,5,147450930,"home",,14,"WALK",3.983247379767863,1179607445 +3596364,1645132,"shopping",1,true,1,22,9,147450957,"shopping",,19,"WALK_LRF",2.6756101195264512,1179607657 +3596364,1645132,"shopping",1,false,3,8,22,147450957,"shopping",37.58009946460086,20,"WALK_LRF",2.758604912440526,1179607661 +3596364,1645132,"shopping",2,false,3,9,8,147450957,"eatout",54.10980461901021,20,"WALK_LOC",12.741255996041916,1179607662 +3596364,1645132,"shopping",3,false,3,9,9,147450957,"home",,20,"WALK",10.764874611676083,1179607663 +3596365,1645132,"social",1,true,1,9,9,147451001,"social",,7,"WALK",3.544669911588107,1179608009 +3596365,1645132,"social",1,false,1,9,9,147451001,"home",,18,"WALK",3.5446075289165297,1179608013 +3891102,1747467,"work",1,true,1,11,16,159535221,"work",,7,"WALK_LOC",4.3180888605508825,1276281769 +3891102,1747467,"work",1,false,1,16,11,159535221,"home",,16,"WALK_LOC",4.308039287554886,1276281773 +3891103,1747467,"shopping",1,true,1,16,16,159535256,"shopping",,13,"WALK",7.330879778846902,1276282049 +3891103,1747467,"shopping",1,false,1,16,16,159535256,"home",,16,"WALK",7.330879779011079,1276282053 +3891104,1747467,"othdiscr",1,true,1,2,16,159535289,"othdiscr",,14,"WALK",-0.013620982982507432,1276282313 +3891104,1747467,"othdiscr",1,false,1,16,2,159535289,"home",,15,"WALK",-0.20327093589265946,1276282317 +3891104,1747467,"othdiscr",1,true,1,19,16,159535290,"othdiscr",,16,"WALK_LOC",-0.028685356425070176,1276282321 +3891104,1747467,"othdiscr",1,false,1,16,19,159535290,"home",,21,"WALK_LOC",-0.2990566938111557,1276282325 +3891104,1747467,"school",1,true,1,17,16,159535295,"school",,7,"WALK_LRF",6.698072453217584,1276282361 +3891104,1747467,"school",1,false,1,16,17,159535295,"home",,14,"WALK_LRF",6.665980554341056,1276282365 +4171615,1810015,"univ",1,true,1,12,16,171036246,"univ",,13,"WALK",4.061179288088942,1368289969 +4171615,1810015,"univ",1,false,1,16,12,171036246,"home",,13,"WALK",4.06117926693834,1368289973 +4171616,1810015,"othmaint",1,true,1,3,16,171036284,"othmaint",,9,"WALK",5.752949863933666,1368290273 +4171616,1810015,"othmaint",1,false,1,16,3,171036284,"home",,11,"WALK",5.595449988691705,1368290277 +4171617,1810015,"work",1,true,2,8,16,171036336,"social",23.477345398553453,9,"WALK",7.896576327414681,1368290689 +4171617,1810015,"work",2,true,2,15,8,171036336,"work",,12,"WALK",-0.8211572450364255,1368290690 +4171617,1810015,"work",1,false,1,16,15,171036336,"home",,18,"WALK",0.23912905823533456,1368290693 +4171619,1810015,"shopping",1,true,1,1,16,171036412,"shopping",,13,"WALK",-1.0053143437541998,1368291297 +4171619,1810015,"shopping",1,false,2,7,1,171036412,"shopping",29.48393750646727,14,"WALK",-1.5297238905680486,1368291301 +4171619,1810015,"shopping",2,false,2,16,7,171036412,"home",,15,"WALK",12.573466151788852,1368291302 +4171620,1810015,"school",1,true,1,8,16,171036451,"school",,7,"WALK_LOC",10.68060996983474,1368291609 +4171620,1810015,"school",1,false,1,16,8,171036451,"home",,15,"WALK_LOC",10.665116381563836,1368291613 +4171622,1810015,"shopping",1,true,1,19,16,171036535,"shopping",,9,"WALK",-2.394141994327624,1368292281 +4171622,1810015,"shopping",1,false,1,16,19,171036535,"home",,15,"WALK",-2.4219133842589526,1368292285 +4171623,1810015,"atwork",1,true,1,7,21,171036547,"atwork",,10,"WALK",13.897946303660285,1368292377 +4171623,1810015,"atwork",1,false,2,6,7,171036547,"othmaint",62.239483838845736,10,"WALK",14.364186248721689,1368292381 +4171623,1810015,"atwork",2,false,2,21,6,171036547,"work",,10,"WALK",12.200629295549986,1368292382 +4171623,1810015,"work",1,true,2,25,16,171036582,"escort",30.234430836012045,8,"WALK",9.029527074456235,1368292657 +4171623,1810015,"work",2,true,2,21,25,171036582,"work",,8,"WALK",2.001441630738205,1368292658 +4171623,1810015,"work",1,false,2,7,21,171036582,"work",34.72578612209499,23,"WALK",2.5646380272501803,1368292661 +4171623,1810015,"work",2,false,2,16,7,171036582,"home",,23,"WALK",9.584561374619746,1368292662 +4823797,1952792,"othdiscr",1,true,1,16,14,197775702,"othdiscr",,16,"WALK",6.996079351207767,1582205617 +4823797,1952792,"othdiscr",1,false,1,14,16,197775702,"home",,18,"WALK",7.1523193586223615,1582205621 +4823797,1952792,"othmaint",1,true,1,7,14,197775705,"othmaint",,15,"WALK",7.130522181030106,1582205641 +4823797,1952792,"othmaint",1,false,1,14,7,197775705,"home",,15,"WALK",6.973127233279991,1582205645 +4823797,1952792,"work",1,true,1,12,14,197775716,"work",,11,"BIKE",3.423281973078554,1582205729 +4823797,1952792,"work",1,false,1,14,12,197775716,"home",,15,"BIKE",3.4232819641055308,1582205733 +5057160,2048204,"work",1,true,1,23,5,207343599,"work",,7,"WALK_LRF",1.8355968767710429,1658748793 +5057160,2048204,"work",1,false,1,5,23,207343599,"home",,13,"WALK_LOC",1.842947720747105,1658748797 +5057338,2048382,"eatout",1,true,1,10,7,207350864,"eatout",,20,"WALK",11.50286632419377,1658806913 +5057338,2048382,"eatout",1,false,1,7,10,207350864,"home",,20,"WALK",11.0200368363894,1658806917 +5057338,2048382,"othmaint",1,true,1,7,7,207350886,"othmaint",,18,"WALK",9.041583134997413,1658807089 +5057338,2048382,"othmaint",1,false,1,7,7,207350886,"home",,18,"WALK",9.041583134997413,1658807093 +5057338,2048382,"shopping",1,true,1,25,7,207350891,"shopping",,21,"WALK",12.994038320235191,1658807129 +5057338,2048382,"shopping",1,false,1,7,25,207350891,"home",,21,"WALK",13.394104919134762,1658807133 +5057338,2048382,"social",1,true,1,6,7,207350894,"social",,18,"WALK_LOC",7.684253228078017,1658807153 +5057338,2048382,"social",1,false,1,7,6,207350894,"home",,19,"WALK_LOC",7.33402873870212,1658807157 +5057338,2048382,"work",1,true,1,2,7,207350897,"work",,6,"WALK",0.6535205296575887,1658807177 +5057338,2048382,"work",1,false,1,7,2,207350897,"home",,17,"WALK_LOC",0.6994347038785153,1658807181 +5387762,2223027,"work",1,true,1,4,9,220898281,"work",,7,"WALK_HVY",0.8851251729940038,1767186249 +5387762,2223027,"work",1,false,1,9,4,220898281,"home",,17,"WALK_LRF",0.8808191020800481,1767186253 +5387763,2223027,"work",1,true,2,7,9,220898322,"escort",33.115120502248885,8,"WALK",11.45812100506256,1767186577 +5387763,2223027,"work",2,true,2,14,7,220898322,"work",,8,"WALK_LOC",1.0900866492604258,1767186578 +5387763,2223027,"work",1,false,2,9,14,220898322,"othmaint",32.045095679314514,17,"WALK_LRF",1.600735778924674,1767186581 +5387763,2223027,"work",2,false,2,9,9,220898322,"home",,17,"WALK",8.75484607474322,1767186582 +5389226,2223759,"atwork",1,true,1,2,1,220958270,"atwork",,13,"WALK",0.5422067947215797,1767666161 +5389226,2223759,"atwork",1,false,1,1,2,220958270,"work",,13,"WALK",0.44445625677441347,1767666165 +5389226,2223759,"eatout",1,true,1,13,16,220958279,"eatout",,20,"TNC_SINGLE",-0.053423172630162746,1767666233 +5389226,2223759,"eatout",1,false,1,16,13,220958279,"home",,20,"TAXI",-0.053623759329434514,1767666237 +5389226,2223759,"work",1,true,1,1,16,220958305,"work",,9,"WALK",-1.121725266718706,1767666441 +5389226,2223759,"work",1,false,1,16,1,220958305,"home",,18,"WALK",-1.2712056171232493,1767666445 +5389227,2223759,"work",1,true,1,23,16,220958346,"work",,6,"WALK",0.7526667284662408,1767666769 +5389227,2223759,"work",1,false,1,16,23,220958346,"home",,20,"WALK",0.40072266203872847,1767666773 +7305540,2727273,"othdiscr",1,true,1,12,20,299527165,"othdiscr",,15,"WALK",3.8685996173550423,2396217321 +7305540,2727273,"othdiscr",1,false,1,20,12,299527165,"home",,21,"WALK",3.5896037288320892,2396217325 +7305540,2727273,"work",1,true,1,20,20,299527179,"work",,11,"WALK",1.104068131386293,2396217433 +7305540,2727273,"work",1,false,1,20,20,299527179,"home",,15,"WALK",1.053200360752169,2396217437 +7305541,2727273,"work",1,true,1,9,20,299527220,"work",,6,"WALK",7.774842814489909,2396217761 +7305541,2727273,"work",1,false,1,20,9,299527220,"home",,13,"WALK",7.915642733452835,2396217765 +7305541,2727273,"work",1,true,1,9,20,299527221,"work",,14,"WALK",7.774842814936839,2396217769 +7305541,2727273,"work",1,false,1,20,9,299527221,"home",,18,"WALK",7.91564273351867,2396217773 +7453413,2762078,"shopping",1,true,1,19,20,305589966,"shopping",,16,"WALK",-0.35226970200906427,2444719729 +7453413,2762078,"shopping",1,false,1,20,19,305589966,"home",,16,"WALK",-0.30764319648513383,2444719733 +7512109,2820774,"atwork",1,true,1,8,2,307996473,"atwork",,10,"WALK",11.717494374110142,2463971785 +7512109,2820774,"atwork",1,false,2,7,8,307996473,"work",60.69572620723573,10,"WALK",12.448894080618153,2463971789 +7512109,2820774,"atwork",2,false,2,2,7,307996473,"work",,10,"WALK",13.86034632280424,2463971790 +7512109,2820774,"work",1,true,1,2,8,307996508,"work",,8,"WALK",-0.6314685269146993,2463972065 +7512109,2820774,"work",1,false,3,8,2,307996508,"shopping",25.44599794712168,18,"WALK",-0.7722559635889226,2463972069 +7512109,2820774,"work",2,false,3,8,8,307996508,"shopping",46.27968294620515,19,"WALK",9.5289762031843,2463972070 +7512109,2820774,"work",3,false,3,8,8,307996508,"home",,19,"WALK",9.5289762031843,2463972071 +7512514,2821179,"eatout",1,true,1,13,8,308013080,"eatout",,8,"WALK",-1.171759971785514,2464104641 +7512514,2821179,"eatout",1,false,1,8,13,308013080,"home",,16,"WALK",-1.238718768693438,2464104645 +7512514,2821179,"shopping",1,true,1,6,8,308013107,"shopping",,17,"WALK",12.612248978887928,2464104857 +7512514,2821179,"shopping",1,false,1,8,6,308013107,"home",,19,"WALK",12.322088998148224,2464104861 +7512514,2821179,"social",1,true,1,9,8,308013110,"social",,16,"WALK",6.292424410910544,2464104881 +7512514,2821179,"social",1,false,1,8,9,308013110,"home",,16,"WALK_LOC",6.322192231184283,2464104885 +7513432,2822097,"work",1,true,1,7,8,308050751,"work",,5,"BIKE",11.002889267549957,2464406009 +7513432,2822097,"work",1,false,1,8,7,308050751,"home",,15,"BIKE",10.880760381185553,2464406013 +7513554,2822219,"work",1,true,1,9,8,308055753,"work",,5,"WALK",7.994842572799317,2464446025 +7513554,2822219,"work",1,false,1,8,9,308055753,"home",,16,"WALK",7.994842572767652,2464446029 +7513565,2822230,"work",1,true,2,9,8,308056204,"univ",40.040196758213916,9,"WALK",7.9948426686587775,2464449633 +7513565,2822230,"work",2,true,2,25,9,308056204,"work",,9,"WALK",8.34752700809022,2464449634 +7513565,2822230,"work",1,false,1,8,25,308056204,"home",,18,"WALK",9.31552710851258,2464449637 +7523517,2832182,"othdiscr",1,true,1,9,7,308464222,"othdiscr",,8,"WALK",10.67469554537436,2467713777 +7523517,2832182,"othdiscr",1,false,1,7,9,308464222,"home",,13,"WALK",10.735094428557618,2467713781 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/override_households.csv b/activitysim/estimation/test/test_edb_creation/survey_data/override_households.csv new file mode 100644 index 0000000000..b0910c7860 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/override_households.csv @@ -0,0 +1,51 @@ +household_id,home_zone_id,income,hhsize,HHT,auto_ownership,num_workers,joint_tour_frequency +982875,16,30900,2,5,1,2,0_tours +1810015,16,99700,9,2,1,4,0_tours +1099626,20,58160,3,1,1,1,0_tours +763879,6,59220,1,4,1,0,0_tours +824207,18,51000,1,4,0,1,0_tours +2822230,8,0,1,0,0,1,0_tours +2821179,8,0,1,0,0,1,0_tours +1196298,25,31360,5,1,0,1,0_tours +1363467,24,58300,2,2,1,1,0_tours +386761,16,21000,3,1,1,2,0_tours +2223027,9,133000,2,1,0,2,0_tours +2832182,7,0,1,0,0,0,0_tours +2727273,20,118800,2,1,1,2,0_tours +1444715,14,60000,1,4,0,1,0_tours +112064,16,18000,1,6,1,1,0_tours +1952792,14,61900,1,4,1,1,0_tours +2223759,16,144100,2,1,0,2,1_Eat +2820538,8,0,1,0,0,1,0_tours +27726,10,24000,1,4,0,0,0_tours +570454,21,1500,1,4,0,0,0_tours +370497,21,18000,3,2,0,1,0_tours +1173905,8,45000,4,1,1,0,1_Shop +1286557,11,30000,1,4,1,0,0_tours +2762078,20,0,1,0,0,0,0_tours +2832429,16,0,1,0,1,0,0_tours +386699,7,21000,3,1,0,2,0_tours +2822097,8,0,1,0,1,1,0_tours +764150,9,34630,1,4,1,0,0_tours +2820774,8,0,1,0,1,1,0_tours +1594621,10,69200,2,1,0,2,0_tours +257531,16,12000,2,7,0,2,0_tours +1645132,9,92700,2,3,0,0,0_tours +29625,17,4200,1,4,0,0,0_tours +1402945,25,37200,4,1,1,4,1_Disc +823501,12,30000,1,4,0,1,0_tours +1747467,16,76000,3,1,0,2,0_tours +1445222,17,68000,1,6,0,1,0_tours +26844,8,3500,1,4,0,0,0_tours +2822219,8,0,1,0,0,1,0_tours +110675,16,5050,1,4,0,1,0_tours +2048204,5,388000,1,4,0,1,0_tours +1286259,8,34400,1,6,0,0,0_tours +568785,17,8000,1,4,1,0,0_tours +26686,8,0,1,4,0,0,0_tours +1511234,8,88600,2,1,0,1,0_tours +2048382,7,195000,1,4,0,1,0_tours +256660,10,27800,2,7,0,2,0_tours +703381,25,17210,2,1,1,0,0_tours +226869,9,4000,2,1,0,1,0_tours +823426,11,50000,1,4,1,1,0_tours diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/override_joint_tour_participants.csv b/activitysim/estimation/test/test_edb_creation/survey_data/override_joint_tour_participants.csv new file mode 100644 index 0000000000..a19d8616a2 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/override_joint_tour_participants.csv @@ -0,0 +1,8 @@ +survey_participant_id,survey_tour_id,household_id,person_id,participant_num,tour_id,participant_id +220958279010,2209582790,2223759,5389226,1,220958279,22095827901 +220958279020,2209582790,2223759,5389227,2,220958279,22095827902 +100798519030,1007985190,1173905,2458502,1,100798519,10079851903 +100798519040,1007985190,1173905,2458503,2,100798519,10079851904 +130727777020,1307277770,1402945,3188483,1,130727777,13072777702 +130727777030,1307277770,1402945,3188484,2,130727777,13072777703 +130727777040,1307277770,1402945,3188485,3,130727777,13072777704 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/override_persons.csv b/activitysim/estimation/test/test_edb_creation/survey_data/override_persons.csv new file mode 100644 index 0000000000..030bcafa71 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/override_persons.csv @@ -0,0 +1,91 @@ +person_id,household_id,age,PNUM,sex,pemploy,pstudent,ptype,school_zone_id,workplace_zone_id,free_parking_at_work,cdap_activity,mandatory_tour_frequency,_escort,_shopping,_othmaint,_othdiscr,_eatout,_social,non_mandatory_tour_frequency +26686,26686,39,1,1,3,3,4,-1,-1,False,N,,0,0,1,0,1,0,12 +26844,26844,51,1,1,3,3,4,-1,-1,False,N,,0,0,0,0,0,1,2 +27726,27726,52,1,1,3,3,4,-1,-1,False,N,,0,0,0,1,0,0,1 +29625,29625,61,1,1,3,3,4,-1,-1,False,N,,0,1,0,0,0,0,16 +110675,110675,30,1,1,2,3,2,-1,19,False,H,,0,0,0,0,0,0,0 +112064,112064,48,1,2,2,3,2,-1,21,False,N,,0,1,0,1,0,0,17 +264107,226869,28,1,1,2,3,2,-1,24,False,M,work1,0,0,0,0,0,0,0 +264108,226869,27,2,2,3,3,4,-1,-1,False,N,,0,0,0,1,0,0,1 +323689,256660,22,1,2,2,3,2,-1,1,False,M,work1,0,0,0,0,0,0,0 +323690,256660,23,2,2,2,3,2,-1,5,False,H,,0,0,0,0,0,0,0 +325431,257531,22,1,2,2,3,2,-1,12,False,M,work1,0,0,0,0,0,0,0 +325432,257531,22,2,2,2,3,2,-1,2,False,N,,0,1,0,0,0,0,16 +595684,370497,52,1,1,2,3,2,-1,4,False,H,,0,0,0,0,0,0,0 +595685,370497,18,2,1,3,1,6,13,-1,False,H,,0,0,0,0,0,0,0 +595686,370497,14,3,2,4,1,7,8,-1,False,M,school1,0,0,0,0,0,0,0 +644290,386699,47,1,1,2,3,2,-1,12,False,M,work1,0,0,0,0,0,0,0 +644291,386699,43,2,2,1,3,1,-1,2,False,M,work1,0,0,1,0,0,0,8 +644292,386699,7,3,1,4,1,7,9,-1,False,M,school1,0,0,0,0,0,0,0 +644476,386761,47,1,1,2,3,2,-1,4,False,M,work1,1,0,1,1,0,0,41 +644477,386761,43,2,2,1,3,1,-1,15,False,N,,0,1,0,0,0,0,16 +644478,386761,7,3,1,4,1,7,20,-1,False,M,school1,0,0,0,0,0,0,0 +1265898,568785,80,1,1,3,3,5,-1,-1,False,N,,0,0,0,1,0,0,1 +1267567,570454,85,1,1,3,3,5,-1,-1,False,H,,0,0,0,0,0,0,0 +1427193,703381,65,1,1,3,3,5,-1,-1,False,N,,0,1,0,0,0,0,16 +1427194,703381,69,2,2,3,3,5,-1,-1,False,N,,0,0,1,0,0,1,10 +1572659,763879,60,1,1,3,3,4,-1,-1,False,N,,0,1,0,0,0,0,16 +1572930,764150,52,1,1,3,3,4,-1,-1,False,N,,0,1,1,0,0,0,24 +1632206,823426,31,1,1,1,3,1,-1,2,False,H,,0,0,0,0,0,0,0 +1632281,823501,36,1,1,1,3,1,-1,13,False,M,work1,0,0,0,0,0,0,0 +1632987,824207,29,1,1,2,3,2,-1,4,False,M,work1,0,0,0,0,0,0,0 +1875721,982875,25,1,1,1,3,1,-1,10,False,M,work1,0,0,0,0,0,0,0 +1875722,982875,25,2,2,2,2,3,13,4,False,N,,0,0,0,0,1,0,4 +2159057,1099626,35,1,1,1,3,1,-1,2,False,M,work1,0,0,0,0,0,0,0 +2159058,1099626,36,2,2,3,2,3,9,-1,False,M,school1,0,0,0,0,0,0,0 +2159059,1099626,3,3,1,4,1,8,20,-1,False,M,school1,0,0,0,0,0,0,0 +2458500,1173905,40,1,1,3,3,4,-1,-1,False,N,,0,0,1,0,0,0,8 +2458501,1173905,42,2,2,3,3,4,-1,-1,False,N,,1,0,0,0,0,0,32 +2458502,1173905,12,3,2,4,1,7,8,-1,False,M,school1,0,0,0,0,0,0,0 +2458503,1173905,9,4,1,4,1,7,8,-1,False,M,school1,0,0,0,0,0,0,0 +2566698,1196298,36,1,1,1,3,1,-1,1,False,M,work1,0,0,0,0,0,0,0 +2566699,1196298,29,2,2,3,3,4,-1,-1,False,H,,0,0,0,0,0,0,0 +2566700,1196298,8,3,1,4,1,7,25,-1,False,M,school1,0,0,0,0,0,0,0 +2566701,1196298,4,4,2,4,1,8,3,-1,False,M,school1,0,0,0,0,0,0,0 +2566702,1196298,2,5,1,4,1,8,6,-1,False,M,school1,0,0,0,0,0,0,0 +2936550,1286259,67,1,2,3,3,5,-1,-1,False,N,,0,1,0,1,0,0,17 +2936848,1286557,67,1,1,3,3,5,-1,-1,False,N,,0,0,0,1,1,0,5 +3061894,1363467,68,1,1,3,3,5,-1,-1,False,N,,0,1,0,0,0,0,16 +3061895,1363467,63,2,2,2,3,2,-1,25,False,M,work1,0,0,1,1,0,0,9 +3188482,1402945,66,1,1,2,3,2,-1,24,False,M,work1,0,0,0,0,0,0,0 +3188483,1402945,48,2,2,2,3,2,-1,2,False,M,work1,0,0,0,0,0,0,0 +3188484,1402945,22,3,2,2,2,3,13,2,False,M,work_and_school,0,0,0,0,0,0,0 +3188485,1402945,19,4,2,2,2,3,9,2,False,M,work1,0,0,0,0,0,0,0 +3232955,1444715,42,1,1,2,3,2,-1,8,False,H,,0,0,0,0,0,0,0 +3233462,1445222,43,1,2,1,3,1,-1,22,False,M,work1,0,2,0,1,0,0,17 +3328568,1511234,53,1,2,1,3,1,-1,1,False,M,work1,0,0,0,0,0,0,0 +3328569,1511234,61,2,1,3,2,3,13,-1,False,N,,0,1,0,0,1,0,20 +3495342,1594621,31,1,1,1,3,1,-1,11,False,M,work1,0,0,0,1,0,0,1 +3495343,1594621,25,2,2,2,3,2,-1,9,False,M,work1,0,0,0,0,0,0,0 +3596364,1645132,56,1,2,3,2,3,9,-1,False,N,,0,1,0,0,1,0,20 +3596365,1645132,13,2,2,4,1,7,10,-1,False,N,,0,0,0,0,0,1,2 +3891102,1747467,36,1,2,1,3,1,-1,11,False,M,work1,0,0,0,0,0,0,0 +3891103,1747467,67,2,1,2,3,2,-1,12,False,N,,0,1,0,0,0,0,16 +3891104,1747467,8,3,1,4,1,7,17,-1,False,M,school1,0,0,0,2,0,0,1 +4171615,1810015,29,1,1,3,2,3,12,-1,False,M,school1,0,0,0,0,0,0,0 +4171616,1810015,20,2,1,3,3,4,-1,-1,False,N,,0,0,1,0,0,0,8 +4171617,1810015,27,3,1,1,3,1,-1,15,False,M,work1,0,0,0,0,0,0,0 +4171618,1810015,24,4,1,2,3,2,-1,13,False,H,,0,0,0,0,0,0,0 +4171619,1810015,58,5,2,3,3,4,-1,-1,False,N,,0,1,0,0,0,0,16 +4171620,1810015,3,6,2,4,1,8,8,-1,False,M,school1,0,0,0,0,0,0,0 +4171621,1810015,19,7,2,2,1,6,13,22,False,H,,0,0,0,0,0,0,0 +4171622,1810015,31,8,2,3,3,4,-1,-1,False,N,,0,1,0,0,0,0,16 +4171623,1810015,36,9,2,1,3,1,-1,21,False,M,work1,0,0,0,0,0,0,0 +4823797,1952792,74,1,1,2,3,2,-1,12,False,M,work1,0,0,1,1,0,0,9 +5057160,2048204,40,1,1,1,3,1,-1,23,False,M,work1,0,0,0,0,0,0,0 +5057338,2048382,33,1,1,1,3,1,-1,2,False,M,work1,0,1,1,0,1,1,30 +5387762,2223027,49,1,1,1,3,1,-1,4,False,M,work1,0,0,0,0,0,0,0 +5387763,2223027,39,2,2,1,3,1,-1,14,False,M,work1,0,0,0,0,0,0,0 +5389226,2223759,28,1,2,1,3,1,-1,1,False,M,work1,0,0,0,0,0,0,0 +5389227,2223759,29,2,1,1,3,1,-1,23,False,M,work1,0,0,0,0,0,0,0 +7305540,2727273,72,1,1,2,3,2,-1,20,False,M,work1,0,0,0,1,0,0,1 +7305541,2727273,62,2,2,2,3,2,-1,9,False,M,work2,0,0,0,0,0,0,0 +7453413,2762078,57,1,1,3,3,4,-1,-1,False,N,,0,1,0,0,0,0,16 +7511873,2820538,18,1,1,2,3,2,-1,11,False,H,,0,0,0,0,0,0,0 +7512109,2820774,35,1,1,1,3,1,-1,2,False,M,work1,0,0,0,0,0,0,0 +7512514,2821179,60,1,1,2,3,2,-1,22,False,N,,0,1,0,0,1,1,22 +7513432,2822097,39,1,2,2,3,2,-1,7,False,M,work1,0,0,0,0,0,0,0 +7513554,2822219,18,1,2,1,3,1,-1,9,False,M,work1,0,0,0,0,0,0,0 +7513565,2822230,19,1,2,2,2,3,12,25,False,M,work1,0,0,0,0,0,0,0 +7523517,2832182,87,1,2,3,3,5,-1,-1,False,N,,0,0,0,1,0,0,1 +7523764,2832429,93,1,2,3,3,5,-1,-1,False,H,,0,0,0,0,0,0,0 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/override_tours.csv b/activitysim/estimation/test/test_edb_creation/survey_data/override_tours.csv new file mode 100644 index 0000000000..be63b500fc --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/override_tours.csv @@ -0,0 +1,118 @@ +tour_id,survey_tour_id,person_id,household_id,tour_type,tour_category,destination,origin,start,end,tour_mode,survey_parent_tour_id,parent_tour_id,composition,tdd,atwork_subtour_frequency,stop_frequency +10828426,108284260,264107,226869,work,mandatory,24,9,7,19,WALK_LRF,,,,49,no_subtours,0out_0in +13271288,132712880,323689,256660,work,mandatory,1,10,11,18,WALK_LRF,,,,106,no_subtours,0out_0in +13342710,133427100,325431,257531,work,mandatory,12,16,7,17,TNC_SINGLE,,,,47,no_subtours,1out_3in +24423157,244231570,595686,370497,school,mandatory,8,21,7,16,WALK_LOC,,,,46,,0out_0in +26415929,264159290,644290,386699,work,mandatory,12,7,12,22,WALK_LOC,,,,122,no_subtours,0out_0in +26415970,264159700,644291,386699,work,mandatory,2,7,7,17,WALK,,,,47,no_subtours,0out_0in +26416003,264160030,644292,386699,school,mandatory,9,7,13,19,WALK_LRF,,,,130,,0out_1in +26423555,264235550,644476,386761,work,mandatory,4,16,7,17,SHARED3FREE,,,,47,no_subtours,0out_0in +26423629,264236290,644478,386761,school,mandatory,20,16,11,19,WALK_LRF,,,,107,,0out_0in +66923560,669235600,1632281,823501,work,mandatory,13,12,7,19,TNC_SINGLE,,,,49,eat,0out_0in +66952506,669525060,1632987,824207,work,mandatory,4,18,15,21,WALK_LRF,,,,151,no_subtours,0out_0in +76904600,769046000,1875721,982875,work,mandatory,10,16,8,18,WALK_LOC,,,,64,no_subtours,0out_0in +88521376,885213760,2159057,1099626,work,mandatory,2,20,7,18,WALK_LRF,,,,48,no_subtours,0out_1in +88521409,885214090,2159058,1099626,school,mandatory,9,20,15,18,TAXI,,,,148,,0out_0in +88521450,885214500,2159059,1099626,school,mandatory,20,20,8,13,WALK,,,,59,,0out_0in +100798613,1007986130,2458502,1173905,school,mandatory,8,8,8,18,WALK,,,,64,,1out_0in +100798654,1007986540,2458503,1173905,school,mandatory,8,8,8,14,WALK,,,,60,,0out_0in +105234657,1052346570,2566698,1196298,work,mandatory,1,25,6,17,TNC_SINGLE,,,,30,no_subtours,0out_0in +105234731,1052347310,2566700,1196298,school,mandatory,25,25,7,15,WALK,,,,45,,0out_0in +105234772,1052347720,2566701,1196298,school,mandatory,3,25,8,13,WALK,,,,59,,0out_0in +105234813,1052348130,2566702,1196298,school,mandatory,6,25,12,20,WALK_LOC,,,,120,,0out_1in +125537734,1255377340,3061895,1363467,work,mandatory,25,24,6,13,WALK,,,,26,no_subtours,0out_0in +130727801,1307278010,3188482,1402945,work,mandatory,24,25,8,17,WALK,,,,63,no_subtours,1out_0in +130727842,1307278420,3188483,1402945,work,mandatory,2,25,9,17,WALK_LOC,,,,78,no_subtours,0out_0in +130727883,1307278830,3188484,1402945,work,mandatory,2,25,9,12,WALK_LOC,,,,73,no_subtours,0out_0in +130727875,1307278750,3188484,1402945,school,mandatory,13,25,16,17,WALK,,,,155,,0out_2in +130727924,1307279240,3188485,1402945,work,mandatory,2,25,10,21,BIKE,,,,96,no_subtours,1out_1in +132571981,1325719810,3233462,1445222,work,mandatory,22,17,7,23,TNC_SINGLE,,,,53,no_subtours,0out_0in +136471327,1364713270,3328568,1511234,work,mandatory,1,8,6,17,WALK_LRF,,,,30,no_subtours,0out_0in +143309061,1433090610,3495342,1594621,work,mandatory,11,10,7,16,WALK_LOC,,,,46,no_subtours,0out_0in +143309102,1433091020,3495343,1594621,work,mandatory,9,10,13,17,WALK,,,,128,eat,0out_0in +159535221,1595352210,3891102,1747467,work,mandatory,11,16,7,16,WALK_LOC,,,,46,no_subtours,0out_0in +159535295,1595352950,3891104,1747467,school,mandatory,17,16,7,14,WALK_LRF,,,,44,,0out_0in +171036246,1710362460,4171615,1810015,school,mandatory,12,16,13,13,WALK,,,,124,,0out_0in +171036336,1710363360,4171617,1810015,work,mandatory,15,16,9,18,WALK,,,,79,no_subtours,1out_0in +171036451,1710364510,4171620,1810015,school,mandatory,8,16,7,15,WALK_LOC,,,,45,,0out_0in +171036582,1710365820,4171623,1810015,work,mandatory,21,16,8,23,WALK,,,,69,eat,1out_1in +197775716,1977757160,4823797,1952792,work,mandatory,12,14,11,15,BIKE,,,,103,no_subtours,0out_0in +207343599,2073435990,5057160,2048204,work,mandatory,23,5,7,13,TNC_SINGLE,,,,43,no_subtours,0out_0in +207350897,2073508970,5057338,2048382,work,mandatory,2,7,6,17,TNC_SINGLE,,,,30,no_subtours,0out_0in +220898281,2208982810,5387762,2223027,work,mandatory,4,9,7,17,WALK_HVY,,,,47,no_subtours,0out_0in +220898322,2208983220,5387763,2223027,work,mandatory,14,9,8,17,WALK_HVY,,,,63,no_subtours,1out_1in +220958305,2209583050,5389226,2223759,work,mandatory,1,16,9,18,WALK,,,,79,eat,0out_0in +220958346,2209583460,5389227,2223759,work,mandatory,23,16,6,20,WALK,,,,33,no_subtours,0out_0in +299527179,2995271790,7305540,2727273,work,mandatory,20,20,11,15,DRIVEALONEFREE,,,,103,no_subtours,0out_0in +299527220,2995272200,7305541,2727273,work,mandatory,9,20,6,13,WALK,,,,26,no_subtours,0out_0in +299527221,2995272210,7305541,2727273,work,mandatory,9,20,14,18,WALK,,,,139,no_subtours,0out_0in +307996508,3079965080,7512109,2820774,work,mandatory,2,8,8,19,WALK,,,,65,eat,0out_2in +308050751,3080507510,7513432,2822097,work,mandatory,7,8,5,15,BIKE,,,,10,no_subtours,0out_0in +308055753,3080557530,7513554,2822219,work,mandatory,9,8,5,16,WALK,,,,11,no_subtours,0out_0in +308056204,3080562040,7513565,2822230,work,mandatory,25,8,9,18,WALK,,,,79,no_subtours,1out_0in +220958279,2209582790,5389226,2223759,eatout,joint,13,16,20,20,WALK,,,adults,180,,0out_0in +100798519,1007985190,2458502,1173905,shopping,joint,5,8,8,8,SHARED2FREE,,,children,54,,0out_0in +130727777,1307277770,3188483,1402945,othdiscr,joint,24,25,9,9,WALK,,,adults,70,,0out_0in +1094154,10941540,26686,26686,othmaint,non_mandatory,9,8,12,13,BIKE,,,,113,,0out_0in +1094132,10941320,26686,26686,eatout,non_mandatory,5,8,19,19,WALK,,,,175,,0out_0in +1100640,11006400,26844,26844,social,non_mandatory,7,8,8,12,WALK,,,,58,,0out_1in +1136791,11367910,27726,27726,othdiscr,non_mandatory,9,10,8,10,WALK,,,,56,,0out_0in +1214658,12146580,29625,29625,shopping,non_mandatory,17,17,15,15,WALK,,,,145,,0out_0in +4594657,45946570,112064,112064,shopping,non_mandatory,3,16,16,17,WALK,,,,155,,0out_0in +4594649,45946490,112064,112064,othdiscr,non_mandatory,21,16,12,14,DRIVEALONEFREE,,,,114,,0out_0in +10828453,108284530,264108,226869,othdiscr,non_mandatory,19,9,10,11,WALK,,,,86,,0out_0in +13342745,133427450,325432,257531,shopping,non_mandatory,14,16,12,13,TAXI,,,,113,,0out_0in +26415959,264159590,644291,386699,othmaint,non_mandatory,2,7,19,23,TNC_SINGLE,,,,179,,0out_0in +26423525,264235250,644476,386761,escort,non_mandatory,11,16,5,6,TNC_SINGLE,,,,1,,0out_0in +26423544,264235440,644476,386761,othmaint,non_mandatory,13,16,18,19,WALK,,,,170,,0out_0in +26423541,264235410,644476,386761,othdiscr,non_mandatory,16,16,18,18,WALK,,,,169,,0out_0in +26423590,264235900,644477,386761,shopping,non_mandatory,16,16,14,14,DRIVEALONEFREE,,,,135,,0out_0in +51901843,519018430,1265898,568785,othdiscr,non_mandatory,20,17,9,20,WALK_LRF,,,,81,,0out_0in +58514946,585149460,1427193,703381,shopping,non_mandatory,14,25,13,19,WALK,,,,130,,0out_0in +58514982,585149820,1427194,703381,othmaint,non_mandatory,14,25,7,13,WALK,,,,43,,0out_0in +58514990,585149900,1427194,703381,social,non_mandatory,2,25,16,22,WALK,,,,160,,1out_3in +64479052,644790520,1572659,763879,shopping,non_mandatory,24,6,7,20,WALK,,,,50,,2out_2in +64490163,644901630,1572930,764150,shopping,non_mandatory,7,9,11,16,WALK,,,,104,,0out_0in +64490158,644901580,1572930,764150,othmaint,non_mandatory,9,9,8,11,WALK,,,,57,,1out_0in +76904608,769046080,1875722,982875,eatout,non_mandatory,14,16,10,17,WALK,,,,92,,1out_0in +100798528,1007985280,2458500,1173905,othmaint,non_mandatory,7,8,12,20,WALK,,,,120,,0out_0in +100798550,1007985500,2458501,1173905,escort,non_mandatory,16,8,15,16,WALK_LOC,,,,146,,0out_0in +120398583,1203985830,2936550,1286259,shopping,non_mandatory,11,8,12,13,WALK,,,,113,,0out_0in +120398575,1203985750,2936550,1286259,othdiscr,non_mandatory,6,8,14,17,WALK,,,,138,,0out_0in +120410793,1204107930,2936848,1286557,othdiscr,non_mandatory,11,11,15,16,DRIVEALONEFREE,,,,146,,1out_0in +120410774,1204107740,2936848,1286557,eatout,non_mandatory,9,11,14,15,DRIVEALONEFREE,,,,136,,0out_0in +125537687,1255376870,3061894,1363467,shopping,non_mandatory,20,24,12,13,DRIVEALONEFREE,,,,113,,0out_0in +125537723,1255377230,3061895,1363467,othmaint,non_mandatory,7,24,15,16,WALK,,,,146,,0out_0in +125537720,1255377200,3061895,1363467,othdiscr,non_mandatory,9,24,17,19,WALK_HVY,,,,164,,0out_0in +132571975,1325719750,3233462,1445222,shopping,non_mandatory,16,17,6,6,WALK_LRF,,,,19,,0out_0in +132571976,1325719760,3233462,1445222,shopping,non_mandatory,13,17,7,7,WALK_LOC,,,,37,,0out_0in +132571967,1325719670,3233462,1445222,othdiscr,non_mandatory,14,17,7,7,WALK_LRF,,,,37,,0out_0in +136471362,1364713620,3328569,1511234,shopping,non_mandatory,4,8,10,10,WALK_LRF,,,,85,,1out_0in +136471335,1364713350,3328569,1511234,eatout,non_mandatory,13,8,14,16,WALK_LRF,,,,137,,0out_0in +143309047,1433090470,3495342,1594621,othdiscr,non_mandatory,15,10,16,22,TNC_SINGLE,,,,160,,0out_0in +147450957,1474509570,3596364,1645132,shopping,non_mandatory,22,9,19,20,WALK_LRF,,,,176,,0out_2in +147450930,1474509300,3596364,1645132,eatout,non_mandatory,5,9,14,14,WALK,,,,135,,0out_0in +147451001,1474510010,3596365,1645132,social,non_mandatory,9,9,7,18,TAXI,,,,48,,0out_0in +159535256,1595352560,3891103,1747467,shopping,non_mandatory,16,16,13,16,WALK,,,,127,,0out_0in +159535289,1595352890,3891104,1747467,othdiscr,non_mandatory,2,16,14,15,WALK,,,,136,,0out_0in +159535290,1595352900,3891104,1747467,othdiscr,non_mandatory,19,16,16,21,WALK_LOC,,,,159,,0out_0in +171036284,1710362840,4171616,1810015,othmaint,non_mandatory,3,16,9,11,WALK,,,,72,,0out_0in +171036412,1710364120,4171619,1810015,shopping,non_mandatory,1,16,13,15,WALK,,,,126,,0out_1in +171036535,1710365350,4171622,1810015,shopping,non_mandatory,19,16,9,15,WALK,,,,76,,0out_0in +197775705,1977757050,4823797,1952792,othmaint,non_mandatory,7,14,15,15,DRIVEALONEFREE,,,,145,,0out_0in +197775702,1977757020,4823797,1952792,othdiscr,non_mandatory,16,14,16,18,WALK,,,,156,,0out_0in +207350891,2073508910,5057338,2048382,shopping,non_mandatory,25,7,21,21,WALK_LOC,,,,184,,0out_0in +207350886,2073508860,5057338,2048382,othmaint,non_mandatory,7,7,18,18,WALK,,,,169,,0out_0in +207350864,2073508640,5057338,2048382,eatout,non_mandatory,10,7,20,20,WALK_LRF,,,,180,,0out_0in +207350894,2073508940,5057338,2048382,social,non_mandatory,6,7,18,19,TNC_SINGLE,,,,170,,0out_0in +299527165,2995271650,7305540,2727273,othdiscr,non_mandatory,12,20,15,21,WALK,,,,151,,0out_0in +305589966,3055899660,7453413,2762078,shopping,non_mandatory,19,20,16,16,WALK,,,,154,,0out_0in +308013107,3080131070,7512514,2821179,shopping,non_mandatory,6,8,17,19,WALK,,,,164,,0out_0in +308013080,3080130800,7512514,2821179,eatout,non_mandatory,13,8,8,16,WALK,,,,62,,0out_0in +308013110,3080131100,7512514,2821179,social,non_mandatory,9,8,16,16,WALK_LOC,,,,154,,0out_0in +308464222,3084642220,7523517,2832182,othdiscr,non_mandatory,9,7,8,13,WALK_LOC,,,,59,,0out_0in +66923525,669235250,1632281,823501,eat,atwork,8,13,13,14,WALK,669235600.0,66923560.0,,125,,1out_0in +143309067,1433090670,3495343,1594621,eat,atwork,16,9,14,14,WALK,1433091020.0,143309102.0,,135,,3out_0in +171036547,1710365470,4171623,1810015,eat,atwork,7,21,10,10,WALK,1710365820.0,171036582.0,,85,,0out_1in +220958270,2209582700,5389226,2223759,eat,atwork,2,1,13,13,WALK,2209583050.0,220958305.0,,124,,0out_0in +307996473,3079964730,7512109,2820774,eat,atwork,8,2,10,10,WALK,3079965080.0,307996508.0,,85,,0out_1in diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/override_trips.csv b/activitysim/estimation/test/test_edb_creation/survey_data/override_trips.csv new file mode 100644 index 0000000000..e2f36dab74 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/override_trips.csv @@ -0,0 +1,278 @@ +trip_id,survey_trip_id,person_id,household_id,survey_tour_id,outbound,purpose,destination,origin,depart,trip_mode,tour_id,trip_num +8753057,87530570,26686,26686,10941320,True,eatout,5,8,19,WALK,1094132,1 +8753061,87530610,26686,26686,10941320,False,home,8,5,19,WALK,1094132,1 +8753233,87532330,26686,26686,10941540,True,othmaint,9,8,12,BIKE,1094154,1 +8753237,87532370,26686,26686,10941540,False,home,8,9,13,WALK,1094154,1 +8805121,88051210,26844,26844,11006400,True,social,7,8,8,WALK,1100640,1 +8805125,88051250,26844,26844,11006400,False,othmaint,7,7,12,WALK,1100640,1 +8805126,88051260,26844,26844,11006400,False,home,8,7,12,WALK,1100640,2 +9094329,90943290,27726,27726,11367910,True,othdiscr,9,10,8,WALK,1136791,1 +9094333,90943330,27726,27726,11367910,False,home,10,9,10,WALK,1136791,1 +9717265,97172650,29625,29625,12146580,True,shopping,17,17,15,WALK,1214658,1 +9717269,97172690,29625,29625,12146580,False,home,17,17,15,WALK,1214658,1 +36757193,367571930,112064,112064,45946490,True,othdiscr,21,16,12,WALK,4594649,1 +36757197,367571970,112064,112064,45946490,False,home,16,21,14,TAXI,4594649,1 +36757257,367572570,112064,112064,45946570,True,shopping,3,16,16,WALK,4594657,1 +36757261,367572610,112064,112064,45946570,False,home,16,3,17,WALK,4594657,1 +86627409,866274090,264107,226869,108284260,True,work,24,9,7,WALK_LRF,10828426,1 +86627413,866274130,264107,226869,108284260,False,home,9,24,19,WALK_LRF,10828426,1 +86627625,866276250,264108,226869,108284530,True,othdiscr,19,9,10,WALK,10828453,1 +86627629,866276290,264108,226869,108284530,False,home,9,19,11,WALK,10828453,1 +106170305,1061703050,323689,256660,132712880,True,work,1,10,11,WALK_LRF,13271288,1 +106170309,1061703090,323689,256660,132712880,False,home,10,1,18,WALK_LRF,13271288,1 +106741681,1067416810,325431,257531,133427100,True,shopping,25,16,7,WALK,13342710,1 +106741682,1067416820,325431,257531,133427100,True,work,12,25,8,WALK,13342710,2 +106741685,1067416850,325431,257531,133427100,False,eatout,7,12,17,WALK,13342710,1 +106741686,1067416860,325431,257531,133427100,False,shopping,25,7,17,WALK_LOC,13342710,2 +106741687,1067416870,325431,257531,133427100,False,escort,7,25,17,WALK_LOC,13342710,3 +106741688,1067416880,325431,257531,133427100,False,home,16,7,17,WALK,13342710,4 +106741961,1067419610,325432,257531,133427450,True,shopping,14,16,12,WALK_LOC,13342745,1 +106741965,1067419650,325432,257531,133427450,False,home,16,14,13,WALK_LOC,13342745,1 +195385257,1953852570,595686,370497,244231570,True,school,8,21,7,WALK_LOC,24423157,1 +195385261,1953852610,595686,370497,244231570,False,home,21,8,16,WALK,24423157,1 +211327433,2113274330,644290,386699,264159290,True,work,12,7,12,WALK_LOC,26415929,1 +211327437,2113274370,644290,386699,264159290,False,home,7,12,22,WALK_LOC,26415929,1 +211327673,2113276730,644291,386699,264159590,True,othmaint,2,7,19,WALK_LOC,26415959,1 +211327677,2113276770,644291,386699,264159590,False,home,7,2,23,TNC_SINGLE,26415959,1 +211327761,2113277610,644291,386699,264159700,True,work,2,7,7,WALK,26415970,1 +211327765,2113277650,644291,386699,264159700,False,home,7,2,17,WALK,26415970,1 +211328025,2113280250,644292,386699,264160030,True,school,9,7,13,WALK_LOC,26416003,1 +211328029,2113280290,644292,386699,264160030,False,othdiscr,7,9,19,WALK_LRF,26416003,1 +211328030,2113280300,644292,386699,264160030,False,home,7,7,19,WALK,26416003,2 +211388201,2113882010,644476,386761,264235250,True,escort,11,16,5,WALK_LOC,26423525,1 +211388205,2113882050,644476,386761,264235250,False,home,16,11,6,WALK_LOC,26423525,1 +211388329,2113883290,644476,386761,264235410,True,othdiscr,16,16,18,WALK,26423541,1 +211388333,2113883330,644476,386761,264235410,False,home,16,16,18,WALK,26423541,1 +211388353,2113883530,644476,386761,264235440,True,othmaint,13,16,18,WALK,26423544,1 +211388357,2113883570,644476,386761,264235440,False,home,16,13,19,WALK,26423544,1 +211388441,2113884410,644476,386761,264235550,True,work,4,16,7,SHARED2FREE,26423555,1 +211388445,2113884450,644476,386761,264235550,False,home,16,4,17,SHARED3FREE,26423555,1 +211388721,2113887210,644477,386761,264235900,True,shopping,16,16,14,WALK,26423590,1 +211388725,2113887250,644477,386761,264235900,False,home,16,16,14,WALK,26423590,1 +211389033,2113890330,644478,386761,264236290,True,school,20,16,11,WALK_LOC,26423629,1 +211389037,2113890370,644478,386761,264236290,False,home,16,20,19,WALK_LRF,26423629,1 +415214745,4152147450,1265898,568785,519018430,True,othdiscr,20,17,9,WALK_LRF,51901843,1 +415214749,4152147490,1265898,568785,519018430,False,home,17,20,20,WALK_LRF,51901843,1 +468119569,4681195690,1427193,703381,585149460,True,shopping,14,25,13,WALK,58514946,1 +468119573,4681195730,1427193,703381,585149460,False,home,25,14,19,WALK,58514946,1 +468119857,4681198570,1427194,703381,585149820,True,othmaint,14,25,7,WALK,58514982,1 +468119861,4681198610,1427194,703381,585149820,False,home,25,14,13,WALK,58514982,1 +468119921,4681199210,1427194,703381,585149900,True,eatout,6,25,16,WALK,58514990,1 +468119922,4681199220,1427194,703381,585149900,True,social,2,6,19,WALK,58514990,2 +468119925,4681199250,1427194,703381,585149900,False,social,6,2,21,WALK,58514990,1 +468119926,4681199260,1427194,703381,585149900,False,shopping,8,6,22,WALK,58514990,2 +468119927,4681199270,1427194,703381,585149900,False,social,7,8,22,WALK,58514990,3 +468119928,4681199280,1427194,703381,585149900,False,home,25,7,22,WALK,58514990,4 +515832417,5158324170,1572659,763879,644790520,True,othmaint,25,6,7,WALK,64479052,1 +515832418,5158324180,1572659,763879,644790520,True,escort,25,25,12,WALK,64479052,2 +515832419,5158324190,1572659,763879,644790520,True,shopping,24,25,17,WALK,64479052,3 +515832421,5158324210,1572659,763879,644790520,False,shopping,25,24,18,WALK,64479052,1 +515832422,5158324220,1572659,763879,644790520,False,escort,7,25,20,WALK,64479052,2 +515832423,5158324230,1572659,763879,644790520,False,home,6,7,20,WALK,64479052,3 +515921265,5159212650,1572930,764150,644901580,True,othmaint,7,9,8,WALK,64490158,1 +515921266,5159212660,1572930,764150,644901580,True,othmaint,9,7,8,WALK,64490158,2 +515921269,5159212690,1572930,764150,644901580,False,home,9,9,11,WALK,64490158,1 +515921305,5159213050,1572930,764150,644901630,True,shopping,7,9,11,WALK,64490163,1 +515921309,5159213090,1572930,764150,644901630,False,home,9,7,16,WALK,64490163,1 +535388201,5353882010,1632281,823501,669235250,True,work,9,13,13,WALK,66923525,1 +535388202,5353882020,1632281,823501,669235250,True,atwork,8,9,13,WALK,66923525,2 +535388205,5353882050,1632281,823501,669235250,False,work,13,8,14,WALK,66923525,1 +535388481,5353884810,1632281,823501,669235600,True,work,13,12,7,WALK,66923560,1 +535388485,5353884850,1632281,823501,669235600,False,home,12,13,19,WALK,66923560,1 +535620049,5356200490,1632987,824207,669525060,True,work,4,18,15,WALK_LOC,66952506,1 +535620053,5356200530,1632987,824207,669525060,False,home,18,4,21,WALK,66952506,1 +615236801,6152368010,1875721,982875,769046000,True,work,10,16,8,WALK_LOC,76904600,1 +615236805,6152368050,1875721,982875,769046000,False,home,16,10,18,WALK_LOC,76904600,1 +615236865,6152368650,1875722,982875,769046080,True,escort,7,16,10,WALK,76904608,1 +615236866,6152368660,1875722,982875,769046080,True,eatout,14,7,13,WALK,76904608,2 +615236869,6152368690,1875722,982875,769046080,False,home,16,14,17,WALK,76904608,1 +708171009,7081710090,2159057,1099626,885213760,True,work,2,20,7,WALK,88521376,1 +708171013,7081710130,2159057,1099626,885213760,False,shopping,8,2,18,WALK,88521376,1 +708171014,7081710140,2159057,1099626,885213760,False,home,20,8,18,WALK_LOC,88521376,2 +708171273,7081712730,2159058,1099626,885214090,True,univ,9,20,15,WALK_LOC,88521409,1 +708171277,7081712770,2159058,1099626,885214090,False,home,20,9,18,WALK_LOC,88521409,1 +708171601,7081716010,2159059,1099626,885214500,True,school,20,20,8,WALK,88521450,1 +708171605,7081716050,2159059,1099626,885214500,False,home,20,20,13,WALK,88521450,1 +806388153,8063881530,2458502,1173905,1007985190,True,shopping,5,8,8,SHARED2FREE,100798519,1 +806388157,8063881570,2458502,1173905,1007985190,False,home,8,5,8,SHARED2FREE,100798519,1 +806388225,8063882250,2458500,1173905,1007985280,True,othmaint,7,8,12,WALK,100798528,1 +806388229,8063882290,2458500,1173905,1007985280,False,home,8,7,20,WALK,100798528,1 +806388401,8063884010,2458501,1173905,1007985500,True,escort,16,8,15,WALK_LOC,100798550,1 +806388405,8063884050,2458501,1173905,1007985500,False,home,8,16,16,WALK_LOC,100798550,1 +806388905,8063889050,2458502,1173905,1007986130,True,social,7,8,8,WALK,100798613,1 +806388906,8063889060,2458502,1173905,1007986130,True,school,8,7,8,WALK,100798613,2 +806388909,8063889090,2458502,1173905,1007986130,False,home,8,8,18,WALK,100798613,1 +806389233,8063892330,2458503,1173905,1007986540,True,school,8,8,8,WALK,100798654,1 +806389237,8063892370,2458503,1173905,1007986540,False,home,8,8,14,WALK,100798654,1 +841877257,8418772570,2566698,1196298,1052346570,True,work,1,25,6,WALK,105234657,1 +841877261,8418772610,2566698,1196298,1052346570,False,home,25,1,17,WALK_LOC,105234657,1 +841877849,8418778490,2566700,1196298,1052347310,True,school,25,25,7,WALK,105234731,1 +841877853,8418778530,2566700,1196298,1052347310,False,home,25,25,15,WALK,105234731,1 +841878177,8418781770,2566701,1196298,1052347720,True,school,3,25,8,WALK,105234772,1 +841878181,8418781810,2566701,1196298,1052347720,False,home,25,3,13,WALK,105234772,1 +841878505,8418785050,2566702,1196298,1052348130,True,school,6,25,12,WALK_LOC,105234813,1 +841878509,8418785090,2566702,1196298,1052348130,False,shopping,25,6,20,WALK_LOC,105234813,1 +841878510,8418785100,2566702,1196298,1052348130,False,home,25,25,20,WALK,105234813,2 +963188601,9631886010,2936550,1286259,1203985750,True,othdiscr,6,8,14,WALK,120398575,1 +963188605,9631886050,2936550,1286259,1203985750,False,home,8,6,17,WALK,120398575,1 +963188665,9631886650,2936550,1286259,1203985830,True,shopping,11,8,12,WALK,120398583,1 +963188669,9631886690,2936550,1286259,1203985830,False,home,8,11,13,WALK,120398583,1 +963286193,9632861930,2936848,1286557,1204107740,True,eatout,9,11,14,WALK,120410774,1 +963286197,9632861970,2936848,1286557,1204107740,False,home,11,9,15,WALK,120410774,1 +963286345,9632863450,2936848,1286557,1204107930,True,escort,10,11,15,WALK,120410793,1 +963286346,9632863460,2936848,1286557,1204107930,True,othdiscr,11,10,16,WALK,120410793,2 +963286349,9632863490,2936848,1286557,1204107930,False,home,11,11,16,WALK,120410793,1 +1004301497,10043014970,3061894,1363467,1255376870,True,shopping,20,24,12,TNC_SHARED,125537687,1 +1004301501,10043015010,3061894,1363467,1255376870,False,home,24,20,13,DRIVEALONEFREE,125537687,1 +1004301761,10043017610,3061895,1363467,1255377200,True,othdiscr,9,24,17,WALK_HVY,125537720,1 +1004301765,10043017650,3061895,1363467,1255377200,False,home,24,9,19,WALK_LRF,125537720,1 +1004301785,10043017850,3061895,1363467,1255377230,True,othmaint,7,24,15,WALK,125537723,1 +1004301789,10043017890,3061895,1363467,1255377230,False,home,24,7,16,WALK,125537723,1 +1004301873,10043018730,3061895,1363467,1255377340,True,work,25,24,6,WALK,125537734,1 +1004301877,10043018770,3061895,1363467,1255377340,False,home,24,25,13,WALK,125537734,1 +1045822217,10458222170,3188483,1402945,1307277770,True,othdiscr,24,25,9,WALK,130727777,1 +1045822221,10458222210,3188483,1402945,1307277770,False,home,25,24,9,WALK,130727777,1 +1045822409,10458224090,3188482,1402945,1307278010,True,work,7,25,8,WALK,130727801,1 +1045822410,10458224100,3188482,1402945,1307278010,True,work,24,7,9,WALK,130727801,2 +1045822413,10458224130,3188482,1402945,1307278010,False,home,25,24,17,WALK,130727801,1 +1045822737,10458227370,3188483,1402945,1307278420,True,work,2,25,9,WALK,130727842,1 +1045822741,10458227410,3188483,1402945,1307278420,False,home,25,2,17,WALK_LOC,130727842,1 +1045823001,10458230010,3188484,1402945,1307278750,True,univ,13,25,16,WALK,130727875,1 +1045823005,10458230050,3188484,1402945,1307278750,False,shopping,7,13,17,WALK,130727875,1 +1045823006,10458230060,3188484,1402945,1307278750,False,othmaint,7,7,17,WALK,130727875,2 +1045823007,10458230070,3188484,1402945,1307278750,False,home,25,7,17,WALK,130727875,3 +1045823065,10458230650,3188484,1402945,1307278830,True,work,2,25,9,WALK,130727883,1 +1045823069,10458230690,3188484,1402945,1307278830,False,home,25,2,12,WALK_LOC,130727883,1 +1045823393,10458233930,3188485,1402945,1307279240,True,escort,25,25,10,BIKE,130727924,1 +1045823394,10458233940,3188485,1402945,1307279240,True,work,2,25,12,BIKE,130727924,2 +1045823397,10458233970,3188485,1402945,1307279240,False,eatout,7,2,20,BIKE,130727924,1 +1045823398,10458233980,3188485,1402945,1307279240,False,home,25,7,21,BIKE,130727924,2 +1060575737,10605757370,3233462,1445222,1325719670,True,othdiscr,14,17,7,WALK,132571967,1 +1060575741,10605757410,3233462,1445222,1325719670,False,home,17,14,7,WALK_LOC,132571967,1 +1060575801,10605758010,3233462,1445222,1325719750,True,shopping,16,17,6,WALK,132571975,1 +1060575805,10605758050,3233462,1445222,1325719750,False,home,17,16,6,WALK_LRF,132571975,1 +1060575809,10605758090,3233462,1445222,1325719760,True,shopping,13,17,7,WALK_LOC,132571976,1 +1060575813,10605758130,3233462,1445222,1325719760,False,home,17,13,7,WALK_LOC,132571976,1 +1060575849,10605758490,3233462,1445222,1325719810,True,work,22,17,7,WALK_LRF,132571981,1 +1060575853,10605758530,3233462,1445222,1325719810,False,home,17,22,23,TNC_SINGLE,132571981,1 +1091770617,10917706170,3328568,1511234,1364713270,True,work,1,8,6,WALK_LRF,136471327,1 +1091770621,10917706210,3328568,1511234,1364713270,False,home,8,1,17,WALK,136471327,1 +1091770681,10917706810,3328569,1511234,1364713350,True,eatout,13,8,14,WALK,136471335,1 +1091770685,10917706850,3328569,1511234,1364713350,False,home,8,13,16,WALK_LRF,136471335,1 +1091770897,10917708970,3328569,1511234,1364713620,True,eatout,9,8,10,WALK_LOC,136471362,1 +1091770898,10917708980,3328569,1511234,1364713620,True,shopping,4,9,10,WALK_LRF,136471362,2 +1091770901,10917709010,3328569,1511234,1364713620,False,home,8,4,10,WALK_LRF,136471362,1 +1146472377,11464723770,3495342,1594621,1433090470,True,othdiscr,15,10,16,WALK_LOC,143309047,1 +1146472381,11464723810,3495342,1594621,1433090470,False,home,10,15,22,WALK_LRF,143309047,1 +1146472489,11464724890,3495342,1594621,1433090610,True,work,11,10,7,WALK_LOC,143309061,1 +1146472493,11464724930,3495342,1594621,1433090610,False,home,10,11,16,WALK,143309061,1 +1146472537,11464725370,3495343,1594621,1433090670,True,othmaint,6,9,14,WALK,143309067,1 +1146472538,11464725380,3495343,1594621,1433090670,True,shopping,6,6,14,WALK,143309067,2 +1146472539,11464725390,3495343,1594621,1433090670,True,escort,7,6,14,WALK,143309067,3 +1146472540,11464725400,3495343,1594621,1433090670,True,atwork,16,7,14,WALK,143309067,4 +1146472541,11464725410,3495343,1594621,1433090670,False,work,9,16,14,WALK,143309067,1 +1146472817,11464728170,3495343,1594621,1433091020,True,work,9,10,13,WALK,143309102,1 +1146472821,11464728210,3495343,1594621,1433091020,False,home,10,9,17,WALK,143309102,1 +1179607441,11796074410,3596364,1645132,1474509300,True,eatout,5,9,14,WALK,147450930,1 +1179607445,11796074450,3596364,1645132,1474509300,False,home,9,5,14,WALK,147450930,1 +1179607657,11796076570,3596364,1645132,1474509570,True,shopping,22,9,19,WALK_LRF,147450957,1 +1179607661,11796076610,3596364,1645132,1474509570,False,shopping,8,22,20,WALK_LRF,147450957,1 +1179607662,11796076620,3596364,1645132,1474509570,False,eatout,9,8,20,WALK_LOC,147450957,2 +1179607663,11796076630,3596364,1645132,1474509570,False,home,9,9,20,WALK,147450957,3 +1179608009,11796080090,3596365,1645132,1474510010,True,social,9,9,7,WALK,147451001,1 +1179608013,11796080130,3596365,1645132,1474510010,False,home,9,9,18,WALK,147451001,1 +1276281769,12762817690,3891102,1747467,1595352210,True,work,11,16,7,WALK_LOC,159535221,1 +1276281773,12762817730,3891102,1747467,1595352210,False,home,16,11,16,WALK_LOC,159535221,1 +1276282049,12762820490,3891103,1747467,1595352560,True,shopping,16,16,13,WALK,159535256,1 +1276282053,12762820530,3891103,1747467,1595352560,False,home,16,16,16,WALK,159535256,1 +1276282313,12762823130,3891104,1747467,1595352890,True,othdiscr,2,16,14,WALK,159535289,1 +1276282317,12762823170,3891104,1747467,1595352890,False,home,16,2,15,WALK,159535289,1 +1276282321,12762823210,3891104,1747467,1595352900,True,othdiscr,19,16,16,WALK_LOC,159535290,1 +1276282325,12762823250,3891104,1747467,1595352900,False,home,16,19,21,WALK_LOC,159535290,1 +1276282361,12762823610,3891104,1747467,1595352950,True,school,17,16,7,WALK_LRF,159535295,1 +1276282365,12762823650,3891104,1747467,1595352950,False,home,16,17,14,WALK_LRF,159535295,1 +1368289969,13682899690,4171615,1810015,1710362460,True,univ,12,16,13,WALK,171036246,1 +1368289973,13682899730,4171615,1810015,1710362460,False,home,16,12,13,WALK,171036246,1 +1368290273,13682902730,4171616,1810015,1710362840,True,othmaint,3,16,9,WALK,171036284,1 +1368290277,13682902770,4171616,1810015,1710362840,False,home,16,3,11,WALK,171036284,1 +1368290689,13682906890,4171617,1810015,1710363360,True,social,8,16,9,WALK,171036336,1 +1368290690,13682906900,4171617,1810015,1710363360,True,work,15,8,12,WALK,171036336,2 +1368290693,13682906930,4171617,1810015,1710363360,False,home,16,15,18,WALK,171036336,1 +1368291297,13682912970,4171619,1810015,1710364120,True,shopping,1,16,13,WALK,171036412,1 +1368291301,13682913010,4171619,1810015,1710364120,False,shopping,7,1,14,WALK,171036412,1 +1368291302,13682913020,4171619,1810015,1710364120,False,home,16,7,15,WALK,171036412,2 +1368291609,13682916090,4171620,1810015,1710364510,True,school,8,16,7,WALK_LOC,171036451,1 +1368291613,13682916130,4171620,1810015,1710364510,False,home,16,8,15,WALK_LOC,171036451,1 +1368292281,13682922810,4171622,1810015,1710365350,True,shopping,19,16,9,WALK,171036535,1 +1368292285,13682922850,4171622,1810015,1710365350,False,home,16,19,15,WALK,171036535,1 +1368292377,13682923770,4171623,1810015,1710365470,True,atwork,7,21,10,WALK,171036547,1 +1368292381,13682923810,4171623,1810015,1710365470,False,othmaint,6,7,10,WALK,171036547,1 +1368292382,13682923820,4171623,1810015,1710365470,False,work,21,6,10,WALK,171036547,2 +1368292657,13682926570,4171623,1810015,1710365820,True,escort,25,16,8,WALK,171036582,1 +1368292658,13682926580,4171623,1810015,1710365820,True,work,21,25,8,WALK,171036582,2 +1368292661,13682926610,4171623,1810015,1710365820,False,work,7,21,23,WALK,171036582,1 +1368292662,13682926620,4171623,1810015,1710365820,False,home,16,7,23,WALK,171036582,2 +1582205617,15822056170,4823797,1952792,1977757020,True,othdiscr,16,14,16,WALK,197775702,1 +1582205621,15822056210,4823797,1952792,1977757020,False,home,14,16,18,WALK,197775702,1 +1582205641,15822056410,4823797,1952792,1977757050,True,othmaint,7,14,15,WALK,197775705,1 +1582205645,15822056450,4823797,1952792,1977757050,False,home,14,7,15,WALK,197775705,1 +1582205729,15822057290,4823797,1952792,1977757160,True,work,12,14,11,BIKE,197775716,1 +1582205733,15822057330,4823797,1952792,1977757160,False,home,14,12,15,BIKE,197775716,1 +1658748793,16587487930,5057160,2048204,2073435990,True,work,23,5,7,WALK_LRF,207343599,1 +1658748797,16587487970,5057160,2048204,2073435990,False,home,5,23,13,WALK_LOC,207343599,1 +1658806913,16588069130,5057338,2048382,2073508640,True,eatout,10,7,20,WALK,207350864,1 +1658806917,16588069170,5057338,2048382,2073508640,False,home,7,10,20,WALK,207350864,1 +1658807089,16588070890,5057338,2048382,2073508860,True,othmaint,7,7,18,WALK,207350886,1 +1658807093,16588070930,5057338,2048382,2073508860,False,home,7,7,18,WALK,207350886,1 +1658807129,16588071290,5057338,2048382,2073508910,True,shopping,25,7,21,WALK,207350891,1 +1658807133,16588071330,5057338,2048382,2073508910,False,home,7,25,21,WALK,207350891,1 +1658807153,16588071530,5057338,2048382,2073508940,True,social,6,7,18,WALK_LOC,207350894,1 +1658807157,16588071570,5057338,2048382,2073508940,False,home,7,6,19,WALK_LOC,207350894,1 +1658807177,16588071770,5057338,2048382,2073508970,True,work,2,7,6,WALK,207350897,1 +1658807181,16588071810,5057338,2048382,2073508970,False,home,7,2,17,WALK_LOC,207350897,1 +1767186249,17671862490,5387762,2223027,2208982810,True,work,4,9,7,WALK_HVY,220898281,1 +1767186253,17671862530,5387762,2223027,2208982810,False,home,9,4,17,WALK_LRF,220898281,1 +1767186577,17671865770,5387763,2223027,2208983220,True,escort,7,9,8,WALK,220898322,1 +1767186578,17671865780,5387763,2223027,2208983220,True,work,14,7,8,WALK_LOC,220898322,2 +1767186581,17671865810,5387763,2223027,2208983220,False,othmaint,9,14,17,WALK_LRF,220898322,1 +1767186582,17671865820,5387763,2223027,2208983220,False,home,9,9,17,WALK,220898322,2 +1767666161,17676661610,5389226,2223759,2209582700,True,atwork,2,1,13,WALK,220958270,1 +1767666165,17676661650,5389226,2223759,2209582700,False,work,1,2,13,WALK,220958270,1 +1767666233,17676662330,5389226,2223759,2209582790,True,eatout,13,16,20,TNC_SINGLE,220958279,1 +1767666237,17676662370,5389226,2223759,2209582790,False,home,16,13,20,TAXI,220958279,1 +1767666441,17676664410,5389226,2223759,2209583050,True,work,1,16,9,WALK,220958305,1 +1767666445,17676664450,5389226,2223759,2209583050,False,home,16,1,18,WALK,220958305,1 +1767666769,17676667690,5389227,2223759,2209583460,True,work,23,16,6,WALK,220958346,1 +1767666773,17676667730,5389227,2223759,2209583460,False,home,16,23,20,WALK,220958346,1 +2396217321,23962173210,7305540,2727273,2995271650,True,othdiscr,12,20,15,WALK,299527165,1 +2396217325,23962173250,7305540,2727273,2995271650,False,home,20,12,21,WALK,299527165,1 +2396217433,23962174330,7305540,2727273,2995271790,True,work,20,20,11,WALK,299527179,1 +2396217437,23962174370,7305540,2727273,2995271790,False,home,20,20,15,WALK,299527179,1 +2396217761,23962177610,7305541,2727273,2995272200,True,work,9,20,6,WALK,299527220,1 +2396217765,23962177650,7305541,2727273,2995272200,False,home,20,9,13,WALK,299527220,1 +2396217769,23962177690,7305541,2727273,2995272210,True,work,9,20,14,WALK,299527221,1 +2396217773,23962177730,7305541,2727273,2995272210,False,home,20,9,18,WALK,299527221,1 +2444719729,24447197290,7453413,2762078,3055899660,True,shopping,19,20,16,WALK,305589966,1 +2444719733,24447197330,7453413,2762078,3055899660,False,home,20,19,16,WALK,305589966,1 +2463971785,24639717850,7512109,2820774,3079964730,True,atwork,8,2,10,WALK,307996473,1 +2463971789,24639717890,7512109,2820774,3079964730,False,work,7,8,10,WALK,307996473,1 +2463971790,24639717900,7512109,2820774,3079964730,False,work,2,7,10,WALK,307996473,2 +2463972065,24639720650,7512109,2820774,3079965080,True,work,2,8,8,WALK,307996508,1 +2463972069,24639720690,7512109,2820774,3079965080,False,shopping,8,2,18,WALK,307996508,1 +2463972070,24639720700,7512109,2820774,3079965080,False,shopping,8,8,19,WALK,307996508,2 +2463972071,24639720710,7512109,2820774,3079965080,False,home,8,8,19,WALK,307996508,3 +2464104641,24641046410,7512514,2821179,3080130800,True,eatout,13,8,8,WALK,308013080,1 +2464104645,24641046450,7512514,2821179,3080130800,False,home,8,13,16,WALK,308013080,1 +2464104857,24641048570,7512514,2821179,3080131070,True,shopping,6,8,17,WALK,308013107,1 +2464104861,24641048610,7512514,2821179,3080131070,False,home,8,6,19,WALK,308013107,1 +2464104881,24641048810,7512514,2821179,3080131100,True,social,9,8,16,WALK,308013110,1 +2464104885,24641048850,7512514,2821179,3080131100,False,home,8,9,16,WALK_LOC,308013110,1 +2464406009,24644060090,7513432,2822097,3080507510,True,work,7,8,5,BIKE,308050751,1 +2464406013,24644060130,7513432,2822097,3080507510,False,home,8,7,15,BIKE,308050751,1 +2464446025,24644460250,7513554,2822219,3080557530,True,work,9,8,5,WALK,308055753,1 +2464446029,24644460290,7513554,2822219,3080557530,False,home,8,9,16,WALK,308055753,1 +2464449633,24644496330,7513565,2822230,3080562040,True,univ,9,8,9,WALK,308056204,1 +2464449634,24644496340,7513565,2822230,3080562040,True,work,25,9,9,WALK,308056204,2 +2464449637,24644496370,7513565,2822230,3080562040,False,home,8,25,18,WALK,308056204,1 +2467713777,24677137770,7523517,2832182,3084642220,True,othdiscr,9,7,8,WALK,308464222,1 +2467713781,24677137810,7523517,2832182,3084642220,False,home,7,9,13,WALK,308464222,1 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/survey_households.csv b/activitysim/estimation/test/test_edb_creation/survey_data/survey_households.csv new file mode 100644 index 0000000000..77ae6411db --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/survey_households.csv @@ -0,0 +1,51 @@ +household_id,home_zone_id,income,hhsize,HHT,auto_ownership,num_workers +982875,16,30900,2,5,1,2 +1810015,16,99700,9,2,1,4 +1099626,20,58160,3,1,1,1 +763879,6,59220,1,4,1,0 +824207,18,51000,1,4,0,1 +2822230,8,0,1,0,0,1 +2821179,8,0,1,0,0,1 +1196298,25,31360,5,1,0,1 +1363467,24,58300,2,2,1,1 +386761,16,21000,3,1,1,2 +2223027,9,133000,2,1,0,2 +2832182,7,0,1,0,0,0 +2727273,20,118800,2,1,1,2 +1444715,14,60000,1,4,0,1 +112064,16,18000,1,6,1,1 +1952792,14,61900,1,4,1,1 +2223759,16,144100,2,1,0,2 +2820538,8,0,1,0,0,1 +27726,10,24000,1,4,0,0 +570454,21,1500,1,4,0,0 +370497,21,18000,3,2,0,1 +1173905,8,45000,4,1,1,0 +1286557,11,30000,1,4,1,0 +2762078,20,0,1,0,0,0 +2832429,16,0,1,0,1,0 +386699,7,21000,3,1,0,2 +2822097,8,0,1,0,1,1 +764150,9,34630,1,4,1,0 +2820774,8,0,1,0,1,1 +1594621,10,69200,2,1,0,2 +257531,16,12000,2,7,0,2 +1645132,9,92700,2,3,0,0 +29625,17,4200,1,4,0,0 +1402945,25,37200,4,1,1,4 +823501,12,30000,1,4,0,1 +1747467,16,76000,3,1,0,2 +1445222,17,68000,1,6,0,1 +26844,8,3500,1,4,0,0 +2822219,8,0,1,0,0,1 +110675,16,5050,1,4,0,1 +2048204,5,388000,1,4,0,1 +1286259,8,34400,1,6,0,0 +568785,17,8000,1,4,1,0 +26686,8,0,1,4,0,0 +1511234,8,88600,2,1,0,1 +2048382,7,195000,1,4,0,1 +256660,10,27800,2,7,0,2 +703381,25,17210,2,1,1,0 +226869,9,4000,2,1,0,1 +823426,11,50000,1,4,1,1 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/survey_joint_tour_participants.csv b/activitysim/estimation/test/test_edb_creation/survey_data/survey_joint_tour_participants.csv new file mode 100644 index 0000000000..c7c2f6128f --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/survey_joint_tour_participants.csv @@ -0,0 +1,8 @@ +participant_id,tour_id,household_id,person_id,participant_num +22095827901,220958279,2223759,5389226,1 +22095827902,220958279,2223759,5389227,2 +10079851903,100798519,1173905,2458502,1 +10079851904,100798519,1173905,2458503,2 +13072777702,130727777,1402945,3188483,1 +13072777703,130727777,1402945,3188484,2 +13072777704,130727777,1402945,3188485,3 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/survey_persons.csv b/activitysim/estimation/test/test_edb_creation/survey_data/survey_persons.csv new file mode 100644 index 0000000000..e2f1c5c621 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/survey_persons.csv @@ -0,0 +1,91 @@ +person_id,household_id,age,PNUM,sex,pemploy,pstudent,ptype,school_zone_id,workplace_zone_id,free_parking_at_work +26686,26686,39,1,1,3,3,4,-1,-1,False +26844,26844,51,1,1,3,3,4,-1,-1,False +27726,27726,52,1,1,3,3,4,-1,-1,False +29625,29625,61,1,1,3,3,4,-1,-1,False +110675,110675,30,1,1,2,3,2,-1,19,False +112064,112064,48,1,2,2,3,2,-1,21,False +264107,226869,28,1,1,2,3,2,-1,24,False +264108,226869,27,2,2,3,3,4,-1,-1,False +323689,256660,22,1,2,2,3,2,-1,1,False +323690,256660,23,2,2,2,3,2,-1,5,False +325431,257531,22,1,2,2,3,2,-1,12,False +325432,257531,22,2,2,2,3,2,-1,2,False +595684,370497,52,1,1,2,3,2,-1,4,False +595685,370497,18,2,1,3,1,6,13,-1,False +595686,370497,14,3,2,4,1,7,8,-1,False +644290,386699,47,1,1,2,3,2,-1,12,False +644291,386699,43,2,2,1,3,1,-1,2,False +644292,386699,7,3,1,4,1,7,9,-1,False +644476,386761,47,1,1,2,3,2,-1,4,False +644477,386761,43,2,2,1,3,1,-1,15,False +644478,386761,7,3,1,4,1,7,20,-1,False +1265898,568785,80,1,1,3,3,5,-1,-1,False +1267567,570454,85,1,1,3,3,5,-1,-1,False +1427193,703381,65,1,1,3,3,5,-1,-1,False +1427194,703381,69,2,2,3,3,5,-1,-1,False +1572659,763879,60,1,1,3,3,4,-1,-1,False +1572930,764150,52,1,1,3,3,4,-1,-1,False +1632206,823426,31,1,1,1,3,1,-1,2,False +1632281,823501,36,1,1,1,3,1,-1,13,False +1632987,824207,29,1,1,2,3,2,-1,4,False +1875721,982875,25,1,1,1,3,1,-1,10,False +1875722,982875,25,2,2,2,2,3,13,4,False +2159057,1099626,35,1,1,1,3,1,-1,2,False +2159058,1099626,36,2,2,3,2,3,9,-1,False +2159059,1099626,3,3,1,4,1,8,20,-1,False +2458500,1173905,40,1,1,3,3,4,-1,-1,False +2458501,1173905,42,2,2,3,3,4,-1,-1,False +2458502,1173905,12,3,2,4,1,7,8,-1,False +2458503,1173905,9,4,1,4,1,7,8,-1,False +2566698,1196298,36,1,1,1,3,1,-1,1,False +2566699,1196298,29,2,2,3,3,4,-1,-1,False +2566700,1196298,8,3,1,4,1,7,25,-1,False +2566701,1196298,4,4,2,4,1,8,3,-1,False +2566702,1196298,2,5,1,4,1,8,6,-1,False +2936550,1286259,67,1,2,3,3,5,-1,-1,False +2936848,1286557,67,1,1,3,3,5,-1,-1,False +3061894,1363467,68,1,1,3,3,5,-1,-1,False +3061895,1363467,63,2,2,2,3,2,-1,25,False +3188482,1402945,66,1,1,2,3,2,-1,24,False +3188483,1402945,48,2,2,2,3,2,-1,2,False +3188484,1402945,22,3,2,2,2,3,13,2,False +3188485,1402945,19,4,2,2,2,3,9,2,False +3232955,1444715,42,1,1,2,3,2,-1,8,False +3233462,1445222,43,1,2,1,3,1,-1,22,False +3328568,1511234,53,1,2,1,3,1,-1,1,False +3328569,1511234,61,2,1,3,2,3,13,-1,False +3495342,1594621,31,1,1,1,3,1,-1,11,False +3495343,1594621,25,2,2,2,3,2,-1,9,False +3596364,1645132,56,1,2,3,2,3,9,-1,False +3596365,1645132,13,2,2,4,1,7,10,-1,False +3891102,1747467,36,1,2,1,3,1,-1,11,False +3891103,1747467,67,2,1,2,3,2,-1,12,False +3891104,1747467,8,3,1,4,1,7,17,-1,False +4171615,1810015,29,1,1,3,2,3,12,-1,False +4171616,1810015,20,2,1,3,3,4,-1,-1,False +4171617,1810015,27,3,1,1,3,1,-1,15,False +4171618,1810015,24,4,1,2,3,2,-1,13,False +4171619,1810015,58,5,2,3,3,4,-1,-1,False +4171620,1810015,3,6,2,4,1,8,8,-1,False +4171621,1810015,19,7,2,2,1,6,13,22,False +4171622,1810015,31,8,2,3,3,4,-1,-1,False +4171623,1810015,36,9,2,1,3,1,-1,21,False +4823797,1952792,74,1,1,2,3,2,-1,12,False +5057160,2048204,40,1,1,1,3,1,-1,23,False +5057338,2048382,33,1,1,1,3,1,-1,2,False +5387762,2223027,49,1,1,1,3,1,-1,4,False +5387763,2223027,39,2,2,1,3,1,-1,14,False +5389226,2223759,28,1,2,1,3,1,-1,1,False +5389227,2223759,29,2,1,1,3,1,-1,23,False +7305540,2727273,72,1,1,2,3,2,-1,20,False +7305541,2727273,62,2,2,2,3,2,-1,9,False +7453413,2762078,57,1,1,3,3,4,-1,-1,False +7511873,2820538,18,1,1,2,3,2,-1,11,False +7512109,2820774,35,1,1,1,3,1,-1,2,False +7512514,2821179,60,1,1,2,3,2,-1,22,False +7513432,2822097,39,1,2,2,3,2,-1,7,False +7513554,2822219,18,1,2,1,3,1,-1,9,False +7513565,2822230,19,1,2,2,2,3,12,25,False +7523517,2832182,87,1,2,3,3,5,-1,-1,False +7523764,2832429,93,1,2,3,3,5,-1,-1,False diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/survey_tours.csv b/activitysim/estimation/test/test_edb_creation/survey_data/survey_tours.csv new file mode 100644 index 0000000000..02a2a170f7 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/survey_tours.csv @@ -0,0 +1,118 @@ +tour_id,person_id,household_id,tour_type,tour_category,destination,origin,start,end,tour_mode,parent_tour_id +10828426,264107,226869,work,mandatory,24,9,7,19,WALK_LRF, +13271288,323689,256660,work,mandatory,1,10,11,18,WALK_LRF, +13342710,325431,257531,work,mandatory,12,16,7,17,TNC_SINGLE, +24423157,595686,370497,school,mandatory,8,21,7,16,WALK_LOC, +26415929,644290,386699,work,mandatory,12,7,12,22,WALK_LOC, +26415970,644291,386699,work,mandatory,2,7,7,17,WALK, +26416003,644292,386699,school,mandatory,9,7,13,19,WALK_LRF, +26423555,644476,386761,work,mandatory,4,16,7,17,SHARED3FREE, +26423629,644478,386761,school,mandatory,20,16,11,19,WALK_LRF, +66923560,1632281,823501,work,mandatory,13,12,7,19,TNC_SINGLE, +66952506,1632987,824207,work,mandatory,4,18,15,21,WALK_LRF, +76904600,1875721,982875,work,mandatory,10,16,8,18,WALK_LOC, +88521376,2159057,1099626,work,mandatory,2,20,7,18,WALK_LRF, +88521409,2159058,1099626,school,mandatory,9,20,15,18,TAXI, +88521450,2159059,1099626,school,mandatory,20,20,8,13,WALK, +100798613,2458502,1173905,school,mandatory,8,8,8,18,WALK, +100798654,2458503,1173905,school,mandatory,8,8,8,14,WALK, +105234657,2566698,1196298,work,mandatory,1,25,6,17,TNC_SINGLE, +105234731,2566700,1196298,school,mandatory,25,25,7,15,WALK, +105234772,2566701,1196298,school,mandatory,3,25,8,13,WALK, +105234813,2566702,1196298,school,mandatory,6,25,12,20,WALK_LOC, +125537734,3061895,1363467,work,mandatory,25,24,6,13,WALK, +130727801,3188482,1402945,work,mandatory,24,25,8,17,WALK, +130727842,3188483,1402945,work,mandatory,2,25,9,17,WALK_LOC, +130727883,3188484,1402945,work,mandatory,2,25,9,12,WALK_LOC, +130727875,3188484,1402945,school,mandatory,13,25,16,17,WALK, +130727924,3188485,1402945,work,mandatory,2,25,10,21,BIKE, +132571981,3233462,1445222,work,mandatory,22,17,7,23,TNC_SINGLE, +136471327,3328568,1511234,work,mandatory,1,8,6,17,WALK_LRF, +143309061,3495342,1594621,work,mandatory,11,10,7,16,WALK_LOC, +143309102,3495343,1594621,work,mandatory,9,10,13,17,WALK, +159535221,3891102,1747467,work,mandatory,11,16,7,16,WALK_LOC, +159535295,3891104,1747467,school,mandatory,17,16,7,14,WALK_LRF, +171036246,4171615,1810015,school,mandatory,12,16,13,13,WALK, +171036336,4171617,1810015,work,mandatory,15,16,9,18,WALK, +171036451,4171620,1810015,school,mandatory,8,16,7,15,WALK_LOC, +171036582,4171623,1810015,work,mandatory,21,16,8,23,WALK, +197775716,4823797,1952792,work,mandatory,12,14,11,15,BIKE, +207343599,5057160,2048204,work,mandatory,23,5,7,13,TNC_SINGLE, +207350897,5057338,2048382,work,mandatory,2,7,6,17,TNC_SINGLE, +220898281,5387762,2223027,work,mandatory,4,9,7,17,WALK_HVY, +220898322,5387763,2223027,work,mandatory,14,9,8,17,WALK_HVY, +220958305,5389226,2223759,work,mandatory,1,16,9,18,WALK, +220958346,5389227,2223759,work,mandatory,23,16,6,20,WALK, +299527179,7305540,2727273,work,mandatory,20,20,11,15,DRIVEALONEFREE, +299527220,7305541,2727273,work,mandatory,9,20,6,13,WALK, +299527221,7305541,2727273,work,mandatory,9,20,14,18,WALK, +307996508,7512109,2820774,work,mandatory,2,8,8,19,WALK, +308050751,7513432,2822097,work,mandatory,7,8,5,15,BIKE, +308055753,7513554,2822219,work,mandatory,9,8,5,16,WALK, +308056204,7513565,2822230,work,mandatory,25,8,9,18,WALK, +220958279,5389226,2223759,eatout,joint,13,16,20,20,WALK, +100798519,2458502,1173905,shopping,joint,5,8,8,8,SHARED2FREE, +130727777,3188483,1402945,othdiscr,joint,24,25,9,9,WALK, +1094154,26686,26686,othmaint,non_mandatory,9,8,12,13,BIKE, +1094132,26686,26686,eatout,non_mandatory,5,8,19,19,WALK, +1100640,26844,26844,social,non_mandatory,7,8,8,12,WALK, +1136791,27726,27726,othdiscr,non_mandatory,9,10,8,10,WALK, +1214658,29625,29625,shopping,non_mandatory,17,17,15,15,WALK, +4594657,112064,112064,shopping,non_mandatory,3,16,16,17,WALK, +4594649,112064,112064,othdiscr,non_mandatory,21,16,12,14,DRIVEALONEFREE, +10828453,264108,226869,othdiscr,non_mandatory,19,9,10,11,WALK, +13342745,325432,257531,shopping,non_mandatory,14,16,12,13,TAXI, +26415959,644291,386699,othmaint,non_mandatory,2,7,19,23,TNC_SINGLE, +26423525,644476,386761,escort,non_mandatory,11,16,5,6,TNC_SINGLE, +26423544,644476,386761,othmaint,non_mandatory,13,16,18,19,WALK, +26423541,644476,386761,othdiscr,non_mandatory,16,16,18,18,WALK, +26423590,644477,386761,shopping,non_mandatory,16,16,14,14,DRIVEALONEFREE, +51901843,1265898,568785,othdiscr,non_mandatory,20,17,9,20,WALK_LRF, +58514946,1427193,703381,shopping,non_mandatory,14,25,13,19,WALK, +58514982,1427194,703381,othmaint,non_mandatory,14,25,7,13,WALK, +58514990,1427194,703381,social,non_mandatory,2,25,16,22,WALK, +64479052,1572659,763879,shopping,non_mandatory,24,6,7,20,WALK, +64490163,1572930,764150,shopping,non_mandatory,7,9,11,16,WALK, +64490158,1572930,764150,othmaint,non_mandatory,9,9,8,11,WALK, +76904608,1875722,982875,eatout,non_mandatory,14,16,10,17,WALK, +100798528,2458500,1173905,othmaint,non_mandatory,7,8,12,20,WALK, +100798550,2458501,1173905,escort,non_mandatory,16,8,15,16,WALK_LOC, +120398583,2936550,1286259,shopping,non_mandatory,11,8,12,13,WALK, +120398575,2936550,1286259,othdiscr,non_mandatory,6,8,14,17,WALK, +120410793,2936848,1286557,othdiscr,non_mandatory,11,11,15,16,DRIVEALONEFREE, +120410774,2936848,1286557,eatout,non_mandatory,9,11,14,15,DRIVEALONEFREE, +125537687,3061894,1363467,shopping,non_mandatory,20,24,12,13,DRIVEALONEFREE, +125537723,3061895,1363467,othmaint,non_mandatory,7,24,15,16,WALK, +125537720,3061895,1363467,othdiscr,non_mandatory,9,24,17,19,WALK_HVY, +132571975,3233462,1445222,shopping,non_mandatory,16,17,6,6,WALK_LRF, +132571976,3233462,1445222,shopping,non_mandatory,13,17,7,7,WALK_LOC, +132571967,3233462,1445222,othdiscr,non_mandatory,14,17,7,7,WALK_LRF, +136471362,3328569,1511234,shopping,non_mandatory,4,8,10,10,WALK_LRF, +136471335,3328569,1511234,eatout,non_mandatory,13,8,14,16,WALK_LRF, +143309047,3495342,1594621,othdiscr,non_mandatory,15,10,16,22,TNC_SINGLE, +147450957,3596364,1645132,shopping,non_mandatory,22,9,19,20,WALK_LRF, +147450930,3596364,1645132,eatout,non_mandatory,5,9,14,14,WALK, +147451001,3596365,1645132,social,non_mandatory,9,9,7,18,TAXI, +159535256,3891103,1747467,shopping,non_mandatory,16,16,13,16,WALK, +159535289,3891104,1747467,othdiscr,non_mandatory,2,16,14,15,WALK, +159535290,3891104,1747467,othdiscr,non_mandatory,19,16,16,21,WALK_LOC, +171036284,4171616,1810015,othmaint,non_mandatory,3,16,9,11,WALK, +171036412,4171619,1810015,shopping,non_mandatory,1,16,13,15,WALK, +171036535,4171622,1810015,shopping,non_mandatory,19,16,9,15,WALK, +197775705,4823797,1952792,othmaint,non_mandatory,7,14,15,15,DRIVEALONEFREE, +197775702,4823797,1952792,othdiscr,non_mandatory,16,14,16,18,WALK, +207350891,5057338,2048382,shopping,non_mandatory,25,7,21,21,WALK_LOC, +207350886,5057338,2048382,othmaint,non_mandatory,7,7,18,18,WALK, +207350864,5057338,2048382,eatout,non_mandatory,10,7,20,20,WALK_LRF, +207350894,5057338,2048382,social,non_mandatory,6,7,18,19,TNC_SINGLE, +299527165,7305540,2727273,othdiscr,non_mandatory,12,20,15,21,WALK, +305589966,7453413,2762078,shopping,non_mandatory,19,20,16,16,WALK, +308013107,7512514,2821179,shopping,non_mandatory,6,8,17,19,WALK, +308013080,7512514,2821179,eatout,non_mandatory,13,8,8,16,WALK, +308013110,7512514,2821179,social,non_mandatory,9,8,16,16,WALK_LOC, +308464222,7523517,2832182,othdiscr,non_mandatory,9,7,8,13,WALK_LOC, +66923525,1632281,823501,eat,atwork,8,13,13,14,WALK,66923560.0 +143309067,3495343,1594621,eat,atwork,16,9,14,14,WALK,143309102.0 +171036547,4171623,1810015,eat,atwork,7,21,10,10,WALK,171036582.0 +220958270,5389226,2223759,eat,atwork,2,1,13,13,WALK,220958305.0 +307996473,7512109,2820774,eat,atwork,8,2,10,10,WALK,307996508.0 diff --git a/activitysim/estimation/test/test_edb_creation/survey_data/survey_trips.csv b/activitysim/estimation/test/test_edb_creation/survey_data/survey_trips.csv new file mode 100644 index 0000000000..c8b2732479 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/survey_data/survey_trips.csv @@ -0,0 +1,278 @@ +trip_id,person_id,household_id,tour_id,outbound,purpose,destination,origin,depart,trip_mode +8753057,26686,26686,1094132,True,eatout,5,8,19,WALK +8753061,26686,26686,1094132,False,home,8,5,19,WALK +8753233,26686,26686,1094154,True,othmaint,9,8,12,BIKE +8753237,26686,26686,1094154,False,home,8,9,13,WALK +8805121,26844,26844,1100640,True,social,7,8,8,WALK +8805125,26844,26844,1100640,False,othmaint,7,7,12,WALK +8805126,26844,26844,1100640,False,home,8,7,12,WALK +9094329,27726,27726,1136791,True,othdiscr,9,10,8,WALK +9094333,27726,27726,1136791,False,home,10,9,10,WALK +9717265,29625,29625,1214658,True,shopping,17,17,15,WALK +9717269,29625,29625,1214658,False,home,17,17,15,WALK +36757193,112064,112064,4594649,True,othdiscr,21,16,12,WALK +36757197,112064,112064,4594649,False,home,16,21,14,TAXI +36757257,112064,112064,4594657,True,shopping,3,16,16,WALK +36757261,112064,112064,4594657,False,home,16,3,17,WALK +86627409,264107,226869,10828426,True,work,24,9,7,WALK_LRF +86627413,264107,226869,10828426,False,home,9,24,19,WALK_LRF +86627625,264108,226869,10828453,True,othdiscr,19,9,10,WALK +86627629,264108,226869,10828453,False,home,9,19,11,WALK +106170305,323689,256660,13271288,True,work,1,10,11,WALK_LRF +106170309,323689,256660,13271288,False,home,10,1,18,WALK_LRF +106741681,325431,257531,13342710,True,shopping,25,16,7,WALK +106741682,325431,257531,13342710,True,work,12,25,8,WALK +106741685,325431,257531,13342710,False,eatout,7,12,17,WALK +106741686,325431,257531,13342710,False,shopping,25,7,17,WALK_LOC +106741687,325431,257531,13342710,False,escort,7,25,17,WALK_LOC +106741688,325431,257531,13342710,False,home,16,7,17,WALK +106741961,325432,257531,13342745,True,shopping,14,16,12,WALK_LOC +106741965,325432,257531,13342745,False,home,16,14,13,WALK_LOC +195385257,595686,370497,24423157,True,school,8,21,7,WALK_LOC +195385261,595686,370497,24423157,False,home,21,8,16,WALK +211327433,644290,386699,26415929,True,work,12,7,12,WALK_LOC +211327437,644290,386699,26415929,False,home,7,12,22,WALK_LOC +211327673,644291,386699,26415959,True,othmaint,2,7,19,WALK_LOC +211327677,644291,386699,26415959,False,home,7,2,23,TNC_SINGLE +211327761,644291,386699,26415970,True,work,2,7,7,WALK +211327765,644291,386699,26415970,False,home,7,2,17,WALK +211328025,644292,386699,26416003,True,school,9,7,13,WALK_LOC +211328029,644292,386699,26416003,False,othdiscr,7,9,19,WALK_LRF +211328030,644292,386699,26416003,False,home,7,7,19,WALK +211388201,644476,386761,26423525,True,escort,11,16,5,WALK_LOC +211388205,644476,386761,26423525,False,home,16,11,6,WALK_LOC +211388329,644476,386761,26423541,True,othdiscr,16,16,18,WALK +211388333,644476,386761,26423541,False,home,16,16,18,WALK +211388353,644476,386761,26423544,True,othmaint,13,16,18,WALK +211388357,644476,386761,26423544,False,home,16,13,19,WALK +211388441,644476,386761,26423555,True,work,4,16,7,SHARED2FREE +211388445,644476,386761,26423555,False,home,16,4,17,SHARED3FREE +211388721,644477,386761,26423590,True,shopping,16,16,14,WALK +211388725,644477,386761,26423590,False,home,16,16,14,WALK +211389033,644478,386761,26423629,True,school,20,16,11,WALK_LOC +211389037,644478,386761,26423629,False,home,16,20,19,WALK_LRF +415214745,1265898,568785,51901843,True,othdiscr,20,17,9,WALK_LRF +415214749,1265898,568785,51901843,False,home,17,20,20,WALK_LRF +468119569,1427193,703381,58514946,True,shopping,14,25,13,WALK +468119573,1427193,703381,58514946,False,home,25,14,19,WALK +468119857,1427194,703381,58514982,True,othmaint,14,25,7,WALK +468119861,1427194,703381,58514982,False,home,25,14,13,WALK +468119921,1427194,703381,58514990,True,eatout,6,25,16,WALK +468119922,1427194,703381,58514990,True,social,2,6,19,WALK +468119925,1427194,703381,58514990,False,social,6,2,21,WALK +468119926,1427194,703381,58514990,False,shopping,8,6,22,WALK +468119927,1427194,703381,58514990,False,social,7,8,22,WALK +468119928,1427194,703381,58514990,False,home,25,7,22,WALK +515832417,1572659,763879,64479052,True,othmaint,25,6,7,WALK +515832418,1572659,763879,64479052,True,escort,25,25,12,WALK +515832419,1572659,763879,64479052,True,shopping,24,25,17,WALK +515832421,1572659,763879,64479052,False,shopping,25,24,18,WALK +515832422,1572659,763879,64479052,False,escort,7,25,20,WALK +515832423,1572659,763879,64479052,False,home,6,7,20,WALK +515921265,1572930,764150,64490158,True,othmaint,7,9,8,WALK +515921266,1572930,764150,64490158,True,othmaint,9,7,8,WALK +515921269,1572930,764150,64490158,False,home,9,9,11,WALK +515921305,1572930,764150,64490163,True,shopping,7,9,11,WALK +515921309,1572930,764150,64490163,False,home,9,7,16,WALK +535388201,1632281,823501,66923525,True,work,9,13,13,WALK +535388202,1632281,823501,66923525,True,atwork,8,9,13,WALK +535388205,1632281,823501,66923525,False,work,13,8,14,WALK +535388481,1632281,823501,66923560,True,work,13,12,7,WALK +535388485,1632281,823501,66923560,False,home,12,13,19,WALK +535620049,1632987,824207,66952506,True,work,4,18,15,WALK_LOC +535620053,1632987,824207,66952506,False,home,18,4,21,WALK +615236801,1875721,982875,76904600,True,work,10,16,8,WALK_LOC +615236805,1875721,982875,76904600,False,home,16,10,18,WALK_LOC +615236865,1875722,982875,76904608,True,escort,7,16,10,WALK +615236866,1875722,982875,76904608,True,eatout,14,7,13,WALK +615236869,1875722,982875,76904608,False,home,16,14,17,WALK +708171009,2159057,1099626,88521376,True,work,2,20,7,WALK +708171013,2159057,1099626,88521376,False,shopping,8,2,18,WALK +708171014,2159057,1099626,88521376,False,home,20,8,18,WALK_LOC +708171273,2159058,1099626,88521409,True,univ,9,20,15,WALK_LOC +708171277,2159058,1099626,88521409,False,home,20,9,18,WALK_LOC +708171601,2159059,1099626,88521450,True,school,20,20,8,WALK +708171605,2159059,1099626,88521450,False,home,20,20,13,WALK +806388153,2458502,1173905,100798519,True,shopping,5,8,8,SHARED2FREE +806388157,2458502,1173905,100798519,False,home,8,5,8,SHARED2FREE +806388225,2458500,1173905,100798528,True,othmaint,7,8,12,WALK +806388229,2458500,1173905,100798528,False,home,8,7,20,WALK +806388401,2458501,1173905,100798550,True,escort,16,8,15,WALK_LOC +806388405,2458501,1173905,100798550,False,home,8,16,16,WALK_LOC +806388905,2458502,1173905,100798613,True,social,7,8,8,WALK +806388906,2458502,1173905,100798613,True,school,8,7,8,WALK +806388909,2458502,1173905,100798613,False,home,8,8,18,WALK +806389233,2458503,1173905,100798654,True,school,8,8,8,WALK +806389237,2458503,1173905,100798654,False,home,8,8,14,WALK +841877257,2566698,1196298,105234657,True,work,1,25,6,WALK +841877261,2566698,1196298,105234657,False,home,25,1,17,WALK_LOC +841877849,2566700,1196298,105234731,True,school,25,25,7,WALK +841877853,2566700,1196298,105234731,False,home,25,25,15,WALK +841878177,2566701,1196298,105234772,True,school,3,25,8,WALK +841878181,2566701,1196298,105234772,False,home,25,3,13,WALK +841878505,2566702,1196298,105234813,True,school,6,25,12,WALK_LOC +841878509,2566702,1196298,105234813,False,shopping,25,6,20,WALK_LOC +841878510,2566702,1196298,105234813,False,home,25,25,20,WALK +963188601,2936550,1286259,120398575,True,othdiscr,6,8,14,WALK +963188605,2936550,1286259,120398575,False,home,8,6,17,WALK +963188665,2936550,1286259,120398583,True,shopping,11,8,12,WALK +963188669,2936550,1286259,120398583,False,home,8,11,13,WALK +963286193,2936848,1286557,120410774,True,eatout,9,11,14,WALK +963286197,2936848,1286557,120410774,False,home,11,9,15,WALK +963286345,2936848,1286557,120410793,True,escort,10,11,15,WALK +963286346,2936848,1286557,120410793,True,othdiscr,11,10,16,WALK +963286349,2936848,1286557,120410793,False,home,11,11,16,WALK +1004301497,3061894,1363467,125537687,True,shopping,20,24,12,TNC_SHARED +1004301501,3061894,1363467,125537687,False,home,24,20,13,DRIVEALONEFREE +1004301761,3061895,1363467,125537720,True,othdiscr,9,24,17,WALK_HVY +1004301765,3061895,1363467,125537720,False,home,24,9,19,WALK_LRF +1004301785,3061895,1363467,125537723,True,othmaint,7,24,15,WALK +1004301789,3061895,1363467,125537723,False,home,24,7,16,WALK +1004301873,3061895,1363467,125537734,True,work,25,24,6,WALK +1004301877,3061895,1363467,125537734,False,home,24,25,13,WALK +1045822217,3188483,1402945,130727777,True,othdiscr,24,25,9,WALK +1045822221,3188483,1402945,130727777,False,home,25,24,9,WALK +1045822409,3188482,1402945,130727801,True,work,7,25,8,WALK +1045822410,3188482,1402945,130727801,True,work,24,7,9,WALK +1045822413,3188482,1402945,130727801,False,home,25,24,17,WALK +1045822737,3188483,1402945,130727842,True,work,2,25,9,WALK +1045822741,3188483,1402945,130727842,False,home,25,2,17,WALK_LOC +1045823001,3188484,1402945,130727875,True,univ,13,25,16,WALK +1045823005,3188484,1402945,130727875,False,shopping,7,13,17,WALK +1045823006,3188484,1402945,130727875,False,othmaint,7,7,17,WALK +1045823007,3188484,1402945,130727875,False,home,25,7,17,WALK +1045823065,3188484,1402945,130727883,True,work,2,25,9,WALK +1045823069,3188484,1402945,130727883,False,home,25,2,12,WALK_LOC +1045823393,3188485,1402945,130727924,True,escort,25,25,10,BIKE +1045823394,3188485,1402945,130727924,True,work,2,25,12,BIKE +1045823397,3188485,1402945,130727924,False,eatout,7,2,20,BIKE +1045823398,3188485,1402945,130727924,False,home,25,7,21,BIKE +1060575737,3233462,1445222,132571967,True,othdiscr,14,17,7,WALK +1060575741,3233462,1445222,132571967,False,home,17,14,7,WALK_LOC +1060575801,3233462,1445222,132571975,True,shopping,16,17,6,WALK +1060575805,3233462,1445222,132571975,False,home,17,16,6,WALK_LRF +1060575809,3233462,1445222,132571976,True,shopping,13,17,7,WALK_LOC +1060575813,3233462,1445222,132571976,False,home,17,13,7,WALK_LOC +1060575849,3233462,1445222,132571981,True,work,22,17,7,WALK_LRF +1060575853,3233462,1445222,132571981,False,home,17,22,23,TNC_SINGLE +1091770617,3328568,1511234,136471327,True,work,1,8,6,WALK_LRF +1091770621,3328568,1511234,136471327,False,home,8,1,17,WALK +1091770681,3328569,1511234,136471335,True,eatout,13,8,14,WALK +1091770685,3328569,1511234,136471335,False,home,8,13,16,WALK_LRF +1091770897,3328569,1511234,136471362,True,eatout,9,8,10,WALK_LOC +1091770898,3328569,1511234,136471362,True,shopping,4,9,10,WALK_LRF +1091770901,3328569,1511234,136471362,False,home,8,4,10,WALK_LRF +1146472377,3495342,1594621,143309047,True,othdiscr,15,10,16,WALK_LOC +1146472381,3495342,1594621,143309047,False,home,10,15,22,WALK_LRF +1146472489,3495342,1594621,143309061,True,work,11,10,7,WALK_LOC +1146472493,3495342,1594621,143309061,False,home,10,11,16,WALK +1146472537,3495343,1594621,143309067,True,othmaint,6,9,14,WALK +1146472538,3495343,1594621,143309067,True,shopping,6,6,14,WALK +1146472539,3495343,1594621,143309067,True,escort,7,6,14,WALK +1146472540,3495343,1594621,143309067,True,atwork,16,7,14,WALK +1146472541,3495343,1594621,143309067,False,work,9,16,14,WALK +1146472817,3495343,1594621,143309102,True,work,9,10,13,WALK +1146472821,3495343,1594621,143309102,False,home,10,9,17,WALK +1179607441,3596364,1645132,147450930,True,eatout,5,9,14,WALK +1179607445,3596364,1645132,147450930,False,home,9,5,14,WALK +1179607657,3596364,1645132,147450957,True,shopping,22,9,19,WALK_LRF +1179607661,3596364,1645132,147450957,False,shopping,8,22,20,WALK_LRF +1179607662,3596364,1645132,147450957,False,eatout,9,8,20,WALK_LOC +1179607663,3596364,1645132,147450957,False,home,9,9,20,WALK +1179608009,3596365,1645132,147451001,True,social,9,9,7,WALK +1179608013,3596365,1645132,147451001,False,home,9,9,18,WALK +1276281769,3891102,1747467,159535221,True,work,11,16,7,WALK_LOC +1276281773,3891102,1747467,159535221,False,home,16,11,16,WALK_LOC +1276282049,3891103,1747467,159535256,True,shopping,16,16,13,WALK +1276282053,3891103,1747467,159535256,False,home,16,16,16,WALK +1276282313,3891104,1747467,159535289,True,othdiscr,2,16,14,WALK +1276282317,3891104,1747467,159535289,False,home,16,2,15,WALK +1276282321,3891104,1747467,159535290,True,othdiscr,19,16,16,WALK_LOC +1276282325,3891104,1747467,159535290,False,home,16,19,21,WALK_LOC +1276282361,3891104,1747467,159535295,True,school,17,16,7,WALK_LRF +1276282365,3891104,1747467,159535295,False,home,16,17,14,WALK_LRF +1368289969,4171615,1810015,171036246,True,univ,12,16,13,WALK +1368289973,4171615,1810015,171036246,False,home,16,12,13,WALK +1368290273,4171616,1810015,171036284,True,othmaint,3,16,9,WALK +1368290277,4171616,1810015,171036284,False,home,16,3,11,WALK +1368290689,4171617,1810015,171036336,True,social,8,16,9,WALK +1368290690,4171617,1810015,171036336,True,work,15,8,12,WALK +1368290693,4171617,1810015,171036336,False,home,16,15,18,WALK +1368291297,4171619,1810015,171036412,True,shopping,1,16,13,WALK +1368291301,4171619,1810015,171036412,False,shopping,7,1,14,WALK +1368291302,4171619,1810015,171036412,False,home,16,7,15,WALK +1368291609,4171620,1810015,171036451,True,school,8,16,7,WALK_LOC +1368291613,4171620,1810015,171036451,False,home,16,8,15,WALK_LOC +1368292281,4171622,1810015,171036535,True,shopping,19,16,9,WALK +1368292285,4171622,1810015,171036535,False,home,16,19,15,WALK +1368292377,4171623,1810015,171036547,True,atwork,7,21,10,WALK +1368292381,4171623,1810015,171036547,False,othmaint,6,7,10,WALK +1368292382,4171623,1810015,171036547,False,work,21,6,10,WALK +1368292657,4171623,1810015,171036582,True,escort,25,16,8,WALK +1368292658,4171623,1810015,171036582,True,work,21,25,8,WALK +1368292661,4171623,1810015,171036582,False,work,7,21,23,WALK +1368292662,4171623,1810015,171036582,False,home,16,7,23,WALK +1582205617,4823797,1952792,197775702,True,othdiscr,16,14,16,WALK +1582205621,4823797,1952792,197775702,False,home,14,16,18,WALK +1582205641,4823797,1952792,197775705,True,othmaint,7,14,15,WALK +1582205645,4823797,1952792,197775705,False,home,14,7,15,WALK +1582205729,4823797,1952792,197775716,True,work,12,14,11,BIKE +1582205733,4823797,1952792,197775716,False,home,14,12,15,BIKE +1658748793,5057160,2048204,207343599,True,work,23,5,7,WALK_LRF +1658748797,5057160,2048204,207343599,False,home,5,23,13,WALK_LOC +1658806913,5057338,2048382,207350864,True,eatout,10,7,20,WALK +1658806917,5057338,2048382,207350864,False,home,7,10,20,WALK +1658807089,5057338,2048382,207350886,True,othmaint,7,7,18,WALK +1658807093,5057338,2048382,207350886,False,home,7,7,18,WALK +1658807129,5057338,2048382,207350891,True,shopping,25,7,21,WALK +1658807133,5057338,2048382,207350891,False,home,7,25,21,WALK +1658807153,5057338,2048382,207350894,True,social,6,7,18,WALK_LOC +1658807157,5057338,2048382,207350894,False,home,7,6,19,WALK_LOC +1658807177,5057338,2048382,207350897,True,work,2,7,6,WALK +1658807181,5057338,2048382,207350897,False,home,7,2,17,WALK_LOC +1767186249,5387762,2223027,220898281,True,work,4,9,7,WALK_HVY +1767186253,5387762,2223027,220898281,False,home,9,4,17,WALK_LRF +1767186577,5387763,2223027,220898322,True,escort,7,9,8,WALK +1767186578,5387763,2223027,220898322,True,work,14,7,8,WALK_LOC +1767186581,5387763,2223027,220898322,False,othmaint,9,14,17,WALK_LRF +1767186582,5387763,2223027,220898322,False,home,9,9,17,WALK +1767666161,5389226,2223759,220958270,True,atwork,2,1,13,WALK +1767666165,5389226,2223759,220958270,False,work,1,2,13,WALK +1767666233,5389226,2223759,220958279,True,eatout,13,16,20,TNC_SINGLE +1767666237,5389226,2223759,220958279,False,home,16,13,20,TAXI +1767666441,5389226,2223759,220958305,True,work,1,16,9,WALK +1767666445,5389226,2223759,220958305,False,home,16,1,18,WALK +1767666769,5389227,2223759,220958346,True,work,23,16,6,WALK +1767666773,5389227,2223759,220958346,False,home,16,23,20,WALK +2396217321,7305540,2727273,299527165,True,othdiscr,12,20,15,WALK +2396217325,7305540,2727273,299527165,False,home,20,12,21,WALK +2396217433,7305540,2727273,299527179,True,work,20,20,11,WALK +2396217437,7305540,2727273,299527179,False,home,20,20,15,WALK +2396217761,7305541,2727273,299527220,True,work,9,20,6,WALK +2396217765,7305541,2727273,299527220,False,home,20,9,13,WALK +2396217769,7305541,2727273,299527221,True,work,9,20,14,WALK +2396217773,7305541,2727273,299527221,False,home,20,9,18,WALK +2444719729,7453413,2762078,305589966,True,shopping,19,20,16,WALK +2444719733,7453413,2762078,305589966,False,home,20,19,16,WALK +2463971785,7512109,2820774,307996473,True,atwork,8,2,10,WALK +2463971789,7512109,2820774,307996473,False,work,7,8,10,WALK +2463971790,7512109,2820774,307996473,False,work,2,7,10,WALK +2463972065,7512109,2820774,307996508,True,work,2,8,8,WALK +2463972069,7512109,2820774,307996508,False,shopping,8,2,18,WALK +2463972070,7512109,2820774,307996508,False,shopping,8,8,19,WALK +2463972071,7512109,2820774,307996508,False,home,8,8,19,WALK +2464104641,7512514,2821179,308013080,True,eatout,13,8,8,WALK +2464104645,7512514,2821179,308013080,False,home,8,13,16,WALK +2464104857,7512514,2821179,308013107,True,shopping,6,8,17,WALK +2464104861,7512514,2821179,308013107,False,home,8,6,19,WALK +2464104881,7512514,2821179,308013110,True,social,9,8,16,WALK +2464104885,7512514,2821179,308013110,False,home,8,9,16,WALK_LOC +2464406009,7513432,2822097,308050751,True,work,7,8,5,BIKE +2464406013,7513432,2822097,308050751,False,home,8,7,15,BIKE +2464446025,7513554,2822219,308055753,True,work,9,8,5,WALK +2464446029,7513554,2822219,308055753,False,home,8,9,16,WALK +2464449633,7513565,2822230,308056204,True,univ,9,8,9,WALK +2464449634,7513565,2822230,308056204,True,work,25,9,9,WALK +2464449637,7513565,2822230,308056204,False,home,8,25,18,WALK +2467713777,7523517,2832182,308464222,True,othdiscr,9,7,8,WALK +2467713781,7523517,2832182,308464222,False,home,7,9,13,WALK diff --git a/activitysim/estimation/test/test_edb_creation/test_edb_formation.py b/activitysim/estimation/test/test_edb_creation/test_edb_formation.py new file mode 100644 index 0000000000..9268ef41a2 --- /dev/null +++ b/activitysim/estimation/test/test_edb_creation/test_edb_formation.py @@ -0,0 +1,276 @@ +import os +import pandas as pd +import numpy as np +import pandas.testing as pdt +import yaml + + +configs_estimation_dir = ( + "activitysim/estimation/test/test_edb_creation/configs_estimation" +) +configs_dir = "activitysim/examples/prototype_mtc/configs" +survey_data_dir = "activitysim/estimation/test/test_edb_creation/survey_data" +data_dir = "activitysim/examples/prototype_mtc/data" +base_output_dir = "activitysim/estimation/test/test_edb_creation/outputs" + + +def launch_est_example(output_dir, multiprocess, fileformat): + + # setting multiprocess setting + settings_template_file = os.path.join( + configs_estimation_dir, "settings_template.yaml" + ) + settings_file = os.path.join(configs_estimation_dir, "settings.yaml") + settings = yaml.safe_load(open(settings_template_file)) + assert multiprocess in [True, False] + settings["multiprocess"] = multiprocess + yaml.dump(settings, open(settings_file, "w")) + + # setting fileformat setting + settings_template_file = os.path.join( + configs_estimation_dir, "estimation_template.yaml" + ) + est_settings_file = os.path.join(configs_estimation_dir, "estimation.yaml") + est_settings = yaml.safe_load(open(settings_template_file)) + assert fileformat in ["csv", "parquet", "pkl"] + est_settings["EDB_FILETYPE"] = fileformat + yaml.dump(est_settings, open(est_settings_file, "w")) + + run_cmd = f"activitysim run -c {configs_estimation_dir} -c {configs_dir} -d {survey_data_dir} -d {data_dir} -o {base_output_dir}/{output_dir}" + print( + f"launching with options output_dir={output_dir} multiprocess={multiprocess} fileformat={fileformat}" + ) + print("launching from ", os.getcwd()) + result = os.system(run_cmd) + assert result == 0, "ActivitySim run failed" + + +def read_table(file_name): + if file_name.endswith(".csv"): + return pd.read_csv(file_name, low_memory=False) + elif file_name.endswith(".parquet"): + df = pd.read_parquet(file_name).reset_index(drop=True) + df.columns.name = None + return df + elif file_name.endswith(".pkl"): + df = pd.read_pickle(file_name).reset_index(drop=True) + df.columns = df.columns.astype(str) + df.columns.name = None + return df + else: + raise ValueError(f"Unsupported file format: {file_name}") + + +def process_table(df): + if "variable" == df.columns[1]: + # need to sort variable column + df = df.sort_values(by=[df.columns[0], "variable"]).reset_index(drop=True) + df.columns.name = None + + if "chunk_id" in df.columns: + # remove chunk_id column + df = df.drop(columns=["chunk_id"]) + + return df + + +def find_lowest_level_directories(starting_directory): + lowest_dirs = list() + + for root, dirs, files in os.walk(starting_directory): + if not dirs: + lowest_dirs.append(root) + + return lowest_dirs + + +def try_compare_with_same_dtypes(ser1, ser2, rtol, atol): + try: + concatenated = pd.concat([ser1, ser2]) + common_type = concatenated.dtype + pdt.assert_series_equal( + ser1.astype(common_type), + ser2.astype(common_type), + check_dtype=False, + rtol=rtol, + atol=atol, + ) + except (ValueError, AssertionError) as e: + return False + return True + + +def try_compare_with_numeric(ser1, ser2, rtol, atol): + try: + ser1_num = pd.to_numeric(ser1, errors="coerce") + ser2_num = pd.to_numeric(ser2, errors="coerce") + pdt.assert_series_equal( + ser1_num, ser2_num, check_dtype=False, rtol=rtol, atol=atol + ) + except AssertionError as e: + return False + return True + + +def try_compare_with_strings(ser1, ser2): + try: + pdt.assert_series_equal(ser1.astype(str), ser2.astype(str), check_dtype=False) + except AssertionError as e: + return False + return True + + +def try_compare_with_combination(ser1, ser2, rtol=1e-5, atol=1e-8): + """ + This is necessary because we have columns like this: + [index]: [0, 1, 2, 3, 4, 5, ...] + [left]: [False, False, 1, 6, AM, -1.3037984712857993, EA, ...] + [right]: [False, False, 1, 6, AM, -1.3037984712857994, EA, ...] + (notice the machine precision difference in the float) + """ + # replace annoying string values of bools + ser1 = ser1.replace({"True": True, "False": False}) + ser2 = ser2.replace({"True": True, "False": False}) + # Separate numerical and non-numerical values + ser1_num = pd.to_numeric(ser1, errors="coerce") + ser2_num = pd.to_numeric(ser2, errors="coerce") + ser1_non_num = ser1[ser1_num.isna()] + ser2_non_num = ser2[ser2_num.isna()] + ser1_num = ser1_num.dropna() + ser2_num = ser2_num.dropna() + try: + pdt.assert_series_equal( + ser1_num, ser2_num, check_dtype=False, rtol=rtol, atol=atol + ) + pdt.assert_series_equal(ser1_non_num, ser2_non_num, check_dtype=False) + except AssertionError as e: + return False + return True + + +def compare_dataframes_with_tolerance(df1, df2, rtol=1e-3, atol=1e-3): + dfs_are_same = True + e_msg = "" + try: + pdt.assert_frame_equal(df1, df2, check_dtype=False, rtol=rtol, atol=atol) + return dfs_are_same, e_msg + except AssertionError as e: + print(e) + print("trying to compare columns individually") + for col in df1.columns: + try: + if try_compare_with_same_dtypes(df1[col], df2[col], rtol, atol): + continue + elif try_compare_with_numeric(df1[col], df2[col], rtol, atol): + continue + elif try_compare_with_strings(df1[col], df2[col]): + continue + elif try_compare_with_combination( + df1[col], df2[col], rtol=rtol, atol=atol + ): + continue + else: + dfs_are_same = False + e_msg += f"Column '{col}' failed: {df1[col]} vs {df2[col]}\n" + print(f"Column '{col}' failed:\n {df1[col]} vs {df2[col]}\n") + except Exception as e: + dfs_are_same = False + e_msg = e + + return dfs_are_same, e_msg + + +def regress_EDBs(regress_folder, output_folder, fileformat="csv"): + edb_file = os.path.join(base_output_dir, regress_folder, "estimation_data_bundle") + + edb_dirs = find_lowest_level_directories(edb_file) + + for dir in edb_dirs: + dir_basename = dir.split("estimation_data_bundle")[1][1:] + output_dir = os.path.join( + base_output_dir, output_folder, "estimation_data_bundle", dir_basename + ) + + for file in os.listdir(dir): + if file.endswith(".yaml"): + continue + print(f"Regressing {file}") + + regress_path = os.path.join(dir, file) + output_path = os.path.join(output_dir, file) + + # regress against csv for parquet, but regress against parquet for pkl (faster) + if not os.path.exists(output_path) and (fileformat == "parquet"): + output_path = output_path.replace(".csv", ".parquet") + if not os.path.exists(output_path) and (fileformat == "pkl"): + output_path = output_path.replace(".parquet", ".pkl") + + try: + regress_df = read_table(regress_path) + output_df = read_table(output_path) + except FileNotFoundError as e: + assert False, f"File not found: {e}" + + regress_df = process_table(regress_df) + output_df = process_table(output_df) + + dfs_are_same, e = compare_dataframes_with_tolerance(regress_df, output_df) + if not dfs_are_same: + assert False, f"Regression test failed for {file} with error: {e}" + return + + +def test_infer(): + infer_file = r"activitysim/examples/example_estimation/scripts/infer.py" + data_dir = r"activitysim/estimation/test/test_edb_creation" + configs_dir = r"activitysim/examples/prototype_mtc/configs" + output_dir = r"activitysim/estimation/test/test_edb_creation/outputs/infer_output" + run_cmd = f"python {infer_file} {data_dir} {configs_dir} {output_dir}" + print(f"launching {run_cmd} from {os.getcwd()}") + result = os.system(run_cmd) + assert result == 0, "Infer.py run failed" + + for file in os.listdir(output_dir): + if not file.endswith(".csv"): + continue + print("Regressing ", file) + regress_df = pd.read_csv(os.path.join(data_dir, "survey_data", file)) + output_df = pd.read_csv(os.path.join(output_dir, file)) + + pdt.assert_frame_equal(regress_df, output_df) + + +def test_generating_sp_csv(): + # first generate original tables + output_dir = "output_single_csv" + launch_est_example(output_dir, False, "csv") + + +def test_sp_parquet(): + # multiprocess = False, fileformat = "parquet" + output_dir = "output_single_parquet" + launch_est_example(output_dir, False, "parquet") + regress_EDBs("output_single_csv", output_dir, "parquet") + + +def test_sp_pkl(): + # multiprocess = False, fileformat = "pkl" + output_dir = "output_single_pkl" + launch_est_example(output_dir, False, "pkl") + regress_EDBs("output_single_parquet", output_dir, "pkl") + + +def test_mp_parquet(): + # multiprocess = True, fileformat = "parquet" + output_dir = "output_multiprocess_parquet" + launch_est_example(output_dir, True, "parquet") + regress_EDBs("output_single_parquet", output_dir, "parquet") + + +if __name__ == "__main__": + + test_infer() + test_generating_sp_csv() + test_sp_pkl() + test_sp_parquet() + test_mp_parquet() diff --git a/activitysim/estimation/test/test_larch_estimation.py b/activitysim/estimation/test/test_larch_estimation.py index 09355f8469..e688b1098a 100644 --- a/activitysim/estimation/test/test_larch_estimation.py +++ b/activitysim/estimation/test/test_larch_estimation.py @@ -39,12 +39,12 @@ def _regression_check(dataframe_regression, df, basename=None, rtol=None): rtol = 0.1 dataframe_regression.check( df.select_dtypes("number") - .drop(columns=["holdfast"], errors="ignore") + .drop(columns=["holdfast", "minimum", "maximum"], errors="ignore") .clip(-9e9, 9e9), # pandas 1.3 handles int8 dtypes as actual numbers, so holdfast needs to be dropped manually # we're dropping it not adding to the regression check so older pandas will also work. basename=basename, - default_tolerance=dict(atol=1e-6, rtol=rtol) + default_tolerance=dict(atol=1e-6, rtol=rtol), # can set a little loose, as there is sometimes a little variance in these # results when switching backend implementations. We're checking all # the parameters and the log likelihood, so modest variance in individual @@ -73,7 +73,7 @@ def test_simple_simulate(est_data, num_regression, dataframe_regression, name, m m.load_data() m.doctor(repair_ch_av="-") loglike_prior = m.loglike() - r = m.maximize_loglike(method=method, options={"maxiter": 1000}) + r = m.maximize_loglike(method=method, options={"maxiter": 1000, "ftol": 1e-9}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_simple_simulate_{name}_{method}_loglike", @@ -87,9 +87,11 @@ def test_simple_simulate(est_data, num_regression, dataframe_regression, name, m [ ("workplace_location", "SLSQP", None), ("school_location", "SLSQP", None), + ("school_location", "BHHH", None), ("non_mandatory_tour_destination", "SLSQP", None), ("atwork_subtour_destination", "BHHH", None), - ("trip_destination", "SLSQP", 0.12), + ("trip_destination", "BHHH", None), + ("trip_destination", "SLSQP", None), # trip_destination model has unusual parameter variance on a couple # parameters when switching platforms, possibly related to default data # types and high standard errors. Most parameters and the overall @@ -103,12 +105,19 @@ def test_location_model( from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model(name, return_data=True) - m.load_data() + + if name == "trip_destination": + # this model is overspecified in the example, so we need to lock a + # parameter to make it identifiable. + m.lock_value("coef_prox_dest_outbound_work", 0.0) + m.set_cap(25.0) + + m.doctor(repair_av_zq="-", repair_nan_utility=True) loglike_prior = m.loglike() - r = m.maximize_loglike(method=method, options={"maxiter": 1000}) + r = m.maximize_loglike(method=method, options={"maxiter": 1000, "ftol": 1.0e-8}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, - basename=f"test_loc_{name}_loglike", + basename=f"test_loc_{name}_{method}_loglike", ) _regression_check(dataframe_regression, m.pf, rtol=rtol) size_spec = update_size_spec( @@ -119,8 +128,8 @@ def test_location_model( ) dataframe_regression.check( size_spec, - basename=f"test_loc_{name}_size_spec", - default_tolerance=dict(atol=1e-6, rtol=5e-2) + basename=f"test_loc_{name}_{method}_size_spec", + default_tolerance=dict(atol=1e-6, rtol=5e-2), # set a little loose, as there is sometimes a little variance in these # results when switching backend implementations. ) @@ -143,7 +152,7 @@ def test_scheduling_model(est_data, num_regression, dataframe_regression, name, m.load_data() m.doctor(repair_ch_av="-") loglike_prior = m.loglike() - r = m.maximize_loglike(method=method) + r = m.maximize_loglike(method=method, options={"maxiter": 1000, "ftol": 1.0e-9}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_{name}_loglike", @@ -158,7 +167,7 @@ def test_stop_freq_model(est_data, num_regression, dataframe_regression): m, data = component_model(name, return_data=True) m.load_data() loglike_prior = m.loglike() - r = m.maximize_loglike() + r = m.maximize_loglike(method="SLSQP", options={"maxiter": 1000, "ftol": 1.0e-9}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_{name}_loglike", @@ -222,7 +231,7 @@ def test_cdap_model(est_data, num_regression, dataframe_regression): m = cdap_model() m.load_data() loglike_prior = m.loglike() - r = m.maximize_loglike(method="SLSQP", options={"maxiter": 1000}) + r = m.maximize_loglike(method="SLSQP", options={"maxiter": 1000, "ftol": 1.0e-7}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename="test_cdap_model_loglike", @@ -260,7 +269,7 @@ def test_tour_and_subtour_mode_choice(est_data, num_regression, dataframe_regres m.load_data() m.doctor(repair_ch_av="-") loglike_prior = m.loglike() - r = m.maximize_loglike(method="SLSQP", options={"maxiter": 1000}) + r = m.maximize_loglike(method="SLSQP", options={"maxiter": 1000, "ftol": 1.0e-9}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename="test_tour_mode_choice_loglike", diff --git a/activitysim/estimation/test/test_larch_estimation/test_cdap_model.csv b/activitysim/estimation/test/test_larch_estimation/test_cdap_model.csv index a9e237b235..400eb2fb9c 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_cdap_model.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_cdap_model.csv @@ -1,162 +1,162 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_UNAVAILABLE,-999,-999,0,-999,-999,-999 -coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N,0.87159546592932291,0.08233,0,,,0.87159546592932291 -coef_driving_age_child_who_is_in_school_asc_M,0.74815228797618816,2.3309186849999999,0,,,0.74815228797618816 -coef_driving_age_child_who_is_in_school_asc_N,-9.0640177490324412,-0.59911911200000001,0,,,-9.0640177490324412 -coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H,-0.90601686275009163,-0.50309999999999999,0,,,-0.90601686275009163 -coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H,0.42727506400961712,0.64749999999999996,0,,,0.42727506400961712 -coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H,-1.7272824609972235,-2.0459999999999998,0,,,-1.7272824609972235 -coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H,0.45396678614268526,1.3069999999999999,0,,,0.45396678614268526 -coef_full_time_worker_asc_M,0.98435866822120488,1.3787345790000001,0,,,0.98435866822120488 -coef_full_time_worker_asc_N,0.73324510331920412,0.62266239099999998,0,,,0.73324510331920412 -coef_full_time_worker_interaction_with_age_less_than_40_M,0.44443952843908197,0.20910000000000001,0,,,0.44443952843908197 -coef_full_time_worker_interaction_with_female_gender_M,0.038410812572387439,-0.12590000000000001,0,,,0.038410812572387439 -coef_full_time_worker_interaction_with_fewer_cars_than_workers_H,0.41538570763618882,0.50390000000000001,0,,,0.41538570763618882 -coef_full_time_worker_interaction_with_income_less_than_20k_H,0.44991051165021323,0.53129999999999999,0,,,0.44991051165021323 -coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,0.15132046128679377,0.1212,0,,,0.15132046128679377 -coef_non_working_adult_asc_N,0.61315184259117572,0.59464538600000005,0,,,0.61315184259117572 -coef_non_working_adult_interaction_with_female_gender_M,-0.74299999999999999,-0.74299999999999999,0,,,-0.74299999999999999 -coef_non_working_adult_interaction_with_fewer_cars_than_workers_H,0.80008083982324651,0.89649999999999996,0,,,0.80008083982324651 -coef_non_working_adult_interaction_with_income_between_50k_and_100k_H,-1.135877229516298,-0.56020000000000003,0,,,-1.135877229516298 -coef_non_working_adult_interaction_with_income_more_than_100k_H,-0.53695636446511075,-0.71879999999999999,0,,,-0.53695636446511075 -coef_non_working_adult_interaction_with_more_cars_than_workers_M,0.65149999999999997,0.65149999999999997,0,,,0.65149999999999997 -coef_non_working_adult_interaction_with_more_cars_than_workers_N,1.4756696612117433,0.81679999999999997,0,,,1.4756696612117433 -coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,0.23139999999999999,0.23139999999999999,0,,,0.23139999999999999 -coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N,0.05369614335005668,0.072069999999999995,0,,,0.05369614335005668 -coef_part_time_worker_asc_M,4.6632375293425374,-0.71882373799999999,0,,,4.6632375293425374 -coef_part_time_worker_asc_N,0.63327669200378511,0.63603246700000005,0,,,0.63327669200378511 -coef_part_time_worker_interaction_with_income_between_50k_and_100k_H,0.084764438455744495,-0.4032,0,,,0.084764438455744495 -coef_part_time_worker_interaction_with_income_less_than_20k_H,0.38471102017852971,0.32319999999999999,0,,,0.38471102017852971 -coef_part_time_worker_interaction_with_income_more_than_100k_H,-1.3396802216835464,-0.35339999999999999,0,,,-1.3396802216835464 -coef_part_time_worker_interaction_with_income_more_than_100k_N,0.57320315896108665,0.42070000000000002,0,,,0.57320315896108665 -coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,-0.22927275954114743,0.20039999999999999,0,,,-0.22927275954114743 -coef_pre_driving_age_child_who_is_in_school_asc_M,3.9697740814213565,3.295863529,0,,,3.9697740814213565 -coef_pre_driving_age_child_who_is_in_school_asc_N,-6.9669814176755258,0.57142433999999998,0,,,-6.9669814176755258 -coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,-1.5862536567965162,-0.71409999999999996,0,,,-1.5862536567965162 -coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N,-1.1444471156694567,-0.67200000000000004,0,,,-1.1444471156694567 -coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,-0.71694326641444928,-0.29430000000000001,0,,,-0.71694326641444928 -coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H,1.0962667615224149,0.58620000000000005,0,,,1.0962667615224149 -coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,0.92486435043901694,1.052531189,0,,,0.92486435043901694 -coef_pre_driving_age_child_who_is_too_young_for_school_asc_N,-8.6130259294995177,-0.83756777599999999,0,,,-8.6130259294995177 -coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,-0.94468281293415513,-0.45150000000000001,0,,,-0.94468281293415513 -coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,0.23268035055770159,0.61070000000000002,0,,,0.23268035055770159 -coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H,-0.056007934757943807,0.50609999999999999,0,,,-0.056007934757943807 -coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H,-0.71502868941234388,-0.57079999999999997,0,,,-0.71502868941234388 -coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H,-0.7760438496909059,-0.61860000000000004,0,,,-0.7760438496909059 -coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N,0.77447196962877585,0.29909999999999998,0,,,0.77447196962877585 -coef_retired_asc_N,1.1425900456454805,0.408202071,0,,,1.1425900456454805 -coef_retired_interaction_with_age_more_than_80_H,1.1363693439466673,0.76659999999999995,0,,,1.1363693439466673 -coef_retired_interaction_with_female_M,0.47689999999999999,0.47689999999999999,0,,,0.47689999999999999 -coef_retired_interaction_with_fewer_cars_than_workers_H,1.1295952477348739,0.54959999999999998,0,,,1.1295952477348739 -coef_retired_interaction_with_income_less_than_20k_H,0.65398902348188781,0.53300000000000003,0,,,0.65398902348188781 -coef_retired_interaction_with_more_cars_than_workers_M,2.992,2.992,0,,,2.992 -coef_retired_interaction_with_more_cars_than_workers_N,0.76262176538305015,1.056,0,,,0.76262176538305015 -coef_retired_interaction_with_peak_accessibility_to_all_employment_M,0.2792,0.2792,0,,,0.2792 -coef_university_student_asc_M,2.1206612172447477,2.3535951759999998,0,,,2.1206612172447477 -coef_university_student_asc_N,0.47323909115586493,0.609709846,0,,,0.47323909115586493 --999.0,-999,-999,-999,-999,-999,-999 -coef_H_11,1.5446242163709172,1.6259999999999999,0,,,1.5446242163709172 -coef_H_12,0.15833568776463425,0.74070000000000003,0,,,0.15833568776463425 -coef_H_13,1.5389002358533881,1.1830000000000001,0,,,1.5389002358533881 -coef_H_14,1.3436422025992563,0.94359999999999999,0,,,1.3436422025992563 -coef_H_15,0.62460727406650574,1.298,0,,,0.62460727406650574 -coef_H_16,1.521735383660767,2.0640000000000001,0,,,1.521735383660767 -coef_H_17,1.4606474415665514,1.5009999999999999,0,,,1.4606474415665514 -coef_H_18,1.2139109701831139,0.99119999999999997,0,,,1.2139109701831139 -coef_H_22,-15.923116744497655,0.8911,0,,,-15.923116744497655 -coef_H_23,0.73052600611455265,1.6419999999999999,0,,,0.73052600611455265 -coef_H_24,1.0651655384578942,0.70569999999999999,0,,,1.0651655384578942 -coef_H_25,-16.202420121437097,0.46300000000000002,0,,,-16.202420121437097 -coef_H_26,4.156194778954351,3.0569999999999999,0,,,4.156194778954351 -coef_H_27,0.40222213291144671,0.76849999999999996,0,,,0.40222213291144671 -coef_H_28,-15.469749038901073,1.0700000000000001,0,,,-15.469749038901073 -coef_H_33,0.99710939823398292,1.018,0,,,0.99710939823398292 -coef_H_34,1.6743259141961955,1.7809999999999999,0,,,1.6743259141961955 -coef_H_35,-17.763631508602064,0.48349999999999999,0,,,-17.763631508602064 -coef_H_36,1.546,1.546,0,,,1.546 -coef_H_37,1.552,1.552,0,,,1.552 -coef_H_38,1.3400000000000001,1.3400000000000001,0,,,1.3400000000000001 -coef_H_44,1.7326164145508278,1.3520000000000001,0,,,1.7326164145508278 -coef_H_45,2.1749474138597793,1.2090000000000001,0,,,2.1749474138597793 -coef_H_46,0.52429999999999999,0.52429999999999999,0,,,0.52429999999999999 -coef_H_47,0.81120000000000003,0.81120000000000003,0,,,0.81120000000000003 -coef_H_48,1.167,1.167,0,,,1.167 -coef_H_55,0.98410006600474542,1.407,0,,,0.98410006600474542 -coef_H_56_57_58,0.86319999999999997,0.86319999999999997,0,,,0.86319999999999997 -coef_H_66,18.485095476410191,2.198,0,,,18.485095476410191 -coef_H_67,-18.838145375909068,0.97699999999999998,0,,,-18.838145375909068 -coef_H_68,1.4670000000000001,1.4670000000000001,0,,,1.4670000000000001 -coef_H_77,2.4644108765258532,2.7999999999999998,0,,,2.4644108765258532 -coef_H_78,16.353710938881033,1.4339999999999999,0,,,16.353710938881033 -coef_H_88,1.189203293091496,1.3779999999999999,0,,,1.189203293091496 -coef_M_11,-0.069163059806229873,0.14099999999999999,0,,,-0.069163059806229873 -coef_M_12,0.27916204731988919,0.088450000000000001,0,,,0.27916204731988919 -coef_M_13,0.29314801601836593,0.42730000000000001,0,,,0.29314801601836593 -coef_M_16,0.39262282583718466,0.38419999999999999,0,,,0.39262282583718466 -coef_M_17,-0.10503260073739486,0.26229999999999998,0,,,-0.10503260073739486 -coef_M_18,0.28872595185423811,0.51180000000000003,0,,,0.28872595185423811 -coef_M_22,0.94589050141866338,1.135,0,,,0.94589050141866338 -coef_M_23,0.1879379616749213,0.17299999999999999,0,,,0.1879379616749213 -coef_M_26,1.9267776692819061,1.103,0,,,1.9267776692819061 -coef_M_27,0.1161255949291411,0.30790000000000001,0,,,0.1161255949291411 -coef_M_28,0.40930716183312305,0.50739999999999996,0,,,0.40930716183312305 -coef_M_33,0.42731234923519629,0.87260000000000004,0,,,0.42731234923519629 -coef_M_36,-0.0020999999999999999,-0.0020999999999999999,0,,,-0.0020999999999999999 -coef_M_37,0.29749999999999999,0.29749999999999999,0,,,0.29749999999999999 -coef_M_38,0.22539999999999999,0.22539999999999999,0,,,0.22539999999999999 -coef_M_66,16.866971034774586,0.47939999999999999,0,,,16.866971034774586 -coef_M_67,-18.934085377461077,0.5151,0,,,-18.934085377461077 -coef_M_68,0.55159999999999998,0.55159999999999998,0,,,0.55159999999999998 -coef_M_77,1.1689185377597398,0.97309999999999997,0,,,1.1689185377597398 -coef_M_78,-1.5331233891804061,0.59609999999999996,0,,,-1.5331233891804061 -coef_M_88,1.1505839302746146,1.651,0,,,1.1505839302746146 -coef_N_11,0.87318887937108214,1.123,0,,,0.87318887937108214 -coef_N_12,0.24183915201361481,0.49469999999999997,0,,,0.24183915201361481 -coef_N_13,0.59192245194065063,0.55230000000000001,0,,,0.59192245194065063 -coef_N_14,-0.11520399026943709,0.021860000000000001,0,,,-0.11520399026943709 -coef_N_15,0.35837177201195769,0.3115,0,,,0.35837177201195769 -coef_N_16,0.87560206874032775,0.40949999999999998,0,,,0.87560206874032775 -coef_N_17,-0.12677865514794309,0.6008,0,,,-0.12677865514794309 -coef_N_18,0.10704226969734577,0.751,0,,,0.10704226969734577 -coef_N_22,0.72707556913323979,1.032,0,,,0.72707556913323979 -coef_N_23,0.54094331873208856,0.33550000000000002,0,,,0.54094331873208856 -coef_N_24,1.2778673813277723,0.74770000000000003,0,,,1.2778673813277723 -coef_N_25,-0.44876565834828996,0.098309999999999995,0,,,-0.44876565834828996 -coef_N_26,-14.897952319514477,0.495,0,,,-14.897952319514477 -coef_N_27,0.3031034553268101,0.89839999999999998,0,,,0.3031034553268101 -coef_N_28,0.90141537238007852,1.452,0,,,0.90141537238007852 -coef_N_33,0.94126692083673891,1.054,0,,,0.94126692083673891 -coef_N_34,-0.17640412257232874,0.193,0,,,-0.17640412257232874 -coef_N_35,0.10306375422257623,0.40649999999999997,0,,,0.10306375422257623 -coef_N_36,1.6200000000000001,1.6200000000000001,0,,,1.6200000000000001 -coef_N_37,0.51649999999999996,0.51649999999999996,0,,,0.51649999999999996 -coef_N_38,0.89729999999999999,0.89729999999999999,0,,,0.89729999999999999 -coef_N_44,0.18753988004006014,0.69840000000000002,0,,,0.18753988004006014 -coef_N_45,0.10139966319988514,0.18640000000000001,0,,,0.10139966319988514 -coef_N_46,0.68010000000000004,0.68010000000000004,0,,,0.68010000000000004 -coef_N_47,0.56459999999999999,0.56459999999999999,0,,,0.56459999999999999 -coef_N_48,1.1639999999999999,1.1639999999999999,0,,,1.1639999999999999 -coef_N_55,0.71481848079980614,0.72909999999999997,0,,,0.71481848079980614 -coef_N_56_57_58,0.29189999999999999,0.29189999999999999,0,,,0.29189999999999999 -coef_N_66,-2.4730624946698345,1.512,0,,,-2.4730624946698345 -coef_N_67,-14.740556739194025,1.4219999999999999,0,,,-14.740556739194025 -coef_N_68,1.2729999999999999,1.2729999999999999,0,,,1.2729999999999999 -coef_N_77,2.3130640609159334,1.5529999999999999,0,,,2.3130640609159334 -coef_N_78,-0.30407334622872023,0.61839999999999995,0,,,-0.30407334622872023 -coef_N_88,-0.15881741099470906,0.87709999999999999,0,,,-0.15881741099470906 -coef_H_124_122_144,0.33133065098679593,0.95730000000000004,0,,,0.33133065098679593 -coef_H_126_146,1.5514557242593745,0.29389999999999999,0,,,1.5514557242593745 -coef_H_222_224_244,-9.203498518007823,0.98809999999999998,0,,,-9.203498518007823 -coef_H_226_246_446,34.311085923988777,0.43740000000000001,0,,,34.311085923988777 -coef_H_266_466,0.47470000000000001,0.47470000000000001,0,,,0.47470000000000001 -coef_H_xxxxx,-4.3950349906415909,-8.6210000000000004,0,,,-4.3950349906415909 -coef_M_111,0.22029613237472445,0.31330000000000002,0,,,0.22029613237472445 -coef_M_112_114,-0.0040326112064052802,0.34949999999999998,0,,,-0.0040326112064052802 -coef_M_666,-0.3906,-0.3906,0,,,-0.3906 -coef_M_xxxxx,-0.094419014924773184,-1.528,0,,,-0.094419014924773184 -coef_N_112_114,0.38961790319791489,0.4637,0,,,0.38961790319791489 -coef_N_124_122_144,0.58723976265654321,0.34910000000000002,0,,,0.58723976265654321 -coef_N_166,-1.6454258220246625,0.3553,0,,,-1.6454258220246625 -coef_N_222_224_444,-0.73749437161692599,-1.3859999999999999,0,,,-0.73749437161692599 -coef_N_246_226_446,-0.85860667485009734,-0.85709999999999997,0,,,-0.85860667485009734 -coef_N_xxxxx,-1.0332955358547824,-3.4529999999999998,0,,,-1.0332955358547824 +param_name,value,best,initvalue,nullvalue +-999.0,-999,-999,-999,0 +coef_H_11,1.5419336578228711,1.5419336578228711,1.6259999999999999,0 +coef_H_12,0.1568571252329849,0.1568571252329849,0.74070000000000003,0 +coef_H_124_122_144,0.32986113267128092,0.32986113267128092,0.95730000000000004,0 +coef_H_126_146,1.4938156680605212,1.4938156680605212,0.29389999999999999,0 +coef_H_13,1.530278002377929,1.530278002377929,1.1830000000000001,0 +coef_H_14,1.3497694853851858,1.3497694853851858,0.94359999999999999,0 +coef_H_15,0.62685358911701483,0.62685358911701483,1.298,0 +coef_H_16,1.5291894067209522,1.5291894067209522,2.0640000000000001,0 +coef_H_17,1.4687422769805925,1.4687422769805925,1.5009999999999999,0 +coef_H_18,1.216086235948181,1.216086235948181,0.99119999999999997,0 +coef_H_22,-4.3063697707024655,-4.3063697707024655,0.8911,0 +coef_H_222_224_244,-1.6197321462997589,-1.6197321462997589,0.98809999999999998,0 +coef_H_226_246_446,12.098686405137819,12.098686405137819,0.43740000000000001,0 +coef_H_23,0.68825135369938106,0.68825135369938106,1.6419999999999999,0 +coef_H_24,1.0820165622653497,1.0820165622653497,0.70569999999999999,0 +coef_H_25,-6.6250196452915038,-6.6250196452915038,0.46300000000000002,0 +coef_H_26,4.3850586248092194,4.3850586248092194,3.0569999999999999,0 +coef_H_266_466,0.47470000000000001,0.47470000000000001,0.47470000000000001,0 +coef_H_27,0.37427672206710327,0.37427672206710327,0.76849999999999996,0 +coef_H_28,-6.5629206600849752,-6.5629206600849752,1.0700000000000001,0 +coef_H_33,0.97934875367483343,0.97934875367483343,1.018,0 +coef_H_34,1.6682416041299686,1.6682416041299686,1.7809999999999999,0 +coef_H_35,-7.6611808359029645,-7.6611808359029645,0.48349999999999999,0 +coef_H_36,1.546,1.546,1.546,0 +coef_H_37,1.552,1.552,1.552,0 +coef_H_38,1.3400000000000001,1.3400000000000001,1.3400000000000001,0 +coef_H_44,1.7216206652798149,1.7216206652798149,1.3520000000000001,0 +coef_H_45,2.1809912215370213,2.1809912215370213,1.2090000000000001,0 +coef_H_46,0.52429999999999999,0.52429999999999999,0.52429999999999999,0 +coef_H_47,0.81120000000000003,0.81120000000000003,0.81120000000000003,0 +coef_H_48,1.167,1.167,1.167,0 +coef_H_55,0.9809722526114516,0.9809722526114516,1.407,0 +coef_H_56_57_58,0.86319999999999997,0.86319999999999997,0.86319999999999997,0 +coef_H_66,8.4167262944706192,8.4167262944706192,2.198,0 +coef_H_67,0.44723071774676276,0.44723071774676276,0.97699999999999998,0 +coef_H_68,1.4670000000000001,1.4670000000000001,1.4670000000000001,0 +coef_H_77,2.4634580374961481,2.4634580374961481,2.7999999999999998,0 +coef_H_78,8.0627613298133163,8.0627613298133163,1.4339999999999999,0 +coef_H_88,1.1936498396775894,1.1936498396775894,1.3779999999999999,0 +coef_H_xxxxx,-4.438201822964726,-4.438201822964726,-8.6210000000000004,0 +coef_M_11,-0.066577852130294796,-0.066577852130294796,0.14099999999999999,0 +coef_M_111,0.21817216396215119,0.21817216396215119,0.31330000000000002,0 +coef_M_112_114,-0.0091511592429970364,-0.0091511592429970364,0.34949999999999998,0 +coef_M_12,0.27663650974688847,0.27663650974688847,0.088450000000000001,0 +coef_M_13,0.29518704763231096,0.29518704763231096,0.42730000000000001,0 +coef_M_16,0.39054012521608994,0.39054012521608994,0.38419999999999999,0 +coef_M_17,-0.10374731614605871,-0.10374731614605871,0.26229999999999998,0 +coef_M_18,0.29351743522965396,0.29351743522965396,0.51180000000000003,0 +coef_M_22,0.94258669894424363,0.94258669894424363,1.135,0 +coef_M_23,0.17645116723622598,0.17645116723622598,0.17299999999999999,0 +coef_M_26,2.0567045575983358,2.0567045575983358,1.103,0 +coef_M_27,0.11181263755365198,0.11181263755365198,0.30790000000000001,0 +coef_M_28,0.40977163391205312,0.40977163391205312,0.50739999999999996,0 +coef_M_33,0.42794992530878012,0.42794992530878012,0.87260000000000004,0 +coef_M_36,-0.0020999999999999999,-0.0020999999999999999,-0.0020999999999999999,0 +coef_M_37,0.29749999999999999,0.29749999999999999,0.29749999999999999,0 +coef_M_38,0.22539999999999999,0.22539999999999999,0.22539999999999999,0 +coef_M_66,6.8123948779490693,6.8123948779490693,0.47939999999999999,0 +coef_M_666,-0.3906,-0.3906,-0.3906,0 +coef_M_67,-7.3937041904113867,-7.3937041904113867,0.5151,0 +coef_M_68,0.55159999999999998,0.55159999999999998,0.55159999999999998,0 +coef_M_77,1.1962631870344373,1.1962631870344373,0.97309999999999997,0 +coef_M_78,-1.3923814874344116,-1.3923814874344116,0.59609999999999996,0 +coef_M_88,1.1525357532203755,1.1525357532203755,1.651,0 +coef_M_xxxxx,-0.096518689430947144,-0.096518689430947144,-1.528,0 +coef_N_11,0.86795864199959616,0.86795864199959616,1.123,0 +coef_N_112_114,0.39065522090321092,0.39065522090321092,0.4637,0 +coef_N_12,0.2480617301094909,0.2480617301094909,0.49469999999999997,0 +coef_N_124_122_144,0.5961328376142746,0.5961328376142746,0.34910000000000002,0 +coef_N_13,0.59999100559434859,0.59999100559434859,0.55230000000000001,0 +coef_N_14,-0.11674049556223835,-0.11674049556223835,0.021860000000000001,0 +coef_N_15,0.35040961065342302,0.35040961065342302,0.3115,0 +coef_N_16,0.86792547139565934,0.86792547139565934,0.40949999999999998,0 +coef_N_166,-0.60592696880184027,-0.60592696880184027,0.3553,0 +coef_N_17,-0.12905710747041996,-0.12905710747041996,0.6008,0 +coef_N_18,0.099608274686980441,0.099608274686980441,0.751,0 +coef_N_22,0.72885783855767394,0.72885783855767394,1.032,0 +coef_N_222_224_444,-0.71444624999906414,-0.71444624999906414,-1.3859999999999999,0 +coef_N_23,0.52825961143137423,0.52825961143137423,0.33550000000000002,0 +coef_N_24,1.2980868785793294,1.2980868785793294,0.74770000000000003,0 +coef_N_246_226_446,-0.85788521935923545,-0.85788521935923545,-0.85709999999999997,0 +coef_N_25,-0.43179604185147774,-0.43179604185147774,0.098309999999999995,0 +coef_N_26,-1.6215850575786785,-1.6215850575786785,0.495,0 +coef_N_27,0.30168716118388883,0.30168716118388883,0.89839999999999998,0 +coef_N_28,0.90407599542690464,0.90407599542690464,1.452,0 +coef_N_33,0.94281968773235403,0.94281968773235403,1.054,0 +coef_N_34,-0.1808606095370153,-0.1808606095370153,0.193,0 +coef_N_35,0.097592142619067943,0.097592142619067943,0.40649999999999997,0 +coef_N_36,1.6200000000000001,1.6200000000000001,1.6200000000000001,0 +coef_N_37,0.51649999999999996,0.51649999999999996,0.51649999999999996,0 +coef_N_38,0.89729999999999999,0.89729999999999999,0.89729999999999999,0 +coef_N_44,0.17090119236816009,0.17090119236816009,0.69840000000000002,0 +coef_N_45,0.10502837410928217,0.10502837410928217,0.18640000000000001,0 +coef_N_46,0.68010000000000004,0.68010000000000004,0.68010000000000004,0 +coef_N_47,0.56459999999999999,0.56459999999999999,0.56459999999999999,0 +coef_N_48,1.1639999999999999,1.1639999999999999,1.1639999999999999,0 +coef_N_55,0.71685424802473707,0.71685424802473707,0.72909999999999997,0 +coef_N_56_57_58,0.29189999999999999,0.29189999999999999,0.29189999999999999,0 +coef_N_66,-0.33771670602573539,-0.33771670602573539,1.512,0 +coef_N_67,-0.51003034698548388,-0.51003034698548388,1.4219999999999999,0 +coef_N_68,1.2729999999999999,1.2729999999999999,1.2729999999999999,0 +coef_N_77,2.3038032526813228,2.3038032526813228,1.5529999999999999,0 +coef_N_78,-0.050192112434025701,-0.050192112434025701,0.61839999999999995,0 +coef_N_88,-0.12160277921446122,-0.12160277921446122,0.87709999999999999,0 +coef_N_xxxxx,-1.0454032140665002,-1.0454032140665002,-3.4529999999999998,0 +coef_UNAVAILABLE,-999,-999,-999,0 +coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N,0.31817765512188612,0.31817765512188612,0.08233,0 +coef_driving_age_child_who_is_in_school_asc_M,0.76528459302162444,0.76528459302162444,2.3309186849999999,0 +coef_driving_age_child_who_is_in_school_asc_N,-3.5523769241342968,-3.5523769241342968,-0.59911911200000001,0 +coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H,-0.94575683546498501,-0.94575683546498501,-0.50309999999999999,0 +coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H,0.45457650403543642,0.45457650403543642,0.64749999999999996,0 +coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H,-1.7469955117343503,-1.7469955117343503,-2.0459999999999998,0 +coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H,0.45063485271679943,0.45063485271679943,1.3069999999999999,0 +coef_full_time_worker_asc_M,0.74125913107999808,0.74125913107999808,1.3787345790000001,0 +coef_full_time_worker_asc_N,0.73554763956044567,0.73554763956044567,0.62266239099999998,0 +coef_full_time_worker_interaction_with_age_less_than_40_M,0.44384674710175359,0.44384674710175359,0.20910000000000001,0 +coef_full_time_worker_interaction_with_female_gender_M,0.038779513853859825,0.038779513853859825,-0.12590000000000001,0 +coef_full_time_worker_interaction_with_fewer_cars_than_workers_H,0.41683751563975829,0.41683751563975829,0.50390000000000001,0 +coef_full_time_worker_interaction_with_income_less_than_20k_H,0.4546699336623663,0.4546699336623663,0.53129999999999999,0 +coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,0.17061134225870994,0.17061134225870994,0.1212,0 +coef_non_working_adult_asc_N,0.5032527423546157,0.5032527423546157,0.59464538600000005,0 +coef_non_working_adult_interaction_with_female_gender_M,-0.74299999999999999,-0.74299999999999999,-0.74299999999999999,0 +coef_non_working_adult_interaction_with_fewer_cars_than_workers_H,0.79550405235037291,0.79550405235037291,0.89649999999999996,0 +coef_non_working_adult_interaction_with_income_between_50k_and_100k_H,-1.1335473989478433,-1.1335473989478433,-0.56020000000000003,0 +coef_non_working_adult_interaction_with_income_more_than_100k_H,-0.52876095625819419,-0.52876095625819419,-0.71879999999999999,0 +coef_non_working_adult_interaction_with_more_cars_than_workers_M,0.65149999999999997,0.65149999999999997,0.65149999999999997,0 +coef_non_working_adult_interaction_with_more_cars_than_workers_N,1.4789652448709654,1.4789652448709654,0.81679999999999997,0 +coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,0.23139999999999999,0.23139999999999999,0.23139999999999999,0 +coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N,0.064939130822218152,0.064939130822218152,0.072069999999999995,0 +coef_part_time_worker_asc_M,6.3592603940417298,6.3592603940417298,-0.71882373799999999,0 +coef_part_time_worker_asc_N,0.62900096289821572,0.62900096289821572,0.63603246700000005,0 +coef_part_time_worker_interaction_with_income_between_50k_and_100k_H,0.083715416192307907,0.083715416192307907,-0.4032,0 +coef_part_time_worker_interaction_with_income_less_than_20k_H,0.37591205189659627,0.37591205189659627,0.32319999999999999,0 +coef_part_time_worker_interaction_with_income_more_than_100k_H,-1.344577739113451,-1.344577739113451,-0.35339999999999999,0 +coef_part_time_worker_interaction_with_income_more_than_100k_N,0.57926282447447563,0.57926282447447563,0.42070000000000002,0 +coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,-0.36291295851748201,-0.36291295851748201,0.20039999999999999,0 +coef_pre_driving_age_child_who_is_in_school_asc_M,3.9364917022114958,3.9364917022114958,3.295863529,0 +coef_pre_driving_age_child_who_is_in_school_asc_N,-1.4901825824862984,-1.4901825824862984,0.57142433999999998,0 +coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,-1.560760489357776,-1.560760489357776,-0.71409999999999996,0 +coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N,-1.1582880792288159,-1.1582880792288159,-0.67200000000000004,0 +coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,-0.69702865509680834,-0.69702865509680834,-0.29430000000000001,0 +coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H,1.0807804461266468,1.0807804461266468,0.58620000000000005,0 +coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,0.93791299554872232,0.93791299554872232,1.052531189,0 +coef_pre_driving_age_child_who_is_too_young_for_school_asc_N,-3.1168217219705499,-3.1168217219705499,-0.83756777599999999,0 +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,-0.97840886625486712,-0.97840886625486712,-0.45150000000000001,0 +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,0.22680433121070148,0.22680433121070148,0.61070000000000002,0 +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H,-0.064351049344718039,-0.064351049344718039,0.50609999999999999,0 +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H,-0.70378572103967652,-0.70378572103967652,-0.57079999999999997,0 +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H,-0.77304583320350251,-0.77304583320350251,-0.61860000000000004,0 +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N,0.69633632402948109,0.69633632402948109,0.29909999999999998,0 +coef_retired_asc_N,1.0264990433635548,1.0264990433635548,0.408202071,0 +coef_retired_interaction_with_age_more_than_80_H,1.1355402656793447,1.1355402656793447,0.76659999999999995,0 +coef_retired_interaction_with_female_M,0.47689999999999999,0.47689999999999999,0.47689999999999999,0 +coef_retired_interaction_with_fewer_cars_than_workers_H,1.1284456224788169,1.1284456224788169,0.54959999999999998,0 +coef_retired_interaction_with_income_less_than_20k_H,0.65094671152574535,0.65094671152574535,0.53300000000000003,0 +coef_retired_interaction_with_more_cars_than_workers_M,2.992,2.992,2.992,0 +coef_retired_interaction_with_more_cars_than_workers_N,0.76654574573265821,0.76654574573265821,1.056,0 +coef_retired_interaction_with_peak_accessibility_to_all_employment_M,0.2792,0.2792,0.2792,0 +coef_university_student_asc_M,2.1131909971292351,2.1131909971292351,2.3535951759999998,0 +coef_university_student_asc_N,0.35532700566947006,0.35532700566947006,0.609709846,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_cdap_model_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_cdap_model_loglike.csv index dcd755572e..cf7fc482c4 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_cdap_model_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_cdap_model_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-2460.72797581254872057,-2335.77494762967762654 +0,-2460.7280651590818,-2336.352120296393 diff --git a/activitysim/estimation/test/test_larch_estimation/test_joint_tour_scheduling_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_joint_tour_scheduling_loglike.csv index a8e60cc389..c5a6e449eb 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_joint_tour_scheduling_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_joint_tour_scheduling_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-1295.3015770898169,-175.64109886722656 +0,-185.1805538740314,-163.38981780168791 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_BHHH_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_BHHH_loglike.csv new file mode 100644 index 0000000000..90f36e10ea --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_BHHH_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-1604.7051182769926,-1393.2868770044743 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_BHHH_size_spec.csv similarity index 97% rename from activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_size_spec.csv rename to activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_BHHH_size_spec.csv index 55915d90aa..1472d05ed2 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_BHHH_size_spec.csv @@ -12,7 +12,7 @@ 10,othmaint,non_mandatory,0,0.48199999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 11,social,non_mandatory,0,0.52200000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 -13,atwork,atwork,0,0.80359528369795752,0,0.19640471630204245,0,0,0,0,0,0,0 +13,atwork,atwork,0,0.9565182592635646,0,0.043481740736435397,0,0,0,0,0,0,0 14,work,trip,0,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0,0,0,0 15,escort,trip,0.001,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46400000000000002,0.16600000000000001,0,0 16,shopping,trip,0.001,0.999,0,0,0,0,0,0,0,0,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_loglike.csv deleted file mode 100644 index eb025e263b..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_destination_loglike.csv +++ /dev/null @@ -1,2 +0,0 @@ -,loglike_prior,loglike_converge -0,-2334.2258751965092,-2329.8700459477177 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_scheduling_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_scheduling_loglike.csv deleted file mode 100644 index 65489ba050..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_atwork_subtour_scheduling_loglike.csv +++ /dev/null @@ -1,2 +0,0 @@ -,loglike_prior,loglike_converge -0,-6685.5153616099333,-1437.800794640111 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_SLSQP_loglike.csv new file mode 100644 index 0000000000..77c3090874 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_SLSQP_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-8511.5032542114423,-7720.5833427253137 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_SLSQP_size_spec.csv similarity index 51% rename from activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_size_spec.csv rename to activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_SLSQP_size_spec.csv index af3285fe26..9aee2eecc1 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_SLSQP_size_spec.csv @@ -1,23 +1,23 @@ ,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -0,work_low,workplace,0,0.12912912912912916,0.19319319319319325,0.38338338338338335,0.12012012012012015,0.010010010010010012,0.1641641641641641,0,0,0,0 -1,work_med,workplace,0,0.12012012012012013,0.19719719719719711,0.32532532532532538,0.13913913913913917,0.0080080080080080097,0.21021021021021022,0,0,0,0 +0,work_low,workplace,0,0.12912912912912911,0.19319319319319317,0.38338338338338335,0.12012012012012011,0.01001001001001001,0.16416416416416416,0,0,0,0 +1,work_med,workplace,0,0.12012012012012012,0.19719719719719719,0.32532532532532532,0.13913913913913914,0.0080080080080080079,0.21021021021021019,0,0,0,0 2,work_high,workplace,0,0.11,0.20699999999999999,0.28399999999999997,0.154,0.0060000000000000001,0.23899999999999999,0,0,0,0 3,work_veryhigh,workplace,0,0.092999999999999999,0.27000000000000002,0.24099999999999999,0.14599999999999999,0.0040000000000000001,0.246,0,0,0,0 -4,university,school,0,0,0,0,0,0,0,0,0,0.59200000000000008,0.40799999999999997 +4,university,school,0,0,0,0,0,0,0,0,0,0.59199999999999997,0.40799999999999997 5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 -7,escort,non_mandatory,0,0.34195879720614686,0,0.13084293500721081,0,0,0,0.47127943957016599,0.055918828216476292,0,0 +7,escort,non_mandatory,0,0.46217099216294472,0,0.076417211673566368,0,0,0,0.45632020794852418,0.0050915882149647294,0,0 8,shopping,non_mandatory,0,1,0,0,0,0,0,0,0,0,0 -9,eatout,non_mandatory,0,0.65324866493964562,0,0.34675133506035422,0,0,0,0,0,0,0 -10,othmaint,non_mandatory,0,0.4233662207110353,0,0.57663377928896464,0,0,0,0,0,0,0 -11,social,non_mandatory,0,0.41656965799658413,0,0.58343034200341592,0,0,0,0,0,0,0 -12,othdiscr,non_mandatory,0.29737723981663911,0.27581414711676105,0,0.23370128672645701,0.12262191040591303,0,0,0,0.070485415934229814,0,0 +9,eatout,non_mandatory,0,0.90706301951236668,0,0.092936980487633311,0,0,0,0,0,0,0 +10,othmaint,non_mandatory,0,0.93116571483751687,0,0.068834285162483244,0,0,0,0,0,0,0 +11,social,non_mandatory,0,0.92391195421170202,0,0.076088045788297989,0,0,0,0,0,0,0 +12,othdiscr,non_mandatory,0.52511273726308272,0.27498108262234988,0,0.023448766399240456,0.15609458779050345,0,0,0,0.020362825924823438,0,0 13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 14,work,trip,0,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0,0,0,0 -15,escort,trip,0.0010000000000000002,0.22500000000000003,0,0.14400000000000002,0,0,0,0.46399999999999997,0.16600000000000004,0,0 +15,escort,trip,0.001,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46400000000000002,0.16600000000000001,0,0 16,shopping,trip,0.001,0.999,0,0,0,0,0,0,0,0,0 17,eatout,trip,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 18,othmaint,trip,0.001,0.48099999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 19,social,trip,0.001,0.52100000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 20,othdiscr,trip,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 -21,univ,trip,0.000999000999000999,0,0,0,0,0,0,0,0,0.59140859140859148,0.4075924075924075 +21,univ,trip,0.00099900099900099922,0,0,0,0,0,0,0,0,0.59140859140859148,0.40759240759240761 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_loglike.csv deleted file mode 100644 index c5df93cabd..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_destination_loglike.csv +++ /dev/null @@ -1,2 +0,0 @@ -,loglike_prior,loglike_converge -0,-12819.670044726949,-12802.203974292237 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_scheduling_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_scheduling_loglike.csv deleted file mode 100644 index d774c94c68..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_non_mandatory_tour_scheduling_loglike.csv +++ /dev/null @@ -1,2 +0,0 @@ -,loglike_prior,loglike_converge -0,-12689.271731526222,-9843.6723572271876 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_BHHH_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_BHHH_loglike.csv new file mode 100644 index 0000000000..61faa0892d --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_BHHH_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-3150.9027927232128,-2472.1256126886806 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_BHHH_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_BHHH_size_spec.csv new file mode 100644 index 0000000000..b5a4700325 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_BHHH_size_spec.csv @@ -0,0 +1,23 @@ +,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +0,work_low,workplace,0,0.12912912912912911,0.19319319319319317,0.38338338338338335,0.12012012012012011,0.01001001001001001,0.16416416416416416,0,0,0,0 +1,work_med,workplace,0,0.12012012012012012,0.19719719719719719,0.32532532532532532,0.13913913913913914,0.0080080080080080079,0.21021021021021019,0,0,0,0 +2,work_high,workplace,0,0.11,0.20699999999999999,0.28399999999999997,0.154,0.0060000000000000001,0.23899999999999999,0,0,0,0 +3,work_veryhigh,workplace,0,0.092999999999999999,0.27000000000000002,0.24099999999999999,0.14599999999999999,0.0040000000000000001,0.246,0,0,0,0 +4,university,school,0,0,0,0,0,0,0,0,0,1,0 +5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 +6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 +7,escort,non_mandatory,0,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46500000000000002,0.16600000000000001,0,0 +8,shopping,non_mandatory,0,1,0,0,0,0,0,0,0,0,0 +9,eatout,non_mandatory,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +10,othmaint,non_mandatory,0,0.48199999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 +11,social,non_mandatory,0,0.52200000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 +12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 +13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +14,work,trip,0,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0,0,0,0 +15,escort,trip,0.001,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46400000000000002,0.16600000000000001,0,0 +16,shopping,trip,0.001,0.999,0,0,0,0,0,0,0,0,0 +17,eatout,trip,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +18,othmaint,trip,0.001,0.48099999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 +19,social,trip,0.001,0.52100000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 +20,othdiscr,trip,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 +21,univ,trip,0.00099900099900099922,0,0,0,0,0,0,0,0,0.59140859140859148,0.40759240759240761 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_SLSQP_loglike.csv new file mode 100644 index 0000000000..11f796f1c2 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_SLSQP_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-3150.9027927232128,-2472.5944704127669 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_SLSQP_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_SLSQP_size_spec.csv new file mode 100644 index 0000000000..569194ef5e --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_SLSQP_size_spec.csv @@ -0,0 +1,23 @@ +,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +0,work_low,workplace,0,0.12912912912912911,0.19319319319319317,0.38338338338338335,0.12012012012012011,0.01001001001001001,0.16416416416416416,0,0,0,0 +1,work_med,workplace,0,0.12012012012012012,0.19719719719719719,0.32532532532532532,0.13913913913913914,0.0080080080080080079,0.21021021021021019,0,0,0,0 +2,work_high,workplace,0,0.11,0.20699999999999999,0.28399999999999997,0.154,0.0060000000000000001,0.23899999999999999,0,0,0,0 +3,work_veryhigh,workplace,0,0.092999999999999999,0.27000000000000002,0.24099999999999999,0.14599999999999999,0.0040000000000000001,0.246,0,0,0,0 +4,university,school,0,0,0,0,0,0,0,0,0,0.99583037710619249,0.004169622893807531 +5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 +6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 +7,escort,non_mandatory,0,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46500000000000002,0.16600000000000001,0,0 +8,shopping,non_mandatory,0,1,0,0,0,0,0,0,0,0,0 +9,eatout,non_mandatory,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +10,othmaint,non_mandatory,0,0.48199999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 +11,social,non_mandatory,0,0.52200000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 +12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 +13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +14,work,trip,0,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0,0,0,0 +15,escort,trip,0.001,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46400000000000002,0.16600000000000001,0,0 +16,shopping,trip,0.001,0.999,0,0,0,0,0,0,0,0,0 +17,eatout,trip,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +18,othmaint,trip,0.001,0.48099999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 +19,social,trip,0.001,0.52100000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 +20,othdiscr,trip,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 +21,univ,trip,0.00099900099900099922,0,0,0,0,0,0,0,0,0.59140859140859148,0.40759240759240761 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_loglike.csv index 645ce49776..2e9a9a9bb2 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-4070.349038545839,-4058.2217927321499 +0,-3150.9027927232128,-2472.12561268868057596 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_size_spec.csv index 06a6f09b3b..569194ef5e 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_school_location_size_spec.csv @@ -1,9 +1,9 @@ ,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -0,work_low,workplace,0,0.12912912912912916,0.19319319319319325,0.38338338338338335,0.12012012012012015,0.010010010010010012,0.1641641641641641,0,0,0,0 -1,work_med,workplace,0,0.12012012012012013,0.19719719719719711,0.32532532532532538,0.13913913913913917,0.0080080080080080097,0.21021021021021022,0,0,0,0 +0,work_low,workplace,0,0.12912912912912911,0.19319319319319317,0.38338338338338335,0.12012012012012011,0.01001001001001001,0.16416416416416416,0,0,0,0 +1,work_med,workplace,0,0.12012012012012012,0.19719719719719719,0.32532532532532532,0.13913913913913914,0.0080080080080080079,0.21021021021021019,0,0,0,0 2,work_high,workplace,0,0.11,0.20699999999999999,0.28399999999999997,0.154,0.0060000000000000001,0.23899999999999999,0,0,0,0 3,work_veryhigh,workplace,0,0.092999999999999999,0.27000000000000002,0.24099999999999999,0.14599999999999999,0.0040000000000000001,0.246,0,0,0,0 -4,university,school,0,0,0,0,0,0,0,0,0,0.66488586546020301,0.33511413453979705 +4,university,school,0,0,0,0,0,0,0,0,0,0.99583037710619249,0.004169622893807531 5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 7,escort,non_mandatory,0,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46500000000000002,0.16600000000000001,0,0 @@ -14,10 +14,10 @@ 12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 14,work,trip,0,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0,0,0,0 -15,escort,trip,0.0010000000000000002,0.22500000000000003,0,0.14400000000000002,0,0,0,0.46399999999999997,0.16600000000000004,0,0 +15,escort,trip,0.001,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46400000000000002,0.16600000000000001,0,0 16,shopping,trip,0.001,0.999,0,0,0,0,0,0,0,0,0 17,eatout,trip,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 18,othmaint,trip,0.001,0.48099999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 19,social,trip,0.001,0.52100000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 20,othdiscr,trip,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 -21,univ,trip,0.000999000999000999,0,0,0,0,0,0,0,0,0.59140859140859148,0.4075924075924075 +21,univ,trip,0.00099900099900099922,0,0,0,0,0,0,0,0,0.59140859140859148,0.40759240759240761 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_BHHH_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_BHHH_loglike.csv new file mode 100644 index 0000000000..83144fe122 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_BHHH_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-21855.73573427651,-8695.4742752868151 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_BHHH_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_BHHH_size_spec.csv new file mode 100644 index 0000000000..ebfe3d5b78 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_BHHH_size_spec.csv @@ -0,0 +1,23 @@ +,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +0,work_low,workplace,0,0.12912912912912911,0.19319319319319317,0.38338338338338335,0.12012012012012011,0.01001001001001001,0.16416416416416416,0,0,0,0 +1,work_med,workplace,0,0.12012012012012012,0.19719719719719719,0.32532532532532532,0.13913913913913914,0.0080080080080080079,0.21021021021021019,0,0,0,0 +2,work_high,workplace,0,0.11,0.20699999999999999,0.28399999999999997,0.154,0.0060000000000000001,0.23899999999999999,0,0,0,0 +3,work_veryhigh,workplace,0,0.092999999999999999,0.27000000000000002,0.24099999999999999,0.14599999999999999,0.0040000000000000001,0.246,0,0,0,0 +4,university,school,0,0,0,0,0,0,0,0,0,0.59199999999999997,0.40799999999999997 +5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 +6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 +7,escort,non_mandatory,0,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46500000000000002,0.16600000000000001,0,0 +8,shopping,non_mandatory,0,1,0,0,0,0,0,0,0,0,0 +9,eatout,non_mandatory,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +10,othmaint,non_mandatory,0,0.48199999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 +11,social,non_mandatory,0,0.52200000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 +12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 +13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 +14,work,trip,0,0.50988404412746136,2.8830314727604896e-146,0,1.2350245131417982e-12,0.48708399966352267,0.0030319562077810091,0,0,0,0 +15,escort,trip,0.99999999999752021,4.6306836616861319e-13,0,1.8807680387063182e-13,0,0,0,1.4480163162588933e-12,3.8063890886682389e-13,0,0 +16,shopping,trip,0.99999999865706501,1.3429349752304603e-09,0,0,0,0,0,0,0,0,0 +17,eatout,trip,0,1,0,0,0,0,0,0,0,0,0 +18,othmaint,trip,0.99999999998646205,9.0646768310272159e-12,0,4.4735228850332918e-12,0,0,0,0,0,0,0 +19,social,trip,0.99999999999998024,1.5851156966866637e-14,0,3.8443449490946144e-15,0,0,0,0,0,0,0 +20,othdiscr,trip,0.96881871015685461,0.031181191433995798,0,0,0,0,0,0,9.8409149668972833e-08,0,0 +21,univ,trip,1,0,0,0,0,0,0,0,0,4.8326974397473536e-21,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_SLSQP_loglike.csv new file mode 100644 index 0000000000..a2e43ac4ff --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_SLSQP_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-21855.73573427651,-8952.9587499637983 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_SLSQP_size_spec.csv similarity index 63% rename from activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_size_spec.csv rename to activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_SLSQP_size_spec.csv index 04abb0cc9c..e3f4e0538d 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_SLSQP_size_spec.csv @@ -13,11 +13,11 @@ 11,social,non_mandatory,0,0.52200000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 -14,work,trip,0,0.24014195523694865,0.00059525239425258316,0.0025343890988937991,0.0013168081587181715,0.75481634271693376,0.00059525239425293412,0,0,0,0 -15,escort,trip,0.0025746521059848222,0.31583599496207332,0,0.0063819245118687607,0,0,0,0.56721029531390887,0.10799713310616434,0,0 -16,shopping,trip,0.28745939613255439,0.71254060386744567,0,0,0,0,0,0,0,0,0 -17,eatout,trip,0,0.98157984232483642,0,0.018420157675163609,0,0,0,0,0,0,0 -18,othmaint,trip,0.066897386356299673,0.76728057159935903,0,0.16582204204434134,0,0,0,0,0,0,0 -19,social,trip,0.028735588735319624,0.90003600813919549,0,0.071228403125484938,0,0,0,0,0,0,0 -20,othdiscr,trip,0.27326163859230651,0.71190812297572337,0,0.0026878884184924783,0.0094544615949851765,0,0,0,0.0026878884184924428,0,0 -21,univ,trip,0.16785552148845903,0,0,0,0,0,0,0,0,0.41607223925575049,0.41607223925579045 +14,work,trip,0,0.74787786056587513,0.0018538038747582422,0.001853803876100025,0.0018538038747592663,0.24470692393187074,0.0018538038766366914,0,0,0,0 +15,escort,trip,4.4398622176416287e-05,0.0018145828132440462,0,0.00025862750482263144,0,0,0,0.97914326797093931,0.018739123088817596,0,0 +16,shopping,trip,0.28745937648450037,0.71254062351549963,0,0,0,0,0,0,0,0,0 +17,eatout,trip,0,0.99667048634136579,0,0.0033295136586341872,0,0,0,0,0,0,0 +18,othmaint,trip,0.16785550808846833,0.41607224595773862,0,0.41607224595379305,0,0,0,0,0,0,0 +19,social,trip,0.00044482261527767418,0.98033336959213913,0,0.019221807792583361,0,0,0,0,0,0,0 +20,othdiscr,trip,0.9406951398181691,0.022347626204726488,0,0.0092529765597407446,0.009252976559785164,0,0,0,0.018451280857578346,0,0 +21,univ,trip,0.16785550808973149,0,0,0,0,0,0,0,0,0.41607224595513576,0.41607224595513281 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_loglike.csv deleted file mode 100644 index 7bed7a2ee0..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_trip_destination_loglike.csv +++ /dev/null @@ -1,2 +0,0 @@ -,loglike_prior,loglike_converge -0,-27955.701284580879,-12569.486100216422 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_SLSQP_loglike.csv new file mode 100644 index 0000000000..4068e18c58 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_SLSQP_loglike.csv @@ -0,0 +1,2 @@ +,loglike_prior,loglike_converge +0,-8694.1663931267794,-7268.5499545875718 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_SLSQP_size_spec.csv similarity index 72% rename from activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_size_spec.csv rename to activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_SLSQP_size_spec.csv index b568bafc7b..2ef299a31a 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_SLSQP_size_spec.csv @@ -1,8 +1,8 @@ ,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -0,work_low,workplace,0,0.04331096924066484,0.17606247084331519,0.37453642466033488,0.16935644669165648,0.000968861288590913,0.23576482727543777,0,0,0,0 -1,work_med,workplace,0,0.11999183383359351,0.14366373395357587,0.25125860903337882,0.079402445282216183,0.0024785834941433989,0.40320479440309209,0,0,0,0 -2,work_high,workplace,0,0.15790294154771911,0.19045576988955706,0.29641460514585227,0.1682066889662423,0.0063903077215986892,0.18062968672903063,0,0,0,0 -3,work_veryhigh,workplace,0,0.062641019242734242,0.11667678718376452,0.13342796655219047,0.056368476597385232,0.51025642529636983,0.12062932512755588,0,0,0,0 +0,work_low,workplace,0,0.81009695995589714,0.015566120986122242,0.038205865646079792,0.059310593251792124,0.061254339173986733,0.015566120986122242,0,0,0,0 +1,work_med,workplace,0,0.8281013406144393,0.017105484027381986,0.031082288899413148,0.052366292140338909,0.054239110291044855,0.017105484027382,0,0,0,0 +2,work_high,workplace,0,0.83264652845133025,0.018762949054789986,0.021130105260407248,0.064579726133974238,0.044117742044708114,0.018762949054789986,0,0,0,0 +3,work_veryhigh,workplace,0,0.85877445882802128,0.022889127413081023,0.032513950668635973,0.027093642194477335,0.035839693482703265,0.022889127413081023,0,0,0,0 4,university,school,0,0,0,0,0,0,0,0,0,0.59199999999999997,0.40799999999999997 5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_loglike.csv deleted file mode 100644 index 71e9b13b18..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_loc_workplace_location_loglike.csv +++ /dev/null @@ -1,2 +0,0 @@ -,loglike_prior,loglike_converge -0,-13535.154991016063,-13520.930381371694 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_None_.csv index f40a770d1b..69549a8874 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_None_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_None_.csv @@ -1,11 +1,11 @@ -,value,initvalue,nullvalue,minimum,maximum,best -atwork_HEREMPN,-1.7073243906685389,-1.3547956940605197,0,-6,6,-1.7073243906685389 -atwork_RETEMPN,-0.29840603581475661,-0.29840603581475661,0,-0.29840603581475661,-0.29840603581475661,-0.29840603581475661 -coef_distance_piecewise_linear_for_15_plus_miles,-0.20450000000000218,-0.20449999999999999,0,-25,25,-0.20450000000000218 -coef_distance_piecewise_linear_from_0_to_1_miles,-1.3641542578406347,-0.79259999999999997,0,-25,25,-1.3641542578406347 -coef_distance_piecewise_linear_from_1_to_2_miles,-0.73953227083074224,-0.79259999999999997,0,-25,25,-0.73953227083074224 -coef_distance_piecewise_linear_from_2_to_5_miles,-0.50452550250971084,-0.51970000000000005,0,-25,25,-0.50452550250971084 -coef_distance_piecewise_linear_from_5_to_15_miles,-0.073402957716087874,-0.20449999999999999,0,-25,25,-0.073402957716087874 -coef_mode_choice_logsum,0.50327067752307442,0.51359999999999995,0,-25,25,0.50327067752307442 -coef_no_attractions_atwork_size_variable_is_0,-999,-999,0,-999,-999,-999 -coef_sample_of_alternatives_correction_factor,1,1,0,1,1,1 +param_name,value,best,initvalue,nullvalue +atwork_HEREMPN,-3.389364816281855,-3.389364816281855,-1.3547956943511963,0 +atwork_RETEMPN,-0.29840603470802307,-0.29840603470802307,-0.29840603470802307,0 +coef_distance_piecewise_linear_for_15_plus_miles,-0.20450000464916254,-0.20450000464916254,-0.20450000464916229,0 +coef_distance_piecewise_linear_from_0_to_1_miles,-0.40672843393342367,-0.40672843393342367,-0.79259997606277466,0 +coef_distance_piecewise_linear_from_1_to_2_miles,0.46709869805144771,0.46709869805144771,-0.79259997606277466,0 +coef_distance_piecewise_linear_from_2_to_5_miles,0.11788881847828234,0.11788881847828234,-0.51969999074935913,0 +coef_distance_piecewise_linear_from_5_to_15_miles,0.25609050297480096,0.25609050297480096,-0.20450000464916229,0 +coef_mode_choice_logsum,0.73082605315228077,0.73082605315228077,0.51359999179840088,0 +coef_no_attractions_atwork_size_variable_is_0,-999,-999,-999,0 +coef_sample_of_alternatives_correction_factor,1,1,1,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv index e771c163a3..20b6225820 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv @@ -1,36 +1,36 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -0,0,0,0,0,0,0 -1,1,1,1,1,1,1 -coef_eatout_dist_0_2,-0.84467402735490316,-0.56089999999999995,0,-25,25,-0.84467402735490316 -coef_eatout_dist_2_5,-0.19454520781373841,-0.31919999999999998,0,-25,25,-0.19454520781373841 -coef_eatout_dist_5_plus,-0.24629159495698957,-0.12379999999999999,0,-25,25,-0.24629159495698957 -coef_escort_dist_0_2,0.2228884413970586,-0.14990000000000001,0,-25,25,0.2228884413970586 -coef_escort_dist_2_5,-0.81521338400578147,-0.86709999999999998,0,-25,25,-0.81521338400578147 -coef_escort_dist_5_plus,-0.2563656478267789,-0.2137,0,-25,25,-0.2563656478267789 -coef_mode_logsum,0.65403821794149997,0.67549999999999999,0,-25,25,0.65403821794149997 -coef_othdiscr_dist_0_2,-0.18332164122229277,-0.16769999999999999,0,-25,25,-0.18332164122229277 -coef_othdiscr_dist_2_5,-0.57243431566525749,-0.4955,0,-25,25,-0.57243431566525749 -coef_othdiscr_dist_5_plus,0.022109773636770347,-0.1193,0,-25,25,0.022109773636770347 -coef_othmaint_dist_2_5,-0.56157171580357979,-0.60550000000000004,0,-25,25,-0.56157171580357979 -coef_othmaint_dist_5_plus,-0.22835432716850948,-0.10929999999999999,0,-25,25,-0.22835432716850948 -coef_shopping_dist_2_5,-0.62326413831589389,-0.5655,0,-25,25,-0.62326413831589389 -coef_shopping_dist_5_plus,-0.15909882569148343,-0.1832,0,-25,25,-0.15909882569148343 -coef_social_dist_2_5,-0.22738363386509225,-0.34849999999999998,0,-25,25,-0.22738363386509225 -coef_social_dist_5_plus,-0.17253037782714531,-0.13059999999999999,0,-25,25,-0.17253037782714531 -eatout_HEREMPN,-0.93175594508470749,-1.3547956940605197,0,-6,6,-0.93175594508470749 -eatout_RETEMPN,-0.29840603581475661,-0.29840603581475661,0,-0.29840603581475661,-0.29840603581475661,-0.29840603581475661 -escort_AGE0519,-1.1709029084521012,-0.7657178733947807,0,-6,6,-1.1709029084521012 -escort_HEREMPN,-2.4523610869729757,-1.9379419794061366,0,-6,6,-2.4523610869729757 -escort_HSENROLL,-3.3024337875479479,-1.7957674906255938,0,-6,6,-3.3024337875479479 -escort_RETEMPN,-1.4916548767777169,-1.4916548767777169,0,-1.4916548767777169,-1.4916548767777169,-1.4916548767777169 -othdiscr_HEREMPN,-1.6192946896579288,-1.3019532126861397,0,-6,6,-1.6192946896579288 -othdiscr_HSENROLL,-2.8175790455412613,-2.322787800311565,0,-6,6,-2.8175790455412613 -othdiscr_OTHEMPN,-2.264214574744007,-1.8018098050815563,0,-6,6,-2.264214574744007 -othdiscr_RETEMPN,-1.4536083464363203,-1.5511690043101247,0,-6,6,-1.4536083464363203 -othdiscr_TOTHH,-1.3783261914707137,-1.3783261914707137,0,-1.3783261914707137,-1.3783261914707137,-1.3783261914707137 -othmaint_HEREMPN,-0.42083070691744962,-0.65778003672265395,0,-6,6,-0.42083070691744962 -othmaint_RETEMPN,-0.72981116493153675,-0.72981116493153675,0,-0.72981116493153675,-0.72981116493153675,-0.72981116493153675 -shopping_RETEMPN,0,0,0,0,0,0 -social_HEREMPN,-0.31321849637618082,-0.73814454649068106,0,-6,6,-0.31321849637618082 -social_RETEMPN,-0.65008769109949827,-0.65008769109949827,0,-0.65008769109949827,-0.65008769109949827,-0.65008769109949827 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +0,0,0,0,0 +1,1,1,1,0 +coef_eatout_dist_0_2,-0.36241753757283562,-0.36241753757283562,-0.56089997291564941,0 +coef_eatout_dist_2_5,0.1455948784794848,0.1455948784794848,-0.31920000910758972,0 +coef_eatout_dist_5_plus,-0.10347949759758775,-0.10347949759758775,-0.12380000203847885,0 +coef_escort_dist_0_2,0.37311835505986723,0.37311835505986723,-0.14990000426769257,0 +coef_escort_dist_2_5,0.021780514441237811,0.021780514441237811,-0.86710000038146973,0 +coef_escort_dist_5_plus,-0.11719861112519546,-0.11719861112519546,-0.21369999647140503,0 +coef_mode_logsum,0.58058639629827868,0.58058639629827868,0.67549997568130493,0 +coef_othdiscr_dist_0_2,-0.034089264034826726,-0.034089264034826726,-0.16769999265670776,0 +coef_othdiscr_dist_2_5,-0.064582241662395776,-0.064582241662395776,-0.49549999833106995,0 +coef_othdiscr_dist_5_plus,0.12360016041678727,0.12360016041678727,-0.1193000003695488,0 +coef_othmaint_dist_2_5,0.047194485653217981,0.047194485653217981,-0.6054999828338623,0 +coef_othmaint_dist_5_plus,-0.070139812280223396,-0.070139812280223396,-0.10930000245571136,0 +coef_shopping_dist_2_5,-0.084141591614817768,-0.084141591614817768,-0.56550002098083496,0 +coef_shopping_dist_5_plus,0.023925641427879701,0.023925641427879701,-0.18320000171661377,0 +coef_social_dist_2_5,0.15872711881616419,0.15872711881616419,-0.34850001335144043,0 +coef_social_dist_5_plus,-0.056983193388194325,-0.056983193388194325,-0.13060000538825989,0 +eatout_HEREMPN,-2.5766963293863645,-2.5766963293863645,-1.3547956943511963,0 +eatout_RETEMPN,-0.29840603470802307,-0.29840603470802307,-0.29840603470802307,0 +escort_AGE0519,-1.504395034914503,-1.504395034914503,-0.76571786403656006,0 +escort_HEREMPN,-3.2913818539226063,-3.2913818539226063,-1.9379420280456543,0 +escort_HSENROLL,-6,-6,-1.7957675457000732,0 +escort_RETEMPN,-1.4916548728942871,-1.4916548728942871,-1.4916548728942871,0 +othdiscr_HEREMPN,-4.4871212668473426,-4.4871212668473426,-1.3019531965255737,0 +othdiscr_HSENROLL,-4.6282281748496779,-4.6282281748496779,-2.3227877616882324,0 +othdiscr_OTHEMPN,-2.5914769992848368,-2.5914769992848368,-1.8018097877502441,0 +othdiscr_RETEMPN,-2.0252368499435924,-2.0252368499435924,-1.5511690378189087,0 +othdiscr_TOTHH,-1.3783261775970459,-1.3783261775970459,-1.3783261775970459,0 +othmaint_HEREMPN,-3.3345464979357597,-3.3345464979357597,-0.65778005123138428,0 +othmaint_RETEMPN,-0.72981119155883789,-0.72981119155883789,-0.72981119155883789,0 +shopping_RETEMPN,0,0,0,0 +social_HEREMPN,-3.1468133266863965,-3.1468133266863965,-0.73814451694488525,0 +social_RETEMPN,-0.65008771419525146,-0.65008771419525146,-0.65008771419525146,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_BHHH_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_BHHH_None_.csv new file mode 100644 index 0000000000..33b657c2c3 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_BHHH_None_.csv @@ -0,0 +1,21 @@ +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +coef_grade_dist_0_1,0.080031235198373782,0.080031235198373782,-1.6418999433517456,0 +coef_grade_dist_15_up,-0.046010368210409304,-0.046010368210409304,-0.046000000089406967,0 +coef_grade_dist_5_15,0.011795679963699891,0.011795679963699891,-0.20309999585151672,0 +coef_high_dist_0_1,-0.48267138976026713,-0.48267138976026713,-0.95230001211166382,0 +coef_high_dist_15_up,-0.18818654818448871,-0.18818654818448871,-0.18819999694824219,0 +coef_high_dist_5_15,-0.12203943917498229,-0.12203943917498229,-0.19300000369548798,0 +coef_high_grade_dist_1_2,-0.2740077638163641,-0.2740077638163641,-0.56999999284744263,0 +coef_high_grade_dist_2_5,-0.12717991662132286,-0.12717991662132286,-0.56999999284744263,0 +coef_mode_logsum,0.28675535602711366,0.28675535602711366,0.53579998016357422,0 +coef_univ_dist_0_1,-0.20246864835878667,-0.20246864835878667,-3.2451000213623047,0 +coef_univ_dist_15_up,-0.072999830047635036,-0.072999830047635036,-0.072999998927116394,0 +coef_univ_dist_1_2,-0.50654663083945994,-0.50654663083945994,-2.7011001110076904,0 +coef_univ_dist_2_5,0.095856729554638809,0.095856729554638809,-0.57069998979568481,0 +coef_univ_dist_5_15,-0.1412133832985831,-0.1412133832985831,-0.50019997358322144,0 +gradeschool_AGE0519,0,0,0,0 +highschool_HSENROLL,0,0,0,0 +university_COLLFTE,-0.52424865961074829,-0.52424865961074829,-0.52424865961074829,0 +university_COLLPTE,-1275009.279056468,-1275009.279056468,-0.89648813009262085,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_None_.csv index a8d3375aba..1f4a5bf905 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_None_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_None_.csv @@ -1,21 +1,21 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -1,1,1,1,1,1,1 -coef_grade_dist_0_1,-1.8247870973053,-1.6418999999999999,0,-25,25,-1.8247870973053 -coef_grade_dist_15_up,-0.045999999999999999,-0.045999999999999999,0,-25,25,-0.045999999999999999 -coef_grade_dist_5_15,-0.14366307042924978,-0.2031,0,-25,25,-0.14366307042924978 -coef_high_dist_0_1,-2.1639997502226276,-0.95230000000000004,0,-25,25,-2.1639997502226276 -coef_high_dist_15_up,-0.18820000000000001,-0.18820000000000001,0,-25,25,-0.18820000000000001 -coef_high_dist_5_15,-0.10033338505701977,-0.193,0,-25,25,-0.10033338505701977 -coef_high_grade_dist_1_2,-0.74768688779537662,-0.56999999999999995,0,-25,25,-0.74768688779537662 -coef_high_grade_dist_2_5,-0.66638573965332526,-0.56999999999999995,0,-25,25,-0.66638573965332526 -coef_mode_logsum,0.37504471661044059,0.53580000000000005,0,-25,25,0.37504471661044059 -coef_univ_dist_0_1,-3.3138919948169607,-3.2450999999999999,0,-25,25,-3.3138919948169607 -coef_univ_dist_15_up,-0.072999999999999995,-0.072999999999999995,0,-25,25,-0.072999999999999995 -coef_univ_dist_1_2,-2.8752075620640434,-2.7010999999999998,0,-25,25,-2.8752075620640434 -coef_univ_dist_2_5,-0.45544418705038636,-0.57069999999999999,0,-25,25,-0.45544418705038636 -coef_univ_dist_5_15,-0.57189713873239967,-0.50019999999999998,0,-25,25,-0.57189713873239967 -gradeschool_AGE0519,0,0,0,0,0,0 -highschool_HSENROLL,0,0,0,0,0,0 -university_COLLFTE,-0.52424864409813143,-0.52424864409813143,0,-0.52424864409813143,-0.52424864409813143,-0.52424864409813143 -university_COLLPTE,-1.2091557399547264,-0.89648810457797545,0,-6,6,-1.2091557399547264 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +coef_grade_dist_0_1,0.097116326549615037,0.097116329571923371,-1.6418999433517456,0 +coef_grade_dist_15_up,-0.046000000089406967,-0.046000000089406967,-0.046000000089406967,0 +coef_grade_dist_5_15,0.012514539653739084,0.012514539708327558,-0.20309999585151672,0 +coef_high_dist_0_1,-0.4391430660668546,-0.43914306516185797,-0.95230001211166382,0 +coef_high_dist_15_up,-0.18819999694824219,-0.18819999694824219,-0.18819999694824219,0 +coef_high_dist_5_15,-0.12223669864939674,-0.12223669850105187,-0.19300000369548798,0 +coef_high_grade_dist_1_2,-0.27721668286846185,-0.27721668361053109,-0.56999999284744263,0 +coef_high_grade_dist_2_5,-0.12625067319470287,-0.12625067314690649,-0.56999999284744263,0 +coef_mode_logsum,0.28931317404209661,0.28931317414746177,0.53579998016357422,0 +coef_univ_dist_0_1,-0.34044181122123379,-0.34044180684505398,-3.2451000213623047,0 +coef_univ_dist_15_up,-0.072999998927116394,-0.072999998927116394,-0.072999998927116394,0 +coef_univ_dist_1_2,-0.42252956674554115,-0.42252956729334301,-2.7011001110076904,0 +coef_univ_dist_2_5,0.092094672169464362,0.092094672140662429,-0.57069998979568481,0 +coef_univ_dist_5_15,-0.14137251312653148,-0.14137251329149328,-0.50019997358322144,0 +gradeschool_AGE0519,0,0,0,0 +highschool_HSENROLL,0,0,0,0 +university_COLLFTE,-0.52424865961074829,-0.52424865961074829,-0.52424865961074829,0 +university_COLLPTE,-6,-6,-0.89648813009262085,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_BHHH_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_BHHH_None_.csv new file mode 100644 index 0000000000..6c9c6beb27 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_BHHH_None_.csv @@ -0,0 +1,48 @@ +param_name,value,best,initvalue,nullvalue +coef_UNAVAILABLE,-999,-999,-999,0 +coef_distance_joint,-0.30113542071627925,-0.30113542071627925,-0.12380000203847885,0 +coef_mode_choice_logsum,0.082682969035499751,0.082682969035499751,1.8209999799728394,0 +coef_one,1,1,1,0 +coef_prox_dest_outbound_work,0,0,0,0 +coef_prox_home_inbound_work,-0.42511545535361761,-0.42511545535361761,-0.15000000596046448,0 +coef_prox_home_outbound_work,-0.015586316153796702,-0.015586316153796702,-0.37999999523162842,0 +coef_util_distance_atwork,-0.12233412535963523,-0.12233412535963523,-0.12233459949493408,0 +coef_util_distance_eatout,-0.31527860777732059,-0.31527860777732059,-0.10289999842643738,0 +coef_util_distance_escort,-0.20896432333181236,-0.20896432333181236,-0.14910000562667847,0 +coef_util_distance_othdiscr,-0.32948686834710317,-0.32948686834710317,-0.12617222964763641,0 +coef_util_distance_othmaint,-0.189836518023934,-0.189836518023934,-0.096199996769428253,0 +coef_util_distance_school,-0.10560055139570937,-0.10560055139570937,-0.10559999942779541,0 +coef_util_distance_shopping,-0.31439120387739444,-0.31439120387739444,-0.11919999867677689,0 +coef_util_distance_social,-0.21252031607377456,-0.21252031607377456,-0.13289999961853027,0 +coef_util_distance_univ,-0.16366566463671706,-0.16366566463671706,-0.061299998313188553,0 +coef_util_distance_work_inbound,-0.43284610617518143,-0.43284610617518143,0.14781327545642853,0 +coef_util_distance_work_outbound,-0.15694162700147077,-0.15694162700147077,-0.049725916236639023,0 +eatout_HEREMPN,-735.35391763180496,-735.35391763180496,-1.3547956943511963,0 +eatout_RETEMPN,-0.29840603470802307,-0.29840603470802307,-0.29840603470802307,0 +escort_AGE0519,-34.146330319047635,-34.146330319047635,-0.76787072420120239,0 +escort_HEREMPN,-36.185934740550735,-36.185934740550735,-1.9379420280456543,0 +escort_HSENROLL,-35.482441440764148,-35.482441440764148,-1.7957675457000732,0 +escort_RETEMPN,-35.28779133946658,-35.28779133946658,-1.4916548728942871,0 +escort_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +othdiscr_HEREMPN,-1407.1767066933987,-1407.1767066933987,-1.3019531965255737,0 +othdiscr_HSENROLL,-16.410343601026089,-16.410343601026089,-2.3227877616882324,0 +othdiscr_OTHEMPN,-18880.507669912509,-18880.507669912509,-1.8018097877502441,0 +othdiscr_RETEMPN,-4.8145914198400339,-4.8145914198400339,-1.5511690378189087,0 +othdiscr_TOTHH,-1.3783261775970459,-1.3783261775970459,-1.3783261775970459,0 +othmaint_HEREMPN,-33.024962428999153,-33.024962428999153,-0.65778005123138428,0 +othmaint_RETEMPN,-32.319889481391705,-32.319889481391705,-0.73188799619674683,0 +othmaint_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +shopping_RETEMPN,-23.892728970934463,-23.892728970934463,-0.0010005002841353416,0 +shopping_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +social_HEREMPN,-40.084022821895907,-40.084022821895907,-0.73814451694488525,0 +social_RETEMPN,-38.668703835173424,-38.668703835173424,-0.65200525522232056,0 +social_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +univ_COLLFTE,-52.916360377104091,-52.916360377104091,-0.52424865961074829,0 +univ_COLLPTE,-19661.749288729949,-19661.749288729949,-0.89648813009262085,0 +univ_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +work_AGREMPN,-0.045747060225834933,-0.045747060225834933,0,0 +work_FPSEMPN,-485.71888319359556,-485.71888319359556,0,0 +work_HEREMPN,-138.10600027993303,-138.10600027993303,0,0 +work_MWTEMPN,-5.1249743665982441,-5.1249743665982441,0,0 +work_OTHEMPN,-24.742530479368806,-24.742530479368806,0,0 +work_RETEMPN,0,0,0,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_0_12_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_0_12_.csv deleted file mode 100644 index abe98d47df..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_0_12_.csv +++ /dev/null @@ -1,48 +0,0 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_UNAVAILABLE,-999,-999,0,-999,-999,-999 -coef_distance_joint,-0.37640163363394014,-0.12379999999999999,0,-25,25,-0.37640163363394014 -coef_mode_choice_logsum,0.16302637352162752,1.821,0,-25,25,0.16302637352162752 -coef_one,1,1,0,1,1,1 -coef_prox_dest_outbound_work,-0.59976096803081336,-0.26000000000000001,0,-25,25,-0.59976096803081336 -coef_prox_home_inbound_work,-0.17411187178992643,-0.14999999999999999,0,-25,25,-0.17411187178992643 -coef_prox_home_outbound_work,-0.76295690223363544,-0.38,0,-25,25,-0.76295690223363544 -coef_util_distance_atwork,-0.122334597,-0.122334597,0,-25,25,-0.122334597 -coef_util_distance_eatout,-0.36619050394180647,-0.10290000000000001,0,-25,25,-0.36619050394180647 -coef_util_distance_escort,-0.33778430073643445,-0.14910000000000001,0,-25,25,-0.33778430073643445 -coef_util_distance_othdiscr,-0.40879077774005879,-0.126172224,0,-25,25,-0.40879077774005879 -coef_util_distance_othmaint,-0.2579687786027548,-0.096199999999999994,0,-25,25,-0.2579687786027548 -coef_util_distance_school,-0.1056,-0.1056,0,-25,25,-0.1056 -coef_util_distance_shopping,-0.39048426507116651,-0.1192,0,-25,25,-0.39048426507116651 -coef_util_distance_social,-0.33876758749031255,-0.13289999999999999,0,-25,25,-0.33876758749031255 -coef_util_distance_univ,-0.18638287666609779,-0.0613,0,-25,25,-0.18638287666609779 -coef_util_distance_work_inbound,0.14549074690265271,0.147813278663948,0,-25,25,0.14549074690265271 -coef_util_distance_work_outbound,-0.30050379136271688,-0.049725915742290003,0,-25,25,-0.30050379136271688 -eatout_HEREMPN,-4.2741238026831576,-1.3547956940605197,0,-6,6,-4.2741238026831576 -eatout_RETEMPN,-0.29840603581475661,-0.29840603581475661,0,-0.29840603581475661,-0.29840603581475661,-0.29840603581475661 -escort_AGE0519,-1.5127395733276923,-0.76787072675588175,0,-6,6,-1.5127395733276923 -escort_HEREMPN,-5.9999999999999591,-1.9379419794061366,0,-6,6,-5.9999999999999591 -escort_HSENROLL,-3.1713650180398978,-1.7957674906255938,0,-6,6,-3.1713650180398978 -escort_RETEMPN,-2.0982466239249806,-1.4916548767777169,0,-6,6,-2.0982466239249806 -escort_TOTHH,-6.9077552789821368,-6.9077552789821368,0,-6.9077552789821368,-6.9077552789821368,-6.9077552789821368 -othdiscr_HEREMPN,-5.9999999999999867,-1.3019532126861397,0,-6,6,-5.9999999999999867 -othdiscr_HSENROLL,-6,-2.322787800311565,0,-6,6,-6 -othdiscr_OTHEMPN,-4.7422691542793025,-1.8018098050815563,0,-6,6,-4.7422691542793025 -othdiscr_RETEMPN,-0.42080704850071809,-1.5511690043101247,0,-6,6,-0.42080704850071809 -othdiscr_TOTHH,-1.3783261914707137,-1.3783261914707137,0,-1.3783261914707137,-1.3783261914707137,-1.3783261914707137 -othmaint_HEREMPN,-5.9999999999977494,-0.65778003672265395,0,-6,6,-5.9999999999977494 -othmaint_RETEMPN,-4.4680626390475311,-0.73188800887637595,0,-6,6,-4.4680626390475311 -othmaint_TOTHH,-6.9077552789821368,-6.9077552789821368,0,-6.9077552789821368,-6.9077552789821368,-6.9077552789821368 -shopping_RETEMPN,-5.9999999999990461,-0.0010005003335835344,0,-6,6,-5.9999999999990461 -shopping_TOTHH,-6.9077552789821368,-6.9077552789821368,0,-6.9077552789821368,-6.9077552789821368,-6.9077552789821368 -social_HEREMPN,-5.9999999999996891,-0.73814454649068106,0,-6,6,-5.9999999999996891 -social_RETEMPN,-3.4634568876043041,-0.65200523722877013,0,-6,6,-3.4634568876043041 -social_TOTHH,-6.9077552789821368,-6.9077552789821368,0,-6.9077552789821368,-6.9077552789821368,-6.9077552789821368 -univ_COLLFTE,-5.9999999999981588,-0.52424864409813143,0,-6,6,-5.9999999999981588 -univ_COLLPTE,-5.9999999999980629,-0.89648810457797545,0,-6,6,-5.9999999999980629 -univ_TOTHH,-6.9077552789821368,-6.9077552789821368,0,-6.9077552789821368,-6.9077552789821368,-6.9077552789821368 -work_AGREMPN,1.1452442363377451,0,0,-6,6,1.1452442363377451 -work_FPSEMPN,-5.9999999999998632,0,0,-6,6,-5.9999999999998632 -work_HEREMPN,-4.5512776072689656,0,0,-6,6,-4.5512776072689656 -work_MWTEMPN,-5.9999999999992735,0,0,-6,6,-5.9999999999992735 -work_OTHEMPN,-5.2060194818516452,0,0,-6,6,-5.2060194818516452 -work_RETEMPN,0,0,0,0,0,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_None_.csv new file mode 100644 index 0000000000..00234b5079 --- /dev/null +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_None_.csv @@ -0,0 +1,48 @@ +param_name,value,best,initvalue,nullvalue +coef_UNAVAILABLE,-999,-999,-999,0 +coef_distance_joint,-0.33134844410661268,-0.33135365019482871,-0.12380000203847885,0 +coef_mode_choice_logsum,0.10404782558776673,0.10404902119734737,1.8209999799728394,0 +coef_one,1,1,1,0 +coef_prox_dest_outbound_work,0,0,0,0 +coef_prox_home_inbound_work,-0.43355983407617132,-0.43356515858610667,-0.15000000596046448,0 +coef_prox_home_outbound_work,-0.013630490468606973,-0.013630962107906125,-0.37999999523162842,0 +coef_util_distance_atwork,-0.12233459949493408,-0.12233459949493408,-0.12233459949493408,0 +coef_util_distance_eatout,-0.30369611711207345,-0.30370280168537217,-0.10289999842643738,0 +coef_util_distance_escort,-0.20130525011921385,-0.20130417694904884,-0.14910000562667847,0 +coef_util_distance_othdiscr,-0.31715754635603827,-0.31715481907154325,-0.12617222964763641,0 +coef_util_distance_othmaint,-0.1812975225573846,-0.18128613104067043,-0.096199996769428253,0 +coef_util_distance_school,-0.10559999942779541,-0.10559999942779541,-0.10559999942779541,0 +coef_util_distance_shopping,-0.3307589512022982,-0.33076061020463604,-0.11919999867677689,0 +coef_util_distance_social,-0.2659252249486278,-0.265920931953054,-0.13289999961853027,0 +coef_util_distance_univ,-0.14321261083041822,-0.14321492496348073,-0.061299998313188553,0 +coef_util_distance_work_inbound,-0.42854398962663698,-0.42853407623707079,0.14781327545642853,0 +coef_util_distance_work_outbound,-0.14563469653404526,-0.14563242024181883,-0.049725916236639023,0 +eatout_HEREMPN,-5.9999999999987965,-5.9999999998720117,-1.3547956943511963,0 +eatout_RETEMPN,-0.29840603470802307,-0.29840603470802307,-0.29840603470802307,0 +escort_AGE0519,3.0934694401381719,3.0934669149506493,-0.76787072420120239,0 +escort_HEREMPN,-5.1455749906308634,-5.1455755332943429,-1.9379420280456543,0 +escort_HSENROLL,-0.86259505065782127,-0.86258990666041102,-1.7957675457000732,0 +escort_RETEMPN,-3.197352946486133,-3.1973553524377385,-1.4916548728942871,0 +escort_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +othdiscr_HEREMPN,-5.9999999999996385,-5.9999999999615348,-1.3019531965255737,0 +othdiscr_HSENROLL,-5.3098114987510021,-5.3098141692353842,-2.3227877616882324,0 +othdiscr_OTHEMPN,-5.9999999999948379,-5.9999999994512185,-1.8018097877502441,0 +othdiscr_RETEMPN,-5.1182251846633031,-5.1182380614929812,-1.5511690378189087,0 +othdiscr_TOTHH,-1.3783261775970459,-1.3783261775970459,-1.3783261775970459,0 +othmaint_HEREMPN,-5.999999999995695,-5.9999999995423137,-0.65778005123138428,0 +othmaint_RETEMPN,-5.9999999999862119,-5.9999999985341876,-0.73188799619674683,0 +othmaint_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +shopping_RETEMPN,-5.9999999999999991,-5.9999999999999076,-0.0010005002841353416,0 +shopping_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +social_HEREMPN,-3.1416302242642606,-3.1416126892727569,-0.73814451694488525,0 +social_RETEMPN,0.79021700560209307,0.79019473285367858,-0.65200525522232056,0 +social_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +univ_COLLFTE,-5.9999999999999929,-5.9999999999999938,-0.52424865961074829,0 +univ_COLLPTE,-6,-5.9999999999999902,-0.89648813009262085,0 +univ_TOTHH,-6.9077553749084473,-6.9077553749084473,-6.9077553749084473,0 +work_AGREMPN,-1.1171784109856115,-1.1171768623786988,0,0 +work_FPSEMPN,-6,-5.9999999999999938,0,0 +work_HEREMPN,-5.9999999992762003,-5.9999999993504787,0,0 +work_MWTEMPN,-5.9999999989867057,-5.9999999990906927,0,0 +work_OTHEMPN,-5.9999999999994476,-5.999999999941287,0,0 +work_RETEMPN,0,0,0,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_None_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_None_.csv index 4fbab98906..d4b8d728d6 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_None_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_None_.csv @@ -1,35 +1,35 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -1,1,1,1,1,1,1 -coef_dist_0_1,-1.0822922946274103,-0.84279999999999999,0,-25,25,-1.0822922946274103 -coef_dist_0_5_high,0.1207879915621165,0.14999999999999999,0,-25,25,0.1207879915621165 -coef_dist_15_up,-0.091700000000000004,-0.091700000000000004,0,-25,25,-0.091700000000000004 -coef_dist_1_2,-0.24766620079389307,-0.31040000000000001,0,-25,25,-0.24766620079389307 -coef_dist_2_5,-0.3685512775196465,-0.37830000000000003,0,-25,25,-0.3685512775196465 -coef_dist_5_15,-0.15169975841932976,-0.1285,0,-25,25,-0.15169975841932976 -coef_dist_5_up_high,-0.015068815366553389,0.02,0,-25,25,-0.015068815366553389 -coef_mode_logsum,0.1608428973358158,0.29999999999999999,0,-25,25,0.1608428973358158 -work_high_AGREMPN,-5.414473039484391,-5.1159958097540823,0,-6,6,-5.414473039484391 -work_high_FPSEMPN,-2.0198354749074623,-1.575036485716768,0,-6,6,-2.0198354749074623 -work_high_HEREMPN,-1.5774962961301324,-1.258781040820931,0,-6,6,-1.5774962961301324 -work_high_MWTEMPN,-2.0728064576402221,-1.4312917270506265,0,-6,6,-2.0728064576402221 -work_high_OTHEMPN,-2.1440619487784449,-1.870802676568508,0,-6,6,-2.1440619487784449 -work_high_RETEMPN,-2.2072749131897207,-2.2072749131897207,0,-2.2072749131897207,-2.2072749131897207,-2.2072749131897207 -work_low_AGREMPN,-5.8479826351063204,-4.6051701859880909,0,-6,6,-5.8479826351063204 -work_low_FPSEMPN,-0.64550992870675994,-1.6450650900772514,0,-6,6,-0.64550992870675994 -work_low_HEREMPN,0.10934025159883133,-0.95972028980149104,0,-6,6,0.10934025159883133 -work_low_MWTEMPN,-0.35351399513998311,-1.8078888511579385,0,-6,6,-0.35351399513998311 -work_low_OTHEMPN,-0.68434316293298214,-2.120263536200091,0,-6,6,-0.68434316293298214 -work_low_RETEMPN,-2.0479428746204649,-2.0479428746204649,0,-2.0479428746204649,-2.0479428746204649,-2.0479428746204649 -work_med_AGREMPN,-6,-4.8283137373023015,0,-6,6,-6 -work_med_FPSEMPN,-1.9402118373687092,-1.6245515502441485,0,-6,6,-1.9402118373687092 -work_med_HEREMPN,-1.3812045016840873,-1.1239300966523995,0,-6,6,-1.3812045016840873 -work_med_MWTEMPN,-0.90824261771266779,-1.5606477482646683,0,-6,6,-0.90824261771266779 -work_med_OTHEMPN,-2.533158060495702,-1.9732813458514451,0,-6,6,-2.533158060495702 -work_med_RETEMPN,-2.120263536200091,-2.120263536200091,0,-2.120263536200091,-2.120263536200091,-2.120263536200091 -work_veryhigh_AGREMPN,-0.27766271475654764,-5.521460917862246,0,-6,6,-0.27766271475654764 -work_veryhigh_FPSEMPN,-1.7531684994723506,-1.3093333199837622,0,-6,6,-1.7531684994723506 -work_veryhigh_HEREMPN,-1.6190143529862893,-1.422958345491482,0,-6,6,-1.6190143529862893 -work_veryhigh_MWTEMPN,-1.7198536938187046,-1.4024237430497744,0,-6,6,-1.7198536938187046 -work_veryhigh_OTHEMPN,-2.4806660321461727,-1.9241486572738007,0,-6,6,-2.4806660321461727 -work_veryhigh_RETEMPN,-2.375155785828881,-2.375155785828881,0,-2.375155785828881,-2.375155785828881,-2.375155785828881 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +coef_dist_0_1,-0.29614981943016305,-0.29614981943016305,-0.84280002117156982,0 +coef_dist_0_5_high,-0.037934685148704593,-0.037934685148704593,0.15000000596046448,0 +coef_dist_15_up,-0.091700002551078796,-0.091700002551078796,-0.091700002551078796,0 +coef_dist_1_2,0.36470038809157851,0.36470038809157851,-0.31040000915527344,0 +coef_dist_2_5,0.074882919278809829,0.074882919278809829,-0.3783000111579895,0 +coef_dist_5_15,0.042000918183646346,0.042000918183646346,-0.12849999964237213,0 +coef_dist_5_up_high,-0.09087337502871097,-0.09087337502871097,0.019999999552965164,0 +coef_mode_logsum,0.30896144806031556,0.30896144806031556,0.30000001192092896,0 +work_high_AGREMPN,-5.1450221148210131,-5.1450221148210131,-5.1159958839416504,0 +work_high_FPSEMPN,-6,-6,-1.5750365257263184,0 +work_high_HEREMPN,-5.8811853171285584,-5.8811853171285584,-1.2587810754776001,0 +work_high_MWTEMPN,-6,-6,-1.4312916994094849,0 +work_high_OTHEMPN,-4.7639836057101634,-4.7639836057101634,-1.870802640914917,0 +work_high_RETEMPN,-2.2072749137878418,-2.2072749137878418,-2.2072749137878418,0 +work_low_AGREMPN,-4.6300621303951566,-4.6300621303951566,-4.6051702499389648,0 +work_low_FPSEMPN,-6,-6,-1.6450650691986084,0 +work_low_HEREMPN,-5.1021077661983387,-5.1021077661983387,-0.95972031354904175,0 +work_low_MWTEMPN,-6,-6,-1.8078888654708862,0 +work_low_OTHEMPN,-4.6623088926077152,-4.6623088926077152,-2.1202635765075684,0 +work_low_RETEMPN,-2.0479428768157959,-2.0479428768157959,-2.0479428768157959,0 +work_med_AGREMPN,-4.8459968751410516,-4.8459968751410516,-4.8283138275146484,0 +work_med_FPSEMPN,-6,-6,-1.62455153465271,0 +work_med_HEREMPN,-5.4027609472499369,-5.4027609472499369,-1.1239300966262817,0 +work_med_MWTEMPN,-5.9999999999999991,-5.9999999999999991,-1.56064772605896,0 +work_med_OTHEMPN,-4.8811360108806872,-4.8811360108806872,-1.9732813835144043,0 +work_med_RETEMPN,-2.1202635765075684,-2.1202635765075684,-2.1202635765075684,0 +work_veryhigh_AGREMPN,-5.5516059766686876,-5.5516059766686876,-5.521461009979248,0 +work_veryhigh_FPSEMPN,-6,-6,-1.309333324432373,0 +work_veryhigh_HEREMPN,-5.6489927637825792,-5.6489927637825792,-1.4229583740234375,0 +work_veryhigh_MWTEMPN,-6,-6,-1.4024237394332886,0 +work_veryhigh_OTHEMPN,-5.8313629173672439,-5.8313629173672439,-1.9241486787796021,0 +work_veryhigh_RETEMPN,-2.3751556873321533,-2.3751556873321533,-2.3751556873321533,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_school_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_school_loglike.csv index e76a45b3fb..13b40bf6a1 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_school_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_school_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-2475.6453326598094,-2344.7409183750583 +0,-2372.124053104777,-2329.0008675965573 diff --git a/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_work_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_work_loglike.csv index 6970d3e666..66fdd2bfd0 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_work_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_mandatory_tour_scheduling_work_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-9138.134506637969,-8404.2487574734187 +0,-8343.7438769575056,-8319.0773809188413 diff --git a/activitysim/estimation/test/test_larch_estimation/test_non_mandatory_tour_scheduling_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_non_mandatory_tour_scheduling_loglike.csv index 3282b45e71..027ad8ce1f 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_non_mandatory_tour_scheduling_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_non_mandatory_tour_scheduling_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-12772.911183835131,-9506.0541725800285 +0,-9330.0289068958136,-9291.4339963381062 diff --git a/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice.csv b/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice.csv index 5a8bf11db5..95558980d2 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice.csv @@ -1,36 +1,36 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -0,0,0,0,0,0,0 -1,1,1,1,1,1,1 -coef_eatout_dist_0_2,-0.76797916075917105,-0.56089999999999995,0,-25,25,-0.76797916075917105 -coef_eatout_dist_2_5,-0.22644636259204301,-0.31919999999999998,0,-25,25,-0.22644636259204301 -coef_eatout_dist_5_plus,-0.18814992028058361,-0.12379999999999999,0,-25,25,-0.18814992028058361 -coef_escort_dist_0_2,0.22669529391335932,-0.14990000000000001,0,-25,25,0.22669529391335932 -coef_escort_dist_2_5,-0.81349761658617425,-0.86709999999999998,0,-25,25,-0.81349761658617425 -coef_escort_dist_5_plus,-0.25505635884043121,-0.2137,0,-25,25,-0.25505635884043121 -coef_mode_logsum,0.66293335178956303,0.67549999999999999,0,-25,25,0.66293335178956303 -coef_othdiscr_dist_0_2,-0.20320115406190975,-0.16769999999999999,0,-25,25,-0.20320115406190975 -coef_othdiscr_dist_2_5,-0.55094376688046098,-0.4955,0,-25,25,-0.55094376688046098 -coef_othdiscr_dist_5_plus,-0.00014599013956733095,-0.1193,0,-25,25,-0.00014599013956733095 -coef_othmaint_dist_2_5,-0.57993229022084924,-0.60550000000000004,0,-25,25,-0.57993229022084924 -coef_othmaint_dist_5_plus,-0.22966135112433173,-0.10929999999999999,0,-25,25,-0.22966135112433173 -coef_shopping_dist_2_5,-0.62979386608506294,-0.5655,0,-25,25,-0.62979386608506294 -coef_shopping_dist_5_plus,-0.13065191570180024,-0.1832,0,-25,25,-0.13065191570180024 -coef_social_dist_2_5,-0.24518547406208724,-0.34849999999999998,0,-25,25,-0.24518547406208724 -coef_social_dist_5_plus,-0.19021662093061398,-0.13059999999999999,0,-25,25,-0.19021662093061398 -eatout_HEREMPN,-0.94688018419944264,-1.3547956940605197,0,-6,6,-0.94688018419944264 -eatout_RETEMPN,-0.29840603581475661,-0.29840603581475661,0,-0.29840603581475661,-0.29840603581475661,-0.29840603581475661 -escort_AGE0519,-1.1713218472625264,-0.7657178733947807,0,-6,6,-1.1713218472625264 -escort_HEREMPN,-2.4501503469929982,-1.9379419794061366,0,-6,6,-2.4501503469929982 -escort_HSENROLL,-3.3045642735486878,-1.7957674906255938,0,-6,6,-3.3045642735486878 -escort_RETEMPN,-1.4916548767777169,-1.4916548767777169,0,-1.4916548767777169,-1.4916548767777169,-1.4916548767777169 -othdiscr_HEREMPN,-1.5849006741800804,-1.3019532126861397,0,-6,6,-1.5849006741800804 -othdiscr_HSENROLL,-2.4667805407825685,-2.322787800311565,0,-6,6,-2.4667805407825685 -othdiscr_OTHEMPN,-2.3703426620470296,-1.8018098050815563,0,-6,6,-2.3703426620470296 -othdiscr_RETEMPN,-1.2385802852918961,-1.5511690043101247,0,-6,6,-1.2385802852918961 -othdiscr_TOTHH,-1.3783261914707137,-1.3783261914707137,0,-1.3783261914707137,-1.3783261914707137,-1.3783261914707137 -othmaint_HEREMPN,-0.66895307929197778,-0.65778003672265395,0,-6,6,-0.66895307929197778 -othmaint_RETEMPN,-0.72981116493153675,-0.72981116493153675,0,-0.72981116493153675,-0.72981116493153675,-0.72981116493153675 -shopping_RETEMPN,0,0,0,0,0,0 -social_HEREMPN,-0.3028654470570214,-0.73814454649068106,0,-6,6,-0.3028654470570214 -social_RETEMPN,-0.65008769109949827,-0.65008769109949827,0,-0.65008769109949827,-0.65008769109949827,-0.65008769109949827 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +0,0,0,0,0 +1,1,1,1,0 +coef_eatout_dist_0_2,-0.27121792391961891,-0.27121792391961891,-0.56089997291564941,0 +coef_eatout_dist_2_5,0.10608796923916697,0.10608796923916697,-0.31920000910758972,0 +coef_eatout_dist_5_plus,-0.030055040831786589,-0.030055040831786589,-0.12380000203847885,0 +coef_escort_dist_0_2,0.36566723960275005,0.36566723960275005,-0.14990000426769257,0 +coef_escort_dist_2_5,0.028378662901016108,0.028378662901016108,-0.86710000038146973,0 +coef_escort_dist_5_plus,-0.11708701992134836,-0.11708701992134836,-0.21369999647140503,0 +coef_mode_logsum,0.59887430720061385,0.59887430720061385,0.67549997568130493,0 +coef_othdiscr_dist_0_2,-0.034497995271121927,-0.034497995271121927,-0.16769999265670776,0 +coef_othdiscr_dist_2_5,-0.050531906736139574,-0.050531906736139574,-0.49549999833106995,0 +coef_othdiscr_dist_5_plus,0.10722115306679328,0.10722115306679328,-0.1193000003695488,0 +coef_othmaint_dist_2_5,0.021990226822960424,0.021990226822960424,-0.6054999828338623,0 +coef_othmaint_dist_5_plus,-0.069040145806240003,-0.069040145806240003,-0.10930000245571136,0 +coef_shopping_dist_2_5,-0.088053277034711469,-0.088053277034711469,-0.56550002098083496,0 +coef_shopping_dist_5_plus,0.053178032652148891,0.053178032652148891,-0.18320000171661377,0 +coef_social_dist_2_5,0.13875731050537282,0.13875731050537282,-0.34850001335144043,0 +coef_social_dist_5_plus,-0.093851542275907265,-0.093851542275907265,-0.13060000538825989,0 +eatout_HEREMPN,-2.6485746777114287,-2.6485746777114287,-1.3547956943511963,0 +eatout_RETEMPN,-0.29840603470802307,-0.29840603470802307,-0.29840603470802307,0 +escort_AGE0519,-1.5700822201838556,-1.5700822201838556,-0.76571786403656006,0 +escort_HEREMPN,-3.381566795567077,-3.381566795567077,-1.9379420280456543,0 +escort_HSENROLL,-5.5115296809721706,-5.5115296809721706,-1.7957675457000732,0 +escort_RETEMPN,-1.4916548728942871,-1.4916548728942871,-1.4916548728942871,0 +othdiscr_HEREMPN,-4.3767539149782362,-4.3767539149782362,-1.3019531965255737,0 +othdiscr_HSENROLL,-4.0323913073099753,-4.0323913073099753,-2.3227877616882324,0 +othdiscr_OTHEMPN,-2.6010090126387664,-2.6010090126387664,-1.8018097877502441,0 +othdiscr_RETEMPN,-1.8907979924961573,-1.8907979924961573,-1.5511690378189087,0 +othdiscr_TOTHH,-1.3783261775970459,-1.3783261775970459,-1.3783261775970459,0 +othmaint_HEREMPN,-3.5067524801333883,-3.5067524801333883,-0.65778005123138428,0 +othmaint_RETEMPN,-0.72981119155883789,-0.72981119155883789,-0.72981119155883789,0 +shopping_RETEMPN,0,0,0,0 +social_HEREMPN,-3.1930226314841379,-3.1930226314841379,-0.73814451694488525,0 +social_RETEMPN,-0.65008771419525146,-0.65008771419525146,-0.65008771419525146,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice_loglike.csv index 3d4d12de95..60449226e2 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_nonmand_and_joint_tour_dest_choice_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-13284.574594749327,-13268.709190928732 +0,-8815.2207980563562,-8000.0090578510162 diff --git a/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq.csv b/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq.csv index c69badeb95..a5798dcdaa 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq.csv @@ -1,426 +1,426 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,0.3190372575850004,0.0298,0,,,0.3190372575850004 -coef_1_plus_eating_out_tours_constant,-1.0128556061868639,0.0097000000000000003,0,,,-1.0128556061868639 -coef_1_plus_maintenance_tours_constant,-2.8426429307763517,0.1202,0,,,-2.8426429307763517 -coef_1_plus_other_discretionary_tours_constant,10.543978753178383,0.74119999999999997,0,,,10.543978753178383 -coef_1_plus_shopping_tours_constant,7.1839137908242963,0.47739999999999999,0,,,7.1839137908242963 -coef_1_plus_visting_tours_constant,-0.3208195851541456,0.052200000000000003,0,,,-0.3208195851541456 -coef_2_plus_escort_tours_constant,0.60671030252342817,0.74019999999999997,0,,,0.60671030252342817 -coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.92647632492670284,-0.27460000000000001,0,,,-0.92647632492670284 -coef_at_home_pre_school_kid_and_discretionary_tour,-0.65566150836617298,-0.4703,0,,,-0.65566150836617298 -coef_at_home_pre_school_kid_and_escorting_tour,-0.79299240501544976,-1.5674999999999999,0,,,-0.79299240501544976 -coef_auto_access_to_retail_and_discretionary,-1.0508623054596398,0.084400000000000003,0,,,-1.0508623054596398 -coef_auto_access_to_retail_and_maintenance,0.27881164131795588,0.074899999999999994,0,,,0.27881164131795588 -coef_auto_access_to_retail_and_shopping,-0.6308268427373509,0.1067,0,,,-0.6308268427373509 -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.16837878665395392,0.13039999999999999,0,,,0.16837878665395392 -coef_female_and_escorting_tour,0.60135724689113756,0.18240000000000001,0,,,0.60135724689113756 -coef_female_and_tour_frequency_is_1,-0.31583892945263869,-0.076600000000000001,0,,,-0.31583892945263869 -coef_female_and_tour_frequency_is_2,-0.5828100966419405,-0.1062,0,,,-0.5828100966419405 -coef_female_and_tour_frequency_is_5,0.022734817568325703,-0.32740000000000002,0,,,0.022734817568325703 -coef_high_income_group_and_discretionary_tour,-0.060443076774255075,0.25650000000000001,0,,,-0.060443076774255075 -coef_high_income_group_and_eating_out_tour,0.72620905564966565,0.55810000000000004,0,,,0.72620905564966565 -coef_high_income_group_and_tour_frequency_is_1,1.1372979170796778,0.51890000000000003,0,,,1.1372979170796778 -coef_high_income_group_and_tour_frequency_is_2,2.2159303224114666,1.1335999999999999,0,,,2.2159303224114666 -coef_high_income_group_and_tour_frequency_is_5_plus,0.10501223044514314,1.3898999999999999,0,,,0.10501223044514314 -coef_high_income_group_and_visiting_tour,-0.86265476671748431,-0.24229999999999999,0,,,-0.86265476671748431 -coef_logged_maximum_residual_window_tour_frequency_is_1,1.3354533697510027,1.2562,0,,,1.3354533697510027 -coef_logged_maximum_residual_window_tour_frequency_is_2,1.4260046446625716,1.2867999999999999,0,,,1.4260046446625716 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0.64024624278385667,1.3993,0,,,0.64024624278385667 -coef_mediumhigh_income_group_and_tour_frequency_is_1,1.0937153306192198,0.49809999999999999,0,,,1.0937153306192198 -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.8148765360700809,0.83450000000000002,0,,,1.8148765360700809 -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0390643994599666,1.0213000000000001,0,,,1.0390643994599666 -coef_number_of_joint_eating_out_tours,-9.9809215555613431,-0.58660000000000001,0,,,-9.9809215555613431 -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.4334081077188456,-0.88870000000000005,0,,,-1.4334081077188456 -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-1.6366589797047477,-2.3342999999999998,0,,,-1.6366589797047477 -coef_presence_of_driving_school_kid_and_discretionary_tour,0.38403906373496743,-0.39629999999999999,0,,,0.38403906373496743 -coef_presence_of_driving_school_kid_and_escorting_tour,-0.21108592167092743,0.36009999999999998,0,,,-0.21108592167092743 -coef_presence_of_full_time_worker_and_discretionary_tour,-0.78342819804391672,-0.66700000000000004,0,,,-0.78342819804391672 -coef_presence_of_full_time_worker_and_eating_out_tour,-0.74762089644693475,-0.35709999999999997,0,,,-0.74762089644693475 -coef_presence_of_full_time_worker_and_maintenance_tour,-0.34233564267666977,-0.16850000000000001,0,,,-0.34233564267666977 -coef_presence_of_full_time_worker_and_shopping_tour,-0.63058521173008519,-0.30590000000000001,0,,,-0.63058521173008519 -coef_presence_of_non_worker_and_discretionary_tour,-1.2669707808842081,-0.42809999999999998,0,,,-1.2669707808842081 -coef_presence_of_non_worker_and_eating_out_tour,-0.44503023956321403,-0.2014,0,,,-0.44503023956321403 -coef_presence_of_non_worker_and_escorting_tour,-0.85427331034949039,-0.48149999999999998,0,,,-0.85427331034949039 -coef_presence_of_non_worker_and_maintenance_tour,-0.20935037072535292,-0.32369999999999999,0,,,-0.20935037072535292 -coef_presence_of_non_worker_and_shopping_tour,-0.84441949424610041,-0.41599999999999998,0,,,-0.84441949424610041 -coef_presence_of_part_time_worker_and_discretionary_tour,-0.041239276355498081,-0.2102,0,,,-0.041239276355498081 -coef_presence_of_part_time_worker_and_maintenance_tour,-0.18336221092296712,-0.15840000000000001,0,,,-0.18336221092296712 -coef_presence_of_part_time_worker_and_shopping_tour,-0.14852190396109033,-0.15409999999999999,0,,,-0.14852190396109033 -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.12585844615812486,-0.39589999999999997,0,,,-0.12585844615812486 -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4021102250286928,1.3974,0,,,1.4021102250286928 -coef_presence_of_pre_school_kid_and_discretionary_tour,-0.017076036823995389,-0.5081,0,,,-0.017076036823995389 -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.84547304246409216,-0.42249999999999999,0,,,-0.84547304246409216 -coef_presence_of_pre_school_kid_and_escorting_tour,0.74822720714906121,0.68420000000000003,0,,,0.74822720714906121 -coef_presence_of_pre_school_kid_and_shopping_tour,-0.006143364129761947,-0.20799999999999999,0,,,-0.006143364129761947 -coef_presence_of_retiree_and_discretionary_tour,-0.5968298706214118,-0.91039999999999999,0,,,-0.5968298706214118 -coef_presence_of_retiree_and_eating_out_tour,-1.2874101904899586,-0.57079999999999997,0,,,-1.2874101904899586 -coef_presence_of_retiree_and_escorting_tour,-12.931599172963331,-0.80800000000000005,0,,,-12.931599172963331 -coef_presence_of_university_student_and_discretionary_tour,-0.40727682870124049,-0.85509999999999997,0,,,-0.40727682870124049 -coef_total_number_of_tours_is_1,-7.5238510045347198,-7.3571999999999997,0,,,-7.5238510045347198 -coef_total_number_of_tours_is_2,-10.052745008623061,-10.647,0,,,-10.052745008623061 -coef_total_number_of_tours_is_3,-11.089117141589441,-13.500500000000001,0,,,-11.089117141589441 -coef_total_number_of_tours_is_4,-12.79747158559379,-16.3965,0,,,-12.79747158559379 -coef_total_number_of_tours_is_5,-21.780097785311945,-19.6843,0,,,-21.780097785311945 -coef_total_number_of_tours_is_6_plus,-999,-999,0,-999,-999,-999 -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.07445921318512129,0.022599999999999999,0,,,0.07445921318512129 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_urban_and_escorting_tour,-0.40934213736815739,-0.43159999999999998,0,,,-0.40934213736815739 -coef_walk_access_to_retail_and_discretionary,0.16052040097513201,0.0567,0,,,0.16052040097513201 -coef_walk_access_to_retail_and_eating_out,0.21128946397868445,0.14499999999999999,0,,,0.21128946397868445 -coef_walk_access_to_retail_and_escorting,-0.10528530451785624,0.045100000000000001,0,,,-0.10528530451785624 -coef_walk_access_to_retail_and_shopping,0.030181871306816859,0.033000000000000002,0,,,0.030181871306816859 -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.22749157163698558,-0.34860000000000002,0,,,-0.22749157163698558 -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,0.77792661515451589,0.5272,0,,,0.77792661515451589 -coef_1_plus_eating_out_tours_constant,1.6650752768925599,0.69140000000000001,0,,,1.6650752768925599 -coef_1_plus_maintenance_tours_constant,1.2147335336677649,0.55330000000000001,0,,,1.2147335336677649 -coef_1_plus_other_discretionary_tours_constant,1.7838713459166913,0.79890000000000005,0,,,1.7838713459166913 -coef_1_plus_shopping_tours_constant,1.5216128214649225,0.75690000000000002,0,,,1.5216128214649225 -coef_1_plus_visting_tours_constant,1.0454819231998753,0.14050000000000001,0,,,1.0454819231998753 -coef_2_plus_escort_tours_constant,1.8826614596684659,1.5987,0,,,1.8826614596684659 -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0.049231503501832231,-0.54979999999999996,0,,,0.049231503501832231 -coef_female_and_discretionary_tour,0.4392516750827225,0.30719999999999997,0,,,0.4392516750827225 -coef_female_and_shopping_tour,0.75313279306505232,0.45240000000000002,0,,,0.75313279306505232 -coef_high_income_group_and_discretionary_tour,0.23650597334594267,0.29599999999999999,0,,,0.23650597334594267 -coef_high_income_group_and_maintenance_tour,1.3851001428210838,0.67630000000000001,0,,,1.3851001428210838 -coef_high_income_group_and_shopping_tour,0.8194174808417779,0.70660000000000001,0,,,0.8194174808417779 -coef_high_income_group_and_tour_frequency_is_1,1.1457147075553702,0.86819999999999997,0,,,1.1457147075553702 -coef_high_income_group_and_tour_frequency_is_2,1.3475187007328813,1.5362,0,,,1.3475187007328813 -coef_high_income_group_and_tour_frequency_is_5_plus,1.4989029758459638,1.9331,0,,,1.4989029758459638 -coef_high_income_group_and_visiting_tour,-0.51731565603377461,-0.68679999999999997,0,,,-0.51731565603377461 -coef_logged_maximum_residual_window_tour_frequency_is_1,0.7685190519346432,1.5748,0,,,0.7685190519346432 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.2439948002596291,2.0026000000000002,0,,,1.2439948002596291 -coef_mediumhigh_income_group_and_shopping_tour,0.6050472895465131,0.44209999999999999,0,,,0.6050472895465131 -coef_mediumlow_income_group_and_tour_frequency_is_1,0.78437721900423418,0.59809999999999997,0,,,0.78437721900423418 -coef_mediumlow_income_group_and_tour_frequency_is_2,0.77646590224476053,0.91779999999999995,0,,,0.77646590224476053 -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.85089808758167285,1.7539,0,,,0.85089808758167285 -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.3476574161190644,-1.1986000000000001,0,,,-1.3476574161190644 -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,0,-999,-999,-999 -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.98906870125269652,-0.23899999999999999,0,,,-0.98906870125269652 -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.8297942396940736,-1.8208,0,,,-2.8297942396940736 -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.7856768576922941,-2.5922999999999998,0,,,-2.7856768576922941 -coef_presence_of_driving_school_kid_and_escorting_tour,1.029446605173121,0.41639999999999999,0,,,1.029446605173121 -coef_presence_of_full_time_worker_and_maintenance_tour,-0.48499903259305888,-0.31309999999999999,0,,,-0.48499903259305888 -coef_presence_of_non_worker_and_discretionary_tour,-0.55680343236172403,-1.0370999999999999,0,,,-0.55680343236172403 -coef_presence_of_non_worker_and_eating_out_tour,-0.23160785989506891,-0.65449999999999997,0,,,-0.23160785989506891 -coef_presence_of_non_worker_and_escorting_tour,-0.61711333679139824,-0.52629999999999999,0,,,-0.61711333679139824 -coef_presence_of_part_time_worker_and_maintenance_tour,-1.0349086974724879,-0.56210000000000004,0,,,-1.0349086974724879 -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.8088903614971785,1.5794999999999999,0,,,1.8088903614971785 -coef_presence_of_pre_school_kid_and_escorting_tour,0.29170166111444701,0.54139999999999999,0,,,0.29170166111444701 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0.3086114999500732,-0.15590000000000001,0,,,0.3086114999500732 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.53068484571189922,-0.56810000000000005,0,,,-0.53068484571189922 -coef_presence_of_retiree_and_eating_out_tour,0.10920851120872498,-1.389,0,,,0.10920851120872498 -coef_presence_of_retiree_and_escorting_tour,-0.46115035352397654,-0.75160000000000005,0,,,-0.46115035352397654 -coef_presence_of_university_student_and_eating_out_tour,-1.7593233495192167,-1.4318,0,,,-1.7593233495192167 -coef_total_number_of_tours_is_1,-6.8126152336072634,-7.6391,0,,,-6.8126152336072634 -coef_total_number_of_tours_is_2,-9.848059513629396,-10.4557,0,,,-9.848059513629396 -coef_total_number_of_tours_is_3,-12.828277375142353,-14.0176,0,,,-12.828277375142353 -coef_total_number_of_tours_is_4,-17.097027294518412,-16.971699999999998,0,,,-17.097027294518412 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_urban_and_escorting_tour,0.42574953449141995,-0.39290000000000003,0,,,0.42574953449141995 -coef_walk_access_to_retail_and_tour_frequency_is_1,0.080139740576734939,0.089899999999999994,0,,,0.080139740576734939 -coef_walk_access_to_retail_and_tour_frequency_is_2,0.10381957230648611,0.1447,0,,,0.10381957230648611 -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.050631059321334597,0.34789999999999999,0,,,0.050631059321334597 -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,1.8515063856421023,1.7028000000000001,0,,,1.8515063856421023 -coef_1_plus_eating_out_tours_constant,-13.970900895148123,2.0722999999999998,0,,,-13.970900895148123 -coef_1_plus_maintenance_tours_constant,-0.33803118769084733,0.33479999999999999,0,,,-0.33803118769084733 -coef_1_plus_other_discretionary_tours_constant,-1.4739923019690557,1.3389,0,,,-1.4739923019690557 -coef_1_plus_shopping_tours_constant,2.0188727174813774,1.8403,0,,,2.0188727174813774 -coef_1_plus_visting_tours_constant,1.1323634825734481,1.2172000000000001,0,,,1.1323634825734481 -coef_2_plus_escort_tours_constant,2.7388802993288452,2.8378999999999999,0,,,2.7388802993288452 -coef_auto_access_to_retail_and_discretionary,0.6683734729533154,0.094,0,,,0.6683734729533154 -coef_auto_access_to_retail_and_eating_out,3.3138758891504487,0.1018,0,,,3.3138758891504487 -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.1118144810513726,-0.58099999999999996,0,,,-1.1118144810513726 -coef_female_and_discretionary_tour,-0.25441035312551963,-0.3266,0,,,-0.25441035312551963 -coef_female_and_eatingout_tour,-0.67597119919881721,-0.65680000000000005,0,,,-0.67597119919881721 -coef_female_and_tour_frequency_is_1,-0.50912757178913237,0.097299999999999998,0,,,-0.50912757178913237 -coef_female_and_tour_frequency_is_2,0.67536539039172305,0.2361,0,,,0.67536539039172305 -coef_female_and_tour_frequency_is_5,1.992028104740627,1.9001999999999999,0,,,1.992028104740627 -coef_high_income_group_and_eating_out_tour,-1.7911774479045783,-0.72070000000000001,0,,,-1.7911774479045783 -coef_high_income_group_and_shopping_tour,0.0036422160874866197,0.56930000000000003,0,,,0.0036422160874866197 -coef_high_income_group_and_tour_frequency_is_1,1.4404498701731279,0.39860000000000001,0,,,1.4404498701731279 -coef_high_income_group_and_tour_frequency_is_2,0.83745190593386265,0.80089999999999995,0,,,0.83745190593386265 -coef_high_income_group_and_tour_frequency_is_5_plus,-16.251792370439588,0.82540000000000002,0,,,-16.251792370439588 -coef_high_income_group_and_visiting_tour,-0.82404884406611401,-0.36940000000000001,0,,,-0.82404884406611401 -coef_logged_maximum_residual_window_tour_frequency_is_0,0.2804768002125545,1.1858,0,,,0.2804768002125545 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.3895231997864537,1.4842,0,,,2.3895231997864537 -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.50210130383758622,0.1109,0,,,0.50210130383758622 -coef_mediumhigh_income_group_and_tour_frequency_is_2,2.1358136364876388,0.39140000000000003,0,,,2.1358136364876388 -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,3.8895054347112406,0.61370000000000002,0,,,3.8895054347112406 -coef_number_of_joint_discretionary_tours,-12.752183693752794,0.67130000000000001,0,,,-12.752183693752794 -coef_number_of_joint_shopping_tours,-26.373288193463711,-0.71299999999999997,0,,,-26.373288193463711 -coef_number_of_joint_tours_and_tour_frequency_is_2,-13.926155494658921,-0.31530000000000002,0,,,-13.926155494658921 -coef_number_of_joint_tours_and_tour_frequency_is_3,-1.3634750179314692,-0.73509999999999998,0,,,-1.3634750179314692 -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,0,-999,-999,-999 -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.80994304158323804,-0.1852,0,,,-0.80994304158323804 -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.9296858293686057,-0.87529999999999997,0,,,-1.9296858293686057 -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-3.1165358610084146,-1.6157999999999999,0,,,-3.1165358610084146 -coef_presence_of_full_time_worker_and_discretionary_tour,-1.0912632357636489,-0.48330000000000001,0,,,-1.0912632357636489 -coef_presence_of_full_time_worker_and_eating_out_tour,0.77587232422920438,-0.52510000000000001,0,,,0.77587232422920438 -coef_presence_of_full_time_worker_and_shopping_tour,-0.47914248744882598,-0.77280000000000004,0,,,-0.47914248744882598 -coef_presence_of_non_worker_and_discretionary_tour,-0.59191766592824591,0.97809999999999997,0,,,-0.59191766592824591 -coef_presence_of_non_worker_and_tour_frequency_is_1,0.20739098927232799,-0.85060000000000002,0,,,0.20739098927232799 -coef_presence_of_non_worker_and_tour_frequency_is_5,-0.10809095623412202,-1.1803999999999999,0,,,-0.10809095623412202 -coef_presence_of_part_time_worker_and_eating_out_tour,-3.2046073684551888,-1.9795,0,,,-3.2046073684551888 -coef_presence_of_part_time_worker_and_escorting_tour,-2.2247073118309659,-1.8212999999999999,0,,,-2.2247073118309659 -coef_presence_of_part_time_worker_and_shopping_tour,-0.72896673490600039,-0.51990000000000003,0,,,-0.72896673490600039 -coef_presence_of_pre_driving_school_kid_and_escorting_tour,-0.075902664875801412,0.94889999999999997,0,,,-0.075902664875801412 -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.072697095095962505,0.38629999999999998,0,,,0.072697095095962505 -coef_presence_of_pre_school_kid_and_escorting_tour,1.7499151704017379,2.1465000000000001,0,,,1.7499151704017379 -coef_presence_of_pre_school_kid_and_maintenance_tour,-0.61302038898844102,0.96940000000000004,0,,,-0.61302038898844102 -coef_presence_of_pre_school_kid_and_shopping_tour,0.4218433052411511,1.3134999999999999,0,,,0.4218433052411511 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-2.0284687546419584,-0.99609999999999999,0,,,-2.0284687546419584 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.79737893556046791,-1.9096,0,,,-0.79737893556046791 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.31913117480031128,-2.8469000000000002,0,,,-0.31913117480031128 -coef_presence_of_university_student_and_discretionary_tour,0.090801806893705261,-0.6542,0,,,0.090801806893705261 -coef_presence_of_university_student_and_eating_out_tour,-0.42835318314992721,-0.65290000000000004,0,,,-0.42835318314992721 -coef_total_number_of_tours_is_1,-8.5863403053428833,-6.2138,0,,,-8.5863403053428833 -coef_total_number_of_tours_is_2,-11.31949482279566,-8.9079999999999995,0,,,-11.31949482279566 -coef_total_number_of_tours_is_3,-14.109861113838994,-12.3261,0,,,-14.109861113838994 -coef_total_number_of_tours_is_4,-17.545826976965291,-15.811400000000001,0,,,-17.545826976965291 -coef_transit_access_to_retail_and_discretionary,0,0,0,0,0,0 -coef_transit_access_to_retail_and_maintenance,0.25755159606468364,0.031399999999999997,0,,,0.25755159606468364 -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.20705109302348529,0.066400000000000001,0,,,0.20705109302348529 -coef_urban_and_discretionary_tour,-1.8565923019691735,0.95630000000000004,0,,,-1.8565923019691735 -coef_urban_and_eatingout_tour,-15.36320089514812,0.68000000000000005,0,,,-15.36320089514812 -coef_urban_and_escorting_tour,0.80226698426219045,0.85160000000000002,0,,,0.80226698426219045 -coef_urban_and_maintenance_tour,0.35876881230913166,1.0316000000000001,0,,,0.35876881230913166 -coef_urban_and_shopping_tour,0.71157271748139417,0.53300000000000003,0,,,0.71157271748139417 -coef_urban_and_tour_frequency_is_1,-3.5373403053428834,-1.1648000000000001,0,,,-3.5373403053428834 -coef_urban_and_tour_frequency_is_2,-4.7291948227956535,-2.3176999999999999,0,,,-4.7291948227956535 -coef_urban_and_tour_frequency_is_5_plus,-6.0208880908118116,-2.5026999999999999,0,,,-6.0208880908118116 -coef_walk_access_to_retail_and_shopping,0.10237878294870741,0.097199999999999995,0,,,0.10237878294870741 -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,-4.6370945761626077,-0.062899999999999998,0,,,-4.6370945761626077 -coef_1_plus_eating_out_tours_constant,-4.7784926750203027,-0.1429,0,,,-4.7784926750203027 -coef_1_plus_maintenance_tours_constant,-9.9288535518266823,-0.065299999999999997,0,,,-9.9288535518266823 -coef_1_plus_other_discretionary_tours_constant,-4.8073687191051899,0.33339999999999997,0,,,-4.8073687191051899 -coef_1_plus_shopping_tours_constant,-4.0132353551593232,0.46829999999999999,0,,,-4.0132353551593232 -coef_1_plus_visting_tours_constant,-4.8733834129994724,-0.12720000000000001,0,,,-4.8733834129994724 -coef_2_plus_escort_tours_constant,-8.967938948525461,0.92730000000000001,0,,,-8.967938948525461 -coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.85247075086999724,-1.1479999999999999,0,,,-0.85247075086999724 -coef_at_home_pre_school_kid_and_eating_out_tour,0.60985731009359834,-0.3926,0,,,0.60985731009359834 -coef_at_home_pre_school_kid_and_escorting_tour,-0.061265250325528015,-0.13730000000000001,0,,,-0.061265250325528015 -coef_auto_access_to_retail_and_maintenance,0.61777145381329102,0.095600000000000004,0,,,0.61777145381329102 -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.33803024620733235,-0.36230000000000001,0,,,-0.33803024620733235 -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.4819665998101139,-1.272,0,,,-1.4819665998101139 -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-2.5557207485506246,-1.9307000000000001,0,,,-2.5557207485506246 -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,3.121774566538436,0.77380000000000004,0,,,3.121774566538436 -coef_female_and_maintenance_tour,-0.24639047530045038,-0.24640000000000001,0,,,-0.24639047530045038 -coef_female_and_tour_frequency_is_1,0.74864834160230664,0.39019999999999999,0,,,0.74864834160230664 -coef_female_and_tour_frequency_is_2,0.67696554036131518,0.5323,0,,,0.67696554036131518 -coef_female_and_tour_frequency_is_3,1.281698729380099,0.74519999999999997,0,,,1.281698729380099 -coef_female_and_tour_frequency_is_5,2.3807456280650667,1.1294,0,,,2.3807456280650667 -coef_high_income_group_and_discretionary_tour,0.51835922730368678,0.88460000000000005,0,,,0.51835922730368678 -coef_high_income_group_and_eating_out_tour,1.5486575358906367,0.70860000000000001,0,,,1.5486575358906367 -coef_high_income_group_and_shopping_tour,0.72862383681691834,0.97760000000000002,0,,,0.72862383681691834 -coef_high_income_group_and_tour_frequency_is_2,19.097882832130001,1.0632999999999999,0,,,19.097882832130001 -coef_high_income_group_and_tour_frequency_is_3,19.408558066997916,1.7742,0,,,19.408558066997916 -coef_high_income_group_and_tour_frequency_is_5_plus,19.832444995943295,2.3940999999999999,0,,,19.832444995943295 -coef_high_income_group_and_visiting_tour,-0.54232747274109727,-0.94489999999999996,0,,,-0.54232747274109727 -coef_logged_maximum_residual_window_tour_frequency_is_1,6.5467446485012912,1.7637,0,,,6.5467446485012912 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,7.3593803409865783,1.7927999999999999,0,,,7.3593803409865783 -coef_mediumhigh_income_group_and_discretionary_tour,0.18835358603238547,0.50090000000000001,0,,,0.18835358603238547 -coef_mediumhigh_income_group_and_eating_out_tour,-0.18198447365326542,0.46310000000000001,0,,,-0.18198447365326542 -coef_mediumhigh_income_group_and_shopping_tour,1.2220802803491335,0.89059999999999995,0,,,1.2220802803491335 -coef_mediumhigh_income_group_and_tour_frequency_is_1,19.971750133805212,0.74260000000000004,0,,,19.971750133805212 -coef_mediumhigh_income_group_and_tour_frequency_is_2,19.468344647994446,0.85460000000000003,0,,,19.468344647994446 -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,19.731739849414112,1.0791999999999999,0,,,19.731739849414112 -coef_mediumhigh_income_group_and_visiting_tour,0.027868052585523006,-0.26700000000000002,0,,,0.027868052585523006 -coef_mediumlow_income_group_and_discretionary_tour,-0.31620776069124212,0.17069999999999999,0,,,-0.31620776069124212 -coef_mediumlow_income_group_and_eating_out_tour,0.64577775646714697,0.27660000000000001,0,,,0.64577775646714697 -coef_mediumlow_income_group_and_shopping_tour,0.55581824053699758,0.77339999999999998,0,,,0.55581824053699758 -coef_mediumlow_income_group_and_tour_frequency_is_1,17.934259369140999,0.57089999999999996,0,,,17.934259369140999 -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,18.117542759840582,0.83150000000000002,0,,,18.117542759840582 -coef_number_of_joint_eating_out_tours,-13.182546391318507,-0.77270000000000005,0,,,-13.182546391318507 -coef_number_of_joint_shopping_tours,-16.839997040358107,-0.23910000000000001,0,,,-16.839997040358107 -coef_number_of_joint_tours_and_tour_frequency_is_1,-7.786577241296107,-0.1699,0,,,-7.786577241296107 -coef_number_of_joint_tours_and_tour_frequency_is_2,-9.7470048997804675,-0.42849999999999999,0,,,-9.7470048997804675 -coef_number_of_joint_tours_and_tour_frequency_is_3,-9.2917736869942509,-0.65510000000000002,0,,,-9.2917736869942509 -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-9.5554593661807772,-1.0410999999999999,0,,,-9.5554593661807772 -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.67659999999999998,-0.67659999999999998,0,,,-0.67659999999999998 -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518000000000001,-1.0518000000000001,0,,,-1.0518000000000001 -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,-999,0,-999,-999,-999 -coef_presence_of_full_time_worker_and_eating_out_tour,-1.3147958654758525,-0.4667,0,,,-1.3147958654758525 -coef_presence_of_full_time_worker_and_escorting_tour,0.35065195049774833,0.3947,0,,,0.35065195049774833 -coef_presence_of_non_worker_and_eating_out_tour,-0.40882607128740478,-0.49759999999999999,0,,,-0.40882607128740478 -coef_presence_of_non_worker_and_tour_frequency_is_1,1.8072738927257486,-0.37630000000000002,0,,,1.8072738927257486 -coef_presence_of_non_worker_and_tour_frequency_is_2,1.6043590091288431,-0.71899999999999997,0,,,1.6043590091288431 -coef_presence_of_non_worker_and_tour_frequency_is_5,2.2189804494458247,-1.0228999999999999,0,,,2.2189804494458247 -coef_presence_of_part_time_worker_and_discretionary_tour,-0.47082010921072343,-0.35449999999999998,0,,,-0.47082010921072343 -coef_presence_of_part_time_worker_and_escorting_tour,-0.93192205579588727,-0.58609999999999995,0,,,-0.93192205579588727 -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.6418290951424679,1.3773,0,,,1.6418290951424679 -coef_presence_of_pre_school_kid_and_escorting_tour,0.7399830171990065,0.71940000000000004,0,,,0.7399830171990065 -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-3.592889456087303,0.14860000000000001,0,,,-3.592889456087303 -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-3.4708451274125283,0.48399999999999999,0,,,-3.4708451274125283 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-3.861870451391785,-0.71609999999999996,0,,,-3.861870451391785 -coef_presence_of_retiree_and_eating_out_tour,-1.019099347827936,-0.69110000000000005,0,,,-1.019099347827936 -coef_presence_of_retiree_and_tour_frequency_is_1,2.0287807170341305,-0.46400000000000002,0,,,2.0287807170341305 -coef_presence_of_retiree_and_tour_frequency_is_5,1.9825418671121779,-0.47949999999999998,0,,,1.9825418671121779 -coef_total_number_of_tours_is_1,-23.000695056294269,-8.9791000000000007,0,,,-23.000695056294269 -coef_total_number_of_tours_is_2,-21.149512681682054,-12.024800000000001,0,,,-21.149512681682054 -coef_total_number_of_tours_is_3,-20.410765355763306,-14.851599999999999,0,,,-20.410765355763306 -coef_total_number_of_tours_is_4,-18.774647425097385,-17.703700000000001,0,,,-18.774647425097385 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_walk_access_to_retail_and_discretionary,0.21406620307694346,0.077200000000000005,0,,,0.21406620307694346 -coef_walk_access_to_retail_and_shopping,0.039842855774011393,0.059799999999999999,0,,,0.039842855774011393 -coef_walk_access_to_retail_and_tour_frequency_is_1,-0.50693837400775899,0.071300000000000002,0,,,-0.50693837400775899 -coef_walk_access_to_retail_and_tour_frequency_is_2,-0.40382295711954785,0.12559999999999999,0,,,-0.40382295711954785 -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,-0.26053331276767533,0.15079999999999999,0,,,-0.26053331276767533 -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,-2.730596441707033,-0.3992,0,,,-2.730596441707033 -coef_1_plus_eating_out_tours_constant,-2.5833046285296968,0.024500000000000001,0,,,-2.5833046285296968 -coef_1_plus_maintenance_tours_constant,-2.2992187432888329,0.1046,0,,,-2.2992187432888329 -coef_1_plus_other_discretionary_tours_constant,-2.2431962112746411,0.42820000000000003,0,,,-2.2431962112746411 -coef_1_plus_shopping_tours_constant,-1.9166425444609607,0.59470000000000001,0,,,-1.9166425444609607 -coef_1_plus_visting_tours_constant,-2.3440181385910446,0.27889999999999998,0,,,-2.3440181385910446 -coef_2_plus_escort_tours_constant,-4.9359365117262612,0.51749999999999996,0,,,-4.9359365117262612 -coef_car_surplus_vs_workers_and_tour_frequency_is_1,3.0947542803847758,0.79649999999999999,0,,,3.0947542803847758 -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,3.4758535212559294,2.1301999999999999,0,,,3.4758535212559294 -coef_female_and_discretionary_tour,0.54152756838822758,0.49540000000000001,0,,,0.54152756838822758 -coef_female_and_maintenance_tour,0.70832787326060975,0.74239999999999995,0,,,0.70832787326060975 -coef_female_and_shopping_tour,0.60931588761842026,0.96879999999999999,0,,,0.60931588761842026 -coef_female_and_tour_frequency_is_1,-2.5191550523228474,-0.93479999999999996,0,,,-2.5191550523228474 -coef_female_and_tour_frequency_is_2,-2.7271688013300479,-1.3028,0,,,-2.7271688013300479 -coef_female_and_tour_frequency_is_5,-4.1602031889993674,-2.266,0,,,-4.1602031889993674 -coef_high_income_group_and_discretionary_tour,0.92588438224313008,1.0095000000000001,0,,,0.92588438224313008 -coef_high_income_group_and_eating_out_tour,1.6244927835124816,1.4842,0,,,1.6244927835124816 -coef_high_income_group_and_maintenance_tour,1.0061046178584812,1.3794999999999999,0,,,1.0061046178584812 -coef_high_income_group_and_shopping_tour,1.1051711361584451,1.0949,0,,,1.1051711361584451 -coef_high_income_group_and_visiting_tour,-0.65666362660607858,-0.51370000000000005,0,,,-0.65666362660607858 -coef_logged_maximum_residual_window_tour_frequency_is_1,2.9665568629163652,1.8357000000000001,0,,,2.9665568629163652 -coef_logged_maximum_residual_window_tour_frequency_is_2,5.581416234805145,2.2707000000000002,0,,,5.581416234805145 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,31.909531343908711,4.4023000000000003,0,,,31.909531343908711 -coef_mediumhigh_income_group_and_eating_out_tour,0.96427913024112555,1.181,0,,,0.96427913024112555 -coef_mediumhigh_income_group_and_maintenance_tour,0.46535126543893468,0.76480000000000004,0,,,0.46535126543893468 -coef_mediumhigh_income_group_and_visiting_tour,-0.47816865355794147,-0.43680000000000002,0,,,-0.47816865355794147 -coef_mediumlow_income_group_and_eating_out_tour,0.87748591593357028,0.97689999999999999,0,,,0.87748591593357028 -coef_number_of_joint_shopping_tours,-0.29099820983920754,-0.80720000000000003,0,,,-0.29099820983920754 -coef_number_of_joint_tours_and_tour_frequency_is_2,-6.3271431915064547,-0.94999999999999996,0,,,-6.3271431915064547 -coef_number_of_joint_tours_and_tour_frequency_is_3,-85.627388567464422,-7.1429999999999998,0,,,-85.627388567464422 -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,0,-999,-999,-999 -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0195999999999996,-5.0195999999999996,0,,,-5.0195999999999996 -coef_presence_of_full_time_worker_and_discretionary_tour,-0.33198445309738206,-0.48349999999999999,0,,,-0.33198445309738206 -coef_presence_of_full_time_worker_and_shopping_tour,-0.20732525834821677,-0.3609,0,,,-0.20732525834821677 -coef_presence_of_non_worker_and_discretionary_tour,-0.084103900991314984,-0.56030000000000002,0,,,-0.084103900991314984 -coef_presence_of_non_worker_and_eating_out_tour,-0.70153618577934562,-0.78800000000000003,0,,,-0.70153618577934562 -coef_presence_of_non_worker_and_tour_frequency_is_1,1.1906806536749803,0.224,0,,,1.1906806536749803 -coef_presence_of_non_worker_and_tour_frequency_is_2,1.3741954582206455,0.24360000000000001,0,,,1.3741954582206455 -coef_presence_of_non_worker_and_tour_frequency_is_3,2.1568221868185788,0.62,0,,,2.1568221868185788 -coef_presence_of_non_worker_and_tour_frequency_is_5,3.6943030762883984,3.3742000000000001,0,,,3.6943030762883984 -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.6828802924993791,1.4903,0,,,1.6828802924993791 -coef_presence_of_pre_school_kid_and_escorting_tour,0.64181265687243838,0.50270000000000004,0,,,0.64181265687243838 -coef_presence_of_retiree_and_eating_out_tour,-0.9446797599672041,-0.92820000000000003,0,,,-0.9446797599672041 -coef_presence_of_retiree_and_tour_frequency_is_1,0.32142426327796303,-0.44579999999999997,0,,,0.32142426327796303 -coef_presence_of_retiree_and_tour_frequency_is_5,-0.05124161320643273,-0.53149999999999997,0,,,-0.05124161320643273 -coef_total_number_of_tours_is_1,-14.532344602813701,-8.5684000000000005,0,,,-14.532344602813701 -coef_total_number_of_tours_is_2,-15.267479639550283,-12.7416,0,,,-15.267479639550283 -coef_total_number_of_tours_is_3,-15.029318290282511,-15.097799999999999,0,,,-15.029318290282511 -coef_total_number_of_tours_is_4,-14.905139738811323,-19.543900000000001,0,,,-14.905139738811323 -coef_total_number_of_tours_is_5,-27.549766404642561,-20.7897,0,,,-27.549766404642561 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.69108202810785446,0.061600000000000002,0,,,0.69108202810785446 -coef_0_auto_household_and_escorting_tour,-289.81943839376481,-2,0,,,-289.81943839376481 -coef_1_escort_tour_constant,-6434.9613170821285,-0.49340000000000001,0,,,-6434.9613170821285 -coef_1_plus_eating_out_tours_constant,-3885.4119129943556,-0.024199999999999999,0,,,-3885.4119129943556 -coef_1_plus_maintenance_tours_constant,-1195.8070135696348,-0.43440000000000001,0,,,-1195.8070135696348 -coef_1_plus_other_discretionary_tours_constant,-2406.8061209898142,-0.26019999999999999,0,,,-2406.8061209898142 -coef_1_plus_shopping_tours_constant,-2389.30594524151,0.53200000000000003,0,,,-2389.30594524151 -coef_1_plus_visting_tours_constant,-2389.3059957968449,0.23669999999999999,0,,,-2389.3059957968449 -coef_2_plus_escort_tours_constant,-5667.6854005226833,1.4155,0,,,-5667.6854005226833 -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,-44.188372748106481,0.1004,0,,,-44.188372748106481 -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-17232.832070588393,-0.63690000000000002,0,,,-17232.832070588393 -coef_car_surplus_vs_workers_and_tour_frequency_is_1,-4035.619541886927,0.29020000000000001,0,,,-4035.619541886927 -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,15225.992542144893,2.0352000000000001,0,,,15225.992542144893 -coef_high_income_group_and_discretionary_tour,4481.0843932231746,2.327,0,,,4481.0843932231746 -coef_high_income_group_and_eating_out_tour,-3157.2738344019517,0.49159999999999998,0,,,-3157.2738344019517 -coef_high_income_group_and_maintenance_tour,4461.4848620401744,0.3982,0,,,4461.4848620401744 -coef_high_income_group_and_shopping_tour,4461.3908032762156,0.24429999999999999,0,,,4461.3908032762156 -coef_high_income_group_and_visiting_tour,4461.3908519450242,0.2858,0,,,4461.3908519450242 -coef_logged_maximum_residual_window_tour_frequency_is_1,16.594329465647881,1.3298000000000001,0,,,16.594329465647881 -coef_logged_maximum_residual_window_tour_frequency_is_2,-19742.937757107196,1.3758999999999999,0,,,-19742.937757107196 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,-11491.665678473473,3.2808000000000002,0,,,-11491.665678473473 -coef_mediumhigh_income_group_and_discretionary_tour,572.84750941634763,1.405,0,,,572.84750941634763 -coef_mediumlow_income_group_and_discretionary_tour,-4429.9422108889057,0.91690000000000005,0,,,-4429.9422108889057 -coef_number_of_joint_tours_and_tour_frequency_is_1,-4180.3539679243559,-0.2162,0,,,-4180.3539679243559 -coef_number_of_joint_tours_and_tour_frequency_is_2,-1606.5028797398816,-0.35870000000000002,0,,,-1606.5028797398816 -coef_number_of_joint_tours_and_tour_frequency_is_3,-109.81932871468001,-4.2701000000000002,0,,,-109.81932871468001 -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,0,-999,-999,-999 -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-16877.023969621659,-0.23400000000000001,0,,,-16877.023969621659 -coef_number_of_mandatory_tours_and_tour_frequency_is_2,12620.764595473987,-0.92310000000000003,0,,,12620.764595473987 -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-4861.9979116103832,-6.5834999999999999,0,,,-4861.9979116103832 -coef_presence_of_driving_school_kid_and_discretionary_tour,-578.87207263924711,-0.92020000000000002,0,,,-578.87207263924711 -coef_presence_of_driving_school_kid_and_eating_out_tour,6.3817283359748718,-0.63770000000000004,0,,,6.3817283359748718 -coef_presence_of_non_worker_and_tour_frequency_is_2,878.00882728962233,-0.65710000000000002,0,,,878.00882728962233 -coef_presence_of_non_worker_and_tour_frequency_is_5,-1944.9226435678067,-1.4044000000000001,0,,,-1944.9226435678067 -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-164.90625497529834,-1.5698000000000001,0,,,-164.90625497529834 -coef_presence_of_pre_school_kid_and_eating_out_tour,313.47630877463621,-0.29870000000000002,0,,,313.47630877463621 -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,4033.5668708392936,-0.32190000000000002,0,,,4033.5668708392936 -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,10149.331976157329,-1.0873999999999999,0,,,10149.331976157329 -coef_presence_of_university_student_and_discretionary_tour,3906.3784034663036,-1.2834000000000001,0,,,3906.3784034663036 -coef_total_number_of_tours_is_1,15200.662336544106,-7.1505999999999998,0,,,15200.662336544106 -coef_total_number_of_tours_is_2,-1638.5561861275439,-11.1214,0,,,-1638.5561861275439 -coef_total_number_of_tours_is_3,-14010.60832366959,-13.175000000000001,0,,,-14010.60832366959 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_urban_and_maintenance_tour,-1194.333213569586,1.0394000000000001,0,,,-1194.333213569586 -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,-1.5720814237734582,-0.75509999999999999,0,,,-1.5720814237734582 -coef_1_plus_eating_out_tours_constant,-2.2222102013387453,1.1145,0,,,-2.2222102013387453 -coef_1_plus_maintenance_tours_constant,-1.4971354138568955,-0.50600000000000001,0,,,-1.4971354138568955 -coef_1_plus_other_discretionary_tours_constant,0.090817823541839565,0.46339999999999998,0,,,0.090817823541839565 -coef_1_plus_shopping_tours_constant,1.4746879181605808,0.4783,0,,,1.4746879181605808 -coef_1_plus_visting_tours_constant,-1.7926081421309932,-0.40060000000000001,0,,,-1.7926081421309932 -coef_2_plus_escort_tours_constant,-2.0596227390284212,-0.0086,0,,,-2.0596227390284212 -coef_auto_access_to_retail_and_escorting,0.55510802136078319,0.062899999999999998,0,,,0.55510802136078319 -coef_high_income_group_and_eating_out_tour,-1.3619797807034295,-0.70099999999999996,0,,,-1.3619797807034295 -coef_high_income_group_and_shopping_tour,-3.7366703425339884,-0.65059999999999996,0,,,-3.7366703425339884 -coef_high_income_group_and_tour_frequency_is_5_plus,16.017262145435474,2.0175000000000001,0,,,16.017262145435474 -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5260250309714616,1.5603,0,,,1.5260250309714616 -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,15.096813647053857,1.5197000000000001,0,,,15.096813647053857 -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,14.227758877255997,1.0872999999999999,0,,,14.227758877255997 -coef_number_of_joint_maintenance_tours,-1.3475999999999999,-1.3475999999999999,0,,,-1.3475999999999999 -coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1971153311644798,-0.6149,0,,,-1.1971153311644798 -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,0,-999,-999,-999 -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-9.8896793584290901,-1.0330999999999999,0,,,-9.8896793584290901 -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-10.675107092433787,-2.7444999999999999,0,,,-10.675107092433787 -coef_presence_of_full_time_worker_and_discretionary_tour,0.16721747201730811,0.75260000000000005,0,,,0.16721747201730811 -coef_presence_of_non_worker_and_eating_out_tour,-1.2956623157773164,-1.3073999999999999,0,,,-1.2956623157773164 -coef_presence_of_non_worker_and_shopping_tour,-1.353669617377284,-0.64500000000000002,0,,,-1.353669617377284 -coef_presence_of_non_worker_and_tour_frequency_is_5,-0.43468555779873808,0.2177,0,,,-0.43468555779873808 -coef_presence_of_part_time_worker_and_discretionary_tour,-0.34215511287271527,0.37209999999999999,0,,,-0.34215511287271527 -coef_presence_of_pre_driving_school_kid_and_shopping_tour,1.4153790711463878,0.9365,0,,,1.4153790711463878 -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.29018085236023033,-0.22639999999999999,0,,,0.29018085236023033 -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0.32894398996272695,-0.44390000000000002,0,,,0.32894398996272695 -coef_total_number_of_tours_is_1,-11.291182385016718,-7.4863,0,,,-11.291182385016718 -coef_total_number_of_tours_is_2,-13.228339349370408,-10.718,0,,,-13.228339349370408 -coef_total_number_of_tours_is_3,-14.184904611232321,-13.788399999999999,0,,,-14.184904611232321 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_urban_and_escorting_tour,-4.4838269018301071,0.43519999999999998,0,,,-4.4838269018301071 -coef_walk_access_to_retail_and_eating_out,0.40010315143817771,0.073800000000000004,0,,,0.40010315143817771 -coef_0_auto_household_and_escorting_tour,-2,-2,0,-2,-2,-2 -coef_1_escort_tour_constant,0.17965076785235903,0.36220000000000002,0,,,0.17965076785235903 -coef_1_plus_eating_out_tours_constant,0.20482664652109922,0.96120000000000005,0,,,0.20482664652109922 -coef_1_plus_maintenance_tours_constant,0.073169219104483346,0.67879999999999996,0,,,0.073169219104483346 -coef_1_plus_other_discretionary_tours_constant,1.1336617402336022,1.4935,0,,,1.1336617402336022 -coef_1_plus_shopping_tours_constant,0.78536748101077303,1.6919,0,,,0.78536748101077303 -coef_1_plus_visting_tours_constant,-0.01128610640731513,0.44240000000000002,0,,,-0.01128610640731513 -coef_2_plus_escort_tours_constant,1.7444288874445422,2.2219000000000002,0,,,1.7444288874445422 -coef_discretionary_tour,0.54316174023360153,0.90300000000000002,0,,,0.54316174023360153 -coef_escorting_tour,1.3535085427415612,2.4910000000000001,0,,,1.3535085427415612 -coef_maintenance_tour,0.41636921910448493,1.022,0,,,0.41636921910448493 -coef_presence_of_full_time_worker_and_escorting_tour,-0.61349175561144009,-0.89300000000000002,0,,,-0.61349175561144009 -coef_presence_of_non_worker_and_discretionary_tour,0.01387890311352221,0.79100000000000004,0,,,0.01387890311352221 -coef_presence_of_non_worker_and_eating_out_tour,1.1150524768977683,1.157,0,,,1.1150524768977683 -coef_presence_of_non_worker_and_escorting_tour,0.89099305834953102,0.89000000000000001,0,,,0.89099305834953102 -coef_presence_of_non_worker_and_shopping_tour,0.23105344171814296,0.80800000000000005,0,,,0.23105344171814296 -coef_presence_of_part_time_worker_and_eating_out_tour,1.3926752534763249,1.0369999999999999,0,,,1.3926752534763249 -coef_presence_of_part_time_worker_and_shopping_tour,1.0440437570455019,1.155,0,,,1.0440437570455019 -coef_total_number_of_tours_is_1,-4.4367465516985458,-5.7590000000000003,0,,,-4.4367465516985458 -coef_total_number_of_tours_is_2,-9.0395579310490177,-11.516999999999999,0,,,-9.0395579310490177 -coef_total_number_of_tours_is_3,-12.714428561518217,-17.276,0,,,-12.714428561518217 -coef_total_number_of_tours_is_4,-29.080351094611324,-23.035,0,,,-29.080351094611324 -coef_total_number_of_tours_is_6_plus,-999,-999,0,-999,-999,-999 -coef_urban_and_discretionary_tour,0,0,0,0,0,0 -coef_visiting_or_social_tour,0.31531389359268519,0.76900000000000002,0,,,0.31531389359268519 +param_name,value,best,initvalue,nullvalue +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,0.4427992642013524,0.4427992642013524,0.029799999669194221,0 +coef_1_plus_eating_out_tours_constant,-0.55916615444423889,-0.55916615444423889,0.0097000002861022949,0 +coef_1_plus_maintenance_tours_constant,-0.048218934526752716,-0.048218934526752716,0.12020000070333481,0 +coef_1_plus_other_discretionary_tours_constant,1.1187985007824965,1.1187985007824965,0.74119997024536133,0 +coef_1_plus_shopping_tours_constant,0.80935601218553088,0.80935601218553088,0.47740000486373901,0 +coef_1_plus_visting_tours_constant,0.32772255127625538,0.32772255127625538,0.052200000733137131,0 +coef_2_plus_escort_tours_constant,0.86516558906506291,0.86516558906506291,0.7401999831199646,0 +coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.1058628439891163,-1.1058628439891163,-0.27459999918937683,0 +coef_at_home_pre_school_kid_and_discretionary_tour,-0.70795142385539511,-0.70795142385539511,-0.47029998898506165,0 +coef_at_home_pre_school_kid_and_escorting_tour,-0.59160407292839623,-0.59160407292839623,-1.5674999952316284,0 +coef_auto_access_to_retail_and_discretionary,0.045130482105384076,0.045130482105384076,0.084399998188018799,0 +coef_auto_access_to_retail_and_maintenance,0.066126086285235641,0.066126086285235641,0.074900001287460327,0 +coef_auto_access_to_retail_and_shopping,0.12409575232027123,0.12409575232027123,0.10670000314712524,0 +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.17885689584708081,0.17885689584708081,0.13040000200271606,0 +coef_female_and_escorting_tour,0.56410426544507486,0.56410426544507486,0.18240000307559967,0 +coef_female_and_tour_frequency_is_1,-0.30708391029855547,-0.30708391029855547,-0.076600000262260437,0 +coef_female_and_tour_frequency_is_2,-0.55559756867326349,-0.55559756867326349,-0.10620000213384628,0 +coef_female_and_tour_frequency_is_5,0.018075964162005607,0.018075964162005607,-0.32739999890327454,0 +coef_high_income_group_and_discretionary_tour,-0.091486067503143295,-0.091486067503143295,0.2565000057220459,0 +coef_high_income_group_and_eating_out_tour,0.72625729628634217,0.72625729628634217,0.55809998512268066,0 +coef_high_income_group_and_tour_frequency_is_1,1.155230706967018,1.155230706967018,0.51889997720718384,0 +coef_high_income_group_and_tour_frequency_is_2,2.3389197436575069,2.3389197436575069,1.1335999965667725,0 +coef_high_income_group_and_tour_frequency_is_5_plus,0.47586062840136895,0.47586062840136895,1.3898999691009521,0 +coef_high_income_group_and_visiting_tour,-0.86542592778132377,-0.86542592778132377,-0.24230000376701355,0 +coef_logged_maximum_residual_window_tour_frequency_is_1,1.3596125256366514,1.3596125256366514,1.2561999559402466,0 +coef_logged_maximum_residual_window_tour_frequency_is_2,1.4369987512243636,1.4369987512243636,1.2868000268936157,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0.84347379326069005,0.84347379326069005,1.3992999792098999,0 +coef_mediumhigh_income_group_and_tour_frequency_is_1,1.1094796643673868,1.1094796643673868,0.49810001254081726,0 +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.9181926670959439,1.9181926670959439,0.8345000147819519,0 +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.3393581345532311,1.3393581345532311,1.0212999582290649,0 +coef_number_of_joint_eating_out_tours,-1.7726850801344511,-1.7726850801344511,-0.58660000562667847,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.4026438175955793,-1.4026438175955793,-0.88870000839233398,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.025313408839498,-2.025313408839498,-2.3343000411987305,0 +coef_presence_of_driving_school_kid_and_discretionary_tour,0.33629833566221962,0.33629833566221962,-0.39629998803138733,0 +coef_presence_of_driving_school_kid_and_escorting_tour,-0.19071865882881728,-0.19071865882881728,0.36010000109672546,0 +coef_presence_of_full_time_worker_and_discretionary_tour,-0.75882600647076048,-0.75882600647076048,-0.66699999570846558,0 +coef_presence_of_full_time_worker_and_eating_out_tour,-0.73960069695319364,-0.73960069695319364,-0.35710000991821289,0 +coef_presence_of_full_time_worker_and_maintenance_tour,-0.38630750284054705,-0.38630750284054705,-0.16850000619888306,0 +coef_presence_of_full_time_worker_and_shopping_tour,-0.60182073500121425,-0.60182073500121425,-0.30590000748634338,0 +coef_presence_of_non_worker_and_discretionary_tour,-1.2394724190464534,-1.2394724190464534,-0.42809998989105225,0 +coef_presence_of_non_worker_and_eating_out_tour,-0.43749171051759073,-0.43749171051759073,-0.20139999687671661,0 +coef_presence_of_non_worker_and_escorting_tour,-0.92810302506396747,-0.92810302506396747,-0.48149999976158142,0 +coef_presence_of_non_worker_and_maintenance_tour,-0.25135759242376515,-0.25135759242376515,-0.32370001077651978,0 +coef_presence_of_non_worker_and_shopping_tour,-0.81193650011085927,-0.81193650011085927,-0.41600000858306885,0 +coef_presence_of_part_time_worker_and_discretionary_tour,-0.037914012004716779,-0.037914012004716779,-0.2101999968290329,0 +coef_presence_of_part_time_worker_and_maintenance_tour,-0.18845880952367774,-0.18845880952367774,-0.15839999914169312,0 +coef_presence_of_part_time_worker_and_shopping_tour,-0.13360094221187135,-0.13360094221187135,-0.15410000085830688,0 +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.098195561407346782,-0.098195561407346782,-0.39590001106262207,0 +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4005304562436685,1.4005304562436685,1.3974000215530396,0 +coef_presence_of_pre_school_kid_and_discretionary_tour,0.0018788117570303462,0.0018788117570303462,-0.50809997320175171,0 +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.86481034258984602,-0.86481034258984602,-0.42250001430511475,0 +coef_presence_of_pre_school_kid_and_escorting_tour,0.74141629258937403,0.74141629258937403,0.6841999888420105,0 +coef_presence_of_pre_school_kid_and_shopping_tour,-0.018826868013972368,-0.018826868013972368,-0.20800000429153442,0 +coef_presence_of_retiree_and_discretionary_tour,-0.56414341094868059,-0.56414341094868059,-0.91039997339248657,0 +coef_presence_of_retiree_and_eating_out_tour,-1.2971397912010263,-1.2971397912010263,-0.57080000638961792,0 +coef_presence_of_retiree_and_escorting_tour,-3.9791405866488541,-3.9791405866488541,-0.80800002813339233,0 +coef_presence_of_university_student_and_discretionary_tour,-0.35370106427869641,-0.35370106427869641,-0.85509997606277466,0 +coef_total_number_of_tours_is_1,-8.0929871920905487,-8.0929871920905487,-7.3572001457214355,0 +coef_total_number_of_tours_is_2,-11.373665685061901,-11.373665685061901,-10.647000312805176,0 +coef_total_number_of_tours_is_3,-13.230959643793058,-13.230959643793058,-13.500499725341797,0 +coef_total_number_of_tours_is_4,-15.595277265944466,-15.595277265944466,-16.396499633789062,0 +coef_total_number_of_tours_is_5,-19.867033359049749,-19.867033359049749,-19.684299468994141,0 +coef_total_number_of_tours_is_6_plus,-999,-999,-999,0 +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.050586414602862534,0.050586414602862534,0.022600000724196434,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_urban_and_escorting_tour,0.23133047198776119,0.23133047198776119,-0.43160000443458557,0 +coef_walk_access_to_retail_and_discretionary,0.035768845177126592,0.035768845177126592,0.056699998676776886,0 +coef_walk_access_to_retail_and_eating_out,0.23990162152188213,0.23990162152188213,0.14499999582767487,0 +coef_walk_access_to_retail_and_escorting,-0.12003056391798796,-0.12003056391798796,0.045099999755620956,0 +coef_walk_access_to_retail_and_shopping,-0.045608290266312995,-0.045608290266312995,0.032999999821186066,0 +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.2160690015503576,-0.2160690015503576,-0.34860000014305115,0 +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,0.78022647864874106,0.78022647864874106,0.52719998359680176,0 +coef_1_plus_eating_out_tours_constant,1.6369882471832848,1.6369882471832848,0.69139999151229858,0 +coef_1_plus_maintenance_tours_constant,1.2611597485996247,1.2611597485996247,0.55330002307891846,0 +coef_1_plus_other_discretionary_tours_constant,1.8042028984875396,1.8042028984875396,0.79890000820159912,0 +coef_1_plus_shopping_tours_constant,1.4577278573241144,1.4577278573241144,0.75690001249313354,0 +coef_1_plus_visting_tours_constant,1.0730718283709404,1.0730718283709404,0.14049999415874481,0 +coef_2_plus_escort_tours_constant,1.8729239069881625,1.8729239069881625,1.5987000465393066,0 +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0.047550202162169208,0.047550202162169208,-0.54979997873306274,0 +coef_female_and_discretionary_tour,0.44246508408459873,0.44246508408459873,0.30720001459121704,0 +coef_female_and_shopping_tour,0.72280754095601429,0.72280754095601429,0.45239999890327454,0 +coef_high_income_group_and_discretionary_tour,0.17993929507162121,0.17993929507162121,0.29600000381469727,0 +coef_high_income_group_and_maintenance_tour,1.2972259045977341,1.2972259045977341,0.67629998922348022,0 +coef_high_income_group_and_shopping_tour,0.87248673602279736,0.87248673602279736,0.70660001039505005,0 +coef_high_income_group_and_tour_frequency_is_1,1.2363061506956392,1.2363061506956392,0.86820000410079956,0 +coef_high_income_group_and_tour_frequency_is_2,1.3997702009895265,1.3997702009895265,1.5362000465393066,0 +coef_high_income_group_and_tour_frequency_is_5_plus,1.5247592588483323,1.5247592588483323,1.9330999851226807,0 +coef_high_income_group_and_visiting_tour,-0.58407376090955276,-0.58407376090955276,-0.68680000305175781,0 +coef_logged_maximum_residual_window_tour_frequency_is_1,0.78207461828672042,0.78207461828672042,1.5748000144958496,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.2295616602720314,1.2295616602720314,2.0025999546051025,0 +coef_mediumhigh_income_group_and_shopping_tour,0.64569736253979326,0.64569736253979326,0.44209998846054077,0 +coef_mediumlow_income_group_and_tour_frequency_is_1,0.88613463643879131,0.88613463643879131,0.59810000658035278,0 +coef_mediumlow_income_group_and_tour_frequency_is_2,0.84850399647408248,0.84850399647408248,0.91780000925064087,0 +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.87831822891977274,0.87831822891977274,1.7539000511169434,0 +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.2633997095537546,-1.2633997095537546,-1.1986000537872314,0 +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,-999,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.94282353171733657,-0.94282353171733657,-0.23899999260902405,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7338328554607796,-2.7338328554607796,-1.8207999467849731,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.6682909569935234,-2.6682909569935234,-2.5922999382019043,0 +coef_presence_of_driving_school_kid_and_escorting_tour,1.0188615044012985,1.0188615044012985,0.41639998555183411,0 +coef_presence_of_full_time_worker_and_maintenance_tour,-0.48961457222493282,-0.48961457222493282,-0.31310001015663147,0 +coef_presence_of_non_worker_and_discretionary_tour,-0.57727792649553333,-0.57727792649553333,-1.0370999574661255,0 +coef_presence_of_non_worker_and_eating_out_tour,-0.21267685745459988,-0.21267685745459988,-0.65450000762939453,0 +coef_presence_of_non_worker_and_escorting_tour,-0.59185572336636527,-0.59185572336636527,-0.52630001306533813,0 +coef_presence_of_part_time_worker_and_maintenance_tour,-1.0186820306196382,-1.0186820306196382,-0.56209999322891235,0 +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.7856557294189983,1.7856557294189983,1.5794999599456787,0 +coef_presence_of_pre_school_kid_and_escorting_tour,0.27408822617776946,0.27408822617776946,0.54140001535415649,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0.30438027742581492,0.30438027742581492,-0.15590000152587891,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.52997357567752201,-0.52997357567752201,-0.5680999755859375,0 +coef_presence_of_retiree_and_eating_out_tour,0.057141478624328376,0.057141478624328376,-1.3890000581741333,0 +coef_presence_of_retiree_and_escorting_tour,-0.44904086319222258,-0.44904086319222258,-0.75160002708435059,0 +coef_presence_of_university_student_and_eating_out_tour,-1.819545601982254,-1.819545601982254,-1.4318000078201294,0 +coef_total_number_of_tours_is_1,-7.0159278521309831,-7.0159278521309831,-7.6391000747680664,0 +coef_total_number_of_tours_is_2,-10.006686059458314,-10.006686059458314,-10.455699920654297,0 +coef_total_number_of_tours_is_3,-12.780090082076166,-12.780090082076166,-14.017600059509277,0 +coef_total_number_of_tours_is_4,-17.006726946049447,-17.006726946049447,-16.971700668334961,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_urban_and_escorting_tour,0.40857422586786191,0.40857422586786191,-0.39289999008178711,0 +coef_walk_access_to_retail_and_tour_frequency_is_1,0.091591528383907397,0.091591528383907397,0.089900001883506775,0 +coef_walk_access_to_retail_and_tour_frequency_is_2,0.12013944932753479,0.12013944932753479,0.14470000565052032,0 +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.043892915968164865,0.043892915968164865,0.34790000319480896,0 +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,1.8320083268912393,1.8320081212504946,1.7028000354766846,0 +coef_1_plus_eating_out_tours_constant,-13.842117153486281,-13.842113426324161,2.0722999572753906,0 +coef_1_plus_maintenance_tours_constant,-0.36965786889297769,-0.36965847869322271,0.33480000495910645,0 +coef_1_plus_other_discretionary_tours_constant,-1.2004258495977875,-1.2004252032682035,1.3388999700546265,0 +coef_1_plus_shopping_tours_constant,1.9630014272782856,1.9630010920712406,1.8402999639511108,0 +coef_1_plus_visting_tours_constant,1.0077266905164448,1.0077264438102758,1.2172000408172607,0 +coef_2_plus_escort_tours_constant,2.7101792728099783,2.7101793241888337,2.837899923324585,0 +coef_auto_access_to_retail_and_discretionary,0.60576917052564894,0.60576901559373153,0.093999996781349182,0 +coef_auto_access_to_retail_and_eating_out,3.2803304602848562,3.2803296298812761,0.10180000215768814,0 +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.1286721006590705,-1.1286716773156127,-0.58099997043609619,0 +coef_female_and_discretionary_tour,-0.27866976927760068,-0.27866980957578169,-0.32659998536109924,0 +coef_female_and_eatingout_tour,-0.71346970397905807,-0.71346918819904392,-0.65679997205734253,0 +coef_female_and_tour_frequency_is_1,-0.48821855191385899,-0.48821751083893139,0.097300000488758087,0 +coef_female_and_tour_frequency_is_2,0.70828217386581849,0.70828183909772424,0.23610000312328339,0 +coef_female_and_tour_frequency_is_5,2.0698314021941049,2.0698320315070937,1.9002000093460083,0 +coef_high_income_group_and_eating_out_tour,-1.7871396439814193,-1.7871393359274383,-0.72070002555847168,0 +coef_high_income_group_and_shopping_tour,-0.0097579376258961487,-0.0097578081985406004,0.56929999589920044,0 +coef_high_income_group_and_tour_frequency_is_1,1.4527093121517425,1.4527099923825588,0.3986000120639801,0 +coef_high_income_group_and_tour_frequency_is_2,0.90039297576289479,0.90039284655601348,0.80089998245239258,0 +coef_high_income_group_and_tour_frequency_is_5_plus,-6.947254854872086,-6.9472539654420844,0.82539999485015869,0 +coef_high_income_group_and_visiting_tour,-0.77942127489278434,-0.77942163984758739,-0.36939999461174011,0 +coef_logged_maximum_residual_window_tour_frequency_is_0,0.26793790497643488,0.26793818025889998,1.1857999563217163,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.4020620521081604,2.4020617768256951,1.4842000007629395,0 +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4738896197844194,0.4738898434218578,0.11089999973773956,0 +coef_mediumhigh_income_group_and_tour_frequency_is_2,2.1475070128100544,2.1475072544785649,0.39140000939369202,0 +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,3.9137980844922171,3.9137982636389732,0.61369997262954712,0 +coef_number_of_joint_discretionary_tours,-6.8227040161278429,-6.8227030499165631,0.67129999399185181,0 +coef_number_of_joint_shopping_tours,-4.5845196404815836,-4.5845189614516721,-0.71299999952316284,0 +coef_number_of_joint_tours_and_tour_frequency_is_2,-9.1761287341051698,-9.1761275454648299,-0.31529998779296875,0 +coef_number_of_joint_tours_and_tour_frequency_is_3,-1.7257215207841496,-1.7257219586505792,-0.73509997129440308,0 +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,-999,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.64122576357731442,-0.64122588480735709,-0.18520000576972961,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.7823789287319811,-1.7823796487869576,-0.87529999017715454,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.9941269208431893,-2.9941272442555316,-1.6158000230789185,0 +coef_presence_of_full_time_worker_and_discretionary_tour,-1.1123947161390522,-1.1123952221405766,-0.48330000042915344,0 +coef_presence_of_full_time_worker_and_eating_out_tour,0.7644158078010701,0.76441605865788576,-0.5250999927520752,0 +coef_presence_of_full_time_worker_and_shopping_tour,-0.47330099399200232,-0.4733010233040793,-0.7728000283241272,0 +coef_presence_of_non_worker_and_discretionary_tour,-0.59088716119227658,-0.59088747572415357,0.9781000018119812,0 +coef_presence_of_non_worker_and_tour_frequency_is_1,0.1878408165883074,0.18784146495376636,-0.85060000419616699,0 +coef_presence_of_non_worker_and_tour_frequency_is_5,-0.17945867023496131,-0.17945929629633911,-1.180400013923645,0 +coef_presence_of_part_time_worker_and_eating_out_tour,-3.2345296325509101,-3.234529777482781,-1.9795000553131104,0 +coef_presence_of_part_time_worker_and_escorting_tour,-2.2546395276485063,-2.2546394925137023,-1.8213000297546387,0 +coef_presence_of_part_time_worker_and_shopping_tour,-0.7496461309021506,-0.74964534531823057,-0.51990002393722534,0 +coef_presence_of_pre_driving_school_kid_and_escorting_tour,-0.083989210795650721,-0.083989664675771999,0.94889998435974121,0 +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.053444488601664397,0.053444497296591398,0.38629999756813049,0 +coef_presence_of_pre_school_kid_and_escorting_tour,1.725644687339964,1.7256441682495762,2.1465001106262207,0 +coef_presence_of_pre_school_kid_and_maintenance_tour,-0.5795847743089354,-0.57958494820750939,0.96939998865127563,0 +coef_presence_of_pre_school_kid_and_shopping_tour,0.45827102667224523,0.45827002311694837,1.3135000467300415,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-2.0326667193288683,-2.0326652307764594,-0.99610000848770142,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.71238012908852999,-0.71237818006976983,-1.9096000194549561,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.20193836611977739,-0.201935994121831,-2.8468999862670898,0 +coef_presence_of_university_student_and_discretionary_tour,0.066507097009832913,0.066507630930055919,-0.65420001745223999,0 +coef_presence_of_university_student_and_eating_out_tour,-0.42018064953666173,-0.42018066679895533,-0.65289998054504395,0 +coef_total_number_of_tours_is_1,-8.6552470544456295,-8.6552472298372294,-6.2137999534606934,0 +coef_total_number_of_tours_is_2,-11.339670857033484,-11.33967023685339,-8.9079999923706055,0 +coef_total_number_of_tours_is_3,-14.129960972164627,-14.129960682683405,-12.32610034942627,0 +coef_total_number_of_tours_is_4,-17.475109164095372,-17.475108877724633,-15.811400413513184,0 +coef_transit_access_to_retail_and_discretionary,0,0,0,0 +coef_transit_access_to_retail_and_maintenance,0.25155766645491617,0.25155779901079267,0.031399998813867569,0 +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.20940431632076822,0.20940454322004187,0.066399998962879181,0 +coef_urban_and_discretionary_tour,-1.5830257994345194,-1.5830251531049353,0.95630002021789551,0 +coef_urban_and_eatingout_tour,-15.234417103609095,-15.234413376446975,0.68000000715255737,0 +coef_urban_and_escorting_tour,0.72536698170688063,0.72536687882384698,0.85159999132156372,0 +coef_urban_and_maintenance_tour,0.32714212462203368,0.32714151482178866,1.0315999984741211,0 +coef_urban_and_shopping_tour,0.65570145569778049,0.65570112049073548,0.53299999237060547,0 +coef_urban_and_tour_frequency_is_1,-3.606247148859373,-3.6062473242509725,-1.1648000478744507,0 +coef_urban_and_tour_frequency_is_2,-4.7493707738730677,-4.7493701536929747,-2.3176999092102051,0 +coef_urban_and_tour_frequency_is_5_plus,-5.9702694637288616,-5.9702688878768999,-2.5027000904083252,0 +coef_walk_access_to_retail_and_shopping,0.10528331492362221,0.1052833269153322,0.097199998795986176,0 +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,-1.8969002612948864,-1.8972809252170171,-0.06289999932050705,0 +coef_1_plus_eating_out_tours_constant,-2.0443889188163173,-2.0448333669216079,-0.1429000049829483,0 +coef_1_plus_maintenance_tours_constant,-7.7254359495798148,-7.7270897339714733,-0.065300002694129944,0 +coef_1_plus_other_discretionary_tours_constant,-2.0647872487949561,-2.0651921993347462,0.33340001106262207,0 +coef_1_plus_shopping_tours_constant,-1.282411214400667,-1.2827907558560692,0.46830001473426819,0 +coef_1_plus_visting_tours_constant,-2.1187265722127613,-2.119130128830065,-0.12720000743865967,0 +coef_2_plus_escort_tours_constant,-3.4882178837837579,-3.4889221159472918,0.92729997634887695,0 +coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.83394458908199209,-0.83391904211683632,-1.1480000019073486,0 +coef_at_home_pre_school_kid_and_eating_out_tour,0.6315649245505468,0.63153544170594222,-0.39259999990463257,0 +coef_at_home_pre_school_kid_and_escorting_tour,-0.08455563088757391,-0.084558517582898715,-0.13729999959468842,0 +coef_auto_access_to_retail_and_maintenance,0.67210093938356752,0.67223833895969887,0.095600001513957977,0 +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0.22076749188228875,0.22093605520065349,-0.36230000853538513,0 +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.9349732023831957,-0.93482141743941694,-1.2719999551773071,0 +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-2.0213316139356832,-2.0212701718601216,-1.9306999444961548,0 +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,3.5090722695093683,3.5095724879606411,0.77380001544952393,0 +coef_female_and_maintenance_tour,-0.24827336118817248,-0.24851003473203095,-0.24639999866485596,0 +coef_female_and_tour_frequency_is_1,0.55537913022754337,0.55558571844411853,0.39019998908042908,0 +coef_female_and_tour_frequency_is_2,0.4700121436993433,0.47033652415332988,0.53229999542236328,0 +coef_female_and_tour_frequency_is_3,1.0935778897473212,1.0937278933542067,0.74519997835159302,0 +coef_female_and_tour_frequency_is_5,2.1058304843489379,2.1060351207036332,1.1294000148773193,0 +coef_high_income_group_and_discretionary_tour,0.53542200030194598,0.53532544473639576,0.88459998369216919,0 +coef_high_income_group_and_eating_out_tour,1.5430004952789953,1.5430357486801614,0.70859998464584351,0 +coef_high_income_group_and_shopping_tour,0.72248005627607348,0.72246863725799271,0.97759997844696045,0 +coef_high_income_group_and_tour_frequency_is_2,4.8659060743107148,4.8667865382550879,1.0633000135421753,0 +coef_high_income_group_and_tour_frequency_is_3,5.1569073742137981,5.1577005315354292,1.7741999626159668,0 +coef_high_income_group_and_tour_frequency_is_5_plus,5.5695995714955888,5.5703869156647645,2.3940999507904053,0 +coef_high_income_group_and_visiting_tour,-0.55652923789707232,-0.55654488685220238,-0.94489997625350952,0 +coef_logged_maximum_residual_window_tour_frequency_is_1,6.8143657923425485,6.815671298679093,1.763700008392334,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,7.4778936905915021,7.4792750296860024,1.7927999496459961,0 +coef_mediumhigh_income_group_and_discretionary_tour,0.19484718211939026,0.1949087350001007,0.50089997053146362,0 +coef_mediumhigh_income_group_and_eating_out_tour,-0.17900832259277194,-0.17895101978739814,0.46309998631477356,0 +coef_mediumhigh_income_group_and_shopping_tour,1.2056310249094397,1.2056460380629153,0.89060002565383911,0 +coef_mediumhigh_income_group_and_tour_frequency_is_1,6.1357755555537432,6.1368619389686074,0.74260002374649048,0 +coef_mediumhigh_income_group_and_tour_frequency_is_2,5.6203221150091016,5.621312928169897,0.85460001230239868,0 +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,5.902275082711002,5.9033024674122805,1.0792000293731689,0 +coef_mediumhigh_income_group_and_visiting_tour,0.0072888420909105259,0.0072425497797064513,-0.2669999897480011,0 +coef_mediumlow_income_group_and_discretionary_tour,-0.29540295644751735,-0.29532964571554288,0.17069999873638153,0 +coef_mediumlow_income_group_and_eating_out_tour,0.65802264858986625,0.65793719500149939,0.27660000324249268,0 +coef_mediumlow_income_group_and_shopping_tour,0.5503864174305747,0.55034836543703713,0.77340000867843628,0 +coef_mediumlow_income_group_and_tour_frequency_is_1,3.6362917244942166,3.6370680682721321,0.57090002298355103,0 +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,3.8030230281375874,3.8037930038540892,0.83149999380111694,0 +coef_number_of_joint_eating_out_tours,-5.7578659480764109,-5.7590292220149779,-0.77270001173019409,0 +coef_number_of_joint_shopping_tours,-10.86032878033782,-10.862820539578552,-0.23909999430179596,0 +coef_number_of_joint_tours_and_tour_frequency_is_1,-3.5806784726726657,-3.5814001794995587,-0.16990000009536743,0 +coef_number_of_joint_tours_and_tour_frequency_is_2,-5.1193513695195279,-5.1202366413321725,-0.42849999666213989,0 +coef_number_of_joint_tours_and_tour_frequency_is_3,-4.6446726603410955,-4.6456045066231875,-0.65509998798370361,0 +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-4.8470304959707029,-4.8478742633711249,-1.041100025177002,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.67659997940063477,-0.67659997940063477,-0.67659997940063477,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.051800012588501,-1.051800012588501,-1.051800012588501,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,-999,-999,0 +coef_presence_of_full_time_worker_and_eating_out_tour,-1.3129272099813087,-1.3129546317286533,-0.4666999876499176,0 +coef_presence_of_full_time_worker_and_escorting_tour,0.34977167501271478,0.3497410147889421,0.39469999074935913,0 +coef_presence_of_non_worker_and_eating_out_tour,-0.40015678475147548,-0.40015646938307892,-0.49759998917579651,0 +coef_presence_of_non_worker_and_tour_frequency_is_1,1.2564012158056577,1.2568441721992365,-0.37630000710487366,0 +coef_presence_of_non_worker_and_tour_frequency_is_2,1.0428547824447958,1.0433986649176088,-0.71899998188018799,0 +coef_presence_of_non_worker_and_tour_frequency_is_5,1.6729377444156812,1.673362537920315,-1.0228999853134155,0 +coef_presence_of_part_time_worker_and_discretionary_tour,-0.46853620786950861,-0.46851175171192849,-0.35449999570846558,0 +coef_presence_of_part_time_worker_and_escorting_tour,-0.91620401760820491,-0.91626917282183395,-0.58609998226165771,0 +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.645226868283342,1.6452028413894657,1.3773000240325928,0 +coef_presence_of_pre_school_kid_and_escorting_tour,0.73413015866674558,0.73411877105653434,0.71939998865127563,0 +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-4.2717006949434637,-4.2727718042560454,0.14859999716281891,0 +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-4.1531060929831938,-4.1542847014169757,0.48399999737739563,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-4.0092293410093136,-4.0100024764367959,-0.71609997749328613,0 +coef_presence_of_retiree_and_eating_out_tour,-0.98695379970331221,-0.98695373145616694,-0.69110000133514404,0 +coef_presence_of_retiree_and_tour_frequency_is_1,2.3328682638704601,2.3340717788338958,-0.46399998664855957,0 +coef_presence_of_retiree_and_tour_frequency_is_5,2.2895526967814139,2.2902926082161419,-0.47949999570846558,0 +coef_total_number_of_tours_is_1,-14.862387943118435,-14.863701190898123,-8.979100227355957,0 +coef_total_number_of_tours_is_2,-15.76114107396082,-15.762046562760142,-12.024800300598145,0 +coef_total_number_of_tours_is_3,-17.754112538361621,-17.754634820463089,-14.85159969329834,0 +coef_total_number_of_tours_is_4,-18.779593636700369,-18.779689721119343,-17.703699111938477,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_walk_access_to_retail_and_discretionary,0.21083331596043739,0.21082887854988322,0.07720000296831131,0 +coef_walk_access_to_retail_and_shopping,0.042414728322429048,0.042410061719515363,0.059799998998641968,0 +coef_walk_access_to_retail_and_tour_frequency_is_1,-0.73146719824169415,-0.73175969660042617,0.071299999952316284,0 +coef_walk_access_to_retail_and_tour_frequency_is_2,-0.6224679003604594,-0.62275823201236125,0.12559999525547028,0 +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,-0.48317718182460601,-0.48343535149985983,0.15080000460147858,0 +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,-1.3838956479528135,-1.3838955598311522,-0.39919999241828918,0 +coef_1_plus_eating_out_tours_constant,-1.2251820468944299,-1.2251815896798568,0.024499999359250069,0 +coef_1_plus_maintenance_tours_constant,-0.9467390901603373,-0.94673868292188801,0.10459999740123749,0 +coef_1_plus_other_discretionary_tours_constant,-0.95705700168035457,-0.95705640502785616,0.42820000648498535,0 +coef_1_plus_shopping_tours_constant,-0.56851096405906976,-0.56851065297640646,0.59469997882843018,0 +coef_1_plus_visting_tours_constant,-0.99997515158264494,-0.99997480861181898,0.27889999747276306,0 +coef_2_plus_escort_tours_constant,-2.2472239741783695,-2.2472230312575778,0.51749998331069946,0 +coef_car_surplus_vs_workers_and_tour_frequency_is_1,2.6263187421217502,2.6263182643290257,0.79650002717971802,0 +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,3.0138266039361694,3.0138263991996164,2.1301999092102051,0 +coef_female_and_discretionary_tour,0.57421820949821378,0.57421776265903679,0.49540001153945923,0 +coef_female_and_maintenance_tour,0.7032371772890682,0.70323730968090981,0.74239999055862427,0 +coef_female_and_shopping_tour,0.60749249967525931,0.60749236436044163,0.96880000829696655,0 +coef_female_and_tour_frequency_is_1,-2.3057887932980217,-2.3057879644985477,-0.93480002880096436,0 +coef_female_and_tour_frequency_is_2,-2.5245735788315185,-2.5245730541075631,-1.3028000593185425,0 +coef_female_and_tour_frequency_is_5,-3.9777594453014777,-3.9777585979711256,-2.2660000324249268,0 +coef_high_income_group_and_discretionary_tour,0.96176887062837879,0.9617690305973885,1.0095000267028809,0 +coef_high_income_group_and_eating_out_tour,1.6107399863189256,1.6107399132659015,1.4842000007629395,0 +coef_high_income_group_and_maintenance_tour,0.99860462074351897,0.99860457400478175,1.3795000314712524,0 +coef_high_income_group_and_shopping_tour,1.0955552497273626,1.0955552433296207,1.0949000120162964,0 +coef_high_income_group_and_visiting_tour,-0.62823584789675457,-0.62823569014018499,-0.51370000839233398,0 +coef_logged_maximum_residual_window_tour_frequency_is_1,2.0411409487638097,2.0411408722900823,1.8357000350952148,0 +coef_logged_maximum_residual_window_tour_frequency_is_2,5.0543518983412508,5.0543512662707899,2.2706999778747559,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,5.1028111260779792,5.1028109074006487,4.4022998809814453,0 +coef_mediumhigh_income_group_and_eating_out_tour,0.9601832770329618,0.96018319037111421,1.1809999942779541,0 +coef_mediumhigh_income_group_and_maintenance_tour,0.46026894334674823,0.46026867052213322,0.76480001211166382,0 +coef_mediumhigh_income_group_and_visiting_tour,-0.47448562479929113,-0.47448576085276917,-0.43680000305175781,0 +coef_mediumlow_income_group_and_eating_out_tour,0.8587186097762155,0.85871850010116635,0.97689998149871826,0 +coef_number_of_joint_shopping_tours,-0.34163048458137285,-0.34163086120064357,-0.80720001459121704,0 +coef_number_of_joint_tours_and_tour_frequency_is_2,-7.40575378545664,-7.4057519268091907,-0.94999998807907104,0 +coef_number_of_joint_tours_and_tour_frequency_is_3,-8.2528437399202961,-8.2528434839801079,-7.1430001258850098,0 +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,-999,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0195999145507812,-5.0195999145507812,-5.0195999145507812,0 +coef_presence_of_full_time_worker_and_discretionary_tour,-0.32502706520068697,-0.3250272176315594,-0.48350000381469727,0 +coef_presence_of_full_time_worker_and_shopping_tour,-0.18718310533550805,-0.18718290004050162,-0.36090001463890076,0 +coef_presence_of_non_worker_and_discretionary_tour,-0.080381601681135048,-0.080381489052422414,-0.56029999256134033,0 +coef_presence_of_non_worker_and_eating_out_tour,-0.71343718792066768,-0.71343705083784981,-0.78799998760223389,0 +coef_presence_of_non_worker_and_tour_frequency_is_1,1.3664318707961971,1.3664313016982996,0.22400000691413879,0 +coef_presence_of_non_worker_and_tour_frequency_is_2,1.5541568438314686,1.5541565822514429,0.24359999597072601,0 +coef_presence_of_non_worker_and_tour_frequency_is_3,2.3378066705431362,2.3378063973066343,0.62000000476837158,0 +coef_presence_of_non_worker_and_tour_frequency_is_5,3.886799486754084,3.8867989469114872,3.3742001056671143,0 +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.6990307296529008,1.6990305339512453,1.4903000593185425,0 +coef_presence_of_pre_school_kid_and_escorting_tour,0.64317839301043844,0.64317845433272425,0.50269997119903564,0 +coef_presence_of_retiree_and_eating_out_tour,-0.93915814650169016,-0.93915820457557886,-0.92820000648498535,0 +coef_presence_of_retiree_and_tour_frequency_is_1,0.53309324048384155,0.53309327034571541,-0.44580000638961792,0 +coef_presence_of_retiree_and_tour_frequency_is_5,0.15143338882997009,0.15143298802740426,-0.53149998188018799,0 +coef_total_number_of_tours_is_1,-12.29669710898526,-12.296696353770589,-8.5684003829956055,0 +coef_total_number_of_tours_is_2,-14.366430853959836,-14.366430219226835,-12.741600036621094,0 +coef_total_number_of_tours_is_3,-15.470851663726473,-15.47085200579302,-15.097800254821777,0 +coef_total_number_of_tours_is_4,-16.697442099429654,-16.697442489781661,-19.543899536132812,0 +coef_total_number_of_tours_is_5,-23.975944547216859,-23.975943616807008,-20.789699554443359,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.50908621780365026,0.50908614236387195,0.061599999666213989,0 +coef_0_auto_household_and_escorting_tour,-2.4007662488833401,-2.4007662488833401,-2,0 +coef_1_escort_tour_constant,-11.100045881453859,-11.100045881453859,-0.49340000748634338,0 +coef_1_plus_eating_out_tours_constant,-12.674000548814972,-12.674000548814972,-0.024199999868869781,0 +coef_1_plus_maintenance_tours_constant,1.4021937042970116,1.4021937042970116,-0.43439999222755432,0 +coef_1_plus_other_discretionary_tours_constant,-2.4760858637499221,-2.4760858637499221,-0.26019999384880066,0 +coef_1_plus_shopping_tours_constant,5.1109144099794959,5.1109144099794959,0.53200000524520874,0 +coef_1_plus_visting_tours_constant,5.1132912897133904,5.1132912897133904,0.23669999837875366,0 +coef_2_plus_escort_tours_constant,-4.7231718945294894,-4.7231718945294894,1.4155000448226929,0 +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,-2.8928262121700787,-2.8928262121700787,0.10040000081062317,0 +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-23.462489242832998,-23.462489242832998,-0.63690000772476196,0 +coef_car_surplus_vs_workers_and_tour_frequency_is_1,-11.054245969090358,-11.054245969090358,0.29019999504089355,0 +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,26.810453753037919,26.810453753037919,2.0352001190185547,0 +coef_high_income_group_and_discretionary_tour,9.3746353630306327,9.3746353630306327,2.3269999027252197,0 +coef_high_income_group_and_eating_out_tour,-8.894067988889379,-8.894067988889379,0.49160000681877136,0 +coef_high_income_group_and_maintenance_tour,-0.37810556759048242,-0.37810556759048242,0.39820000529289246,0 +coef_high_income_group_and_shopping_tour,-0.46662150365308386,-0.46662150365308386,0.2442999929189682,0 +coef_high_income_group_and_visiting_tour,-0.46885622247201569,-0.46885622247201569,0.28580000996589661,0 +coef_logged_maximum_residual_window_tour_frequency_is_1,15.538672905979983,15.538672905979983,1.329800009727478,0 +coef_logged_maximum_residual_window_tour_frequency_is_2,-15.31294086052077,-15.31294086052077,1.3759000301361084,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,-2.8783154540415228,-2.8783154540415228,3.2808001041412354,0 +coef_mediumhigh_income_group_and_discretionary_tour,2.8464215562810216,2.8464215562810216,1.4049999713897705,0 +coef_mediumlow_income_group_and_discretionary_tour,-7.8393223758039596,-7.8393223758039596,0.91689997911453247,0 +coef_number_of_joint_tours_and_tour_frequency_is_1,-6.5374366056093152,-6.5374366056093152,-0.21619999408721924,0 +coef_number_of_joint_tours_and_tour_frequency_is_2,-4.4265938354565844,-4.4265938354565844,-0.35870000720024109,0 +coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2928228670338138,-4.2928228670338138,-4.2701001167297363,0 +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,-999,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-20.768569059727319,-20.768569059727319,-0.23399999737739563,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_2,13.166961657521094,13.166961657521094,-0.92309999465942383,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-9.1884865390771271,-9.1884865390771271,-6.5834999084472656,0 +coef_presence_of_driving_school_kid_and_discretionary_tour,-1.5287699271825661,-1.5287699271825661,-0.92019999027252197,0 +coef_presence_of_driving_school_kid_and_eating_out_tour,-0.67899286342910536,-0.67899286342910536,-0.63770002126693726,0 +coef_presence_of_non_worker_and_tour_frequency_is_2,7.8203518915786985,7.8203518915786985,-0.65710002183914185,0 +coef_presence_of_non_worker_and_tour_frequency_is_5,-2.3380879397360088,-2.3380879397360088,-1.4043999910354614,0 +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-2.8548975360289837,-2.8548975360289837,-1.5698000192642212,0 +coef_presence_of_pre_school_kid_and_eating_out_tour,-1.1155840296979183,-1.1155840296979183,-0.2987000048160553,0 +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,7.9990670481874249,7.9990670481874249,-0.32190001010894775,0 +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,9.8647248326504506,9.8647248326504506,-1.087399959564209,0 +coef_presence_of_university_student_and_discretionary_tour,4.5866749933879518,4.5866749933879518,-1.2834000587463379,0 +coef_total_number_of_tours_is_1,5.7323576505278915,5.7323576505278915,-7.1505999565124512,0 +coef_total_number_of_tours_is_2,-13.716885058175075,-13.716885058175075,-11.121399879455566,0 +coef_total_number_of_tours_is_3,-24.558188200243801,-24.558188200243801,-13.175000190734863,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_urban_and_maintenance_tour,2.8759936780232791,2.8759936780232791,1.0393999814987183,0 +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,-0.80019821892406418,-0.80019821892406418,-0.75510001182556152,0 +coef_1_plus_eating_out_tours_constant,-2.2137830257191138,-2.2137830257191138,1.1145000457763672,0 +coef_1_plus_maintenance_tours_constant,-0.87384629825268301,-0.87384629825268301,-0.50599998235702515,0 +coef_1_plus_other_discretionary_tours_constant,0.6794818887801406,0.6794818887801406,0.46340000629425049,0 +coef_1_plus_shopping_tours_constant,1.9914236119221842,1.9914236119221842,0.47830000519752502,0 +coef_1_plus_visting_tours_constant,-1.1732951429240632,-1.1732951429240632,-0.40059998631477356,0 +coef_2_plus_escort_tours_constant,-0.52085404537857938,-0.52085404537857938,-0.0086000002920627594,0 +coef_auto_access_to_retail_and_escorting,0.14995921405552753,0.14995921405552753,0.06289999932050705,0 +coef_high_income_group_and_eating_out_tour,-1.2746622030953361,-1.2746622030953361,-0.70099997520446777,0 +coef_high_income_group_and_shopping_tour,-3.6565535610834519,-3.6565535610834519,-0.65060001611709595,0 +coef_high_income_group_and_tour_frequency_is_5_plus,8.6597646574930796,8.6597646574930796,2.0174999237060547,0 +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.56299641940097,1.56299641940097,1.5602999925613403,0 +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,7.735469931243947,7.735469931243947,1.5197000503540039,0 +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,6.8720130507569017,6.8720130507569017,1.0872999429702759,0 +coef_number_of_joint_maintenance_tours,-1.347599983215332,-1.347599983215332,-1.347599983215332,0 +coef_number_of_joint_tours_and_tour_frequency_is_2,-1.2555358714256173,-1.2555358714256173,-0.61489999294281006,0 +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,-999,-999,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-5.0803581001504661,-5.0803581001504661,-1.0331000089645386,0 +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.8935586600908669,-5.8935586600908669,-2.7444999217987061,0 +coef_presence_of_full_time_worker_and_discretionary_tour,0.19647967582561615,0.19647967582561615,0.75260001420974731,0 +coef_presence_of_non_worker_and_eating_out_tour,-1.3548917345809393,-1.3548917345809393,-1.3073999881744385,0 +coef_presence_of_non_worker_and_shopping_tour,-1.3398609967955151,-1.3398609967955151,-0.64499998092651367,0 +coef_presence_of_non_worker_and_tour_frequency_is_5,-0.42351455281362266,-0.42351455281362266,0.21770000457763672,0 +coef_presence_of_part_time_worker_and_discretionary_tour,-0.33314199741532502,-0.33314199741532502,0.37209999561309814,0 +coef_presence_of_pre_driving_school_kid_and_shopping_tour,1.4440737444047911,1.4440737444047911,0.93650001287460327,0 +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.29958946114398161,0.29958946114398161,-0.22640000283718109,0 +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0.32067429398079011,0.32067429398079011,-0.44389998912811279,0 +coef_total_number_of_tours_is_1,-9.4531005722326533,-9.4531005722326533,-7.486299991607666,0 +coef_total_number_of_tours_is_2,-11.996770119024941,-11.996770119024941,-10.718000411987305,0 +coef_total_number_of_tours_is_3,-13.550028148803801,-13.550028148803801,-13.788399696350098,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_urban_and_escorting_tour,-0.6344062915018166,-0.6344062915018166,0.43520000576972961,0 +coef_walk_access_to_retail_and_eating_out,0.48030056947070726,0.48030056947070726,0.073799997568130493,0 +coef_0_auto_household_and_escorting_tour,-2,-2,-2,0 +coef_1_escort_tour_constant,0.39617684877862708,0.39617684877862708,0.36219999194145203,0 +coef_1_plus_eating_out_tours_constant,1.4990449238097932,1.4990449238097932,0.96119999885559082,0 +coef_1_plus_maintenance_tours_constant,0.71287833893706021,0.71287833893706021,0.67879998683929443,0 +coef_1_plus_other_discretionary_tours_constant,1.7799792001679569,1.7799792001679569,1.4934999942779541,0 +coef_1_plus_shopping_tours_constant,2.0942830938898398,2.0942830938898398,1.6919000148773193,0 +coef_1_plus_visting_tours_constant,0.62786207413189388,0.62786207413189388,0.4424000084400177,0 +coef_2_plus_escort_tours_constant,2.1826221262636776,2.1826221262636776,2.2218999862670898,0 +coef_discretionary_tour,1.1894792030289798,1.1894792030289798,0.90299999713897705,0 +coef_escorting_tour,2.4464210738878447,2.4464210738878447,2.4909999370574951,0 +coef_maintenance_tour,1.0560783072750726,1.0560783072750726,1.0219999551773071,0 +coef_presence_of_full_time_worker_and_escorting_tour,-0.6300922367614431,-0.6300922367614431,-0.89300000667572021,0 +coef_presence_of_non_worker_and_discretionary_tour,-0.0080480967981517125,-0.0080480967981517125,0.79100000858306885,0 +coef_presence_of_non_worker_and_eating_out_tour,1.1025455434303448,1.1025455434303448,1.156999945640564,0 +coef_presence_of_non_worker_and_escorting_tour,0.86673078874996601,0.86673078874996601,0.88999998569488525,0 +coef_presence_of_non_worker_and_shopping_tour,0.20878201493509621,0.20878201493509621,0.80800002813339233,0 +coef_presence_of_part_time_worker_and_eating_out_tour,1.3767801830490909,1.3767801830490909,1.0369999408721924,0 +coef_presence_of_part_time_worker_and_shopping_tour,1.0143615015555587,1.0143615015555587,1.1549999713897705,0 +coef_total_number_of_tours_is_1,-5.7103540103201968,-5.7103540103201968,-5.7589998245239258,0 +coef_total_number_of_tours_is_2,-11.596952013557841,-11.596952013557841,-11.517000198364258,0 +coef_total_number_of_tours_is_3,-16.568257064319742,-16.568257064319742,-17.275999069213867,0 +coef_total_number_of_tours_is_4,-23.18757470591768,-23.18757470591768,-23.034999847412109,0 +coef_total_number_of_tours_is_6_plus,-999,-999,-999,0 +coef_urban_and_discretionary_tour,0,0,0,0 +coef_visiting_or_social_tour,0.95446205949299312,0.95446205949299312,0.76899999380111694,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq_loglike.csv index 7e2418fafd..9dea4a6b40 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_nonmand_tour_freq_loglike.csv @@ -1,9 +1,9 @@ ,loglike_prior,loglike_converge -0,-36.842915290359244,-13.427352349597697 -1,-1867.7130849406183,-1831.0744991065408 -2,-1076.3668030822264,-1038.9605638228181 -3,-877.44304962652359,-856.8595081575636 -4,-230.6429613110198,-225.00971520122775 -5,-806.81758251120061,-787.40004316431327 -6,-277.18561139007045,-256.78783280769073 -7,-358.3650717429976,-324.85841724064665 +0,-36.842915240821576,-13.63752199393485 +1,-1867.7130819595852,-1832.6445382071518 +2,-1076.3667995930466,-1039.2235240389089 +3,-877.44304860975865,-856.98760672658591 +4,-230.64296021604497,-225.07312798066818 +5,-806.81757896884028,-787.83786863094554 +6,-277.18561178415462,-256.90644089706086 +7,-358.36507163326337,-324.9104211327566 diff --git a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_atwork_subtour_scheduling_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_atwork_subtour_scheduling_SLSQP_.csv deleted file mode 100644 index 1e5284852c..0000000000 --- a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_atwork_subtour_scheduling_SLSQP_.csv +++ /dev/null @@ -1,50 +0,0 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_am_peak_end,-1.3731693426269276,-2.928312295,0,-25,25,-1.3731693426269276 -coef_am_peak_start_at_6,-20.592813760446127,-6.1567178269999996,0,-25,25,-20.592813760446127 -coef_am_peak_start_at_7,-2.8269839190766564,-4.0617081419999996,0,-25,25,-2.8269839190766564 -coef_am_peak_start_at_8,-1.1965282925054144,-2.330535201,0,-25,25,-1.1965282925054144 -coef_am_peak_start_at_9,-1.6198974929815253,-1.881593386,0,-25,25,-1.6198974929815253 -coef_dummy_for_business_related_purpose_and_duration_from_0_to_1,-0.66312907740821159,-1.5429999999999999,0,-25,25,-0.66312907740821159 -coef_dummy_for_eating_out_purpose_and_departure_at_11,1.1518273421311946,1.5109999999999999,0,-25,25,1.1518273421311946 -coef_dummy_for_eating_out_purpose_and_departure_at_12,2.6254363230451085,2.7210000000000001,0,-25,25,2.6254363230451085 -coef_dummy_for_eating_out_purpose_and_departure_at_13,2.36098076410833,2.1219999999999999,0,-25,25,2.36098076410833 -coef_dummy_for_eating_out_purpose_and_duration_of_1_hour,0.31040519075637613,0.39989999999999998,0,-25,25,0.31040519075637613 -coef_duration_of_0_hours,9.9599848609439601,-0.90668151200000002,0,-25,25,9.9599848609439601 -coef_duration_of_11_to_13_hours,-0.37405450634311865,0.29999999999999999,0,-25,25,-0.37405450634311865 -coef_duration_of_14_to_18_hours,0,0,0,0,0,0 -coef_duration_of_1_hour,0,0,0,0,0,0 -coef_duration_of_2_to_3_hours,9.1812833977279276,-1.3621758020000001,0,-25,25,9.1812833977279276 -coef_duration_of_4_to_5_hours,-0.48314094706644228,-0.81961761600000005,0,-25,25,-0.48314094706644228 -coef_duration_of_6_to_7_hours,10.535613300026082,1.088111072,0,-25,25,10.535613300026082 -coef_duration_of_8_to_10_hours,10.402182684572614,1.734038505,0,-25,25,10.402182684572614 -coef_duration_shift_for_business_related_,0.60004385998820309,0.2646,0,-25,25,0.60004385998820309 -coef_duration_shift_for_first_sub_tour_of_same_work_tour,0.31988469057309121,-0.3992,0,-25,25,0.31988469057309121 -coef_duration_shift_for_inbound_auto_travel_time_off_peak,-0.11857498443158188,0.0098099999999999993,0,-25,25,-0.11857498443158188 -coef_duration_shift_for_number_of_individual_nonmandatory_tours,0.0098944086043264642,-0.042200000000000001,0,-25,25,0.0098944086043264642 -coef_duration_shift_for_number_of_joint_tours,-0.57768141215671864,-0.24970000000000001,0,-25,25,-0.57768141215671864 -coef_duration_shift_for_number_of_mandatory_tours,-1.0587875726336362,-0.7702,0,-25,25,-1.0587875726336362 -coef_duration_shift_for_outbound_auto_travel_time_off_peak,0.1453238873904982,0.0098099999999999993,0,-25,25,0.1453238873904982 -coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour,-10.333603350935554,-0.18440000000000001,0,-25,25,-10.333603350935554 -coef_early_end_at_5_6,-25,-2.928312295,0,-25,25,-25 -coef_early_start_at_5,-2.2040675056867611,-7.7655484760000002,0,-25,25,-2.2040675056867611 -coef_evening_end_at_19_20_21,-4.5210371252389265,-2.3199822600000002,0,-25,25,-4.5210371252389265 -coef_evening_start_at_19_20_21,-0.32574110086394298,-1.015090023,0,-25,25,-0.32574110086394298 -coef_late_end_at_22_23,-11.516564630810274,-2.3199822600000002,0,-25,25,-11.516564630810274 -coef_late_start_at_22_23,-5.1429250271310103,-0.73757005399999997,0,-25,25,-5.1429250271310103 -coef_midday_end_at_10_11_12,-1.3051956922349568,-2.2972643740000001,0,-25,25,-1.3051956922349568 -coef_midday_end_at_13_14,0,0,0,0,0,0 -coef_midday_start_at_10_11_12,0,0,0,0,0,0 -coef_midday_start_at_13_14_15,-1.0515620376346457,-0.77502157999999999,0,-25,25,-1.0515620376346457 -coef_pm_peak_end_at_15,-1.4329808631274803,-0.57834445700000003,0,-25,25,-1.4329808631274803 -coef_pm_peak_end_at_16,-2.0551088799651303,-1.09408722,0,-25,25,-2.0551088799651303 -coef_pm_peak_end_at_17,-2.4042523970600072,-1.1658466000000001,0,-25,25,-2.4042523970600072 -coef_pm_peak_end_at_18,-3.5003721078254548,-1.4961310809999999,0,-25,25,-3.5003721078254548 -coef_pm_peak_start_at_16_17_18,-0.7985883513777744,-0.227528489,0,-25,25,-0.7985883513777744 -coef_start_shift_for_business_related_,-0.083357458155514152,-0.1113,0,-25,25,-0.083357458155514152 -coef_start_shift_for_first_sub_tour_of_same_work_tour,-0.16832429973206386,-0.54330000000000001,0,-25,25,-0.16832429973206386 -coef_start_shift_for_inbound_auto_travel_time_off_peak,-0.09901878555282706,0.00064999999999999997,0,-25,25,-0.09901878555282706 -coef_start_shift_for_number_of_individual_nonmandatory_tours,0.026776673811965086,-0.012800000000000001,0,-25,25,0.026776673811965086 -coef_start_shift_for_number_of_joint_tours,-0.019721699715671427,-0.0206,0,-25,25,-0.019721699715671427 -coef_start_shift_for_number_of_mandatory_tours,0.059018046122538706,-0.019300000000000001,0,-25,25,0.059018046122538706 -coef_start_shift_for_outbound_auto_travel_time_off_peak,0.10034873691181434,0.00064999999999999997,0,-25,25,0.10034873691181434 -coef_start_shift_for_subsequent_sub_tour_of_same_work_tour,-0.36020623998165718,-0.18440000000000001,0,-25,25,-0.36020623998165718 diff --git a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_joint_tour_scheduling_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_joint_tour_scheduling_SLSQP_.csv index 091e76401e..51f0e05222 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_joint_tour_scheduling_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_joint_tour_scheduling_SLSQP_.csv @@ -1,60 +1,60 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.028774249414067657,-0.025700000000000001,0,-25,25,-0.028774249414067657 -coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,0.91901966813332936,-0.02734,0,-25,25,0.91901966813332936 -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.03464166423412067,0.0084419999999999999,0,-25,25,0.03464166423412067 -coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,-18.311237242705495,-0.059299999999999999,0,-25,25,-18.311237242705495 -coef_adult_with_children_in_hh_arrive_19_21,0.04436348324103874,0.33600000000000002,0,-25,25,0.04436348324103874 -coef_arrival_constants_am_peak,4.7614100686980576,-8.7288800000000002,0,-25,25,4.7614100686980576 -coef_arrival_constants_early,24.924968513710187,-8.7288800000000002,0,-25,25,24.924968513710187 -coef_arrival_constants_evening,-4.3200714359409025,-2.7489400000000002,0,-25,25,-4.3200714359409025 -coef_arrival_constants_late,-9.6327188982749732,-4.2425300000000004,0,-25,25,-9.6327188982749732 -coef_arrival_constants_midday_1,0,0,0,0,0,0 -coef_arrival_constants_midday_2,2.6541662776744461,1.40804,0,-25,25,2.6541662776744461 -coef_arrival_constants_pm_peak_1,1.8388653479429438,1.0203599999999999,0,-25,25,1.8388653479429438 -coef_arrival_constants_pm_peak_2,1.4625561851708289,1.06863,0,-25,25,1.4625561851708289 -coef_arrival_constants_pm_peak_3,0,0,0,0,0,0 -coef_arrival_constants_pm_peak_4,-1.2333276504506303,-0.59626000000000001,0,-25,25,-1.2333276504506303 -coef_departure_constants_am_peak_1,-25,-11.595050000000001,0,-25,25,-25 -coef_departure_constants_am_peak_2,-4.2487039295223656,-9.0051900000000007,0,-25,25,-4.2487039295223656 -coef_departure_constants_am_peak_3,0.75112055157913948,-2.7331500000000002,0,-25,25,0.75112055157913948 -coef_departure_constants_am_peak_4,1.3921313310397618,0.26654,0,-25,25,1.3921313310397618 -coef_departure_constants_early,-24.394585604972157,-14.477080000000001,0,-25,25,-24.394585604972157 -coef_departure_constants_evening,-14.12448484303447,-18.987369999999999,0,-25,25,-14.12448484303447 -coef_departure_constants_late,-19.873640270611908,-20.27807,0,-25,25,-19.873640270611908 -coef_departure_constants_midday_1,0,0,0,0,0,0 -coef_departure_constants_midday_2,-4.3735430875047783,-1.6026,0,-25,25,-4.3735430875047783 -coef_departure_constants_pm_peak,-12.231456579430871,-17.695979999999999,0,-25,25,-12.231456579430871 -coef_destination_in_cbd_duration_shift_effects,0.56926682397665584,0.1067,0,-25,25,0.56926682397665584 -coef_discretionary_tour_duration_lt_2_hours,-0.96979691863694628,-0.69740000000000002,0,-25,25,-0.96979691863694628 -coef_duration_constants_0_to_1_hours,-2.7866437326016174,-2.2282600000000001,0,-25,25,-2.7866437326016174 -coef_duration_constants_11_to_13_hours,-5.6834374392880065,-0.81518999999999997,0,-25,25,-5.6834374392880065 -coef_duration_constants_14_to_18_hours,-2.7347130621577005,-2.7384400000000002,0,-25,25,-2.7347130621577005 -coef_duration_constants_2_to_3_hours,0,0,0,0,0,0 -coef_duration_constants_4_to_5_hours,0.35927958946513583,-0.56174000000000002,0,-25,25,0.35927958946513583 -coef_duration_constants_6_to_7_hours,0.25829995673545386,-0.65547,0,-25,25,0.25829995673545386 -coef_duration_constants_8_to_10_hours,-10.443272918037978,-0.74061999999999995,0,-25,25,-10.443272918037978 -coef_eat_out_tour_departure_shift_effects,-0.026030105628492072,0.075490000000000002,0,-25,25,-0.026030105628492072 -coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-1.6735672025262123,-0.2364,0,-25,25,-1.6735672025262123 -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.016957888892283637,0.0031949999999999999,0,-25,25,0.016957888892283637 -coef_maintenance_tour_depart_before_7,1.1216498838609328,-0.88260000000000005,0,-25,25,1.1216498838609328 -coef_maintenance_tour_departure_shift_effects,-0.16045036076756827,-0.1489,0,-25,25,-0.16045036076756827 -coef_maintenance_tour_duration_shift_effects,-0.15774061753063057,-0.083720000000000003,0,-25,25,-0.15774061753063057 -coef_number_of_joint_tours_departure_shift_effects,1.3426208902212988,0.052080000000000001,0,-25,25,1.3426208902212988 -coef_number_of_mandatory_tours_departure_shift_effects,0.073116531424716663,0.046730000000000001,0,-25,25,0.073116531424716663 -coef_school_child_age_16_plus_departure_shift_effects,0.072660000000000002,0.072660000000000002,0,-25,25,0.072660000000000002 -coef_school_child_age_16_plus_duration_shift_effects,0.20949999999999999,0.20949999999999999,0,-25,25,0.20949999999999999 -coef_school_child_age_under_16_departure_shift_effects,0.22437768613209164,0.04657,0,-25,25,0.22437768613209164 -coef_school_child_age_under_16_duration_shift_effects,-0.55690620785460743,0.32719999999999999,0,-25,25,-0.55690620785460743 -coef_school_child_under_16_arrive_after_22,-6.2179802555750401,-1.1799999999999999,0,-25,25,-6.2179802555750401 -coef_shopping_tour_arrive_after_22,-6.8841149173847738,-0.60270000000000001,0,-25,25,-6.8841149173847738 -coef_shopping_tour_depart_before_8,1.6329282274649815,-1.0369999999999999,0,-25,25,1.6329282274649815 -coef_shopping_tour_departure_shift_effects,-0.032901677188934476,-0.060150000000000002,0,-25,25,-0.032901677188934476 -coef_shopping_tour_duration_lt_2_hours,0.069480688387001235,0.51680000000000004,0,-25,25,0.069480688387001235 -coef_shopping_tour_duration_shift_effects,-0.41367749415560207,-0.1208,0,-25,25,-0.41367749415560207 -coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,0.46823426868427825,-0.3992,0,-25,25,0.46823426868427825 -coef_some_previously_scheduled_tour_ends_in_this_departure_hour,0.26003373330967577,-0.45619999999999999,0,-25,25,0.26003373330967577 -coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.015340339657372392,-0.1731,0,-25,25,-0.015340339657372392 -coef_unavailable,-999,-999,0,-999,-999,-999 -coef_university_student_arrive_after_22,-9.1734571378829219,0.54659999999999997,0,-25,25,-9.1734571378829219 -coef_visit_tour_departure_shift_effects,-0.11236540231411092,0.096879999999999994,0,-25,25,-0.11236540231411092 -coef_visit_tour_duration_shift_effects,-0.13492097024550309,0.1638,0,-25,25,-0.13492097024550309 +param_name,value,best,initvalue,nullvalue +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.025656219142801435,-0.025656219142801435,-0.025699999183416367,0 +coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,-0.025716469680719514,-0.025716469680719514,-0.027340000495314598,0 +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442354676521463,0.008442354676521463,0.0084419995546340942,0 +coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,-0.05935757810299315,-0.05935757810299315,-0.059300001710653305,0 +coef_adult_with_children_in_hh_arrive_19_21,0.5355161653253353,0.5355161653253353,0.335999995470047,0 +coef_arrival_constants_am_peak,-2.4250190851365487,-2.4250190851365487,-8.7288799285888672,0 +coef_arrival_constants_early,2.2958899169886267,2.2958899169886267,-8.7288799285888672,0 +coef_arrival_constants_evening,-3.3154480276617018,-3.3154480276617018,-2.7489399909973145,0 +coef_arrival_constants_late,-8.3307149468221589,-8.3307149468221589,-4.2425298690795898,0 +coef_arrival_constants_midday_1,0,0,0,0 +coef_arrival_constants_midday_2,1.5294906566988582,1.5294906566988582,1.4080400466918945,0 +coef_arrival_constants_pm_peak_1,1.2175035036665733,1.2175035036665733,1.020359992980957,0 +coef_arrival_constants_pm_peak_2,1.2998241903588883,1.2998241903588883,1.0686299800872803,0 +coef_arrival_constants_pm_peak_3,0,0,0,0 +coef_arrival_constants_pm_peak_4,-0.84944529895620147,-0.84944529895620147,-0.59626001119613647,0 +coef_departure_constants_am_peak_1,-24.483912895120231,-24.483912895120231,-11.595049858093262,0 +coef_departure_constants_am_peak_2,-17.791981333117047,-17.791981333117047,-9.0051898956298828,0 +coef_departure_constants_am_peak_3,-4.1499437678248832,-4.1499437678248832,-2.7331500053405762,0 +coef_departure_constants_am_peak_4,-0.2038777988755586,-0.2038777988755586,0.26653999090194702,0 +coef_departure_constants_early,-24.999999999999986,-24.999999999999986,-14.477080345153809,0 +coef_departure_constants_evening,-24.057955302201297,-24.057955302201297,-18.987369537353516,0 +coef_departure_constants_late,-25,-25,-20.278070449829102,0 +coef_departure_constants_midday_1,0,0,0,0 +coef_departure_constants_midday_2,-2.6945721193468217,-2.6945721193468217,-1.6025999784469604,0 +coef_departure_constants_pm_peak,-22.802101526690983,-22.802101526690983,-17.695980072021484,0 +coef_destination_in_cbd_duration_shift_effects,0.57637590919194726,0.57637590919194726,0.10670000314712524,0 +coef_discretionary_tour_duration_lt_2_hours,-1.2587487442550029,-1.2587487442550029,-0.69739997386932373,0 +coef_duration_constants_0_to_1_hours,-2.7292315354064538,-2.7292315354064538,-2.2282600402832031,0 +coef_duration_constants_11_to_13_hours,-16.641361610345623,-16.641361610345623,-0.81519001722335815,0 +coef_duration_constants_14_to_18_hours,-4.2019174642931754,-4.2019174642931754,-2.7384400367736816,0 +coef_duration_constants_2_to_3_hours,0,0,0,0 +coef_duration_constants_4_to_5_hours,0.041336040196562979,0.041336040196562979,-0.56173998117446899,0 +coef_duration_constants_6_to_7_hours,-0.28010083544612574,-0.28010083544612574,-0.65547001361846924,0 +coef_duration_constants_8_to_10_hours,-11.834841336602297,-11.834841336602297,-0.74062001705169678,0 +coef_eat_out_tour_departure_shift_effects,-0.191471104246424,-0.191471104246424,0.075489997863769531,0 +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.65914361514389619,-0.65914361514389619,-0.23639999330043793,0 +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.0103470192509738,0.0103470192509738,0.0031950001139193773,0 +coef_maintenance_tour_depart_before_7,-0.6995036880611385,-0.6995036880611385,-0.88260000944137573,0 +coef_maintenance_tour_departure_shift_effects,-0.51463329667967828,-0.51463329667967828,-0.14890000224113464,0 +coef_maintenance_tour_duration_shift_effects,-0.37483619241205374,-0.37483619241205374,-0.083719998598098755,0 +coef_number_of_joint_tours_departure_shift_effects,0.5518545554827089,0.5518545554827089,0.052080001682043076,0 +coef_number_of_mandatory_tours_departure_shift_effects,0.15108304860381977,0.15108304860381977,0.046730000525712967,0 +coef_school_child_age_16_plus_departure_shift_effects,0.072659999132156372,0.072659999132156372,0.072659999132156372,0 +coef_school_child_age_16_plus_duration_shift_effects,0.20949999988079071,0.20949999988079071,0.20949999988079071,0 +coef_school_child_age_under_16_departure_shift_effects,0.90140346155759687,0.90140346155759687,0.046569999307394028,0 +coef_school_child_age_under_16_duration_shift_effects,-0.36276804513883948,-0.36276804513883948,0.32719999551773071,0 +coef_school_child_under_16_arrive_after_22,-25,-25,-1.1799999475479126,0 +coef_shopping_tour_arrive_after_22,-16.816060937232734,-16.816060937232734,-0.60269999504089355,0 +coef_shopping_tour_depart_before_8,0.8484680406149383,0.8484680406149383,-1.0369999408721924,0 +coef_shopping_tour_departure_shift_effects,-0.35167841899554614,-0.35167841899554614,-0.06015000119805336,0 +coef_shopping_tour_duration_lt_2_hours,0.1873898983230104,0.1873898983230104,0.51679998636245728,0 +coef_shopping_tour_duration_shift_effects,-0.63534186935788817,-0.63534186935788817,-0.12080000340938568,0 +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.25327854790648219,-0.25327854790648219,-0.39919999241828918,0 +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.35052002043887132,-0.35052002043887132,-0.4562000036239624,0 +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.035834399723830755,-0.035834399723830755,-0.17309999465942383,0 +coef_unavailable,-999,-999,-999,0 +coef_university_student_arrive_after_22,-15.517205687701349,-15.517205687701349,0.54659998416900635,0 +coef_visit_tour_departure_shift_effects,-0.34370578081497799,-0.34370578081497799,0.096879996359348297,0 +coef_visit_tour_duration_shift_effects,-0.33210961592070104,-0.33210961592070104,0.16380000114440918,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_school_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_school_SLSQP_.csv index 93c03c449c..047fcd6a31 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_school_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_school_SLSQP_.csv @@ -1,56 +1,56 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,11.716776044898809,-0.0030490000000000001,0,-25,25,11.716776044898809 -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.58735581754454202,-0.52710000000000001,0,-25,25,-0.58735581754454202 -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,9.2169111822551333,0.089749999999999996,0,-25,25,9.2169111822551333 -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-15.186947397585952,-0.44,0,-25,25,-15.186947397585952 -coef_all_adults_ft_worker_duration,0.0083360428258746171,0.10929999999999999,0,-25,25,0.0083360428258746171 -coef_arrival_constants_am_peak,-2.2525597933199202,-2.4287183990000001,0,-25,25,-2.2525597933199202 -coef_arrival_constants_early,-1.0600927435131249,-2.4287183990000001,0,-25,25,-1.0600927435131249 -coef_arrival_constants_evening,-1.024968926440146,-0.87014690400000005,0,-25,25,-1.024968926440146 -coef_arrival_constants_late,-1.3622777646923283,-1.7520004899999999,0,-25,25,-1.3622777646923283 -coef_arrival_constants_midday_1,-1.3329442334964623,-1.237908768,0,-25,25,-1.3329442334964623 -coef_arrival_constants_midday_2,-0.56302790885535348,-0.53976893100000001,0,-25,25,-0.56302790885535348 -coef_arrival_constants_pm_peak_1,0,0,0,0,0,0 -coef_arrival_constants_pm_peak_2,-0.47120087260372584,-0.38916924800000002,0,-25,25,-0.47120087260372584 -coef_arrival_constants_pm_peak_3,-0.2889635829589125,-0.198120349,0,-25,25,-0.2889635829589125 -coef_arrival_constants_pm_peak_4,-0.42904089312882804,-0.25362468399999999,0,-25,25,-0.42904089312882804 -coef_departure_constants_am_peak_1,-1.8402276885639066,-1.6176440560000001,0,-25,25,-1.8402276885639066 -coef_departure_constants_am_peak_2,0,0,0,0,0,0 -coef_departure_constants_am_peak_3,-0.14762834941122654,-0.073826841000000004,0,-25,25,-0.14762834941122654 -coef_departure_constants_am_peak_4,-2.0052907227909373,-2.0805707689999999,0,-25,25,-2.0052907227909373 -coef_departure_constants_early,-3.6385102149182318,-3.8206624040000001,0,-25,25,-3.6385102149182318 -coef_departure_constants_evening,-5.1709311530899091,-5.2302878359999996,0,-25,25,-5.1709311530899091 -coef_departure_constants_late,-25,-11.88604728,0,-25,25,-25 -coef_departure_constants_midday_1,-3.235655391222839,-2.9857394570000002,0,-25,25,-3.235655391222839 -coef_departure_constants_midday_2,-3.7122959166670451,-3.6284346460000001,0,-25,25,-3.7122959166670451 -coef_departure_constants_pm_peak,-2.9909526474284074,-3.1025051499999998,0,-25,25,-2.9909526474284074 -coef_duration_constants_0_to_2_hours,-1.3817519840859342,-1.409955689,0,-25,25,-1.3817519840859342 -coef_duration_constants_10_hours,-0.85439568067710703,-0.90478898299999999,0,-25,25,-0.85439568067710703 -coef_duration_constants_11_hours,-1.0970644700531507,-1.5211626039999999,0,-25,25,-1.0970644700531507 -coef_duration_constants_12_to_13_hours,-2.6774099148644868,-2.4184889169999999,0,-25,25,-2.6774099148644868 -coef_duration_constants_14_to_18_hours,-2.6488356018470931,-2.5031372950000002,0,-25,25,-2.6488356018470931 -coef_duration_constants_3_to_4_hours,-0.56119226026187308,-0.74589325200000001,0,-25,25,-0.56119226026187308 -coef_duration_constants_5_to_6_hours,-0.52869720683509602,-0.56763662199999998,0,-25,25,-0.52869720683509602 -coef_duration_constants_7_to_8_hours,0,0,0,0,0,0 -coef_duration_constants_9_hours,-0.47578654406256893,-0.65080668399999997,0,-25,25,-0.47578654406256893 -coef_first_of_2plus_school_lt_6_hours,0.36465272850981928,1.4870000000000001,0,-25,25,0.36465272850981928 -coef_first_of_2plus_school_tours_departure,-0.28345842741237504,-0.30020000000000002,0,-25,25,-0.28345842741237504 -coef_first_of_2plus_school_tours_duration,-0.0072205064801072029,-0.1593,0,-25,25,-0.0072205064801072029 -coef_ft_worker_departure,0.39710000000000001,0.39710000000000001,0,-25,25,0.39710000000000001 -coef_ft_worker_duration,-0.1908,-0.1908,0,-25,25,-0.1908 -coef_hh_income_early_departure,-12.781415662231149,-0.88370000000000004,0,-25,25,-12.781415662231149 -coef_hh_income_late_arrival,0.13481375603358139,-0.3533,0,-25,25,0.13481375603358139 -coef_mode_choice_logsum,-0.15485890248282916,2.1269999999999998,0,-25,25,-0.15485890248282916 -coef_non_worker_departure,0.55389999999999995,0.55389999999999995,0,-25,25,0.55389999999999995 -coef_previous_tour_begins_this_arrival_hour,-5.5053579900953125,-1.1020000000000001,0,-25,25,-5.5053579900953125 -coef_previous_tour_ends_this_departure_hour,-15.038466619861389,-0.59950000000000003,0,-25,25,-15.038466619861389 -coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-24.999999999999979,-16.670000000000002,0,-25,25,-24.999999999999979 -coef_roundtrip_auto_time_to_work,0.0053019952333040361,0.0031949999999999999,0,-25,25,0.0053019952333040361 -coef_school_plus_work_tours_by_student_lt_6_hours,-1.1660913354672906,1.73,0,-25,25,-1.1660913354672906 -coef_school_plus_work_tours_by_worker_lt_6_hours,-0.75409133546729057,2.1419999999999999,0,-25,25,-0.75409133546729057 -coef_student_driver_duration,-0.0068046815074113429,0.034639999999999997,0,-25,25,-0.0068046815074113429 -coef_subsequent_2plus_school_tours_duration,-0.21896654709477803,-0.23380000000000001,0,-25,25,-0.21896654709477803 -coef_subsequent_of_2plus_school_lt_6_hours,24.999999999999982,2.1419999999999999,0,-25,25,24.999999999999982 -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,-100,0,-100,-100,-100 -coef_univ_departure,0.22263900806749343,0.28000000000000003,0,-25,25,0.22263900806749343 -coef_univ_duration,-0.41672805296299825,-0.29070000000000001,0,-25,25,-0.41672805296299825 +param_name,value,best,initvalue,nullvalue +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.080775447776812753,0.080774252667694169,-0.0030489999335259199,0 +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.51836135663447769,-0.51836174434913773,-0.52710002660751343,0 +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.73433095650246494,0.73432154552615458,0.089749999344348907,0 +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.99378159059164084,-0.99377515349106949,-0.43999999761581421,0 +coef_all_adults_ft_worker_duration,0.033395472694728347,0.033395444616199747,0.10930000245571136,0 +coef_arrival_constants_am_peak,-2.1992574993931737,-2.1992595446798857,-2.4287183284759521,0 +coef_arrival_constants_early,-1.0152816371137836,-1.0152823898389056,-2.4287183284759521,0 +coef_arrival_constants_evening,-1.089014071549075,-1.089012444258362,-0.87014693021774292,0 +coef_arrival_constants_late,-1.4094125261836428,-1.4094104317113427,-1.7520004510879517,0 +coef_arrival_constants_midday_1,-1.3102781509339738,-1.3102792663184144,-1.2379087209701538,0 +coef_arrival_constants_midday_2,-0.5570164575887101,-0.55701686342809786,-0.53976893424987793,0 +coef_arrival_constants_pm_peak_1,0,0,0,0 +coef_arrival_constants_pm_peak_2,-0.48446733503368733,-0.48446736247771904,-0.38916924595832825,0 +coef_arrival_constants_pm_peak_3,-0.31506510944596333,-0.31506390971297477,-0.1981203556060791,0 +coef_arrival_constants_pm_peak_4,-0.4718642141386703,-0.4718634888383082,-0.25362467765808105,0 +coef_departure_constants_am_peak_1,-1.8553572932845479,-1.8553571741469013,-1.6176440715789795,0 +coef_departure_constants_am_peak_2,0,0,0,0 +coef_departure_constants_am_peak_3,-0.14106707640383398,-0.14106757305590037,-0.07382684201002121,0 +coef_departure_constants_am_peak_4,-1.9882913840565575,-1.988292157571423,-2.0805706977844238,0 +coef_departure_constants_early,-3.6786226227417624,-3.6786220135061134,-3.8206624984741211,0 +coef_departure_constants_evening,-5.2925208449121817,-5.2925240767147788,-5.230288028717041,0 +coef_departure_constants_late,-11.916832030849566,-11.916831561227097,-11.88604736328125,0 +coef_departure_constants_midday_1,-3.2113751054704132,-3.2113771777110944,-2.9857394695281982,0 +coef_departure_constants_midday_2,-3.6981526513555871,-3.6981547479895061,-3.6284346580505371,0 +coef_departure_constants_pm_peak,-2.9973467155658162,-2.9973494814295885,-3.1025052070617676,0 +coef_duration_constants_0_to_2_hours,-1.3996475888297963,-1.3996458652500943,-1.4099557399749756,0 +coef_duration_constants_10_hours,-0.82164737941042931,-0.82164784328828933,-0.90478897094726562,0 +coef_duration_constants_11_hours,-1.0464064831927971,-1.0464075406530777,-1.5211626291275024,0 +coef_duration_constants_12_to_13_hours,-2.5901815246633957,-2.5901814921437252,-2.4184889793395996,0 +coef_duration_constants_14_to_18_hours,-2.5870585605577858,-2.5870607126569682,-2.5031373500823975,0 +coef_duration_constants_3_to_4_hours,-0.56514744374131198,-0.56514595486014574,-0.74589323997497559,0 +coef_duration_constants_5_to_6_hours,-0.53548913813929444,-0.53548808091419775,-0.56763660907745361,0 +coef_duration_constants_7_to_8_hours,0,0,0,0 +coef_duration_constants_9_hours,-0.45285392800018198,-0.4528543455236822,-0.65080666542053223,0 +coef_first_of_2plus_school_lt_6_hours,0.024871811138907744,0.024881803705537723,1.4869999885559082,0 +coef_first_of_2plus_school_tours_departure,-0.29460766022668305,-0.29460728950989984,-0.30019998550415039,0 +coef_first_of_2plus_school_tours_duration,-0.10138864589931282,-0.10138705511807192,-0.15929999947547913,0 +coef_ft_worker_departure,0.39710000157356262,0.39710000157356262,0.39710000157356262,0 +coef_ft_worker_duration,-0.19079999625682831,-0.19079999625682831,-0.19079999625682831,0 +coef_hh_income_early_departure,-2.4518333628592055,-2.4518122384333916,-0.88370001316070557,0 +coef_hh_income_late_arrival,0.0099574185770053714,0.0099600258474820229,-0.35330000519752502,0 +coef_mode_choice_logsum,0.10646038792012041,0.10645974892637354,2.127000093460083,0 +coef_non_worker_departure,0.55390000343322754,0.55390000343322754,0.55390000343322754,0 +coef_previous_tour_begins_this_arrival_hour,-1.1044099604419229,-1.1044099196469588,-1.1019999980926514,0 +coef_previous_tour_ends_this_departure_hour,-0.98618911184573188,-0.98618197798375551,-0.59950000047683716,0 +coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.801395249039167,-16.801393279303245,-16.670000076293945,0 +coef_roundtrip_auto_time_to_work,0.0052250922026635376,0.0052251100813601051,0.0031950001139193773,0 +coef_school_plus_work_tours_by_student_lt_6_hours,1.7724913916824447,1.7724908031221758,1.7300000190734863,0 +coef_school_plus_work_tours_by_worker_lt_6_hours,2.1844913325546376,2.1844907439943686,2.1419999599456787,0 +coef_student_driver_duration,-0.0049771487710083039,-0.0049771201652761641,0.034639999270439148,0 +coef_subsequent_2plus_school_tours_duration,-0.22458834432940281,-0.22458959182491992,-0.23379999399185181,0 +coef_subsequent_of_2plus_school_lt_6_hours,2.8438198153956726,2.8438099345673602,2.1419999599456787,0 +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,-100,-100,0 +coef_univ_departure,0.23875445577073184,0.23875440862293787,0.2800000011920929,0 +coef_univ_duration,-0.40329629710371528,-0.40329638768202386,-0.29069998860359192,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_work_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_work_SLSQP_.csv index 9465192ef9..70e5cc97c5 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_work_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_mandatory_tour_scheduling_work_SLSQP_.csv @@ -1,64 +1,64 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,25,0.36270000000000002,0,-25,25,25 -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,0.67172411345437255,-0.1012,0,-25,25,0.67172411345437255 -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,-0.2705642011106818,0.17710000000000001,0,-25,25,-0.2705642011106818 -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,2.3126663890343506,-0.21229999999999999,0,-25,25,2.3126663890343506 -coef_arrival_constants_am_peak,-2.5608583720316691,-1.854520626,0,-25,25,-2.5608583720316691 -coef_arrival_constants_early,0,0,0,0,0,0 -coef_arrival_constants_evening,-0.11313543070951976,0.103566251,0,-25,25,-0.11313543070951976 -coef_arrival_constants_late,-1.2047708015331426,-0.96595733900000003,0,-25,25,-1.2047708015331426 -coef_arrival_constants_midday_1,-0.4666152062959858,-0.49597203699999998,0,-25,25,-0.4666152062959858 -coef_arrival_constants_midday_2,-0.37297675905912303,-0.37855408099999999,0,-25,25,-0.37297675905912303 -coef_arrival_constants_pm_peak_1,0,0,0,0,0,0 -coef_arrival_constants_pm_peak_2,0.20356469833981647,0.27608389999999999,0,-25,25,0.20356469833981647 -coef_arrival_constants_pm_peak_3,0.55940049285496218,0.699587132,0,-25,25,0.55940049285496218 -coef_arrival_constants_pm_peak_4,0.69955932869966053,0.79928937700000002,0,-25,25,0.69955932869966053 -coef_departure_constants_am_peak_1,-0.65012576984935755,-0.61618090599999997,0,-25,25,-0.65012576984935755 -coef_departure_constants_am_peak_2,0,0,0,0,0,0 -coef_departure_constants_am_peak_3,-0.32740035887947389,-0.254714726,0,-25,25,-0.32740035887947389 -coef_departure_constants_am_peak_4,-1.2190845361495699,-1.2513460240000001,0,-25,25,-1.2190845361495699 -coef_departure_constants_early,-0.92470832388900248,-0.95272526999999996,0,-25,25,-0.92470832388900248 -coef_departure_constants_evening,-1.8906229365299492,-1.610513243,0,-25,25,-1.8906229365299492 -coef_departure_constants_late,-2.9986176789858154,-2.8834152230000001,0,-25,25,-2.9986176789858154 -coef_departure_constants_midday_1,-1.8241536006077277,-1.7058689920000001,0,-25,25,-1.8241536006077277 -coef_departure_constants_midday_2,-1.8783523324805591,-1.6935705830000001,0,-25,25,-1.8783523324805591 -coef_departure_constants_pm_peak,-1.6396663560770837,-1.4399919619999999,0,-25,25,-1.6396663560770837 -coef_destination_in_cbd_departure_shift_effects,0.04109611455586798,0.047169999999999997,0,-25,25,0.04109611455586798 -coef_destination_in_cbd_duration_shift_effects,0.10130692865710192,0.086790000000000006,0,-25,25,0.10130692865710192 -coef_destination_in_cbd_early_departure_interaction,-0.38984353468069122,-0.45660000000000001,0,-25,25,-0.38984353468069122 -coef_destination_in_cbd_late_arrival_interaction,-0.27055298689359897,-0.2334,0,-25,25,-0.27055298689359897 -coef_duration_constants_0_to_2_hours,-2.1189652588431978,-2.5282663900000002,0,-25,25,-2.1189652588431978 -coef_duration_constants_10_hours,0,0,0,0,0,0 -coef_duration_constants_11_hours,-0.35443610468830039,-0.34779539100000001,0,-25,25,-0.35443610468830039 -coef_duration_constants_12_to_13_hours,-1.1153352032051054,-1.0082223459999999,0,-25,25,-1.1153352032051054 -coef_duration_constants_14_to_18_hours,-1.8418267064323726,-1.701858847,0,-25,25,-1.8418267064323726 -coef_duration_constants_3_to_4_hours,-0.63573505547017051,-0.91897445700000002,0,-25,25,-0.63573505547017051 -coef_duration_constants_5_to_6_hours,-0.35577473775309831,-0.71855028799999998,0,-25,25,-0.35577473775309831 -coef_duration_constants_7_to_8_hours,-0.033757586303302736,-0.139623566,0,-25,25,-0.033757586303302736 -coef_duration_constants_9_hours,0.12934760728519379,0.055706243000000003,0,-25,25,0.12934760728519379 -coef_first_of_2plus_work_tours_departure_shift_effects,-0.27106753260112321,-0.30330000000000001,0,-25,25,-0.27106753260112321 -coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.8948098471889567,1.98,0,-25,25,1.8948098471889567 -coef_first_of_2plus_work_tours_duration_shift_effects,-0.29362220747793244,-0.18609999999999999,0,-25,25,-0.29362220747793244 -coef_free_flow_round_trip_auto_time_shift_effects_departure,0.00054374628944530747,-0.00114,0,-25,25,0.00054374628944530747 -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.0040398779948456849,0.0022100000000000002,0,-25,25,0.0040398779948456849 -coef_full_time_worker_10_to_12_departure_interaction,-0.66614758973349719,-0.51819999999999999,0,-25,25,-0.66614758973349719 -coef_full_time_worker_duration_lt_9_hours_interaction,-1.3694302807642016,-1.2569999999999999,0,-25,25,-1.3694302807642016 -coef_household_income_departure_shift_effects,0.00011200417166098945,0.00020799999999999999,0,-25,25,0.00011200417166098945 -coef_household_income_early_departure_interaction,-0.57489507784478577,-0.4854,0,-25,25,-0.57489507784478577 -coef_household_income_late_arrival_interaction,0.036426020508396037,-0.38390000000000002,0,-25,25,0.036426020508396037 -coef_mode_choice_logsum,0.20613495321472861,1.0269999999999999,0,-25,25,0.20613495321472861 -coef_non_working_adult_duration_shift_effects,-0.1207,-0.1207,0,-25,25,-0.1207 -coef_part_time_worker_13_to_15_arrival_interaction,0.33677938786979689,0.54330000000000001,0,-25,25,0.33677938786979689 -coef_part_time_worker_departure_shift_effects,0.089714285580281661,0.067360000000000003,0,-25,25,0.089714285580281661 -coef_previously_scheduled_tour_begins_in_this_arrival_hour,-6.6033938783133914,-1.3340000000000001,0,-25,25,-6.6033938783133914 -coef_previously_scheduled_tour_ends_in_this_departure_hour,2.4216789099176217,-0.89349999999999996,0,-25,25,2.4216789099176217 -coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-6.3408961734536069,-18.68,0,-25,25,-6.3408961734536069 -coef_rural_household_early_departure_interaction,0.40389999999999998,0.40389999999999998,0,-25,25,0.40389999999999998 -coef_rural_household_late_arrival_interaction,-0.34510000000000002,-0.34510000000000002,0,-25,25,-0.34510000000000002 -coef_subsequent_2plus_work_departure_tours_shift_effects,0.015346535529312815,-0.53810000000000002,0,-25,25,0.015346535529312815 -coef_subsequent_2plus_work_duration_tours_shift_effects,-0.12773109887960765,-0.31740000000000002,0,-25,25,-0.12773109887960765 -coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,3.5917959509926001,2.5819999999999999,0,-25,25,3.5917959509926001 -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,-100,0,-100,-100,-100 -coef_tours_by_student_duration_lt_8_hrs,14.705420185896203,2.5819999999999999,0,-25,25,14.705420185896203 -coef_tours_by_worker_duration_lt_8_hrs,13.036020185896209,0.91259999999999997,0,-25,25,13.036020185896209 -coef_university_student_departure_shift_effects,0.052139288632078368,0.05747,0,-25,25,0.052139288632078368 +param_name,value,best,initvalue,nullvalue +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.61251353990327295,0.61251327841360381,0.36269998550415039,0 +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.48096392277398275,-0.48096399411879609,-0.10119999945163727,0 +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,-0.2616069716319126,-0.26160684847759125,0.17710000276565552,0 +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.21226499679315533,-0.2122651617637292,-0.21230000257492065,0 +coef_arrival_constants_am_peak,-2.5606473297230243,-2.5606476523528108,-1.8545206785202026,0 +coef_arrival_constants_early,0,0,0,0 +coef_arrival_constants_evening,-0.052167725404331296,-0.052167735953000123,0.1035662516951561,0 +coef_arrival_constants_late,-1.1308494423719302,-1.1308494377605862,-0.96595734357833862,0 +coef_arrival_constants_midday_1,-0.49891346385413454,-0.49891340446037452,-0.49597203731536865,0 +coef_arrival_constants_midday_2,-0.41039411498088946,-0.41039409639542923,-0.3785540759563446,0 +coef_arrival_constants_pm_peak_1,0,0,0,0 +coef_arrival_constants_pm_peak_2,0.19372908430399155,0.19372906136658175,0.27608388662338257,0 +coef_arrival_constants_pm_peak_3,0.56028646263237181,0.5602864708684514,0.69958710670471191,0 +coef_arrival_constants_pm_peak_4,0.71571247641605751,0.71571248954657329,0.79928940534591675,0 +coef_departure_constants_am_peak_1,-0.64620733049904744,-0.6462073659079336,-0.6161808967590332,0 +coef_departure_constants_am_peak_2,0,0,0,0 +coef_departure_constants_am_peak_3,-0.32992168661687343,-0.32992174133643332,-0.2547147274017334,0 +coef_departure_constants_am_peak_4,-1.2230313612788632,-1.2230313737462095,-1.2513459920883179,0 +coef_departure_constants_early,-0.91653242223268816,-0.91653247537180627,-0.95272529125213623,0 +coef_departure_constants_evening,-1.5545124755865074,-1.5545123072441225,-1.6105132102966309,0 +coef_departure_constants_late,-3.4650976197335996,-3.4650970444155127,-2.8834152221679688,0 +coef_departure_constants_midday_1,-1.8459227529362676,-1.845922814199904,-1.7058689594268799,0 +coef_departure_constants_midday_2,-1.872714720755712,-1.8727145745963636,-1.693570613861084,0 +coef_departure_constants_pm_peak,-1.5304306861299761,-1.5304305915064496,-1.4399919509887695,0 +coef_destination_in_cbd_departure_shift_effects,0.046972898038599296,0.046972900170898703,0.047169998288154602,0 +coef_destination_in_cbd_duration_shift_effects,0.10546600473625205,0.10546600158406226,0.086790002882480621,0 +coef_destination_in_cbd_early_departure_interaction,-0.36454380057515523,-0.36454382109906797,-0.45660001039505005,0 +coef_destination_in_cbd_late_arrival_interaction,-0.34125580756261459,-0.34125584021066124,-0.23340000212192535,0 +coef_duration_constants_0_to_2_hours,-2.3611872557258775,-2.3611872136185283,-2.528266429901123,0 +coef_duration_constants_10_hours,0,0,0,0 +coef_duration_constants_11_hours,-0.36305106792718905,-0.36305106353810024,-0.34779539704322815,0 +coef_duration_constants_12_to_13_hours,-1.1336847773846157,-1.1336846557009517,-1.0082223415374756,0 +coef_duration_constants_14_to_18_hours,-1.846775754300668,-1.8467757187472769,-1.7018588781356812,0 +coef_duration_constants_3_to_4_hours,-0.69884369798611612,-0.69884383804256189,-0.91897445917129517,0 +coef_duration_constants_5_to_6_hours,-0.36088550481193393,-0.36088561328123253,-0.71855026483535767,0 +coef_duration_constants_7_to_8_hours,-0.034562406928364778,-0.03456241250333917,-0.13962356746196747,0 +coef_duration_constants_9_hours,0.12410673449583931,0.12410671848676948,0.055706243962049484,0 +coef_first_of_2plus_work_tours_departure_shift_effects,-0.27939395433691766,-0.27939398231314772,-0.30329999327659607,0 +coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.6819917313175938,1.681991727718217,1.9800000190734863,0 +coef_first_of_2plus_work_tours_duration_shift_effects,-0.26704509800964044,-0.26704506536823513,-0.18610000610351562,0 +coef_free_flow_round_trip_auto_time_shift_effects_departure,-4.6712935036587893e-05,-4.6713265092855231e-05,-0.0011399999493733048,0 +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.0034709225619443279,0.0034709219570404487,0.0022100000642240047,0 +coef_full_time_worker_10_to_12_departure_interaction,-0.67084155893679287,-0.67084150978347679,-0.51819998025894165,0 +coef_full_time_worker_duration_lt_9_hours_interaction,-1.3707861942780288,-1.3707861874425684,-1.2569999694824219,0 +coef_household_income_departure_shift_effects,9.8289823547548591e-05,9.8289830800329784e-05,0.00020799999765586108,0 +coef_household_income_early_departure_interaction,-0.59011172274320045,-0.59011172534232015,-0.48539999127388,0 +coef_household_income_late_arrival_interaction,-0.018847335744915452,-0.018847292627549972,-0.383899986743927,0 +coef_mode_choice_logsum,0.41216509072053042,0.41216516341709108,1.0269999504089355,0 +coef_non_working_adult_duration_shift_effects,-0.12070000171661377,-0.12070000171661377,-0.12070000171661377,0 +coef_part_time_worker_13_to_15_arrival_interaction,0.32725200921090258,0.32725199183573034,0.54329997301101685,0 +coef_part_time_worker_departure_shift_effects,0.089866833957687201,0.089866835119917624,0.067359998822212219,0 +coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.3452365484106898,-1.3452365345169786,-1.3339999914169312,0 +coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.62131382592128181,-0.62131390854231106,-0.89349997043609619,0 +coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.639061018727794,-18.639061062575436,-18.680000305175781,0 +coef_rural_household_early_departure_interaction,0.40389999747276306,0.40389999747276306,0.40389999747276306,0 +coef_rural_household_late_arrival_interaction,-0.34509998559951782,-0.34509998559951782,-0.34509998559951782,0 +coef_subsequent_2plus_work_departure_tours_shift_effects,-0.3844333665111534,-0.38443334417322472,-0.53810000419616699,0 +coef_subsequent_2plus_work_duration_tours_shift_effects,-0.38214881037696108,-0.38214876273993459,-0.3174000084400177,0 +coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,1.2383538709437807,1.2383542865170418,2.5820000171661377,0 +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,-100,-100,0 +coef_tours_by_student_duration_lt_8_hrs,2.6806620027310135,2.6806618957074346,2.5820000171661377,0 +coef_tours_by_worker_duration_lt_8_hrs,1.0112619663960221,1.0112618593724432,0.91259998083114624,0 +coef_university_student_departure_shift_effects,0.068330955102533286,0.068330906364886979,0.05747000128030777,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_non_mandatory_tour_scheduling_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_non_mandatory_tour_scheduling_SLSQP_.csv index 68cc071e89..3c8980345c 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_non_mandatory_tour_scheduling_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_scheduling_model_non_mandatory_tour_scheduling_SLSQP_.csv @@ -1,90 +1,90 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.4470328861441506,-0.025700000000000001,0,-25,25,0.4470328861441506 -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,0.56540266502429914,-0.02734,0,-25,25,0.56540266502429914 -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,1.0259323894447316,0.0084419999999999999,0,-25,25,1.0259323894447316 -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,0.39614317482379957,-0.059299999999999999,0,-25,25,0.39614317482379957 -coef_adult_with_children_in_hh_arrive_19_21,0.31331407963369601,0.33600000000000002,0,-25,25,0.31331407963369601 -coef_arrival_constants_am_peak,0.29950075228772494,-1.814822602,0,-25,25,0.29950075228772494 -coef_arrival_constants_early,2.725267289110473,-0.051990748000000003,0,-25,25,2.725267289110473 -coef_arrival_constants_evening,0,0,0,0,0,0 -coef_arrival_constants_late,-1.1446323020070934,-0.86667131500000005,0,-25,25,-1.1446323020070934 -coef_arrival_constants_midday_1,1.3878018540712422,0.00037150099999999999,0,-25,25,1.3878018540712422 -coef_arrival_constants_midday_2,1.5044255895039795,0.53211603100000004,0,-25,25,1.5044255895039795 -coef_arrival_constants_pm_peak_1,1.3575212925702953,0.62848156700000002,0,-25,25,1.3575212925702953 -coef_arrival_constants_pm_peak_2,1.5579462028570845,0.65052141600000002,0,-25,25,1.5579462028570845 -coef_arrival_constants_pm_peak_3,1.0806181769202525,0.40289440599999998,0,-25,25,1.0806181769202525 -coef_arrival_constants_pm_peak_4,0.69735759210419612,0.154213293,0,-25,25,0.69735759210419612 -coef_departure_constants_am_peak_1,-0.52735012006812276,-0.65416357300000005,0,-25,25,-0.52735012006812276 -coef_departure_constants_am_peak_2,1.1919565496484956,0.554282571,0,-25,25,1.1919565496484956 -coef_departure_constants_am_peak_3,1.4522880996476126,1.0505610869999999,0,-25,25,1.4522880996476126 -coef_departure_constants_am_peak_4,1.5114204226663379,0.97156822799999998,0,-25,25,1.5114204226663379 -coef_departure_constants_early,-0.92104869293940328,-1.7401356610000001,0,-25,25,-0.92104869293940328 -coef_departure_constants_evening,-1.892558890126933,-1.856475096,0,-25,25,-1.892558890126933 -coef_departure_constants_late,-5.6265216713840269,-8.2288801409999994,0,-25,25,-5.6265216713840269 -coef_departure_constants_midday_1,1.3642337556324493,0.88199198599999995,0,-25,25,1.3642337556324493 -coef_departure_constants_midday_2,0.64556751877721019,0.411103634,0,-25,25,0.64556751877721019 -coef_departure_constants_pm_peak,0,0,0,0,0,0 -coef_destination_in_cbd_duration_shift_effects,0.11545735776937631,0.1067,0,-25,25,0.11545735776937631 -coef_discretionary_tour_duration_lt_2_hours,-0.28570443543294716,-0.69740000000000002,0,-25,25,-0.28570443543294716 -coef_duration_constants_0_to_1_hours,0,0,0,0,0,0 -coef_duration_constants_11_to_13_hours,-1.0074136237311473,-0.955635554,0,-25,25,-1.0074136237311473 -coef_duration_constants_14_to_18_hours,-2.9449650044604194,-1.042580879,0,-25,25,-2.9449650044604194 -coef_duration_constants_2_to_3_hours,0.3987726313758776,0.051385565000000001,0,-25,25,0.3987726313758776 -coef_duration_constants_4_to_5_hours,-0.27952507767146284,-0.59395132100000003,0,-25,25,-0.27952507767146284 -coef_duration_constants_6_to_7_hours,-0.65619904538586438,-0.95115532800000002,0,-25,25,-0.65619904538586438 -coef_duration_constants_8_to_10_hours,-0.62326492676484069,-0.828108399,0,-25,25,-0.62326492676484069 -coef_eat_out_tour_departure_shift_effects,0.10408922995281709,0.075490000000000002,0,-25,25,0.10408922995281709 -coef_escort_tour_arrival_constants_am_peak,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_early,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_evening,-0.8931637699400693,-0.53691872799999996,0,-25,25,-0.8931637699400693 -coef_escort_tour_arrival_constants_late,-1.1770797692787565,-1.008290213,0,-25,25,-1.1770797692787565 -coef_escort_tour_arrival_constants_midday_1,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_midday_2,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_pm_peak_1,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_pm_peak_2,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_pm_peak_3,0,0,0,0,0,0 -coef_escort_tour_arrival_constants_pm_peak_4,0,0,0,0,0,0 -coef_escort_tour_departure_constants_am_peak_1,0.48291466233476604,-1.1123577529999999,0,-25,25,0.48291466233476604 -coef_escort_tour_departure_constants_am_peak_2,2.0132225505169186,0.69878818499999995,0,-25,25,2.0132225505169186 -coef_escort_tour_departure_constants_am_peak_3,2.1327074544894873,1.1962688130000001,0,-25,25,2.1327074544894873 -coef_escort_tour_departure_constants_am_peak_4,0.29911257358855436,-0.22525822100000001,0,-25,25,0.29911257358855436 -coef_escort_tour_departure_constants_early,-0.5151665525123571,-1.7401356610000001,0,-25,25,-0.5151665525123571 -coef_escort_tour_departure_constants_evening,-4.7638859598327503,-3.9487328110000002,0,-25,25,-4.7638859598327503 -coef_escort_tour_departure_constants_late,-6.5766274559402813,-8.2288801409999994,0,-25,25,-6.5766274559402813 -coef_escort_tour_departure_constants_midday_1,0.64080123578544568,0.028662017000000001,0,-25,25,0.64080123578544568 -coef_escort_tour_departure_constants_midday_2,0,0,0,0,0,0 -coef_escort_tour_departure_constants_pm_peak,-1.78947739154685,-1.180140161,0,-25,25,-1.78947739154685 -coef_escort_tour_duration_constants_0_to_1_hours,0,0,0,0,0,0 -coef_escort_tour_duration_constants_11_to_13_hours,-6.4203324936004007,-2.9743649759999999,0,-25,25,-6.4203324936004007 -coef_escort_tour_duration_constants_14_to_18_hours,-9.2410499900666672,-2.5074471460000001,0,-25,25,-9.2410499900666672 -coef_escort_tour_duration_constants_2_to_3_hours,-2.600430326093385,-2.0420138969999999,0,-25,25,-2.600430326093385 -coef_escort_tour_duration_constants_4_to_5_hours,-3.5279045037998431,-2.880293896,0,-25,25,-3.5279045037998431 -coef_escort_tour_duration_constants_6_to_7_hours,-3.9930263301758195,-2.9735337309999998,0,-25,25,-3.9930263301758195 -coef_escort_tour_duration_constants_8_to_10_hours,-5.1822459061747068,-3.0202137580000001,0,-25,25,-5.1822459061747068 -coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.30486234400858059,-0.2364,0,-25,25,-0.30486234400858059 -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.0050429319781780269,0.0047410000000000004,0,-25,25,0.0050429319781780269 -coef_maintenance_tour_depart_before_7,0.052350894248540496,-0.88260000000000005,0,-25,25,0.052350894248540496 -coef_maintenance_tour_departure_shift_effects,-0.041432645424667555,-0.1489,0,-25,25,-0.041432645424667555 -coef_maintenance_tour_duration_shift_effects,-0.11717847942290449,-0.083720000000000003,0,-25,25,-0.11717847942290449 -coef_number_of_escort_tours_departure_shift_effects,0.1003621581289256,0.020129999999999999,0,-25,25,0.1003621581289256 -coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.098215723941853808,0.038960000000000002,0,-25,25,0.098215723941853808 -coef_number_of_joint_tours_departure_shift_effects,0.12273335177942903,0.052080000000000001,0,-25,25,0.12273335177942903 -coef_number_of_mandatory_tours_departure_shift_effects,0.1726876041064854,0.046730000000000001,0,-25,25,0.1726876041064854 -coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,5.7502384461866223,-13.630000000000001,0,-25,25,5.7502384461866223 -coef_school_child_age_16_plus_departure_shift_effects,0.002334001767561128,0.072660000000000002,0,-25,25,0.002334001767561128 -coef_school_child_age_16_plus_duration_shift_effects,0.30512330091593426,0.20949999999999999,0,-25,25,0.30512330091593426 -coef_school_child_age_under_16_departure_shift_effects,0.1028104094868405,0.04657,0,-25,25,0.1028104094868405 -coef_school_child_age_under_16_duration_shift_effects,0.33667040040989843,0.32719999999999999,0,-25,25,0.33667040040989843 -coef_school_child_under_16_arrive_after_22,-0.29870062575080597,-1.1799999999999999,0,-25,25,-0.29870062575080597 -coef_shopping_tour_arrive_after_22,-2.4414941640980703,-0.60270000000000001,0,-25,25,-2.4414941640980703 -coef_shopping_tour_depart_before_8,-0.84790437236499061,-1.0369999999999999,0,-25,25,-0.84790437236499061 -coef_shopping_tour_departure_shift_effects,0.0090862416686240035,-0.060150000000000002,0,-25,25,0.0090862416686240035 -coef_shopping_tour_duration_lt_2_hours,0.912982413595951,0.51680000000000004,0,-25,25,0.912982413595951 -coef_shopping_tour_duration_shift_effects,-0.08012681553606732,-0.1208,0,-25,25,-0.08012681553606732 -coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.004765610611209883,-0.3992,0,-25,25,-0.004765610611209883 -coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.28646699211356075,-0.45619999999999999,0,-25,25,-0.28646699211356075 -coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.10477927540016083,-0.1731,0,-25,25,-0.10477927540016083 -coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,-999,0,-999,-999,-999 -coef_university_student_arrive_after_22,-0.4840281170137713,0.54659999999999997,0,-25,25,-0.4840281170137713 -coef_visit_tour_departure_shift_effects,0.1674492151765343,0.096879999999999994,0,-25,25,0.1674492151765343 -coef_visit_tour_duration_shift_effects,0.15890840399796446,0.1638,0,-25,25,0.15890840399796446 +param_name,value,best,initvalue,nullvalue +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.37873530652415688,-0.37876029334525779,-0.025699999183416367,0 +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.12409933488783795,-0.12412525709082863,-0.027340000495314598,0 +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.16013173725389518,0.16011972294122639,0.0084419995546340942,0 +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.057675497288593967,-0.057678856669874018,-0.059300001710653305,0 +coef_adult_with_children_in_hh_arrive_19_21,0.26358073098680268,0.26357366595375664,0.335999995470047,0 +coef_arrival_constants_am_peak,-1.618479614096983,-1.6184779227729857,-1.8148225545883179,0 +coef_arrival_constants_early,0.012632463274022693,0.012638163573529756,-0.051990747451782227,0 +coef_arrival_constants_evening,0,0,0,0 +coef_arrival_constants_late,-0.77439458777380288,-0.77440113819912593,-0.86667132377624512,0 +coef_arrival_constants_midday_1,0.16302672327058698,0.16302166341062885,0.0003715009952429682,0 +coef_arrival_constants_midday_2,0.60562412779331609,0.60561823037837537,0.53211605548858643,0 +coef_arrival_constants_pm_peak_1,0.66305388881325122,0.66304628483786687,0.62848156690597534,0 +coef_arrival_constants_pm_peak_2,0.9403736312996136,0.94036844970191236,0.65052139759063721,0 +coef_arrival_constants_pm_peak_3,0.57943549534338168,0.57943058291341509,0.40289440751075745,0 +coef_arrival_constants_pm_peak_4,0.32882206659224378,0.32881862675984186,0.15421329438686371,0 +coef_departure_constants_am_peak_1,-0.8444053940276266,-0.8443867382251623,-0.65416359901428223,0 +coef_departure_constants_am_peak_2,0.61095352829384308,0.6109683536427154,0.554282546043396,0 +coef_departure_constants_am_peak_3,0.89783495233382704,0.89783925656317809,1.0505610704421997,0 +coef_departure_constants_am_peak_4,0.97678705420018241,0.97679068633385335,0.97156822681427002,0 +coef_departure_constants_early,-1.5655173152332842,-1.5655400591434045,-1.740135669708252,0 +coef_departure_constants_evening,-1.6745782734879573,-1.6745908894768251,-1.8564751148223877,0 +coef_departure_constants_late,-5.8677842794743897,-5.867810078393469,-8.2288799285888672,0 +coef_departure_constants_midday_1,0.90219691225188225,0.90220256652108655,0.88199198246002197,0 +coef_departure_constants_midday_2,0.33966490947802791,0.339668134288378,0.41110363602638245,0 +coef_departure_constants_pm_peak,0,0,0,0 +coef_destination_in_cbd_duration_shift_effects,0.12481964214980576,0.12482003975020485,0.10670000314712524,0 +coef_discretionary_tour_duration_lt_2_hours,-0.49111660197637685,-0.49110487979747403,-0.69739997386932373,0 +coef_duration_constants_0_to_1_hours,0,0,0,0 +coef_duration_constants_11_to_13_hours,-0.71826442870005769,-0.71826950153593283,-0.95563554763793945,0 +coef_duration_constants_14_to_18_hours,-1.3448264303153219,-1.3448138847159017,-1.0425808429718018,0 +coef_duration_constants_2_to_3_hours,0.18806168958819869,0.18807127149669869,0.051385566592216492,0 +coef_duration_constants_4_to_5_hours,-0.47110934268158594,-0.4711057056246632,-0.59395134449005127,0 +coef_duration_constants_6_to_7_hours,-0.82518931580282029,-0.82518905004791432,-0.95115530490875244,0 +coef_duration_constants_8_to_10_hours,-0.69268933767290863,-0.6927031726601327,-0.82810837030410767,0 +coef_eat_out_tour_departure_shift_effects,0.051316259249107425,0.051316222550347332,0.075489997863769531,0 +coef_escort_tour_arrival_constants_am_peak,0,0,0,0 +coef_escort_tour_arrival_constants_early,0,0,0,0 +coef_escort_tour_arrival_constants_evening,-0.71223140451440192,-0.71223691887938245,-0.53691869974136353,0 +coef_escort_tour_arrival_constants_late,-0.72737915035423661,-0.72736904512133638,-1.00829017162323,0 +coef_escort_tour_arrival_constants_midday_1,0,0,0,0 +coef_escort_tour_arrival_constants_midday_2,0,0,0,0 +coef_escort_tour_arrival_constants_pm_peak_1,0,0,0,0 +coef_escort_tour_arrival_constants_pm_peak_2,0,0,0,0 +coef_escort_tour_arrival_constants_pm_peak_3,0,0,0,0 +coef_escort_tour_arrival_constants_pm_peak_4,0,0,0,0 +coef_escort_tour_departure_constants_am_peak_1,-1.4235419252088168,-1.4235406297742828,-1.1123577356338501,0 +coef_escort_tour_departure_constants_am_peak_2,0.42531847435099135,0.42534779985548571,0.69878816604614258,0 +coef_escort_tour_departure_constants_am_peak_3,0.83882621454109263,0.83887850091215199,1.1962687969207764,0 +coef_escort_tour_departure_constants_am_peak_4,-0.83712685138635567,-0.83714012331863175,-0.22525821626186371,0 +coef_escort_tour_departure_constants_early,-2.860916885051735,-2.8608848408720089,-1.740135669708252,0 +coef_escort_tour_departure_constants_evening,-3.9409129509835932,-3.9409128427055573,-3.948732852935791,0 +coef_escort_tour_departure_constants_late,-5.7702770461708415,-5.77029206272538,-8.2288799285888672,0 +coef_escort_tour_departure_constants_midday_1,-0.1390533603155775,-0.1390075193706598,0.028662016615271568,0 +coef_escort_tour_departure_constants_midday_2,0,0,0,0 +coef_escort_tour_departure_constants_pm_peak,-1.4131855726269698,-1.4131494988499986,-1.1801401376724243,0 +coef_escort_tour_duration_constants_0_to_1_hours,0,0,0,0 +coef_escort_tour_duration_constants_11_to_13_hours,-3.9202328149945442,-3.9202404500970576,-2.9743649959564209,0 +coef_escort_tour_duration_constants_14_to_18_hours,-3.5604092863860122,-3.5604047727293211,-2.5074472427368164,0 +coef_escort_tour_duration_constants_2_to_3_hours,-2.421823365334085,-2.421833770793457,-2.0420138835906982,0 +coef_escort_tour_duration_constants_4_to_5_hours,-3.0455000043621441,-3.0455133085082999,-2.8802938461303711,0 +coef_escort_tour_duration_constants_6_to_7_hours,-3.1421992928711329,-3.1422099147681193,-2.9735336303710938,0 +coef_escort_tour_duration_constants_8_to_10_hours,-3.7497784769391589,-3.7497803018839528,-3.0202138423919678,0 +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.25834434616162955,-0.25834415314457576,-0.23639999330043793,0 +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.0065276813016913781,0.0065276968976601671,0.0047410000115633011,0 +coef_maintenance_tour_depart_before_7,-0.5056248112333217,-0.50561957768539378,-0.88260000944137573,0 +coef_maintenance_tour_departure_shift_effects,-0.14454038609055034,-0.14454021307852283,-0.14890000224113464,0 +coef_maintenance_tour_duration_shift_effects,-0.12686493168577978,-0.12686440360779777,-0.083719998598098755,0 +coef_number_of_escort_tours_departure_shift_effects,0.010507493295063721,0.010508213446682341,0.02012999914586544,0 +coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.044135687848751132,0.044135987290636135,0.03895999863743782,0 +coef_number_of_joint_tours_departure_shift_effects,0.084912280527453296,0.08491252930940224,0.052080001682043076,0 +coef_number_of_mandatory_tours_departure_shift_effects,0.049914049123035174,0.049914648254726204,0.046730000525712967,0 +coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,-14.166516751822661,-14.166519647615067,-13.630000114440918,0 +coef_school_child_age_16_plus_departure_shift_effects,-0.1010476102967722,-0.10104136957996175,0.072659999132156372,0 +coef_school_child_age_16_plus_duration_shift_effects,0.27141008329162575,0.27140733987575305,0.20949999988079071,0 +coef_school_child_age_under_16_departure_shift_effects,0.040466224371894295,0.040465357220666222,0.046569999307394028,0 +coef_school_child_age_under_16_duration_shift_effects,0.32700056448616932,0.32699981446388821,0.32719999551773071,0 +coef_school_child_under_16_arrive_after_22,-0.2464951245477969,-0.2464607983596627,-1.1799999475479126,0 +coef_shopping_tour_arrive_after_22,-2.0657698295000624,-2.065800932685089,-0.60269999504089355,0 +coef_shopping_tour_depart_before_8,-1.1138212368924993,-1.1138115434095399,-1.0369999408721924,0 +coef_shopping_tour_departure_shift_effects,-0.067931916027145156,-0.067931597698885862,-0.06015000119805336,0 +coef_shopping_tour_duration_lt_2_hours,0.67436877539980855,0.67440552001221821,0.51679998636245728,0 +coef_shopping_tour_duration_shift_effects,-0.10944476789632213,-0.10943885166753625,-0.12080000340938568,0 +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.30742282105349766,-0.30742665676699332,-0.39919999241828918,0 +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.42079038970222704,-0.42079362641039114,-0.4562000036239624,0 +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.15663240624251576,-0.15663237202517855,-0.17309999465942383,0 +coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,-999,-999,0 +coef_university_student_arrive_after_22,-0.75698586492006881,-0.7570144484766741,0.54659998416900635,0 +coef_visit_tour_departure_shift_effects,0.093345651330126359,0.093345498661509735,0.096879996359348297,0 +coef_visit_tour_duration_shift_effects,0.15548956158347038,0.15549039376025442,0.16380000114440918,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_school_location.csv b/activitysim/estimation/test/test_larch_estimation/test_school_location.csv index 9149b65cb7..33b657c2c3 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_school_location.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_school_location.csv @@ -1,21 +1,21 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -1,1,1,1,1,1,1 -coef_grade_dist_0_1,-1.8247599716114487,-1.6418999999999999,0,-25,25,-1.8247599716114487 -coef_grade_dist_15_up,-0.045999999999986392,-0.045999999999999999,0,-25,25,-0.045999999999986392 -coef_grade_dist_5_15,-0.14366066473346295,-0.2031,0,-25,25,-0.14366066473346295 -coef_high_dist_0_1,-2.1639631787042557,-0.95230000000000004,0,-25,25,-2.1639631787042557 -coef_high_dist_15_up,-0.18819999999999787,-0.18820000000000001,0,-25,25,-0.18819999999999787 -coef_high_dist_5_15,-0.10033006353999419,-0.193,0,-25,25,-0.10033006353999419 -coef_high_grade_dist_1_2,-0.747678833666925,-0.56999999999999995,0,-25,25,-0.747678833666925 -coef_high_grade_dist_2_5,-0.66638388058588283,-0.56999999999999995,0,-25,25,-0.66638388058588283 -coef_mode_logsum,0.37505355574886973,0.53580000000000005,0,-25,25,0.37505355574886973 -coef_univ_dist_0_1,-3.3133821471324696,-3.2450999999999999,0,-25,25,-3.3133821471324696 -coef_univ_dist_15_up,-0.072999999999999995,-0.072999999999999995,0,-25,25,-0.072999999999999995 -coef_univ_dist_1_2,-2.8750960133089687,-2.7010999999999998,0,-25,25,-2.8750960133089687 -coef_univ_dist_2_5,-0.45559440871309681,-0.57069999999999999,0,-25,25,-0.45559440871309681 -coef_univ_dist_5_15,-0.5718644285076383,-0.50019999999999998,0,-25,25,-0.5718644285076383 -gradeschool_AGE0519,0,0,0,0,0,0 -highschool_HSENROLL,0,0,0,0,0,0 -university_COLLFTE,-0.52424864409813143,-0.52424864409813143,0,-0.52424864409813143,-0.52424864409813143,-0.52424864409813143 -university_COLLPTE,-1.2088722041237281,-0.89648810457797545,0,-6,6,-1.2088722041237281 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +coef_grade_dist_0_1,0.080031235198373782,0.080031235198373782,-1.6418999433517456,0 +coef_grade_dist_15_up,-0.046010368210409304,-0.046010368210409304,-0.046000000089406967,0 +coef_grade_dist_5_15,0.011795679963699891,0.011795679963699891,-0.20309999585151672,0 +coef_high_dist_0_1,-0.48267138976026713,-0.48267138976026713,-0.95230001211166382,0 +coef_high_dist_15_up,-0.18818654818448871,-0.18818654818448871,-0.18819999694824219,0 +coef_high_dist_5_15,-0.12203943917498229,-0.12203943917498229,-0.19300000369548798,0 +coef_high_grade_dist_1_2,-0.2740077638163641,-0.2740077638163641,-0.56999999284744263,0 +coef_high_grade_dist_2_5,-0.12717991662132286,-0.12717991662132286,-0.56999999284744263,0 +coef_mode_logsum,0.28675535602711366,0.28675535602711366,0.53579998016357422,0 +coef_univ_dist_0_1,-0.20246864835878667,-0.20246864835878667,-3.2451000213623047,0 +coef_univ_dist_15_up,-0.072999830047635036,-0.072999830047635036,-0.072999998927116394,0 +coef_univ_dist_1_2,-0.50654663083945994,-0.50654663083945994,-2.7011001110076904,0 +coef_univ_dist_2_5,0.095856729554638809,0.095856729554638809,-0.57069998979568481,0 +coef_univ_dist_5_15,-0.1412133832985831,-0.1412133832985831,-0.50019997358322144,0 +gradeschool_AGE0519,0,0,0,0 +highschool_HSENROLL,0,0,0,0 +university_COLLFTE,-0.52424865961074829,-0.52424865961074829,-0.52424865961074829,0 +university_COLLPTE,-1275009.279056468,-1275009.279056468,-0.89648813009262085,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_school_location_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_school_location_loglike.csv index cf413cb0ad..61faa0892d 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_school_location_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_school_location_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-4070.349038545839,-4058.2217953154559 +0,-3150.9027927232128,-2472.1256126886806 diff --git a/activitysim/estimation/test/test_larch_estimation/test_school_location_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_school_location_size_spec.csv index 44852f23f4..b5a4700325 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_school_location_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_school_location_size_spec.csv @@ -1,9 +1,9 @@ ,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -0,work_low,workplace,0,0.12912912912912916,0.19319319319319325,0.38338338338338335,0.12012012012012015,0.010010010010010012,0.1641641641641641,0,0,0,0 -1,work_med,workplace,0,0.12012012012012013,0.19719719719719711,0.32532532532532538,0.13913913913913917,0.0080080080080080097,0.21021021021021022,0,0,0,0 +0,work_low,workplace,0,0.12912912912912911,0.19319319319319317,0.38338338338338335,0.12012012012012011,0.01001001001001001,0.16416416416416416,0,0,0,0 +1,work_med,workplace,0,0.12012012012012012,0.19719719719719719,0.32532532532532532,0.13913913913913914,0.0080080080080080079,0.21021021021021019,0,0,0,0 2,work_high,workplace,0,0.11,0.20699999999999999,0.28399999999999997,0.154,0.0060000000000000001,0.23899999999999999,0,0,0,0 3,work_veryhigh,workplace,0,0.092999999999999999,0.27000000000000002,0.24099999999999999,0.14599999999999999,0.0040000000000000001,0.246,0,0,0,0 -4,university,school,0,0,0,0,0,0,0,0,0,0.66475996651277125,0.33524003348722875 +4,university,school,0,0,0,0,0,0,0,0,0,1,0 5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 7,escort,non_mandatory,0,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46500000000000002,0.16600000000000001,0,0 @@ -14,10 +14,10 @@ 12,othdiscr,non_mandatory,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 13,atwork,atwork,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 14,work,trip,0,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0,0,0,0 -15,escort,trip,0.0010000000000000002,0.22500000000000003,0,0.14400000000000002,0,0,0,0.46399999999999997,0.16600000000000004,0,0 +15,escort,trip,0.001,0.22500000000000001,0,0.14399999999999999,0,0,0,0.46400000000000002,0.16600000000000001,0,0 16,shopping,trip,0.001,0.999,0,0,0,0,0,0,0,0,0 17,eatout,trip,0,0.74199999999999999,0,0.25800000000000001,0,0,0,0,0,0,0 18,othmaint,trip,0.001,0.48099999999999998,0,0.51800000000000002,0,0,0,0,0,0,0 19,social,trip,0.001,0.52100000000000002,0,0.47799999999999998,0,0,0,0,0,0,0 20,othdiscr,trip,0.25225225225225223,0.2122122122122122,0,0.2722722722722723,0.16516516516516516,0,0,0,0.098098098098098108,0,0 -21,univ,trip,0.000999000999000999,0,0,0,0,0,0,0,0,0.59140859140859148,0.4075924075924075 +21,univ,trip,0.00099900099900099922,0,0,0,0,0,0,0,0,0.59140859140859148,0.40759240759240761 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_.csv index b05f6c9283..a34334c190 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_.csv @@ -1,111 +1,111 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coefficient_at_work_sub_tour_asc_business1,1.4214079856419304,-0.53720000000000001,0,,,1.4214079856419304 -coefficient_at_work_sub_tour_asc_business2,-0.13077793218906725,-2.1337000000000002,0,,,-0.13077793218906725 -coefficient_at_work_sub_tour_asc_eat,5.8090564007216319,0.85760000000000003,0,,,5.8090564007216319 -coefficient_at_work_sub_tour_asc_eat_business,-23.415365723862234,-0.97209999999999996,0,,,-23.415365723862234 -coefficient_at_work_sub_tour_asc_maint,12.910479269683176,-0.61980000000000002,0,,,12.910479269683176 -coefficient_auto_accessibility_to_retail_for_work_taz_business1,-0.23508337555533637,0.053400000000000003,0,,,-0.23508337555533637 -coefficient_auto_accessibility_to_retail_for_work_taz_business2,2.9511349220652563,0.1067,0,,,2.9511349220652563 -coefficient_auto_accessibility_to_retail_for_work_taz_eat,-0.7610481619548336,0.014999999999999999,0,,,-0.7610481619548336 -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,1.5155478484531482,0.0683,0,,,1.5155478484531482 -coefficient_auto_accessibility_to_retail_for_work_taz_maint,-3.2006512330401198,0.026499999999999999,0,,,-3.2006512330401198 -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,3.9438022928732326,0.99009999999999998,0,,,3.9438022928732326 -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,-7.2851228526180369,1.9802,0,,,-7.2851228526180369 -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,3.2162405355786916,0.48039999999999999,0,,,3.2162405355786916 -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,2.3334830273468778,1.4704999999999999,0,,,2.3334830273468778 -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,3.8657969968183186,1.153,0,,,3.8657969968183186 -coefficient_dummy_for_full_time_worker_business1,-11.365293683630657,-7.375,0,,,-11.365293683630657 -coefficient_dummy_for_full_time_worker_business2,-13.833915024299738,-14.279999999999999,0,,,-13.833915024299738 -coefficient_dummy_for_full_time_worker_eat,-9.545917028191262,-7.2800000000000002,0,,,-9.545917028191262 -coefficient_dummy_for_full_time_worker_eat_business,-11.192168369499433,-14.789999999999999,0,,,-11.192168369499433 -coefficient_dummy_for_full_time_worker_maint,-5.8807058943821362,-8.093,0,,,-5.8807058943821362 -coefficient_dummy_for_non_full_time_worker_business1,-2.3700983307274996,-8.3190000000000008,0,,,-2.3700983307274996 -coefficient_dummy_for_non_full_time_worker_business2,-12.723162907889261,-14.279999999999999,0,,,-12.723162907889261 -coefficient_dummy_for_non_full_time_worker_eat,-1.3866265710866461,-8.6039999999999992,0,,,-1.3866265710866461 -coefficient_dummy_for_non_full_time_worker_eat_business,-40.831097354363017,-14.789999999999999,0,,,-40.831097354363017 -coefficient_dummy_for_non_full_time_worker_maint,3.1039851640661054,-8.2140000000000004,0,,,3.1039851640661054 -coefficient_dummy_for_non_workers_business1,-5,-5,0,-5,-5,-5 -coefficient_dummy_for_non_workers_business2,-5,-5,0,-5,-5,-5 -coefficient_dummy_for_non_workers_eat,0,0,0,0,0,0 -coefficient_dummy_for_non_workers_eat_business,-5,-5,0,-5,-5,-5 -coefficient_dummy_for_non_workers_maint,-5,-5,0,-5,-5,-5 -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,0,0,0,0,0 -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,0,0,0,0,0 -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,0,0,0,0,0 -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,0,0,0,0,0 -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.44654348916818676,-0.35730000000000001,0,,,-0.44654348916818676 -coefficient_high_hh_income_dummy_business1,-5.6994858911518085,1.0660000000000001,0,,,-5.6994858911518085 -coefficient_high_hh_income_dummy_business2,18.177579828448355,2.1320000000000001,0,,,18.177579828448355 -coefficient_high_hh_income_dummy_eat,-5.3601399728515835,0.86929999999999996,0,,,-5.3601399728515835 -coefficient_high_hh_income_dummy_eat_business,5.9493499938492986,1.9353,0,,,5.9493499938492986 -coefficient_high_hh_income_dummy_maint,-6.8996039582959119,0.1651,0,,,-6.8996039582959119 -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,-1.4238674423340238,0.70450000000000002,0,,,-1.4238674423340238 -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,19.497249614698436,1.409,0,,,19.497249614698436 -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,-1.4579805637692655,0.2334,0,,,-1.4579805637692655 -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,-11.112941997302819,0.93789999999999996,0,,,-11.112941997302819 -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,-1.7115596112922862,0.50609999999999999,0,,,-1.7115596112922862 -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,1.7016751707114186,0.70450000000000002,0,,,1.7016751707114186 -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.5313378193861862,1.409,0,,,1.5313378193861862 -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.98156496358878631,0.67759999999999998,0,,,0.98156496358878631 -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,0.21527427337992269,1.3821000000000001,0,,,0.21527427337992269 -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.24944777293344775,0.50609999999999999,0,,,0.24944777293344775 -coefficient_individual_eating_out_tours_made_by_person_business1,0.42490805390828246,0.54339999999999999,0,,,0.42490805390828246 -coefficient_individual_eating_out_tours_made_by_person_business2,16.88422034232115,1.0868,0,,,16.88422034232115 -coefficient_individual_eating_out_tours_made_by_person_eat,-0.21103858651833801,0.54910000000000003,0,,,-0.21103858651833801 -coefficient_individual_eating_out_tours_made_by_person_eat_business,-13.757488989198457,1.0925,0,,,-13.757488989198457 -coefficient_individual_eating_out_tours_made_by_person_maint,0.84779917948707073,0.91659999999999997,0,,,0.84779917948707073 -coefficient_log_of_the_work_tour_duration_business1,10.797431417603184,1.1419999999999999,0,,,10.797431417603184 -coefficient_log_of_the_work_tour_duration_business2,-41.041133510722389,2.2839999999999998,0,,,-41.041133510722389 -coefficient_log_of_the_work_tour_duration_eat,9.912073454627409,1.55,0,,,9.912073454627409 -coefficient_log_of_the_work_tour_duration_eat_business,19.216017820975473,2.6920000000000002,0,,,19.216017820975473 -coefficient_log_of_the_work_tour_duration_maint,10.442610817511719,1.659,0,,,10.442610817511719 -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,5.2452009890599847,-0.1903,0,,,5.2452009890599847 -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-5.9574096875877984,-0.38059999999999999,0,,,-5.9574096875877984 -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,5.7343399360868084,0.051999999999999998,0,,,5.7343399360868084 -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-11.365551805409792,-0.24229999999999999,0,,,-11.365551805409792 -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,5.726820567850968,0.14460000000000001,0,,,5.726820567850968 -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-14.379203352289357,-0.1903,0,,,-14.379203352289357 -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,0.18243743982694705,-0.38059999999999999,0,,,0.18243743982694705 -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,6.6450879837969055,-0.30990000000000001,0,,,6.6450879837969055 -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.49226068812509693,-0.50019999999999998,0,,,-0.49226068812509693 -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,6.3906386167906994,-0.27229999999999999,0,,,6.3906386167906994 -coefficient_medium_hh_income_dummy_business1,-3.2862939594211058,0.55549999999999999,0,,,-3.2862939594211058 -coefficient_medium_hh_income_dummy_business2,2.0060702575802463,1.111,0,,,2.0060702575802463 -coefficient_medium_hh_income_dummy_eat,-2.5300981505732136,0.60999999999999999,0,,,-2.5300981505732136 -coefficient_medium_hh_income_dummy_eat_business,10.500987924287303,1.1655,0,,,10.500987924287303 -coefficient_medium_hh_income_dummy_maint,-3.0959660718740842,0.1527,0,,,-3.0959660718740842 -coefficient_participation_in_joint_discretionary_tours_business1,0.88783303805250202,-0.26369999999999999,0,,,0.88783303805250202 -coefficient_participation_in_joint_discretionary_tours_business2,-0.41998352565813962,-0.52739999999999998,0,,,-0.41998352565813962 -coefficient_participation_in_joint_discretionary_tours_eat,-0.24481723660555421,0.35880000000000001,0,,,-0.24481723660555421 -coefficient_participation_in_joint_discretionary_tours_eat_business,-2.7238766448704519,0.095100000000000004,0,,,-2.7238766448704519 -coefficient_participation_in_joint_discretionary_tours_maint,2.7458443690817487,0.58220000000000005,0,,,2.7458443690817487 -coefficient_participation_in_joint_shop_main_eat_tours_business1,3.5611554115337705,0.083000000000000004,0,,,3.5611554115337705 -coefficient_participation_in_joint_shop_main_eat_tours_business2,-0.28005028801856696,0.16600000000000001,0,,,-0.28005028801856696 -coefficient_participation_in_joint_shop_main_eat_tours_eat,1.988636928413654,0.24579999999999999,0,,,1.988636928413654 -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,-6.5451744879809857,0.32879999999999998,0,,,-6.5451744879809857 -coefficient_participation_in_joint_shop_main_eat_tours_maint,2.1793324360516571,0.080299999999999996,0,,,2.1793324360516571 -coefficient_two_work_tours_by_person_business1,3.6940239753295181,0.37530000000000002,0,,,3.6940239753295181 -coefficient_two_work_tours_by_person_business2,-4.1046837844384205,0.75060000000000004,0,,,-4.1046837844384205 -coefficient_two_work_tours_by_person_eat,1.927236938048462,-0.98619999999999997,0,,,1.927236938048462 -coefficient_two_work_tours_by_person_eat_business,-5.4249750305237576,-0.6109,0,,,-5.4249750305237576 -coefficient_two_work_tours_by_person_maint,3.2059979015841251,-0.23119999999999999,0,,,3.2059979015841251 -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,0,0,0,0,0 -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,0,0,0,0,0 -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.053293769108333916,0.059999999999999998,0,,,0.053293769108333916 -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,-0.46901654329224335,0.059999999999999998,0,,,-0.46901654329224335 -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.39304906249970034,0.040000000000000001,0,,,0.39304906249970034 -coefficient_workplace_suburban_area_dummy_business1,-0.11020000000000001,-0.11020000000000001,0,,,-0.11020000000000001 -coefficient_workplace_suburban_area_dummy_business2,-0.22040000000000001,-0.22040000000000001,0,,,-0.22040000000000001 -coefficient_workplace_suburban_area_dummy_eat,-0.29160000000000003,-0.29160000000000003,0,,,-0.29160000000000003 -coefficient_workplace_suburban_area_dummy_eat_business,-0.40179999999999999,-0.40179999999999999,0,,,-0.40179999999999999 -coefficient_workplace_suburban_area_dummy_maint,0,0,0,0,0,0 -coefficient_workplace_urban_area_dummy_business1,1.7351079856418732,-0.2235,0,,,1.7351079856418732 -coefficient_workplace_urban_area_dummy_business2,1.5559220678109973,-0.44700000000000001,0,,,1.5559220678109973 -coefficient_workplace_urban_area_dummy_eat,4.5332564007214371,-0.41820000000000002,0,,,4.5332564007214371 -coefficient_workplace_urban_area_dummy_eat_business,-23.084965723862449,-0.64170000000000005,0,,,-23.084965723862449 -coefficient_workplace_urban_area_dummy_maint,13.382379269683053,-0.1479,0,,,13.382379269683053 -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.5268759138584419,-0.33910000000000001,0,,,-0.5268759138584419 -coefficient_zero_cars_owned_by_hh_dummy_business2,0,0,0,0,0,0 -coefficient_zero_cars_owned_by_hh_dummy_eat,0,0,0,0,0,0 -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-19.11629098153702,-0.33910000000000001,0,,,-19.11629098153702 -coefficient_zero_cars_owned_by_hh_dummy_maint,0.55934969853310723,0.1762,0,,,0.55934969853310723 +param_name,value,best,initvalue,nullvalue +coefficient_at_work_sub_tour_asc_business1,-4.6364509649106624,-4.636450908579854,-0.53719997406005859,0 +coefficient_at_work_sub_tour_asc_business2,-1.8249400470488537,-1.8249400513348371,-2.133699893951416,0 +coefficient_at_work_sub_tour_asc_eat,-1.2025517519916142,-1.2025517383789965,0.85759997367858887,0 +coefficient_at_work_sub_tour_asc_eat_business,-2.4601386278749016,-2.460138609917645,-0.97210001945495605,0 +coefficient_at_work_sub_tour_asc_maint,6.7188815064577412,6.718881422843042,-0.61979997158050537,0 +coefficient_auto_accessibility_to_retail_for_work_taz_business1,1.5195960607537637,1.5195960534758026,0.053399998694658279,0 +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.39623374265129618,0.3962337362698467,0.10670000314712524,0 +coefficient_auto_accessibility_to_retail_for_work_taz_eat,1.244843971401054,1.2448439700604323,0.014999999664723873,0 +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,-1.4936433037222552,-1.4936433133522584,0.068300001323223114,0 +coefficient_auto_accessibility_to_retail_for_work_taz_maint,-1.3971304685665173,-1.397130443936482,0.026499999687075615,0 +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,2.5403075484019295,2.5403075438954636,0.99010002613067627,0 +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,-1.5471111587719255,-1.5471111364437549,1.9802000522613525,0 +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,1.8134290820782721,1.8134290762249321,0.48039999604225159,0 +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,0.81302147728988705,0.81302147967997473,1.4704999923706055,0 +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,2.4545531149456474,2.4545531005871952,1.1529999971389771,0 +coefficient_dummy_for_full_time_worker_business1,-10.835277488785893,-10.83527745465712,-7.375,0 +coefficient_dummy_for_full_time_worker_business2,-13.651388366502351,-13.651388372174022,-14.279999732971191,0 +coefficient_dummy_for_full_time_worker_eat,-9.4982645189968196,-9.4982645055658654,-7.2800002098083496,0 +coefficient_dummy_for_full_time_worker_eat_business,-12.473124948668486,-12.473124950259384,-14.789999961853027,0 +coefficient_dummy_for_full_time_worker_maint,-5.3599449936662609,-5.3599450339634185,-8.0930004119873047,0 +coefficient_dummy_for_non_full_time_worker_business1,-8.9579737462053064,-8.9579737240032706,-8.319000244140625,0 +coefficient_dummy_for_non_full_time_worker_business2,-14.599851252537475,-14.599851251151787,-14.279999732971191,0 +coefficient_dummy_for_non_full_time_worker_eat,-8.4458875080344917,-8.445887507852829,-8.6040000915527344,0 +coefficient_dummy_for_non_full_time_worker_eat_business,-18.594913583457473,-18.594913563909319,-14.789999961853027,0 +coefficient_dummy_for_non_full_time_worker_maint,-3.6083736885127893,-3.6083737318303313,-8.2139997482299805,0 +coefficient_dummy_for_non_workers_business1,-5,-5,-5,0 +coefficient_dummy_for_non_workers_business2,-5,-5,-5,0 +coefficient_dummy_for_non_workers_eat,0,0,0,0 +coefficient_dummy_for_non_workers_eat_business,-5,-5,-5,0 +coefficient_dummy_for_non_workers_maint,-5,-5,-5,0 +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,0,0,0 +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,0,0,0 +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,0,0,0 +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,0,0,0 +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.41501623497381018,-0.4150162451792187,-0.35730001330375671,0 +coefficient_high_hh_income_dummy_business1,-0.33979337120056141,-0.33979335118765108,1.0659999847412109,0 +coefficient_high_hh_income_dummy_business2,4.2112639057799823,4.2112638870883581,2.1319999694824219,0 +coefficient_high_hh_income_dummy_eat,0.023039749877190804,0.023039775965731642,0.86930000782012939,0 +coefficient_high_hh_income_dummy_eat_business,3.7450872508803248,3.745087211197407,1.9352999925613403,0 +coefficient_high_hh_income_dummy_maint,-1.471897587383632,-1.471897575110541,0.16509999334812164,0 +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,-0.258886010731674,-0.25888602469708244,0.70450001955032349,0 +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,10.013216960858641,10.013216913800566,1.409000039100647,0 +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,-0.27143991243306015,-0.27143990533123996,0.23340000212192535,0 +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,-5.1450511716765561,-5.1450511394525638,0.93790000677108765,0 +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,-0.54693979952226501,-0.54693977782459402,0.50609999895095825,0 +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,1.5008073499859345,1.5008073606710928,0.70450001955032349,0 +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.3725147779808102,1.3725147781405138,1.409000039100647,0 +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.8707190441243009,0.8707190632298788,0.67760002613067627,0 +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,0.75707630852833474,0.75707631165373623,1.382099986076355,0 +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.17818258918958901,0.17818255611374761,0.50609999895095825,0 +coefficient_individual_eating_out_tours_made_by_person_business1,1.2291884533614996,1.2291884357040239,0.54339998960494995,0 +coefficient_individual_eating_out_tours_made_by_person_business2,5.3890915350859343,5.3890915063685627,1.0867999792098999,0 +coefficient_individual_eating_out_tours_made_by_person_eat,0.59241286979897301,0.59241286727354991,0.54909998178482056,0 +coefficient_individual_eating_out_tours_made_by_person_eat_business,-4.6396338093217437,-4.6396337749049197,1.0924999713897705,0 +coefficient_individual_eating_out_tours_made_by_person_maint,1.6173408620021299,1.6173408764855761,0.91659998893737793,0 +coefficient_log_of_the_work_tour_duration_business1,2.8745950964750677,2.8745950289586566,1.1419999599456787,0 +coefficient_log_of_the_work_tour_duration_business2,-9.4213725166497184,-9.4213723813479699,2.2839999198913574,0 +coefficient_log_of_the_work_tour_duration_eat,2.0174558496514647,2.0174558005400733,1.5499999523162842,0 +coefficient_log_of_the_work_tour_duration_eat_business,11.401343306668366,11.401343332337083,2.6919999122619629,0 +coefficient_log_of_the_work_tour_duration_maint,2.4549780473709193,2.4549780030282569,1.659000039100647,0 +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,1.1088398218159976,1.1088398127197108,-0.19030000269412994,0 +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.57516973946012429,-0.575169738593175,-0.38060000538825989,0 +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,1.5872866399810972,1.5872866248218596,0.052000001072883606,0 +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-4.2886646505292108,-4.2886646240189545,-0.24230000376701355,0 +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,1.5511079213734775,1.5511079182517966,0.14460000395774841,0 +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-6.3194536970520918,-6.3194536671381956,-0.19030000269412994,0 +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.45741583885508108,-0.45741583852963658,-0.38060000538825989,0 +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,3.0910693656661703,3.0910693473970023,-0.30989998579025269,0 +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.85983485391771264,-0.85983485226518608,-0.50019997358322144,0 +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,2.8923350517436197,2.8923350381209207,-0.27230000495910645,0 +coefficient_medium_hh_income_dummy_business1,-1.1331895926048559,-1.1331895937415595,0.55549997091293335,0 +coefficient_medium_hh_income_dummy_business2,0.81318352183524256,0.81318352315710596,1.1109999418258667,0 +coefficient_medium_hh_income_dummy_eat,-0.34741746210681906,-0.3474174464669022,0.61000001430511475,0 +coefficient_medium_hh_income_dummy_eat_business,5.121964519155811,5.1219645052482301,1.1655000448226929,0 +coefficient_medium_hh_income_dummy_maint,-0.85984100745095871,-0.8598410093684542,0.15270000696182251,0 +coefficient_participation_in_joint_discretionary_tours_business1,0.30193135342719479,0.30193135643871699,-0.26370000839233398,0 +coefficient_participation_in_joint_discretionary_tours_business2,-0.59379173063206181,-0.59379173033201538,-0.52740001678466797,0 +coefficient_participation_in_joint_discretionary_tours_eat,-0.97053293091235093,-0.9705329212314463,0.35879999399185181,0 +coefficient_participation_in_joint_discretionary_tours_eat_business,-0.5490816124017508,-0.54908160890359503,0.095100000500679016,0 +coefficient_participation_in_joint_discretionary_tours_maint,2.0564748805838153,2.056474864093186,0.58219999074935913,0 +coefficient_participation_in_joint_shop_main_eat_tours_business1,1.8768257580478833,1.8768257619258122,0.082999996840953827,0 +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.055786350132296811,0.055786350662721744,0.16599999368190765,0 +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.31370718460939551,0.31370718509133344,0.24580000340938568,0 +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,-1.8724721811608103,-1.8724721667874074,0.32879999279975891,0 +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.53005287839341431,0.53005285912971956,0.080300003290176392,0 +coefficient_two_work_tours_by_person_business1,0.78174817096251792,0.78174816097861666,0.37529999017715454,0 +coefficient_two_work_tours_by_person_business2,0.67460859753132585,0.67460859786572203,0.75059998035430908,0 +coefficient_two_work_tours_by_person_eat,-0.96831618429168598,-0.96831618402710151,-0.98619997501373291,0 +coefficient_two_work_tours_by_person_eat_business,-1.4448302925402916,-1.4448302854771486,-0.61089998483657837,0 +coefficient_two_work_tours_by_person_maint,0.25438972433601764,0.2543897266577953,-0.23119999468326569,0 +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,0,0,0 +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,0,0,0 +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.024318701408312954,0.024318700872964293,0.059999998658895493,0 +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,-0.098985033594679236,-0.098985043830151581,0.059999998658895493,0 +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.37714309948187719,0.37714309907729421,0.039999999105930328,0 +coefficient_workplace_suburban_area_dummy_business1,-0.11020000278949738,-0.11020000278949738,-0.11020000278949738,0 +coefficient_workplace_suburban_area_dummy_business2,-0.22040000557899475,-0.22040000557899475,-0.22040000557899475,0 +coefficient_workplace_suburban_area_dummy_eat,-0.29159998893737793,-0.29159998893737793,-0.29159998893737793,0 +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018000066280365,-0.4018000066280365,-0.4018000066280365,0 +coefficient_workplace_suburban_area_dummy_maint,0,0,0,0 +coefficient_workplace_urban_area_dummy_business1,-4.3227509893008715,-4.3227509329700631,-0.22349999845027924,0 +coefficient_workplace_urban_area_dummy_business2,-0.13824014999799764,-0.13824015428398095,-0.44699999690055847,0 +coefficient_workplace_urban_area_dummy_eat,-2.4783517118896161,-2.4783516982769984,-0.41819998621940613,0 +coefficient_workplace_urban_area_dummy_eat_business,-2.1297386377930989,-2.1297386198358423,-0.64170002937316895,0 +coefficient_workplace_urban_area_dummy_maint,7.1907814778236281,7.1907813942089289,-0.14790000021457672,0 +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.48372662658348159,-0.48372661407098899,-0.33910000324249268,0 +coefficient_zero_cars_owned_by_hh_dummy_business2,0,0,0,0 +coefficient_zero_cars_owned_by_hh_dummy_eat,0,0,0,0 +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-7.372632298534227,-7.3726322561599522,-0.33910000324249268,0 +coefficient_zero_cars_owned_by_hh_dummy_maint,0.53982915542758059,0.53982913595117754,0.17620000243186951,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_loglike.csv index 2f32cb32aa..b0b7c83312 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_atwork_subtour_frequency_SLSQP_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-339.26475293528824,-311.08163243830268 +0,-339.26475419242206,-311.72832904369682 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_auto_ownership_BHHH_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_auto_ownership_BHHH_.csv index 36f7acad3f..a45f944823 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_auto_ownership_BHHH_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_auto_ownership_BHHH_.csv @@ -1,4 +1,4 @@ -,value,initvalue,nullvalue,minimum,maximum,best +param_name,value,initvalue,nullvalue,minimum,maximum,best coef_cars1_asc,4.7447107380921025,1.1865000000000001,0,,,4.7447107380921025 coef_cars1_asc_county,-0.56599882256075029,-0.56599999999999995,0,,,-0.56599882256075029 coef_cars1_asc_marin,-0.24339921273778259,-0.24340000000000001,0,,,-0.24339921273778259 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_free_parking_BHHH_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_free_parking_BHHH_.csv index d721934bd3..ab1d9efd30 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_free_parking_BHHH_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_free_parking_BHHH_.csv @@ -1,4 +1,4 @@ -,value,initvalue,nullvalue,minimum,maximum,holdfast,best +param_name,value,initvalue,nullvalue,minimum,maximum,holdfast,best 0.0,0,0,0,0,0,1,0 coef_asc_alameda,-0.10920000000000001,-0.10920000000000001,0,,,0,-0.10920000000000001 coef_asc_san_francisco,-2.4563318326358723,-2.6402999999999999,0,,,0,-2.4563318326358723 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_.csv index 40c2da343d..f6db0bb7da 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_.csv @@ -1,32 +1,32 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_asc_children,121.62774629212394,5.3517000000000001,0,,,121.62774629212394 -coef_asc_mixed,-88.249612624384525,5.6289999999999996,0,,,-88.249612624384525 -coef_household_has_more_cars_than_workers_adults,-40.894264494991035,1.3859999999999999,0,,,-40.894264494991035 -coef_household_has_more_cars_than_workers_mixed,153.8152034125998,0.751,0,,,153.8152034125998 -coef_household_in_suburban_area_adults,0.51049999999999995,0.51049999999999995,0,,,0.51049999999999995 -coef_household_in_suburban_area_mixed,0.1283,0.1283,0,,,0.1283 -coef_household_in_urban_area,-21.823333667739977,0.57410000000000005,0,,,-21.823333667739977 -coef_log_max_overlap_of_adults_time_windows,-36.285976396423372,1.1919999999999999,0,,,-36.285976396423372 -coef_log_max_overlap_of_childrens_time_windows,283.69666707732551,1.841,0,,,283.69666707732551 -coef_log_max_overlap_of_time_windows,196.72857307970887,1.958,0,,,196.72857307970887 -coef_low_income_households_adults,-16.894953557817836,1.248,0,,,-16.894953557817836 -coef_low_income_households_mixed,-3.1435928555076917,0.57550000000000001,0,,,-3.1435928555076917 -coef_medium_income_households,-161.72738528562726,0.83689999999999998,0,,,-161.72738528562726 -coef_number_of_children_too_young_for_school_children,-110.04828004959086,0.73060000000000003,0,,,-110.04828004959086 -coef_number_of_children_too_young_for_school_mixed,9.5393263775476171,0.79059999999999997,0,,,9.5393263775476171 -coef_number_of_driving_age_children_children,-172.31193722793208,-0.26669999999999999,0,,,-172.31193722793208 -coef_number_of_driving_age_children_mixed,184.76140753321386,-0.93989999999999996,0,,,184.76140753321386 -coef_number_of_full_time_workers_adults,185.49031080785167,1.024,0,,,185.49031080785167 -coef_number_of_full_time_workers_mixed,50.943192997924122,0.3624,0,,,50.943192997924122 -coef_number_of_non_workers_adults,40.041010494333662,0.62629999999999997,0,,,40.041010494333662 -coef_number_of_non_workers_mixed,-96.438665924994751,-0.37240000000000001,0,,,-96.438665924994751 -coef_number_of_part_time_workers_adults,47.088158071231007,0.54120000000000001,0,,,47.088158071231007 -coef_number_of_part_time_workers_mixed,58.958712458292865,0.31640000000000001,0,,,58.958712458292865 -coef_number_of_pre_driving_age_children_children,12.678858152945852,0.73060000000000003,0,,,12.678858152945852 -coef_number_of_pre_driving_age_children_mixed,158.96026734481441,0.35320000000000001,0,,,158.96026734481441 -coef_number_of_university_students,-5.007830161412854,0.82450000000000001,0,,,-5.007830161412854 -coef_tour_purpose_is_discretionary_adults,0.76480000000000004,0.76480000000000004,0,,,0.76480000000000004 -coef_tour_purpose_is_discretionary_children,0.5101,0.5101,0,,,0.5101 -coef_tour_purpose_is_eating_out_children,-0.96779999999999999,-0.96779999999999999,0,,,-0.96779999999999999 -coef_tour_purpose_is_eating_out_mixed,-0.80269999999999997,-0.80269999999999997,0,,,-0.80269999999999997 -coef_unavailable,-999,-999,0,-999,-999,-999 +param_name,value,best,initvalue,nullvalue +coef_asc_children,31.580459657771478,31.580459657771478,5.3516998291015625,0 +coef_asc_mixed,-8.4815755302186577,-8.4815755302186577,5.629000186920166,0 +coef_household_has_more_cars_than_workers_adults,-14.008943838901908,-14.008943838901908,1.3860000371932983,0 +coef_household_has_more_cars_than_workers_mixed,25.695328937041246,25.695328937041246,0.75099998712539673,0 +coef_household_in_suburban_area_adults,0.51050001382827759,0.51050001382827759,0.51050001382827759,0 +coef_household_in_suburban_area_mixed,0.12829999625682831,0.12829999625682831,0.12829999625682831,0 +coef_household_in_urban_area,-11.544084093965571,-11.544084093965571,0.57410001754760742,0 +coef_log_max_overlap_of_adults_time_windows,-25.921679816393258,-25.921679816393258,1.1920000314712524,0 +coef_log_max_overlap_of_childrens_time_windows,50,50,1.840999960899353,0 +coef_log_max_overlap_of_time_windows,43.185336045455792,43.185336045455792,1.9579999446868896,0 +coef_low_income_households_adults,-4.7176489111037725,-4.7176489111037725,1.2480000257492065,0 +coef_low_income_households_mixed,-9.0408081421508903,-9.0408081421508903,0.5755000114440918,0 +coef_medium_income_households,-34.499486089811263,-34.499486089811263,0.83689999580383301,0 +coef_number_of_children_too_young_for_school_children,-13.855996312009184,-13.855996312009184,0.73059999942779541,0 +coef_number_of_children_too_young_for_school_mixed,4.4802268807421637,4.4802268807421637,0.7906000018119812,0 +coef_number_of_driving_age_children_children,-46.217713310558153,-46.217713310558153,-0.26669999957084656,0 +coef_number_of_driving_age_children_mixed,50,50,-0.9398999810218811,0 +coef_number_of_full_time_workers_adults,28.469430749747154,28.469430749747154,1.0240000486373901,0 +coef_number_of_full_time_workers_mixed,2.5181990493930466,2.5181990493930466,0.36239999532699585,0 +coef_number_of_non_workers_adults,6.8107526564830181,6.8107526564830181,0.62629997730255127,0 +coef_number_of_non_workers_mixed,-27.464491079595931,-27.464491079595931,-0.37239998579025269,0 +coef_number_of_part_time_workers_adults,12.100761555344075,12.100761555344075,0.54119998216629028,0 +coef_number_of_part_time_workers_mixed,-2.6898434127139574,-2.6898434127139574,0.31639999151229858,0 +coef_number_of_pre_driving_age_children_children,6.9278442677705971,6.9278442677705971,0.73059999942779541,0 +coef_number_of_pre_driving_age_children_mixed,34.880087194025478,34.880087194025478,0.35319998860359192,0 +coef_number_of_university_students,-3.4995325852033643,-3.4995325852033643,0.82450002431869507,0 +coef_tour_purpose_is_discretionary_adults,0.76480001211166382,0.76480001211166382,0.76480001211166382,0 +coef_tour_purpose_is_discretionary_children,0.51010000705718994,0.51010000705718994,0.51010000705718994,0 +coef_tour_purpose_is_eating_out_children,-0.96780002117156982,-0.96780002117156982,-0.96780002117156982,0 +coef_tour_purpose_is_eating_out_mixed,-0.8026999831199646,-0.8026999831199646,-0.8026999831199646,0 +coef_unavailable,-999,-999,-999,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_loglike.csv index 449c94c47f..1db96994d6 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_composition_SLSQP_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-9.9910306200781598,-9.7865975960368618e-07 +0,-9.9910303886936802,-0.01512359141580788 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_frequency_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_frequency_SLSQP_.csv index f6102d3c39..833d9f4425 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_frequency_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_frequency_SLSQP_.csv @@ -1,77 +1,77 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_asc_0_tours,0,0,0,0,0,0 -coef_asc_1_Disc,-5.8578427473231667,-5.4805999999999999,0,,,-5.8578427473231667 -coef_asc_1_Eat,-5.140469329663599,-6.3757000000000001,0,,,-5.140469329663599 -coef_asc_1_Main,-4.843654155024959,-5.7389000000000001,0,,,-4.843654155024959 -coef_asc_1_Shop,-7.2448952266310895,-6.0148999999999999,0,,,-7.2448952266310895 -coef_asc_1_Visit,-5.9621489630619173,-5.8818000000000001,0,,,-5.9621489630619173 -coef_asc_2_tours,-15.379573080742464,-14.457599999999999,0,,,-15.379573080742464 -coef_drivingAgeStuMandMaxThree_disc,0.26420610778627868,0.19320000000000001,0,,,0.26420610778627868 -coef_drivingAgeStuMandMaxThree_maint,-0.20497838559876363,-0.32369999999999999,0,,,-0.20497838559876363 -coef_fewerCarsThanDrivers_maint,-0.23616022935294756,0.46100000000000002,0,,,-0.23616022935294756 -coef_fewerCarsThanDrivers_shopping,0.61204166063349064,0.25230000000000002,0,,,0.61204166063349064 -coef_fullTimeHomeMaxThree_zero_tours,2.0014370751255011,1.175,0,,,2.0014370751255011 -coef_fullTimeMandMaxThree_maint,-0.46248818198458952,-0.3009,0,,,-0.46248818198458952 -coef_fullTimeMandMaxThree_shopping,0.14353937037596973,-0.2424,0,,,0.14353937037596973 -coef_fullTimeNonMandMaxThree_disc,0.21817599548271277,0.1275,0,,,0.21817599548271277 -coef_fullTimeNonMandMaxThree_eatout,0.32573071809647042,0.22750000000000001,0,,,0.32573071809647042 -coef_fullTimeNonMandMaxThree_maint,0.75962622449225758,0.31730000000000003,0,,,0.75962622449225758 -coef_fullTimeNonMandMaxThree_shopping,-0.88812895503399825,0.20519999999999999,0,,,-0.88812895503399825 -coef_fullTimeNonMandMaxThree_visiting,0.78859263531566071,0.64449999999999996,0,,,0.78859263531566071 -coef_incomeBetween50And100_disc,0.0083529208127054756,0.31669999999999998,0,,,0.0083529208127054756 -coef_incomeBetween50And100_eatout,0.1031885654385253,0.29770000000000002,0,,,0.1031885654385253 -coef_incomeGreaterThan100_disc,0.62493454802487425,0.48599999999999999,0,,,0.62493454802487425 -coef_incomeGreaterThan100_eatout,0.63535874552918015,0.44919999999999999,0,,,0.63535874552918015 -coef_incomeMissing_dummy_always_zero_disc,0.37230000000000002,0.37230000000000002,0,,,0.37230000000000002 -coef_incomeMissing_dummy_always_zero_eatout,0.27800000000000002,0.27800000000000002,0,,,0.27800000000000002 -coef_logTimeWindowOverlapAdultChild_disc,0.1502559618722121,0.22120000000000001,0,,,0.1502559618722121 -coef_logTimeWindowOverlapAdultChild_eatout,-0.32038060987279043,0.092100000000000001,0,,,-0.32038060987279043 -coef_logTimeWindowOverlapAdultChild_maint,0.26959218597469214,0.24429999999999999,0,,,0.26959218597469214 -coef_logTimeWindowOverlapAdultChild_shopping,-0.41532462974126461,0.1086,0,,,-0.41532462974126461 -coef_logTimeWindowOverlapAdult_disc,0.55965786525579331,0.34279999999999999,0,,,0.55965786525579331 -coef_logTimeWindowOverlapAdult_eatout,0.56061433677445105,0.48559999999999998,0,,,0.56061433677445105 -coef_logTimeWindowOverlapAdult_maint,0.4376387335084278,0.37140000000000001,0,,,0.4376387335084278 -coef_logTimeWindowOverlapAdult_shopping,0.86405876135539128,0.59450000000000003,0,,,0.86405876135539128 -coef_logTimeWindowOverlapChild_disc,-0.1693892803512011,0.1162,0,,,-0.1693892803512011 -coef_logTimeWindowOverlapChild_maint,-0.010378552711083917,0.17599999999999999,0,,,-0.010378552711083917 -coef_logTimeWindowOverlapChild_shopping,1.0366536984300598,0.1416,0,,,1.0366536984300598 -coef_moreCarsThanWorkers_eatout,0.079480888637893488,0.38250000000000001,0,,,0.079480888637893488 -coef_moreCarsThanWorkers_shopping,-0.62780216023973168,-0.30270000000000002,0,,,-0.62780216023973168 -coef_nonWorkerHomeMaxThree_zero_tours,-0.16941211649357898,1.514,0,,,-0.16941211649357898 -coef_nonWorkerNonMandMaxThree_disc,-0.11901239265508992,0.28710000000000002,0,,,-0.11901239265508992 -coef_nonWorkerNonMandMaxThree_eatout,-0.35447708036701164,0.182,0,,,-0.35447708036701164 -coef_nonWorkerNonMandMaxThree_maint,0.37255083379371662,0.46429999999999999,0,,,0.37255083379371662 -coef_nonWorkerNonMandMaxThree_shopping,0.52326322821604476,0.70779999999999998,0,,,0.52326322821604476 -coef_nonWorkerNonMandMaxThree_visiting,-0.35989963706226813,0.54749999999999999,0,,,-0.35989963706226813 -coef_partTimeHomeMaxThree_zero_tours,1.7000746681627035,1.4470000000000001,0,,,1.7000746681627035 -coef_partTimeNonMandMaxThree_disc,0.22644058039117623,0.49790000000000001,0,,,0.22644058039117623 -coef_partTimeNonMandMaxThree_eatout,-15.770618924654787,0.3765,0,,,-15.770618924654787 -coef_partTimeNonMandMaxThree_maint,0.12155923236230654,0.2452,0,,,0.12155923236230654 -coef_partTimeNonMandMaxThree_shopping,-0.19149733628062993,0.18659999999999999,0,,,-0.19149733628062993 -coef_partTimeNonMandMaxThree_visiting,0.34840797626260722,0.13320000000000001,0,,,0.34840797626260722 -coef_preDrivingAgeMandMaxThree_disc,0.58830436658291341,0.38619999999999999,0,,,0.58830436658291341 -coef_preDrivingAgeMandMaxThree_maint,0.05724992253344495,0.22989999999999999,0,,,0.05724992253344495 -coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,-0.26493959294530756,0.53000000000000003,0,,,-0.26493959294530756 -coef_preDrivingNonMandMaxThree_disc,0.46978892402747974,0.53310000000000002,0,,,0.46978892402747974 -coef_preDrivingNonMandMaxThree_eatout,-13.674346835309482,0.3851,0,,,-13.674346835309482 -coef_preDrivingNonMandMaxThree_maint,-0.4780031657291039,0.6482,0,,,-0.4780031657291039 -coef_preDrivingNonMandMaxThree_shopping,0.0054016798205857386,0.5474,0,,,0.0054016798205857386 -coef_preDrivingNonMandMaxThree_visiting,-1.7283257423524336,0.6008,0,,,-1.7283257423524336 -coef_retireeHomeMaxThree_zero_tours,0.3072054262466079,0.60529999999999995,0,,,0.3072054262466079 -coef_retireeNonMandMaxThree_disc,0.59539272893690953,0.61360000000000003,0,,,0.59539272893690953 -coef_retireeNonMandMaxThree_eatout,0.33706472938654847,0.4264,0,,,0.33706472938654847 -coef_retireeNonMandMaxThree_maint,0.93064231251598528,0.90500000000000003,0,,,0.93064231251598528 -coef_retireeNonMandMaxThree_shopping,0.95235573746714874,0.94099999999999995,0,,,0.95235573746714874 -coef_retireeNonMandMaxThree_visiting,0.17432279378364646,0.55789999999999995,0,,,0.17432279378364646 -coef_timeWindowOverlapAdultChild_visiting,0.14049394553264929,0.025600000000000001,0,,,0.14049394553264929 -coef_timeWindowOverlapAdult_visiting,0.11030183056319119,0.0596,0,,,0.11030183056319119 -coef_timeWindowOverlapChild_visiting,-0.060644638255823571,0.0091999999999999998,0,,,-0.060644638255823571 -coef_universityHomeMaxThree_univ_and_driving_zero_tours,-0.41040663722807053,0.56850000000000001,0,,,-0.41040663722807053 -coef_universityNonMandMaxThree_disc,-0.14472811802653573,0.75460000000000005,0,,,-0.14472811802653573 -coef_universityNonMandMaxThree_eatout,-14.080266896152475,0.40970000000000001,0,,,-14.080266896152475 -coef_universityNonMandMaxThree_maint,-0.4377287237690044,0.26429999999999998,0,,,-0.4377287237690044 -coef_universityNonMandMaxThree_shopping,1.1340537653332554,0.76480000000000004,0,,,1.1340537653332554 -coef_universityNonMandMaxThree_visiting,-18.048773540202976,0.28089999999999998,0,,,-18.048773540202976 -coef_walkRetailAccessibility_eatout,-0.027362834622908064,0.062,0,,,-0.027362834622908064 -coef_zeroAutomobiles_disc,-0.53993914183433878,-0.90900000000000003,0,,,-0.53993914183433878 -coef_zeroAutomobiles_visiting,-18.311268197408783,-0.97999999999999998,0,,,-18.311268197408783 +param_name,value,best,initvalue,nullvalue +coef_asc_0_tours,0,0,0,0 +coef_asc_1_Disc,-5.9160878944391584,-5.9160871584456292,-5.4805998802185059,0 +coef_asc_1_Eat,-5.05602837728296,-5.0560299542489355,-6.3756999969482422,0 +coef_asc_1_Main,-4.8254586155918471,-4.8254584245546122,-5.7389001846313477,0 +coef_asc_1_Shop,-7.4469694983528809,-7.4469670187782491,-6.0149002075195312,0 +coef_asc_1_Visit,-5.9551540139107804,-5.9551539232808333,-5.8818001747131348,0 +coef_asc_2_tours,-15.797075280937081,-15.797070989460588,-14.457599639892578,0 +coef_drivingAgeStuMandMaxThree_disc,0.27124464344272958,0.27124444259441294,0.1932000070810318,0 +coef_drivingAgeStuMandMaxThree_maint,-0.20737041043238222,-0.2073702201780428,-0.32370001077651978,0 +coef_fewerCarsThanDrivers_maint,-0.23816146636980665,-0.23816149718467414,0.460999995470047,0 +coef_fewerCarsThanDrivers_shopping,0.61694158860106285,0.61694159482964805,0.25229999423027039,0 +coef_fullTimeHomeMaxThree_zero_tours,1.996135901304358,1.9961359267238226,1.1749999523162842,0 +coef_fullTimeMandMaxThree_maint,-0.46241893261416922,-0.46241924052217082,-0.30090001225471497,0 +coef_fullTimeMandMaxThree_shopping,0.16560459271309827,0.16560432789309174,-0.24240000545978546,0 +coef_fullTimeNonMandMaxThree_disc,0.20480561409516004,0.20480581045554858,0.12749999761581421,0 +coef_fullTimeNonMandMaxThree_eatout,0.33389502103327529,0.33389509678618362,0.22750000655651093,0 +coef_fullTimeNonMandMaxThree_maint,0.76952765626273956,0.76952794806055913,0.31729999184608459,0 +coef_fullTimeNonMandMaxThree_shopping,-0.98031955850826391,-0.98031911603182831,0.20520000159740448,0 +coef_fullTimeNonMandMaxThree_visiting,0.76906716737028125,0.76906729748219271,0.6445000171661377,0 +coef_incomeBetween50And100_disc,0.0095094226633637528,0.0095095849856016851,0.31670001149177551,0 +coef_incomeBetween50And100_eatout,0.090560692608283727,0.09056083387775557,0.29769998788833618,0 +coef_incomeGreaterThan100_disc,0.62453536178251734,0.62453510934345091,0.48600000143051147,0 +coef_incomeGreaterThan100_eatout,0.63786709459088209,0.63786734556950364,0.44920000433921814,0 +coef_incomeMissing_dummy_always_zero_disc,0.37229999899864197,0.37229999899864197,0.37229999899864197,0 +coef_incomeMissing_dummy_always_zero_eatout,0.27799999713897705,0.27799999713897705,0.27799999713897705,0 +coef_logTimeWindowOverlapAdultChild_disc,0.15109942470522381,0.15109971903599334,0.22120000422000885,0 +coef_logTimeWindowOverlapAdultChild_eatout,-0.32364532221490494,-0.32364510943311381,0.092100001871585846,0 +coef_logTimeWindowOverlapAdultChild_maint,0.27843409869332575,0.27843422542528723,0.2442999929189682,0 +coef_logTimeWindowOverlapAdultChild_shopping,-0.42145916023520369,-0.42145897391197473,0.10859999805688858,0 +coef_logTimeWindowOverlapAdult_disc,0.5845950974994687,0.5845947676478761,0.34279999136924744,0 +coef_logTimeWindowOverlapAdult_eatout,0.54628409582637161,0.5462840489123495,0.48559999465942383,0 +coef_logTimeWindowOverlapAdult_maint,0.43015346279128713,0.43015341420863468,0.37139999866485596,0 +coef_logTimeWindowOverlapAdult_shopping,0.94448584150730952,0.94448492089225045,0.59450000524520874,0 +coef_logTimeWindowOverlapChild_disc,-0.18532337973096763,-0.18532355001439704,0.11620000004768372,0 +coef_logTimeWindowOverlapChild_maint,-0.010727634274141281,-0.010727832451482898,0.17599999904632568,0 +coef_logTimeWindowOverlapChild_shopping,1.0468422941706472,1.0468423276707255,0.14159999787807465,0 +coef_moreCarsThanWorkers_eatout,0.076914343292072182,0.076914576167953802,0.38249999284744263,0 +coef_moreCarsThanWorkers_shopping,-0.59564874997193351,-0.59564894067055596,-0.30270001292228699,0 +coef_nonWorkerHomeMaxThree_zero_tours,-0.17003939484477312,-0.17003948323362453,1.5140000581741333,0 +coef_nonWorkerNonMandMaxThree_disc,-0.13432804559300732,-0.13432811971898589,0.28709998726844788,0 +coef_nonWorkerNonMandMaxThree_eatout,-0.33401066087685138,-0.33401068347396745,0.18199999630451202,0 +coef_nonWorkerNonMandMaxThree_maint,0.37323111519137453,0.37323093350637826,0.4643000066280365,0 +coef_nonWorkerNonMandMaxThree_shopping,0.49264301488042911,0.49264292085137712,0.70779997110366821,0 +coef_nonWorkerNonMandMaxThree_visiting,-0.36437091579618403,-0.36437083429284089,0.54750001430511475,0 +coef_partTimeHomeMaxThree_zero_tours,1.7312454999054936,1.7312459096132369,1.4470000267028809,0 +coef_partTimeNonMandMaxThree_disc,0.23705977049445798,0.23705989380574119,0.49790000915527344,0 +coef_partTimeNonMandMaxThree_eatout,-5.6531002354715127,-5.6530850270781112,0.37650001049041748,0 +coef_partTimeNonMandMaxThree_maint,0.11494946476265139,0.11494961705361134,0.24519999325275421,0 +coef_partTimeNonMandMaxThree_shopping,-0.20746715181319589,-0.20746695386959577,0.18659999966621399,0 +coef_partTimeNonMandMaxThree_visiting,0.32137505891849261,0.32137524780407384,0.13320000469684601,0 +coef_preDrivingAgeMandMaxThree_disc,0.60675129362611258,0.60675111363025258,0.38620001077651978,0 +coef_preDrivingAgeMandMaxThree_maint,0.043178367483864805,0.043178519613054106,0.22990000247955322,0 +coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,-0.25725057670419188,-0.25725026315677951,0.52999997138977051,0 +coef_preDrivingNonMandMaxThree_disc,0.49100040690235336,0.49100032365079044,0.53310000896453857,0 +coef_preDrivingNonMandMaxThree_eatout,-3.5007131527538413,-3.5007016569353477,0.38510000705718994,0 +coef_preDrivingNonMandMaxThree_maint,-0.47732053847248312,-0.47732051937471986,0.64819997549057007,0 +coef_preDrivingNonMandMaxThree_shopping,-0.0012986266652305054,-0.0012987293702714738,0.54739999771118164,0 +coef_preDrivingNonMandMaxThree_visiting,-1.6293887060843797,-1.6293896015520914,0.60079997777938843,0 +coef_retireeHomeMaxThree_zero_tours,0.34966179334551972,0.34966146316807412,0.60530000925064087,0 +coef_retireeNonMandMaxThree_disc,0.59640088460538709,0.59640107482430083,0.61360001564025879,0 +coef_retireeNonMandMaxThree_eatout,0.3499795761045531,0.34997959789937416,0.42640000581741333,0 +coef_retireeNonMandMaxThree_maint,0.93716736904164089,0.93716740436084434,0.90499997138977051,0 +coef_retireeNonMandMaxThree_shopping,0.9325100820582326,0.93251039206065178,0.94099998474121094,0 +coef_retireeNonMandMaxThree_visiting,0.1668284024031404,0.16682870749583406,0.55790001153945923,0 +coef_timeWindowOverlapAdultChild_visiting,0.13881492846958488,0.13881496732242621,0.025599999353289604,0 +coef_timeWindowOverlapAdult_visiting,0.11182157577140597,0.11182154572794807,0.059599999338388443,0 +coef_timeWindowOverlapChild_visiting,-0.059018654499507453,-0.05901868676849447,0.0092000002041459084,0 +coef_universityHomeMaxThree_univ_and_driving_zero_tours,-0.3806558129102493,-0.38065581874970073,0.56849998235702515,0 +coef_universityNonMandMaxThree_disc,-0.15852221488464341,-0.15852211136829161,0.75459998846054077,0 +coef_universityNonMandMaxThree_eatout,-4.1215214477423272,-4.1215091850562358,0.40970000624656677,0 +coef_universityNonMandMaxThree_maint,-0.46680029014718827,-0.46680012462022286,0.26429998874664307,0 +coef_universityNonMandMaxThree_shopping,1.1067199892366495,1.1067201908411548,0.76480001211166382,0 +coef_universityNonMandMaxThree_visiting,-5.6416612820161021,-5.6416452449924739,0.28090000152587891,0 +coef_walkRetailAccessibility_eatout,-0.035796009413743196,-0.035795796225119095,0.061999998986721039,0 +coef_zeroAutomobiles_disc,-0.52859607918243423,-0.52859621558900038,-0.9089999794960022,0 +coef_zeroAutomobiles_visiting,-5.8405847342282176,-5.8405705977466207,-0.98000001907348633,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_participation_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_participation_SLSQP_.csv index c60173aa06..b9a0635d75 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_participation_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_joint_tour_participation_SLSQP_.csv @@ -1,60 +1,60 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_adult_log_of_max_window_overlap_with_a_child_mixed,4.5940415543572257,2.1890000000000001,0,,,4.5940415543572257 -coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,1.6916936883427531,0.84360000000000002,0,,,1.6916936883427531 -coef_adult_more_automobiles_than_workers_adult_only_party,0.31139003577268975,-0.21329999999999999,0,,,0.31139003577268975 -coef_adult_more_automobiles_than_workers_mixed_party,-1.8020541380547712,-0.60309999999999997,0,,,-1.8020541380547712 -coef_adult_number_of_joint_tours_adult_only,-2.1332672475172423,-0.32419999999999999,0,,,-2.1332672475172423 -coef_adult_number_of_joint_tours_mixed,-12.011984079880781,-0.3584,0,,,-12.011984079880781 -coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,0,0,0,0,0 -coef_adult_number_of_other_adults_in_the_household_mixed_party,0,0,0,0,0,0 -coef_child_log_of_max_window_overlap_with_a_child_child,1.296,1.296,0,,,1.296 -coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,1.538,0,,,1.538 -coef_child_more_automobiles_than_workers_child_only_party,-0.4214,-0.4214,0,,,-0.4214 -coef_child_more_automobiles_than_workers_mixed_party,-1.5765541380547705,-0.37759999999999999,0,,,-1.5765541380547705 -coef_child_number_of_joint_tours_child_only,25.834459257330721,0.1047,0,,,25.834459257330721 -coef_child_number_of_joint_tours_mixed,89.315973889991952,-0.50890000000000002,0,,,89.315973889991952 -coef_child_number_of_other_children_in_the_household_child_only_party,0,0,0,0,0,0 -coef_child_number_of_other_children_in_the_household_mixed,0,0,0,0,0,0 -coef_child_too_young_for_school_children_only_party,-2.786,-2.786,0,,,-2.786 -coef_child_too_young_for_school_mixed_party,12.484734556961985,-1.893,0,,,12.484734556961985 -coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.12839999999999999,0.12839999999999999,0,,,0.12839999999999999 -coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.65890000000000004,0.65890000000000004,0,,,0.65890000000000004 -coef_driving_age_student_children_only_party,-1.8220000000000001,-1.8220000000000001,0,,,-1.8220000000000001 -coef_driving_age_student_mixed_party,-131.65706593958799,-1.353,0,,,-131.65706593958799 -coef_driving_age_student_specific_to_discretionary_joint_tours,-0.66749999999999998,-0.66749999999999998,0,,,-0.66749999999999998 -coef_driving_age_student_specific_to_eating_out_joint_tours,2.3439999999999999,2.3439999999999999,0,,,2.3439999999999999 -coef_dummy_for_high_income_for_adult_in_adult_party,0.1318998436337066,-0.16819999999999999,0,,,0.1318998436337066 -coef_dummy_for_high_income_for_adult_in_mixed_party,-0.38289361131114391,-0.02613,0,,,-0.38289361131114391 -coef_dummy_for_high_income_for_child_in_children_party,-0.56189999999999996,-0.56189999999999996,0,,,-0.56189999999999996 -coef_dummy_for_high_income_for_child_in_mixed_party,-0.50956361131120043,-0.15279999999999999,0,,,-0.50956361131120043 -coef_full_time_worker_mixed_party,-50.846659765191049,-3.5659999999999998,0,,,-50.846659765191049 -coef_full_time_worker_mixed_party_not,0.5,0.5,0,0.5,0.5,0.5 -coef_full_time_worker_specific_to_discretionary_joint_tours,0.43919999999999998,0.43919999999999998,0,,,0.43919999999999998 -coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,0.5,0,0.5,0.5,0.5 -coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,0.7157,0,,,0.7157 -coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,0.5,0,0.5,0.5,0.5 -coef_household_in_suburban_area_adult_adult_only_party,0,0,0,0,0,0 -coef_household_in_suburban_area_adult_mixed_party,-0.060069999999999998,-0.060069999999999998,0,,,-0.060069999999999998 -coef_household_in_suburban_area_child_child_only_party,0,0,0,0,0,0 -coef_household_in_suburban_area_child_mixed_party,0,0,0,0,0,0 -coef_household_in_urban_area_adult_adult_only_party,0,0,0,0,0,0 -coef_household_in_urban_area_adult_mixed_party,55.591278075644887,-0.13700000000000001,0,,,55.591278075644887 -coef_household_in_urban_area_child_child_only_party,26.939759257330742,1.21,0,,,26.939759257330742 -coef_household_in_urban_area_child_mixed_party,-101.1258709375923,0.62649999999999995,0,,,-101.1258709375923 -coef_non_worker_adults_only_party,-4.0792805161736174,-3.1640000000000001,0,,,-4.0792805161736174 -coef_non_worker_mixed_party,76.628151288066263,0.71519999999999995,0,,,76.628151288066263 -coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,-0.1835,0,,,-0.1835 -coef_non_worker_specific_to_eating_out_joint_tours,0.16170000000000001,0.16170000000000001,0,,,0.16170000000000001 -coef_part_time_worker_adults_only_party,-3.2478258169504657,-3.5659999999999998,0,,,-3.2478258169504657 -coef_part_time_worker_adults_only_party_not,0.5,0.5,0,0.5,0.5,0.5 -coef_part_time_worker_mixed_party,70.07529311830892,-0.36549999999999999,0,,,70.07529311830892 -coef_part_time_worker_specific_to_discretionary_joint_tours,0.28499999999999998,0.28499999999999998,0,,,0.28499999999999998 -coef_part_time_worker_specific_to_eating_out_joint_tours,2.1880000000000002,2.1880000000000002,0,,,2.1880000000000002 -coef_pre_driving_age_student_children_only_party,25.008059257330711,-0.72170000000000001,0,,,25.008059257330711 -coef_pre_driving_age_student_mixed_party,12.421960445033344,-1.752,0,,,12.421960445033344 -coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.66259999999999997,0.66259999999999997,0,,,0.66259999999999997 -coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,1.391,0,,,1.391 -coef_unavailable,-999,-999,0,-999,-999,-999 -coef_university_student_mixed_party,-52.255368272022992,-3.0409999999999999,0,,,-52.255368272022992 -coef_university_student_specific_to_discretionary_joint_tours,0,0,0,0,0,0 -coef_university_student_specific_to_eating_out_joint_tours,-0.81999999999999995,-0.81999999999999995,0,,,-0.81999999999999995 +param_name,value,best,initvalue,nullvalue +coef_adult_log_of_max_window_overlap_with_a_child_mixed,4.5951782780582482,4.5951781033354839,2.1889998912811279,0 +coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,1.6633592801800163,1.6633593140698184,0.84359997510910034,0 +coef_adult_more_automobiles_than_workers_adult_only_party,0.31066873854811811,0.31066870271882263,-0.21330000460147858,0 +coef_adult_more_automobiles_than_workers_mixed_party,-1.8032448224599575,-1.803244785082267,-0.6031000018119812,0 +coef_adult_number_of_joint_tours_adult_only,-2.0764783287527235,-2.0764784513924197,-0.32420000433921814,0 +coef_adult_number_of_joint_tours_mixed,-4.6560544367999661,-4.6560542069402064,-0.35839998722076416,0 +coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,0,0,0 +coef_adult_number_of_other_adults_in_the_household_mixed_party,0,0,0,0 +coef_child_log_of_max_window_overlap_with_a_child_child,1.2960000038146973,1.2960000038146973,1.2960000038146973,0 +coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.5379999876022339,1.5379999876022339,1.5379999876022339,0 +coef_child_more_automobiles_than_workers_child_only_party,-0.42140001058578491,-0.42140001058578491,-0.42140001058578491,0 +coef_child_more_automobiles_than_workers_mixed_party,-1.5777448348577667,-1.5777447974800762,-0.37760001420974731,0 +coef_child_number_of_joint_tours_child_only,13.579540492742831,13.579540463017146,0.1046999990940094,0 +coef_child_number_of_joint_tours_mixed,20.015257060305416,20.01525831304766,-0.508899986743927,0 +coef_child_number_of_other_children_in_the_household_child_only_party,0,0,0,0 +coef_child_number_of_other_children_in_the_household_mixed,0,0,0,0 +coef_child_too_young_for_school_children_only_party,-2.7860000133514404,-2.7860000133514404,-2.7860000133514404,0 +coef_child_too_young_for_school_mixed_party,8.3656227270333634,8.3656222958055366,-1.8930000066757202,0 +coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.12839999794960022,0.12839999794960022,0.12839999794960022,0 +coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.65890002250671387,0.65890002250671387,0.65890002250671387,0 +coef_driving_age_student_children_only_party,-1.8220000267028809,-1.8220000267028809,-1.8220000267028809,0 +coef_driving_age_student_mixed_party,-50,-50,-1.3530000448226929,0 +coef_driving_age_student_specific_to_discretionary_joint_tours,-0.66750001907348633,-0.66750001907348633,-0.66750001907348633,0 +coef_driving_age_student_specific_to_eating_out_joint_tours,2.3440001010894775,2.3440001010894775,2.3440001010894775,0 +coef_dummy_for_high_income_for_adult_in_adult_party,0.12621381061004386,0.12621385992786305,-0.16820000112056732,0 +coef_dummy_for_high_income_for_adult_in_mixed_party,-0.38299804175110763,-0.38299804898262102,-0.026130000129342079,0 +coef_dummy_for_high_income_for_child_in_children_party,-0.56190001964569092,-0.56190001964569092,-0.56190001964569092,0 +coef_dummy_for_high_income_for_child_in_mixed_party,-0.50966803537514371,-0.5096680426066571,-0.15279999375343323,0 +coef_full_time_worker_mixed_party,-18.56632640293509,-18.566326638673267,-3.5659999847412109,0 +coef_full_time_worker_mixed_party_not,0.5,0.5,0.5,0 +coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392000138759613,0.4392000138759613,0.4392000138759613,0 +coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,0.5,0.5,0 +coef_full_time_worker_specific_to_eating_out_joint_tours,0.71569997072219849,0.71569997072219849,0.71569997072219849,0 +coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,0.5,0.5,0 +coef_household_in_suburban_area_adult_adult_only_party,0,0,0,0 +coef_household_in_suburban_area_adult_mixed_party,-0.06007000058889389,-0.06007000058889389,-0.06007000058889389,0 +coef_household_in_suburban_area_child_child_only_party,0,0,0,0 +coef_household_in_suburban_area_child_mixed_party,0,0,0,0 +coef_household_in_urban_area_adult_adult_only_party,0,0,0,0 +coef_household_in_urban_area_adult_mixed_party,15.95349033775349,15.953490704515609,-0.13699999451637268,0 +coef_household_in_urban_area_child_child_only_party,14.684840531795903,14.684840502070218,1.2100000381469727,0 +coef_household_in_urban_area_child_mixed_party,-27.706374555887564,-27.706375390127885,0.62650001049041748,0 +coef_non_worker_adults_only_party,-4.0512566140539823,-4.0512566665328293,-3.1640000343322754,0 +coef_non_worker_mixed_party,24.232596176450738,24.232596639515961,0.71520000696182251,0 +coef_non_worker_specific_to_discretionary_joint_tours,-0.1835000067949295,-0.1835000067949295,-0.1835000067949295,0 +coef_non_worker_specific_to_eating_out_joint_tours,0.16169999539852142,0.16169999539852142,0.16169999539852142,0 +coef_part_time_worker_adults_only_party,-3.2257432923239446,-3.2257432422956698,-3.5659999847412109,0 +coef_part_time_worker_adults_only_party_not,0.5,0.5,0.5,0 +coef_part_time_worker_mixed_party,22.126834905159047,22.126835266655284,-0.36550000309944153,0 +coef_part_time_worker_specific_to_discretionary_joint_tours,0.28499999642372131,0.28499999642372131,0.28499999642372131,0 +coef_part_time_worker_specific_to_eating_out_joint_tours,2.187999963760376,2.187999963760376,2.187999963760376,0 +coef_pre_driving_age_student_children_only_party,12.753140480965085,12.7531404512394,-0.72170001268386841,0 +coef_pre_driving_age_student_mixed_party,8.3035034193009718,8.3035030162498487,-1.7519999742507935,0 +coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.66259998083114624,0.66259998083114624,0.66259998083114624,0 +coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.3910000324249268,1.3910000324249268,1.3910000324249268,0 +coef_unavailable,-999,-999,-999,0 +coef_university_student_mixed_party,-19.976674136225505,-19.976674380042439,-3.0409998893737793,0 +coef_university_student_specific_to_discretionary_joint_tours,0,0,0,0 +coef_university_student_specific_to_eating_out_joint_tours,-0.81999999284744263,-0.81999999284744263,-0.81999999284744263,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_BHHH_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_BHHH_.csv index 3f5af851e4..2c5dc3ee14 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_BHHH_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_BHHH_.csv @@ -1,54 +1,54 @@ -,value,initvalue,nullvalue,minimum,maximum,best -0,0,0,0,0,0,0 -coef_can_walk_to_work_and_school,0.072221053570087068,0.1391,0,,,0.072221053570087068 -coef_can_walk_to_work_school2,1.368189229871656,0.71140000000000003,0,,,1.368189229871656 -coef_can_walk_to_work_work2,0.6511271300905388,0.52680000000000005,0,,,0.6511271300905388 -coef_driving_age_child_school2_asc,-10.76072459479807,-3.1360000000000001,0,,,-10.76072459479807 -coef_driving_age_child_work_and_school_asc,-58.117517308879499,-4.4362000000000004,0,,,-58.117517308879499 -coef_female_school1,0.2474431563125136,0.15920000000000001,0,,,0.2474431563125136 -coef_female_school2,-0.3012348896462545,0.114,0,,,-0.3012348896462545 -coef_female_work1,-2.2434862184806872,0.17369999999999999,0,,,-2.2434862184806872 -coef_female_work2,-0.3875204207258891,-0.22550000000000001,0,,,-0.3875204207258891 -coef_female_work_and_school,-3.2183973184973143,-0.34420000000000001,0,,,-3.2183973184973143 -coef_few_cars_than_drivers_school2,-0.86352025026207002,-0.57589999999999997,0,,,-0.86352025026207002 -coef_ft_worker_work2_asc,-15.631616769904962,-3.3780999999999999,0,,,-15.631616769904962 -coef_hh_income_gt_50k_school1,0.034700030521069632,0.034700000000000002,0,,,0.034700030521069632 -coef_hh_income_gt_50k_student_work_and_school,-0.92170661372181706,-0.0528,0,,,-0.92170661372181706 -coef_hh_income_gt_50k_work,-1.4190912531326889,-0.0528,0,,,-1.4190912531326889 -coef_hh_income_gt_50k_worker_work_and_school,0.034699971829526256,0.034700000000000002,0,,,0.034699971829526256 -coef_home_urban_school1,-0.13610000344523163,-0.1361,0,,,-0.13610000344523163 -coef_home_urban_school2,-11.830881608079386,0.317,0,,,-11.830881608079386 -coef_home_urban_work1,24.254352793957736,-0.28310000000000002,0,,,24.254352793957736 -coef_home_urban_work2,12.738503782102926,0.23080000000000001,0,,,12.738503782102926 -coef_home_urban_work_and_school,-2.9755482471380152,-0.35089999999999999,0,,,-2.9755482471380152 -coef_no_cars_in_hh_school2,-0.6201622889361833,-1.413,0,,,-0.6201622889361833 -coef_no_cars_in_hh_work2,-0.72588656952288921,-1.306,0,,,-0.72588656952288921 -coef_no_cars_in_hh_work_and_school,-0.7768760244151115,-1.302,0,,,-0.7768760244151115 -coef_non_family_hh_category1,-0.25000005548208493,-0.25,0,,,-0.25000005548208493 -coef_non_family_hh_category2,-18.224089926229215,-0.1792,0,,,-18.224089926229215 -coef_non_student_goes_to_school,3.883000012592801,3.883,0,,,3.883000012592801 -coef_num_non_workers_in_hh_school1,0.25739997881575821,0.25740000000000002,0,,,0.25739997881575821 -coef_num_preschool_in_hh_school1,-0.13350001004490689,-0.13350000000000001,0,,,-0.13350001004490689 -coef_num_preschool_in_hh_school2,0.35689505282246176,-0.55769999999999997,0,,,0.35689505282246176 -coef_num_preschool_in_hh_work1,-2.9320917687605954,0.21909999999999999,0,,,-2.9320917687605954 -coef_num_preschool_in_hh_work2,0.22500429804995042,-0.14779999999999999,0,,,0.22500429804995042 -coef_num_preschool_in_hh_work_and_school,-291.65982798845073,-0.12509999999999999,0,,,-291.65982798845073 -coef_num_under_16_not_at_school_school2,-0.63862137361032489,0.086599999999999996,0,,,-0.63862137361032489 -coef_num_under_16_not_at_school_work2,-0.11866867638023079,0.1804,0,,,-0.11866867638023079 -coef_num_under_16_not_at_school_work_and_school,-18.884178394306563,-0.19550000000000001,0,,,-18.884178394306563 -coef_pre_driving_age_child_school2_asc,7.0553066040769048,-3.9702999999999999,0,,,7.0553066040769048 -coef_pt_worker_work2_asc,-14.856919777024819,-3.0476000000000001,0,,,-14.856919777024819 -coef_round_trip_auto_time_to_work_school2,0.064396584422453232,-0.0033999999999999998,0,,,0.064396584422453232 -coef_round_trip_auto_time_to_work_work2,-0.025902525682352791,-0.0035000000000000001,0,,,-0.025902525682352791 -coef_round_trip_auto_time_to_work_work_and_school,-0.02180773780300839,-0.0030999999999999999,0,,,-0.02180773780300839 -coef_student_employed,61.497344836308677,3.0139999999999998,0,,,61.497344836308677 -coef_unavailable,-999,-999,0,-999,-999,-999 -coef_under_35_school1,0.7218,0.7218,0,,,0.7218 -coef_under_35_school2,27.445525973793494,1.2749999999999999,0,,,27.445525973793494 -coef_under_35_work1,1.0375724814647256,-0.46289999999999998,0,,,1.0375724814647256 -coef_under_35_work2,-0.25382084017500217,-0.13750000000000001,0,,,-0.25382084017500217 -coef_under_35_work_and_school,2.256932391854527,0.97609999999999997,0,,,2.256932391854527 -coef_univ_school2_asc,-19.291663549848391,-3.7429000000000001,0,,,-19.291663549848391 -coef_univ_work1_asc,26.703452792641354,2.1659999999999999,0,,,26.703452792641354 -coef_univ_work2_asc,35.174040311644283,-1.3965000000000001,0,,,35.174040311644283 -coef_univ_work_and_school_asc,51.163969004277625,0.10730000000000001,0,,,51.163969004277625 +param_name,value,best,initvalue,nullvalue +0,0,0,0,0 +coef_can_walk_to_work_and_school,0.071963467898163519,0.071963467898163519,0.13910000026226044,0 +coef_can_walk_to_work_school2,1.3682146498522929,1.3682146498522929,0.71139997243881226,0 +coef_can_walk_to_work_work2,0.65113800717686054,0.65113800717686054,0.52679997682571411,0 +coef_driving_age_child_school2_asc,-10.760724267208685,-10.760724267208685,-3.1359999179840088,0 +coef_driving_age_child_work_and_school_asc,-58.117542193724134,-58.117542193724134,-4.4362001419067383,0 +coef_female_school1,0.24693966666339068,0.24693966666339068,0.15919999778270721,0 +coef_female_school2,-0.30156175637229587,-0.30156175637229587,0.11400000005960464,0 +coef_female_work1,-2.2432731743178365,-2.2432731743178365,0.1737000048160553,0 +coef_female_work2,-0.38747695440528995,-0.38747695440528995,-0.22550000250339508,0 +coef_female_work_and_school,-3.2184568767600301,-3.2184568767600301,-0.34419998526573181,0 +coef_few_cars_than_drivers_school2,-0.86287494081897043,-0.86287494081897043,-0.57590001821517944,0 +coef_ft_worker_work2_asc,-15.631596564333391,-15.631596564333391,-3.3780999183654785,0 +coef_hh_income_gt_50k_school1,0.034699998903999218,0.034699998903999218,0.034699998795986176,0 +coef_hh_income_gt_50k_student_work_and_school,-0.92151889984559776,-0.92151889984559776,-0.052799999713897705,0 +coef_hh_income_gt_50k_work,-1.4188850438199954,-1.4188850438199954,-0.052799999713897705,0 +coef_hh_income_gt_50k_worker_work_and_school,0.034699998835916637,0.034699998835916637,0.034699998795986176,0 +coef_home_urban_school1,-0.1360999941739981,-0.1360999941739981,-0.13609999418258667,0 +coef_home_urban_school2,-11.831044462083096,-11.831044462083096,0.31700000166893005,0 +coef_home_urban_work1,24.254289912474832,24.254289912474832,-0.28310000896453857,0 +coef_home_urban_work2,12.738486792776087,12.738486792776087,0.23080000281333923,0 +coef_home_urban_work_and_school,-2.9754582133928946,-2.9754582133928946,-0.35089999437332153,0 +coef_no_cars_in_hh_school2,-0.62062284302473281,-0.62062284302473281,-1.4129999876022339,0 +coef_no_cars_in_hh_work2,-0.72590052527502258,-0.72590052527502258,-1.3059999942779541,0 +coef_no_cars_in_hh_work_and_school,-0.77649868370275865,-0.77649868370275865,-1.3020000457763672,0 +coef_non_family_hh_category1,-0.25000000001603168,-0.25000000001603168,-0.25,0 +coef_non_family_hh_category2,-18.224086954408719,-18.224086954408719,-0.17919999361038208,0 +coef_non_student_goes_to_school,3.8829998970263762,3.8829998970263762,3.8829998970031738,0 +coef_num_non_workers_in_hh_school1,0.2574000060601766,0.2574000060601766,0.25740000605583191,0 +coef_num_preschool_in_hh_school1,-0.1334999948664459,-0.1334999948664459,-0.13349999487400055,0 +coef_num_preschool_in_hh_school2,0.35679291623910225,0.35679291623910225,-0.55769997835159302,0 +coef_num_preschool_in_hh_work1,-2.9311650176345023,-2.9311650176345023,0.21909999847412109,0 +coef_num_preschool_in_hh_work2,0.22506526227617765,0.22506526227617765,-0.14779999852180481,0 +coef_num_preschool_in_hh_work_and_school,-1120.7076517335183,-1120.7076517335183,-0.12510000169277191,0 +coef_num_under_16_not_at_school_school2,-0.63850525564048144,-0.63850525564048144,0.08659999817609787,0 +coef_num_under_16_not_at_school_work2,-0.11879303600656704,-0.11879303600656704,0.18039999902248383,0 +coef_num_under_16_not_at_school_work_and_school,-72.572511675156974,-72.572511675156974,-0.19550000131130219,0 +coef_pre_driving_age_child_school2_asc,7.0553915333001287,7.0553915333001287,-3.9702999591827393,0 +coef_pt_worker_work2_asc,-14.85688697195045,-14.85688697195045,-3.0476000308990479,0 +coef_round_trip_auto_time_to_work_school2,0.064402441888329359,0.064402441888329359,-0.0034000000450760126,0 +coef_round_trip_auto_time_to_work_work2,-0.025903740882998762,-0.025903740882998762,-0.0035000001080334187,0 +coef_round_trip_auto_time_to_work_work_and_school,-0.021807011903415791,-0.021807011903415791,-0.0031000000890344381,0 +coef_student_employed,61.49730201724514,61.49730201724514,3.0139999389648438,0 +coef_unavailable,-999,-999,-999,0 +coef_under_35_school1,0.72180002927780151,0.72180002927780151,0.72180002927780151,0 +coef_under_35_school2,27.44527439728251,27.44527439728251,1.2749999761581421,0 +coef_under_35_work1,1.0377437873346973,1.0377437873346973,-0.46290001273155212,0 +coef_under_35_work2,-0.25384424363084357,-0.25384424363084357,-0.13750000298023224,0 +coef_under_35_work_and_school,2.2567986605803032,2.2567986605803032,0.97610002756118774,0 +coef_univ_school2_asc,-19.29191150330508,-19.29191150330508,-3.7428998947143555,0 +coef_univ_work1_asc,26.703389810868742,26.703389810868742,2.1659998893737793,0 +coef_univ_work2_asc,35.173970384221057,35.173970384221057,-1.3964999914169312,0 +coef_univ_work_and_school_asc,51.164083831710279,51.164083831710279,0.10729999840259552,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_.csv index fd8238225b..457583ab1e 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_.csv @@ -1,54 +1,54 @@ -,value,initvalue,nullvalue,minimum,maximum,best -0,0,0,0,0,0,0 -coef_can_walk_to_work_and_school,0.071630314724926147,0.1391,0,,,0.071630314724926147 -coef_can_walk_to_work_school2,1.3680922080710298,0.71140000000000003,0,,,1.3680922080710298 -coef_can_walk_to_work_work2,0.65112015867036332,0.52680000000000005,0,,,0.65112015867036332 -coef_driving_age_child_school2_asc,-13.067731116342266,-3.1360000000000001,0,,,-13.067731116342266 -coef_driving_age_child_work_and_school_asc,-12.605997463132249,-4.4362000000000004,0,,,-12.605997463132249 -coef_female_school1,0.24708609009193822,0.15920000000000001,0,,,0.24708609009193822 -coef_female_school2,-0.30133903622407632,0.114,0,,,-0.30133903622407632 -coef_female_work1,-2.2427478904369504,0.17369999999999999,0,,,-2.2427478904369504 -coef_female_work2,-0.38741093683095679,-0.22550000000000001,0,,,-0.38741093683095679 -coef_female_work_and_school,-3.2182798790112783,-0.34420000000000001,0,,,-3.2182798790112783 -coef_few_cars_than_drivers_school2,-0.86245057209463027,-0.57589999999999997,0,,,-0.86245057209463027 -coef_ft_worker_work2_asc,-5.5179331616722695,-3.3780999999999999,0,,,-5.5179331616722695 -coef_hh_income_gt_50k_school1,0.034700000000000002,0.034700000000000002,0,,,0.034700000000000002 -coef_hh_income_gt_50k_student_work_and_school,-0.92117498986723134,-0.0528,0,,,-0.92117498986723134 -coef_hh_income_gt_50k_work,-1.418550817944235,-0.0528,0,,,-1.418550817944235 -coef_hh_income_gt_50k_worker_work_and_school,0.034700000000000002,0.034700000000000002,0,,,0.034700000000000002 -coef_home_urban_school1,-0.1361,-0.1361,0,,,-0.1361 -coef_home_urban_school2,-8.4556148704436787,0.317,0,,,-8.4556148704436787 -coef_home_urban_work1,4.0267960749153291,-0.28310000000000002,0,,,4.0267960749153291 -coef_home_urban_work2,2.6248540229034232,0.23080000000000001,0,,,2.6248540229034232 -coef_home_urban_work_and_school,-0.44707001996924778,-0.35089999999999999,0,,,-0.44707001996924778 -coef_no_cars_in_hh_school2,-0.62046508539739775,-1.413,0,,,-0.62046508539739775 -coef_no_cars_in_hh_work2,-0.72596662468976358,-1.306,0,,,-0.72596662468976358 -coef_no_cars_in_hh_work_and_school,-0.77593437523044428,-1.302,0,,,-0.77593437523044428 -coef_non_family_hh_category1,-0.25,-0.25,0,,,-0.25 -coef_non_family_hh_category2,5.0007710032851715,-0.1792,0,,,5.0007710032851715 -coef_non_student_goes_to_school,3.883,3.883,0,,,3.883 -coef_num_non_workers_in_hh_school1,0.25740000000000002,0.25740000000000002,0,,,0.25740000000000002 -coef_num_preschool_in_hh_school1,-0.13350000000000001,-0.13350000000000001,0,,,-0.13350000000000001 -coef_num_preschool_in_hh_school2,0.35665962262224188,-0.55769999999999997,0,,,0.35665962262224188 -coef_num_preschool_in_hh_work1,-2.9305005867030882,0.21909999999999999,0,,,-2.9305005867030882 -coef_num_preschool_in_hh_work2,0.22517317861058084,-0.14779999999999999,0,,,0.22517317861058084 -coef_num_preschool_in_hh_work_and_school,-29.197568875282681,-0.12509999999999999,0,,,-29.197568875282681 -coef_num_under_16_not_at_school_school2,-0.63829340447675476,0.086599999999999996,0,,,-0.63829340447675476 -coef_num_under_16_not_at_school_work2,-0.11899114846640058,0.1804,0,,,-0.11899114846640058 -coef_num_under_16_not_at_school_work_and_school,-15.357906680125023,-0.19550000000000001,0,,,-15.357906680125023 -coef_pre_driving_age_child_school2_asc,3.6797262862761189,-3.9702999999999999,0,,,3.6797262862761189 -coef_pt_worker_work2_asc,-4.7432419645081501,-3.0476000000000001,0,,,-4.7432419645081501 -coef_round_trip_auto_time_to_work_school2,0.064410816444162883,-0.0033999999999999998,0,,,0.064410816444162883 -coef_round_trip_auto_time_to_work_work2,-0.025905460423305656,-0.0035000000000000001,0,,,-0.025905460423305656 -coef_round_trip_auto_time_to_work_work_and_school,-0.021803756470739271,-0.0030999999999999999,0,,,-0.021803756470739271 -coef_student_employed,13.457255204029515,3.0139999999999998,0,,,13.457255204029515 -coef_unavailable,-999,-999,0,-999,-999,-999 -coef_under_35_school1,0.7218,0.7218,0,,,0.7218 -coef_under_35_school2,15.011164063565253,1.2749999999999999,0,,,15.011164063565253 -coef_under_35_work1,1.0382419681378368,-0.46289999999999998,0,,,1.0382419681378368 -coef_under_35_work2,-0.25387498090125782,-0.13750000000000001,0,,,-0.25387498090125782 -coef_under_35_work_and_school,2.2570354258963481,0.97609999999999997,0,,,2.2570354258963481 -coef_univ_school2_asc,-10.233810040377643,-3.7429000000000001,0,,,-10.233810040377643 -coef_univ_work1_asc,6.475896074915326,2.1659999999999999,0,,,6.475896074915326 -coef_univ_work2_asc,4.8330291490834876,-1.3965000000000001,0,,,4.8330291490834876 -coef_univ_work_and_school_asc,8.1809274431629717,0.10730000000000001,0,,,8.1809274431629717 +param_name,value,best,initvalue,nullvalue +0,0,0,0,0 +coef_can_walk_to_work_and_school,0.20132027468875283,0.20132027468479921,0.13910000026226044,0 +coef_can_walk_to_work_school2,0.96010731757888212,0.96010731757834789,0.71139997243881226,0 +coef_can_walk_to_work_work2,0.73122607984567289,0.73122607983903865,0.52679997682571411,0 +coef_driving_age_child_school2_asc,-5.7172473630323095,-5.7172473630089566,-3.1359999179840088,0 +coef_driving_age_child_work_and_school_asc,-4.4775478428522311,-4.477547842857807,-4.4362001419067383,0 +coef_female_school1,-1.1179750622419278,-1.117975062224638,0.15919999778270721,0 +coef_female_school2,-0.48952027651274382,-0.48952027650816798,0.11400000005960464,0 +coef_female_work1,-2.0511063704156607,-2.0511063703883035,0.1737000048160553,0 +coef_female_work2,-0.41490266839201562,-0.4149026683981944,-0.22550000250339508,0 +coef_female_work_and_school,-2.9966902230088177,-2.9966902229830907,-0.34419998526573181,0 +coef_few_cars_than_drivers_school2,-0.55452509049148058,-0.55452509048768461,-0.57590001821517944,0 +coef_ft_worker_work2_asc,-3.8025869871232629,-3.8025869871213596,-3.3780999183654785,0 +coef_hh_income_gt_50k_school1,0.034699998795986176,0.034699998795986176,0.034699998795986176,0 +coef_hh_income_gt_50k_student_work_and_school,-0.17920043049685666,-0.17920043049604578,-0.052799999713897705,0 +coef_hh_income_gt_50k_work,-0.66212675917984232,-0.66212675918375841,-0.052799999713897705,0 +coef_hh_income_gt_50k_worker_work_and_school,0.034699998795986176,0.034699998795986176,0.034699998795986176,0 +coef_home_urban_school1,-0.13609999418258667,-0.13609999418258667,-0.13609999418258667,0 +coef_home_urban_school2,-2.1094338222937941,-2.1094338222674192,0.31700000166893005,0 +coef_home_urban_work1,0.34863867027519652,0.34863867026166911,-0.28310000896453857,0 +coef_home_urban_work2,0.76429400769443512,0.76429400769779043,0.23080000281333923,0 +coef_home_urban_work_and_school,-0.33420724299781907,-0.33420724299927923,-0.35089999437332153,0 +coef_no_cars_in_hh_school2,-0.3281459638377332,-0.32814596385333328,-1.4129999876022339,0 +coef_no_cars_in_hh_work2,-0.66209007579299561,-0.66209007577665158,-1.3059999942779541,0 +coef_no_cars_in_hh_work_and_school,-0.92494433055696312,-0.92494433055322656,-1.3020000457763672,0 +coef_non_family_hh_category1,-0.25,-0.25,-0.25,0 +coef_non_family_hh_category2,0.49350779245951959,0.49350779245352627,-0.17919999361038208,0 +coef_non_student_goes_to_school,3.8829998970031738,3.8829998970031738,3.8829998970031738,0 +coef_num_non_workers_in_hh_school1,0.25740000605583191,0.25740000605583191,0.25740000605583191,0 +coef_num_preschool_in_hh_school1,-0.13349999487400055,-0.13349999487400055,-0.13349999487400055,0 +coef_num_preschool_in_hh_school2,0.73590985242441875,0.73590985242576534,-0.55769997835159302,0 +coef_num_preschool_in_hh_work1,-1.6486490740351119,-1.6486490740275117,0.21909999847412109,0 +coef_num_preschool_in_hh_work2,0.24670839988109913,0.2467083998803998,-0.14779999852180481,0 +coef_num_preschool_in_hh_work_and_school,-2.4290259678800297,-2.4290259678663575,-0.12510000169277191,0 +coef_num_under_16_not_at_school_school2,-0.91329132598172835,-0.9132913259601626,0.08659999817609787,0 +coef_num_under_16_not_at_school_work2,-0.11459202927007101,-0.11459202927135456,0.18039999902248383,0 +coef_num_under_16_not_at_school_work_and_school,-2.3336601463508013,-2.3336601463331874,-0.19550000131130219,0 +coef_pre_driving_age_child_school2_asc,-2.6428722793019959,-2.6428722793097204,-3.9702999591827393,0 +coef_pt_worker_work2_asc,-3.0303892540032376,-3.0303892539968387,-3.0476000308990479,0 +coef_round_trip_auto_time_to_work_school2,0.064069158794420475,0.064069158793510952,-0.0034000000450760126,0 +coef_round_trip_auto_time_to_work_work2,-0.020202184952509333,-0.020202184952801051,-0.0035000001080334187,0 +coef_round_trip_auto_time_to_work_work_and_school,-0.015315391311272412,-0.015315391311409078,-0.0031000000890344381,0 +coef_student_employed,4.6032016663231561,4.6032016663032218,3.0139999389648438,0 +coef_unavailable,-999,-999,-999,0 +coef_under_35_school1,0.72180002927780151,0.72180002927780151,0.72180002927780151,0 +coef_under_35_school2,2.1398332789937333,2.1398332789898835,1.2749999761581421,0 +coef_under_35_work1,1.1194222799903866,1.1194222799688391,-0.46290001273155212,0 +coef_under_35_work2,-0.24674628169467161,-0.24674628168879748,-0.13750000298023224,0 +coef_under_35_work_and_school,2.7433316694686765,2.7433316694426049,0.97610002756118774,0 +coef_univ_school2_asc,-4.9155139535095262,-4.9155139534987793,-3.7428998947143555,0 +coef_univ_work1_asc,2.797738568613517,2.7977385685999896,2.1659998893737793,0 +coef_univ_work2_asc,-0.45572969467386271,-0.45572969467880964,-1.3964999914169312,0 +coef_univ_work_and_school_asc,0.16534045072359432,0.16534045072771017,0.10729999840259552,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_loglike.csv index f22660c1eb..a593ed1541 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_mandatory_tour_frequency_SLSQP_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-434.77803538920688,-410.22015020484497 +0,-434.77803587138652,-412.67417109099858 diff --git a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_trip_mode_choice_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_trip_mode_choice_SLSQP_.csv index 706cb99d17..a54d7e8e1c 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_trip_mode_choice_SLSQP_.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_simple_simulate_trip_mode_choice_SLSQP_.csv @@ -1,273 +1,273 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -1,1,1,1,1,1,1 -coef_age010_trn,0.36055093747501515,0,0,,,0.36055093747501515 -coef_age1619_da,0.34452990003908374,0,0,,,0.34452990003908374 -coef_age16p_sr,-0.15188561974324261,0,0,,,-0.15188561974324261 -coef_bike_ASC_rh,-7,-7,0,-7,-7,-7 -coef_bike_ASC_walk_work,-2.6591723273807126,-1.8332999999999999,0,,,-2.6591723273807126 -coef_drive_transit_ASC_commuter_work,0.42650515313601794,0.4012,0,,,0.42650515313601794 -coef_drive_transit_ASC_express_work,-0.35539999999999999,-0.35539999999999999,0,,,-0.35539999999999999 -coef_drive_transit_ASC_ferry_work,0.52769999999999995,0.52769999999999995,0,,,0.52769999999999995 -coef_drive_transit_ASC_heavyrail_work,-11.994127899898398,0.3538,0,,,-11.994127899898398 -coef_drive_transit_ASC_lightrail_work,-10.300240827222716,0.46210000000000001,0,,,-10.300240827222716 -coef_drive_transit_ASC_rh,-162.17158272141376,-4.25,0,,,-162.17158272141376 -coef_hhsize1_sr,-0.89092943199297148,-0.73460000000000003,0,,,-0.89092943199297148 -coef_hhsize2_sr,0.039652734237525036,0,0,,,0.039652734237525036 -coef_ivt_work,-0.010154908820341358,-0.021999999999999999,0,,,-0.010154908820341358 -coef_joint_auto_ASC_rh_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_auto_ASC_walk_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_bike_ASC_rh_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_bike_ASC_walk_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_ride_hail_ASC_tnc_shared,0,0,0,,,0 -coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_ride_hail_ASC_walk_transit,0,0,0,,,0 -coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_ASC_rh_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork,0,0,0,,,0 -coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork,0,0,0,,,0 -coef_nest_AUTO,0.71999999999999997,0.71999999999999997,1,0.71999999999999997,0.71999999999999997,0.71999999999999997 -coef_nest_AUTO_DRIVEALONE,0.34999999999999998,0.34999999999999998,1,0.34999999999999998,0.34999999999999998,0.34999999999999998 -coef_nest_AUTO_SHAREDRIDE2,0.34999999999999998,0.34999999999999998,1,0.34999999999999998,0.34999999999999998,0.34999999999999998 -coef_nest_AUTO_SHAREDRIDE3,0.34999999999999998,0.34999999999999998,1,0.34999999999999998,0.34999999999999998,0.34999999999999998 -coef_nest_NONMOTORIZED,0.71999999999999997,0.71999999999999997,1,0.71999999999999997,0.71999999999999997,0.71999999999999997 -coef_nest_RIDEHAIL,0.35999999999999999,0.35999999999999999,1,0.35999999999999999,0.35999999999999999,0.35999999999999999 -coef_nest_TRANSIT,0.71999999999999997,0.71999999999999997,1,0.71999999999999997,0.71999999999999997,0.71999999999999997 -coef_nest_TRANSIT_DRIVEACCESS,0.5,0.5,1,0.5,0.5,0.5 -coef_nest_TRANSIT_WALKACCESS,0.5,0.5,1,0.5,0.5,0.5 -coef_ride_hail_ASC_sr2_work,-24.964152977906629,-6.1079999999999997,0,,,-24.964152977906629 -coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork,-29.66185425032911,-7,0,,,-29.66185425032911 -coef_ride_hail_ASC_taxi_work,-2.5195664524629127,-2.3849999999999998,0,,,-2.5195664524629127 -coef_ride_hail_ASC_tnc_shared,23.268241084943003,0,0,,,23.268241084943003 -coef_ride_hail_ASC_tnc_single_work,23.984210218237873,0.73499999999999999,0,,,23.984210218237873 -coef_ride_hail_ASC_walk_transit,22.114586690634976,0,0,,,22.114586690634976 -coef_ride_hail_ASC_walk_work,21.771187507152565,0.2858,0,,,21.771187507152565 -coef_sov_ASC_rh_work_atwork,-7,-7,0,-7,-7,-7 -coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork,-999,-999,0,-999,-999,-999 -coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork,-999,-999,0,-999,-999,-999 -coef_sov_ASC_walk_work,-3.007257338441883,-0.83979999999999999,0,,,-3.007257338441883 -coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork,-7,-7,0,-7,-7,-7 -coef_sr2_ASC_sr2_work,0.19745747776996045,0.0149,0,,,0.19745747776996045 -coef_sr2_ASC_sr3p,-999,-999,0,-999,-999,-999 -coef_sr2_ASC_walk_work,-2.2229353369557856,0.126,0,,,-2.2229353369557856 -coef_sr3p_ASC_rh_work,-71.917699999999996,-71.917699999999996,0,,,-71.917699999999996 -coef_sr3p_ASC_sr2_work,-0.95395070192885023,-1.1956,0,,,-0.95395070192885023 -coef_sr3p_ASC_sr3p_work,0.0022823628108995749,-0.18360000000000001,0,,,0.0022823628108995749 -coef_sr3p_ASC_walk_work,-2.3566238207046379,0.21709999999999999,0,,,-2.3566238207046379 -coef_walk_ASC_rh,-7,-7,0,-7,-7,-7 -coef_walk_transit_ASC_commuter_work,0.4012,0.4012,0,,,0.4012 -coef_walk_transit_ASC_express_work,-0.35539999999999999,-0.35539999999999999,0,,,-0.35539999999999999 -coef_walk_transit_ASC_ferry_work,0.52769999999999995,0.52769999999999995,0,,,0.52769999999999995 -coef_walk_transit_ASC_heavyrail_work,0.50253917060490561,0.3538,0,,,0.50253917060490561 -coef_walk_transit_ASC_lightrail_work,0.63259254210688642,0.46210000000000001,0,,,0.63259254210688642 -coef_walk_transit_ASC_rh_work,-2.8695420596058572,-3.7408000000000001,0,,,-2.8695420596058572 -coef_walk_transit_ASC_sr2_work,-2.2566861984974196,-3.6631,0,,,-2.2566861984974196 -coef_walk_transit_ASC_sr3p_work,-2.6534480546215211,-4.1314000000000002,0,,,-2.6534480546215211 -coef_walk_transit_ASC_walk_work,-0.39143818330516583,0.44319999999999998,0,,,-0.39143818330516583 -coef_bike_ASC_walk_univ,-0.33989999999999998,-0.33989999999999998,0,,,-0.33989999999999998 -coef_drive_transit_ASC_commuter_univ_school,0.90820000000000001,0.90820000000000001,0,,,0.90820000000000001 -coef_drive_transit_ASC_express_univ_school,0.32240000000000002,0.32240000000000002,0,,,0.32240000000000002 -coef_drive_transit_ASC_ferry_univ_school,1.7237,1.7237,0,,,1.7237 -coef_drive_transit_ASC_heavyrail_univ_school,0.84899999999999998,0.84899999999999998,0,,,0.84899999999999998 -coef_drive_transit_ASC_lightrail_univ_school,1.4436,1.4436,0,,,1.4436 -coef_ivt_univ_school,-0.0082670637836597533,-0.027099999999999999,0,,,-0.0082670637836597533 -coef_ride_hail_ASC_sr2_univ,-4.3372000000000002,-4.3372000000000002,0,,,-4.3372000000000002 -coef_ride_hail_ASC_sr3p_univ,-4.9219999999999997,-4.9219999999999997,0,,,-4.9219999999999997 -coef_ride_hail_ASC_taxi_univ,-1.5993999999999999,-1.5993999999999999,0,,,-1.5993999999999999 -coef_ride_hail_ASC_tnc_single_univ,0.1081,0.1081,0,,,0.1081 -coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint,-26.322181448888141,-7,0,,,-26.322181448888141 -coef_sov_ASC_rh_univ,-6.649,-6.649,0,,,-6.649 -coef_sov_ASC_walk_univ,-1.0579000000000001,-1.0579000000000001,0,,,-1.0579000000000001 -coef_sr2_ASC_rh_univ,-6.6897000000000002,-6.6897000000000002,0,,,-6.6897000000000002 -coef_sr2_ASC_sr2_univ,0.4304,0.4304,0,,,0.4304 -coef_sr2_ASC_walk_univ,1.3041,1.3041,0,,,1.3041 -coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr,-7,-7,0,-7,-7,-7 -coef_sr3p_ASC_sr2_univ,-0.31169999999999998,-0.31169999999999998,0,,,-0.31169999999999998 -coef_sr3p_ASC_sr3p_univ,0.62929999999999997,0.62929999999999997,0,,,0.62929999999999997 -coef_sr3p_ASC_walk_univ,1.6793,1.6793,0,,,1.6793 -coef_walk_transit_ASC_commuter_univ_school,0.90820000000000001,0.90820000000000001,0,,,0.90820000000000001 -coef_walk_transit_ASC_express_univ_school,0.32240000000000002,0.32240000000000002,0,,,0.32240000000000002 -coef_walk_transit_ASC_ferry_univ_school,1.7237,1.7237,0,,,1.7237 -coef_walk_transit_ASC_heavyrail_univ_school,0.86656489716508533,0.84899999999999998,0,,,0.86656489716508533 -coef_walk_transit_ASC_lightrail_univ_school,1.5673078514811689,1.4436,0,,,1.5673078514811689 -coef_walk_transit_ASC_rh_univ,-4.2690999999999999,-4.2690999999999999,0,,,-4.2690999999999999 -coef_walk_transit_ASC_sr2_univ,-4.0049999999999999,-4.0049999999999999,0,,,-4.0049999999999999 -coef_walk_transit_ASC_sr3p_univ,-28.697199999999999,-28.697199999999999,0,,,-28.697199999999999 -coef_walk_transit_ASC_walk_univ,-1.0310999999999999,-1.0310999999999999,0,,,-1.0310999999999999 -coef_bike_ASC_walk_school,-106.06311357570786,-2.0331999999999999,0,,,-106.06311357570786 -coef_ride_hail_ASC_sr2_school,-17.561865296747161,-1.5869,0,,,-17.561865296747161 -coef_ride_hail_ASC_sr3p_school,-17.869354547202143,-2.5362,0,,,-17.869354547202143 -coef_ride_hail_ASC_taxi_school,-1.6385208722849591,-0.58689999999999998,0,,,-1.6385208722849591 -coef_ride_hail_ASC_tnc_single_school,23.693954665409134,0.3201,0,,,23.693954665409134 -coef_ride_hail_ASC_walk_school,-17.881587989266929,0.245,0,,,-17.881587989266929 -coef_sov_ASC_rh_school,-126.45615738910647,-5.6548999999999996,0,,,-126.45615738910647 -coef_sov_ASC_walk_school,-3.1154322443821076,-71.8977,0,,,-3.1154322443821076 -coef_sr2_ASC_sr2_school,-0.54053965419989403,-1.9335,0,,,-0.54053965419989403 -coef_sr2_ASC_walk_school,-2.0412093694429427,-1.0362,0,,,-2.0412093694429427 -coef_sr3p_ASC_rh_school,-167.92322922478724,-6.6714000000000002,0,,,-167.92322922478724 -coef_sr3p_ASC_sr2_school,-1.0175286592825254,-2.7406999999999999,0,,,-1.0175286592825254 -coef_sr3p_ASC_sr3p_school,0.19312416588689055,-1.7718,0,,,0.19312416588689055 -coef_sr3p_ASC_walk_school,-2.4447403802047534,-1.2126999999999999,0,,,-2.4447403802047534 -coef_walk_transit_ASC_rh_school,-4.3619869330314502,-7,0,,,-4.3619869330314502 -coef_walk_transit_ASC_sr2_school,-2.270274862864051,-4.2961,0,,,-2.270274862864051 -coef_walk_transit_ASC_sr3p_school,-2.4067383334703436,-3.8664999999999998,0,,,-2.4067383334703436 -coef_walk_transit_ASC_walk_school,-1.4950397618009084,-1.1828000000000001,0,,,-1.4950397618009084 -coef_bike_ASC_walk_escort,-13.520327232125497,-13.520300000000001,0,,,-13.520327232125497 -coef_drive_transit_ASC_commuter_escort,0.54420000000000002,0.54420000000000002,0,,,0.54420000000000002 -coef_drive_transit_ASC_express_escort,0.75470000000000004,0.75470000000000004,0,,,0.75470000000000004 -coef_drive_transit_ASC_ferry_escort,0.60050000000000003,0.60050000000000003,0,,,0.60050000000000003 -coef_drive_transit_ASC_heavyrail_escort,-14.234170107485145,0.56730000000000003,0,,,-14.234170107485145 -coef_drive_transit_ASC_lightrail_escort,0.5252,0.5252,0,,,0.5252 -coef_ivt_escort_shopping_eatout_othdiscr_atwork,-0.011935317751590301,-0.027900000000000001,0,,,-0.011935317751590301 -coef_ride_hail_ASC_sr2_escort_shopping_othmaint,-23.87393437250816,-5.6482999999999999,0,,,-23.87393437250816 -coef_ride_hail_ASC_taxi_escort_shopping_othmaint,-3.6645734090143596,-3.6629,0,,,-3.6645734090143596 -coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint,24.219922267784732,0.78790000000000004,0,,,24.219922267784732 -coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr,0,0,0,0,0,0 -coef_sov_ASC_sr2_escort,0,0,0,0,0,0 -coef_sov_ASC_sr3p_escort,0,0,0,0,0,0 -coef_sov_ASC_walk_escort,0,0,0,0,0,0 -coef_sr2_ASC_sr2_escort,0.48842589140865728,0.3533,0,,,0.48842589140865728 -coef_sr2_ASC_walk_escort,-25.486556155436141,-2.0528,0,,,-25.486556155436141 -coef_sr3p_ASC_sr2_escort,-0.20651374838779549,-0.26819999999999999,0,,,-0.20651374838779549 -coef_sr3p_ASC_sr3p_escort,0.89578731133543399,0.73580000000000001,0,,,0.89578731133543399 -coef_sr3p_ASC_walk_escort,-3.4160479693862773,-1.0075000000000001,0,,,-3.4160479693862773 -coef_walk_transit_ASC_commuter_escort,0.54420000000000002,0.54420000000000002,0,,,0.54420000000000002 -coef_walk_transit_ASC_express_escort,0.75470000000000004,0.75470000000000004,0,,,0.75470000000000004 -coef_walk_transit_ASC_ferry_escort,0.60050000000000003,0.60050000000000003,0,,,0.60050000000000003 -coef_walk_transit_ASC_heavyrail_escort,0.85028037339339679,0.56730000000000003,0,,,0.85028037339339679 -coef_walk_transit_ASC_lightrail_escort,1.12520509210183,0.5252,0,,,1.12520509210183 -coef_walk_transit_ASC_rh_escort_shopping_othmaint,-2.3595754865729988,-3.1135999999999999,0,,,-2.3595754865729988 -coef_walk_transit_ASC_sr2_escort,-1.0205990135822081,-2.6284000000000001,0,,,-1.0205990135822081 -coef_walk_transit_ASC_sr3p_escort,-184.69692639910483,-3.2073999999999998,0,,,-184.69692639910483 -coef_walk_transit_ASC_walk_escort,-88.120508523406016,-0.99739999999999995,0,,,-88.120508523406016 -coef_bike_ASC_walk_shopping,-23.156539428413335,-1.0245,0,,,-23.156539428413335 -coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork,0.51290000000000002,0.51290000000000002,0,,,0.51290000000000002 -coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork,0.66479999999999995,0.66479999999999995,0,,,0.66479999999999995 -coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork,0.64659999999999995,0.64659999999999995,0,,,0.64659999999999995 -coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.5403,0.5403,0,,,0.5403 -coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.53920000000000001,0.53920000000000001,0,,,0.53920000000000001 -coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr,-7,-7,0,,,-7 -coef_joint_auto_ASC_sr2_shopping,2.7753435280365912,0.58750000000000002,0,,,2.7753435280365912 -coef_joint_auto_ASC_sr3p_shopping,-19.06434075519855,-19.045400000000001,0,,,-19.06434075519855 -coef_joint_auto_ASC_walk_shopping,-23.468835890078797,-23.468800000000002,0,,,-23.468835890078797 -coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr,-12.3057,-12.3057,0,,,-12.3057 -coef_joint_bike_ASC_walk_shopping,-7.0476000000000001,-7.0476000000000001,0,,,-7.0476000000000001 -coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr,0.51290000000000002,0.51290000000000002,0,,,0.51290000000000002 -coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr,0.66479999999999995,0.66479999999999995,0,,,0.66479999999999995 -coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr,0.64659999999999995,0.64659999999999995,0,,,0.64659999999999995 -coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr,0.5403,0.5403,0,,,0.5403 -coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr,0.53920000000000001,0.53920000000000001,0,,,0.53920000000000001 -coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr,4.6138000000000003,4.6138000000000003,0,,,4.6138000000000003 -coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr,-7,-7,0,,,-7 -coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr,-7,-7,0,,,-7 -coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr,-7,-7,0,,,-7 -coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr,-4.7339000000000002,-4.7339000000000002,0,,,-4.7339000000000002 -coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr,-7,-7,0,,,-7 -coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr,-3.0362,-3.0362,0,,,-3.0362 -coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr,0.51290000000000002,0.51290000000000002,0,,,0.51290000000000002 -coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr,0.66479999999999995,0.66479999999999995,0,,,0.66479999999999995 -coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr,0.64659999999999995,0.64659999999999995,0,,,0.64659999999999995 -coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr,21.596514314322803,0.5403,0,,,21.596514314322803 -coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr,0.92447712850041863,0.53920000000000001,0,,,0.92447712850041863 -coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr,3.132294016909416,1.2265999999999999,0,,,3.132294016909416 -coef_joint_walk_transit_ASC_sr2_shopping,-21.576802070713498,-21.576799999999999,0,,,-21.576802070713498 -coef_joint_walk_transit_ASC_sr3p_shopping,-25.595300009753458,-25.595300000000002,0,,,-25.595300009753458 -coef_joint_walk_transit_ASC_walk_shopping,-101.70152139850924,-0.54720000000000002,0,,,-101.70152139850924 -coef_sov_ASC_walk_shopping,-3.7867423367407271,-1.4765999999999999,0,,,-3.7867423367407271 -coef_sr2_ASC_sr2_shopping,1.7463545613015568,1.3765000000000001,0,,,1.7463545613015568 -coef_sr2_ASC_walk_shopping,-3.6530756986244408,-0.11169999999999999,0,,,-3.6530756986244408 -coef_sr3p_ASC_sr2_shopping,0.33630630204547912,-0.078100000000000003,0,,,0.33630630204547912 -coef_sr3p_ASC_sr3p_shopping,1.6427397418976948,1.3394999999999999,0,,,1.6427397418976948 -coef_sr3p_ASC_walk_shopping,-3.9191286556878429,-0.50790000000000002,0,,,-3.9191286556878429 -coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork,0.51290000000000002,0.51290000000000002,0,,,0.51290000000000002 -coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork,0.66479999999999995,0.66479999999999995,0,,,0.66479999999999995 -coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork,0.64659999999999995,0.64659999999999995,0,,,0.64659999999999995 -coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.92621641961993106,0.5403,0,,,0.92621641961993106 -coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.83136133693868486,0.53920000000000001,0,,,0.83136133693868486 -coef_walk_transit_ASC_sr2_shopping,-2.1233168743409747,-4.0114999999999998,0,,,-2.1233168743409747 -coef_walk_transit_ASC_sr3p_shopping,-91.093530857559287,-4.3852000000000002,0,,,-91.093530857559287 -coef_walk_transit_ASC_walk_shopping,-0.81350805532373194,-0.1943,0,,,-0.81350805532373194 -coef_bike_ASC_walk_eatout,-174.81611515878677,-2.6989999999999998,0,,,-174.81611515878677 -coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr,0.38104442976260161,-0.063399999999999998,0,,,0.38104442976260161 -coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr,0.38908646769235944,-0.16250000000000001,0,,,0.38908646769235944 -coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr,-4.3794314087625494,-0.71440000000000003,0,,,-4.3794314087625494 -coef_joint_bike_ASC_walk_eatout,-15.5588,-15.5588,0,,,-15.5588 -coef_joint_walk_transit_ASC_sr2_eatout,-14.914319758236871,-14.913399999999999,0,,,-14.914319758236871 -coef_joint_walk_transit_ASC_sr3p_eatout,-16.758772307649721,-16.758700000000001,0,,,-16.758772307649721 -coef_joint_walk_transit_ASC_walk_eatout,1.1018580418672292,2.3016999999999999,0,,,1.1018580418672292 -coef_ride_hail_ASC_sr2_eatout_social_othdiscr,-16.851845961332685,-5.9691999999999998,0,,,-16.851845961332685 -coef_ride_hail_ASC_sr3p_eatout_social_othdiscr,-11.873288203497911,-6.7199,0,,,-11.873288203497911 -coef_ride_hail_ASC_taxi_eatout_social_othdiscr,-2.5632427324461902,-2.5543,0,,,-2.5632427324461902 -coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr,23.995880104391915,0.82740000000000002,0,,,23.995880104391915 -coef_ride_hail_ASC_walk_eatout_social_othdiscr,-17.718714023749605,-3.3603000000000001,0,,,-17.718714023749605 -coef_sov_ASC_walk_eatout,-2.6337956057242367,-1.3443000000000001,0,,,-2.6337956057242367 -coef_sr2_ASC_sr2_eatout,1.1016400029858922,0.99709999999999999,0,,,1.1016400029858922 -coef_sr2_ASC_walk_eatout,-4.5471769897543872,-0.072900000000000006,0,,,-4.5471769897543872 -coef_sr3p_ASC_sr2_eatout,-0.21320006188848084,-0.31780000000000003,0,,,-0.21320006188848084 -coef_sr3p_ASC_sr3p_eatout,1.474080431715626,1.3323,0,,,1.474080431715626 -coef_sr3p_ASC_walk_eatout,-2.5082484326697068,-0.043400000000000001,0,,,-2.5082484326697068 -coef_walk_transit_ASC_rh_eatout_social_othdiscr,-2.6584911065153216,-4.7507999999999999,0,,,-2.6584911065153216 -coef_walk_transit_ASC_sr2_eatout,-2.0069285824622241,-3.1434000000000002,0,,,-2.0069285824622241 -coef_walk_transit_ASC_sr3p_eatout,-2.5231634577013793,-3.8519999999999999,0,,,-2.5231634577013793 -coef_walk_transit_ASC_walk_eatout,0.16642876905750803,1.3504,0,,,0.16642876905750803 -coef_bike_ASC_walk_othmaint,-0.784009151847747,-0.5706,0,,,-0.784009151847747 -coef_ivt_othmaint_social,-0.012116004199731105,-0.017500000000000002,0,,,-0.012116004199731105 -coef_joint_bike_ASC_walk_othmaint,-13.5192,-13.5192,0,,,-13.5192 -coef_joint_walk_transit_ASC_sr2_othmaint,-11.323061152682898,-5.3230000000000004,0,,,-11.323061152682898 -coef_joint_walk_transit_ASC_sr3p_othmaint,-44.010114035526179,-3.9563000000000001,0,,,-44.010114035526179 -coef_joint_walk_transit_ASC_walk_othmaint,-73.569639938685185,1.1876,0,,,-73.569639938685185 -coef_sov_ASC_walk_othmaint,-4.4263069274933464,-1.2992999999999999,0,,,-4.4263069274933464 -coef_sr2_ASC_sr2_othmaint,0.93483638812856495,0.85740000000000005,0,,,0.93483638812856495 -coef_sr2_ASC_walk_othmaint,-3.1386920238871761,-0.59889999999999999,0,,,-3.1386920238871761 -coef_sr3p_ASC_sr2_othmaint,0.042063533996837946,-0.29580000000000001,0,,,0.042063533996837946 -coef_sr3p_ASC_sr3p_othmaint,1.1283362600967743,0.95269999999999999,0,,,1.1283362600967743 -coef_sr3p_ASC_walk_othmaint,-5.0664087819757082,0.042200000000000001,0,,,-5.0664087819757082 -coef_walk_transit_ASC_sr2_othmaint,-34.674600000130781,-34.674599999999998,0,,,-34.674600000130781 -coef_walk_transit_ASC_sr3p_othmaint,-29.385800207697873,-29.3858,0,,,-29.385800207697873 -coef_walk_transit_ASC_walk_othmaint,-0.28811698789154394,0.7248,0,,,-0.28811698789154394 -coef_bike_ASC_walk_social,-13.240952180972661,-13.2384,0,,,-13.240952180972661 -coef_joint_bike_ASC_walk_social,-26.171399999999998,-26.171399999999998,0,,,-26.171399999999998 -coef_joint_walk_transit_ASC_sr2_social,-20.502199999999998,-20.502199999999998,0,,,-20.502199999999998 -coef_joint_walk_transit_ASC_sr3p_social,-34.7378,-34.7378,0,,,-34.7378 -coef_joint_walk_transit_ASC_walk_social,-2.3852136661883132,-2.1301000000000001,0,,,-2.3852136661883132 -coef_sov_ASC_walk_social,-25.269332635237305,-1.8077000000000001,0,,,-25.269332635237305 -coef_sr2_ASC_sr2_social,0.76826858270381293,0.56630000000000003,0,,,0.76826858270381293 -coef_sr2_ASC_walk_social,-2.8506566329280796,-0.79320000000000002,0,,,-2.8506566329280796 -coef_sr3p_ASC_sr2_social,-0.12234716443959485,-0.15559999999999999,0,,,-0.12234716443959485 -coef_sr3p_ASC_sr3p_social,1.2106868400711996,0.83309999999999995,0,,,1.2106868400711996 -coef_sr3p_ASC_walk_social,-3.0801131342084651,-0.31340000000000001,0,,,-3.0801131342084651 -coef_walk_transit_ASC_sr2_social,-2.0645343270844863,-3.3662999999999998,0,,,-2.0645343270844863 -coef_walk_transit_ASC_sr3p_social,-21.63090014868768,-21.6309,0,,,-21.63090014868768 -coef_walk_transit_ASC_walk_social,-2.3146041098832506,-0.7651,0,,,-2.3146041098832506 -coef_bike_ASC_walk_othdiscr,-1.3971872234012017,-1.3576999999999999,0,,,-1.3971872234012017 -coef_joint_bike_ASC_walk_othdiscr,-14.444000000000001,-14.444000000000001,0,,,-14.444000000000001 -coef_joint_walk_transit_ASC_sr2_othdiscr,-14.9801,-14.9801,0,,,-14.9801 -coef_joint_walk_transit_ASC_sr3p_othdiscr,-16.735567652638597,-16.735399999999998,0,,,-16.735567652638597 -coef_joint_walk_transit_ASC_walk_othdiscr,-25.948044836941285,-0.0023999999999999998,0,,,-25.948044836941285 -coef_sov_ASC_walk_othdiscr,-4.9397828512902819,-1.5507,0,,,-4.9397828512902819 -coef_sr2_ASC_sr2_othdiscr,0.85570357875378389,0.74780000000000002,0,,,0.85570357875378389 -coef_sr2_ASC_walk_othdiscr,-2.4704700572535603,-0.026800000000000001,0,,,-2.4704700572535603 -coef_sr3p_ASC_sr2_othdiscr,-0.41762969659077742,-0.61419999999999997,0,,,-0.41762969659077742 -coef_sr3p_ASC_sr3p_othdiscr,0.84494437659483101,0.73980000000000001,0,,,0.84494437659483101 -coef_sr3p_ASC_walk_othdiscr,-5.841028145506157,-0.5272,0,,,-5.841028145506157 -coef_walk_transit_ASC_sr2_othdiscr,-1.2322243797539427,-2.7589999999999999,0,,,-1.2322243797539427 -coef_walk_transit_ASC_sr3p_othdiscr,-1.1992638422488842,-2.5125999999999999,0,,,-1.1992638422488842 -coef_walk_transit_ASC_walk_othdiscr,-0.98049723049553139,-0.49969999999999998,0,,,-0.98049723049553139 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +coef_age010_trn,0.35767627741145724,0.35767627741145724,0,0 +coef_age1619_da,0.34333578772407369,0.34333578772407369,0,0 +coef_age16p_sr,-0.14184142530409971,-0.14184142530409971,0,0 +coef_bike_ASC_rh,-7,-7,-7,0 +coef_bike_ASC_walk_eatout,-4.6307472236220351,-4.6307472236220351,-2.6989999999999998,0 +coef_bike_ASC_walk_escort,-13.520300035676909,-13.520300035676909,-13.520300000000001,0 +coef_bike_ASC_walk_othdiscr,-1.3990818215431378,-1.3990818215431378,-1.3576999999999999,0 +coef_bike_ASC_walk_othmaint,-0.7890931685689252,-0.7890931685689252,-0.5706,0 +coef_bike_ASC_walk_school,-4.9873103152859581,-4.9873103152859581,-2.0331999999999999,0 +coef_bike_ASC_walk_shopping,-11.171180371928761,-11.171180371928761,-1.0245,0 +coef_bike_ASC_walk_social,-13.238403309075121,-13.238403309075121,-13.2384,0 +coef_bike_ASC_walk_univ,-0.33989999999999998,-0.33989999999999998,-0.33989999999999998,0 +coef_bike_ASC_walk_work,-2.662073727736936,-2.662073727736936,-1.8332999999999999,0 +coef_drive_transit_ASC_commuter_escort,0.54420000000000002,0.54420000000000002,0.54420000000000002,0 +coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork,0.51290000000000002,0.51290000000000002,0.51290000000000002,0 +coef_drive_transit_ASC_commuter_univ_school,0.90820000000000001,0.90820000000000001,0.90820000000000001,0 +coef_drive_transit_ASC_commuter_work,0.42637620615946842,0.42637620615946842,0.4012,0 +coef_drive_transit_ASC_express_escort,0.75470000000000004,0.75470000000000004,0.75470000000000004,0 +coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork,0.66479999999999995,0.66479999999999995,0.66479999999999995,0 +coef_drive_transit_ASC_express_univ_school,0.32240000000000002,0.32240000000000002,0.32240000000000002,0 +coef_drive_transit_ASC_express_work,-0.35539999999999999,-0.35539999999999999,-0.35539999999999999,0 +coef_drive_transit_ASC_ferry_escort,0.60050000000000003,0.60050000000000003,0.60050000000000003,0 +coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork,0.64659999999999995,0.64659999999999995,0.64659999999999995,0 +coef_drive_transit_ASC_ferry_univ_school,1.7237,1.7237,1.7237,0 +coef_drive_transit_ASC_ferry_work,0.52769999999999995,0.52769999999999995,0.52769999999999995,0 +coef_drive_transit_ASC_heavyrail_escort,-9.989800530770955,-9.989800530770955,0.56730000000000003,0 +coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.5403,0.5403,0.5403,0 +coef_drive_transit_ASC_heavyrail_univ_school,0.84899999999999998,0.84899999999999998,0.84899999999999998,0 +coef_drive_transit_ASC_heavyrail_work,-8.7062475359294247,-8.7062475359294247,0.3538,0 +coef_drive_transit_ASC_lightrail_escort,0.5252,0.5252,0.5252,0 +coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.53920000000000001,0.53920000000000001,0.53920000000000001,0 +coef_drive_transit_ASC_lightrail_univ_school,1.4436,1.4436,1.4436,0 +coef_drive_transit_ASC_lightrail_work,-7.4071143692385562,-7.4071143692385562,0.46210000000000001,0 +coef_drive_transit_ASC_rh,-8.0109041770487206,-8.0109041770487206,-4.25,0 +coef_hhsize1_sr,-0.89082809363303117,-0.89082809363303117,-0.73460000000000003,0 +coef_hhsize2_sr,0.039673604461434211,0.039673604461434211,0,0 +coef_ivt_escort_shopping_eatout_othdiscr_atwork,-0.011939751587626005,-0.011939751587626005,-0.027900000000000001,0 +coef_ivt_othmaint_social,-0.012113122493485196,-0.012113122493485196,-0.017500000000000002,0 +coef_ivt_univ_school,-0.0082684909559910397,-0.0082684909559910397,-0.027099999999999999,0 +coef_ivt_work,-0.010154800227496609,-0.010154800227496609,-0.021999999999999999,0 +coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr,-7,-7,-7,0 +coef_joint_auto_ASC_rh_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr,0.37182968511460945,0.37182968511460945,-0.063399999999999998,0 +coef_joint_auto_ASC_sr2_shopping,2.7630522022711443,2.7630522022711443,0.58750000000000002,0 +coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr,0.37976650225041186,0.37976650225041186,-0.16250000000000001,0 +coef_joint_auto_ASC_sr3p_shopping,-19.04542622913733,-19.04542622913733,-19.045400000000001,0 +coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr,-4.375671164481866,-4.375671164481866,-0.71440000000000003,0 +coef_joint_auto_ASC_walk_shopping,-23.468800060392848,-23.468800060392848,-23.468800000000002,0 +coef_joint_auto_ASC_walk_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr,-12.3057,-12.3057,-12.3057,0 +coef_joint_bike_ASC_rh_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_bike_ASC_walk_eatout,-15.5588,-15.5588,-15.5588,0 +coef_joint_bike_ASC_walk_othdiscr,-14.444000000000001,-14.444000000000001,-14.444000000000001,0 +coef_joint_bike_ASC_walk_othmaint,-13.5192,-13.5192,-13.5192,0 +coef_joint_bike_ASC_walk_shopping,-7.0476000000000001,-7.0476000000000001,-7.0476000000000001,0 +coef_joint_bike_ASC_walk_social,-26.171399999999998,-26.171399999999998,-26.171399999999998,0 +coef_joint_bike_ASC_walk_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr,0.51290000000000002,0.51290000000000002,0.51290000000000002,0 +coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr,0.66479999999999995,0.66479999999999995,0.66479999999999995,0 +coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr,0.64659999999999995,0.64659999999999995,0.64659999999999995,0 +coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr,0.5403,0.5403,0.5403,0 +coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr,0.53920000000000001,0.53920000000000001,0.53920000000000001,0 +coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr,4.6138000000000003,4.6138000000000003,4.6138000000000003,0 +coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr,-7,-7,-7,0 +coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr,-7,-7,-7,0 +coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr,-7,-7,-7,0 +coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_ride_hail_ASC_tnc_shared,0,0,0,0 +coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr,-4.7339000000000002,-4.7339000000000002,-4.7339000000000002,0 +coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr,-7,-7,-7,0 +coef_joint_ride_hail_ASC_walk_transit,0,0,0,0 +coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr,-3.0362,-3.0362,-3.0362,0 +coef_joint_walk_ASC_rh_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr,0.51290000000000002,0.51290000000000002,0.51290000000000002,0 +coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr,0.66479999999999995,0.66479999999999995,0.66479999999999995,0 +coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr,0.64659999999999995,0.64659999999999995,0.64659999999999995,0 +coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr,13.389850481098479,13.389850481098479,0.5403,0 +coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr,0.98274193315609293,0.98274193315609293,0.53920000000000001,0 +coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr,3.183325294252882,3.183325294252882,1.2265999999999999,0 +coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_sr2_eatout,-14.913401266030013,-14.913401266030013,-14.913399999999999,0 +coef_joint_walk_transit_ASC_sr2_othdiscr,-14.9801,-14.9801,-14.9801,0 +coef_joint_walk_transit_ASC_sr2_othmaint,-5.3309700517325718,-5.3309700517325718,-5.3230000000000004,0 +coef_joint_walk_transit_ASC_sr2_shopping,-21.576800002987216,-21.576800002987216,-21.576799999999999,0 +coef_joint_walk_transit_ASC_sr2_social,-20.502199999999998,-20.502199999999998,-20.502199999999998,0 +coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_sr3p_eatout,-16.758700099536259,-16.758700099536259,-16.758700000000001,0 +coef_joint_walk_transit_ASC_sr3p_othdiscr,-16.735400264288284,-16.735400264288284,-16.735399999999998,0 +coef_joint_walk_transit_ASC_sr3p_othmaint,-4.0140180305790336,-4.0140180305790336,-3.9563000000000001,0 +coef_joint_walk_transit_ASC_sr3p_shopping,-25.595300000014014,-25.595300000014014,-25.595300000000002,0 +coef_joint_walk_transit_ASC_sr3p_social,-34.7378,-34.7378,-34.7378,0 +coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork,0,0,0,0 +coef_joint_walk_transit_ASC_walk_eatout,1.1571199957158329,1.1571199957158329,2.3016999999999999,0 +coef_joint_walk_transit_ASC_walk_othdiscr,-0.043211155305850707,-0.043211155305850707,-0.0023999999999999998,0 +coef_joint_walk_transit_ASC_walk_othmaint,-5.4736104658626115,-5.4736104658626115,1.1876,0 +coef_joint_walk_transit_ASC_walk_shopping,-5.9428639820608167,-5.9428639820608167,-0.54720000000000002,0 +coef_joint_walk_transit_ASC_walk_social,-2.2714573374616625,-2.2714573374616625,-2.1301000000000001,0 +coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork,0,0,0,0 +coef_nest_AUTO,0.71999999999999997,0.71999999999999997,0.71999999999999997,1 +coef_nest_AUTO_DRIVEALONE,0.34999999999999998,0.34999999999999998,0.34999999999999998,1 +coef_nest_AUTO_SHAREDRIDE2,0.34999999999999998,0.34999999999999998,0.34999999999999998,1 +coef_nest_AUTO_SHAREDRIDE3,0.34999999999999998,0.34999999999999998,0.34999999999999998,1 +coef_nest_NONMOTORIZED,0.71999999999999997,0.71999999999999997,0.71999999999999997,1 +coef_nest_RIDEHAIL,0.35999999999999999,0.35999999999999999,0.35999999999999999,1 +coef_nest_TRANSIT,0.71999999999999997,0.71999999999999997,0.71999999999999997,1 +coef_nest_TRANSIT_DRIVEACCESS,0.5,0.5,0.5,1 +coef_nest_TRANSIT_WALKACCESS,0.5,0.5,0.5,1 +coef_ride_hail_ASC_sr2_eatout_social_othdiscr,-6.4237650755245772,-6.4237650755245772,-5.9691999999999998,0 +coef_ride_hail_ASC_sr2_escort_shopping_othmaint,-8.6681239587327461,-8.6681239587327461,-5.6482999999999999,0 +coef_ride_hail_ASC_sr2_school,-9.8588042940530691,-9.8588042940530691,-1.5869,0 +coef_ride_hail_ASC_sr2_univ,-4.3372000000000002,-4.3372000000000002,-4.3372000000000002,0 +coef_ride_hail_ASC_sr2_work,-8.7370618957514985,-8.7370618957514985,-6.1079999999999997,0 +coef_ride_hail_ASC_sr3p_eatout_social_othdiscr,-6.8871198658131894,-6.8871198658131894,-6.7199,0 +coef_ride_hail_ASC_sr3p_school,-7.667321296853344,-7.667321296853344,-2.5362,0 +coef_ride_hail_ASC_sr3p_univ,-4.9219999999999997,-4.9219999999999997,-4.9219999999999997,0 +coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork,-8.4993141583621394,-8.4993141583621394,-7,0 +coef_ride_hail_ASC_taxi_eatout_social_othdiscr,-2.5631373967196924,-2.5631373967196924,-2.5543,0 +coef_ride_hail_ASC_taxi_escort_shopping_othmaint,-3.6639503613758153,-3.6639503613758153,-3.6629,0 +coef_ride_hail_ASC_taxi_school,-1.9540410876610597,-1.9540410876610597,-0.58689999999999998,0 +coef_ride_hail_ASC_taxi_univ,-1.5993999999999999,-1.5993999999999999,-1.5993999999999999,0 +coef_ride_hail_ASC_taxi_work,-2.4992280746351052,-2.4992280746351052,-2.3849999999999998,0 +coef_ride_hail_ASC_tnc_shared,6.4746604585247001,6.4746604585247001,0,0 +coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr,7.2023280939010208,7.2023280939010208,0.82740000000000002,0 +coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint,7.4263660209874116,7.4263660209874116,0.78790000000000004,0 +coef_ride_hail_ASC_tnc_single_school,6.9003930265898461,6.9003930265898461,0.3201,0 +coef_ride_hail_ASC_tnc_single_univ,0.1081,0.1081,0.1081,0 +coef_ride_hail_ASC_tnc_single_work,7.1906030498215934,7.1906030498215934,0.73499999999999999,0 +coef_ride_hail_ASC_walk_eatout_social_othdiscr,-8.2700256968569796,-8.2700256968569796,-3.3603000000000001,0 +coef_ride_hail_ASC_walk_school,-13.75516439764165,-13.75516439764165,0.245,0 +coef_ride_hail_ASC_walk_transit,5.320919867286813,5.320919867286813,0,0 +coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint,-7.9623896833175234,-7.9623896833175234,-7,0 +coef_ride_hail_ASC_walk_work,4.9774767261374491,4.9774767261374491,0.2858,0 +coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr,0,0,0,0 +coef_sov_ASC_rh_school,-10.949190676763848,-10.949190676763848,-5.6548999999999996,0 +coef_sov_ASC_rh_univ,-6.649,-6.649,-6.649,0 +coef_sov_ASC_rh_work_atwork,-7,-7,-7,0 +coef_sov_ASC_sr2_escort,0,0,0,0 +coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork,-999,-999,-999,0 +coef_sov_ASC_sr3p_escort,0,0,0,0 +coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork,-999,-999,-999,0 +coef_sov_ASC_walk_eatout,-2.6351638383156661,-2.6351638383156661,-1.3443000000000001,0 +coef_sov_ASC_walk_escort,0,0,0,0 +coef_sov_ASC_walk_othdiscr,-4.9362989098824706,-4.9362989098824706,-1.5507,0 +coef_sov_ASC_walk_othmaint,-4.4203686413898176,-4.4203686413898176,-1.2992999999999999,0 +coef_sov_ASC_walk_school,-3.1150166914376998,-3.1150166914376998,-71.8977,0 +coef_sov_ASC_walk_shopping,-3.790711593714617,-3.790711593714617,-1.4765999999999999,0 +coef_sov_ASC_walk_social,-15.183480636962726,-15.183480636962726,-1.8077000000000001,0 +coef_sov_ASC_walk_univ,-1.0579000000000001,-1.0579000000000001,-1.0579000000000001,0 +coef_sov_ASC_walk_work,-3.0071231001560492,-3.0071231001560492,-0.83979999999999999,0 +coef_sr2_ASC_rh_univ,-6.6897000000000002,-6.6897000000000002,-6.6897000000000002,0 +coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork,-7,-7,-7,0 +coef_sr2_ASC_sr2_eatout,1.0915911218889376,1.0915911218889376,0.99709999999999999,0 +coef_sr2_ASC_sr2_escort,0.4783058163607723,0.4783058163607723,0.3533,0 +coef_sr2_ASC_sr2_othdiscr,0.84570279022463457,0.84570279022463457,0.74780000000000002,0 +coef_sr2_ASC_sr2_othmaint,0.92430088713320557,0.92430088713320557,0.85740000000000005,0 +coef_sr2_ASC_sr2_school,-0.55142467432696085,-0.55142467432696085,-1.9335,0 +coef_sr2_ASC_sr2_shopping,1.7357779332652892,1.7357779332652892,1.3765000000000001,0 +coef_sr2_ASC_sr2_social,0.75821484443712639,0.75821484443712639,0.56630000000000003,0 +coef_sr2_ASC_sr2_univ,0.4304,0.4304,0.4304,0 +coef_sr2_ASC_sr2_work,0.18734725740026195,0.18734725740026195,0.0149,0 +coef_sr2_ASC_sr3p,-999,-999,-999,0 +coef_sr2_ASC_walk_eatout,-4.5472515289454529,-4.5472515289454529,-0.072900000000000006,0 +coef_sr2_ASC_walk_escort,-23.318883212926828,-23.318883212926828,-2.0528,0 +coef_sr2_ASC_walk_othdiscr,-2.4714996184390858,-2.4714996184390858,-0.026800000000000001,0 +coef_sr2_ASC_walk_othmaint,-3.1513689512096983,-3.1513689512096983,-0.59889999999999999,0 +coef_sr2_ASC_walk_school,-2.0520641973448814,-2.0520641973448814,-1.0362,0 +coef_sr2_ASC_walk_shopping,-3.6616557867959929,-3.6616557867959929,-0.11169999999999999,0 +coef_sr2_ASC_walk_social,-2.8345061083015142,-2.8345061083015142,-0.79320000000000002,0 +coef_sr2_ASC_walk_univ,1.3041,1.3041,1.3041,0 +coef_sr2_ASC_walk_work,-2.2227044743770445,-2.2227044743770445,0.126,0 +coef_sr3p_ASC_rh_school,-10.730125238227592,-10.730125238227592,-6.6714000000000002,0 +coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr,-7,-7,-7,0 +coef_sr3p_ASC_rh_work,-71.917699999999996,-71.917699999999996,-71.917699999999996,0 +coef_sr3p_ASC_sr2_eatout,-0.22504507680807895,-0.22504507680807895,-0.31780000000000003,0 +coef_sr3p_ASC_sr2_escort,-0.21630087392009059,-0.21630087392009059,-0.26819999999999999,0 +coef_sr3p_ASC_sr2_othdiscr,-0.42794642963477558,-0.42794642963477558,-0.61419999999999997,0 +coef_sr3p_ASC_sr2_othmaint,0.027657045664653299,0.027657045664653299,-0.29580000000000001,0 +coef_sr3p_ASC_sr2_school,-1.0402498584452382,-1.0402498584452382,-2.7406999999999999,0 +coef_sr3p_ASC_sr2_shopping,0.32506049110749652,0.32506049110749652,-0.078100000000000003,0 +coef_sr3p_ASC_sr2_social,-0.13140596327177012,-0.13140596327177012,-0.15559999999999999,0 +coef_sr3p_ASC_sr2_univ,-0.31169999999999998,-0.31169999999999998,-0.31169999999999998,0 +coef_sr3p_ASC_sr2_work,-0.96412449274578071,-0.96412449274578071,-1.1956,0 +coef_sr3p_ASC_sr3p_eatout,1.4628559194582083,1.4628559194582083,1.3323,0 +coef_sr3p_ASC_sr3p_escort,0.88601825802048151,0.88601825802048151,0.73580000000000001,0 +coef_sr3p_ASC_sr3p_othdiscr,0.83449788039660122,0.83449788039660122,0.73980000000000001,0 +coef_sr3p_ASC_sr3p_othmaint,1.1154991293213483,1.1154991293213483,0.95269999999999999,0 +coef_sr3p_ASC_sr3p_school,0.17070219167279393,0.17070219167279393,-1.7718,0 +coef_sr3p_ASC_sr3p_shopping,1.6317620662617456,1.6317620662617456,1.3394999999999999,0 +coef_sr3p_ASC_sr3p_social,1.2011521984245512,1.2011521984245512,0.83309999999999995,0 +coef_sr3p_ASC_sr3p_univ,0.62929999999999997,0.62929999999999997,0.62929999999999997,0 +coef_sr3p_ASC_sr3p_work,-0.0078556547449509153,-0.0078556547449509153,-0.18360000000000001,0 +coef_sr3p_ASC_walk_eatout,-2.5139966855713642,-2.5139966855713642,-0.043400000000000001,0 +coef_sr3p_ASC_walk_escort,-3.4006765281458122,-3.4006765281458122,-1.0075000000000001,0 +coef_sr3p_ASC_walk_othdiscr,-5.8689862851164607,-5.8689862851164607,-0.5272,0 +coef_sr3p_ASC_walk_othmaint,-5.0613355985663731,-5.0613355985663731,0.042200000000000001,0 +coef_sr3p_ASC_walk_school,-2.4681086096393896,-2.4681086096393896,-1.2126999999999999,0 +coef_sr3p_ASC_walk_shopping,-3.9238148057027744,-3.9238148057027744,-0.50790000000000002,0 +coef_sr3p_ASC_walk_social,-3.0951059771109648,-3.0951059771109648,-0.31340000000000001,0 +coef_sr3p_ASC_walk_univ,1.6793,1.6793,1.6793,0 +coef_sr3p_ASC_walk_work,-2.3560377610366339,-2.3560377610366339,0.21709999999999999,0 +coef_walk_ASC_rh,-7,-7,-7,0 +coef_walk_transit_ASC_commuter_escort,0.54420000000000002,0.54420000000000002,0.54420000000000002,0 +coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork,0.51290000000000002,0.51290000000000002,0.51290000000000002,0 +coef_walk_transit_ASC_commuter_univ_school,0.90820000000000001,0.90820000000000001,0.90820000000000001,0 +coef_walk_transit_ASC_commuter_work,0.4012,0.4012,0.4012,0 +coef_walk_transit_ASC_express_escort,0.75470000000000004,0.75470000000000004,0.75470000000000004,0 +coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork,0.66479999999999995,0.66479999999999995,0.66479999999999995,0 +coef_walk_transit_ASC_express_univ_school,0.32240000000000002,0.32240000000000002,0.32240000000000002,0 +coef_walk_transit_ASC_express_work,-0.35539999999999999,-0.35539999999999999,-0.35539999999999999,0 +coef_walk_transit_ASC_ferry_escort,0.60050000000000003,0.60050000000000003,0.60050000000000003,0 +coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork,0.64659999999999995,0.64659999999999995,0.64659999999999995,0 +coef_walk_transit_ASC_ferry_univ_school,1.7237,1.7237,1.7237,0 +coef_walk_transit_ASC_ferry_work,0.52769999999999995,0.52769999999999995,0.52769999999999995,0 +coef_walk_transit_ASC_heavyrail_escort,0.82721493724592188,0.82721493724592188,0.56730000000000003,0 +coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.92635472370348126,0.92635472370348126,0.5403,0 +coef_walk_transit_ASC_heavyrail_univ_school,0.86667504489837865,0.86667504489837865,0.84899999999999998,0 +coef_walk_transit_ASC_heavyrail_work,0.5025352261009528,0.5025352261009528,0.3538,0 +coef_walk_transit_ASC_lightrail_escort,1.1220737240827967,1.1220737240827967,0.5252,0 +coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork,0.83144252485479686,0.83144252485479686,0.53920000000000001,0 +coef_walk_transit_ASC_lightrail_univ_school,1.5673106432418389,1.5673106432418389,1.4436,0 +coef_walk_transit_ASC_lightrail_work,0.63258933455537403,0.63258933455537403,0.46210000000000001,0 +coef_walk_transit_ASC_rh_eatout_social_othdiscr,-2.6606459058042766,-2.6606459058042766,-4.7507999999999999,0 +coef_walk_transit_ASC_rh_escort_shopping_othmaint,-2.3584519726828503,-2.3584519726828503,-3.1135999999999999,0 +coef_walk_transit_ASC_rh_school,-4.3651480868436616,-4.3651480868436616,-7,0 +coef_walk_transit_ASC_rh_univ,-4.2690999999999999,-4.2690999999999999,-4.2690999999999999,0 +coef_walk_transit_ASC_rh_work,-2.8694950408844635,-2.8694950408844635,-3.7408000000000001,0 +coef_walk_transit_ASC_sr2_eatout,-2.0166783466764731,-2.0166783466764731,-3.1434000000000002,0 +coef_walk_transit_ASC_sr2_escort,-0.99918778660088436,-0.99918778660088436,-2.6284000000000001,0 +coef_walk_transit_ASC_sr2_othdiscr,-1.239023652712798,-1.239023652712798,-2.7589999999999999,0 +coef_walk_transit_ASC_sr2_othmaint,-34.674600000000112,-34.674600000000112,-34.674599999999998,0 +coef_walk_transit_ASC_sr2_school,-2.274826392672725,-2.274826392672725,-4.2961,0 +coef_walk_transit_ASC_sr2_shopping,-2.1328304552358719,-2.1328304552358719,-4.0114999999999998,0 +coef_walk_transit_ASC_sr2_social,-2.0833502428062123,-2.0833502428062123,-3.3662999999999998,0 +coef_walk_transit_ASC_sr2_univ,-4.0049999999999999,-4.0049999999999999,-4.0049999999999999,0 +coef_walk_transit_ASC_sr2_work,-2.2668862736328519,-2.2668862736328519,-3.6631,0 +coef_walk_transit_ASC_sr3p_eatout,-2.5264121576158045,-2.5264121576158045,-3.8519999999999999,0 +coef_walk_transit_ASC_sr3p_escort,-5.8381371662273835,-5.8381371662273835,-3.2073999999999998,0 +coef_walk_transit_ASC_sr3p_othdiscr,-1.2063771576374867,-1.2063771576374867,-2.5125999999999999,0 +coef_walk_transit_ASC_sr3p_othmaint,-29.385800000282099,-29.385800000282099,-29.3858,0 +coef_walk_transit_ASC_sr3p_school,-2.4112913709689163,-2.4112913709689163,-3.8664999999999998,0 +coef_walk_transit_ASC_sr3p_shopping,-9.3867562985269899,-9.3867562985269899,-4.3852000000000002,0 +coef_walk_transit_ASC_sr3p_social,-21.630900000230085,-21.630900000230085,-21.6309,0 +coef_walk_transit_ASC_sr3p_univ,-28.697199999999999,-28.697199999999999,-28.697199999999999,0 +coef_walk_transit_ASC_sr3p_work,-2.6637022892916695,-2.6637022892916695,-4.1314000000000002,0 +coef_walk_transit_ASC_walk_eatout,0.16644232569851822,0.16644232569851822,1.3504,0 +coef_walk_transit_ASC_walk_escort,-7.2572232561591434,-7.2572232561591434,-0.99739999999999995,0 +coef_walk_transit_ASC_walk_othdiscr,-0.97975419372738359,-0.97975419372738359,-0.49969999999999998,0 +coef_walk_transit_ASC_walk_othmaint,-0.28905978556563527,-0.28905978556563527,0.7248,0 +coef_walk_transit_ASC_walk_school,-1.4956108248781241,-1.4956108248781241,-1.1828000000000001,0 +coef_walk_transit_ASC_walk_shopping,-0.81195924640993355,-0.81195924640993355,-0.1943,0 +coef_walk_transit_ASC_walk_social,-2.3212936443153995,-2.3212936443153995,-0.7651,0 +coef_walk_transit_ASC_walk_univ,-1.0310999999999999,-1.0310999999999999,-1.0310999999999999,0 +coef_walk_transit_ASC_walk_work,-0.39145632958685811,-0.39145632958685811,0.44319999999999998,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_stop_freq_model.csv b/activitysim/estimation/test/test_larch_estimation/test_stop_freq_model.csv index fe3ad8745e..8226d916b6 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_stop_freq_model.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_stop_freq_model.csv @@ -1,189 +1,189 @@ -,value,initvalue,nullvalue,minimum,maximum,best -coef_alternative_specific_constant_for_outbound_stops_1out_0in,-0.64459225156448208,-0.83299999999999996,0,,,-0.64459225156448208 -coef_alternative_specific_constant_for_outbound_stops_2out_0in,-2.4255802366653585,-2.613,0,,,-2.4255802366653585 -coef_alternative_specific_constant_for_outbound_stops_3out_0in,-3.5820111930695417,-3.9340000000000002,0,,,-3.5820111930695417 -coef_alternative_specific_constant_for_return_stops_0out_1in,-0.3361407605068179,-0.44500000000000001,0,,,-0.3361407605068179 -coef_alternative_specific_constant_for_return_stops_0out_2in,-1.4776978296906871,-1.7749999999999999,0,,,-1.4776978296906871 -coef_alternative_specific_constant_for_return_stops_0out_3in,-1.8942287851285506,-2.1389999999999998,0,,,-1.8942287851285506 -coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,-0.066082964956457158,0,0,,,-0.066082964956457158 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,0.39410022765664782,0.69499999999999995,0,,,0.39410022765664782 -coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,-1.9991650147668323,-1.9299999999999999,0,,,-1.9991650147668323 -coef_dummy_for_all_stops_made_by_transit,-0.67359832175323664,-0.69999999999999996,0,,,-0.67359832175323664 -coef_dummy_for_distance_in_miles,0.044964434234324543,0.01,0,,,0.044964434234324543 -coef_dummy_for_distance_less_than_20_miles,-0.706160965748858,-0.22,0,,,-0.706160965748858 -coef_dummy_for_female,0.28231394503923868,0.22,0,,,0.28231394503923868 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,0.71316112803981435,0.59999999999999998,0,,,0.71316112803981435 -coef_dummy_for_walking_to_all_stops,-1.4873003617932004,-1.54,0,,,-1.4873003617932004 -coef_evening_arrival_19_00_interacted_with_return_tours,0.60673724793430617,0.31,0,,,0.60673724793430617 -coef_high_income_hh,0.24000000000001878,0.23999999999999999,0,,,0.24000000000001878 -coef_mid_to_high_income_hh,0.22999999999999904,0.23000000000000001,0,,,0.22999999999999904 -coef_middle_to_low_income_hh,0.16999999999999266,0.17000000000000001,0,,,0.16999999999999266 -coef_no_stops_if_tour_mode_is_drivetransit,-999,-999,0,,,-999 -coef_num_kids_between_5_and_15_including_years_old,0.092924351471183969,0.080000000000000002,0,,,0.092924351471183969 -coef_number_of_adults_16_years_old_,0.077365010457442138,0.029999999999999999,0,,,0.077365010457442138 -coef_number_of_cars_number_of_workers,-0.066249623271299782,0.16,0,,,-0.066249623271299782 -coef_number_of_escort_tours_tours_undertaken_by_the_person,0.096330730862920849,0.20000000000000001,0,,,0.096330730862920849 -coef_number_of_hh_persons,-0.33185226515031135,-0.31,0,,,-0.33185226515031135 -coef_number_of_school_tours_tours_undertaken_by_the_person,0.08642823107614464,-1.55,0,,,0.08642823107614464 -coef_number_of_shop_tours_undertaken_by_the_houshold,-0.32741940681713538,-0.050000000000000003,0,,,-0.32741940681713538 -coef_number_of_students_in_hh,0.31650418957116999,0.20999999999999999,0,,,0.31650418957116999 -coef_number_of_subtours_in_the_tour,0.33666132961145517,0.19,0,,,0.33666132961145517 -coef_number_of_university_tours_tours_undertaken_by_the_person,-0.48000000000000226,-0.47999999999999998,0,,,-0.48000000000000226 -coef_number_of_work_tours_undertaken_by_the_person,-0.17466645120795349,-0.14999999999999999,0,,,-0.17466645120795349 -coef_presence_of_kids_between_0_and_4_including_years_old,0.56261491842472322,0.73999999999999999,0,,,0.56261491842472322 -coef_presence_of_kids_between_5_and_15_including_years_old,0.1165493262082634,0.26000000000000001,0,,,0.1165493262082634 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_school,-1.7790649191402255,-2.1230000000000002,0,,,-1.7790649191402255 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_school,-4.234917600900892,-3.798,0,,,-4.234917600900892 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_school,-6.1101913112134891,-5.8499999999999996,0,,,-6.1101913112134891 -coef_alternative_specific_constant_for_return_stops_0out_1in_school,-1.2575756776155038,-1.206,0,,,-1.2575756776155038 -coef_alternative_specific_constant_for_return_stops_0out_2in_school,-2.7008487973600204,-2.6720000000000002,0,,,-2.7008487973600204 -coef_alternative_specific_constant_for_return_stops_0out_3in_school,-3.1227065529446167,-3.3639999999999999,0,,,-3.1227065529446167 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,1.474045133717242,0.70099999999999996,0,,,1.474045133717242 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school,1.992911512841014,1.135,0,,,1.992911512841014 -coef_arrival_later_than_17_00_,1.3670454388826592,1.8376999999999999,0,,,1.3670454388826592 -coef_dummy_for_distance_in_miles_school,0.095083267583630102,0.043799999999999999,0,,,0.095083267583630102 -coef_dummy_for_female_school,0.68909925924380133,0.40989999999999999,0,,,0.68909925924380133 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,1.9145027660467904,0.95489999999999997,0,,,1.9145027660467904 -coef_dummy_for_walking_to_all_stops_school,-1.514711575382329,-1.8163,0,,,-1.514711575382329 -coef_number_of_cars_number_of_workers_school,0.29163991408877671,0.53310000000000002,0,,,0.29163991408877671 -coef_number_of_escort_tours_tours_undertaken_by_the_person_school,2.311650198005148,1.2364999999999999,0,,,2.311650198005148 -coef_number_of_hh_persons_school,-0.59762555971611364,-0.50600000000000001,0,,,-0.59762555971611364 -coef_presence_of_kids_between_5_and_15_including_years_old_school,0.025364840519008454,0.32990000000000003,0,,,0.025364840519008454 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ,-2.1635923818442357,-2.6280000000000001,0,,,-2.1635923818442357 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ,-3.922683293550401,-3.7410000000000001,0,,,-3.922683293550401 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ,-4.4868172910452992,-4.9809999999999999,0,,,-4.4868172910452992 -coef_alternative_specific_constant_for_return_stops_0out_1in_univ,-1.5298270302866508,-2.0030000000000001,0,,,-1.5298270302866508 -coef_alternative_specific_constant_for_return_stops_0out_2in_univ,-3.3006601948863188,-3.5099999999999998,0,,,-3.3006601948863188 -coef_alternative_specific_constant_for_return_stops_0out_3in_univ,-3.7075364155245767,-3.677,0,,,-3.7075364155245767 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ,1.8522535636157311,1.272,0,,,1.8522535636157311 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ,1.8679561735778554,1.871,0,,,1.8679561735778554 -coef_arrival_later_than_17_00__univ,0.38609418401942114,0.38900000000000001,0,,,0.38609418401942114 -coef_dummy_for_female_univ,0.51916166319197454,0.7349,0,,,0.51916166319197454 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ,1.0828661743516874,0.84340000000000004,0,,,1.0828661743516874 -coef_hh_accesibility_for_inbound_tours_interaction,0.24105038323693603,0.24809999999999999,0,,,0.24105038323693603 -coef_number_of_escort_tours_tours_undertaken_by_the_person_univ,1.8575681307186125,0.90180000000000005,0,,,1.8575681307186125 -coef_number_of_hh_persons_univ,-0.33066321661527537,-0.28270000000000001,0,,,-0.33066321661527537 -coef_number_of_vehicles,0.26364695030485774,0.17030000000000001,0,,,0.26364695030485774 -coef_presence_of_kids_between_5_and_15_including_years_old_univ,-0.044568923553371873,0.68230000000000002,0,,,-0.044568923553371873 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_social,-2.311541928791784,-1.081,0,,,-2.311541928791784 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_social,-3.971643113248795,-2.8740000000000001,0,,,-3.971643113248795 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_social,-14.469243911405519,-4.5519999999999996,0,,,-14.469243911405519 -coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,-2.3802074504942019,-1.7829999999999999,0,,,-2.3802074504942019 -coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,-4.719796104655666,-4.0670000000000002,0,,,-4.719796104655666 -coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,-11.749677886071149,-4.9980000000000002,0,,,-11.749677886071149 -coef_alternative_specific_constant_for_return_stops_0out_1in_social,0.20587483859873654,-1.1200000000000001,0,,,0.20587483859873654 -coef_alternative_specific_constant_for_return_stops_0out_2in_social,-2.5883343811753692,-2.7639999999999998,0,,,-2.5883343811753692 -coef_alternative_specific_constant_for_return_stops_0out_3in_social,-3.3206409198297089,-3.4510000000000001,0,,,-3.3206409198297089 -coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,-1.6522833462248787,-1.329,0,,,-1.6522833462248787 -coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,-4.1415469266822509,-2.7960000000000003,0,,,-4.1415469266822509 -coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,-4.0471873952483204,-3.379,0,,,-4.0471873952483204 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social,2.4766471322901977,0.496,0,,,2.4766471322901977 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social,-1.7322797167348338,0.88200000000000001,0,,,-1.7322797167348338 -coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,0.33004028360351806,0,0,,,0.33004028360351806 -coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,-4.3574765624568856,0.51800000000000002,0,,,-4.3574765624568856 -coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,-1.4567085446015828,1.4970000000000001,0,,,-1.4567085446015828 -coef_arrival_later_than_17_00__social,-0.46270836809978866,-0.45000000000000001,0,,,-0.46270836809978866 -coef_at_least_one_kid_and_one_adult_participate_in_the_tour,1.9188835397128035,0.37,0,,,1.9188835397128035 -coef_dummy_for_a_return_visiting_tour,-1.5149329165512258,-0.64000000000000001,0,,,-1.5149329165512258 -coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,0.47207475952054606,0.44,0,,,0.47207475952054606 -coef_dummy_for_an_outbound_visiting_tour,0.23539836860732627,-0.68999999999999995,0,,,0.23539836860732627 -coef_dummy_for_distance_in_miles_social,-0.072029213636538594,-0.01,0,,,-0.072029213636538594 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,1.1553718422199695,1.3100000000000001,0,,,1.1553718422199695 -coef_dummy_for_walking_to_all_stops_social,-2.0728871373961595,-1.73,0,,,-2.0728871373961595 -coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,-0.050333392255275736,-0.46000000000000002,0,,,-0.050333392255275736 -coef_number_of_shop_tours_undertaken_by_the_person,-0.17568161789582087,-0.23999999999999999,0,,,-0.17568161789582087 -coef_number_of_vehicles_social,-0.15477794105663009,-0.19,0,,,-0.15477794105663009 -coef_number_of_work_tours_undertaken_by_the_person_social,-0.0089584068199000319,-0.28000000000000003,0,,,-0.0089584068199000319 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping,-1.4838947085615379,-1.339,0,,,-1.4838947085615379 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping,-3.2620315739726551,-3.1099999999999999,0,,,-3.2620315739726551 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping,-4.4603602952393357,-4.4870000000000001,0,,,-4.4603602952393357 -coef_alternative_specific_constant_for_return_stops_0out_1in_shopping,-1.2344970570494438,-1.179,0,,,-1.2344970570494438 -coef_alternative_specific_constant_for_return_stops_0out_2in_shopping,-2.4998350943155576,-2.3050000000000002,0,,,-2.4998350943155576 -coef_alternative_specific_constant_for_return_stops_0out_3in_shopping,-3.0179726864409173,-3.024,0,,,-3.0179726864409173 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping,0.51786237531360479,0.252,0,,,0.51786237531360479 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping,-0.13999198594270704,0.51400000000000001,0,,,-0.13999198594270704 -coef_dummy_for_distance_in_miles_shopping,0.023954475817419198,0.028899999999999999,0,,,0.023954475817419198 -coef_dummy_for_distance_less_than_5_miles,0.16375057013711192,0.37680000000000002,0,,,0.16375057013711192 -coef_dummy_for_female_shopping,0.33555842166191147,0.1721,0,,,0.33555842166191147 -coef_dummy_for_only_adults_participate_in_the_tour,1.8328392426308462,0.19020000000000001,0,,,1.8328392426308462 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping,3.0901330214553973,0.90559999999999996,0,,,3.0901330214553973 -coef_dummy_for_walking_to_all_stops_shopping,-1.8757970066056326,-1.4907999999999999,0,,,-1.8757970066056326 -coef_num_kids_between_5_and_15_including_years_old_shopping,-0.041573431257791199,0.0482,0,,,-0.041573431257791199 -coef_number_of_hh_persons_shopping,-0.086440021903122138,-0.1522,0,,,-0.086440021903122138 -coef_number_of_maintenace_tours_tours_undertaken_by_the_person,-0.32594276341704287,-0.19769999999999999,0,,,-0.32594276341704287 -coef_number_of_shop_tours_undertaken_by_the_houshold_shopping,0.148064037095576,-0.073300000000000004,0,,,0.148064037095576 -coef_number_of_university_tours_tours_undertaken_by_the_person_shopping,-0.67089999999999317,-0.67090000000000005,0,,,-0.67089999999999317 -coef_number_of_work_tours_undertaken_by_the_person_shopping,-0.43852307225491766,-0.54799999999999993,0,,,-0.43852307225491766 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout,-1.8947544828670186,-2.1899999999999999,0,,,-1.8947544828670186 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout,-12.056169150387893,-4.516,0,,,-12.056169150387893 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout,-3.6615505167080027,-5.2549999999999999,0,,,-3.6615505167080027 -coef_alternative_specific_constant_for_return_stops_0out_1in_eatout,-1.7027857761249232,-1.7609999999999999,0,,,-1.7027857761249232 -coef_alternative_specific_constant_for_return_stops_0out_2in_eatout,-2.9579857808480341,-3.6970000000000001,0,,,-2.9579857808480341 -coef_alternative_specific_constant_for_return_stops_0out_3in_eatout,-4.7624817489674145,-4.7169999999999996,0,,,-4.7624817489674145 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout,-7.6049863056520284,0.93999999999999995,0,,,-7.6049863056520284 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout,-6.3461221747969292,2.0259999999999998,0,,,-6.3461221747969292 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort,-2.2250757954780624,-2.173,0,,,-2.2250757954780624 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort,-4.7895755848191897,-4.2939999999999996,0,,,-4.7895755848191897 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort,-4.7102122245889007,-4.758,0,,,-4.7102122245889007 -coef_alternative_specific_constant_for_return_stops_0out_1in_escort,-1.2974740994833047,-0.96799999999999997,0,,,-1.2974740994833047 -coef_alternative_specific_constant_for_return_stops_0out_2in_escort,-2.384295363242952,-2.4100000000000001,0,,,-2.384295363242952 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort,-4.200646186979724,-1.8069999999999999,0,,,-4.200646186979724 -coef_dummy_for_distance_less_than_5_miles_escort,0.28109442258515044,0.32000000000000001,0,,,0.28109442258515044 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort,1.399121270410205,0.58999999999999997,0,,,1.399121270410205 -coef_dummy_for_walking_to_all_stops_escort,-0.33797126945456507,-1.9099999999999999,0,,,-0.33797126945456507 -coef_number_of_escort_tours_tours_undertaken_by_the_person_escort,-0.25348532544405961,-0.14999999999999999,0,,,-0.25348532544405961 -coef_number_of_hh_persons_escort,-0.17640711121772834,-0.23999999999999999,0,,,-0.17640711121772834 -coef_number_of_students_in_hh_escort,0.15956368405077143,0.19,0,,,0.15956368405077143 -coef_number_of_work_tours_undertaken_by_the_person_escort,-0.15468473406122965,-0.28999999999999998,0,,,-0.15468473406122965 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint,-1.7954028317479085,-1.7609999999999999,0,,,-1.7954028317479085 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint,-2.9624065700982283,-3.661,0,,,-2.9624065700982283 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint,-3.5347850519252844,-5.4260000000000002,0,,,-3.5347850519252844 -coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint,-0.31247075228968507,-0.58499999999999996,0,,,-0.31247075228968507 -coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint,-0.55780644045958916,-1.48,0,,,-0.55780644045958916 -coef_alternative_specific_constant_for_return_stops_0out_3in_othmaint,-1.4356606147103497,-2.4620000000000002,0,,,-1.4356606147103497 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint,-0.36815794089018233,0.41399999999999998,0,,,-0.36815794089018233 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint,-9.3990479541430307,0.48799999999999999,0,,,-9.3990479541430307 -coef_dummy_for_distance_in_miles_othmaint,0.10402635612778853,0.027300000000000001,0,,,0.10402635612778853 -coef_dummy_for_distance_less_than_20_miles_,-1.1515269947782993,-0.40799999999999997,0,,,-1.1515269947782993 -coef_dummy_for_female_othmaint,0.25071759069742156,0.30120000000000002,0,,,0.25071759069742156 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint,0.15444184637909519,0.51339999999999997,0,,,0.15444184637909519 -coef_dummy_for_walking_to_all_stops_othmaint,-2.3023894742054765,-1.4329000000000001,0,,,-2.3023894742054765 -coef_middle_to_low_income_hh_,0.16999999999999751,0.17000000000000001,0,,,0.16999999999999751 -coef_number_of_maintenace_tours_undertaken_by_the_houshold,-0.28330678921194874,-0.046800000000000001,0,,,-0.28330678921194874 -coef_number_of_persons_participating_in_the_tour_return_stops_interaction,0.86852209944195768,0.4904,0,,,0.86852209944195768 -coef_number_of_shool_tours_tours_undertaken_by_the_person,-8.3600381729826356,-1.4135,0,,,-8.3600381729826356 -coef_number_of_shop_tours_undertaken_by_the_person_othmaint,-0.2135166522304546,-0.14280000000000001,0,,,-0.2135166522304546 -coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint,-0.62519999999999998,-0.62519999999999998,0,,,-0.62519999999999998 -coef_number_of_work_tours_undertaken_by_the_person_othmaint,-0.37594536286827945,-0.36399999999999999,0,,,-0.37594536286827945 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr,-1.4221678878531314,-1.581,0,,,-1.4221678878531314 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr,-2.8848210033043737,-3.323,0,,,-2.8848210033043737 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr,-4.252076697537615,-4.6230000000000002,0,,,-4.252076697537615 -coef_alternative_specific_constant_for_return_stops_0out_1in_othdiscr,-1.0106467090607749,-0.92100000000000004,0,,,-1.0106467090607749 -coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr,-2.4905380449227463,-2.3359999999999999,0,,,-2.4905380449227463 -coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr,-2.9393725902979506,-2.927,0,,,-2.9393725902979506 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr,0.93746509917896281,0.86299999999999999,0,,,0.93746509917896281 -coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othdiscr,0.1562826739961867,0.93899999999999995,0,,,0.1562826739961867 -coef_arrival_later_than_17_00__othdiscr,-0.36444328163105733,-0.63829999999999998,0,,,-0.36444328163105733 -coef_dummy_for_distance_in_miles_othdiscr,0.050978615843919654,-0.022499999999999999,0,,,0.050978615843919654 -coef_dummy_for_distance_less_than_10_miles_,-0.041691234906133287,0.37559999999999999,0,,,-0.041691234906133287 -coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr,0.24111825316596613,0.83350000000000002,0,,,0.24111825316596613 -coef_dummy_for_walking_to_all_stops_othdiscr,-2.0711353545710396,-2.4578000000000002,0,,,-2.0711353545710396 -coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr,-0.63013749629210336,-0.3715,0,,,-0.63013749629210336 -coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr,-0.60717706214459344,-0.81759999999999999,0,,,-0.60717706214459344 -coef_number_of_shop_tours_undertaken_by_the_person_othdiscr,-0.61831778671278581,-0.629,0,,,-0.61831778671278581 -coef_number_of_work_tours_undertaken_by_the_person_othdiscr,-0.48765485585276552,-0.61529999999999996,0,,,-0.48765485585276552 -coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork,-3.4794056872571746,-3.8959999999999999,0,,,-3.4794056872571746 -coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork,-5.1779127909529326,-5.7089999999999996,0,,,-5.1779127909529326 -coef_alternative_specific_constant_for_outbound_stops_3out_0in_atwork,-6.8972239265618009,-7.3610000000000007,0,,,-6.8972239265618009 -coef_alternative_specific_constant_for_return_stops_0out_1in_atwork,-3.4084307916883305,-3.6709999999999998,0,,,-3.4084307916883305 -coef_alternative_specific_constant_for_return_stops_0out_2in_atwork,-5.5993645137153578,-5.3879999999999999,0,,,-5.5993645137153578 -coef_alternative_specific_constant_for_return_stops_0out_3in_atwork,-7.6012050846491075,-6.21,0,,,-7.6012050846491075 -coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork,2.1051947898870833,2.1269999999999998,0,,,2.1051947898870833 -coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,0.27000000000000002,0.27000000000000002,0,,,0.27000000000000002 -coef_middle_to_low_income_hh__atwork,0.60212861030437703,0.45000000000000001,0,,,0.60212861030437703 -coef_number_of_eating_tours_tours_undertaken_by_the_person,-0.2548910504386343,-0.28000000000000003,0,,,-0.2548910504386343 -coef_primary_destination_accessibility_log_of_it_,0.17070563536066408,0.17999999999999999,0,,,0.17070563536066408 -coef_subtour_departure_less_than_or_equal_to_11am,0.2690647561783549,0.31,0,,,0.2690647561783549 -coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,-0.15252472133506134,0.02,0,,,-0.15252472133506134 -coef_subtour_duration_in_hours_integer_,0.68175040347788651,0.56000000000000005,0,,,0.68175040347788651 -coef_subtour_return_time_greater_or_equal_to_2pm,1.5555725209500013,0.34000000000000002,0,,,1.5555725209500013 +param_name,value,best,initvalue,nullvalue +coef_alternative_specific_constant_for_outbound_stops_1out_0in,-0.64664292294462322,-0.64664292294462322,-0.83300000429153442,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork,-3.4646908445777185,-3.4646908445777185,-3.8959999084472656,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout,-1.9002755809567333,-1.9002755809567333,-2.190000057220459,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort,-2.2236727981595754,-2.2236727981595754,-2.1730000972747803,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr,-1.4225160376379478,-1.4225160376379478,-1.5809999704360962,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint,-1.7982672995567395,-1.7982672995567395,-1.7610000371932983,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_school,-1.7843866978905401,-1.7843866978905401,-2.122999906539917,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping,-1.4865329275382189,-1.4865329275382189,-1.3389999866485596,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_social,-2.4183081291403341,-2.4183081291403341,-1.0809999704360962,0 +coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ,-2.1599604516652944,-2.1599604516652944,-2.628000020980835,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in,-2.4294460976186265,-2.4294460976186265,-2.6129999160766602,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork,-5.162092909819334,-5.162092909819334,-5.7090001106262207,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout,-12.348235464701929,-12.348235464701929,-4.5159997940063477,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort,-4.7869220327015922,-4.7869220327015922,-4.2940001487731934,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr,-2.8878858646220089,-2.8878858646220089,-3.3229999542236328,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint,-2.9665698636514888,-2.9665698636514888,-3.6610000133514404,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_school,-4.2448419370273394,-4.2448419370273394,-3.7980000972747803,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping,-3.2674224134549679,-3.2674224134549679,-3.1099998950958252,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_social,-4.083061579914375,-4.083061579914375,-2.874000072479248,0 +coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ,-3.9124510768537806,-3.9124510768537806,-3.7409999370574951,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in,-3.5882985172757271,-3.5882985172757271,-3.9340000152587891,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_atwork,-6.8802912288167422,-6.8802912288167422,-7.3610000610351562,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout,-3.6740988604843077,-3.6740988604843077,-5.255000114440918,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort,-4.7119993374061275,-4.7119993374061275,-4.7579998970031738,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr,-4.2547457784063534,-4.2547457784063534,-4.6230001449584961,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint,-3.5457191991847736,-3.5457191991847736,-5.4260001182556152,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_school,-6.1404126227480189,-6.1404126227480189,-5.8499999046325684,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping,-4.4728129557270648,-4.4728129557270648,-4.4869999885559082,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_social,-14.181486266726454,-14.181486266726454,-4.5520000457763672,0 +coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ,-4.4862998759715698,-4.4862998759715698,-4.9809999465942383,0 +coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,-2.3818839828880933,-2.3818839828880933,-1.7829999923706055,0 +coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,-4.7211128189494742,-4.7211128189494742,-4.0669999122619629,0 +coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,-11.512801227605346,-11.512801227605346,-4.9980001449584961,0 +coef_alternative_specific_constant_for_return_stops_0out_1in,-0.33835620803188837,-0.33835620803188837,-0.44499999284744263,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_atwork,-3.3927653179415662,-3.3927653179415662,-3.6710000038146973,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_eatout,-1.7128159843448749,-1.7128159843448749,-1.7610000371932983,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_escort,-1.2952840546510411,-1.2952840546510411,-0.96799999475479126,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_othdiscr,-1.0109237306426695,-1.0109237306426695,-0.92100000381469727,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint,-0.31261766892443127,-0.31261766892443127,-0.58499997854232788,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_school,-1.263001355242064,-1.263001355242064,-1.2059999704360962,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_shopping,-1.2369710581521229,-1.2369710581521229,-1.1790000200271606,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_social,0.17362744454328641,0.17362744454328641,-1.1200000047683716,0 +coef_alternative_specific_constant_for_return_stops_0out_1in_univ,-1.5271071961686673,-1.5271071961686673,-2.003000020980835,0 +coef_alternative_specific_constant_for_return_stops_0out_2in,-1.4815144916155247,-1.4815144916155247,-1.7749999761581421,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_atwork,-5.5866314294429644,-5.5866314294429644,-5.3880000114440918,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_eatout,-2.9694905231062454,-2.9694905231062454,-3.6970000267028809,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_escort,-2.382475901775571,-2.382475901775571,-2.4100000858306885,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr,-2.4932337056093066,-2.4932337056093066,-2.3359999656677246,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint,-0.559549687865037,-0.559549687865037,-1.4800000190734863,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_school,-2.7043554260825506,-2.7043554260825506,-2.6719999313354492,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_shopping,-2.5050450260948609,-2.5050450260948609,-2.3050000667572021,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_social,-2.6165947696422243,-2.6165947696422243,-2.7639999389648438,0 +coef_alternative_specific_constant_for_return_stops_0out_2in_univ,-3.3021693186962295,-3.3021693186962295,-3.5099999904632568,0 +coef_alternative_specific_constant_for_return_stops_0out_3in,-1.8983525585535195,-1.8983525585535195,-2.1389999389648438,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_atwork,-7.5705523838869704,-7.5705523838869704,-6.2100000381469727,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_eatout,-4.796417149118664,-4.796417149118664,-4.7170000076293945,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr,-2.9420323763794887,-2.9420323763794887,-2.9270000457763672,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_othmaint,-1.4387779329032728,-1.4387779329032728,-2.4619998931884766,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_school,-3.1370907253356171,-3.1370907253356171,-3.3640000820159912,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_shopping,-3.0227423732428385,-3.0227423732428385,-3.0239999294281006,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_social,-3.365589571395263,-3.365589571395263,-3.4509999752044678,0 +coef_alternative_specific_constant_for_return_stops_0out_3in_univ,-3.7066457714767771,-3.7066457714767771,-3.6770000457763672,0 +coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,-1.6502808127233042,-1.6502808127233042,-1.3289999961853027,0 +coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,-4.1259435861090799,-4.1259435861090799,-2.7960000038146973,0 +coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,-4.0391454462416165,-4.0391454462416165,-3.3789999485015869,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,-0.063749295179186538,-0.063749295179186538,0,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,1.488754315051501,1.488754315051501,0.70099997520446777,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork,2.075702350960686,2.075702350960686,2.127000093460083,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout,-7.6034666858545901,-7.6034666858545901,0.93999999761581421,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr,0.94069720899608722,0.94069720899608722,0.86299997568130493,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint,-0.36444527841576962,-0.36444527841576962,0.414000004529953,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping,0.52573690053968991,0.52573690053968991,0.25200000405311584,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social,2.4865763319224596,2.4865763319224596,0.49599999189376831,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ,1.8527731047949576,1.8527731047949576,1.2719999551773071,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,0.4026073230010761,0.4026073230010761,0.69499999284744263,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout,-6.1299064789603026,-6.1299064789603026,2.0260000228881836,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort,-3.7134719215772845,-3.7134719215772845,-1.8070000410079956,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othdiscr,0.17361191938538348,0.17361191938538348,0.93900001049041748,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint,-9.4707846262842086,-9.4707846262842086,0.48800000548362732,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school,2.0224057350148397,2.0224057350148397,1.1349999904632568,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping,-0.12757312512048605,-0.12757312512048605,0.51399999856948853,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social,-1.3744527120467618,-1.3744527120467618,0.88200002908706665,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ,1.8597722433784889,1.8597722433784889,1.8710000514984131,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,0.32162618139688331,0.32162618139688331,0,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,-4.2949115331788805,-4.2949115331788805,0.51800000667572021,0 +coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,-1.3125472274782721,-1.3125472274782721,1.496999979019165,0 +coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,-1.9993783388249304,-1.9993783388249304,-1.9299999475479126,0 +coef_arrival_later_than_17_00_,1.3712401433259278,1.3712401433259278,1.8377000093460083,0 +coef_arrival_later_than_17_00__othdiscr,-0.36182578620009853,-0.36182578620009853,-0.63830000162124634,0 +coef_arrival_later_than_17_00__social,-0.45958068481537828,-0.45958068481537828,-0.44999998807907104,0 +coef_arrival_later_than_17_00__univ,0.3855005796150392,0.3855005796150392,0.38899999856948853,0 +coef_at_least_one_kid_and_one_adult_participate_in_the_tour,1.8868763384626477,1.8868763384626477,0.37000000476837158,0 +coef_dummy_for_a_return_visiting_tour,-1.4902612723336455,-1.4902612723336455,-0.63999998569488525,0 +coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,0.4774633750050547,0.4774633750050547,0.43999999761581421,0 +coef_dummy_for_all_stops_made_by_transit,-0.67365004739838075,-0.67365004739838075,-0.69999998807907104,0 +coef_dummy_for_an_outbound_visiting_tour,0.33371222702629083,0.33371222702629083,-0.68999999761581421,0 +coef_dummy_for_distance_in_miles,0.04459896461230884,0.04459896461230884,0.0099999997764825821,0 +coef_dummy_for_distance_in_miles_othdiscr,0.050994204723024648,0.050994204723024648,-0.022500000894069672,0 +coef_dummy_for_distance_in_miles_othmaint,0.10425996435025388,0.10425996435025388,0.027300000190734863,0 +coef_dummy_for_distance_in_miles_school,0.095129477447622096,0.095129477447622096,0.043800000101327896,0 +coef_dummy_for_distance_in_miles_shopping,0.024311169311439184,0.024311169311439184,0.028899999335408211,0 +coef_dummy_for_distance_in_miles_social,-0.071016613228709641,-0.071016613228709641,-0.0099999997764825821,0 +coef_dummy_for_distance_less_than_10_miles_,-0.042062943317224627,-0.042062943317224627,0.37560001015663147,0 +coef_dummy_for_distance_less_than_20_miles,-0.69994214881030159,-0.69994214881030159,-0.2199999988079071,0 +coef_dummy_for_distance_less_than_20_miles_,-1.1529791304602006,-1.1529791304602006,-0.40799999237060547,0 +coef_dummy_for_distance_less_than_5_miles,0.16605718344134035,0.16605718344134035,0.37680000066757202,0 +coef_dummy_for_distance_less_than_5_miles_escort,0.27909765242825124,0.27909765242825124,0.31999999284744263,0 +coef_dummy_for_female,0.28229839587426708,0.28229839587426708,0.2199999988079071,0 +coef_dummy_for_female_othmaint,0.25086336764451594,0.25086336764451594,0.30120000243186951,0 +coef_dummy_for_female_school,0.69500027366692196,0.69500027366692196,0.4099000096321106,0 +coef_dummy_for_female_shopping,0.33523175540304978,0.33523175540304978,0.17209999263286591,0 +coef_dummy_for_female_univ,0.51700991234531735,0.51700991234531735,0.73489999771118164,0 +coef_dummy_for_only_adults_participate_in_the_tour,1.823935137209177,1.823935137209177,0.19020000100135803,0 +coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,0.27000001072883606,0.27000001072883606,0.27000001072883606,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,0.71310000535072282,0.71310000535072282,0.60000002384185791,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,1.1559795820114029,1.1559795820114029,1.309999942779541,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,1.9112642049973785,1.9112642049973785,0.95490002632141113,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort,1.4016231431941613,1.4016231431941613,0.5899999737739563,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr,0.23693003799296872,0.23693003799296872,0.83350002765655518,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint,0.15461331684851626,0.15461331684851626,0.51340001821517944,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping,3.0905565103897032,3.0905565103897032,0.90560001134872437,0 +coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ,1.0776052104148675,1.0776052104148675,0.84340000152587891,0 +coef_dummy_for_walking_to_all_stops,-1.4898874048260706,-1.4898874048260706,-1.5399999618530273,0 +coef_dummy_for_walking_to_all_stops_escort,-0.34448329904128916,-0.34448329904128916,-1.9099999666213989,0 +coef_dummy_for_walking_to_all_stops_othdiscr,-2.0623131666705032,-2.0623131666705032,-2.4577999114990234,0 +coef_dummy_for_walking_to_all_stops_othmaint,-2.2984130311760791,-2.2984130311760791,-1.4328999519348145,0 +coef_dummy_for_walking_to_all_stops_school,-1.5166153192565364,-1.5166153192565364,-1.8163000345230103,0 +coef_dummy_for_walking_to_all_stops_shopping,-1.8770352536650028,-1.8770352536650028,-1.4908000230789185,0 +coef_dummy_for_walking_to_all_stops_social,-2.069393000920547,-2.069393000920547,-1.7300000190734863,0 +coef_evening_arrival_19_00_interacted_with_return_tours,0.606474995858996,0.606474995858996,0.31000000238418579,0 +coef_hh_accesibility_for_inbound_tours_interaction,0.24072323322804254,0.24072323322804254,0.24809999763965607,0 +coef_high_income_hh,0.23999999463558197,0.23999999463558197,0.23999999463558197,0 +coef_mid_to_high_income_hh,0.23000000417232513,0.23000000417232513,0.23000000417232513,0 +coef_middle_to_low_income_hh,0.17000000178813934,0.17000000178813934,0.17000000178813934,0 +coef_middle_to_low_income_hh_,0.17000000178813934,0.17000000178813934,0.17000000178813934,0 +coef_middle_to_low_income_hh__atwork,0.5862265411484473,0.5862265411484473,0.44999998807907104,0 +coef_no_stops_if_tour_mode_is_drivetransit,-999,-999,-999,0 +coef_num_kids_between_5_and_15_including_years_old,0.091794962859674076,0.091794962859674076,0.079999998211860657,0 +coef_num_kids_between_5_and_15_including_years_old_shopping,-0.041937522351757225,-0.041937522351757225,0.048200000077486038,0 +coef_number_of_adults_16_years_old_,0.077287692445891232,0.077287692445891232,0.029999999329447746,0 +coef_number_of_cars_number_of_workers,-0.066693087232745682,-0.066693087232745682,0.15999999642372131,0 +coef_number_of_cars_number_of_workers_school,0.29115625638327919,0.29115625638327919,0.53310000896453857,0 +coef_number_of_eating_tours_tours_undertaken_by_the_person,-0.25037573867732094,-0.25037573867732094,-0.2800000011920929,0 +coef_number_of_escort_tours_tours_undertaken_by_the_person,0.09806050880270635,0.09806050880270635,0.20000000298023224,0 +coef_number_of_escort_tours_tours_undertaken_by_the_person_escort,-0.25353945421619623,-0.25353945421619623,-0.15000000596046448,0 +coef_number_of_escort_tours_tours_undertaken_by_the_person_school,2.3120956941836317,2.3120956941836317,1.2365000247955322,0 +coef_number_of_escort_tours_tours_undertaken_by_the_person_univ,1.830804423840976,1.830804423840976,0.90179997682571411,0 +coef_number_of_hh_persons,-0.33185754187761923,-0.33185754187761923,-0.31000000238418579,0 +coef_number_of_hh_persons_escort,-0.17646847789383999,-0.17646847789383999,-0.23999999463558197,0 +coef_number_of_hh_persons_school,-0.59789398459025822,-0.59789398459025822,-0.50599998235702515,0 +coef_number_of_hh_persons_shopping,-0.086269571752504437,-0.086269571752504437,-0.15219999849796295,0 +coef_number_of_hh_persons_univ,-0.3306926246943428,-0.3306926246943428,-0.28270000219345093,0 +coef_number_of_maintenace_tours_tours_undertaken_by_the_person,-0.32592941005324705,-0.32592941005324705,-0.19769999384880066,0 +coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr,-0.63285637282069895,-0.63285637282069895,-0.37149998545646667,0 +coef_number_of_maintenace_tours_undertaken_by_the_houshold,-0.28437497321740485,-0.28437497321740485,-0.046799998730421066,0 +coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,-0.073331456006935747,-0.073331456006935747,-0.46000000834465027,0 +coef_number_of_persons_participating_in_the_tour_return_stops_interaction,0.86868810623690584,0.86868810623690584,0.49039998650550842,0 +coef_number_of_school_tours_tours_undertaken_by_the_person,0.13029516970232355,0.13029516970232355,-1.5499999523162842,0 +coef_number_of_shool_tours_tours_undertaken_by_the_person,-8.132575401995668,-8.132575401995668,-1.4134999513626099,0 +coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr,-0.6130966929400905,-0.6130966929400905,-0.81760001182556152,0 +coef_number_of_shop_tours_undertaken_by_the_houshold,-0.32765232732837346,-0.32765232732837346,-0.05000000074505806,0 +coef_number_of_shop_tours_undertaken_by_the_houshold_shopping,0.14836308529667627,0.14836308529667627,-0.073299996554851532,0 +coef_number_of_shop_tours_undertaken_by_the_person,-0.17448403101684509,-0.17448403101684509,-0.23999999463558197,0 +coef_number_of_shop_tours_undertaken_by_the_person_othdiscr,-0.61731020325001096,-0.61731020325001096,-0.62900000810623169,0 +coef_number_of_shop_tours_undertaken_by_the_person_othmaint,-0.20994314934766711,-0.20994314934766711,-0.14280000329017639,0 +coef_number_of_students_in_hh,0.31655751614649219,0.31655751614649219,0.20999999344348907,0 +coef_number_of_students_in_hh_escort,0.15949746173262461,0.15949746173262461,0.18999999761581421,0 +coef_number_of_subtours_in_the_tour,0.33681763025289185,0.33681763025289185,0.18999999761581421,0 +coef_number_of_university_tours_tours_undertaken_by_the_person,-0.47999998927116394,-0.47999998927116394,-0.47999998927116394,0 +coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint,-0.62519997358322144,-0.62519997358322144,-0.62519997358322144,0 +coef_number_of_university_tours_tours_undertaken_by_the_person_shopping,-0.67089998722076416,-0.67089998722076416,-0.67089998722076416,0 +coef_number_of_vehicles,0.26376160794948833,0.26376160794948833,0.17030000686645508,0 +coef_number_of_vehicles_social,-0.15425969899603631,-0.15425969899603631,-0.18999999761581421,0 +coef_number_of_work_tours_undertaken_by_the_person,-0.17654196807499356,-0.17654196807499356,-0.15000000596046448,0 +coef_number_of_work_tours_undertaken_by_the_person_escort,-0.1509302945890815,-0.1509302945890815,-0.28999999165534973,0 +coef_number_of_work_tours_undertaken_by_the_person_othdiscr,-0.49002581553862051,-0.49002581553862051,-0.61529999971389771,0 +coef_number_of_work_tours_undertaken_by_the_person_othmaint,-0.37756033423406382,-0.37756033423406382,-0.36399999260902405,0 +coef_number_of_work_tours_undertaken_by_the_person_shopping,-0.43906376866089675,-0.43906376866089675,-0.54799997806549072,0 +coef_number_of_work_tours_undertaken_by_the_person_social,-0.0062244254965315264,-0.0062244254965315264,-0.2800000011920929,0 +coef_presence_of_kids_between_0_and_4_including_years_old,0.56347076554717646,0.56347076554717646,0.74000000953674316,0 +coef_presence_of_kids_between_5_and_15_including_years_old,0.1180989290788108,0.1180989290788108,0.25999999046325684,0 +coef_presence_of_kids_between_5_and_15_including_years_old_school,0.02961104507186792,0.02961104507186792,0.32989999651908875,0 +coef_presence_of_kids_between_5_and_15_including_years_old_univ,-0.046419488763570535,-0.046419488763570535,0.68229997158050537,0 +coef_primary_destination_accessibility_log_of_it_,0.17066218967701827,0.17066218967701827,0.18000000715255737,0 +coef_subtour_departure_less_than_or_equal_to_11am,0.26747568517112724,0.26747568517112724,0.31000000238418579,0 +coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,-0.15255084910340322,-0.15255084910340322,0.019999999552965164,0 +coef_subtour_duration_in_hours_integer_,0.68168671797342328,0.68168671797342328,0.56000000238418579,0 +coef_subtour_return_time_greater_or_equal_to_2pm,1.5553971310301449,1.5553971310301449,0.34000000357627869,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_stop_frequency_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_stop_frequency_loglike.csv index c888032785..d60deb239c 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_stop_frequency_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_stop_frequency_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-6184.4158915598673,-6090.2588006296801 +0,-6184.4158913795764,-6090.2665603871901 diff --git a/activitysim/estimation/test/test_larch_estimation/test_tour_and_subtour_mode_choice.csv b/activitysim/estimation/test/test_larch_estimation/test_tour_and_subtour_mode_choice.csv index eb7dd67ad4..8d8064cbb4 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_tour_and_subtour_mode_choice.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_tour_and_subtour_mode_choice.csv @@ -1,302 +1,302 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -1,1,1,1,1,1,1 -bike_ASC_auto_deficient_eatout,-95.05184217157273,-1.5691105999999999,0,,,-95.05184217157273 -bike_ASC_auto_sufficient_eatout,-1.464117844170342,-1.2003470999999999,0,,,-1.464117844170342 -bike_ASC_no_auto_eatout,7.2018489969700603,0.86807095999999995,0,,,7.2018489969700603 -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0.71970855821176882,0,0,,,0.71970855821176882 -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,-0.019079686463276232,0,0,,,-0.019079686463276232 -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.1399641109136807,-1.3660000000000001,0,,,-1.1399641109136807 -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0.020999157406492247,0,0,,,0.020999157406492247 -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,-0.0039274834138578957,0,0,,,-0.0039274834138578957 -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.016936905425988552,-0.017500000000000002,0,,,-0.016936905425988552 -coef_nest_AUTO,0.71999999999999997,0.71999999999999997,1,0.71999999999999997,0.71999999999999997,0.71999999999999997 -coef_nest_AUTO_DRIVEALONE,0.34999999999999998,0.34999999999999998,1,0.34999999999999998,0.34999999999999998,0.34999999999999998 -coef_nest_AUTO_SHAREDRIDE2,0.34999999999999998,0.34999999999999998,1,0.34999999999999998,0.34999999999999998,0.34999999999999998 -coef_nest_AUTO_SHAREDRIDE3,0.34999999999999998,0.34999999999999998,1,0.34999999999999998,0.34999999999999998,0.34999999999999998 -coef_nest_NONMOTORIZED,0.71999999999999997,0.71999999999999997,1,0.71999999999999997,0.71999999999999997,0.71999999999999997 -coef_nest_RIDEHAIL,0.35999999999999999,0.35999999999999999,1,0.35999999999999999,0.35999999999999999,0.35999999999999999 -coef_nest_TRANSIT,0.71999999999999997,0.71999999999999997,1,0.71999999999999997,0.71999999999999997,0.71999999999999997 -coef_nest_TRANSIT_DRIVEACCESS,0.5,0.5,1,0.5,0.5,0.5 -coef_nest_TRANSIT_WALKACCESS,0.5,0.5,1,0.5,0.5,0.5 -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-38.790613234584711,0.72701850000000001,0,,,-38.790613234584711 -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.94012379999999995,0.94012379999999995,0,,,0.94012379999999995 -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-25.934367224180519,0.76895475000000002,0,,,-25.934367224180519 -drive_transit_ASC_auto_deficient_eatout,14.683282344019709,0.59980610000000001,0,,,14.683282344019709 -drive_transit_ASC_auto_sufficient_eatout,12.110507359997341,-0.96951586000000001,0,,,12.110507359997341 -drive_transit_ASC_no_auto_all,0,0,0,,,0 -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.5534042664919846,0.52500000000000002,0,,,0.5534042664919846 -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-61.526574455540178,0.96923159999999997,0,,,-61.526574455540178 -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-11.341188179738285,0.77061210000000002,0,,,-11.341188179738285 -joint_bike_ASC_auto_deficient_all,-154.53293340147803,-6.0764149999999999,0,,,-154.53293340147803 -joint_bike_ASC_auto_sufficient_all,-108.23845192023519,-6.3760656999999998,0,,,-108.23845192023519 -joint_bike_ASC_no_auto_all,-47.716366793432869,-2.8671598,0,,,-47.716366793432869 -joint_drive_transit_ASC_auto_deficient_all,-36.092321468347947,-5.9632215000000004,0,,,-36.092321468347947 -joint_drive_transit_ASC_auto_sufficient_all,-24.112388481073179,-8.0452849999999998,0,,,-24.112388481073179 -joint_drive_transit_ASC_no_auto_all,0,0,0,0,0,0 -joint_sr2_ASC_auto_deficient_all,0,0,0,0,0,0 -joint_sr2_ASC_auto_sufficient_all,0,0,0,0,0,0 -joint_sr2_ASC_no_auto_all,0,0,0,0,0,0 -joint_sr3p_ASC_auto_deficient_all,-5.3440373640659899,-1.8841692000000001,0,,,-5.3440373640659899 -joint_sr3p_ASC_auto_sufficient_all,-3.3313993635418799,-2.234826,0,,,-3.3313993635418799 -joint_sr3p_ASC_no_auto_all,0.97681497679456009,0.56306710000000004,0,,,0.97681497679456009 -joint_taxi_ASC_auto_deficient_all,-45.521802684568371,-9.8156999999999996,0,,,-45.521802684568371 -joint_taxi_ASC_auto_sufficient_all,-11.709899999999999,-11.709899999999999,0,-11.709899999999999,-11.709899999999999,-11.709899999999999 -joint_taxi_ASC_no_auto_all,-12.836772689761483,-4.5792000000000002,0,,,-12.836772689761483 -joint_tnc_shared_ASC_auto_deficient_all,-37.818891366620065,-11.1572,0,,,-37.818891366620065 -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,-13.205,0,-13.205,-13.205,-13.205 -joint_tnc_shared_ASC_no_auto_all,-24.544220954818456,-4.3002000000000002,0,,,-24.544220954818456 -joint_tnc_single_ASC_auto_deficient_all,-51.742391051044301,-9.8961000000000006,0,,,-51.742391051044301 -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,-14.0159,0,-14.0159,-14.0159,-14.0159 -joint_tnc_single_ASC_no_auto_all,-16.690109945634145,-4.4916999999999998,0,,,-16.690109945634145 -joint_walk_ASC_auto_deficient_all,-1.3109169286458668,-1.9607706,0,,,-1.3109169286458668 -joint_walk_ASC_auto_sufficient_all,-3.6267323534729816,-3.2352156999999999,0,,,-3.6267323534729816 -joint_walk_ASC_no_auto_all,0.96782165602250947,-0.21274700999999999,0,,,0.96782165602250947 -joint_walk_transit_ASC_auto_deficient_all,4.47692459281539,-5.1634482999999998,0,,,4.47692459281539 -joint_walk_transit_ASC_auto_sufficient_all,-18.266087843452436,-18.264534000000001,0,,,-18.266087843452436 -joint_walk_transit_ASC_no_auto_all,13.576834007614055,0.62292415000000001,0,,,13.576834007614055 -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-12.586753852403735,-0.090703264000000006,0,,,-12.586753852403735 -sr2_ASC_auto_deficient_eatout,0.23544005287595454,0.58823449999999999,0,,,0.23544005287595454 -sr2_ASC_auto_sufficient_eatout,0.45709380576692815,0.86280555000000003,0,,,0.45709380576692815 -sr2_ASC_no_auto_all,5.3017687689662525,0,0,,,5.3017687689662525 -sr3p_ASC_auto_deficient_eatout,-0.084427303598265835,0.046052360000000001,0,,,-0.084427303598265835 -sr3p_ASC_auto_sufficient_eatout,0.5022326090064464,0.84685960000000005,0,,,0.5022326090064464 -sr3p_ASC_no_auto_eatout,5.8000711004385348,0.3219998,0,,,5.8000711004385348 -taxi_ASC_auto_deficient_eatout_othdiscr_social,-34.267917620077426,-3.1316999999999999,0,,,-34.267917620077426 -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-2.3771385102751132,-3.0373999999999999,0,,,-2.3771385102751132 -taxi_ASC_no_auto_eatout_othdiscr_social,-25.802108248945846,0.99229999999999996,0,,,-25.802108248945846 -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-2.9229081712184213,-4.3575999999999997,0,,,-2.9229081712184213 -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.4681630975727953,-3.6638000000000002,0,,,-3.4681630975727953 -tnc_shared_ASC_no_auto_eatout_othdiscr_social,5.5019116236636574,0.64639999999999997,0,,,5.5019116236636574 -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-30.032668619901013,-2.9622999999999999,0,,,-30.032668619901013 -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.0882587225999232,-2.3239000000000001,0,,,-2.0882587225999232 -tnc_single_ASC_no_auto_eatout_othdiscr_social,6.6972430765281166,1.6852,0,,,6.6972430765281166 -walk_ASC_auto_deficient_eatout,2.9644622570813723,3.2746050000000002,0,,,2.9644622570813723 -walk_ASC_auto_sufficient_eatout,0.80408030631941008,1.5516903,0,,,0.80408030631941008 -walk_ASC_no_auto_eatout,10.214310524095858,5.1251173000000003,0,,,10.214310524095858 -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.94012379999999995,0.94012379999999995,0,,,0.94012379999999995 -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-11.57159128546653,0.76895475000000002,0,,,-11.57159128546653 -walk_transit_ASC_auto_deficient_eatout,12.342017037167501,-0.038963240000000003,0,,,12.342017037167501 -walk_transit_ASC_auto_sufficient_eatout,10.754005322077003,-1.1126906000000001,0,,,10.754005322077003 -walk_transit_ASC_no_auto_eatout,20.50374109308898,2.5936368000000001,0,,,20.50374109308898 -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.69084760274299939,0.52500000000000002,0,,,0.69084760274299939 -bike_ASC_auto_deficient_escort,-80.815682010385316,-4.5279280000000002,0,,,-80.815682010385316 -bike_ASC_auto_sufficient_escort,-4.2321601413248553,-5.0631084,0,,,-4.2321601413248553 -bike_ASC_no_auto_escort,-82.613015375494186,-0.71621199999999996,0,,,-82.613015375494186 -drive_transit_ASC_auto_deficient_escort,12.026459792966101,-1.1537067000000001,0,,,12.026459792966101 -drive_transit_ASC_auto_sufficient_escort,-38.422040468436286,-4.6014246999999999,0,,,-38.422040468436286 -sr2_ASC_auto_deficient_escort,-0.028872449257253224,0,0,,,-0.028872449257253224 -sr2_ASC_auto_sufficient_escort,-0.44574542118914673,0,0,,,-0.44574542118914673 -sr3p_ASC_auto_deficient_escort,-0.24177007008960669,-0.40818766000000001,0,,,-0.24177007008960669 -sr3p_ASC_auto_sufficient_escort,-0.57332666707255331,-0.057412530000000003,0,,,-0.57332666707255331 -sr3p_ASC_no_auto_escort,-48.558116584856315,-1.8129267,0,,,-48.558116584856315 -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.22119642025031605,0.17660000000000001,0,,,0.22119642025031605 -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8747078913779172,-1.8055000000000001,0,,,-1.8747078913779172 -taxi_ASC_no_auto_escort_othmaint_shopping,7.3609237955139406,1.8938999999999999,0,,,7.3609237955139406 -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.24413343003260302,-0.38629999999999998,0,,,-0.24413343003260302 -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.7057545852498914,-2.4365000000000001,0,,,-2.7057545852498914 -tnc_shared_ASC_no_auto_escort_othmaint_shopping,6.659950525915475,0.93610000000000004,0,,,6.659950525915475 -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.8961844796143621,0.67479999999999996,0,,,0.8961844796143621 -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.7457428565324109,-1.45,0,,,-1.7457428565324109 -tnc_single_ASC_no_auto_escort_othmaint_shopping,7.4428007891764407,1.8605,0,,,7.4428007891764407 -walk_ASC_auto_deficient_escort,-103.0336443777916,-0.90204656000000005,0,,,-103.0336443777916 -walk_ASC_auto_sufficient_escort,-2.1951400279195017,-0.81160659999999996,0,,,-2.1951400279195017 -walk_ASC_no_auto_escort,7.3688522520263184,2.8012068000000001,0,,,7.3688522520263184 -walk_transit_ASC_auto_deficient_escort,8.7582882394391213,-4.9607039999999998,0,,,8.7582882394391213 -walk_transit_ASC_auto_sufficient_escort,7.5679819008069709,-4.9348470000000004,0,,,7.5679819008069709 -walk_transit_ASC_no_auto_escort,-44.292550039991539,-2.2172081000000001,0,,,-44.292550039991539 -bike_ASC_auto_deficient_othdiscr,0.22855250662092905,-0.092468339999999996,0,,,0.22855250662092905 -bike_ASC_auto_sufficient_othdiscr,-1.9167540400011813,-1.0714596999999999,0,,,-1.9167540400011813 -bike_ASC_no_auto_othdiscr,5.4577562038310869,-0.37642320000000001,0,,,5.4577562038310869 -drive_transit_ASC_auto_deficient_othdiscr,-61.370153497008388,0.31993080000000002,0,,,-61.370153497008388 -drive_transit_ASC_auto_sufficient_othdiscr,11.330970889251063,-0.37859169999999998,0,,,11.330970889251063 -sr2_ASC_auto_deficient_othdiscr,0.73863776841688022,0.6601513,0,,,0.73863776841688022 -sr2_ASC_auto_sufficient_othdiscr,0.1229837233438586,0.49684616999999998,0,,,0.1229837233438586 -sr3p_ASC_auto_deficient_othdiscr,0.935476440999231,1.0470965999999999,0,,,0.935476440999231 -sr3p_ASC_auto_sufficient_othdiscr,0.24598820830201615,0.58850205,0,,,0.24598820830201615 -sr3p_ASC_no_auto_othdiscr,6.4061820861081387,0.27216901999999998,0,,,6.4061820861081387 -walk_ASC_auto_deficient_othdiscr,1.6258274516143363,2.2494074999999998,0,,,1.6258274516143363 -walk_ASC_auto_sufficient_othdiscr,1.0941805514117351,1.2633475999999999,0,,,1.0941805514117351 -walk_ASC_no_auto_othdiscr,8.7710297682817657,3.2665945999999999,0,,,8.7710297682817657 -walk_transit_ASC_auto_deficient_othdiscr,13.266819655208037,0.95308839999999995,0,,,13.266819655208037 -walk_transit_ASC_auto_sufficient_othdiscr,11.302586771209716,-0.80636792999999996,0,,,11.302586771209716 -walk_transit_ASC_no_auto_othdiscr,20.427662059570103,2.2437784999999999,0,,,20.427662059570103 -bike_ASC_auto_deficient_othmaint,-1.5527604047004422,-1.5184648999999999,0,,,-1.5527604047004422 -bike_ASC_auto_sufficient_othmaint,-2.4841948233012818,-2.8083024000000001,0,,,-2.4841948233012818 -bike_ASC_no_auto_othmaint,7.0881917223708513,1.5394334000000001,0,,,7.0881917223708513 -drive_transit_ASC_auto_deficient_othmaint,-65.867616159128147,-0.29943228,0,,,-65.867616159128147 -drive_transit_ASC_auto_sufficient_othmaint,-32.152894844805871,-2.6249478000000002,0,,,-32.152894844805871 -sr2_ASC_auto_deficient_othmaint,-0.17432511879711185,0.26215270000000002,0,,,-0.17432511879711185 -sr2_ASC_auto_sufficient_othmaint,0.22153081726667476,0.25817883000000003,0,,,0.22153081726667476 -sr3p_ASC_auto_deficient_othmaint,-1.7678027401708742,-1.3493925,0,,,-1.7678027401708742 -sr3p_ASC_auto_sufficient_othmaint,-0.25110618149419051,-0.075498670000000004,0,,,-0.25110618149419051 -sr3p_ASC_no_auto_othmaint,4.5931064543486562,-0.80318540000000005,0,,,4.5931064543486562 -walk_ASC_auto_deficient_othmaint,1.8335810139202195,1.3690404,0,,,1.8335810139202195 -walk_ASC_auto_sufficient_othmaint,0.88973692144242589,0.79996339999999999,0,,,0.88973692144242589 -walk_ASC_no_auto_othmaint,6.2906587601839359,1.287299,0,,,6.2906587601839359 -walk_transit_ASC_auto_deficient_othmaint,9.407080733783447,-3.0597257999999998,0,,,9.407080733783447 -walk_transit_ASC_auto_sufficient_othmaint,10.958165434769871,-1.5471172,0,,,10.958165434769871 -walk_transit_ASC_no_auto_othmaint,20.617092448325504,2.5643455999999998,0,,,20.617092448325504 -bike_ASC_auto_deficient_school,-0.41778199451832254,-0.52806779999999998,0,,,-0.41778199451832254 -bike_ASC_auto_sufficient_school,-3.5078886893560863,-2.1134686,0,,,-3.5078886893560863 -bike_ASC_no_auto_school,-28.724176190313326,12.098735,0,,,-28.724176190313326 -coef_age010_trn_multiplier_school_univ,-1.1120244370243391,-1.5548,0,,,-1.1120244370243391 -coef_age1619_da_multiplier_school_univ,-1.5951711270563249,-1.3813,0,,,-1.5951711270563249 -coef_age16p_sr_multiplier_school_univ_work_atwork,-0.72100839095028546,0,0,,,-0.72100839095028546 -coef_hhsize2_sr_multiplier_school_univ,-0.53400766253899179,-0.63590000000000002,0,,,-0.53400766253899179 -coef_ivt_school_univ,-0.021192297603561172,-0.0224,0,,,-0.021192297603561172 -commuter_rail_ASC_school_univ,-32.353210620182892,1.0336205999999999,0,,,-32.353210620182892 -drive_ferry_ASC_school_univ,2.0202317000000001,2.0202317000000001,0,,,2.0202317000000001 -drive_light_rail_ASC_school_univ,-19.108400881329299,1.6814003,0,,,-19.108400881329299 -drive_transit_ASC_auto_deficient_school,-95.982095698903436,5.3252654000000001,0,,,-95.982095698903436 -drive_transit_ASC_auto_sufficient_school,-46.151623937860776,1.4013500000000001,0,,,-46.151623937860776 -drive_transit_CBD_ASC_school_univ,62.459413404223476,0.67200000000000004,0,,,62.459413404223476 -express_bus_ASC_school_univ,0.32496937999999997,0.32496937999999997,0,,,0.32496937999999997 -heavy_rail_ASC_school_univ,-12.380133019206522,0.96200377000000004,0,,,-12.380133019206522 -local_bus_ASC_school_univ,-13.872178494981991,-0.065086210000000005,0,,,-13.872178494981991 -sr2_ASC_auto_deficient_school,0.11627333557951013,0.12474365,0,,,0.11627333557951013 -sr2_ASC_auto_sufficient_school,-1.6466117937376035,-1.6062657,0,,,-1.6466117937376035 -sr3p_ASC_auto_deficient_school,0.72079329001052006,0.71495710000000001,0,,,0.72079329001052006 -sr3p_ASC_auto_sufficient_school,-1.1869716638057384,-1.0201935,0,,,-1.1869716638057384 -sr3p_ASC_no_auto_school,-6.0240829874137232,-6.0240827000000001,0,,,-6.0240829874137232 -taxi_ASC_auto_deficient_school,1.5929016972992514,-0.33379999999999999,0,,,1.5929016972992514 -taxi_ASC_auto_sufficient_school,-1.6320342977823235,-2.4293999999999998,0,,,-1.6320342977823235 -taxi_ASC_no_auto_school_univ,-7,-7,0,-7,-7,-7 -tnc_shared_ASC_auto_deficient_school,0.96832753972334895,-1.4745999999999999,0,,,0.96832753972334895 -tnc_shared_ASC_auto_sufficient_school,-2.7739120530297634,-3.7219000000000002,0,,,-2.7739120530297634 -tnc_shared_ASC_no_auto_school,-7,-7,0,-7,-7,-7 -tnc_single_ASC_auto_deficient_school,-3.3648846265737218,-0.5524,0,,,-3.3648846265737218 -tnc_single_ASC_auto_sufficient_school,-2.3704008497944398,-2.8374999999999999,0,,,-2.3704008497944398 -tnc_single_ASC_no_auto_school,-7,-7,0,-7,-7,-7 -walk_ASC_auto_deficient_school,3.2349172133905824,3.2573623999999999,0,,,3.2349172133905824 -walk_ASC_auto_sufficient_school,0.69222756273388997,0.64768559999999997,0,,,0.69222756273388997 -walk_ASC_no_auto_school,31.884868503149736,18.414556999999999,0,,,31.884868503149736 -walk_ferry_ASC_school_univ,2.0202317000000001,2.0202317000000001,0,,,2.0202317000000001 -walk_light_rail_ASC_school_univ,-12.140651343565191,1.6814003,0,,,-12.140651343565191 -walk_transit_ASC_auto_deficient_school,17.064091325381543,4.1207079999999996,0,,,17.064091325381543 -walk_transit_ASC_auto_sufficient_school,14.160601613148902,0.74590873999999996,0,,,14.160601613148902 -walk_transit_ASC_no_auto_school,48.738094718979411,21.383749000000002,0,,,48.738094718979411 -walk_transit_CBD_ASC_school_univ,0.78788966521195125,0.67200000000000004,0,,,0.78788966521195125 -bike_ASC_auto_deficient_shopping,-0.98208504158712495,-0.87584466000000005,0,,,-0.98208504158712495 -bike_ASC_auto_sufficient_shopping,-4.7656989395473435,-2.5662102999999998,0,,,-4.7656989395473435 -bike_ASC_no_auto_shopping,6.3473397917421011,0.83415550000000005,0,,,6.3473397917421011 -drive_transit_ASC_auto_deficient_shopping,-69.120302733575414,-0.41849177999999998,0,,,-69.120302733575414 -drive_transit_ASC_auto_sufficient_shopping,-74.360368326848842,-2.1718937999999999,0,,,-74.360368326848842 -sr2_ASC_auto_deficient_shopping,0.34099442656713952,0.24409755999999999,0,,,0.34099442656713952 -sr2_ASC_auto_sufficient_shopping,0.14451282933821491,0.19770707000000001,0,,,0.14451282933821491 -sr3p_ASC_auto_deficient_shopping,-0.26249087797911946,-0.073370166000000001,0,,,-0.26249087797911946 -sr3p_ASC_auto_sufficient_shopping,-0.2963226415957782,-0.077571294999999998,0,,,-0.2963226415957782 -sr3p_ASC_no_auto_shopping,5.6484952721990362,-0.27978947999999998,0,,,5.6484952721990362 -walk_ASC_auto_deficient_shopping,2.8036057394781277,2.2701733000000002,0,,,2.8036057394781277 -walk_ASC_auto_sufficient_shopping,0.47346256501524292,0.73126630000000004,0,,,0.47346256501524292 -walk_ASC_no_auto_shopping,8.2155350323455529,2.3768772999999999,0,,,8.2155350323455529 -walk_transit_ASC_auto_deficient_shopping,11.256552971319946,-0.84765690000000005,0,,,11.256552971319946 -walk_transit_ASC_auto_sufficient_shopping,9.7542972055490029,-2.2036798000000002,0,,,9.7542972055490029 -walk_transit_ASC_no_auto_shopping,19.703542063063956,2.1067475999999998,0,,,19.703542063063956 -bike_ASC_auto_deficient_social,-0.26949163972926454,0.63452140000000001,0,,,-0.26949163972926454 -bike_ASC_auto_sufficient_social,-0.85401921523485835,-1.368071,0,,,-0.85401921523485835 -bike_ASC_no_auto_social,5.5137426913975727,0.020583210000000001,0,,,5.5137426913975727 -drive_transit_ASC_auto_deficient_social,-52.758046290102875,1.5627195,0,,,-52.758046290102875 -drive_transit_ASC_auto_sufficient_social,-47.996801808437127,-0.61585575000000004,0,,,-47.996801808437127 -sr2_ASC_auto_deficient_social,1.429304838044295,1.8558528000000001,0,,,1.429304838044295 -sr2_ASC_auto_sufficient_social,0.97730089864256342,0.52360249999999997,0,,,0.97730089864256342 -sr3p_ASC_auto_deficient_social,0.67630143929989783,1.5007242999999999,0,,,0.67630143929989783 -sr3p_ASC_auto_sufficient_social,0.75744513577301464,0.50617886000000001,0,,,0.75744513577301464 -sr3p_ASC_no_auto_social,3.972071101285167,-1.4036902,0,,,3.972071101285167 -walk_ASC_auto_deficient_social,3.1688988708714376,2.8701840000000001,0,,,3.1688988708714376 -walk_ASC_auto_sufficient_social,2.6607837167356201,1.7072186,0,,,2.6607837167356201 -walk_ASC_no_auto_social,6.4445317299061999,1.8680915,0,,,6.4445317299061999 -walk_transit_ASC_auto_deficient_social,12.875988741851154,0.97444487000000002,0,,,12.875988741851154 -walk_transit_ASC_auto_sufficient_social,12.613259624057664,-0.34537590000000001,0,,,12.613259624057664 -walk_transit_ASC_no_auto_social,18.966818965194228,1.3814651,0,,,18.966818965194228 -bike_ASC_auto_deficient_univ,-0.66923500000000002,-0.66923500000000002,0,,,-0.66923500000000002 -bike_ASC_auto_sufficient_univ,-1.9397831999999999,-1.9397831999999999,0,,,-1.9397831999999999 -bike_ASC_no_auto_univ,4.2945156000000004,4.2945156000000004,0,,,4.2945156000000004 -drive_transit_ASC_auto_deficient_univ,1.8501175999999999,1.8501175999999999,0,,,1.8501175999999999 -drive_transit_ASC_auto_sufficient_univ,1.3587753,1.3587753,0,,,1.3587753 -sr2_ASC_auto_deficient_univ,-1.6922345999999999,-1.6922345999999999,0,,,-1.6922345999999999 -sr2_ASC_auto_sufficient_univ,-1.8594269999999999,-1.8594269999999999,0,,,-1.8594269999999999 -sr3p_ASC_auto_deficient_univ,-1.7277422,-1.7277422,0,,,-1.7277422 -sr3p_ASC_auto_sufficient_univ,-1.9047098,-1.9047098,0,,,-1.9047098 -sr3p_ASC_no_auto_univ,-6.0560010000000002,-6.0560010000000002,0,,,-6.0560010000000002 -taxi_ASC_auto_deficient_univ,4.2492000000000001,4.2492000000000001,0,,,4.2492000000000001 -taxi_ASC_auto_sufficient_univ,-0.31309999999999999,-0.31309999999999999,0,,,-0.31309999999999999 -tnc_shared_ASC_auto_deficient_univ,3.25,3.25,0,,,3.25 -tnc_shared_ASC_auto_sufficient_univ,-0.90680000000000005,-0.90680000000000005,0,,,-0.90680000000000005 -tnc_shared_ASC_no_auto_univ,-5.8116000000000003,-5.8116000000000003,0,,,-5.8116000000000003 -tnc_single_ASC_auto_deficient_univ,1.0221,1.0221,0,,,1.0221 -tnc_single_ASC_auto_sufficient_univ,0.20880000000000001,0.20880000000000001,0,,,0.20880000000000001 -tnc_single_ASC_no_auto_univ,-2.5190000000000001,-2.5190000000000001,0,,,-2.5190000000000001 -walk_ASC_auto_deficient_univ,4.5059100000000001,4.5059100000000001,0,,,4.5059100000000001 -walk_ASC_auto_sufficient_univ,1.0607664999999999,1.0607664999999999,0,,,1.0607664999999999 -walk_ASC_no_auto_univ,6.4089669999999996,6.4089669999999996,0,,,6.4089669999999996 -walk_transit_ASC_auto_deficient_univ,3.1362554999999999,3.1362554999999999,0,,,3.1362554999999999 -walk_transit_ASC_auto_sufficient_univ,0.47311629999999999,0.47311629999999999,0,,,0.47311629999999999 -walk_transit_ASC_no_auto_univ,8.7860370000000003,8.7860370000000003,0,,,8.7860370000000003 -bike_ASC_auto_deficient_work,0.1093970633711833,0.25318967999999997,0,,,0.1093970633711833 -bike_ASC_auto_sufficient_work,-1.7147321677779845,-1.5800232000000001,0,,,-1.7147321677779845 -bike_ASC_no_auto_work,7.916152782688358,3.1940088000000002,0,,,7.916152782688358 -coef_hhsize1_sr_multiplier_work,-0.6790273309383883,-0.73458800000000002,0,,,-0.6790273309383883 -coef_ivt_work,-0.013061382875350648,-0.0134,0,,,-0.013061382875350648 -commuter_rail_ASC_work,12.116488014803043,0.72550300000000001,0,,,12.116488014803043 -drive_ferry_ASC_work,0.93322605000000003,0.93322605000000003,0,,,0.93322605000000003 -drive_light_rail_ASC_work,-36.000808246088518,0.82555670000000003,0,,,-36.000808246088518 -drive_transit_ASC_auto_deficient_work,-10.817730116154191,0.10081567,0,,,-10.817730116154191 -drive_transit_ASC_auto_sufficient_work,-11.922033211338155,-1.0045459000000001,0,,,-11.922033211338155 -drive_transit_CBD_ASC_work,1.4326312016814422,1.1000000000000001,0,,,1.4326312016814422 -express_bus_ASC_work,-54.606930216243668,-0.51654739999999999,0,,,-54.606930216243668 -heavy_rail_ASC_work,11.025029288750547,0.64772974999999999,0,,,11.025029288750547 -local_bus_ASC_work,10.288307853536837,0.066895070000000001,0,,,10.288307853536837 -sr2_ASC_auto_deficient_work,0.46312369609634996,-0.33803123000000002,0,,,0.46312369609634996 -sr2_ASC_auto_sufficient_work,-0.39096777455191095,-1.0857458,0,,,-0.39096777455191095 -sr3p_ASC_auto_deficient_work,-0.050072021249821817,-0.85270420000000002,0,,,-0.050072021249821817 -sr3p_ASC_auto_sufficient_work,-0.71640219472524347,-1.4699701999999999,0,,,-0.71640219472524347 -sr3p_ASC_no_auto_work,5.2865327465387555,-0.5831269,0,,,5.2865327465387555 -taxi_ASC_auto_deficient_work,-1.3594600760328026,-1.4765999999999999,0,,,-1.3594600760328026 -taxi_ASC_auto_sufficient_work,-55.988330866418792,-4.8509000000000002,0,,,-55.988330866418792 -taxi_ASC_no_auto_work,9.43236827804283,4.7290999999999999,0,,,9.43236827804283 -tnc_shared_ASC_auto_deficient_work,-2.4348067005945464,-2.1435,0,,,-2.4348067005945464 -tnc_shared_ASC_auto_sufficient_work,-63.386791172965488,-5.3574999999999999,0,,,-63.386791172965488 -tnc_shared_ASC_no_auto_work,-47.309135186133922,3.2429000000000001,0,,,-47.309135186133922 -tnc_single_ASC_auto_deficient_work,-0.78812679103952732,-0.80130000000000001,0,,,-0.78812679103952732 -tnc_single_ASC_auto_sufficient_work,-4.8755977035592224,-4.1946000000000003,0,,,-4.8755977035592224 -tnc_single_ASC_no_auto_work,10.295672942342067,5.7854999999999999,0,,,10.295672942342067 -walk_ASC_auto_deficient_work,2.1275102930594469,2.4010416999999999,0,,,2.1275102930594469 -walk_ASC_auto_sufficient_work,0.17637095807617828,0.053265337000000003,0,,,0.17637095807617828 -walk_ASC_no_auto_work,10.356832861443557,5.7672157000000004,0,,,10.356832861443557 -walk_ferry_ASC_work,0.93322605000000003,0.93322605000000003,0,,,0.93322605000000003 -walk_light_rail_ASC_work,11.204407103182628,0.82555670000000003,0,,,11.204407103182628 -walk_transit_ASC_auto_deficient_work,-9.7699412444923333,0.65302855000000004,0,,,-9.7699412444923333 -walk_transit_ASC_auto_sufficient_work,-11.327002198633336,-0.89165070000000002,0,,,-11.327002198633336 -walk_transit_ASC_no_auto_work,-0.8184290314119107,5.0354165999999996,0,,,-0.8184290314119107 -walk_transit_CBD_ASC_work,0.97698021606324725,0.80400000000000005,0,,,0.97698021606324725 -bike_ASC_auto_deficient_atwork,-1.3755365229511889,-0.80740829999999997,0,,,-1.3755365229511889 -bike_ASC_auto_sufficient_atwork,15.727786619761421,15.72017,0,,,15.727786619761421 -bike_ASC_no_auto_atwork,-28.399708381108002,-0.90725845000000005,0,,,-28.399708381108002 -coef_age010_trn_multiplier_atwork,0.00072199999999999999,0.00072199999999999999,0,,,0.00072199999999999999 -coef_age1619_da_multiplier_atwork,-0.80694718452625747,0.0032336000000000001,0,,,-0.80694718452625747 -coef_ivt_atwork,-0.021019454866270101,-0.018800000000000001,0,,,-0.021019454866270101 -drive_transit_ASC_auto_deficient_atwork,-998.81960000000004,-998.81960000000004,0,,,-998.81960000000004 -drive_transit_ASC_auto_sufficient_atwork,-999.21465999999998,-999.21465999999998,0,,,-999.21465999999998 -drive_transit_CBD_ASC_atwork,0.56399999999999995,0.56399999999999995,0,,,0.56399999999999995 -sr2_ASC_auto_deficient_atwork,-1.892695657391221,-2.1102420999999998,0,,,-1.892695657391221 -sr2_ASC_auto_sufficient_atwork,-0.65249983963035285,-1.4450618,0,,,-0.65249983963035285 -sr3p_ASC_auto_deficient_atwork,-2.383158561544211,-2.5146579999999998,0,,,-2.383158561544211 -sr3p_ASC_auto_sufficient_atwork,-0.82204450780308591,-1.652174,0,,,-0.82204450780308591 -sr3p_ASC_no_auto_atwork,6.2362869423849405,0.58266260000000003,0,,,6.2362869423849405 -taxi_ASC_auto_deficient_atwork,-28.540908119718239,-4.4046000000000003,0,,,-28.540908119718239 -taxi_ASC_auto_sufficient_atwork,-28.643971281649424,-2.8803999999999998,0,,,-28.643971281649424 -taxi_ASC_no_auto_atwork,10.212879604829233,4.1021000000000001,0,,,10.212879604829233 -tnc_shared_ASC_auto_deficient_atwork,-3.912212918042727,-4.5088999999999997,0,,,-3.912212918042727 -tnc_shared_ASC_auto_sufficient_atwork,-2.6881377816112022,-3.5396999999999998,0,,,-2.6881377816112022 -tnc_shared_ASC_no_auto_atwork,9.0603158795129275,3.3672,0,,,9.0603158795129275 -tnc_single_ASC_auto_deficient_atwork,-3.1078735470600058,-3.7625999999999999,0,,,-3.1078735470600058 -tnc_single_ASC_auto_sufficient_atwork,-2.6270251391593975,-2.7988,0,,,-2.6270251391593975 -tnc_single_ASC_no_auto_atwork,10.48194785788473,4.4981999999999998,0,,,10.48194785788473 -walk_ASC_auto_deficient_atwork,1.82422508083581,0.92546092999999996,0,,,1.82422508083581 -walk_ASC_auto_sufficient_atwork,1.428722206355812,0.67721600000000004,0,,,1.428722206355812 -walk_ASC_no_auto_atwork,12.824108683156906,6.6692130000000001,0,,,12.824108683156906 -walk_transit_ASC_auto_deficient_atwork,8.9851772342267946,-2.9988291,0,,,8.9851772342267946 -walk_transit_ASC_auto_sufficient_atwork,9.1279962633935359,-3.401027,0,,,9.1279962633935359 -walk_transit_ASC_no_auto_atwork,21.234895822541418,2.7041876,0,,,21.234895822541418 -walk_transit_CBD_ASC_atwork,0.35194949771152162,0.56399999999999995,0,,,0.35194949771152162 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +bike_ASC_auto_deficient_atwork,-1.3785489288550536,-1.3785489288550536,-0.80740827322006226,0 +bike_ASC_auto_deficient_eatout,-13.478289059952681,-13.478289059952681,-1.569110631942749,0 +bike_ASC_auto_deficient_escort,-12.549532816371221,-12.549532816371221,-4.5279278755187988,0 +bike_ASC_auto_deficient_othdiscr,0.23084257669564343,0.23084257669564343,-0.092468343675136566,0 +bike_ASC_auto_deficient_othmaint,-1.5508409145945901,-1.5508409145945901,-1.5184649229049683,0 +bike_ASC_auto_deficient_school,-0.4215455293721031,-0.4215455293721031,-0.52806782722473145,0 +bike_ASC_auto_deficient_shopping,-0.98162820928675221,-0.98162820928675221,-0.87584465742111206,0 +bike_ASC_auto_deficient_social,-0.26248269451457257,-0.26248269451457257,0.63452142477035522,0 +bike_ASC_auto_deficient_univ,-0.6692349910736084,-0.6692349910736084,-0.6692349910736084,0 +bike_ASC_auto_deficient_work,0.10890208866785125,0.10890208866785125,0.25318968296051025,0 +bike_ASC_auto_sufficient_atwork,15.720436744241237,15.720436744241237,15.720170021057129,0 +bike_ASC_auto_sufficient_eatout,-1.4652985888010346,-1.4652985888010346,-1.2003470659255981,0 +bike_ASC_auto_sufficient_escort,-4.2292784418487299,-4.2292784418487299,-5.0631084442138672,0 +bike_ASC_auto_sufficient_othdiscr,-1.9171536174387396,-1.9171536174387396,-1.0714596509933472,0 +bike_ASC_auto_sufficient_othmaint,-2.480889498913136,-2.480889498913136,-2.8083024024963379,0 +bike_ASC_auto_sufficient_school,-3.5085898921949115,-3.5085898921949115,-2.1134686470031738,0 +bike_ASC_auto_sufficient_shopping,-4.7741583038198092,-4.7741583038198092,-2.5662102699279785,0 +bike_ASC_auto_sufficient_social,-0.84654185177446273,-0.84654185177446273,-1.3680709600448608,0 +bike_ASC_auto_sufficient_univ,-1.9397832155227661,-1.9397832155227661,-1.9397832155227661,0 +bike_ASC_auto_sufficient_work,-1.7160300530004202,-1.7160300530004202,-1.5800231695175171,0 +bike_ASC_no_auto_atwork,-3.4373940217027688,-3.4373940217027688,-0.90725845098495483,0 +bike_ASC_no_auto_eatout,2.5630036190317327,2.5630036190317327,0.86807096004486084,0 +bike_ASC_no_auto_escort,-10.607463256083799,-10.607463256083799,-0.71621197462081909,0 +bike_ASC_no_auto_othdiscr,0.81582185622492365,0.81582185622492365,-0.37642320990562439,0 +bike_ASC_no_auto_othmaint,2.4455151268361357,2.4455151268361357,1.5394333600997925,0 +bike_ASC_no_auto_school,8.1256976107813834,8.1256976107813834,12.098734855651855,0 +bike_ASC_no_auto_shopping,1.7027997220715445,1.7027997220715445,0.83415549993515015,0 +bike_ASC_no_auto_social,0.87324419595226233,0.87324419595226233,0.02058321051299572,0 +bike_ASC_no_auto_univ,4.2945156097412109,4.2945156097412109,4.2945156097412109,0 +bike_ASC_no_auto_work,3.288259145708162,3.288259145708162,3.1940088272094727,0 +coef_age010_trn_multiplier_atwork,0.00072200002614408731,0.00072200002614408731,0.00072200002614408731,0 +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0.71776731826369955,0.71776731826369955,0,0 +coef_age010_trn_multiplier_school_univ,-1.1170494621014921,-1.1170494621014921,-1.5548000335693359,0 +coef_age1619_da_multiplier_atwork,-0.81723517651260913,-0.81723517651260913,0.0032335999421775341,0 +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,-0.019963399047300222,-0.019963399047300222,0,0 +coef_age1619_da_multiplier_school_univ,-1.5953290804661184,-1.5953290804661184,-1.3812999725341797,0 +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.1377269298937951,-1.1377269298937951,-1.3660000562667847,0 +coef_age16p_sr_multiplier_school_univ_work_atwork,-0.70763139612535009,-0.70763139612535009,0,0 +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0.020926329864022951,0.020926329864022951,0,0 +coef_hhsize1_sr_multiplier_work,-0.678704061342841,-0.678704061342841,-0.73458802700042725,0 +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,-0.0037484351975650902,-0.0037484351975650902,0,0 +coef_hhsize2_sr_multiplier_school_univ,-0.52956030309171354,-0.52956030309171354,-0.63590002059936523,0 +coef_ivt_atwork,-0.021030839623199092,-0.021030839623199092,-0.018799999728798866,0 +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.016938907736903215,-0.016938907736903215,-0.017500000074505806,0 +coef_ivt_school_univ,-0.021216638430089751,-0.021216638430089751,-0.02239999920129776,0 +coef_ivt_work,-0.01305918522300771,-0.01305918522300771,-0.013399999588727951,0 +coef_nest_AUTO,0.72000002861022949,0.72000002861022949,0.72000002861022949,1 +coef_nest_AUTO_DRIVEALONE,0.34999999403953552,0.34999999403953552,0.34999999403953552,1 +coef_nest_AUTO_SHAREDRIDE2,0.34999999403953552,0.34999999403953552,0.34999999403953552,1 +coef_nest_AUTO_SHAREDRIDE3,0.34999999403953552,0.34999999403953552,0.34999999403953552,1 +coef_nest_NONMOTORIZED,0.72000002861022949,0.72000002861022949,0.72000002861022949,1 +coef_nest_RIDEHAIL,0.36000001430511475,0.36000001430511475,0.36000001430511475,1 +coef_nest_TRANSIT,0.72000002861022949,0.72000002861022949,0.72000002861022949,1 +coef_nest_TRANSIT_DRIVEACCESS,0.5,0.5,0.5,1 +coef_nest_TRANSIT_WALKACCESS,0.5,0.5,0.5,1 +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-2.8955274103001964,-2.8955274103001964,0.72701847553253174,0 +commuter_rail_ASC_school_univ,-0.3828325284031272,-0.3828325284031272,1.0336205959320068,0 +commuter_rail_ASC_work,2.8534564834779914,2.8534564834779914,0.72550302743911743,0 +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401237964630127,0.9401237964630127,0.9401237964630127,0 +drive_ferry_ASC_school_univ,2.0202317237854004,2.0202317237854004,2.0202317237854004,0 +drive_ferry_ASC_work,0.93322604894638062,0.93322604894638062,0.93322604894638062,0 +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-1.00533509415796,-1.00533509415796,0.76895475387573242,0 +drive_light_rail_ASC_school_univ,1.4260795934130517,1.4260795934130517,1.6814002990722656,0 +drive_light_rail_ASC_work,-3.2587187286001322,-3.2587187286001322,0.82555669546127319,0 +drive_transit_ASC_auto_deficient_atwork,-998.819580078125,-998.819580078125,-998.819580078125,0 +drive_transit_ASC_auto_deficient_eatout,3.5996749037366738,3.5996749037366738,0.59980607032775879,0 +drive_transit_ASC_auto_deficient_escort,0.92276171873072177,0.92276171873072177,-1.1537066698074341,0 +drive_transit_ASC_auto_deficient_othdiscr,-6.8970438511600394,-6.8970438511600394,0.3199307918548584,0 +drive_transit_ASC_auto_deficient_othmaint,-8.1349064582353137,-8.1349064582353137,-0.29943227767944336,0 +drive_transit_ASC_auto_deficient_school,-7.2801790952573704,-7.2801790952573704,5.3252654075622559,0 +drive_transit_ASC_auto_deficient_shopping,-9.1219590941274866,-9.1219590941274866,-0.41849178075790405,0 +drive_transit_ASC_auto_deficient_social,-4.499078495566291,-4.499078495566291,1.562719464302063,0 +drive_transit_ASC_auto_deficient_univ,1.850117564201355,1.850117564201355,1.850117564201355,0 +drive_transit_ASC_auto_deficient_work,-1.5562979857982473,-1.5562979857982473,0.10081566870212555,0 +drive_transit_ASC_auto_sufficient_atwork,-999.21466064453125,-999.21466064453125,-999.21466064453125,0 +drive_transit_ASC_auto_sufficient_eatout,1.0207079688485654,1.0207079688485654,-0.96951586008071899,0 +drive_transit_ASC_auto_sufficient_escort,-7.9500240568205331,-7.9500240568205331,-4.6014246940612793,0 +drive_transit_ASC_auto_sufficient_othdiscr,0.25224567100130202,0.25224567100130202,-0.37859168648719788,0 +drive_transit_ASC_auto_sufficient_othmaint,-5.4951856025086832,-5.4951856025086832,-2.6249477863311768,0 +drive_transit_ASC_auto_sufficient_school,-3.3190578583246007,-3.3190578583246007,1.4013500213623047,0 +drive_transit_ASC_auto_sufficient_shopping,-11.522003993598938,-11.522003993598938,-2.171893835067749,0 +drive_transit_ASC_auto_sufficient_social,-5.7724175852315387,-5.7724175852315387,-0.61585575342178345,0 +drive_transit_ASC_auto_sufficient_univ,1.35877525806427,1.35877525806427,1.35877525806427,0 +drive_transit_ASC_auto_sufficient_work,-2.6606417198651755,-2.6606417198651755,-1.0045459270477295,0 +drive_transit_ASC_no_auto_all,0,0,0,0 +drive_transit_CBD_ASC_atwork,0.56400001049041748,0.56400001049041748,0.56400001049041748,0 +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.57243952183743552,0.57243952183743552,0.52499997615814209,0 +drive_transit_CBD_ASC_school_univ,8.6081678280152776,8.6081678280152776,0.67199999094009399,0 +drive_transit_CBD_ASC_work,1.4288229016936926,1.4288229016936926,1.1000000238418579,0 +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-8.1976039135865104,-8.1976039135865104,0.96923160552978516,0 +express_bus_ASC_school_univ,0.32496938109397888,0.32496938109397888,0.32496938109397888,0 +express_bus_ASC_work,-8.6406993130396952,-8.6406993130396952,-0.51654738187789917,0 +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.2687341241545948,-0.2687341241545948,0.77061212062835693,0 +heavy_rail_ASC_school_univ,-1.3601210931327823,-1.3601210931327823,0.96200376749038696,0 +heavy_rail_ASC_work,1.7664108281965281,1.7664108281965281,0.64772975444793701,0 +joint_bike_ASC_auto_deficient_all,-22.84817785648125,-22.84817785648125,-6.0764150619506836,0 +joint_bike_ASC_auto_sufficient_all,-18.668876824664544,-18.668876824664544,-6.376065731048584,0 +joint_bike_ASC_no_auto_all,-7.3396332420646599,-7.3396332420646599,-2.8671598434448242,0 +joint_drive_transit_ASC_auto_deficient_all,-8.4548732733491221,-8.4548732733491221,-5.963221549987793,0 +joint_drive_transit_ASC_auto_sufficient_all,-9.2618141878214857,-9.2618141878214857,-8.0452852249145508,0 +joint_drive_transit_ASC_no_auto_all,0,0,0,0 +joint_sr2_ASC_auto_deficient_all,0,0,0,0 +joint_sr2_ASC_auto_sufficient_all,0,0,0,0 +joint_sr2_ASC_no_auto_all,0,0,0,0 +joint_sr3p_ASC_auto_deficient_all,-5.2973107825320627,-5.2973107825320627,-1.8841692209243774,0 +joint_sr3p_ASC_auto_sufficient_all,-3.3177208022324396,-3.3177208022324396,-2.2348260879516602,0 +joint_sr3p_ASC_no_auto_all,0.9763115464901333,0.9763115464901333,0.56306707859039307,0 +joint_taxi_ASC_auto_deficient_all,-12.577952947400721,-12.577952947400721,-9.815699577331543,0 +joint_taxi_ASC_auto_sufficient_all,-11.70989990234375,-11.70989990234375,-11.70989990234375,0 +joint_taxi_ASC_no_auto_all,-4.7921931444441226,-4.7921931444441226,-4.5791997909545898,0 +joint_tnc_shared_ASC_auto_deficient_all,-12.022080317768388,-12.022080317768388,-11.157199859619141,0 +joint_tnc_shared_ASC_auto_sufficient_all,-13.204999923706055,-13.204999923706055,-13.204999923706055,0 +joint_tnc_shared_ASC_no_auto_all,-5.9034013591354828,-5.9034013591354828,-4.3001999855041504,0 +joint_tnc_single_ASC_auto_deficient_all,-13.355636964329875,-13.355636964329875,-9.8961000442504883,0 +joint_tnc_single_ASC_auto_sufficient_all,-14.015899658203125,-14.015899658203125,-14.015899658203125,0 +joint_tnc_single_ASC_no_auto_all,-5.009675416114411,-5.009675416114411,-4.4917001724243164,0 +joint_walk_ASC_auto_deficient_all,-1.2526625344808935,-1.2526625344808935,-1.9607706069946289,0 +joint_walk_ASC_auto_sufficient_all,-3.6119496905604156,-3.6119496905604156,-3.2352156639099121,0 +joint_walk_ASC_no_auto_all,0.98244579409876942,0.98244579409876942,-0.2127470076084137,0 +joint_walk_transit_ASC_auto_deficient_all,-6.5618299422805499,-6.5618299422805499,-5.1634483337402344,0 +joint_walk_transit_ASC_auto_sufficient_all,-18.264613488805086,-18.264613488805086,-18.264533996582031,0 +joint_walk_transit_ASC_no_auto_all,2.5094922199299332,2.5094922199299332,0.62292414903640747,0 +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-1.5144190210177051,-1.5144190210177051,-0.090703263878822327,0 +local_bus_ASC_school_univ,-2.852538439833872,-2.852538439833872,-0.065086208283901215,0 +local_bus_ASC_work,1.0297166490275502,1.0297166490275502,0.066895067691802979,0 +sr2_ASC_auto_deficient_atwork,-1.9094866667887815,-1.9094866667887815,-2.1102421283721924,0 +sr2_ASC_auto_deficient_eatout,0.23429452839706041,0.23429452839706041,0.58823448419570923,0 +sr2_ASC_auto_deficient_escort,-0.032021381539029239,-0.032021381539029239,0,0 +sr2_ASC_auto_deficient_othdiscr,0.73598217389056986,0.73598217389056986,0.66015130281448364,0 +sr2_ASC_auto_deficient_othmaint,-0.17552012261202324,-0.17552012261202324,0.26215270161628723,0 +sr2_ASC_auto_deficient_school,0.11222789392186802,0.11222789392186802,0.12474364787340164,0 +sr2_ASC_auto_deficient_shopping,0.33836795233816952,0.33836795233816952,0.24409756064414978,0 +sr2_ASC_auto_deficient_social,1.4262844532463008,1.4262844532463008,1.8558528423309326,0 +sr2_ASC_auto_deficient_univ,-1.6922346353530884,-1.6922346353530884,-1.6922346353530884,0 +sr2_ASC_auto_deficient_work,0.44950161477737804,0.44950161477737804,-0.33803123235702515,0 +sr2_ASC_auto_sufficient_atwork,-0.66637185986313596,-0.66637185986313596,-1.4450618028640747,0 +sr2_ASC_auto_sufficient_eatout,0.45475593913715445,0.45475593913715445,0.86280554533004761,0 +sr2_ASC_auto_sufficient_escort,-0.44615942757653276,-0.44615942757653276,0,0 +sr2_ASC_auto_sufficient_othdiscr,0.12095797623142351,0.12095797623142351,0.49684616923332214,0 +sr2_ASC_auto_sufficient_othmaint,0.21943868621422019,0.21943868621422019,0.25817883014678955,0 +sr2_ASC_auto_sufficient_school,-1.6559796285505484,-1.6559796285505484,-1.606265664100647,0 +sr2_ASC_auto_sufficient_shopping,0.14231536811282997,0.14231536811282997,0.19770707190036774,0 +sr2_ASC_auto_sufficient_social,0.97606425892784854,0.97606425892784854,0.52360248565673828,0 +sr2_ASC_auto_sufficient_univ,-1.8594269752502441,-1.8594269752502441,-1.8594269752502441,0 +sr2_ASC_auto_sufficient_work,-0.40462357614303501,-0.40462357614303501,-1.0857458114624023,0 +sr2_ASC_no_auto_all,0.65836707734318189,0.65836707734318189,0,0 +sr3p_ASC_auto_deficient_atwork,-2.3999666913655822,-2.3999666913655822,-2.5146579742431641,0 +sr3p_ASC_auto_deficient_eatout,-0.085344760431453157,-0.085344760431453157,0.046052359044551849,0 +sr3p_ASC_auto_deficient_escort,-0.24492200273215967,-0.24492200273215967,-0.40818765759468079,0 +sr3p_ASC_auto_deficient_othdiscr,0.93306879923521158,0.93306879923521158,1.0470966100692749,0 +sr3p_ASC_auto_deficient_othmaint,-1.7736904601254642,-1.7736904601254642,-1.3493925333023071,0 +sr3p_ASC_auto_deficient_school,0.71657100822891162,0.71657100822891162,0.71495711803436279,0 +sr3p_ASC_auto_deficient_shopping,-0.26599380509424975,-0.26599380509424975,-0.073370166122913361,0 +sr3p_ASC_auto_deficient_social,0.67432169413520315,0.67432169413520315,1.5007243156433105,0 +sr3p_ASC_auto_deficient_univ,-1.7277421951293945,-1.7277421951293945,-1.7277421951293945,0 +sr3p_ASC_auto_deficient_work,-0.063730631602187782,-0.063730631602187782,-0.85270422697067261,0 +sr3p_ASC_auto_sufficient_atwork,-0.83596465725235203,-0.83596465725235203,-1.6521739959716797,0 +sr3p_ASC_auto_sufficient_eatout,0.49982576859422778,0.49982576859422778,0.84685957431793213,0 +sr3p_ASC_auto_sufficient_escort,-0.57373642946501302,-0.57373642946501302,-0.057412531226873398,0 +sr3p_ASC_auto_sufficient_othdiscr,0.24396131625033132,0.24396131625033132,0.58850204944610596,0 +sr3p_ASC_auto_sufficient_othmaint,-0.25319709341107671,-0.25319709341107671,-0.075498670339584351,0 +sr3p_ASC_auto_sufficient_school,-1.196349294926158,-1.196349294926158,-1.0201934576034546,0 +sr3p_ASC_auto_sufficient_shopping,-0.29852686793634708,-0.29852686793634708,-0.077571295201778412,0 +sr3p_ASC_auto_sufficient_social,0.75634628635235579,0.75634628635235579,0.50617885589599609,0 +sr3p_ASC_auto_sufficient_univ,-1.9047098159790039,-1.9047098159790039,-1.9047098159790039,0 +sr3p_ASC_auto_sufficient_work,-0.73008669627997913,-0.73008669627997913,-1.4699702262878418,0 +sr3p_ASC_no_auto_atwork,1.6002322091525814,1.6002322091525814,0.58266258239746094,0 +sr3p_ASC_no_auto_eatout,1.1611036802898103,1.1611036802898103,0.32199978828430176,0 +sr3p_ASC_no_auto_escort,-6.5215997863892774,-6.5215997863892774,-1.8129266500473022,0 +sr3p_ASC_no_auto_othdiscr,1.7619073585553018,1.7619073585553018,0.27216902375221252,0 +sr3p_ASC_no_auto_othmaint,-0.049178972746906281,-0.049178972746906281,-0.80318540334701538,0 +sr3p_ASC_no_auto_school,-6.0240826787580186,-6.0240826787580186,-6.0240826606750488,0 +sr3p_ASC_no_auto_shopping,1.0028021249170127,1.0028021249170127,-0.27978947758674622,0 +sr3p_ASC_no_auto_social,-0.66937012316605804,-0.66937012316605804,-1.4036902189254761,0 +sr3p_ASC_no_auto_univ,-6.0560011863708496,-6.0560011863708496,-6.0560011863708496,0 +sr3p_ASC_no_auto_work,0.64239374779348402,0.64239374779348402,-0.58312690258026123,0 +taxi_ASC_auto_deficient_atwork,-7.2764037594520028,-7.2764037594520028,-4.4046001434326172,0 +taxi_ASC_auto_deficient_eatout_othdiscr_social,-6.7605420231328042,-6.7605420231328042,-3.1317000389099121,0 +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.2213151826043096,0.2213151826043096,0.17659999430179596,0 +taxi_ASC_auto_deficient_school,1.5944172505957981,1.5944172505957981,-0.33379998803138733,0 +taxi_ASC_auto_deficient_univ,4.2491998672485352,4.2491998672485352,4.2491998672485352,0 +taxi_ASC_auto_deficient_work,-1.3601107923957467,-1.3601107923957467,-1.4766000509262085,0 +taxi_ASC_auto_sufficient_atwork,-7.6889417664722703,-7.6889417664722703,-2.8803999423980713,0 +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-2.3754735918032206,-2.3754735918032206,-3.0374000072479248,0 +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8726632364652462,-1.8726632364652462,-1.8055000305175781,0 +taxi_ASC_auto_sufficient_school,-1.6409158383067048,-1.6409158383067048,-2.4293999671936035,0 +taxi_ASC_auto_sufficient_univ,-0.31310001015663147,-0.31310001015663147,-0.31310001015663147,0 +taxi_ASC_auto_sufficient_work,-11.150302914208121,-11.150302914208121,-4.8509001731872559,0 +taxi_ASC_no_auto_atwork,5.6004501864721936,5.6004501864721936,4.1020998954772949,0 +taxi_ASC_no_auto_eatout_othdiscr_social,-5.524877879527982,-5.524877879527982,0.99229997396469116,0 +taxi_ASC_no_auto_escort_othmaint_shopping,2.717506622034064,2.717506622034064,1.8939000368118286,0 +taxi_ASC_no_auto_school_univ,-7,-7,-7,0 +taxi_ASC_no_auto_work,4.8041910743451384,4.8041910743451384,4.729100227355957,0 +tnc_shared_ASC_auto_deficient_atwork,-3.9149417364766528,-3.9149417364766528,-4.5089001655578613,0 +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-2.9105616251102258,-2.9105616251102258,-4.357600212097168,0 +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.24445326581262283,-0.24445326581262283,-0.38629999756813049,0 +tnc_shared_ASC_auto_deficient_school,0.96927830747475263,0.96927830747475263,-1.4745999574661255,0 +tnc_shared_ASC_auto_deficient_univ,3.25,3.25,3.25,0 +tnc_shared_ASC_auto_deficient_work,-2.4365489673978344,-2.4365489673978344,-2.1435000896453857,0 +tnc_shared_ASC_auto_sufficient_atwork,-2.6846061257948191,-2.6846061257948191,-3.5397000312805176,0 +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.4664907818210442,-3.4664907818210442,-3.6638000011444092,0 +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.7039112348695036,-2.7039112348695036,-2.436500072479248,0 +tnc_shared_ASC_auto_sufficient_school,-2.7805594188321878,-2.7805594188321878,-3.7218999862670898,0 +tnc_shared_ASC_auto_sufficient_univ,-0.90679997205734253,-0.90679997205734253,-0.90679997205734253,0 +tnc_shared_ASC_auto_sufficient_work,-13.430048024425519,-13.430048024425519,-5.3575000762939453,0 +tnc_shared_ASC_no_auto_atwork,4.4461611170955768,4.4461611170955768,3.3671998977661133,0 +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.86375506709409167,0.86375506709409167,0.64639997482299805,0 +tnc_shared_ASC_no_auto_escort_othmaint_shopping,2.0165028195789745,2.0165028195789745,0.93610000610351562,0 +tnc_shared_ASC_no_auto_school,-7,-7,-7,0 +tnc_shared_ASC_no_auto_univ,-5.8116002082824707,-5.8116002082824707,-5.8116002082824707,0 +tnc_shared_ASC_no_auto_work,-6.5293252685897798,-6.5293252685897798,3.2428998947143555,0 +tnc_single_ASC_auto_deficient_atwork,-3.1118349363927003,-3.1118349363927003,-3.7625999450683594,0 +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-7.3360155331762984,-7.3360155331762984,-2.9623000621795654,0 +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.8959598290368338,0.8959598290368338,0.67479997873306274,0 +tnc_single_ASC_auto_deficient_school,-3.0337956000080539,-3.0337956000080539,-0.55239999294281006,0 +tnc_single_ASC_auto_deficient_univ,1.0220999717712402,1.0220999717712402,1.0220999717712402,0 +tnc_single_ASC_auto_deficient_work,-0.78880830732265783,-0.78880830732265783,-0.80129998922348022,0 +tnc_single_ASC_auto_sufficient_atwork,-2.6230381314800435,-2.6230381314800435,-2.798799991607666,0 +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.0882039470803662,-2.0882039470803662,-2.3238999843597412,0 +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.7439251866638874,-1.7439251866638874,-1.4500000476837158,0 +tnc_single_ASC_auto_sufficient_school,-2.378795283304973,-2.378795283304973,-2.8375000953674316,0 +tnc_single_ASC_auto_sufficient_univ,0.20880000293254852,0.20880000293254852,0.20880000293254852,0 +tnc_single_ASC_auto_sufficient_work,-4.8796439361869233,-4.8796439361869233,-4.1946001052856445,0 +tnc_single_ASC_no_auto_atwork,5.868382446572503,5.868382446572503,4.4981999397277832,0 +tnc_single_ASC_no_auto_eatout_othdiscr_social,2.058601711456534,2.058601711456534,1.6851999759674072,0 +tnc_single_ASC_no_auto_escort_othmaint_shopping,2.7993959582491117,2.7993959582491117,1.8604999780654907,0 +tnc_single_ASC_no_auto_school,-7,-7,-7,0 +tnc_single_ASC_no_auto_univ,-2.5190000534057617,-2.5190000534057617,-2.5190000534057617,0 +tnc_single_ASC_no_auto_work,5.6675312824616011,5.6675312824616011,5.7855000495910645,0 +walk_ASC_auto_deficient_atwork,1.8210925632413364,1.8210925632413364,0.92546093463897705,0 +walk_ASC_auto_deficient_eatout,2.9649591418002261,2.9649591418002261,3.2746050357818604,0 +walk_ASC_auto_deficient_escort,-13.769512531812302,-13.769512531812302,-0.9020465612411499,0 +walk_ASC_auto_deficient_othdiscr,1.6274733363939242,1.6274733363939242,2.2494075298309326,0 +walk_ASC_auto_deficient_othmaint,1.8279947844284075,1.8279947844284075,1.3690403699874878,0 +walk_ASC_auto_deficient_school,3.2339563304034473,3.2339563304034473,3.2573623657226562,0 +walk_ASC_auto_deficient_shopping,2.8058704655343694,2.8058704655343694,2.2701733112335205,0 +walk_ASC_auto_deficient_social,3.1684863104981793,3.1684863104981793,2.8701839447021484,0 +walk_ASC_auto_deficient_univ,4.5059099197387695,4.5059099197387695,4.5059099197387695,0 +walk_ASC_auto_deficient_work,2.1268287093168232,2.1268287093168232,2.4010417461395264,0 +walk_ASC_auto_sufficient_atwork,1.4286517853707388,1.4286517853707388,0.67721599340438843,0 +walk_ASC_auto_sufficient_eatout,0.80305835576573759,0.80305835576573759,1.5516903400421143,0 +walk_ASC_auto_sufficient_escort,-2.1981585731262334,-2.1981585731262334,-0.81160658597946167,0 +walk_ASC_auto_sufficient_othdiscr,1.0967272423894308,1.0967272423894308,1.2633476257324219,0 +walk_ASC_auto_sufficient_othmaint,0.88971042840976089,0.88971042840976089,0.79996341466903687,0 +walk_ASC_auto_sufficient_school,0.68722839921502121,0.68722839921502121,0.64768558740615845,0 +walk_ASC_auto_sufficient_shopping,0.47436724640285616,0.47436724640285616,0.7312663197517395,0 +walk_ASC_auto_sufficient_social,2.6647730016556324,2.6647730016556324,1.7072186470031738,0 +walk_ASC_auto_sufficient_univ,1.0607664585113525,1.0607664585113525,1.0607664585113525,0 +walk_ASC_auto_sufficient_work,0.17491465126971134,0.17491465126971134,0.053265336900949478,0 +walk_ASC_no_auto_atwork,8.2102539828822962,8.2102539828822962,6.669212818145752,0 +walk_ASC_no_auto_eatout,5.5759822208817997,5.5759822208817997,5.125117301940918,0 +walk_ASC_no_auto_escort,2.7125215072749826,2.7125215072749826,2.8012068271636963,0 +walk_ASC_no_auto_othdiscr,4.1301524515856975,4.1301524515856975,3.2665946483612061,0 +walk_ASC_no_auto_othmaint,1.6437718725168844,1.6437718725168844,1.2872990369796753,0 +walk_ASC_no_auto_school,18.965223978253537,18.965223978253537,18.414556503295898,0 +walk_ASC_no_auto_shopping,3.5712858700744139,3.5712858700744139,2.3768773078918457,0 +walk_ASC_no_auto_social,1.8061464852559324,1.8061464852559324,1.8680914640426636,0 +walk_ASC_no_auto_univ,6.4089670181274414,6.4089670181274414,6.4089670181274414,0 +walk_ASC_no_auto_work,5.7289551619084005,5.7289551619084005,5.7672157287597656,0 +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401237964630127,0.9401237964630127,0.9401237964630127,0 +walk_ferry_ASC_school_univ,2.0202317237854004,2.0202317237854004,2.0202317237854004,0 +walk_ferry_ASC_work,0.93322604894638062,0.93322604894638062,0.93322604894638062,0 +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.4992168746737472,-0.4992168746737472,0.76895475387573242,0 +walk_light_rail_ASC_school_univ,-1.1206738073437195,-1.1206738073437195,1.6814002990722656,0 +walk_light_rail_ASC_work,1.9458205366633916,1.9458205366633916,0.82555669546127319,0 +walk_transit_ASC_auto_deficient_atwork,-2.087745734137894,-2.087745734137894,-2.9988291263580322,0 +walk_transit_ASC_auto_deficient_eatout,1.2702715178798751,1.2702715178798751,-0.038963239639997482,0 +walk_transit_ASC_auto_deficient_escort,-2.3202251183894047,-2.3202251183894047,-4.9607038497924805,0 +walk_transit_ASC_auto_deficient_othdiscr,2.1954218795721774,2.1954218795721774,0.95308840274810791,0 +walk_transit_ASC_auto_deficient_othmaint,-1.660576732282677,-1.660576732282677,-3.0597257614135742,0 +walk_transit_ASC_auto_deficient_school,6.0476599437483385,6.0476599437483385,4.1207079887390137,0 +walk_transit_ASC_auto_deficient_shopping,0.18271202127675085,0.18271202127675085,-0.84765690565109253,0 +walk_transit_ASC_auto_deficient_social,1.8098477542350777,1.8098477542350777,0.97444486618041992,0 +walk_transit_ASC_auto_deficient_univ,3.1362555027008057,3.1362555027008057,3.1362555027008057,0 +walk_transit_ASC_auto_deficient_work,-0.51182083157614933,-0.51182083157614933,0.65302854776382446,0 +walk_transit_ASC_auto_sufficient_atwork,-1.9428971364123397,-1.9428971364123397,-3.4010269641876221,0 +walk_transit_ASC_auto_sufficient_eatout,-0.32161057194919468,-0.32161057194919468,-1.1126905679702759,0 +walk_transit_ASC_auto_sufficient_escort,-3.5001574343284574,-3.5001574343284574,-4.9348468780517578,0 +walk_transit_ASC_auto_sufficient_othdiscr,0.2299689022545045,0.2299689022545045,-0.80636793375015259,0 +walk_transit_ASC_auto_sufficient_othmaint,-0.1129332445243126,-0.1129332445243126,-1.5471172332763672,0 +walk_transit_ASC_auto_sufficient_school,3.1389271957703655,3.1389271957703655,0.74590873718261719,0 +walk_transit_ASC_auto_sufficient_shopping,-1.3189818719692306,-1.3189818719692306,-2.2036798000335693,0 +walk_transit_ASC_auto_sufficient_social,1.5414229264152464,1.5414229264152464,-0.34537589550018311,0 +walk_transit_ASC_auto_sufficient_univ,0.47311630845069885,0.47311630845069885,0.47311630845069885,0 +walk_transit_ASC_auto_sufficient_work,-2.068884016996956,-2.068884016996956,-0.89165067672729492,0 +walk_transit_ASC_no_auto_atwork,5.5473795796852494,5.5473795796852494,2.7041876316070557,0 +walk_transit_ASC_no_auto_eatout,4.7919626958724812,4.7919626958724812,2.5936367511749268,0 +walk_transit_ASC_no_auto_escort,-6.3455503549741206,-6.3455503549741206,-2.2172081470489502,0 +walk_transit_ASC_no_auto_othdiscr,4.7143623015036109,4.7143623015036109,2.2437784671783447,0 +walk_transit_ASC_no_auto_othmaint,4.9031528637634745,4.9031528637634745,2.5643455982208252,0 +walk_transit_ASC_no_auto_school,24.806205948504321,24.806205948504321,21.383749008178711,0 +walk_transit_ASC_no_auto_shopping,3.9873866943560854,3.9873866943560854,2.1067476272583008,0 +walk_transit_ASC_no_auto_social,3.2552848716526133,3.2552848716526133,1.3814650774002075,0 +walk_transit_ASC_no_auto_univ,8.7860374450683594,8.7860374450683594,8.7860374450683594,0 +walk_transit_ASC_no_auto_work,3.8120013671186221,3.8120013671186221,5.0354166030883789,0 +walk_transit_CBD_ASC_atwork,0.34851829905878767,0.34851829905878767,0.56400001049041748,0 +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.69144903771302224,0.69144903771302224,0.52499997615814209,0 +walk_transit_CBD_ASC_school_univ,0.78893465707209709,0.78893465707209709,0.67199999094009399,0 +walk_transit_CBD_ASC_work,0.97702352207787502,0.97702352207787502,0.80400002002716064,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_workplace_location.csv b/activitysim/estimation/test/test_larch_estimation/test_workplace_location.csv index 4fbab98906..528d77a9ba 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_workplace_location.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_workplace_location.csv @@ -1,35 +1,35 @@ -,value,initvalue,nullvalue,minimum,maximum,best --999,-999,-999,-999,-999,-999,-999 -1,1,1,1,1,1,1 -coef_dist_0_1,-1.0822922946274103,-0.84279999999999999,0,-25,25,-1.0822922946274103 -coef_dist_0_5_high,0.1207879915621165,0.14999999999999999,0,-25,25,0.1207879915621165 -coef_dist_15_up,-0.091700000000000004,-0.091700000000000004,0,-25,25,-0.091700000000000004 -coef_dist_1_2,-0.24766620079389307,-0.31040000000000001,0,-25,25,-0.24766620079389307 -coef_dist_2_5,-0.3685512775196465,-0.37830000000000003,0,-25,25,-0.3685512775196465 -coef_dist_5_15,-0.15169975841932976,-0.1285,0,-25,25,-0.15169975841932976 -coef_dist_5_up_high,-0.015068815366553389,0.02,0,-25,25,-0.015068815366553389 -coef_mode_logsum,0.1608428973358158,0.29999999999999999,0,-25,25,0.1608428973358158 -work_high_AGREMPN,-5.414473039484391,-5.1159958097540823,0,-6,6,-5.414473039484391 -work_high_FPSEMPN,-2.0198354749074623,-1.575036485716768,0,-6,6,-2.0198354749074623 -work_high_HEREMPN,-1.5774962961301324,-1.258781040820931,0,-6,6,-1.5774962961301324 -work_high_MWTEMPN,-2.0728064576402221,-1.4312917270506265,0,-6,6,-2.0728064576402221 -work_high_OTHEMPN,-2.1440619487784449,-1.870802676568508,0,-6,6,-2.1440619487784449 -work_high_RETEMPN,-2.2072749131897207,-2.2072749131897207,0,-2.2072749131897207,-2.2072749131897207,-2.2072749131897207 -work_low_AGREMPN,-5.8479826351063204,-4.6051701859880909,0,-6,6,-5.8479826351063204 -work_low_FPSEMPN,-0.64550992870675994,-1.6450650900772514,0,-6,6,-0.64550992870675994 -work_low_HEREMPN,0.10934025159883133,-0.95972028980149104,0,-6,6,0.10934025159883133 -work_low_MWTEMPN,-0.35351399513998311,-1.8078888511579385,0,-6,6,-0.35351399513998311 -work_low_OTHEMPN,-0.68434316293298214,-2.120263536200091,0,-6,6,-0.68434316293298214 -work_low_RETEMPN,-2.0479428746204649,-2.0479428746204649,0,-2.0479428746204649,-2.0479428746204649,-2.0479428746204649 -work_med_AGREMPN,-6,-4.8283137373023015,0,-6,6,-6 -work_med_FPSEMPN,-1.9402118373687092,-1.6245515502441485,0,-6,6,-1.9402118373687092 -work_med_HEREMPN,-1.3812045016840873,-1.1239300966523995,0,-6,6,-1.3812045016840873 -work_med_MWTEMPN,-0.90824261771266779,-1.5606477482646683,0,-6,6,-0.90824261771266779 -work_med_OTHEMPN,-2.533158060495702,-1.9732813458514451,0,-6,6,-2.533158060495702 -work_med_RETEMPN,-2.120263536200091,-2.120263536200091,0,-2.120263536200091,-2.120263536200091,-2.120263536200091 -work_veryhigh_AGREMPN,-0.27766271475654764,-5.521460917862246,0,-6,6,-0.27766271475654764 -work_veryhigh_FPSEMPN,-1.7531684994723506,-1.3093333199837622,0,-6,6,-1.7531684994723506 -work_veryhigh_HEREMPN,-1.6190143529862893,-1.422958345491482,0,-6,6,-1.6190143529862893 -work_veryhigh_MWTEMPN,-1.7198536938187046,-1.4024237430497744,0,-6,6,-1.7198536938187046 -work_veryhigh_OTHEMPN,-2.4806660321461727,-1.9241486572738007,0,-6,6,-2.4806660321461727 -work_veryhigh_RETEMPN,-2.375155785828881,-2.375155785828881,0,-2.375155785828881,-2.375155785828881,-2.375155785828881 +param_name,value,best,initvalue,nullvalue +-999,-999,-999,-999,0 +1,1,1,1,0 +coef_dist_0_1,-0.30581956658755333,-0.30581956658755333,-0.84280002117156982,0 +coef_dist_0_5_high,-0.037591580411684179,-0.037591580411684179,0.15000000596046448,0 +coef_dist_15_up,-0.091700002551078796,-0.091700002551078796,-0.091700002551078796,0 +coef_dist_1_2,0.36403861650270469,0.36403861650270469,-0.31040000915527344,0 +coef_dist_2_5,0.074928140378863833,0.074928140378863833,-0.3783000111579895,0 +coef_dist_5_15,0.042013884570839009,0.042013884570839009,-0.12849999964237213,0 +coef_dist_5_up_high,-0.091028422362310263,-0.091028422362310263,0.019999999552965164,0 +coef_mode_logsum,0.30841772929564437,0.30841772929564437,0.30000001192092896,0 +work_high_AGREMPN,-5.1363934448871946,-5.1363934448871946,-5.1159958839416504,0 +work_high_FPSEMPN,-6,-6,-1.5750365257263184,0 +work_high_HEREMPN,-5.8758079453903402,-5.8758079453903402,-1.2587810754776001,0 +work_high_MWTEMPN,-6,-6,-1.4312916994094849,0 +work_high_OTHEMPN,-4.7871339627162968,-4.7871339627162968,-1.870802640914917,0 +work_high_RETEMPN,-2.2072749137878418,-2.2072749137878418,-2.2072749137878418,0 +work_low_AGREMPN,-4.62261674278023,-4.62261674278023,-4.6051702499389648,0 +work_low_FPSEMPN,-6,-6,-1.6450650691986084,0 +work_low_HEREMPN,-5.0606787642354085,-5.0606787642354085,-0.95972031354904175,0 +work_low_MWTEMPN,-5.9999999999999991,-5.9999999999999991,-1.8078888654708862,0 +work_low_OTHEMPN,-4.6880188560666634,-4.6880188560666634,-2.1202635765075684,0 +work_low_RETEMPN,-2.0479428768157959,-2.0479428768157959,-2.0479428768157959,0 +work_med_AGREMPN,-4.8408567797905402,-4.8408567797905402,-4.8283138275146484,0 +work_med_FPSEMPN,-6,-6,-1.62455153465271,0 +work_med_HEREMPN,-5.4208328700623296,-5.4208328700623296,-1.1239300966262817,0 +work_med_MWTEMPN,-5.8367726149021344,-5.8367726149021344,-1.56064772605896,0 +work_med_OTHEMPN,-4.8724459817438781,-4.8724459817438781,-1.9732813835144043,0 +work_med_RETEMPN,-2.1202635765075684,-2.1202635765075684,-2.1202635765075684,0 +work_veryhigh_AGREMPN,-5.543114854785494,-5.543114854785494,-5.521461009979248,0 +work_veryhigh_FPSEMPN,-6,-6,-1.309333324432373,0 +work_veryhigh_HEREMPN,-5.6530572756846489,-5.6530572756846489,-1.4229583740234375,0 +work_veryhigh_MWTEMPN,-6,-6,-1.4024237394332886,0 +work_veryhigh_OTHEMPN,-5.8240005358464035,-5.8240005358464035,-1.9241486787796021,0 +work_veryhigh_RETEMPN,-2.3751556873321533,-2.3751556873321533,-2.3751556873321533,0 diff --git a/activitysim/estimation/test/test_larch_estimation/test_workplace_location_loglike.csv b/activitysim/estimation/test/test_larch_estimation/test_workplace_location_loglike.csv index 71e9b13b18..dcd02282b7 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_workplace_location_loglike.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_workplace_location_loglike.csv @@ -1,2 +1,2 @@ ,loglike_prior,loglike_converge -0,-13535.154991016063,-13520.930381371694 +0,-8694.16639312677943963,-7268.65904321087054996 diff --git a/activitysim/estimation/test/test_larch_estimation/test_workplace_location_size_spec.csv b/activitysim/estimation/test/test_larch_estimation/test_workplace_location_size_spec.csv index b568bafc7b..f6d6b17462 100644 --- a/activitysim/estimation/test/test_larch_estimation/test_workplace_location_size_spec.csv +++ b/activitysim/estimation/test/test_larch_estimation/test_workplace_location_size_spec.csv @@ -1,8 +1,8 @@ ,segment,model_selector,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -0,work_low,workplace,0,0.04331096924066484,0.17606247084331519,0.37453642466033488,0.16935644669165648,0.000968861288590913,0.23576482727543777,0,0,0,0 -1,work_med,workplace,0,0.11999183383359351,0.14366373395357587,0.25125860903337882,0.079402445282216183,0.0024785834941433989,0.40320479440309209,0,0,0,0 -2,work_high,workplace,0,0.15790294154771911,0.19045576988955706,0.29641460514585227,0.1682066889662423,0.0063903077215986892,0.18062968672903063,0,0,0,0 -3,work_veryhigh,workplace,0,0.062641019242734242,0.11667678718376452,0.13342796655219047,0.056368476597385232,0.51025642529636983,0.12062932512755588,0,0,0,0 +0,work_low,workplace,0,0.8096367605074406,0.015557278192424053,0.039799319567405213,0.057772317445170702,0.06167704609513544,0.015557278192424065,0,0,0,0 +1,work_med,workplace,0,0.8254493658270311,0.017050704122867678,0.030427859824865577,0.052654174261774579,0.054344027646221538,0.020073868317239382,0,0,0,0 +2,work_high,workplace,0,0.83346467076784692,0.018781385164327268,0.02126490971714939,0.063163857701673223,0.044543791484676111,0.018781385164327268,0,0,0,0 +3,work_veryhigh,workplace,0,0.85845344910642152,0.022880571461814655,0.032369961125427262,0.027283649594894748,0.03613179724962709,0.022880571461814655,0,0,0,0 4,university,school,0,0,0,0,0,0,0,0,0,0.59199999999999997,0.40799999999999997 5,gradeschool,school,0,0,0,0,0,0,0,1,0,0,0 6,highschool,school,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/example_estimation/build_full_mtc_example.py b/activitysim/examples/example_estimation/build_full_mtc_example.py new file mode 100644 index 0000000000..63878a7156 --- /dev/null +++ b/activitysim/examples/example_estimation/build_full_mtc_example.py @@ -0,0 +1,196 @@ +""" +This script builds estimation data bundles for the full MTC example for ActivitySim. + +It does so by running ActivitySim twice: once to create synthetic survey data and then +a second time to create the estimation data bundles. For "real" applications, the +synthetic survey data would not be generated by ActivitySim; it would be real survey data. + +It downloads the necessary example data, runs the ActivitySim model with specified configurations, +and processes the output data. The script accepts the working directory and household sample size +as command-line arguments. + +Functions: + download_example(download_dir: Path) -> Path: + Downloads the prototype MTC extended example data to the specified directory. + + main(working_dir: Path, household_sample_size: int): + Main function that sets up directories, runs the ActivitySim model, and processes the output data. + +Usage: + python build-full-mtc.py -d -s + +Arguments: + -d, --directory: Directory to use as the working directory. Defaults to '/tmp/edb-test'. + -s, --household_sample_size: Household sample size. Defaults to 2000. +""" + +from __future__ import annotations + +import argparse +import os +import shutil +import subprocess +import sys +import time +from pathlib import Path + +from activitysim.examples.external import download_external_example + + +def download_example(download_dir): + example_dir = download_external_example( + name="prototype_mtc_extended", + working_dir=download_dir, + url="https://github.com/ActivitySim/activitysim-prototype-mtc/archive/refs/heads/extended.tar.gz", + assets={ + "data_full.tar.zst": { + "url": "https://github.com/ActivitySim/activitysim-prototype-mtc/releases/download/v1.3.4/data_full.tar.zst", + "sha256": "b402506a61055e2d38621416dd9a5c7e3cf7517c0a9ae5869f6d760c03284ef3", + "unpack": "data_full", + }, + "test/prototype_mtc_reference_pipeline.zip": { + "url": "https://github.com/ActivitySim/activitysim-prototype-mtc/releases/download/v1.3.2/prototype_mtc_extended_reference_pipeline.zip", + "sha256": "4d94b6a8a83225dda17e9ca19c9110bc1df2df5b4b362effa153d1c8d31524f5", + }, + }, + ) + return example_dir + + +def main(working_dir: Path, household_sample_size: int, skip_to_edb: bool = False): + working_dir = Path(working_dir) + working_dir.mkdir(parents=True, exist_ok=True) + + script_dir = Path(__file__).resolve().parent + infer_py = script_dir / "scripts" / "infer.py" + + print(f'The current CONDA environment is {os.getenv("CONDA_DEFAULT_ENV")}') + + configs_dir = working_dir / "activitysim-prototype-mtc-extended" / "configs" + full_data_dir = working_dir / "activitysim-prototype-mtc-extended" / "data_full" + pseudosurvey_dir = working_dir / "activitysim-prototype-mtc-extended" / "output" + + if not skip_to_edb: + download_example(working_dir) + + subprocess.run( + [ + sys.executable, + "-m", + "activitysim", + "run", + "-c", + str(configs_dir), + "-d", + str(full_data_dir), + "-o", + str(pseudosurvey_dir), + "--households_sample_size", + str(household_sample_size), + ], + check=True, + ) + + survey_data_dir = pseudosurvey_dir / "survey_data" + survey_data_dir.mkdir(parents=True, exist_ok=True) + + for file in pseudosurvey_dir.glob("final_*.csv"): + shutil.copy(str(file), str(survey_data_dir)) + + files_to_copy = [ + "final_households.csv", + "final_persons.csv", + "final_tours.csv", + "final_joint_tour_participants.csv", + "final_trips.csv", + ] + + for file_name in files_to_copy: + src = pseudosurvey_dir / file_name + dest = survey_data_dir / file_name.replace("final_", "survey_") + shutil.copy(src, dest) + + output_dir = working_dir / "infer-output" + output_dir.mkdir(parents=True, exist_ok=True) + output_dir.joinpath(".gitignore").write_text("**\n") + + subprocess.run( + [ + sys.executable, + str(infer_py), + str(pseudosurvey_dir), + str(configs_dir), + str(output_dir), + ], + check=True, + ) + + for file in output_dir.glob("override_*.csv"): + shutil.copy(str(file), str(full_data_dir)) + + edb_dir = working_dir / "activitysim-prototype-mtc-extended" / "output-est-mode" + edb_dir.mkdir(parents=True, exist_ok=True) + + subprocess.run( + [ + sys.executable, + "-m", + "activitysim", + "run", + "-c", + str(script_dir / "configs_estimation"), + "-c", + str(configs_dir), + "-d", + str(full_data_dir), + "-o", + str(edb_dir), + ], + check=True, + ) + + # mark the entire created directory as ignored for git + edb_dir.parent.joinpath(".gitignore").write_text("**\n") + + # create a success.txt file to indicate that the EDB was successfully built + completed_at = time.strftime("%Y-%m-%d %H:%M:%S") + edb_dir.joinpath("success.txt").write_text( + f"Successfully built the full MTC estimation data bundle example with {household_sample_size} households.\n" + f"Completed at {completed_at}" + ) + + +def as_needed(working_dir: Path, household_sample_size: int): + """Check if the EDB directory has already been built. If not, build it.""" + edb_dir = ( + Path(working_dir) / "activitysim-prototype-mtc-extended" / "output-est-mode" + ) + if not edb_dir.joinpath("success.txt").exists(): + main(working_dir, household_sample_size) + else: + print("EDB directory already populated.") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Build the full MTC example.") + parser.add_argument( + "-d", + "--directory", + type=str, + default="/tmp/edb-test", + help="Directory to use as the working directory. Defaults to '/tmp/edb-test'.", + ) + parser.add_argument( + "-s", + "--household_sample_size", + type=int, + default=2000, + help="Household sample size. Defaults to 2000.", + ) + parser.add_argument( + "--skip_to_edb", + action="store_true", + help="Skip to EDB step. Defaults to False.", + ) + args = parser.parse_args() + main(args.directory, args.household_sample_size, args.skip_to_edb) diff --git a/activitysim/examples/example_estimation/configs/estimation.yaml b/activitysim/examples/example_estimation/configs/estimation.yaml index 7e8112c0f0..0c86d786d3 100644 --- a/activitysim/examples/example_estimation/configs/estimation.yaml +++ b/activitysim/examples/example_estimation/configs/estimation.yaml @@ -49,55 +49,7 @@ survey_tables: file_name: survey_data/override_trips.csv index_col: trip_id -estimation_table_recipes: - - interaction_sample_simulate: - omnibus_tables: - choosers_combined: - - choices - - override_choices - - choosers - alternatives_combined: - - interaction_sample_alternatives - - interaction_expression_values - omnibus_tables_append_columns: [choosers_combined] - - interaction_simulate: - omnibus_tables: - choosers_combined: - - choices - - override_choices - - choosers - omnibus_tables_append_columns: [choosers_combined] - - simple_simulate: - omnibus_tables: - values_combined: - - choices - - override_choices - - expression_values - - choosers - omnibus_tables_append_columns: [values_combined] - - cdap_simulate: - omnibus_tables: - values_combined: - - choices - - override_choices - - choosers - omnibus_tables_append_columns: [values_combined] - - simple_probabilistic: - omnibus_tables: - values_combined: - - choices - - override_choices - - choosers - - probs - omnibus_tables_append_columns: [values_combined] - - -model_estimation_table_types: +estimation_table_types: school_location: interaction_sample_simulate workplace_location: interaction_sample_simulate auto_ownership: simple_simulate diff --git a/activitysim/examples/example_estimation/configs_estimation/estimation.yaml b/activitysim/examples/example_estimation/configs_estimation/estimation.yaml new file mode 100644 index 0000000000..dd9cd0c24c --- /dev/null +++ b/activitysim/examples/example_estimation/configs_estimation/estimation.yaml @@ -0,0 +1,80 @@ +EDB_FILETYPE: parquet # options: csv, parquet, pkl + +enable: True + +bundles: + - school_location + - workplace_location + - auto_ownership + - vehicle_type_choice + - free_parking + - cdap + - mandatory_tour_frequency + - mandatory_tour_scheduling_work + - mandatory_tour_scheduling_school + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_scheduling + - trip_mode_choice + +# - atwork_subtour_mode_choice subtours.tour_mode + +survey_tables: + households: + file_name: override_households.csv + index_col: household_id + persons: + file_name: override_persons.csv + index_col: person_id + tours: + file_name: override_tours.csv + index_col: tour_id + joint_tour_participants: + file_name: override_joint_tour_participants.csv + index_col: participant_id + trips: + file_name: override_trips.csv + index_col: trip_id + +estimation_table_types: + school_location: interaction_sample_simulate + workplace_location: interaction_sample_simulate + auto_ownership: simple_simulate + vehicle_type_choice: interaction_simulate + free_parking: simple_simulate + cdap: cdap_simulate + mandatory_tour_frequency: simple_simulate + mandatory_tour_scheduling_work: interaction_sample_simulate + mandatory_tour_scheduling_school: interaction_sample_simulate + joint_tour_frequency: simple_simulate + joint_tour_composition: simple_simulate + joint_tour_participation: simple_simulate + joint_tour_destination: interaction_sample_simulate + joint_tour_scheduling: interaction_sample_simulate + non_mandatory_tour_frequency: interaction_simulate + non_mandatory_tour_destination: interaction_sample_simulate + non_mandatory_tour_scheduling: interaction_sample_simulate + tour_mode_choice: simple_simulate + atwork_subtour_frequency: simple_simulate + atwork_subtour_destination: interaction_sample_simulate + atwork_subtour_scheduling: interaction_sample_simulate + atwork_subtour_mode_choice: simple_simulate + stop_frequency: simple_simulate + trip_purpose: simple_probabilistic + trip_destination: interaction_sample_simulate + trip_scheduling: simple_probabilistic + trip_mode_choice: simple_simulate diff --git a/activitysim/examples/example_estimation/configs_estimation/logging.yaml b/activitysim/examples/example_estimation/configs_estimation/logging.yaml new file mode 100644 index 0000000000..f4902943d6 --- /dev/null +++ b/activitysim/examples/example_estimation/configs_estimation/logging.yaml @@ -0,0 +1,67 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile, elogfile] + + loggers: + + estimation: + level: DEBUG + handlers: [console, elogfile] + propagate: false + + activitysim: + level: INFO + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + elogfile: + class: logging.FileHandler + filename: + get_log_file_path: 'estimation.log' + mode: w + formatter: fileFormatter + level: NOTSET + + logfile: + class: logging.FileHandler + filename: + get_log_file_path: 'activitysim.log' + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' diff --git a/activitysim/examples/example_estimation/configs_estimation/settings.yaml b/activitysim/examples/example_estimation/configs_estimation/settings.yaml new file mode 100644 index 0000000000..1e96b0f1a5 --- /dev/null +++ b/activitysim/examples/example_estimation/configs_estimation/settings.yaml @@ -0,0 +1,165 @@ + +inherit_settings: True + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# input tables +input_table_list: + # + # households (table index 'household_id') + # + - tablename: households + filename: override_households.csv + index_col: household_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + # + # persons (table index 'person_id') + # + - tablename: persons + filename: override_persons.csv + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + # + # land_use (table index 'zone_id') + # + - tablename: land_use + filename: land_use.csv + rename_columns: + # accept either TAZ or ZONE (but not both) + TAZ: zone_id + ZONE: zone_id + COUNTY: county_id + keep_columns: + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL + +write_raw_tables: False +rng_base_seed: 42 + +fail_fast: True + +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# number of households to simulate +households_sample_size: 0 + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: initialize_households + +trace_hh_id: + +multiprocess: true +num_processes: 2 + + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +resume_after: + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination +# - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice +# - write_data_dictionary +# - track_skim_usage +# - write_trip_matrices + - write_tables + - coalesce_estimation_data_bundles + + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_accessibility + begin: compute_accessibility + slice: + tables: + - accessibility + # don't slice any tables not explicitly listed above in slice.tables + exclude: True + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_tables diff --git a/activitysim/examples/example_estimation/notebooks/02_school_location.ipynb b/activitysim/examples/example_estimation/notebooks/02_school_location.ipynb index f838803020..8562928ae1 100644 --- a/activitysim/examples/example_estimation/notebooks/02_school_location.ipynb +++ b/activitysim/examples/example_estimation/notebooks/02_school_location.ipynb @@ -26,30 +26,73 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.31.dev37+gd94e3a6',\n", + " 'sharrow': '2.12.2.dev4+gea8174f',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import larch # !conda install larch #for estimation\n", + "import larch as lx\n", "import pandas as pd\n", - "import numpy as np\n", - "import yaml \n", - "import larch.util.excel\n", - "import os" + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "prepare()" ] }, { @@ -72,10 +115,27 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/school_location/school_location_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/school_location/school_location_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/school_location/school_location_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/school_location/school_location_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/school_location/school_location_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/school_location/school_location_size_terms.csv\n" + ] + } + ], "source": [ "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname, return_data=True, \n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + ")" ] }, { @@ -266,148 +326,130 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -429,202 +471,197 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", "
person_idvariable59101213143739...178179180181182184186187189190alt_destprobpick_countmode_choice_logsumsize_termshadow_price_size_term_adjustmentshadow_price_utility_adjustmentutil_dist_0_1util_dist_1_2util_dist_2_5util_dist_5_15util_dist_15_uputil_size_variableutil_utility_adjustmentutil_no_attractionsutil_mode_choice_logsumutil_sample_of_corrections_factor
0629mode_choice_logsum-1.2112310566711697-0.932235390015777-0.9960110406421955-1.2780595287661722-1.4547553701284834-1.4573412829661365-3.8602604963599583-3.8673170163655084...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1918130.0066881-0.7486112578.276039101.01.003.002.180.0000007.8552640False-0.7486115.007436
1629pick_count1.01.01.01.01.01.01.01918690.0346972-1.2289934541.220657101.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.003.000.020.0000008.4211710False-1.2289934.054244
2629prob3.964160543594042e-050.00167816373630599280.00066438955743874150.002793114898696190.00218095283685440940.0004625352628872690.00014199354993792870.00020956937572710045...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN19181330.2493565-0.91645113419.153743101.01.001.460.000.0000009.5045130False-0.9164512.998311
3629shadow_price_size_term_adjustment1.01.01.01.01.01.01.019181850.07378360.075435146.752243101.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.090.000.000.0000004.9955370False0.0754354.398386
4629shadow_price_utility_adjustment0.00.00.00.00.00.00.00.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN19181880.56315716-0.49483014849.890384101.01.000.210.000.0000009.6058150False-0.4948303.346785
.....................
157397541072util_mode_choice_logsum0.401352799399892270.6886076440937283-0.196874267615671370.29845718751131060.128933525367319560.11661882054650644-0.6296937346519611-1.8050089284615745...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
157407541072util_no_attractionsFalseFalseFalseFalseFalseFalseFalse28036975601739610.0095872-7.6515462344.192182101.01.003.0010.0012.8400007.7601230False...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
157417541072util_sample_of_corrections_factor7.3899157826177583.631716891606514.0865671414586033.06858033169584983.3293709346992134.8949702670889666.1574555626588955.794602181057687...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
157427541072util_size_variable3.77759816877277157.1020650866127866.01568252532117858.0076215688752837.8552640336705346.4095117009260145.5236883616663575.897955675114184...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
157437541072util_utility_adjustment-7.6515465.340517
280370756017310190.0662763-8.96283319615.000247101.01.003.0010.0015.4500019.8841010False-8.9628333.812534
280371756017311270.0467072-7.2689939729.629299101.01.003.0010.0010.6399999.1830340False-7.2689933.757005
280372756017311980.0076981-10.4703743124.400431101.01.003.0010.0019.7799998.0473180False-10.4703744.866794
280373756190311270.981543314.2188819729.629299101.01.000.320.000.0000009.1830340...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNFalse4.2188813.452616
\n", - "

15744 rows × 192 columns

\n", + "

280374 rows × 18 columns

\n", "" ], "text/plain": [ - " person_id variable 5 \\\n", - "0 629 mode_choice_logsum -1.2112310566711697 \n", - "1 629 pick_count 1.0 \n", - "2 629 prob 3.964160543594042e-05 \n", - "3 629 shadow_price_size_term_adjustment 1.0 \n", - "4 629 shadow_price_utility_adjustment 0.0 \n", - "... ... ... ... \n", - "15739 7541072 util_mode_choice_logsum 0.40135279939989227 \n", - "15740 7541072 util_no_attractions False \n", - "15741 7541072 util_sample_of_corrections_factor 7.389915782617758 \n", - "15742 7541072 util_size_variable 3.7775981687727715 \n", - "15743 7541072 util_utility_adjustment 0 \n", + " person_id alt_dest prob pick_count mode_choice_logsum \\\n", + "0 1918 13 0.006688 1 -0.748611 \n", + "1 1918 69 0.034697 2 -1.228993 \n", + "2 1918 133 0.249356 5 -0.916451 \n", + "3 1918 185 0.073783 6 0.075435 \n", + "4 1918 188 0.563157 16 -0.494830 \n", + "... ... ... ... ... ... \n", + "280369 7560173 961 0.009587 2 -7.651546 \n", + "280370 7560173 1019 0.066276 3 -8.962833 \n", + "280371 7560173 1127 0.046707 2 -7.268993 \n", + "280372 7560173 1198 0.007698 1 -10.470374 \n", + "280373 7561903 1127 0.981543 31 4.218881 \n", "\n", - " 9 10 12 \\\n", - "0 -0.932235390015777 -0.9960110406421955 -1.2780595287661722 \n", - "1 1.0 1.0 1.0 \n", - "2 0.0016781637363059928 0.0006643895574387415 0.00279311489869619 \n", - "3 1.0 1.0 1.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "15739 0.6886076440937283 -0.19687426761567137 0.2984571875113106 \n", - "15740 False False False \n", - "15741 3.63171689160651 4.086567141458603 3.0685803316958498 \n", - "15742 7.102065086612786 6.0156825253211785 8.007621568875283 \n", - "15743 0 0 0 \n", + " size_term shadow_price_size_term_adjustment \\\n", + "0 2578.276039 1 \n", + "1 4541.220657 1 \n", + "2 13419.153743 1 \n", + "3 146.752243 1 \n", + "4 14849.890384 1 \n", + "... ... ... \n", + "280369 2344.192182 1 \n", + "280370 19615.000247 1 \n", + "280371 9729.629299 1 \n", + "280372 3124.400431 1 \n", + "280373 9729.629299 1 \n", "\n", - " 13 14 37 \\\n", - "0 -1.4547553701284834 -1.4573412829661365 -3.8602604963599583 \n", - "1 1.0 1.0 1.0 \n", - "2 0.0021809528368544094 0.000462535262887269 0.0001419935499379287 \n", - "3 1.0 1.0 1.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "15739 0.12893352536731956 0.11661882054650644 -0.6296937346519611 \n", - "15740 False False False \n", - "15741 3.329370934699213 4.894970267088966 6.157455562658895 \n", - "15742 7.855264033670534 6.409511700926014 5.523688361666357 \n", - "15743 0 0 0 \n", + " shadow_price_utility_adjustment util_dist_0_1 util_dist_1_2 \\\n", + "0 0 1.0 1.00 \n", + "1 0 1.0 1.00 \n", + "2 0 1.0 1.00 \n", + "3 0 1.0 0.09 \n", + "4 0 1.0 1.00 \n", + "... ... ... ... \n", + "280369 0 1.0 1.00 \n", + "280370 0 1.0 1.00 \n", + "280371 0 1.0 1.00 \n", + "280372 0 1.0 1.00 \n", + "280373 0 1.0 1.00 \n", "\n", - " 39 ... 178 179 180 181 182 184 186 187 \\\n", - "0 -3.8673170163655084 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "1 1.0 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2 0.00020956937572710045 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "3 1.0 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "4 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "... ... ... ... ... ... ... ... ... ... ... \n", - "15739 -1.8050089284615745 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "15740 False ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "15741 5.794602181057687 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "15742 5.897955675114184 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", - "15743 0 ... NaN NaN NaN NaN NaN NaN NaN NaN \n", + " util_dist_2_5 util_dist_5_15 util_dist_15_up util_size_variable \\\n", + "0 3.00 2.18 0.000000 7.855264 \n", + "1 3.00 0.02 0.000000 8.421171 \n", + "2 1.46 0.00 0.000000 9.504513 \n", + "3 0.00 0.00 0.000000 4.995537 \n", + "4 0.21 0.00 0.000000 9.605815 \n", + "... ... ... ... ... \n", + "280369 3.00 10.00 12.840000 7.760123 \n", + "280370 3.00 10.00 15.450001 9.884101 \n", + "280371 3.00 10.00 10.639999 9.183034 \n", + "280372 3.00 10.00 19.779999 8.047318 \n", + "280373 0.32 0.00 0.000000 9.183034 \n", "\n", - " 189 190 \n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "3 NaN NaN \n", - "4 NaN NaN \n", - "... ... ... \n", - "15739 NaN NaN \n", - "15740 NaN NaN \n", - "15741 NaN NaN \n", - "15742 NaN NaN \n", - "15743 NaN NaN \n", + " util_utility_adjustment util_no_attractions util_mode_choice_logsum \\\n", + "0 0 False -0.748611 \n", + "1 0 False -1.228993 \n", + "2 0 False -0.916451 \n", + "3 0 False 0.075435 \n", + "4 0 False -0.494830 \n", + "... ... ... ... \n", + "280369 0 False -7.651546 \n", + "280370 0 False -8.962833 \n", + "280371 0 False -7.268993 \n", + "280372 0 False -10.470374 \n", + "280373 0 False 4.218881 \n", "\n", - "[15744 rows x 192 columns]" + " util_sample_of_corrections_factor \n", + "0 5.007436 \n", + "1 4.054244 \n", + "2 2.998311 \n", + "3 4.398386 \n", + "4 3.346785 \n", + "... ... \n", + "280369 5.340517 \n", + "280370 3.812534 \n", + "280371 3.757005 \n", + "280372 4.866794 \n", + "280373 3.452616 \n", + "\n", + "[280374 rows x 18 columns]" ] }, "execution_count": 6, @@ -680,48 +717,48 @@ " \n", " \n", " 0\n", - " 629\n", - " 13\n", - " 12\n", - " 131\n", + " 1918\n", + " 188\n", + " 188\n", + " 186\n", " 3\n", - " 629\n", + " 1918\n", " \n", " \n", " 1\n", - " 1274\n", - " 10\n", - " 10\n", - " 166\n", + " 2256\n", + " 133\n", + " 229\n", + " 208\n", " 3\n", - " 1274\n", + " 2256\n", " \n", " \n", " 2\n", - " 27266\n", - " 10\n", - " 12\n", - " 9\n", + " 3215\n", + " 291\n", + " 229\n", + " 252\n", " 3\n", - " 27266\n", + " 3215\n", " \n", " \n", " 3\n", - " 28012\n", - " 5\n", - " 5\n", - " 10\n", + " 4362\n", + " 300\n", + " 342\n", + " 313\n", " 3\n", - " 28012\n", + " 4362\n", " \n", " \n", " 4\n", - " 29368\n", - " 185\n", - " 185\n", - " 16\n", + " 5859\n", + " 490\n", + " 490\n", + " 400\n", " 3\n", - " 29368\n", + " 5859\n", " \n", " \n", " ...\n", @@ -733,83 +770,83 @@ " ...\n", " \n", " \n", - " 979\n", - " 7514214\n", - " 185\n", - " 185\n", - " 56\n", - " 3\n", - " 2822879\n", + " 14984\n", + " 7550994\n", + " 1091\n", + " 1091\n", + " 1124\n", + " 2\n", + " 2859659\n", " \n", " \n", - " 980\n", - " 7514777\n", - " 185\n", - " 185\n", - " 106\n", - " 3\n", - " 2823442\n", + " 14985\n", + " 7552418\n", + " 1270\n", + " 1263\n", + " 1268\n", + " 2\n", + " 2861083\n", " \n", " \n", - " 981\n", - " 7515185\n", - " 188\n", - " 188\n", - " 142\n", - " 3\n", - " 2823850\n", + " 14986\n", + " 7553232\n", + " 1324\n", + " 1324\n", + " 1320\n", + " 2\n", + " 2861897\n", " \n", " \n", - " 982\n", - " 7527597\n", - " 69\n", - " 13\n", - " 188\n", + " 14987\n", + " 7560173\n", + " 557\n", + " 811\n", + " 743\n", " 3\n", - " 2836262\n", + " 2868838\n", " \n", " \n", - " 983\n", - " 7541072\n", - " 112\n", - " 107\n", - " 117\n", + " 14988\n", + " 7561903\n", + " 1127\n", + " 1127\n", + " 1121\n", " 3\n", - " 2849737\n", + " 2870568\n", " \n", " \n", "\n", - "

984 rows × 6 columns

\n", + "

14989 rows × 6 columns

\n", "" ], "text/plain": [ - " person_id model_choice override_choice home_zone_id school_segment \\\n", - "0 629 13 12 131 3 \n", - "1 1274 10 10 166 3 \n", - "2 27266 10 12 9 3 \n", - "3 28012 5 5 10 3 \n", - "4 29368 185 185 16 3 \n", - ".. ... ... ... ... ... \n", - "979 7514214 185 185 56 3 \n", - "980 7514777 185 185 106 3 \n", - "981 7515185 188 188 142 3 \n", - "982 7527597 69 13 188 3 \n", - "983 7541072 112 107 117 3 \n", + " person_id model_choice override_choice home_zone_id school_segment \\\n", + "0 1918 188 188 186 3 \n", + "1 2256 133 229 208 3 \n", + "2 3215 291 229 252 3 \n", + "3 4362 300 342 313 3 \n", + "4 5859 490 490 400 3 \n", + "... ... ... ... ... ... \n", + "14984 7550994 1091 1091 1124 2 \n", + "14985 7552418 1270 1263 1268 2 \n", + "14986 7553232 1324 1324 1320 2 \n", + "14987 7560173 557 811 743 3 \n", + "14988 7561903 1127 1127 1121 3 \n", "\n", - " household_id \n", - "0 629 \n", - "1 1274 \n", - "2 27266 \n", - "3 28012 \n", - "4 29368 \n", - ".. ... \n", - "979 2822879 \n", - "980 2823442 \n", - "981 2823850 \n", - "982 2836262 \n", - "983 2849737 \n", + " household_id \n", + "0 1918 \n", + "1 2256 \n", + "2 3215 \n", + "3 4362 \n", + "4 5859 \n", + "... ... \n", + "14984 2859659 \n", + "14985 2861083 \n", + "14986 2861897 \n", + "14987 2868838 \n", + "14988 2870568 \n", "\n", - "[984 rows x 6 columns]" + "[14989 rows x 6 columns]" ] }, "execution_count": 7, @@ -916,9 +953,9 @@ " 7\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 3\n", " 5.89564\n", " 2.875000\n", @@ -940,9 +977,9 @@ " 19\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.84871\n", " 5.195214\n", @@ -964,9 +1001,9 @@ " 38\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.53231\n", " 80.470405\n", @@ -988,9 +1025,9 @@ " 20\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 2\n", " 5.64330\n", " 7.947368\n", @@ -1012,9 +1049,9 @@ " 86\n", " ...\n", " 0\n", - " 0.00000\n", + " 0.0\n", " 72.14684\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.52555\n", " 38.187500\n", @@ -1047,188 +1084,188 @@ " ...\n", " \n", " \n", - " 186\n", - " 4\n", - " 4\n", - " 1\n", - " 2779\n", - " 8062\n", - " 376.0\n", - " 172.0\n", - " 15.00000\n", - " 1760\n", - " 1178\n", + " 1450\n", + " 34\n", + " 34\n", + " 9\n", + " 2724\n", + " 6493\n", + " 1320.0\n", + " 630.0\n", + " 69.00000\n", + " 1046\n", + " 1013\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.04173\n", - " 14.860963\n", - " 9.411765\n", - " 5.762347\n", + " 1.12116\n", + " 3.896996\n", + " 1.496423\n", + " 1.081235\n", " False\n", " \n", " \n", - " 187\n", - " 4\n", - " 4\n", - " 1\n", - " 1492\n", - " 4139\n", - " 214.0\n", - " 116.0\n", - " 10.00000\n", - " 808\n", - " 603\n", + " 1451\n", + " 34\n", + " 34\n", + " 9\n", + " 2016\n", + " 4835\n", + " 664.0\n", + " 379.0\n", + " 43.00000\n", + " 757\n", + " 757\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", - " 2\n", - " 1.73676\n", - " 11.841270\n", - " 6.412698\n", - " 4.159890\n", + " 0.0\n", + " 1\n", + " 1.17116\n", + " 4.777251\n", + " 1.793839\n", + " 1.304140\n", " False\n", " \n", " \n", - " 188\n", - " 4\n", - " 4\n", - " 1\n", - " 753\n", - " 4072\n", - " 232.0\n", - " 11.0\n", - " 178.00000\n", - " 4502\n", - " 1117\n", + " 1452\n", + " 34\n", + " 34\n", + " 9\n", + " 2178\n", + " 5055\n", + " 1068.0\n", + " 602.0\n", + " 35.00000\n", + " 2110\n", + " 789\n", " ...\n", - " 2\n", - " 3961.04761\n", - " 17397.79102\n", - " 11152.93652\n", + " 4\n", + " 0.0\n", + " 0.00000\n", + " 0.0\n", " 1\n", - " 2.28992\n", - " 3.984127\n", - " 23.820106\n", - " 3.413233\n", + " 1.17587\n", + " 3.419152\n", + " 3.312402\n", + " 1.682465\n", " False\n", " \n", " \n", - " 189\n", - " 4\n", - " 4\n", - " 1\n", - " 3546\n", - " 8476\n", - " 201.0\n", - " 72.0\n", - " 6.00000\n", - " 226\n", - " 1057\n", + " 1453\n", + " 34\n", + " 34\n", + " 9\n", + " 298\n", + " 779\n", + " 14195.0\n", + " 429.0\n", + " 4.00000\n", + " 922\n", + " 88\n", " ...\n", - " 2\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.88773\n", - " 45.461538\n", - " 2.897436\n", - " 2.723836\n", + " 1.01972\n", + " 0.688222\n", + " 2.129330\n", + " 0.520115\n", " False\n", " \n", " \n", - " 190\n", - " 4\n", - " 4\n", - " 1\n", - " 968\n", - " 1647\n", - " 1381.0\n", - " 14.0\n", - " 28.00000\n", - " 1010\n", - " 114\n", + " 1454\n", + " 34\n", + " 34\n", + " 9\n", + " 1068\n", + " 2337\n", + " 10469.0\n", + " 1114.0\n", + " 27.00000\n", + " 607\n", + " 418\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.60309\n", - " 23.047619\n", - " 24.047619\n", - " 11.768501\n", + " 0.95542\n", + " 0.936021\n", + " 0.531989\n", + " 0.339203\n", " False\n", " \n", " \n", "\n", - "

190 rows × 28 columns

\n", + "

1454 rows × 28 columns

\n", "" ], "text/plain": [ - " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", - "zone_id \n", - "1 1 1 1 46 82 20.3 1.0 15.00000 \n", - "2 1 1 1 134 240 31.1 1.0 24.79297 \n", - "3 1 1 1 267 476 14.7 1.0 2.31799 \n", - "4 1 1 1 151 253 19.3 1.0 18.00000 \n", - "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", - "... ... .. ... ... ... ... ... ... \n", - "186 4 4 1 2779 8062 376.0 172.0 15.00000 \n", - "187 4 4 1 1492 4139 214.0 116.0 10.00000 \n", - "188 4 4 1 753 4072 232.0 11.0 178.00000 \n", - "189 4 4 1 3546 8476 201.0 72.0 6.00000 \n", - "190 4 4 1 968 1647 1381.0 14.0 28.00000 \n", + " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", + "zone_id \n", + "1 1 1 1 46 82 20.3 1.0 15.00000 \n", + "2 1 1 1 134 240 31.1 1.0 24.79297 \n", + "3 1 1 1 267 476 14.7 1.0 2.31799 \n", + "4 1 1 1 151 253 19.3 1.0 18.00000 \n", + "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", + "... ... .. ... ... ... ... ... ... \n", + "1450 34 34 9 2724 6493 1320.0 630.0 69.00000 \n", + "1451 34 34 9 2016 4835 664.0 379.0 43.00000 \n", + "1452 34 34 9 2178 5055 1068.0 602.0 35.00000 \n", + "1453 34 34 9 298 779 14195.0 429.0 4.00000 \n", + "1454 34 34 9 1068 2337 10469.0 1114.0 27.00000 \n", "\n", - " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE \\\n", - "zone_id ... \n", - "1 27318 7 ... 0 0.00000 0.00000 \n", - "2 42078 19 ... 0 0.00000 0.00000 \n", - "3 2445 38 ... 0 0.00000 0.00000 \n", - "4 22434 20 ... 0 0.00000 0.00000 \n", - "5 15662 86 ... 0 0.00000 72.14684 \n", - "... ... ... ... ... ... ... \n", - "186 1760 1178 ... 3 0.00000 0.00000 \n", - "187 808 603 ... 3 0.00000 0.00000 \n", - "188 4502 1117 ... 2 3961.04761 17397.79102 \n", - "189 226 1057 ... 2 0.00000 0.00000 \n", - "190 1010 114 ... 3 0.00000 0.00000 \n", + " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE COLLPTE \\\n", + "zone_id ... \n", + "1 27318 7 ... 0 0.0 0.00000 0.0 \n", + "2 42078 19 ... 0 0.0 0.00000 0.0 \n", + "3 2445 38 ... 0 0.0 0.00000 0.0 \n", + "4 22434 20 ... 0 0.0 0.00000 0.0 \n", + "5 15662 86 ... 0 0.0 72.14684 0.0 \n", + "... ... ... ... ... ... ... ... \n", + "1450 1046 1013 ... 4 0.0 0.00000 0.0 \n", + "1451 757 757 ... 4 0.0 0.00000 0.0 \n", + "1452 2110 789 ... 4 0.0 0.00000 0.0 \n", + "1453 922 88 ... 5 0.0 0.00000 0.0 \n", + "1454 607 418 ... 5 0.0 0.00000 0.0 \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "zone_id \n", - "1 0.00000 3 5.89564 2.875000 \n", - "2 0.00000 1 5.84871 5.195214 \n", - "3 0.00000 1 5.53231 80.470405 \n", - "4 0.00000 2 5.64330 7.947368 \n", - "5 0.00000 1 5.52555 38.187500 \n", - "... ... ... ... ... \n", - "186 0.00000 1 2.04173 14.860963 \n", - "187 0.00000 2 1.73676 11.841270 \n", - "188 11152.93652 1 2.28992 3.984127 \n", - "189 0.00000 1 2.88773 45.461538 \n", - "190 0.00000 1 2.60309 23.047619 \n", + " TOPOLOGY TERMINAL household_density employment_density \\\n", + "zone_id \n", + "1 3 5.89564 2.875000 1707.375000 \n", + "2 1 5.84871 5.195214 1631.374751 \n", + "3 1 5.53231 80.470405 736.891913 \n", + "4 2 5.64330 7.947368 1180.736842 \n", + "5 1 5.52555 38.187500 978.875000 \n", + "... ... ... ... ... \n", + "1450 1 1.12116 3.896996 1.496423 \n", + "1451 1 1.17116 4.777251 1.793839 \n", + "1452 1 1.17587 3.419152 3.312402 \n", + "1453 1 1.01972 0.688222 2.129330 \n", + "1454 1 0.95542 0.936021 0.531989 \n", "\n", - " employment_density density_index is_cbd \n", - "zone_id \n", - "1 1707.375000 2.870167 False \n", - "2 1631.374751 5.178722 False \n", - "3 736.891913 72.547987 False \n", - "4 1180.736842 7.894233 False \n", - "5 978.875000 36.753679 False \n", - "... ... ... ... \n", - "186 9.411765 5.762347 False \n", - "187 6.412698 4.159890 False \n", - "188 23.820106 3.413233 False \n", - "189 2.897436 2.723836 False \n", - "190 24.047619 11.768501 False \n", + " density_index is_cbd \n", + "zone_id \n", + "1 2.870167 False \n", + "2 5.178722 False \n", + "3 72.547987 False \n", + "4 7.894233 False \n", + "5 36.753679 False \n", + "... ... ... \n", + "1450 1.081235 False \n", + "1451 1.304140 False \n", + "1452 1.682465 False \n", + "1453 0.520115 False \n", + "1454 0.339203 False \n", "\n", - "[190 rows x 28 columns]" + "[1454 rows x 28 columns]" ] }, "execution_count": 8, @@ -1498,31 +1535,129 @@ "data.size_spec" ] }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
keyvalue
ca
['AGE0519*(school_segment==1)',\n",
+       " 'COLLFTE*(school_segment==3)',\n",
+       " 'COLLPTE*(school_segment==3)',\n",
+       " 'HSENROLL*(school_segment==2)',\n",
+       " 'util_dist_0_1*(school_segment==1)',\n",
+       " 'util_dist_0_1*(school_segment==2)',\n",
+       " 'util_dist_0_1*(school_segment==3)',\n",
+       " 'util_dist_15_up*(school_segment==1)',\n",
+       " 'util_dist_15_up*(school_segment==2)',\n",
+       " 'util_dist_15_up*(school_segment==3)',\n",
+       " 'util_dist_1_2*(school_segment==1)',\n",
+       " 'util_dist_1_2*(school_segment==2)',\n",
+       " 'util_dist_1_2*(school_segment==3)',\n",
+       " 'util_dist_2_5*(school_segment==1)',\n",
+       " 'util_dist_2_5*(school_segment==2)',\n",
+       " 'util_dist_2_5*(school_segment==3)',\n",
+       " 'util_dist_5_15*(school_segment==1)',\n",
+       " 'util_dist_5_15*(school_segment==2)',\n",
+       " 'util_dist_5_15*(school_segment==3)',\n",
+       " 'util_mode_choice_logsum*(school_segment==1)',\n",
+       " 'util_mode_choice_logsum*(school_segment==2)',\n",
+       " 'util_mode_choice_logsum*(school_segment==3)',\n",
+       " 'util_no_attractions*(school_segment==1)',\n",
+       " 'util_no_attractions*(school_segment==2)',\n",
+       " 'util_no_attractions*(school_segment==3)',\n",
+       " 'util_sample_of_corrections_factor*(school_segment==1)',\n",
+       " 'util_sample_of_corrections_factor*(school_segment==2)',\n",
+       " 'util_sample_of_corrections_factor*(school_segment==3)']
choice_ca'override_choice == _original_zone_id'
avail_ca'_avail_'
" + ], + "text/plain": [ + "┣ ca: ['AGE0519*(school_segment==1)',\n", + "┃ 'COLLFTE*(school_segment==3)',\n", + "┃ 'COLLPTE*(school_segment==3)',\n", + "┃ 'HSENROLL*(school_segment==2)',\n", + "┃ 'util_dist_0_1*(school_segment==1)',\n", + "┃ 'util_dist_0_1*(school_segment==2)',\n", + "┃ 'util_dist_0_1*(school_segment==3)',\n", + "┃ 'util_dist_15_up*(school_segment==1)',\n", + "┃ 'util_dist_15_up*(school_segment==2)',\n", + "┃ 'util_dist_15_up*(school_segment==3)',\n", + "┃ 'util_dist_1_2*(school_segment==1)',\n", + "┃ 'util_dist_1_2*(school_segment==2)',\n", + "┃ 'util_dist_1_2*(school_segment==3)',\n", + "┃ 'util_dist_2_5*(school_segment==1)',\n", + "┃ 'util_dist_2_5*(school_segment==2)',\n", + "┃ 'util_dist_2_5*(school_segment==3)',\n", + "┃ 'util_dist_5_15*(school_segment==1)',\n", + "┃ 'util_dist_5_15*(school_segment==2)',\n", + "┃ 'util_dist_5_15*(school_segment==3)',\n", + "┃ 'util_mode_choice_logsum*(school_segment==1)',\n", + "┃ 'util_mode_choice_logsum*(school_segment==2)',\n", + "┃ 'util_mode_choice_logsum*(school_segment==3)',\n", + "┃ 'util_no_attractions*(school_segment==1)',\n", + "┃ 'util_no_attractions*(school_segment==2)',\n", + "┃ 'util_no_attractions*(school_segment==3)',\n", + "┃ 'util_sample_of_corrections_factor*(school_segment==1)',\n", + "┃ 'util_sample_of_corrections_factor*(school_segment==2)',\n", + "┃ 'util_sample_of_corrections_factor*(school_segment==3)']\n", + "┣ choice_ca: 'override_choice == _original_zone_id'\n", + "┣ avail_ca: '_avail_'" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.required_data()" + ] + }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Estimate\n", - "\n", - "With the model setup for estimation, the next step is to estimate the model coefficients. Make sure to use a sufficiently large enough household sample and set of zones to avoid an over-specified model, which does not have a numerically stable likelihood maximizing solution. Larch has a built-in estimation methods including BHHH, and also offers access to more advanced general purpose non-linear optimizers in the `scipy` package, including SLSQP, which allows for bounds and constraints on parameters. BHHH is the default and typically runs faster, but does not follow constraints on parameters." + "Running the `doctor` method will check the model specification for potential issues." ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "dictx()\n" ] - }, + } + ], + "source": [ + "model, problems = model.doctor()\n", + "\n", + "print(problems)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Estimate\n", + "\n", + "With the model setup for estimation, the next step is to estimate the model coefficients. Make sure to use a sufficiently large enough household sample and set of zones to avoid an over-specified model, which does not have a numerically stable likelihood maximizing solution. Larch has a built-in estimation methods including BHHH, and also offers access to more advanced general purpose non-linear optimizers in the `scipy` package, including SLSQP, which allows for bounds and constraints on parameters. BHHH is the default and typically runs faster, but does not follow constraints on parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "

Iteration 006 [Optimization terminated successfully.]

" + "

Iteration 013 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1534,7 +1669,7 @@ { "data": { "text/html": [ - "

Best LL = -4058.719620832402

" + "

Best LL = -30424.700914962996

" ], "text/plain": [ "" @@ -1565,13 +1700,22 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -1579,301 +1723,261 @@ " -999\n", " -999.000000\n", " -999.000000\n", - " -999.0\n", - " -999.0\n", - " -999.0\n", - " 1\n", - " \n", " -999.000000\n", + " -999.000000\n", + " -999.000000\n", + " 0.0\n", + " 1\n", " \n", " \n", " 1\n", " 1.000000\n", " 1.000000\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " \n", " 1.000000\n", + " 1.000000\n", + " 1.000000\n", + " 0.0\n", + " 1\n", " \n", " \n", " coef_grade_dist_0_1\n", - " -1.824840\n", + " -1.886212\n", + " -1.886212\n", " -1.641900\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.824840\n", " \n", " \n", " coef_grade_dist_15_up\n", + " -0.103616\n", + " -0.103616\n", " -0.046000\n", - " -0.046000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.046000\n", " \n", " \n", " coef_grade_dist_5_15\n", - " -0.144663\n", + " -0.285452\n", + " -0.285452\n", " -0.203100\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.144663\n", " \n", " \n", " coef_high_dist_0_1\n", - " -2.106211\n", + " -0.869799\n", + " -0.869799\n", " -0.952300\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.106211\n", " \n", " \n", " coef_high_dist_15_up\n", + " -0.233127\n", + " -0.233127\n", " -0.188200\n", - " -0.188200\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.188200\n", " \n", " \n", " coef_high_dist_5_15\n", - " -0.101747\n", + " -0.285690\n", + " -0.285690\n", " -0.193000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.101747\n", " \n", " \n", " coef_high_grade_dist_1_2\n", - " -0.751852\n", + " -0.931692\n", + " -0.931692\n", " -0.570000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.751852\n", " \n", " \n", " coef_high_grade_dist_2_5\n", - " -0.667119\n", + " -0.694687\n", + " -0.694687\n", " -0.570000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.667119\n", " \n", " \n", " coef_mode_logsum\n", - " 0.372245\n", + " 0.074994\n", + " 0.074994\n", " 0.535800\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.372245\n", " \n", " \n", " coef_univ_dist_0_1\n", - " -3.311744\n", + " -2.780799\n", + " -2.780799\n", " -3.245100\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3.311744\n", " \n", " \n", " coef_univ_dist_15_up\n", + " -0.145257\n", + " -0.145257\n", " -0.073000\n", - " -0.073000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.073000\n", " \n", " \n", " coef_univ_dist_1_2\n", - " -2.878224\n", + " -3.082102\n", + " -3.082102\n", " -2.701100\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.878224\n", " \n", " \n", " coef_univ_dist_2_5\n", - " -0.456009\n", + " -0.668470\n", + " -0.668470\n", " -0.570700\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.456009\n", " \n", " \n", " coef_univ_dist_5_15\n", - " -0.572553\n", + " -0.563338\n", + " -0.563338\n", " -0.500200\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.572553\n", " \n", " \n", " gradeschool_AGE0519\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " highschool_HSENROLL\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " university_COLLFTE\n", " -0.524249\n", " -0.524249\n", + " -0.524249\n", + " -0.524249\n", + " -0.524249\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -0.524249\n", " \n", " \n", " university_COLLPTE\n", - " -1.208828\n", + " -0.900765\n", + " -0.900765\n", " -0.896488\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.208828\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue nullvalue minimum maximum \\\n", - "-999 -999.000000 -999.000000 -999.0 -999.0 -999.0 \n", - "1 1.000000 1.000000 1.0 1.0 1.0 \n", - "coef_grade_dist_0_1 -1.824840 -1.641900 0.0 NaN NaN \n", - "coef_grade_dist_15_up -0.046000 -0.046000 0.0 NaN NaN \n", - "coef_grade_dist_5_15 -0.144663 -0.203100 0.0 NaN NaN \n", - "coef_high_dist_0_1 -2.106211 -0.952300 0.0 NaN NaN \n", - "coef_high_dist_15_up -0.188200 -0.188200 0.0 NaN NaN \n", - "coef_high_dist_5_15 -0.101747 -0.193000 0.0 NaN NaN \n", - "coef_high_grade_dist_1_2 -0.751852 -0.570000 0.0 NaN NaN \n", - "coef_high_grade_dist_2_5 -0.667119 -0.570000 0.0 NaN NaN \n", - "coef_mode_logsum 0.372245 0.535800 0.0 NaN NaN \n", - "coef_univ_dist_0_1 -3.311744 -3.245100 0.0 NaN NaN \n", - "coef_univ_dist_15_up -0.073000 -0.073000 0.0 NaN NaN \n", - "coef_univ_dist_1_2 -2.878224 -2.701100 0.0 NaN NaN \n", - "coef_univ_dist_2_5 -0.456009 -0.570700 0.0 NaN NaN \n", - "coef_univ_dist_5_15 -0.572553 -0.500200 0.0 NaN NaN \n", - "gradeschool_AGE0519 0.000000 0.000000 0.0 -6.0 6.0 \n", - "highschool_HSENROLL 0.000000 0.000000 0.0 -6.0 6.0 \n", - "university_COLLFTE -0.524249 -0.524249 0.0 -6.0 6.0 \n", - "university_COLLPTE -1.208828 -0.896488 0.0 -6.0 6.0 \n", + " value best initvalue minimum \\\n", + "param_name \n", + "-999 -999.000000 -999.000000 -999.000000 -999.000000 \n", + "1 1.000000 1.000000 1.000000 1.000000 \n", + "coef_grade_dist_0_1 -1.886212 -1.886212 -1.641900 -25.000000 \n", + "coef_grade_dist_15_up -0.103616 -0.103616 -0.046000 -25.000000 \n", + "coef_grade_dist_5_15 -0.285452 -0.285452 -0.203100 -25.000000 \n", + "coef_high_dist_0_1 -0.869799 -0.869799 -0.952300 -25.000000 \n", + "coef_high_dist_15_up -0.233127 -0.233127 -0.188200 -25.000000 \n", + "coef_high_dist_5_15 -0.285690 -0.285690 -0.193000 -25.000000 \n", + "coef_high_grade_dist_1_2 -0.931692 -0.931692 -0.570000 -25.000000 \n", + "coef_high_grade_dist_2_5 -0.694687 -0.694687 -0.570000 -25.000000 \n", + "coef_mode_logsum 0.074994 0.074994 0.535800 -25.000000 \n", + "coef_univ_dist_0_1 -2.780799 -2.780799 -3.245100 -25.000000 \n", + "coef_univ_dist_15_up -0.145257 -0.145257 -0.073000 -25.000000 \n", + "coef_univ_dist_1_2 -3.082102 -3.082102 -2.701100 -25.000000 \n", + "coef_univ_dist_2_5 -0.668470 -0.668470 -0.570700 -25.000000 \n", + "coef_univ_dist_5_15 -0.563338 -0.563338 -0.500200 -25.000000 \n", + "gradeschool_AGE0519 0.000000 0.000000 0.000000 0.000000 \n", + "highschool_HSENROLL 0.000000 0.000000 0.000000 0.000000 \n", + "university_COLLFTE -0.524249 -0.524249 -0.524249 -0.524249 \n", + "university_COLLPTE -0.900765 -0.900765 -0.896488 -6.000000 \n", "\n", - " holdfast note best \n", - "-999 1 -999.000000 \n", - "1 1 1.000000 \n", - "coef_grade_dist_0_1 0 -1.824840 \n", - "coef_grade_dist_15_up 0 -0.046000 \n", - "coef_grade_dist_5_15 0 -0.144663 \n", - "coef_high_dist_0_1 0 -2.106211 \n", - "coef_high_dist_15_up 0 -0.188200 \n", - "coef_high_dist_5_15 0 -0.101747 \n", - "coef_high_grade_dist_1_2 0 -0.751852 \n", - "coef_high_grade_dist_2_5 0 -0.667119 \n", - "coef_mode_logsum 0 0.372245 \n", - "coef_univ_dist_0_1 0 -3.311744 \n", - "coef_univ_dist_15_up 0 -0.073000 \n", - "coef_univ_dist_1_2 0 -2.878224 \n", - "coef_univ_dist_2_5 0 -0.456009 \n", - "coef_univ_dist_5_15 0 -0.572553 \n", - "gradeschool_AGE0519 1 0.000000 \n", - "highschool_HSENROLL 1 0.000000 \n", - "university_COLLFTE 1 -0.524249 \n", - "university_COLLPTE 0 -1.208828 " + " maximum nullvalue holdfast \n", + "param_name \n", + "-999 -999.000000 0.0 1 \n", + "1 1.000000 0.0 1 \n", + "coef_grade_dist_0_1 25.000000 0.0 0 \n", + "coef_grade_dist_15_up 25.000000 0.0 0 \n", + "coef_grade_dist_5_15 25.000000 0.0 0 \n", + "coef_high_dist_0_1 25.000000 0.0 0 \n", + "coef_high_dist_15_up 25.000000 0.0 0 \n", + "coef_high_dist_5_15 25.000000 0.0 0 \n", + "coef_high_grade_dist_1_2 25.000000 0.0 0 \n", + "coef_high_grade_dist_2_5 25.000000 0.0 0 \n", + "coef_mode_logsum 25.000000 0.0 0 \n", + "coef_univ_dist_0_1 25.000000 0.0 0 \n", + "coef_univ_dist_15_up 25.000000 0.0 0 \n", + "coef_univ_dist_1_2 25.000000 0.0 0 \n", + "coef_univ_dist_2_5 25.000000 0.0 0 \n", + "coef_univ_dist_5_15 25.000000 0.0 0 \n", + "gradeschool_AGE0519 0.000000 0.0 1 \n", + "highschool_HSENROLL 0.000000 0.0 1 \n", + "university_COLLFTE -0.524249 0.0 1 \n", + "university_COLLPTE 6.000000 0.0 0 " ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.702173976472811e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.452131216396507e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6859854144555066e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0694117400754151e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.262790059748344e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6292481359929981e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.818811050478879e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2608013734918816e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, { "data": { "text/html": [ - "
keyvalue
loglike-4058.719620832402
x\n", + "
keyvalue
loglike-30424.700914962996
x\n", " \n", " \n", " \n", @@ -1891,59 +1995,59 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1959,45 +2063,44 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_grade_dist_0_1-1.824840-1.886212
coef_grade_dist_15_up-0.046000-0.103616
coef_grade_dist_5_15-0.144663-0.285452
coef_high_dist_0_1-2.106211-0.869799
coef_high_dist_15_up-0.188200-0.233127
coef_high_dist_5_15-0.101747-0.285690
coef_high_grade_dist_1_2-0.751852-0.931692
coef_high_grade_dist_2_5-0.667119-0.694687
coef_mode_logsum0.3722450.074994
coef_univ_dist_0_1-3.311744-2.780799
coef_univ_dist_15_up-0.073000-0.145257
coef_univ_dist_1_2-2.878224-3.082102
coef_univ_dist_2_5-0.456009-0.668470
coef_univ_dist_5_15-0.572553-0.563338
gradeschool_AGE0519
university_COLLPTE-1.208828-0.900765
tolerance7.272237631812952e-06
stepsarray([1., 1., 1., 1., 1., 1.])
message'Optimization terminated successfully.'
elapsed_time0:00:00.218468
method'BHHH'
n_cases984
iteration_number6
logloss4.124715061821547
" + "
tolerance4.213233078884777e-06stepsarray([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])message'Optimization terminated successfully'elapsed_time0:00:00.994749method'BHHH'n_cases14989iteration_number13
" ], "text/plain": [ - "┣ loglike: -4058.719620832402\n", + "┣ loglike: -30424.700914962996\n", "┣ x: -999 -999.000000\n", "┃ 1 1.000000\n", - "┃ coef_grade_dist_0_1 -1.824840\n", - "┃ coef_grade_dist_15_up -0.046000\n", - "┃ coef_grade_dist_5_15 -0.144663\n", - "┃ coef_high_dist_0_1 -2.106211\n", - "┃ coef_high_dist_15_up -0.188200\n", - "┃ coef_high_dist_5_15 -0.101747\n", - "┃ coef_high_grade_dist_1_2 -0.751852\n", - "┃ coef_high_grade_dist_2_5 -0.667119\n", - "┃ coef_mode_logsum 0.372245\n", - "┃ coef_univ_dist_0_1 -3.311744\n", - "┃ coef_univ_dist_15_up -0.073000\n", - "┃ coef_univ_dist_1_2 -2.878224\n", - "┃ coef_univ_dist_2_5 -0.456009\n", - "┃ coef_univ_dist_5_15 -0.572553\n", + "┃ coef_grade_dist_0_1 -1.886212\n", + "┃ coef_grade_dist_15_up -0.103616\n", + "┃ coef_grade_dist_5_15 -0.285452\n", + "┃ coef_high_dist_0_1 -0.869799\n", + "┃ coef_high_dist_15_up -0.233127\n", + "┃ coef_high_dist_5_15 -0.285690\n", + "┃ coef_high_grade_dist_1_2 -0.931692\n", + "┃ coef_high_grade_dist_2_5 -0.694687\n", + "┃ coef_mode_logsum 0.074994\n", + "┃ coef_univ_dist_0_1 -2.780799\n", + "┃ coef_univ_dist_15_up -0.145257\n", + "┃ coef_univ_dist_1_2 -3.082102\n", + "┃ coef_univ_dist_2_5 -0.668470\n", + "┃ coef_univ_dist_5_15 -0.563338\n", "┃ gradeschool_AGE0519 0.000000\n", "┃ highschool_HSENROLL 0.000000\n", "┃ university_COLLFTE -0.524249\n", - "┃ university_COLLPTE -1.208828\n", + "┃ university_COLLPTE -0.900765\n", "┃ dtype: float64\n", - "┣ tolerance: 7.272237631812952e-06\n", - "┣ steps: array([1., 1., 1., 1., 1., 1.])\n", - "┣ message: 'Optimization terminated successfully.'\n", - "┣ elapsed_time: datetime.timedelta(microseconds=218468)\n", + "┣ tolerance: 4.213233078884777e-06\n", + "┣ steps: array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ elapsed_time: datetime.timedelta(microseconds=994749)\n", "┣ method: 'BHHH'\n", - "┣ n_cases: 984\n", - "┣ iteration_number: 6\n", - "┣ logloss: 4.124715061821547" + "┣ n_cases: 14989\n", + "┣ iteration_number: 13" ] }, - "execution_count": 11, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -2015,209 +2118,235 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value Constrained
-999-999. NA NA-999.00fixed value
1 1.00 NA NA 1.00fixed value
coef_grade_dist_0_1-1.82 0.435-4.19*** 0.00
coef_grade_dist_15_up-0.0460 4.66e-15-BIG*** 0.00
coef_grade_dist_5_15-0.145 0.0638-2.27* 0.00
coef_high_dist_0_1-2.11 0.801-2.63** 0.00
coef_high_dist_15_up-0.188 3.34e-15-BIG*** 0.00
coef_high_dist_5_15-0.102 0.143-0.71 0.00
coef_high_grade_dist_1_2-0.752 0.186-4.05*** 0.00
coef_high_grade_dist_2_5-0.667 0.0510-13.09*** 0.00
coef_mode_logsum 0.372 0.0461 8.08*** 0.00
coef_univ_dist_0_1-3.31 0.740-4.47*** 0.00
coef_univ_dist_15_up-0.0730 3.48e-16-BIG*** 0.00
coef_univ_dist_1_2-2.88 0.299-9.64*** 0.00
coef_univ_dist_2_5-0.456 0.0773-5.90*** 0.00
coef_univ_dist_5_15-0.573 0.0938-6.11*** 0.00
gradeschool_AGE0519 0.00 NA NA 0.00fixed value
highschool_HSENROLL 0.00 NA NA 0.00fixed value
university_COLLFTE-0.524 NA NA 0.00fixed value
university_COLLPTE-1.21 0.314-3.85*** 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
-999-999. 0.00 NA 0.00fixed value
1 1.00 0.00 NA 0.00fixed value
coef_grade_dist_0_1-1.89 0.0843-22.37*** 0.00
coef_grade_dist_15_up-0.104 0.00536-19.34*** 0.00
coef_grade_dist_5_15-0.285 0.00724-39.45*** 0.00
coef_high_dist_0_1-0.870 0.302-2.88** 0.00
coef_high_dist_15_up-0.233 0.0225-10.36*** 0.00
coef_high_dist_5_15-0.286 0.0124-23.10*** 0.00
coef_high_grade_dist_1_2-0.932 0.0424-22.00*** 0.00
coef_high_grade_dist_2_5-0.695 0.0138-50.31*** 0.00
coef_mode_logsum 0.0750 0.0118 6.35*** 0.00
coef_univ_dist_0_1-2.78 0.391-7.11*** 0.00
coef_univ_dist_15_up-0.145 0.0105-13.85*** 0.00
coef_univ_dist_1_2-3.08 0.168-18.34*** 0.00
coef_univ_dist_2_5-0.668 0.0383-17.46*** 0.00
coef_univ_dist_5_15-0.563 0.0167-33.63*** 0.00
gradeschool_AGE0519 0.00 0.00 NA 0.00fixed value
highschool_HSENROLL 0.00 0.00 NA 0.00fixed value
university_COLLFTE-0.524 0.00 NA 0.00fixed value
university_COLLPTE-0.901 0.0959-9.39*** 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 12, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -2226,6 +2355,29 @@ "model.parameter_summary()" ] }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
StatisticAggregatePer Case
Number of Cases14989
Log Likelihood at Convergence-30424.70-2.03
Log Likelihood at Null Parameters-71673.19-4.78
Rho Squared w.r.t. Null Parameters0.576
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.estimation_statistics()" + ] + }, { "cell_type": "markdown", "metadata": { @@ -2238,7 +2390,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -2255,7 +2407,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -2274,7 +2426,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -2391,8 +2543,8 @@ " 0.000000\n", " 0.000\n", " 0.000000\n", - " 0.664760\n", - " 0.335240\n", + " 0.593032\n", + " 0.406968\n", " \n", " \n", " 5\n", @@ -2700,7 +2852,7 @@ "1 0.139139 0.008008 0.210210 0.000 0.000000 0.000000 0.000000 \n", "2 0.154000 0.006000 0.239000 0.000 0.000000 0.000000 0.000000 \n", "3 0.146000 0.004000 0.246000 0.000 0.000000 0.000000 0.000000 \n", - "4 0.000000 0.000000 0.000000 0.000 0.000000 0.664760 0.335240 \n", + "4 0.000000 0.000000 0.000000 0.000 0.000000 0.593032 0.406968 \n", "5 0.000000 0.000000 0.000000 1.000 0.000000 0.000000 0.000000 \n", "6 0.000000 0.000000 0.000000 0.000 1.000000 0.000000 0.000000 \n", "7 0.000000 0.000000 0.000000 0.465 0.166000 0.000000 0.000000 \n", @@ -2720,7 +2872,7 @@ "21 0.000000 0.000000 0.000000 0.000 0.000000 0.591409 0.407592 " ] }, - "execution_count": 15, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -2741,7 +2893,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -2765,7 +2917,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -2798,85 +2950,85 @@ " \n", " 0\n", " coef_univ_dist_0_1\n", - " -3.311744\n", + " -2.780799\n", " F\n", " \n", " \n", " 1\n", " coef_univ_dist_1_2\n", - " -2.878224\n", + " -3.082102\n", " F\n", " \n", " \n", " 2\n", " coef_univ_dist_2_5\n", - " -0.456009\n", + " -0.668470\n", " F\n", " \n", " \n", " 3\n", " coef_univ_dist_5_15\n", - " -0.572553\n", + " -0.563338\n", " F\n", " \n", " \n", " 4\n", " coef_univ_dist_15_up\n", - " -0.073000\n", + " -0.145257\n", " F\n", " \n", " \n", " 5\n", " coef_high_dist_0_1\n", - " -2.106211\n", + " -0.869799\n", " F\n", " \n", " \n", " 6\n", " coef_high_grade_dist_1_2\n", - " -0.751852\n", + " -0.931692\n", " F\n", " \n", " \n", " 7\n", " coef_high_grade_dist_2_5\n", - " -0.667119\n", + " -0.694687\n", " F\n", " \n", " \n", " 8\n", " coef_high_dist_5_15\n", - " -0.101747\n", + " -0.285690\n", " F\n", " \n", " \n", " 9\n", " coef_high_dist_15_up\n", - " -0.188200\n", + " -0.233127\n", " F\n", " \n", " \n", " 10\n", " coef_grade_dist_0_1\n", - " -1.824840\n", + " -1.886212\n", " F\n", " \n", " \n", " 11\n", " coef_grade_dist_5_15\n", - " -0.144663\n", + " -0.285452\n", " F\n", " \n", " \n", " 12\n", " coef_grade_dist_15_up\n", - " -0.046000\n", + " -0.103616\n", " F\n", " \n", " \n", " 13\n", " coef_mode_logsum\n", - " 0.372245\n", + " 0.074994\n", " F\n", " \n", " \n", @@ -2885,23 +3037,23 @@ ], "text/plain": [ " coefficient_name value constrain\n", - "0 coef_univ_dist_0_1 -3.311744 F\n", - "1 coef_univ_dist_1_2 -2.878224 F\n", - "2 coef_univ_dist_2_5 -0.456009 F\n", - "3 coef_univ_dist_5_15 -0.572553 F\n", - "4 coef_univ_dist_15_up -0.073000 F\n", - "5 coef_high_dist_0_1 -2.106211 F\n", - "6 coef_high_grade_dist_1_2 -0.751852 F\n", - "7 coef_high_grade_dist_2_5 -0.667119 F\n", - "8 coef_high_dist_5_15 -0.101747 F\n", - "9 coef_high_dist_15_up -0.188200 F\n", - "10 coef_grade_dist_0_1 -1.824840 F\n", - "11 coef_grade_dist_5_15 -0.144663 F\n", - "12 coef_grade_dist_15_up -0.046000 F\n", - "13 coef_mode_logsum 0.372245 F" + "0 coef_univ_dist_0_1 -2.780799 F\n", + "1 coef_univ_dist_1_2 -3.082102 F\n", + "2 coef_univ_dist_2_5 -0.668470 F\n", + "3 coef_univ_dist_5_15 -0.563338 F\n", + "4 coef_univ_dist_15_up -0.145257 F\n", + "5 coef_high_dist_0_1 -0.869799 F\n", + "6 coef_high_grade_dist_1_2 -0.931692 F\n", + "7 coef_high_grade_dist_2_5 -0.694687 F\n", + "8 coef_high_dist_5_15 -0.285690 F\n", + "9 coef_high_dist_15_up -0.233127 F\n", + "10 coef_grade_dist_0_1 -1.886212 F\n", + "11 coef_grade_dist_5_15 -0.285452 F\n", + "12 coef_grade_dist_15_up -0.103616 F\n", + "13 coef_mode_logsum 0.074994 F" ] }, - "execution_count": 17, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -2912,7 +3064,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -3035,8 +3187,8 @@ " 0.000000\n", " 0.000\n", " 0.000000\n", - " 0.664760\n", - " 0.335240\n", + " 0.593032\n", + " 0.406968\n", " \n", " \n", " 5\n", @@ -3361,7 +3513,7 @@ "1 0.325325 0.139139 0.008008 0.210210 0.000 0.000000 0.000000 \n", "2 0.284000 0.154000 0.006000 0.239000 0.000 0.000000 0.000000 \n", "3 0.241000 0.146000 0.004000 0.246000 0.000 0.000000 0.000000 \n", - "4 0.000000 0.000000 0.000000 0.000000 0.000 0.000000 0.664760 \n", + "4 0.000000 0.000000 0.000000 0.000000 0.000 0.000000 0.593032 \n", "5 0.000000 0.000000 0.000000 0.000000 1.000 0.000000 0.000000 \n", "6 0.000000 0.000000 0.000000 0.000000 0.000 1.000000 0.000000 \n", "7 0.144000 0.000000 0.000000 0.000000 0.465 0.166000 0.000000 \n", @@ -3385,7 +3537,7 @@ "1 0.000000 \n", "2 0.000000 \n", "3 0.000000 \n", - "4 0.335240 \n", + "4 0.406968 \n", "5 0.000000 \n", "6 0.000000 \n", "7 0.000000 \n", @@ -3405,7 +3557,7 @@ "21 0.407592 " ] }, - "execution_count": 18, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -3422,7 +3574,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3436,7 +3588,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/03_work_location.ipynb b/activitysim/examples/example_estimation/notebooks/03_work_location.ipynb index 2a9479023c..4fc0fbc480 100644 --- a/activitysim/examples/example_estimation/notebooks/03_work_location.ipynb +++ b/activitysim/examples/example_estimation/notebooks/03_work_location.ipynb @@ -25,38 +25,88 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, - "outputs": [], + "metadata": { + "jupyter": { + "is_executing": true + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.33',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import larch # !conda install larch #for estimation\n", + "import larch as lx # !conda install larch #for estimation\n", "import pandas as pd\n", - "import numpy as np\n", - "import yaml \n", - "import larch.util.excel\n", - "import os" + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare, backup\n", + "\n", + "prepare()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data and prep model for estimation" + "In this demo notebook, we will (later) edit the model spec file. But for demo purposes, we want to\n", + "make sure we are starting from the \"original\" spec file, so we'll check that now. For actual \n", + "applications, this step would not be necessary." ] }, { @@ -65,7 +115,14 @@ "metadata": {}, "outputs": [], "source": [ - "modelname=\"workplace_location\"" + "backup(\"output-est-mode/estimation_data_bundle/workplace_location/workplace_location_SPEC.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load data and prep model for estimation" ] }, { @@ -73,9 +130,36 @@ "execution_count": 4, "metadata": {}, "outputs": [], + "source": [ + "modelname = \"workplace_location\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_size_terms.csv\n" + ] + } + ], "source": [ "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -96,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -187,7 +271,7 @@ "coef_mode_logsum 0.3000 F" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -205,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -230,148 +314,142 @@ " \n", " \n", " person_id\n", - " variable\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", - " 8\n", - " ...\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", - " 190\n", + " alt_dest\n", + " prob\n", + " pick_count\n", + " mode_choice_logsum\n", + " size_term\n", + " shadow_price_size_term_adjustment\n", + " shadow_price_utility_adjustment\n", + " util_dist_0_1\n", + " util_dist_1_2\n", + " util_dist_2_5\n", + " util_dist_5_15\n", + " util_dist_15_up\n", + " util_dist_0_5_high\n", + " util_dist_15_up_high\n", + " util_size_variable\n", + " util_utility_adjustment\n", + " util_no_attractions\n", + " util_mode_logsum\n", + " util_sample_of_corrections_factor\n", " \n", " \n", " \n", " \n", " 0\n", - " 72241\n", - " mode_choice_logsum\n", - " -0.6000073826104492\n", - " -0.4656491845430101\n", - " -0.41794791684660004\n", - " -0.4545880924383482\n", - " -0.3870339464573669\n", - " -0.713189384898449\n", - " -0.6002723120707204\n", - " -0.7303789868909905\n", - " ...\n", - " -1.2551998198820722\n", - " -1.444611856370077\n", - " -1.309689434695158\n", - " -1.2118895631639268\n", - " -1.116133290115392\n", - " -1.1401586021041086\n", - " -1.268242046936546\n", - " -1.1992258811031282\n", - " -1.332212687016352\n", - " -1.4322381548918224\n", + " 72355\n", + " 2\n", + " 0.033018\n", + " 4\n", + " -1.930058\n", + " 8679.220\n", + " 1\n", + " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 1.01\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", + " 9.068802\n", + " 0\n", + " False\n", + " -1.930058\n", + " 4.796986\n", " \n", " \n", " 1\n", - " 72241\n", - " pick_count\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 72355\n", + " 5\n", + " 0.015149\n", + " 1\n", + " -1.727929\n", + " 3811.166\n", + " 1\n", + " 0\n", " 1.0\n", " 1.0\n", + " 3.0\n", + " 0.67\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", + " 8.245953\n", + " 0\n", + " False\n", + " -1.727929\n", + " 4.189851\n", " \n", " \n", " 2\n", - " 72241\n", - " prob\n", - " 0.044801462203924856\n", - " 0.06764474840448732\n", - " 0.004636496646133522\n", - " 0.038560793011622845\n", - " 0.029432761447063308\n", - " 0.007082161657578104\n", - " 0.021002192072313054\n", - " 0.007080174169833742\n", - " ...\n", - " 9.835213648420107e-05\n", - " 9.37955508970241e-05\n", - " 0.0003916917023644097\n", - " 0.0004549197781990045\n", - " 0.0006986771541699331\n", - " 0.0005700269910735453\n", - " 0.00022288388655805036\n", - " 0.0015168772236387644\n", - " 6.456615866696312e-05\n", - " 0.00038493516540732525\n", + " 72355\n", + " 6\n", + " 0.004282\n", + " 1\n", + " -1.599405\n", + " 1050.528\n", + " 1\n", + " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 0.48\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", + " 6.958000\n", + " 0\n", + " False\n", + " -1.599405\n", + " 5.453389\n", " \n", " \n", " 3\n", - " 72241\n", - " shadow_price_size_term_adjustment\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 72355\n", + " 12\n", + " 0.013401\n", + " 1\n", + " -1.859328\n", + " 3508.389\n", + " 1\n", + " 0\n", " 1.0\n", " 1.0\n", + " 3.0\n", + " 0.98\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", + " 8.163197\n", + " 0\n", + " False\n", + " -1.859328\n", + " 4.312441\n", " \n", " \n", " 4\n", - " 72241\n", - " shadow_price_utility_adjustment\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 72355\n", + " 14\n", + " 0.020545\n", + " 2\n", + " -2.014588\n", + " 5612.293\n", + " 1\n", + " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 1.31\n", + " 0.000000\n", " 0.0\n", " 0.0\n", + " 8.632893\n", + " 0\n", + " False\n", + " -2.014588\n", + " 4.578298\n", " \n", " \n", " ...\n", @@ -395,229 +473,223 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", - " 46471\n", - " 7515185\n", - " util_mode_logsum\n", - " 5.209319664605113\n", - " 5.263859224685696\n", - " 5.250578793547065\n", - " 5.240693588870104\n", - " 5.266707024418452\n", - " 5.385882663451519\n", - " 5.429836866161502\n", - " 5.413580929225948\n", - " ...\n", - " 3.5638723444203606\n", - " 3.8737395301473363\n", - " 3.939960434175001\n", - " 3.896122982249229\n", - " 4.037021365960745\n", - " 4.008376112238483\n", - " 4.022965354450543\n", - " 4.2561835681622435\n", - " 4.137475938698699\n", - " 3.803872808728852\n", - " \n", - " \n", - " 46472\n", - " 7515185\n", - " util_no_attractions\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " ...\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", + " 766219\n", + " 7539317\n", + " 1392\n", + " 0.012884\n", + " 1\n", + " -1.286404\n", + " 153.501\n", + " 1\n", + " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 3.60\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", + " 5.040201\n", + " 0\n", " False\n", + " -1.286404\n", + " 4.351731\n", " \n", " \n", - " 46473\n", - " 7515185\n", - " util_sample_of_corrections_factor\n", - " 3.773690429573432\n", - " 3.2901835133378077\n", - " 5.885037102917519\n", - " 3.829120168967722\n", - " 3.995759873960041\n", - " 5.287496147764242\n", - " 4.186480380588901\n", - " 5.144701771913909\n", - " ...\n", - " 8.673308209076758\n", - " 8.543415039654008\n", - " 7.12433751865688\n", - " 7.0286614320788905\n", - " 6.59573872948536\n", - " 6.749128801712912\n", - " 7.618771571501497\n", - " 5.665033450001899\n", - " 8.806332093282728\n", - " 7.046647564016155\n", - " \n", - " \n", - " 46474\n", - " 7515185\n", - " util_size_variable\n", - " 8.607993215742676\n", - " 9.068802152955321\n", - " 6.44746749765505\n", - " 8.457988473558888\n", - " 8.245952810520611\n", - " 6.957999623413992\n", - " 7.998487266140552\n", - " 6.960822948235117\n", - " ...\n", - " 4.315499470829833\n", - " 4.3335976552693785\n", - " 5.721835205763653\n", - " 5.789241258107118\n", - " 6.1502039682537495\n", - " 6.018658905769173\n", - " 5.06677615336607\n", - " 6.994814238173049\n", - " 3.9486056264898335\n", - " 5.759690106594497\n", - " \n", - " \n", - " 46475\n", - " 7515185\n", - " util_utility_adjustment\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " 0\n", - " 0\n", + " 766220\n", + " 7539317\n", + " 1397\n", + " 0.004689\n", + " 1\n", + " -3.658543\n", + " 303.136\n", + " 1\n", " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 10.00\n", + " 9.440001\n", + " 0.0\n", + " 0.0\n", + " 5.717475\n", " 0\n", + " False\n", + " -3.658543\n", + " 5.362505\n", + " \n", + " \n", + " 766221\n", + " 7539317\n", + " 1401\n", + " 0.005169\n", + " 1\n", + " -4.566126\n", + " 559.322\n", + " 1\n", " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 10.00\n", + " 15.040001\n", + " 0.0\n", + " 0.0\n", + " 6.328512\n", " 0\n", + " False\n", + " -4.566126\n", + " 5.264988\n", + " \n", + " \n", + " 766222\n", + " 7539317\n", + " 1405\n", + " 0.001902\n", + " 1\n", + " -6.448663\n", + " 763.324\n", + " 1\n", " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 10.00\n", + " 29.330002\n", + " 0.0\n", + " 0.0\n", + " 6.638992\n", " 0\n", + " False\n", + " -6.448663\n", + " 6.264901\n", + " \n", + " \n", + " 766223\n", + " 7539317\n", + " 1415\n", + " 0.006110\n", + " 1\n", + " -3.668065\n", + " 402.607\n", + " 1\n", " 0\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 10.00\n", + " 9.639999\n", + " 0.0\n", + " 0.0\n", + " 6.000442\n", " 0\n", + " False\n", + " -3.668065\n", + " 5.097878\n", " \n", " \n", "\n", - "

46476 rows × 192 columns

\n", + "

766224 rows × 20 columns

\n", "" ], "text/plain": [ - " person_id variable 1 \\\n", - "0 72241 mode_choice_logsum -0.6000073826104492 \n", - "1 72241 pick_count 1.0 \n", - "2 72241 prob 0.044801462203924856 \n", - "3 72241 shadow_price_size_term_adjustment 1.0 \n", - "4 72241 shadow_price_utility_adjustment 0.0 \n", - "... ... ... ... \n", - "46471 7515185 util_mode_logsum 5.209319664605113 \n", - "46472 7515185 util_no_attractions False \n", - "46473 7515185 util_sample_of_corrections_factor 3.773690429573432 \n", - "46474 7515185 util_size_variable 8.607993215742676 \n", - "46475 7515185 util_utility_adjustment 0 \n", + " person_id alt_dest prob pick_count mode_choice_logsum \\\n", + "0 72355 2 0.033018 4 -1.930058 \n", + "1 72355 5 0.015149 1 -1.727929 \n", + "2 72355 6 0.004282 1 -1.599405 \n", + "3 72355 12 0.013401 1 -1.859328 \n", + "4 72355 14 0.020545 2 -2.014588 \n", + "... ... ... ... ... ... \n", + "766219 7539317 1392 0.012884 1 -1.286404 \n", + "766220 7539317 1397 0.004689 1 -3.658543 \n", + "766221 7539317 1401 0.005169 1 -4.566126 \n", + "766222 7539317 1405 0.001902 1 -6.448663 \n", + "766223 7539317 1415 0.006110 1 -3.668065 \n", "\n", - " 2 3 4 \\\n", - "0 -0.4656491845430101 -0.41794791684660004 -0.4545880924383482 \n", - "1 1.0 1.0 1.0 \n", - "2 0.06764474840448732 0.004636496646133522 0.038560793011622845 \n", - "3 1.0 1.0 1.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "46471 5.263859224685696 5.250578793547065 5.240693588870104 \n", - "46472 False False False \n", - "46473 3.2901835133378077 5.885037102917519 3.829120168967722 \n", - "46474 9.068802152955321 6.44746749765505 8.457988473558888 \n", - "46475 0 0 0 \n", + " size_term shadow_price_size_term_adjustment \\\n", + "0 8679.220 1 \n", + "1 3811.166 1 \n", + "2 1050.528 1 \n", + "3 3508.389 1 \n", + "4 5612.293 1 \n", + "... ... ... \n", + "766219 153.501 1 \n", + "766220 303.136 1 \n", + "766221 559.322 1 \n", + "766222 763.324 1 \n", + "766223 402.607 1 \n", "\n", - " 5 6 7 \\\n", - "0 -0.3870339464573669 -0.713189384898449 -0.6002723120707204 \n", - "1 1.0 1.0 1.0 \n", - "2 0.029432761447063308 0.007082161657578104 0.021002192072313054 \n", - "3 1.0 1.0 1.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "46471 5.266707024418452 5.385882663451519 5.429836866161502 \n", - "46472 False False False \n", - "46473 3.995759873960041 5.287496147764242 4.186480380588901 \n", - "46474 8.245952810520611 6.957999623413992 7.998487266140552 \n", - "46475 0 0 0 \n", + " shadow_price_utility_adjustment util_dist_0_1 util_dist_1_2 \\\n", + "0 0 1.0 1.0 \n", + "1 0 1.0 1.0 \n", + "2 0 1.0 1.0 \n", + "3 0 1.0 1.0 \n", + "4 0 1.0 1.0 \n", + "... ... ... ... \n", + "766219 0 1.0 1.0 \n", + "766220 0 1.0 1.0 \n", + "766221 0 1.0 1.0 \n", + "766222 0 1.0 1.0 \n", + "766223 0 1.0 1.0 \n", "\n", - " 8 ... 181 182 \\\n", - "0 -0.7303789868909905 ... -1.2551998198820722 -1.444611856370077 \n", - "1 1.0 ... 1.0 1.0 \n", - "2 0.007080174169833742 ... 9.835213648420107e-05 9.37955508970241e-05 \n", - "3 1.0 ... 1.0 1.0 \n", - "4 0.0 ... 0.0 0.0 \n", - "... ... ... ... ... \n", - "46471 5.413580929225948 ... 3.5638723444203606 3.8737395301473363 \n", - "46472 False ... False False \n", - "46473 5.144701771913909 ... 8.673308209076758 8.543415039654008 \n", - "46474 6.960822948235117 ... 4.315499470829833 4.3335976552693785 \n", - "46475 0 ... 0 0 \n", + " util_dist_2_5 util_dist_5_15 util_dist_15_up util_dist_0_5_high \\\n", + "0 3.0 1.01 0.000000 0.0 \n", + "1 3.0 0.67 0.000000 0.0 \n", + "2 3.0 0.48 0.000000 0.0 \n", + "3 3.0 0.98 0.000000 0.0 \n", + "4 3.0 1.31 0.000000 0.0 \n", + "... ... ... ... ... \n", + "766219 3.0 3.60 0.000000 0.0 \n", + "766220 3.0 10.00 9.440001 0.0 \n", + "766221 3.0 10.00 15.040001 0.0 \n", + "766222 3.0 10.00 29.330002 0.0 \n", + "766223 3.0 10.00 9.639999 0.0 \n", "\n", - " 183 184 185 \\\n", - "0 -1.309689434695158 -1.2118895631639268 -1.116133290115392 \n", - "1 1.0 1.0 1.0 \n", - "2 0.0003916917023644097 0.0004549197781990045 0.0006986771541699331 \n", - "3 1.0 1.0 1.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "46471 3.939960434175001 3.896122982249229 4.037021365960745 \n", - "46472 False False False \n", - "46473 7.12433751865688 7.0286614320788905 6.59573872948536 \n", - "46474 5.721835205763653 5.789241258107118 6.1502039682537495 \n", - "46475 0 0 0 \n", + " util_dist_15_up_high util_size_variable util_utility_adjustment \\\n", + "0 0.0 9.068802 0 \n", + "1 0.0 8.245953 0 \n", + "2 0.0 6.958000 0 \n", + "3 0.0 8.163197 0 \n", + "4 0.0 8.632893 0 \n", + "... ... ... ... \n", + "766219 0.0 5.040201 0 \n", + "766220 0.0 5.717475 0 \n", + "766221 0.0 6.328512 0 \n", + "766222 0.0 6.638992 0 \n", + "766223 0.0 6.000442 0 \n", "\n", - " 186 187 188 \\\n", - "0 -1.1401586021041086 -1.268242046936546 -1.1992258811031282 \n", - "1 1.0 1.0 1.0 \n", - "2 0.0005700269910735453 0.00022288388655805036 0.0015168772236387644 \n", - "3 1.0 1.0 1.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "46471 4.008376112238483 4.022965354450543 4.2561835681622435 \n", - "46472 False False False \n", - "46473 6.749128801712912 7.618771571501497 5.665033450001899 \n", - "46474 6.018658905769173 5.06677615336607 6.994814238173049 \n", - "46475 0 0 0 \n", + " util_no_attractions util_mode_logsum \\\n", + "0 False -1.930058 \n", + "1 False -1.727929 \n", + "2 False -1.599405 \n", + "3 False -1.859328 \n", + "4 False -2.014588 \n", + "... ... ... \n", + "766219 False -1.286404 \n", + "766220 False -3.658543 \n", + "766221 False -4.566126 \n", + "766222 False -6.448663 \n", + "766223 False -3.668065 \n", "\n", - " 189 190 \n", - "0 -1.332212687016352 -1.4322381548918224 \n", - "1 1.0 1.0 \n", - "2 6.456615866696312e-05 0.00038493516540732525 \n", - "3 1.0 1.0 \n", - "4 0.0 0.0 \n", - "... ... ... \n", - "46471 4.137475938698699 3.803872808728852 \n", - "46472 False False \n", - "46473 8.806332093282728 7.046647564016155 \n", - "46474 3.9486056264898335 5.759690106594497 \n", - "46475 0 0 \n", + " util_sample_of_corrections_factor \n", + "0 4.796986 \n", + "1 4.189851 \n", + "2 5.453389 \n", + "3 4.312441 \n", + "4 4.578298 \n", + "... ... \n", + "766219 4.351731 \n", + "766220 5.362505 \n", + "766221 5.264988 \n", + "766222 6.264901 \n", + "766223 5.097878 \n", "\n", - "[46476 rows x 192 columns]" + "[766224 rows x 20 columns]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -635,7 +707,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -669,43 +741,43 @@ " \n", " \n", " 0\n", - " 72241\n", - " 13\n", - " 9\n", - " 1\n", + " 72355\n", + " 14\n", " 17\n", + " 1\n", + " 55\n", " \n", " \n", " 1\n", - " 72441\n", - " 100\n", - " 100\n", + " 72384\n", + " 1\n", + " 16\n", " 1\n", - " 60\n", + " 59\n", " \n", " \n", " 2\n", - " 72528\n", - " 139\n", - " 126\n", + " 72407\n", + " 70\n", + " 70\n", " 1\n", - " 69\n", + " 59\n", " \n", " \n", " 3\n", - " 73144\n", - " 77\n", - " 77\n", + " 72459\n", + " 193\n", + " 30\n", " 1\n", - " 125\n", + " 61\n", " \n", " \n", " 4\n", - " 73493\n", - " 117\n", - " 117\n", + " 72529\n", + " 16\n", + " 57\n", " 1\n", - " 133\n", + " 69\n", " \n", " \n", " ...\n", @@ -716,68 +788,68 @@ " ...\n", " \n", " \n", - " 2577\n", - " 7514214\n", - " 80\n", - " 71\n", + " 28276\n", + " 7539071\n", + " 1006\n", + " 1019\n", " 1\n", - " 56\n", + " 1006\n", " \n", " \n", - " 2578\n", - " 7514284\n", - " 187\n", - " 186\n", + " 28277\n", + " 7539203\n", + " 1059\n", + " 1152\n", " 1\n", - " 72\n", + " 1159\n", " \n", " \n", - " 2579\n", - " 7514404\n", - " 105\n", - " 106\n", + " 28278\n", + " 7539217\n", + " 940\n", + " 991\n", " 1\n", - " 81\n", + " 1159\n", " \n", " \n", - " 2580\n", - " 7514777\n", - " 87\n", - " 87\n", + " 28279\n", + " 7539270\n", + " 1162\n", + " 1145\n", " 1\n", - " 106\n", + " 1161\n", " \n", " \n", - " 2581\n", - " 7515185\n", - " 16\n", - " 16\n", + " 28280\n", + " 7539317\n", + " 1390\n", + " 1381\n", " 1\n", - " 142\n", + " 1390\n", " \n", " \n", "\n", - "

2582 rows × 5 columns

\n", + "

28281 rows × 5 columns

\n", "" ], "text/plain": [ - " person_id model_choice override_choice income_segment home_zone_id\n", - "0 72241 13 9 1 17\n", - "1 72441 100 100 1 60\n", - "2 72528 139 126 1 69\n", - "3 73144 77 77 1 125\n", - "4 73493 117 117 1 133\n", - "... ... ... ... ... ...\n", - "2577 7514214 80 71 1 56\n", - "2578 7514284 187 186 1 72\n", - "2579 7514404 105 106 1 81\n", - "2580 7514777 87 87 1 106\n", - "2581 7515185 16 16 1 142\n", + " person_id model_choice override_choice income_segment home_zone_id\n", + "0 72355 14 17 1 55\n", + "1 72384 1 16 1 59\n", + "2 72407 70 70 1 59\n", + "3 72459 193 30 1 61\n", + "4 72529 16 57 1 69\n", + "... ... ... ... ... ...\n", + "28276 7539071 1006 1019 1 1006\n", + "28277 7539203 1059 1152 1 1159\n", + "28278 7539217 940 991 1 1159\n", + "28279 7539270 1162 1145 1 1161\n", + "28280 7539317 1390 1381 1 1390\n", "\n", - "[2582 rows x 5 columns]" + "[28281 rows x 5 columns]" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -795,7 +867,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -881,9 +953,9 @@ " 7\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 3\n", " 5.89564\n", " 2.875000\n", @@ -905,9 +977,9 @@ " 19\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.84871\n", " 5.195214\n", @@ -929,9 +1001,9 @@ " 38\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.53231\n", " 80.470405\n", @@ -953,9 +1025,9 @@ " 20\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 2\n", " 5.64330\n", " 7.947368\n", @@ -977,9 +1049,9 @@ " 86\n", " ...\n", " 0\n", - " 0.00000\n", + " 0.0\n", " 72.14684\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.52555\n", " 38.187500\n", @@ -1012,191 +1084,191 @@ " ...\n", " \n", " \n", - " 186\n", - " 4\n", - " 4\n", - " 1\n", - " 2779\n", - " 8062\n", - " 376.0\n", - " 172.0\n", - " 15.00000\n", - " 1760\n", - " 1178\n", + " 1450\n", + " 34\n", + " 34\n", + " 9\n", + " 2724\n", + " 6493\n", + " 1320.0\n", + " 630.0\n", + " 69.00000\n", + " 1046\n", + " 1013\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.04173\n", - " 14.860963\n", - " 9.411765\n", - " 5.762347\n", + " 1.12116\n", + " 3.896996\n", + " 1.496423\n", + " 1.081235\n", " False\n", " \n", " \n", - " 187\n", - " 4\n", - " 4\n", - " 1\n", - " 1492\n", - " 4139\n", - " 214.0\n", - " 116.0\n", - " 10.00000\n", - " 808\n", - " 603\n", + " 1451\n", + " 34\n", + " 34\n", + " 9\n", + " 2016\n", + " 4835\n", + " 664.0\n", + " 379.0\n", + " 43.00000\n", + " 757\n", + " 757\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", - " 2\n", - " 1.73676\n", - " 11.841270\n", - " 6.412698\n", - " 4.159890\n", + " 0.0\n", + " 1\n", + " 1.17116\n", + " 4.777251\n", + " 1.793839\n", + " 1.304140\n", " False\n", " \n", " \n", - " 188\n", - " 4\n", - " 4\n", - " 1\n", - " 753\n", - " 4072\n", - " 232.0\n", - " 11.0\n", - " 178.00000\n", - " 4502\n", - " 1117\n", + " 1452\n", + " 34\n", + " 34\n", + " 9\n", + " 2178\n", + " 5055\n", + " 1068.0\n", + " 602.0\n", + " 35.00000\n", + " 2110\n", + " 789\n", " ...\n", - " 2\n", - " 3961.04761\n", - " 17397.79102\n", - " 11152.93652\n", + " 4\n", + " 0.0\n", + " 0.00000\n", + " 0.0\n", " 1\n", - " 2.28992\n", - " 3.984127\n", - " 23.820106\n", - " 3.413233\n", + " 1.17587\n", + " 3.419152\n", + " 3.312402\n", + " 1.682465\n", " False\n", " \n", " \n", - " 189\n", - " 4\n", - " 4\n", - " 1\n", - " 3546\n", - " 8476\n", - " 201.0\n", - " 72.0\n", - " 6.00000\n", - " 226\n", - " 1057\n", + " 1453\n", + " 34\n", + " 34\n", + " 9\n", + " 298\n", + " 779\n", + " 14195.0\n", + " 429.0\n", + " 4.00000\n", + " 922\n", + " 88\n", " ...\n", - " 2\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.88773\n", - " 45.461538\n", - " 2.897436\n", - " 2.723836\n", + " 1.01972\n", + " 0.688222\n", + " 2.129330\n", + " 0.520115\n", " False\n", " \n", " \n", - " 190\n", - " 4\n", - " 4\n", - " 1\n", - " 968\n", - " 1647\n", - " 1381.0\n", - " 14.0\n", - " 28.00000\n", - " 1010\n", - " 114\n", + " 1454\n", + " 34\n", + " 34\n", + " 9\n", + " 1068\n", + " 2337\n", + " 10469.0\n", + " 1114.0\n", + " 27.00000\n", + " 607\n", + " 418\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.60309\n", - " 23.047619\n", - " 24.047619\n", - " 11.768501\n", + " 0.95542\n", + " 0.936021\n", + " 0.531989\n", + " 0.339203\n", " False\n", " \n", " \n", "\n", - "

190 rows × 28 columns

\n", + "

1454 rows × 28 columns

\n", "" ], "text/plain": [ - " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", - "zone_id \n", - "1 1 1 1 46 82 20.3 1.0 15.00000 \n", - "2 1 1 1 134 240 31.1 1.0 24.79297 \n", - "3 1 1 1 267 476 14.7 1.0 2.31799 \n", - "4 1 1 1 151 253 19.3 1.0 18.00000 \n", - "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", - "... ... .. ... ... ... ... ... ... \n", - "186 4 4 1 2779 8062 376.0 172.0 15.00000 \n", - "187 4 4 1 1492 4139 214.0 116.0 10.00000 \n", - "188 4 4 1 753 4072 232.0 11.0 178.00000 \n", - "189 4 4 1 3546 8476 201.0 72.0 6.00000 \n", - "190 4 4 1 968 1647 1381.0 14.0 28.00000 \n", + " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", + "zone_id \n", + "1 1 1 1 46 82 20.3 1.0 15.00000 \n", + "2 1 1 1 134 240 31.1 1.0 24.79297 \n", + "3 1 1 1 267 476 14.7 1.0 2.31799 \n", + "4 1 1 1 151 253 19.3 1.0 18.00000 \n", + "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", + "... ... .. ... ... ... ... ... ... \n", + "1450 34 34 9 2724 6493 1320.0 630.0 69.00000 \n", + "1451 34 34 9 2016 4835 664.0 379.0 43.00000 \n", + "1452 34 34 9 2178 5055 1068.0 602.0 35.00000 \n", + "1453 34 34 9 298 779 14195.0 429.0 4.00000 \n", + "1454 34 34 9 1068 2337 10469.0 1114.0 27.00000 \n", "\n", - " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE \\\n", - "zone_id ... \n", - "1 27318 7 ... 0 0.00000 0.00000 \n", - "2 42078 19 ... 0 0.00000 0.00000 \n", - "3 2445 38 ... 0 0.00000 0.00000 \n", - "4 22434 20 ... 0 0.00000 0.00000 \n", - "5 15662 86 ... 0 0.00000 72.14684 \n", - "... ... ... ... ... ... ... \n", - "186 1760 1178 ... 3 0.00000 0.00000 \n", - "187 808 603 ... 3 0.00000 0.00000 \n", - "188 4502 1117 ... 2 3961.04761 17397.79102 \n", - "189 226 1057 ... 2 0.00000 0.00000 \n", - "190 1010 114 ... 3 0.00000 0.00000 \n", + " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE COLLPTE \\\n", + "zone_id ... \n", + "1 27318 7 ... 0 0.0 0.00000 0.0 \n", + "2 42078 19 ... 0 0.0 0.00000 0.0 \n", + "3 2445 38 ... 0 0.0 0.00000 0.0 \n", + "4 22434 20 ... 0 0.0 0.00000 0.0 \n", + "5 15662 86 ... 0 0.0 72.14684 0.0 \n", + "... ... ... ... ... ... ... ... \n", + "1450 1046 1013 ... 4 0.0 0.00000 0.0 \n", + "1451 757 757 ... 4 0.0 0.00000 0.0 \n", + "1452 2110 789 ... 4 0.0 0.00000 0.0 \n", + "1453 922 88 ... 5 0.0 0.00000 0.0 \n", + "1454 607 418 ... 5 0.0 0.00000 0.0 \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "zone_id \n", - "1 0.00000 3 5.89564 2.875000 \n", - "2 0.00000 1 5.84871 5.195214 \n", - "3 0.00000 1 5.53231 80.470405 \n", - "4 0.00000 2 5.64330 7.947368 \n", - "5 0.00000 1 5.52555 38.187500 \n", - "... ... ... ... ... \n", - "186 0.00000 1 2.04173 14.860963 \n", - "187 0.00000 2 1.73676 11.841270 \n", - "188 11152.93652 1 2.28992 3.984127 \n", - "189 0.00000 1 2.88773 45.461538 \n", - "190 0.00000 1 2.60309 23.047619 \n", + " TOPOLOGY TERMINAL household_density employment_density \\\n", + "zone_id \n", + "1 3 5.89564 2.875000 1707.375000 \n", + "2 1 5.84871 5.195214 1631.374751 \n", + "3 1 5.53231 80.470405 736.891913 \n", + "4 2 5.64330 7.947368 1180.736842 \n", + "5 1 5.52555 38.187500 978.875000 \n", + "... ... ... ... ... \n", + "1450 1 1.12116 3.896996 1.496423 \n", + "1451 1 1.17116 4.777251 1.793839 \n", + "1452 1 1.17587 3.419152 3.312402 \n", + "1453 1 1.01972 0.688222 2.129330 \n", + "1454 1 0.95542 0.936021 0.531989 \n", "\n", - " employment_density density_index is_cbd \n", - "zone_id \n", - "1 1707.375000 2.870167 False \n", - "2 1631.374751 5.178722 False \n", - "3 736.891913 72.547987 False \n", - "4 1180.736842 7.894233 False \n", - "5 978.875000 36.753679 False \n", - "... ... ... ... \n", - "186 9.411765 5.762347 False \n", - "187 6.412698 4.159890 False \n", - "188 23.820106 3.413233 False \n", - "189 2.897436 2.723836 False \n", - "190 24.047619 11.768501 False \n", + " density_index is_cbd \n", + "zone_id \n", + "1 2.870167 False \n", + "2 5.178722 False \n", + "3 72.547987 False \n", + "4 7.894233 False \n", + "5 36.753679 False \n", + "... ... ... \n", + "1450 1.081235 False \n", + "1451 1.304140 False \n", + "1452 1.682465 False \n", + "1453 0.520115 False \n", + "1454 0.339203 False \n", "\n", - "[190 rows x 28 columns]" + "[1454 rows x 28 columns]" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1214,7 +1286,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -1357,7 +1429,7 @@ "9 @np.minimum(np.log(df.pick_count/df.prob), 60) 1 " ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -1375,7 +1447,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -1466,7 +1538,7 @@ "work_veryhigh 0.093 0.270 0.241 0.146 0.004 0.246" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -1486,20 +1558,13 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 475 [Optimization terminated successfully.]

" + "

Iteration 009 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1511,7 +1576,7 @@ { "data": { "text/html": [ - "

Best LL = -13521.35475538419

" + "

Best LL = -88683.85038605405

" ], "text/plain": [ "" @@ -1542,466 +1607,443 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " -999\n", + " -9.990000e+02\n", + " -9.990000e+02\n", " -999.000000\n", " -999.000000\n", - " -999.0\n", - " -999.0\n", - " -999.0\n", - " 1\n", - " \n", " -999.000000\n", + " 0.0\n", + " 1\n", " \n", " \n", " 1\n", + " 1.000000e+00\n", + " 1.000000e+00\n", " 1.000000\n", " 1.000000\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " \n", " 1.000000\n", + " 0.0\n", + " 1\n", " \n", " \n", " coef_dist_0_1\n", - " -1.084778\n", + " -1.035381e+00\n", + " -1.035381e+00\n", " -0.842800\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.084778\n", " \n", " \n", " coef_dist_0_5_high\n", - " 0.120981\n", + " 1.469662e-01\n", + " 1.469662e-01\n", " 0.150000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.120981\n", " \n", " \n", " coef_dist_15_up\n", + " -1.170512e-01\n", + " -1.170512e-01\n", " -0.091700\n", - " -0.091700\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.091700\n", " \n", " \n", " coef_dist_1_2\n", - " -0.252580\n", + " -4.652491e-01\n", + " -4.652491e-01\n", " -0.310400\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.252580\n", " \n", " \n", " coef_dist_2_5\n", - " -0.369689\n", + " -4.177477e-01\n", + " -4.177477e-01\n", " -0.378300\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.369689\n", " \n", " \n", " coef_dist_5_15\n", - " -0.152259\n", + " -1.558734e-01\n", + " -1.558734e-01\n", " -0.128500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.152259\n", " \n", " \n", " coef_dist_5_up_high\n", - " -0.015225\n", + " 2.506728e-02\n", + " 2.506728e-02\n", " 0.020000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.015225\n", " \n", " \n", " coef_mode_logsum\n", - " 0.155426\n", + " 7.423654e-02\n", + " 7.423654e-02\n", " 0.300000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.155426\n", " \n", " \n", " work_high_AGREMPN\n", - " -14.042031\n", + " -1.856268e+00\n", + " -1.856268e+00\n", " -5.115996\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -14.042031\n", " \n", " \n", " work_high_FPSEMPN\n", - " -2.021234\n", - " -1.575036\n", + " -1.895722e+00\n", + " -1.895722e+00\n", + " -1.575037\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.021234\n", " \n", " \n", " work_high_HEREMPN\n", - " -1.578781\n", + " -1.698263e+00\n", + " -1.698263e+00\n", " -1.258781\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.578781\n", " \n", " \n", " work_high_MWTEMPN\n", - " -2.074250\n", + " -1.815687e+00\n", + " -1.815687e+00\n", " -1.431292\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.074250\n", " \n", " \n", " work_high_OTHEMPN\n", - " -2.145558\n", + " -2.187482e+00\n", + " -2.187482e+00\n", " -1.870803\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.145558\n", " \n", " \n", " work_high_RETEMPN\n", + " -2.207275e+00\n", + " -2.207275e+00\n", + " -2.207275\n", " -2.207275\n", " -2.207275\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -2.207275\n", " \n", " \n", " work_low_AGREMPN\n", - " -40.734929\n", + " -7.178467e+01\n", + " -7.178467e+01\n", " -4.605170\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -40.734929\n", " \n", " \n", " work_low_FPSEMPN\n", - " -0.670108\n", + " -1.507959e+00\n", + " -1.507959e+00\n", " -1.645065\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.670108\n", " \n", " \n", " work_low_HEREMPN\n", - " 0.087905\n", + " -8.190703e-01\n", + " -8.190703e-01\n", " -0.959720\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " 0.087905\n", " \n", " \n", " work_low_MWTEMPN\n", - " -0.373028\n", + " -1.980587e+00\n", + " -1.980587e+00\n", " -1.807889\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.373028\n", " \n", " \n", " work_low_OTHEMPN\n", - " -0.705270\n", + " -2.021455e+00\n", + " -2.021455e+00\n", " -2.120264\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.705270\n", " \n", " \n", " work_low_RETEMPN\n", + " -2.047943e+00\n", + " -2.047943e+00\n", + " -2.047943\n", " -2.047943\n", " -2.047943\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -2.047943\n", " \n", " \n", " work_med_AGREMPN\n", - " -14.886841\n", + " -8.087999e+64\n", + " -8.087999e+64\n", " -4.828314\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -14.886841\n", " \n", " \n", " work_med_FPSEMPN\n", - " -1.942050\n", + " -2.151306e+00\n", + " -2.151306e+00\n", " -1.624552\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.942050\n", " \n", " \n", " work_med_HEREMPN\n", - " -1.382809\n", + " -1.606036e+00\n", + " -1.606036e+00\n", " -1.123930\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.382809\n", " \n", " \n", " work_med_MWTEMPN\n", - " -0.910436\n", + " -2.043992e+00\n", + " -2.043992e+00\n", " -1.560648\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.910436\n", " \n", " \n", " work_med_OTHEMPN\n", - " -2.535326\n", + " -2.172089e+00\n", + " -2.172089e+00\n", " -1.973281\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.535326\n", " \n", " \n", " work_med_RETEMPN\n", + " -2.120264e+00\n", + " -2.120264e+00\n", + " -2.120264\n", " -2.120264\n", " -2.120264\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -2.120264\n", " \n", " \n", " work_veryhigh_AGREMPN\n", - " -0.277725\n", + " -6.042012e+00\n", + " -6.042012e+00\n", " -5.521461\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.277725\n", " \n", " \n", " work_veryhigh_FPSEMPN\n", - " -1.757306\n", + " -1.838134e+00\n", + " -1.838134e+00\n", " -1.309333\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.757306\n", " \n", " \n", " work_veryhigh_HEREMPN\n", - " -1.621894\n", + " -1.992130e+00\n", + " -1.992130e+00\n", " -1.422958\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.621894\n", " \n", " \n", " work_veryhigh_MWTEMPN\n", - " -1.722069\n", + " -1.763131e+00\n", + " -1.763131e+00\n", " -1.402424\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.722069\n", " \n", " \n", " work_veryhigh_OTHEMPN\n", - " -2.483268\n", + " -2.509024e+00\n", + " -2.509024e+00\n", " -1.924149\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.483268\n", " \n", " \n", " work_veryhigh_RETEMPN\n", + " -2.375156e+00\n", + " -2.375156e+00\n", + " -2.375156\n", " -2.375156\n", " -2.375156\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -2.375156\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue nullvalue minimum maximum \\\n", - "-999 -999.000000 -999.000000 -999.0 -999.0 -999.0 \n", - "1 1.000000 1.000000 1.0 1.0 1.0 \n", - "coef_dist_0_1 -1.084778 -0.842800 0.0 NaN NaN \n", - "coef_dist_0_5_high 0.120981 0.150000 0.0 NaN NaN \n", - "coef_dist_15_up -0.091700 -0.091700 0.0 NaN NaN \n", - "coef_dist_1_2 -0.252580 -0.310400 0.0 NaN NaN \n", - "coef_dist_2_5 -0.369689 -0.378300 0.0 NaN NaN \n", - "coef_dist_5_15 -0.152259 -0.128500 0.0 NaN NaN \n", - "coef_dist_5_up_high -0.015225 0.020000 0.0 NaN NaN \n", - "coef_mode_logsum 0.155426 0.300000 0.0 NaN NaN \n", - "work_high_AGREMPN -14.042031 -5.115996 0.0 -6.0 6.0 \n", - "work_high_FPSEMPN -2.021234 -1.575036 0.0 -6.0 6.0 \n", - "work_high_HEREMPN -1.578781 -1.258781 0.0 -6.0 6.0 \n", - "work_high_MWTEMPN -2.074250 -1.431292 0.0 -6.0 6.0 \n", - "work_high_OTHEMPN -2.145558 -1.870803 0.0 -6.0 6.0 \n", - "work_high_RETEMPN -2.207275 -2.207275 0.0 -6.0 6.0 \n", - "work_low_AGREMPN -40.734929 -4.605170 0.0 -6.0 6.0 \n", - "work_low_FPSEMPN -0.670108 -1.645065 0.0 -6.0 6.0 \n", - "work_low_HEREMPN 0.087905 -0.959720 0.0 -6.0 6.0 \n", - "work_low_MWTEMPN -0.373028 -1.807889 0.0 -6.0 6.0 \n", - "work_low_OTHEMPN -0.705270 -2.120264 0.0 -6.0 6.0 \n", - "work_low_RETEMPN -2.047943 -2.047943 0.0 -6.0 6.0 \n", - "work_med_AGREMPN -14.886841 -4.828314 0.0 -6.0 6.0 \n", - "work_med_FPSEMPN -1.942050 -1.624552 0.0 -6.0 6.0 \n", - "work_med_HEREMPN -1.382809 -1.123930 0.0 -6.0 6.0 \n", - "work_med_MWTEMPN -0.910436 -1.560648 0.0 -6.0 6.0 \n", - "work_med_OTHEMPN -2.535326 -1.973281 0.0 -6.0 6.0 \n", - "work_med_RETEMPN -2.120264 -2.120264 0.0 -6.0 6.0 \n", - "work_veryhigh_AGREMPN -0.277725 -5.521461 0.0 -6.0 6.0 \n", - "work_veryhigh_FPSEMPN -1.757306 -1.309333 0.0 -6.0 6.0 \n", - "work_veryhigh_HEREMPN -1.621894 -1.422958 0.0 -6.0 6.0 \n", - "work_veryhigh_MWTEMPN -1.722069 -1.402424 0.0 -6.0 6.0 \n", - "work_veryhigh_OTHEMPN -2.483268 -1.924149 0.0 -6.0 6.0 \n", - "work_veryhigh_RETEMPN -2.375156 -2.375156 0.0 -6.0 6.0 \n", + " value best initvalue minimum \\\n", + "param_name \n", + "-999 -9.990000e+02 -9.990000e+02 -999.000000 -999.000000 \n", + "1 1.000000e+00 1.000000e+00 1.000000 1.000000 \n", + "coef_dist_0_1 -1.035381e+00 -1.035381e+00 -0.842800 -25.000000 \n", + "coef_dist_0_5_high 1.469662e-01 1.469662e-01 0.150000 -25.000000 \n", + "coef_dist_15_up -1.170512e-01 -1.170512e-01 -0.091700 -25.000000 \n", + "coef_dist_1_2 -4.652491e-01 -4.652491e-01 -0.310400 -25.000000 \n", + "coef_dist_2_5 -4.177477e-01 -4.177477e-01 -0.378300 -25.000000 \n", + "coef_dist_5_15 -1.558734e-01 -1.558734e-01 -0.128500 -25.000000 \n", + "coef_dist_5_up_high 2.506728e-02 2.506728e-02 0.020000 -25.000000 \n", + "coef_mode_logsum 7.423654e-02 7.423654e-02 0.300000 -25.000000 \n", + "work_high_AGREMPN -1.856268e+00 -1.856268e+00 -5.115996 -6.000000 \n", + "work_high_FPSEMPN -1.895722e+00 -1.895722e+00 -1.575037 -6.000000 \n", + "work_high_HEREMPN -1.698263e+00 -1.698263e+00 -1.258781 -6.000000 \n", + "work_high_MWTEMPN -1.815687e+00 -1.815687e+00 -1.431292 -6.000000 \n", + "work_high_OTHEMPN -2.187482e+00 -2.187482e+00 -1.870803 -6.000000 \n", + "work_high_RETEMPN -2.207275e+00 -2.207275e+00 -2.207275 -2.207275 \n", + "work_low_AGREMPN -7.178467e+01 -7.178467e+01 -4.605170 -6.000000 \n", + "work_low_FPSEMPN -1.507959e+00 -1.507959e+00 -1.645065 -6.000000 \n", + "work_low_HEREMPN -8.190703e-01 -8.190703e-01 -0.959720 -6.000000 \n", + "work_low_MWTEMPN -1.980587e+00 -1.980587e+00 -1.807889 -6.000000 \n", + "work_low_OTHEMPN -2.021455e+00 -2.021455e+00 -2.120264 -6.000000 \n", + "work_low_RETEMPN -2.047943e+00 -2.047943e+00 -2.047943 -2.047943 \n", + "work_med_AGREMPN -8.087999e+64 -8.087999e+64 -4.828314 -6.000000 \n", + "work_med_FPSEMPN -2.151306e+00 -2.151306e+00 -1.624552 -6.000000 \n", + "work_med_HEREMPN -1.606036e+00 -1.606036e+00 -1.123930 -6.000000 \n", + "work_med_MWTEMPN -2.043992e+00 -2.043992e+00 -1.560648 -6.000000 \n", + "work_med_OTHEMPN -2.172089e+00 -2.172089e+00 -1.973281 -6.000000 \n", + "work_med_RETEMPN -2.120264e+00 -2.120264e+00 -2.120264 -2.120264 \n", + "work_veryhigh_AGREMPN -6.042012e+00 -6.042012e+00 -5.521461 -6.000000 \n", + "work_veryhigh_FPSEMPN -1.838134e+00 -1.838134e+00 -1.309333 -6.000000 \n", + "work_veryhigh_HEREMPN -1.992130e+00 -1.992130e+00 -1.422958 -6.000000 \n", + "work_veryhigh_MWTEMPN -1.763131e+00 -1.763131e+00 -1.402424 -6.000000 \n", + "work_veryhigh_OTHEMPN -2.509024e+00 -2.509024e+00 -1.924149 -6.000000 \n", + "work_veryhigh_RETEMPN -2.375156e+00 -2.375156e+00 -2.375156 -2.375156 \n", "\n", - " holdfast note best \n", - "-999 1 -999.000000 \n", - "1 1 1.000000 \n", - "coef_dist_0_1 0 -1.084778 \n", - "coef_dist_0_5_high 0 0.120981 \n", - "coef_dist_15_up 0 -0.091700 \n", - "coef_dist_1_2 0 -0.252580 \n", - "coef_dist_2_5 0 -0.369689 \n", - "coef_dist_5_15 0 -0.152259 \n", - "coef_dist_5_up_high 0 -0.015225 \n", - "coef_mode_logsum 0 0.155426 \n", - "work_high_AGREMPN 0 -14.042031 \n", - "work_high_FPSEMPN 0 -2.021234 \n", - "work_high_HEREMPN 0 -1.578781 \n", - "work_high_MWTEMPN 0 -2.074250 \n", - "work_high_OTHEMPN 0 -2.145558 \n", - "work_high_RETEMPN 1 -2.207275 \n", - "work_low_AGREMPN 0 -40.734929 \n", - "work_low_FPSEMPN 0 -0.670108 \n", - "work_low_HEREMPN 0 0.087905 \n", - "work_low_MWTEMPN 0 -0.373028 \n", - "work_low_OTHEMPN 0 -0.705270 \n", - "work_low_RETEMPN 1 -2.047943 \n", - "work_med_AGREMPN 0 -14.886841 \n", - "work_med_FPSEMPN 0 -1.942050 \n", - "work_med_HEREMPN 0 -1.382809 \n", - "work_med_MWTEMPN 0 -0.910436 \n", - "work_med_OTHEMPN 0 -2.535326 \n", - "work_med_RETEMPN 1 -2.120264 \n", - "work_veryhigh_AGREMPN 0 -0.277725 \n", - "work_veryhigh_FPSEMPN 0 -1.757306 \n", - "work_veryhigh_HEREMPN 0 -1.621894 \n", - "work_veryhigh_MWTEMPN 0 -1.722069 \n", - "work_veryhigh_OTHEMPN 0 -2.483268 \n", - "work_veryhigh_RETEMPN 1 -2.375156 " + " maximum nullvalue holdfast \n", + "param_name \n", + "-999 -999.000000 0.0 1 \n", + "1 1.000000 0.0 1 \n", + "coef_dist_0_1 25.000000 0.0 0 \n", + "coef_dist_0_5_high 25.000000 0.0 0 \n", + "coef_dist_15_up 25.000000 0.0 0 \n", + "coef_dist_1_2 25.000000 0.0 0 \n", + "coef_dist_2_5 25.000000 0.0 0 \n", + "coef_dist_5_15 25.000000 0.0 0 \n", + "coef_dist_5_up_high 25.000000 0.0 0 \n", + "coef_mode_logsum 25.000000 0.0 0 \n", + "work_high_AGREMPN 6.000000 0.0 0 \n", + "work_high_FPSEMPN 6.000000 0.0 0 \n", + "work_high_HEREMPN 6.000000 0.0 0 \n", + "work_high_MWTEMPN 6.000000 0.0 0 \n", + "work_high_OTHEMPN 6.000000 0.0 0 \n", + "work_high_RETEMPN -2.207275 0.0 1 \n", + "work_low_AGREMPN 6.000000 0.0 0 \n", + "work_low_FPSEMPN 6.000000 0.0 0 \n", + "work_low_HEREMPN 6.000000 0.0 0 \n", + "work_low_MWTEMPN 6.000000 0.0 0 \n", + "work_low_OTHEMPN 6.000000 0.0 0 \n", + "work_low_RETEMPN -2.047943 0.0 1 \n", + "work_med_AGREMPN 6.000000 0.0 0 \n", + "work_med_FPSEMPN 6.000000 0.0 0 \n", + "work_med_HEREMPN 6.000000 0.0 0 \n", + "work_med_MWTEMPN 6.000000 0.0 0 \n", + "work_med_OTHEMPN 6.000000 0.0 0 \n", + "work_med_RETEMPN -2.120264 0.0 1 \n", + "work_veryhigh_AGREMPN 6.000000 0.0 0 \n", + "work_veryhigh_FPSEMPN 6.000000 0.0 0 \n", + "work_veryhigh_HEREMPN 6.000000 0.0 0 \n", + "work_veryhigh_MWTEMPN 6.000000 0.0 0 \n", + "work_veryhigh_OTHEMPN 6.000000 0.0 0 \n", + "work_veryhigh_RETEMPN -2.375156 0.0 1 " ] }, "metadata": {}, @@ -2011,1040 +2053,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.58075738982826e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.609108514589023e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.858994087802833e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.590724503258719e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.764703716398322e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.95965356556717e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.818442093095742e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.03392554043634e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5381467152499962e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0971331763693831e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.484283220498793e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.036454788412711e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2342628444093822e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1936812514265686e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1462882066859337e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.2236450588660233e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.957773169475355e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.403629593864148e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.958621143814116e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4044217977550493e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.24307099519925e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5832094185085958e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.839880932923715e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8356027731239294e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1421351948148873e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.2122137179899207e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.361811071723201e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.424246392034423e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.833431869070201e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3560892176329117e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3002356046314505e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.14760641170999e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5893755977713855e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.2242791423085704e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.840228498303649e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.821310614405388e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.602970799131063e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.202107985951836e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.345125215845087e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.411697752593235e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9782369679586113e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.874082949306298e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.371793040685402e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.938572491694241e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.246124180526511e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.141265756002516e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.100401477984635e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5378782864186965e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9313922953760897e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1977191783387483e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.363399913515622e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.762226538587988e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.06242576436139e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.6385214345090097e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.165438390329778e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1445961972935322e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.644187582621805e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.541708319680231e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.934162645300111e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.134777590184765e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.079203492312623e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.874033251349113e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.291857936661992e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.814737773513033e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.490568774143245e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.2304485728856308e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.485286718972943e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.383534175291423e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.613279191505726e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.8866154039229413e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3878250547574447e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.527943739541298e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.909416907139415e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1510614619527032e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1368120272688944e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.643995712069883e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.53776423374248e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.884789133771701e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.204048408933774e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3319513123043316e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.705366627147927e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.97514592434133e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0809478465057004e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5511675499533377e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.593689804444176e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4957755267975435e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.696769491557346e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.737774617674386e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.128045848859581e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5630230989843793e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3948944750175547e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3350636520980866e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1373262852024607e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.431634254132492e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.150573731273586e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.840572414827625e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6440290968450892e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.169148987650627e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2618601413717198e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1027363624616727e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4325420873477145e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.130305386573877e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5981412998626995e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8024083176379757e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.699848692868201e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8050041435677926e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4641893204053784e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.3202058990880262e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7982648639328196e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.682688110753623e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.3918073923632958e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3958454623675576e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.687173737740406e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4445622876893135e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.593097934685835e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.255178874295989e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.938159369904954e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.227861479349974e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.72281234139755e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.67479423854955e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0701537184819448e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.11956756006857e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.833010368509196e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.8836696710125525e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.141820313543679e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.1835089487134243e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.184244303454254e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.764215386233791e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8241552638642826e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4965243982010715e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.79176697115328e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1623175453554706e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.716334545703604e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7347158495050401e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.6100668210271076e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.283546894454948e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.852301410439485e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1559061824726984e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5479661830923281e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0532255108666818e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3565906450031844e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.798152742434788e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.683505014802718e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.396183839539828e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.242858084385879e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.871895027080846e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.6099420086106906e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1442376790795919e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.964118309463358e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.274474036241725e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.6677866698481992e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1051019124998109e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9324314980494604e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.9595868472785627e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1615547499831387e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.211882484768278e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8257843151502582e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4275891045055421e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4393823211036024e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.186384064873585e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.824617816113209e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.85880587925525e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.04197500561093e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4837817685211961e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.213652954797472e-18 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0775275642789367e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.119245313180634e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4446800617173398e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2006079813263649e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1552868224959877e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.185573102435832e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1516592133774406e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.762753403181173e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.679389943868996e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.9785706753993463e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8961763259837587e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.912979328104873e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.409320601113607e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.2305205209386157e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.450335157893293e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.617730387066754e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2933647368469341e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.617409120210384e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7582779195718458e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.280498120639517e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.55527755915478e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.9059076312203676e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.1114327780888087e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1431278585276687e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.969086908423215e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3500227499265608e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.3180244010735768e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0076130347475153e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.802972279967265e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2506777229300395e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.80006127424388e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.9183933078130794e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4041773903929795e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3039887400379244e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.6092169814153935e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.760970883046188e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.339080979177279e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2555803195460367e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6269110645033512e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2429300546953463e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.144357110872857e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1049947014037147e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.1861752823090313e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.18997532580141e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.667880830740113e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1353398760676563e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3634447254389383e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7532943704740856e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2111462777429524e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.864047631107106e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.919456911847766e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7059566840488057e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9530301995171284e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.281202462831353e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.758178675470373e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.002078079924329e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.784717876753973e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2017073036704768e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.224557692109661e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.721220285890822e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.622600675521404e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6905948817226687e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.694096953470124e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3569861491836122e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.502124368301506e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.7407488468555395e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.697990870236535e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.81657002649866e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4045763663198253e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0436171317361175e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.156211561252534e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.236987926218086e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4465307474715075e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6938449666000817e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1851170538118256e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9412774988879662e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.670349853302781e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0539418212362084e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6960522608899035e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5158041025609332e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.008274070634254e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.387788535570126e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.2157366699296544e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1164266689499806e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.56169366819644e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.341415195655093e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1987460474379664e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6679242945202155e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4998283744619553e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3250974123734563e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6657512309526764e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.262311118768431e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.971903794447176e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0326431316090163e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1899909566934324e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.914612266695079e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0155418180309193e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.254260491179171e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.246312258680058e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.079915324216155e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.359434189708228e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.479001432525059e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.38785680989827e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5537535423433823e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0646438860936493e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.7426062684941045e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.356600196325564e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.4928156829210223e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8414958204326504e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9454666641041935e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1775477881323708e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9872394874762908e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7741148871910914e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.704943625145889e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1862358973875308e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1140246559184814e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5738132923875278e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.0699709145875876e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.99413957096335e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.373934921628027e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2707344446828852e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.397227292695065e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.951049963227158e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.574434773695393e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4661973381560035e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.630125120592464e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.939235053449032e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.4820595131187794e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.309033227216985e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4957238982110034e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.45256101961114e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.623987483173239e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1188434290325158e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7749926828214399e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.167526396261573e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.733769794433076e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.99031594620759e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5137491867529069e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8678560347694442e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4425868353709017e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.711669880302782e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.108065303771809e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.47700302747828e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4679193372517904e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0589150541969082e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.357031130145988e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.496661215571298e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.221354062959068e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2929125084500322e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.53882441197107e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.799592018965204e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.676438503507691e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4897864931953783e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0509512337158769e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1377543116819802e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.800744497149333e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.761798985494412e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.507692743973433e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.013530761663672e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.557012174493833e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.88869255041198e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4825911994196611e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.186296285380726e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.456851678041965e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.298229559681153e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.5295416575948405e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.703050109789274e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.964977628120778e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.479400208382722e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5991615353804856e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8634813052430688e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5574781627687292e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2288042172537719e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.963462249414444e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6400975355957874e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.011177318846845e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4607022018361702e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.22411226175134e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7327247590654627e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4617479267964148e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.838432338876926e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2049066531312632e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.709955681638656e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.419144964441667e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5077239101806824e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5154644553620888e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0943295430134347e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.154152454411184e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3369084380169877e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.643717978454996e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1192182192175586e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.394144656074798e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5356075335788756e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.819817423929502e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.793935653299255e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.572760141364558e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6997339216435611e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1181064861447731e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7735583314998256e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0642585683351177e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1570640805269224e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6107241166309718e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7420320936727392e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.039768761960802e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6212499861700766e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8343527227047547e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.2409845752709505e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4967063601660652e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7538942453424777e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.419823097432013e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.753768504526091e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1803169211084067e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.9335927811055564e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.8337985198780096e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1595788450687047e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.163229995998657e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.319206816291071e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.0344642963221995e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.914538178010825e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.814172626767119e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7313341043920629e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1327570052022196e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4320525612200115e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.062910043466038e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.068367700457203e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.343942537437313e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.133333141198636e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7634333083083658e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.524428232383005e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.283698248430556e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.87300428221243e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.0041905490605394e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.460044833168581e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.475484180144726e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.6807138587094996e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.12666901150351e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2690788692569342e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2529104778415598e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2857704003483711e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.6639657371967774e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.708116368811313e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.359551245728949e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.701662480669911e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.411395341837963e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.362463504644525e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8458916998109383e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7405199602901939e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.841330698572366e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7502192508669765e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.9294174536767583e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.402220035799741e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2107427712210815e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.815560560305138e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3914352576601436e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4957276285738976e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.819962030825361e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.684238192629998e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3133408766559407e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.758479344731189e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.785532501336792e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.332348300848999e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.2998633887005273e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.299917544475223e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0309929932279618e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.893667387784195e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.355467421954927e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.6392923072891564e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.751557002350106e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7559513840781222e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.9556048185579777e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0150426697205012e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.193606413837047e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.4412353473496543e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.009465095801536e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1756221682827464e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.968498188397787e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.654759781414213e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.3347825517364876e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.549793434199604e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0779798384087633e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0916143618557568e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.5621546761352962e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.460231623809285e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.001990522392916e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8728957809029418e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.916365244709291e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.851426040947258e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.09706169995224e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.801923515469642e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0022996745020988e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.057120670956733e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.085373617069858e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.800253827647093e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.540628062907866e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1593434419814125e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.946912408791547e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.973056912030954e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3761531107247475e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1143741746985153e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.534192960293222e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8734374809662115e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.232343583659919e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0482842256784803e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.467379347282302e-18 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.5759888124606325e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.225617744485029e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.703772751192879e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.883109514984853e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.455312980236373e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.23895606701099e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0603077714105237e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate(method='BHHH', options={'maxiter':1000})\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.886410808092305e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { "data": { "text/html": [ - "
keyvalue
loglike-13521.35475538419
x\n", + "
keyvalue
loglike-88683.85038605405
x\n", " \n", " \n", " \n", @@ -3054,355 +2070,196 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
-999-999.000000-9.990000e+02
11.0000001.000000e+00
coef_dist_0_1-1.084778-1.035381e+00
coef_dist_0_5_high0.1209811.469662e-01
coef_dist_15_up-0.091700-1.170512e-01
coef_dist_1_2-0.252580-4.652491e-01
coef_dist_2_5-0.369689-4.177477e-01
coef_dist_5_15-0.152259-1.558734e-01
coef_dist_5_up_high-0.0152252.506728e-02
coef_mode_logsum0.1554267.423654e-02
work_high_AGREMPN-14.042031-1.856268e+00
work_high_FPSEMPN-2.021234-1.895722e+00
work_high_HEREMPN-1.578781-1.698263e+00
work_high_MWTEMPN-2.074250-1.815687e+00
work_high_OTHEMPN-2.145558-2.187482e+00
work_high_RETEMPN-2.207275-2.207275e+00
work_low_AGREMPN-40.734929-7.178467e+01
work_low_FPSEMPN-0.670108-1.507959e+00
work_low_HEREMPN0.087905-8.190703e-01
work_low_MWTEMPN-0.373028-1.980587e+00
work_low_OTHEMPN-0.705270-2.021455e+00
work_low_RETEMPN-2.047943-2.047943e+00
work_med_AGREMPN-14.886841-8.087999e+64
work_med_FPSEMPN-1.942050-2.151306e+00
work_med_HEREMPN-1.382809-1.606036e+00
work_med_MWTEMPN-0.910436-2.043992e+00
work_med_OTHEMPN-2.535326-2.172089e+00
work_med_RETEMPN-2.120264-2.120264e+00
work_veryhigh_AGREMPN-0.277725-6.042012e+00
work_veryhigh_FPSEMPN-1.757306-1.838134e+00
work_veryhigh_HEREMPN-1.621894-1.992130e+00
work_veryhigh_MWTEMPN-1.722069-1.763131e+00
work_veryhigh_OTHEMPN-2.483268-2.509024e+00
work_veryhigh_RETEMPN-2.375156-2.375156e+00
tolerance9.957944723905177e-06
steps
array([0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n",
-       "       0.015625])
message'Optimization terminated successfully.'
elapsed_time0:00:22.109298
method'BHHH'
n_cases2582
iteration_number475
logloss5.2367756604896165
" + "
tolerance8.618081038971004e-07stepsarray([0.125, 0.25 , 0.375, 0.5 , 0.625, 0.75 , 1. , 1. , 1. ])message'Optimization terminated successfully'elapsed_time0:00:02.528580method'BHHH'n_cases28281iteration_number9
" ], "text/plain": [ - "┣ loglike: -13521.35475538419\n", - "┣ x: -999 -999.000000\n", - "┃ 1 1.000000\n", - "┃ coef_dist_0_1 -1.084778\n", - "┃ coef_dist_0_5_high 0.120981\n", - "┃ coef_dist_15_up -0.091700\n", - "┃ coef_dist_1_2 -0.252580\n", - "┃ coef_dist_2_5 -0.369689\n", - "┃ coef_dist_5_15 -0.152259\n", - "┃ coef_dist_5_up_high -0.015225\n", - "┃ coef_mode_logsum 0.155426\n", - "┃ work_high_AGREMPN -14.042031\n", - "┃ work_high_FPSEMPN -2.021234\n", - "┃ work_high_HEREMPN -1.578781\n", - "┃ work_high_MWTEMPN -2.074250\n", - "┃ work_high_OTHEMPN -2.145558\n", - "┃ work_high_RETEMPN -2.207275\n", - "┃ work_low_AGREMPN -40.734929\n", - "┃ work_low_FPSEMPN -0.670108\n", - "┃ work_low_HEREMPN 0.087905\n", - "┃ work_low_MWTEMPN -0.373028\n", - "┃ work_low_OTHEMPN -0.705270\n", - "┃ work_low_RETEMPN -2.047943\n", - "┃ work_med_AGREMPN -14.886841\n", - "┃ work_med_FPSEMPN -1.942050\n", - "┃ work_med_HEREMPN -1.382809\n", - "┃ work_med_MWTEMPN -0.910436\n", - "┃ work_med_OTHEMPN -2.535326\n", - "┃ work_med_RETEMPN -2.120264\n", - "┃ work_veryhigh_AGREMPN -0.277725\n", - "┃ work_veryhigh_FPSEMPN -1.757306\n", - "┃ work_veryhigh_HEREMPN -1.621894\n", - "┃ work_veryhigh_MWTEMPN -1.722069\n", - "┃ work_veryhigh_OTHEMPN -2.483268\n", - "┃ work_veryhigh_RETEMPN -2.375156\n", + "┣ loglike: -88683.85038605405\n", + "┣ x: -999 -9.990000e+02\n", + "┃ 1 1.000000e+00\n", + "┃ coef_dist_0_1 -1.035381e+00\n", + "┃ coef_dist_0_5_high 1.469662e-01\n", + "┃ coef_dist_15_up -1.170512e-01\n", + "┃ coef_dist_1_2 -4.652491e-01\n", + "┃ coef_dist_2_5 -4.177477e-01\n", + "┃ coef_dist_5_15 -1.558734e-01\n", + "┃ coef_dist_5_up_high 2.506728e-02\n", + "┃ coef_mode_logsum 7.423654e-02\n", + "┃ work_high_AGREMPN -1.856268e+00\n", + "┃ work_high_FPSEMPN -1.895722e+00\n", + "┃ work_high_HEREMPN -1.698263e+00\n", + "┃ work_high_MWTEMPN -1.815687e+00\n", + "┃ work_high_OTHEMPN -2.187482e+00\n", + "┃ work_high_RETEMPN -2.207275e+00\n", + "┃ work_low_AGREMPN -7.178467e+01\n", + "┃ work_low_FPSEMPN -1.507959e+00\n", + "┃ work_low_HEREMPN -8.190703e-01\n", + "┃ work_low_MWTEMPN -1.980587e+00\n", + "┃ work_low_OTHEMPN -2.021455e+00\n", + "┃ work_low_RETEMPN -2.047943e+00\n", + "┃ work_med_AGREMPN -8.087999e+64\n", + "┃ work_med_FPSEMPN -2.151306e+00\n", + "┃ work_med_HEREMPN -1.606036e+00\n", + "┃ work_med_MWTEMPN -2.043992e+00\n", + "┃ work_med_OTHEMPN -2.172089e+00\n", + "┃ work_med_RETEMPN -2.120264e+00\n", + "┃ work_veryhigh_AGREMPN -6.042012e+00\n", + "┃ work_veryhigh_FPSEMPN -1.838134e+00\n", + "┃ work_veryhigh_HEREMPN -1.992130e+00\n", + "┃ work_veryhigh_MWTEMPN -1.763131e+00\n", + "┃ work_veryhigh_OTHEMPN -2.509024e+00\n", + "┃ work_veryhigh_RETEMPN -2.375156e+00\n", "┃ dtype: float64\n", - "┣ tolerance: 9.957944723905177e-06\n", - "┣ steps: array([0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625, 0.015625, 0.015625, 0.015625, 0.015625, 0.015625,\n", - "┃ 0.015625])\n", - "┣ message: 'Optimization terminated successfully.'\n", - "┣ elapsed_time: datetime.timedelta(seconds=22, microseconds=109298)\n", + "┣ tolerance: 8.618081038971004e-07\n", + "┣ steps: array([0.125, 0.25 , 0.375, 0.5 , 0.625, 0.75 , 1. , 1. , 1. ])\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ elapsed_time: datetime.timedelta(seconds=2, microseconds=528580)\n", "┣ method: 'BHHH'\n", - "┣ n_cases: 2582\n", - "┣ iteration_number: 475\n", - "┣ logloss: 5.2367756604896165" + "┣ n_cases: 28281\n", + "┣ iteration_number: 9" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate(method='BHHH', options={'maxiter':1000})" + "model.estimate(method=\"BHHH\", options={\"maxiter\": 1000})" ] }, { @@ -3414,335 +2271,361 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value Constrained
-999-999. NA NA-999.00fixed value
1 1.00 NA NA 1.00fixed value
coef_dist_0_1-1.08 0.270-4.02*** 0.00
coef_dist_0_5_high 0.121 0.0339 3.57*** 0.00
coef_dist_15_up-0.0917 0.000603-152.16*** 0.00
coef_dist_1_2-0.253 0.115-2.20* 0.00
coef_dist_2_5-0.370 0.0329-11.23*** 0.00
coef_dist_5_15-0.152 0.0419-3.63*** 0.00
coef_dist_5_up_high-0.0152 0.0576-0.26 0.00
coef_mode_logsum 0.155 0.0455 3.41*** 0.00
work_high_AGREMPN-14.0 9.45e+03-0.00 0.00
work_high_FPSEMPN-2.02 0.419-4.83*** 0.00
work_high_HEREMPN-1.58 0.398-3.97*** 0.00
work_high_MWTEMPN-2.07 1.07-1.94 0.00
work_high_OTHEMPN-2.15 0.463-4.64*** 0.00
work_high_RETEMPN-2.21 NA NA 0.00fixed value
work_low_AGREMPN-40.7 3.95e-06-BIG*** 0.00
work_low_FPSEMPN-0.670 1.46-0.46 0.00
work_low_HEREMPN 0.0879 1.47 0.06 0.00
work_low_MWTEMPN-0.373 1.66-0.22 0.00
work_low_OTHEMPN-0.705 1.49-0.47 0.00
work_low_RETEMPN-2.05 NA NA 0.00fixed value
work_med_AGREMPN-14.9 2.37e+03-0.01 0.00
work_med_FPSEMPN-1.94 0.484-4.01*** 0.00
work_med_HEREMPN-1.38 0.448-3.09** 0.00
work_med_MWTEMPN-0.910 0.564-1.61 0.00
work_med_OTHEMPN-2.54 0.640-3.96*** 0.00
work_med_RETEMPN-2.12 NA NA 0.00fixed value
work_veryhigh_AGREMPN-0.278 2.35-0.12 0.00
work_veryhigh_FPSEMPN-1.76 0.410-4.29*** 0.00
work_veryhigh_HEREMPN-1.62 0.414-3.92*** 0.00
work_veryhigh_MWTEMPN-1.72 0.739-2.33* 0.00
work_veryhigh_OTHEMPN-2.48 0.493-5.03*** 0.00
work_veryhigh_RETEMPN-2.38 NA NA 0.00fixed value
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
-999-999. 0.00 NA 0.00fixed value
1 1.00 0.00 NA 0.00fixed value
coef_dist_0_1-1.04 0.105-9.89*** 0.00
coef_dist_0_5_high 0.147 0.0114 12.86*** 0.00
coef_dist_15_up-0.117 0.00211-55.56*** 0.00
coef_dist_1_2-0.465 0.0428-10.86*** 0.00
coef_dist_2_5-0.418 0.0116-36.15*** 0.00
coef_dist_5_15-0.156 0.00276-56.40*** 0.00
coef_dist_5_up_high 0.0251 0.00176 14.22*** 0.00
coef_mode_logsum 0.0742 0.00837 8.87*** 0.00
work_high_AGREMPN-1.86 0.596-3.11** 0.00
work_high_FPSEMPN-1.90 0.178-10.67*** 0.00
work_high_HEREMPN-1.70 0.193-8.81*** 0.00
work_high_MWTEMPN-1.82 0.188-9.68*** 0.00
work_high_OTHEMPN-2.19 0.207-10.56*** 0.00
work_high_RETEMPN-2.21 0.00 NA 0.00fixed value
work_low_AGREMPN-71.8 7.07e-12-BIG*** 0.00
work_low_FPSEMPN-1.51 0.346-4.36*** 0.00
work_low_HEREMPN-0.819 0.360-2.27* 0.00
work_low_MWTEMPN-1.98 0.387-5.12*** 0.00
work_low_OTHEMPN-2.02 0.407-4.97*** 0.00
work_low_RETEMPN-2.05 0.00 NA 0.00fixed value
work_med_AGREMPN-8.09e+64 NA NA 0.00
work_med_FPSEMPN-2.15 0.194-11.06*** 0.00
work_med_HEREMPN-1.61 0.205-7.85*** 0.00
work_med_MWTEMPN-2.04 0.210-9.74*** 0.00
work_med_OTHEMPN-2.17 0.222-9.77*** 0.00
work_med_RETEMPN-2.12 0.00 NA 0.00fixed value
work_veryhigh_AGREMPN-6.04 24.2-0.25 0.00
work_veryhigh_FPSEMPN-1.84 0.152-12.10*** 0.00
work_veryhigh_HEREMPN-1.99 0.170-11.71*** 0.00
work_veryhigh_MWTEMPN-1.76 0.159-11.08*** 0.00
work_veryhigh_OTHEMPN-2.51 0.189-13.24*** 0.00
work_veryhigh_RETEMPN-2.38 0.00 NA 0.00fixed value
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -3763,12 +2646,13 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from activitysim.estimation.larch import update_coefficients, update_size_spec\n", - "result_dir = data.edb_directory/\"estimated\"" + "\n", + "result_dir = data.edb_directory / \"estimated\"" ] }, { @@ -3780,12 +2664,14 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "update_coefficients(\n", - " model, data, result_dir,\n", + " model,\n", + " data,\n", + " result_dir,\n", " output_file=f\"{modelname}_coefficients_revised.csv\",\n", ");" ] @@ -3799,7 +2685,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -3844,12 +2730,12 @@ " work_low\n", " workplace\n", " 0.000000\n", - " 0.044251\n", - " 0.175515\n", - " 0.374554\n", - " 0.169451\n", - " 6.988481e-19\n", - " 0.236229\n", + " 0.121509\n", + " 0.208506\n", + " 0.415240\n", + " 0.124770\n", + " 6.285395e-32\n", + " 0.129975\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -3860,12 +2746,12 @@ " work_med\n", " workplace\n", " 0.000000\n", - " 0.120498\n", - " 0.144005\n", - " 0.251914\n", - " 0.079565\n", - " 3.439740e-07\n", - " 0.404018\n", + " 0.176350\n", + " 0.170960\n", + " 0.294919\n", + " 0.167444\n", + " 0.000000e+00\n", + " 0.190327\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -3876,12 +2762,12 @@ " work_high\n", " workplace\n", " 0.000000\n", - " 0.159104\n", - " 0.191636\n", - " 0.298286\n", - " 0.169233\n", - " 1.153217e-06\n", - " 0.181741\n", + " 0.125802\n", + " 0.171788\n", + " 0.209290\n", + " 0.128317\n", + " 1.787012e-01\n", + " 0.186102\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -3892,12 +2778,12 @@ " work_veryhigh\n", " workplace\n", " 0.000000\n", - " 0.062723\n", - " 0.116348\n", - " 0.133219\n", - " 0.056296\n", - " 5.108942e-01\n", - " 0.120520\n", + " 0.144466\n", + " 0.247167\n", + " 0.211891\n", + " 0.126365\n", + " 3.692074e-03\n", + " 0.266419\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -4197,10 +3083,10 @@ ], "text/plain": [ " segment model_selector TOTHH RETEMPN FPSEMPN HEREMPN \\\n", - "0 work_low workplace 0.000000 0.044251 0.175515 0.374554 \n", - "1 work_med workplace 0.000000 0.120498 0.144005 0.251914 \n", - "2 work_high workplace 0.000000 0.159104 0.191636 0.298286 \n", - "3 work_veryhigh workplace 0.000000 0.062723 0.116348 0.133219 \n", + "0 work_low workplace 0.000000 0.121509 0.208506 0.415240 \n", + "1 work_med workplace 0.000000 0.176350 0.170960 0.294919 \n", + "2 work_high workplace 0.000000 0.125802 0.171788 0.209290 \n", + "3 work_veryhigh workplace 0.000000 0.144466 0.247167 0.211891 \n", "4 university school 0.000000 0.000000 0.000000 0.000000 \n", "5 gradeschool school 0.000000 0.000000 0.000000 0.000000 \n", "6 highschool school 0.000000 0.000000 0.000000 0.000000 \n", @@ -4221,10 +3107,10 @@ "21 univ trip 0.000999 0.000000 0.000000 0.000000 \n", "\n", " OTHEMPN AGREMPN MWTEMPN AGE0519 HSENROLL COLLFTE COLLPTE \n", - "0 0.169451 6.988481e-19 0.236229 0.000 0.000000 0.000000 0.000000 \n", - "1 0.079565 3.439740e-07 0.404018 0.000 0.000000 0.000000 0.000000 \n", - "2 0.169233 1.153217e-06 0.181741 0.000 0.000000 0.000000 0.000000 \n", - "3 0.056296 5.108942e-01 0.120520 0.000 0.000000 0.000000 0.000000 \n", + "0 0.124770 6.285395e-32 0.129975 0.000 0.000000 0.000000 0.000000 \n", + "1 0.167444 0.000000e+00 0.190327 0.000 0.000000 0.000000 0.000000 \n", + "2 0.128317 1.787012e-01 0.186102 0.000 0.000000 0.000000 0.000000 \n", + "3 0.126365 3.692074e-03 0.266419 0.000 0.000000 0.000000 0.000000 \n", "4 0.000000 0.000000e+00 0.000000 0.000 0.000000 0.592000 0.408000 \n", "5 0.000000 0.000000e+00 0.000000 1.000 0.000000 0.000000 0.000000 \n", "6 0.000000 0.000000e+00 0.000000 0.000 1.000000 0.000000 0.000000 \n", @@ -4245,14 +3131,16 @@ "21 0.000000 0.000000e+00 0.000000 0.000 0.000000 0.591409 0.407592 " ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "update_size_spec(\n", - " model, data, result_dir, \n", + " model,\n", + " data,\n", + " result_dir,\n", " output_file=f\"{modelname}_size_terms.csv\",\n", ")" ] @@ -4266,12 +3154,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "model.to_xlsx(\n", - " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", + " result_dir / f\"{modelname}_model_estimation.xlsx\",\n", " data_statistics=False,\n", ");" ] @@ -4290,7 +3178,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -4323,49 +3211,49 @@ " \n", " 0\n", " coef_dist_0_1\n", - " -1.084778\n", + " -1.035381\n", " F\n", " \n", " \n", " 1\n", " coef_dist_1_2\n", - " -0.252580\n", + " -0.465249\n", " F\n", " \n", " \n", " 2\n", " coef_dist_2_5\n", - " -0.369689\n", + " -0.417748\n", " F\n", " \n", " \n", " 3\n", " coef_dist_5_15\n", - " -0.152259\n", + " -0.155873\n", " F\n", " \n", " \n", " 4\n", " coef_dist_15_up\n", - " -0.091700\n", + " -0.117051\n", " F\n", " \n", " \n", " 5\n", " coef_dist_0_5_high\n", - " 0.120981\n", + " 0.146966\n", " F\n", " \n", " \n", " 6\n", " coef_dist_5_up_high\n", - " -0.015225\n", + " 0.025067\n", " F\n", " \n", " \n", " 7\n", " coef_mode_logsum\n", - " 0.155426\n", + " 0.074237\n", " F\n", " \n", " \n", @@ -4374,28 +3262,28 @@ ], "text/plain": [ " coefficient_name value constrain\n", - "0 coef_dist_0_1 -1.084778 F\n", - "1 coef_dist_1_2 -0.252580 F\n", - "2 coef_dist_2_5 -0.369689 F\n", - "3 coef_dist_5_15 -0.152259 F\n", - "4 coef_dist_15_up -0.091700 F\n", - "5 coef_dist_0_5_high 0.120981 F\n", - "6 coef_dist_5_up_high -0.015225 F\n", - "7 coef_mode_logsum 0.155426 F" + "0 coef_dist_0_1 -1.035381 F\n", + "1 coef_dist_1_2 -0.465249 F\n", + "2 coef_dist_2_5 -0.417748 F\n", + "3 coef_dist_5_15 -0.155873 F\n", + "4 coef_dist_15_up -0.117051 F\n", + "5 coef_dist_0_5_high 0.146966 F\n", + "6 coef_dist_5_up_high 0.025067 F\n", + "7 coef_mode_logsum 0.074237 F" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pd.read_csv(result_dir/f\"{modelname}_coefficients_revised.csv\")" + "pd.read_csv(result_dir / f\"{modelname}_coefficients_revised.csv\")" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -4442,12 +3330,12 @@ " work_low\n", " workplace\n", " 0.000000\n", - " 0.044251\n", - " 0.175515\n", - " 0.374554\n", - " 0.169451\n", - " 6.988481e-19\n", - " 0.236229\n", + " 0.121509\n", + " 0.208506\n", + " 0.415240\n", + " 0.124770\n", + " 6.285395e-32\n", + " 0.129975\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -4459,12 +3347,12 @@ " work_med\n", " workplace\n", " 0.000000\n", - " 0.120498\n", - " 0.144005\n", - " 0.251914\n", - " 0.079565\n", - " 3.439740e-07\n", - " 0.404018\n", + " 0.176350\n", + " 0.170960\n", + " 0.294919\n", + " 0.167444\n", + " 0.000000e+00\n", + " 0.190327\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -4476,12 +3364,12 @@ " work_high\n", " workplace\n", " 0.000000\n", - " 0.159104\n", - " 0.191636\n", - " 0.298286\n", - " 0.169233\n", - " 1.153217e-06\n", - " 0.181741\n", + " 0.125802\n", + " 0.171788\n", + " 0.209290\n", + " 0.128317\n", + " 1.787012e-01\n", + " 0.186102\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -4493,12 +3381,12 @@ " work_veryhigh\n", " workplace\n", " 0.000000\n", - " 0.062723\n", - " 0.116348\n", - " 0.133219\n", - " 0.056296\n", - " 5.108942e-01\n", - " 0.120520\n", + " 0.144466\n", + " 0.247167\n", + " 0.211891\n", + " 0.126365\n", + " 3.692074e-03\n", + " 0.266419\n", " 0.000\n", " 0.000000\n", " 0.000000\n", @@ -4816,10 +3704,10 @@ ], "text/plain": [ " index segment model_selector TOTHH RETEMPN FPSEMPN \\\n", - "0 0 work_low workplace 0.000000 0.044251 0.175515 \n", - "1 1 work_med workplace 0.000000 0.120498 0.144005 \n", - "2 2 work_high workplace 0.000000 0.159104 0.191636 \n", - "3 3 work_veryhigh workplace 0.000000 0.062723 0.116348 \n", + "0 0 work_low workplace 0.000000 0.121509 0.208506 \n", + "1 1 work_med workplace 0.000000 0.176350 0.170960 \n", + "2 2 work_high workplace 0.000000 0.125802 0.171788 \n", + "3 3 work_veryhigh workplace 0.000000 0.144466 0.247167 \n", "4 4 university school 0.000000 0.000000 0.000000 \n", "5 5 gradeschool school 0.000000 0.000000 0.000000 \n", "6 6 highschool school 0.000000 0.000000 0.000000 \n", @@ -4840,10 +3728,10 @@ "21 21 univ trip 0.000999 0.000000 0.000000 \n", "\n", " HEREMPN OTHEMPN AGREMPN MWTEMPN AGE0519 HSENROLL COLLFTE \\\n", - "0 0.374554 0.169451 6.988481e-19 0.236229 0.000 0.000000 0.000000 \n", - "1 0.251914 0.079565 3.439740e-07 0.404018 0.000 0.000000 0.000000 \n", - "2 0.298286 0.169233 1.153217e-06 0.181741 0.000 0.000000 0.000000 \n", - "3 0.133219 0.056296 5.108942e-01 0.120520 0.000 0.000000 0.000000 \n", + "0 0.415240 0.124770 6.285395e-32 0.129975 0.000 0.000000 0.000000 \n", + "1 0.294919 0.167444 0.000000e+00 0.190327 0.000 0.000000 0.000000 \n", + "2 0.209290 0.128317 1.787012e-01 0.186102 0.000 0.000000 0.000000 \n", + "3 0.211891 0.126365 3.692074e-03 0.266419 0.000 0.000000 0.000000 \n", "4 0.000000 0.000000 0.000000e+00 0.000000 0.000 0.000000 0.592000 \n", "5 0.000000 0.000000 0.000000e+00 0.000000 1.000 0.000000 0.000000 \n", "6 0.000000 0.000000 0.000000e+00 0.000000 0.000 1.000000 0.000000 \n", @@ -4888,13 +3776,1784 @@ "21 0.407592 " ] }, - "execution_count": 18, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_csv(result_dir / f\"{modelname}_size_terms.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Modify Spec\n", + "\n", + "Here, we will demonstrate the process of re-estimating the model with a modified\n", + "SPEC file. This does *not* require re-running ActivitySim, it just requires\n", + "changing the SPEC file and re-running the Larch estimation only.\n", + "\n", + "The `backup` command we ran earlier made a backup copy of the \n", + "original spec file in the EDB directory.\n", + "This was not strictly necessary, but since we're about to modify it and\n", + "we may want undo our changes, it can be handy to keep a copy of the\n", + "original spec file around. Since we already have a backup copy, we'll make some \n", + "changes directly in the SPEC file. As an example here, we're going\n", + "to change one of the breakpoints on the piecewise distance function in the\n", + "utility calculation. For this demo we are editing \n", + "the SPEC file using Python code to make the changes, but a user does not need\n", + "to change the file using Python; any CSV editor (e.g. Excel) can be used. \n", + "\n", + "The raw contents of the SPEC file can be loaded and viewed in Python like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Label,Description,Expression,coefficient\n", + "local_dist,,_DIST@skims['DIST'],1\n", + "util_dist_0_1,\"Distance, piecewise linear from 0 to 1 miles\",\"@_DIST.clip(0,1)\",coef_dist_0_1\n", + "util_dist_1_2,\"Distance, piecewise linear from 1 to 2 miles\",\"@(_DIST-1).clip(0,1)\",coef_dist_1_2\n", + "util_dist_2_5,\"Distance, piecewise linear from 2 to 5 miles\",\"@(_DIST-2).clip(0,3)\",coef_dist_2_5\n", + "util_dist_5_15,\"Distance, piecewise linear from 5 to 15 miles\",\"@(_DIST-5).clip(0,10)\",coef_dist_5_15\n", + "util_dist_15_up,\"Distance, piecewise linear for 15+ miles\",@(_DIST-15.0).clip(0),coef_dist_15_up\n", + "util_dist_0_5_high,\"Distance 0 to 5 mi, high and very high income\",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high\n", + "util_dist_15_up_high,\"Distance 5+ mi, high and very high income\",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high\n", + "util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1\n", + "util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1\n", + "util_no_attractions,No attractions,@df['size_term']==0,-999\n", + "util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum\n", + "util_sample_of_corrections_factor,Sample of alternatives correction factor,\"@np.minimum(np.log(df.pick_count/df.prob), 60)\",1\n" + ] + } + ], + "source": [ + "with open(data.edb_directory / \"workplace_location_SPEC.csv\") as f:\n", + " raw_spec = f.read()\n", + "\n", + "print(raw_spec)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's move the 2 mile breakpoint to 3 miles. To do so, we will need to change two lines\n", + "of the SPEC file. As we change the file, we will edit all four columns: label, description, \n", + "expression, and coefficient. \n", + "\n", + "## WARNING\n", + "\n", + "**It is particularly important to make changes to the label when \n", + "changing the expression.** The estimation tools will prefer the pre-calculated variables computed\n", + "and stored with the given label, so if the label is not changed the expression changes will be ignored.\n", + "\n", + "After we make the changes, we'll write the modified SPEC file back to disk, overwriting the original." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "orig_lines = \"\"\"util_dist_1_2,\"Distance, piecewise linear from 1 to 2 miles\",\"@(_DIST-1).clip(0,1)\",coef_dist_1_2\n", + "util_dist_2_5,\"Distance, piecewise linear from 2 to 5 miles\",\"@(_DIST-2).clip(0,3)\",coef_dist_2_5\"\"\"\n", + "\n", + "repl_lines = \"\"\"util_dist_1_3,\"Distance, piecewise linear from 1 to 3 miles\",\"@(_DIST-1).clip(0,2)\",coef_dist_1_3\n", + "util_dist_3_5,\"Distance, piecewise linear from 3 to 5 miles\",\"@(_DIST-3).clip(0,2)\",coef_dist_3_5\"\"\"\n", + "\n", + "raw_spec = raw_spec.replace(orig_lines, repl_lines)\n", + "\n", + "with open(data.edb_directory / \"workplace_location_SPEC.csv\", mode=\"w\") as f:\n", + " f.write(raw_spec)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Reloading the model and getting set for re-estimation can be done using the same commands as above." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/workplace_location/workplace_location_size_terms.csv\n" + ] + } + ], + "source": [ + "model2, data2 = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may notice in the utility functions shown below, all of the unadulterated lines of the \n", + "spec file correlate with utility terms that are simple `X.label` data items, which are \n", + "stored as pre-computed data variables in the EDB. Our modified lines, however, are now\n", + "showing the complete expression that will be freshly evaluated by Larch using Sharrow." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
P.coef_dist_0_1 * X.util_dist_0_1
+ P.coef_dist_1_3 * X('(_DIST-1).clip(0,2)')
+ P.coef_dist_3_5 * X('(_DIST-3).clip(0,2)')
+ P.coef_dist_5_15 * X.util_dist_5_15
+ P.coef_dist_15_up * X.util_dist_15_up
+ P.coef_dist_0_5_high * X.util_dist_0_5_high
+ P.coef_dist_5_up_high * X.util_dist_15_up_high
+ P('-999') * X.util_no_attractions
+ P.coef_mode_logsum * X.util_mode_logsum
+ P('1') * X.util_sample_of_corrections_factor
" + ], + "text/plain": [ + " P.coef_dist_0_1 * X.util_dist_0_1\n", + "+ P.coef_dist_1_3 * X('(_DIST-1).clip(0,2)')\n", + "+ P.coef_dist_3_5 * X('(_DIST-3).clip(0,2)')\n", + "+ P.coef_dist_5_15 * X.util_dist_5_15\n", + "+ P.coef_dist_15_up * X.util_dist_15_up\n", + "+ P.coef_dist_0_5_high * X.util_dist_0_5_high\n", + "+ P.coef_dist_5_up_high * X.util_dist_15_up_high\n", + "+ P('-999') * X.util_no_attractions\n", + "+ P.coef_mode_logsum * X.util_mode_logsum\n", + "+ P('1') * X.util_sample_of_corrections_factor" + ] + }, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pd.read_csv(result_dir/f\"{modelname}_size_terms.csv\")" + "model2.utility_ca" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are almost ready to go with this model. But if we attempt to estimate the model now, we will get an error:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "NameError(\"name '_DIST' is not defined\")\n" + ] + } + ], + "source": [ + "from larch.util.shush import shush\n", + "\n", + "with shush(stderr=True):\n", + " try:\n", + " model2.estimate()\n", + " except NameError as e:\n", + " print(repr(e))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The error arises because the model SPEC includes a temporary `_DIST` variable, which was not stored in the EDB data files.\n", + "There are several ways to solve this problem. The most robust way would be to return to ActivitySim and edit the model specification\n", + "and configurations so that this variable is not a temporary value (i.e. add it to a preprocessor or annotator). This process \n", + "may take some time and effort, but it should be able to allow the user to access any variable from ActivitySim.\n", + "\n", + "Alternatively, it may be possible to reconstruct the value of the temporary variable, or a suitable proxy, by processing \n", + "values that did get stored in the EDB. We can do so here, by reconstituting the distance value as the sum of the piecewise\n", + "parts that did get stored in the EDB. Rather than returning to ActivitySim, we can simply compute the temporary variable\n", + "directly in the model's data object, giving it the same name as from the specification file, and otherwise proceed as normal." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "model2.data[\"_DIST\"] = (\n", + " model2.data.util_dist_0_1\n", + " + model2.data.util_dist_1_2\n", + " + model2.data.util_dist_2_5\n", + " + model2.data.util_dist_5_15\n", + " + model2.data.util_dist_15_up\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Iteration 008 [Optimization terminated successfully]

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Best LL = -88684.18177107332

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuebestinitvalueminimummaximumnullvalueholdfast
param_name
-999-999.000000-999.000000-999.000000-999.000000-999.0000000.01
11.0000001.0000001.0000001.0000001.0000000.01
coef_dist_0_1-1.072002-1.072002-0.842800-25.00000025.0000000.00
coef_dist_0_5_high0.1471630.1471630.150000-25.00000025.0000000.00
coef_dist_15_up-0.117017-0.117017-0.091700-25.00000025.0000000.00
coef_dist_1_3-0.433865-0.4338650.000000-infinf0.00
coef_dist_3_5-0.417069-0.4170690.000000-infinf0.00
coef_dist_5_15-0.155760-0.155760-0.128500-25.00000025.0000000.00
coef_dist_5_up_high0.0250500.0250500.020000-25.00000025.0000000.00
coef_mode_logsum0.0745300.0745300.300000-25.00000025.0000000.00
work_high_AGREMPN-1.857041-1.857041-5.115996-6.0000006.0000000.00
work_high_FPSEMPN-1.895566-1.895566-1.575037-6.0000006.0000000.00
work_high_HEREMPN-1.698595-1.698595-1.258781-6.0000006.0000000.00
work_high_MWTEMPN-1.816036-1.816036-1.431292-6.0000006.0000000.00
work_high_OTHEMPN-2.187730-2.187730-1.870803-6.0000006.0000000.00
work_high_RETEMPN-2.207275-2.207275-2.207275-2.207275-2.2072750.01
work_low_AGREMPN-286.802086-286.802086-4.605170-6.0000006.0000000.00
work_low_FPSEMPN-1.507131-1.507131-1.645065-6.0000006.0000000.00
work_low_HEREMPN-0.818251-0.818251-0.959720-6.0000006.0000000.00
work_low_MWTEMPN-1.979965-1.979965-1.807889-6.0000006.0000000.00
work_low_OTHEMPN-2.020885-2.020885-2.120264-6.0000006.0000000.00
work_low_RETEMPN-2.047943-2.047943-2.047943-2.047943-2.0479430.01
work_med_AGREMPN-1490.624349-1490.624349-4.828314-6.0000006.0000000.00
work_med_FPSEMPN-2.150429-2.150429-1.624552-6.0000006.0000000.00
work_med_HEREMPN-1.605331-1.605331-1.123930-6.0000006.0000000.00
work_med_MWTEMPN-2.043346-2.043346-1.560648-6.0000006.0000000.00
work_med_OTHEMPN-2.171601-2.171601-1.973281-6.0000006.0000000.00
work_med_RETEMPN-2.120264-2.120264-2.120264-2.120264-2.1202640.01
work_veryhigh_AGREMPN-6.028955-6.028955-5.521461-6.0000006.0000000.00
work_veryhigh_FPSEMPN-1.838036-1.838036-1.309333-6.0000006.0000000.00
work_veryhigh_HEREMPN-1.992113-1.992113-1.422958-6.0000006.0000000.00
work_veryhigh_MWTEMPN-1.763204-1.763204-1.402424-6.0000006.0000000.00
work_veryhigh_OTHEMPN-2.509234-2.509234-1.924149-6.0000006.0000000.00
work_veryhigh_RETEMPN-2.375156-2.375156-2.375156-2.375156-2.3751560.01
\n", + "
" + ], + "text/plain": [ + " value best initvalue minimum \\\n", + "param_name \n", + "-999 -999.000000 -999.000000 -999.000000 -999.000000 \n", + "1 1.000000 1.000000 1.000000 1.000000 \n", + "coef_dist_0_1 -1.072002 -1.072002 -0.842800 -25.000000 \n", + "coef_dist_0_5_high 0.147163 0.147163 0.150000 -25.000000 \n", + "coef_dist_15_up -0.117017 -0.117017 -0.091700 -25.000000 \n", + "coef_dist_1_3 -0.433865 -0.433865 0.000000 -inf \n", + "coef_dist_3_5 -0.417069 -0.417069 0.000000 -inf \n", + "coef_dist_5_15 -0.155760 -0.155760 -0.128500 -25.000000 \n", + "coef_dist_5_up_high 0.025050 0.025050 0.020000 -25.000000 \n", + "coef_mode_logsum 0.074530 0.074530 0.300000 -25.000000 \n", + "work_high_AGREMPN -1.857041 -1.857041 -5.115996 -6.000000 \n", + "work_high_FPSEMPN -1.895566 -1.895566 -1.575037 -6.000000 \n", + "work_high_HEREMPN -1.698595 -1.698595 -1.258781 -6.000000 \n", + "work_high_MWTEMPN -1.816036 -1.816036 -1.431292 -6.000000 \n", + "work_high_OTHEMPN -2.187730 -2.187730 -1.870803 -6.000000 \n", + "work_high_RETEMPN -2.207275 -2.207275 -2.207275 -2.207275 \n", + "work_low_AGREMPN -286.802086 -286.802086 -4.605170 -6.000000 \n", + "work_low_FPSEMPN -1.507131 -1.507131 -1.645065 -6.000000 \n", + "work_low_HEREMPN -0.818251 -0.818251 -0.959720 -6.000000 \n", + "work_low_MWTEMPN -1.979965 -1.979965 -1.807889 -6.000000 \n", + "work_low_OTHEMPN -2.020885 -2.020885 -2.120264 -6.000000 \n", + "work_low_RETEMPN -2.047943 -2.047943 -2.047943 -2.047943 \n", + "work_med_AGREMPN -1490.624349 -1490.624349 -4.828314 -6.000000 \n", + "work_med_FPSEMPN -2.150429 -2.150429 -1.624552 -6.000000 \n", + "work_med_HEREMPN -1.605331 -1.605331 -1.123930 -6.000000 \n", + "work_med_MWTEMPN -2.043346 -2.043346 -1.560648 -6.000000 \n", + "work_med_OTHEMPN -2.171601 -2.171601 -1.973281 -6.000000 \n", + "work_med_RETEMPN -2.120264 -2.120264 -2.120264 -2.120264 \n", + "work_veryhigh_AGREMPN -6.028955 -6.028955 -5.521461 -6.000000 \n", + "work_veryhigh_FPSEMPN -1.838036 -1.838036 -1.309333 -6.000000 \n", + "work_veryhigh_HEREMPN -1.992113 -1.992113 -1.422958 -6.000000 \n", + "work_veryhigh_MWTEMPN -1.763204 -1.763204 -1.402424 -6.000000 \n", + "work_veryhigh_OTHEMPN -2.509234 -2.509234 -1.924149 -6.000000 \n", + "work_veryhigh_RETEMPN -2.375156 -2.375156 -2.375156 -2.375156 \n", + "\n", + " maximum nullvalue holdfast \n", + "param_name \n", + "-999 -999.000000 0.0 1 \n", + "1 1.000000 0.0 1 \n", + "coef_dist_0_1 25.000000 0.0 0 \n", + "coef_dist_0_5_high 25.000000 0.0 0 \n", + "coef_dist_15_up 25.000000 0.0 0 \n", + "coef_dist_1_3 inf 0.0 0 \n", + "coef_dist_3_5 inf 0.0 0 \n", + "coef_dist_5_15 25.000000 0.0 0 \n", + "coef_dist_5_up_high 25.000000 0.0 0 \n", + "coef_mode_logsum 25.000000 0.0 0 \n", + "work_high_AGREMPN 6.000000 0.0 0 \n", + "work_high_FPSEMPN 6.000000 0.0 0 \n", + "work_high_HEREMPN 6.000000 0.0 0 \n", + "work_high_MWTEMPN 6.000000 0.0 0 \n", + "work_high_OTHEMPN 6.000000 0.0 0 \n", + "work_high_RETEMPN -2.207275 0.0 1 \n", + "work_low_AGREMPN 6.000000 0.0 0 \n", + "work_low_FPSEMPN 6.000000 0.0 0 \n", + "work_low_HEREMPN 6.000000 0.0 0 \n", + "work_low_MWTEMPN 6.000000 0.0 0 \n", + "work_low_OTHEMPN 6.000000 0.0 0 \n", + "work_low_RETEMPN -2.047943 0.0 1 \n", + "work_med_AGREMPN 6.000000 0.0 0 \n", + "work_med_FPSEMPN 6.000000 0.0 0 \n", + "work_med_HEREMPN 6.000000 0.0 0 \n", + "work_med_MWTEMPN 6.000000 0.0 0 \n", + "work_med_OTHEMPN 6.000000 0.0 0 \n", + "work_med_RETEMPN -2.120264 0.0 1 \n", + "work_veryhigh_AGREMPN 6.000000 0.0 0 \n", + "work_veryhigh_FPSEMPN 6.000000 0.0 0 \n", + "work_veryhigh_HEREMPN 6.000000 0.0 0 \n", + "work_veryhigh_MWTEMPN 6.000000 0.0 0 \n", + "work_veryhigh_OTHEMPN 6.000000 0.0 0 \n", + "work_veryhigh_RETEMPN -2.375156 0.0 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
keyvalue
loglike-88684.18177107332
x\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
-999-999.000000
11.000000
coef_dist_0_1-1.072002
coef_dist_0_5_high0.147163
coef_dist_15_up-0.117017
coef_dist_1_3-0.433865
coef_dist_3_5-0.417069
coef_dist_5_15-0.155760
coef_dist_5_up_high0.025050
coef_mode_logsum0.074530
work_high_AGREMPN-1.857041
work_high_FPSEMPN-1.895566
work_high_HEREMPN-1.698595
work_high_MWTEMPN-1.816036
work_high_OTHEMPN-2.187730
work_high_RETEMPN-2.207275
work_low_AGREMPN-286.802086
work_low_FPSEMPN-1.507131
work_low_HEREMPN-0.818251
work_low_MWTEMPN-1.979965
work_low_OTHEMPN-2.020885
work_low_RETEMPN-2.047943
work_med_AGREMPN-1490.624349
work_med_FPSEMPN-2.150429
work_med_HEREMPN-1.605331
work_med_MWTEMPN-2.043346
work_med_OTHEMPN-2.171601
work_med_RETEMPN-2.120264
work_veryhigh_AGREMPN-6.028955
work_veryhigh_FPSEMPN-1.838036
work_veryhigh_HEREMPN-1.992113
work_veryhigh_MWTEMPN-1.763204
work_veryhigh_OTHEMPN-2.509234
work_veryhigh_RETEMPN-2.375156
tolerance2.5082874166498626e-07
stepsarray([0.25, 0.5 , 0.75, 1. , 1. , 1. , 1. , 1. ])
message'Optimization terminated successfully'
elapsed_time0:00:02.337866
method'BHHH'
n_cases28281
iteration_number8
" + ], + "text/plain": [ + "┣ loglike: -88684.18177107332\n", + "┣ x: -999 -999.000000\n", + "┃ 1 1.000000\n", + "┃ coef_dist_0_1 -1.072002\n", + "┃ coef_dist_0_5_high 0.147163\n", + "┃ coef_dist_15_up -0.117017\n", + "┃ coef_dist_1_3 -0.433865\n", + "┃ coef_dist_3_5 -0.417069\n", + "┃ coef_dist_5_15 -0.155760\n", + "┃ coef_dist_5_up_high 0.025050\n", + "┃ coef_mode_logsum 0.074530\n", + "┃ work_high_AGREMPN -1.857041\n", + "┃ work_high_FPSEMPN -1.895566\n", + "┃ work_high_HEREMPN -1.698595\n", + "┃ work_high_MWTEMPN -1.816036\n", + "┃ work_high_OTHEMPN -2.187730\n", + "┃ work_high_RETEMPN -2.207275\n", + "┃ work_low_AGREMPN -286.802086\n", + "┃ work_low_FPSEMPN -1.507131\n", + "┃ work_low_HEREMPN -0.818251\n", + "┃ work_low_MWTEMPN -1.979965\n", + "┃ work_low_OTHEMPN -2.020885\n", + "┃ work_low_RETEMPN -2.047943\n", + "┃ work_med_AGREMPN -1490.624349\n", + "┃ work_med_FPSEMPN -2.150429\n", + "┃ work_med_HEREMPN -1.605331\n", + "┃ work_med_MWTEMPN -2.043346\n", + "┃ work_med_OTHEMPN -2.171601\n", + "┃ work_med_RETEMPN -2.120264\n", + "┃ work_veryhigh_AGREMPN -6.028955\n", + "┃ work_veryhigh_FPSEMPN -1.838036\n", + "┃ work_veryhigh_HEREMPN -1.992113\n", + "┃ work_veryhigh_MWTEMPN -1.763204\n", + "┃ work_veryhigh_OTHEMPN -2.509234\n", + "┃ work_veryhigh_RETEMPN -2.375156\n", + "┃ dtype: float64\n", + "┣ tolerance: 2.5082874166498626e-07\n", + "┣ steps: array([0.25, 0.5 , 0.75, 1. , 1. , 1. , 1. , 1. ])\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ elapsed_time: datetime.timedelta(seconds=2, microseconds=337866)\n", + "┣ method: 'BHHH'\n", + "┣ n_cases: 28281\n", + "┣ iteration_number: 8" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with shush(stderr=True):\n", + " # swallow a bunch of error logging related to recovery from our previous estimation failure\n", + " result2 = model2.estimate(method=\"BHHH\", options={\"maxiter\": 1000})\n", + "\n", + "result2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can then review the original and revised models side-by-side to see the differences." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmodel2
Number of CasesAggregate28281.00000028281.000000
Log Likelihood at ConvergenceAggregate-88683.850386-88684.181771
Per Case-3.135810-3.135822
Log Likelihood at Null ParametersAggregate-124263.519724-124263.519724
Per Case-4.393887-4.393887
Rho Squared w.r.t. Null ParametersAggregate0.2863240.286322
\n", + "
" + ], + "text/plain": [ + " model model2\n", + "Number of Cases Aggregate 28281.000000 28281.000000\n", + "Log Likelihood at Convergence Aggregate -88683.850386 -88684.181771\n", + " Per Case -3.135810 -3.135822\n", + "Log Likelihood at Null Parameters Aggregate -124263.519724 -124263.519724\n", + " Per Case -4.393887 -4.393887\n", + "Rho Squared w.r.t. Null Parameters Aggregate 0.286324 0.286322" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.estimation_statistics_raw(),\n", + " \"model2\": model2.estimation_statistics_raw(),\n", + " }, axis=1).fillna(\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmodel2
ValueStd Errt StatSignifNull ValueConstrainedValueStd Errt StatSignifNull ValueConstrained
Parameter
-999-999.0.00NA0.0fixed value-999.0.00NA0.0fixed value
11.000.00NA0.0fixed value1.000.00NA0.0fixed value
coef_dist_0_1-1.040.105-9.89***0.0-1.070.0946-11.33***0.0
coef_dist_0_5_high0.1470.011412.86***0.00.1470.011412.86***0.0
coef_dist_15_up-0.1170.00211-55.56***0.0-0.1170.00211-55.55***0.0
coef_dist_1_2-0.4650.0428-10.86***0.0
coef_dist_2_5-0.4180.0116-36.15***0.0
coef_dist_5_15-0.1560.00276-56.40***0.0-0.1560.00283-55.09***0.0
coef_dist_5_up_high0.02510.0017614.22***0.00.02500.0017614.20***0.0
coef_mode_logsum0.07420.008378.87***0.00.07450.008368.91***0.0
work_high_AGREMPN-1.860.596-3.11**0.0-1.860.597-3.11**0.0
work_high_FPSEMPN-1.900.178-10.67***0.0-1.900.178-10.67***0.0
work_high_HEREMPN-1.700.193-8.81***0.0-1.700.193-8.81***0.0
work_high_MWTEMPN-1.820.188-9.68***0.0-1.820.188-9.68***0.0
work_high_OTHEMPN-2.190.207-10.56***0.0-2.190.207-10.56***0.0
work_high_RETEMPN-2.210.00NA0.0fixed value-2.210.00NA0.0fixed value
work_low_AGREMPN-71.87.07e-12-BIG***0.0-287.NANA0.0
work_low_FPSEMPN-1.510.346-4.36***0.0-1.510.346-4.36***0.0
work_low_HEREMPN-0.8190.360-2.27*0.0-0.8180.361-2.27*0.0
work_low_MWTEMPN-1.980.387-5.12***0.0-1.980.387-5.11***0.0
work_low_OTHEMPN-2.020.407-4.97***0.0-2.020.407-4.96***0.0
work_low_RETEMPN-2.050.00NA0.0fixed value-2.050.00NA0.0fixed value
work_med_AGREMPN-8.09e+64NANA0.0-1.49e+03NANA0.0
work_med_FPSEMPN-2.150.194-11.06***0.0-2.150.195-11.05***0.0
work_med_HEREMPN-1.610.205-7.85***0.0-1.610.205-7.84***0.0
work_med_MWTEMPN-2.040.210-9.74***0.0-2.040.210-9.73***0.0
work_med_OTHEMPN-2.170.222-9.77***0.0-2.170.222-9.77***0.0
work_med_RETEMPN-2.120.00NA0.0fixed value-2.120.00NA0.0fixed value
work_veryhigh_AGREMPN-6.0424.2-0.250.0-6.0323.7-0.250.0
work_veryhigh_FPSEMPN-1.840.152-12.10***0.0-1.840.152-12.10***0.0
work_veryhigh_HEREMPN-1.990.170-11.71***0.0-1.990.170-11.71***0.0
work_veryhigh_MWTEMPN-1.760.159-11.08***0.0-1.760.159-11.08***0.0
work_veryhigh_OTHEMPN-2.510.189-13.24***0.0-2.510.189-13.24***0.0
work_veryhigh_RETEMPN-2.380.00NA0.0fixed value-2.380.00NA0.0fixed value
coef_dist_1_3-0.4340.0202-21.48***0.0
coef_dist_3_5-0.4170.0156-26.81***0.0
\n", + "
" + ], + "text/plain": [ + " model \\\n", + " Value Std Err t Stat Signif Null Value \n", + "Parameter \n", + "-999 -999.  0.00  NA 0.0 \n", + "1  1.00  0.00  NA 0.0 \n", + "coef_dist_0_1 -1.04  0.105 -9.89 *** 0.0 \n", + "coef_dist_0_5_high  0.147  0.0114  12.86 *** 0.0 \n", + "coef_dist_15_up -0.117  0.00211 -55.56 *** 0.0 \n", + "coef_dist_1_2 -0.465  0.0428 -10.86 *** 0.0 \n", + "coef_dist_2_5 -0.418  0.0116 -36.15 *** 0.0 \n", + "coef_dist_5_15 -0.156  0.00276 -56.40 *** 0.0 \n", + "coef_dist_5_up_high  0.0251  0.00176  14.22 *** 0.0 \n", + "coef_mode_logsum  0.0742  0.00837  8.87 *** 0.0 \n", + "work_high_AGREMPN -1.86  0.596 -3.11 ** 0.0 \n", + "work_high_FPSEMPN -1.90  0.178 -10.67 *** 0.0 \n", + "work_high_HEREMPN -1.70  0.193 -8.81 *** 0.0 \n", + "work_high_MWTEMPN -1.82  0.188 -9.68 *** 0.0 \n", + "work_high_OTHEMPN -2.19  0.207 -10.56 *** 0.0 \n", + "work_high_RETEMPN -2.21  0.00  NA 0.0 \n", + "work_low_AGREMPN -71.8  7.07e-12 -BIG *** 0.0 \n", + "work_low_FPSEMPN -1.51  0.346 -4.36 *** 0.0 \n", + "work_low_HEREMPN -0.819  0.360 -2.27 * 0.0 \n", + "work_low_MWTEMPN -1.98  0.387 -5.12 *** 0.0 \n", + "work_low_OTHEMPN -2.02  0.407 -4.97 *** 0.0 \n", + "work_low_RETEMPN -2.05  0.00  NA 0.0 \n", + "work_med_AGREMPN -8.09e+64  NA  NA 0.0 \n", + "work_med_FPSEMPN -2.15  0.194 -11.06 *** 0.0 \n", + "work_med_HEREMPN -1.61  0.205 -7.85 *** 0.0 \n", + "work_med_MWTEMPN -2.04  0.210 -9.74 *** 0.0 \n", + "work_med_OTHEMPN -2.17  0.222 -9.77 *** 0.0 \n", + "work_med_RETEMPN -2.12  0.00  NA 0.0 \n", + "work_veryhigh_AGREMPN -6.04  24.2 -0.25 0.0 \n", + "work_veryhigh_FPSEMPN -1.84  0.152 -12.10 *** 0.0 \n", + "work_veryhigh_HEREMPN -1.99  0.170 -11.71 *** 0.0 \n", + "work_veryhigh_MWTEMPN -1.76  0.159 -11.08 *** 0.0 \n", + "work_veryhigh_OTHEMPN -2.51  0.189 -13.24 *** 0.0 \n", + "work_veryhigh_RETEMPN -2.38  0.00  NA 0.0 \n", + "coef_dist_1_3 \n", + "coef_dist_3_5 \n", + "\n", + " model2 \\\n", + " Constrained Value Std Err t Stat Signif \n", + "Parameter \n", + "-999 fixed value -999.  0.00  NA \n", + "1 fixed value  1.00  0.00  NA \n", + "coef_dist_0_1 -1.07  0.0946 -11.33 *** \n", + "coef_dist_0_5_high  0.147  0.0114  12.86 *** \n", + "coef_dist_15_up -0.117  0.00211 -55.55 *** \n", + "coef_dist_1_2 \n", + "coef_dist_2_5 \n", + "coef_dist_5_15 -0.156  0.00283 -55.09 *** \n", + "coef_dist_5_up_high  0.0250  0.00176  14.20 *** \n", + "coef_mode_logsum  0.0745  0.00836  8.91 *** \n", + "work_high_AGREMPN -1.86  0.597 -3.11 ** \n", + "work_high_FPSEMPN -1.90  0.178 -10.67 *** \n", + "work_high_HEREMPN -1.70  0.193 -8.81 *** \n", + "work_high_MWTEMPN -1.82  0.188 -9.68 *** \n", + "work_high_OTHEMPN -2.19  0.207 -10.56 *** \n", + "work_high_RETEMPN fixed value -2.21  0.00  NA \n", + "work_low_AGREMPN -287.  NA  NA \n", + "work_low_FPSEMPN -1.51  0.346 -4.36 *** \n", + "work_low_HEREMPN -0.818  0.361 -2.27 * \n", + "work_low_MWTEMPN -1.98  0.387 -5.11 *** \n", + "work_low_OTHEMPN -2.02  0.407 -4.96 *** \n", + "work_low_RETEMPN fixed value -2.05  0.00  NA \n", + "work_med_AGREMPN -1.49e+03  NA  NA \n", + "work_med_FPSEMPN -2.15  0.195 -11.05 *** \n", + "work_med_HEREMPN -1.61  0.205 -7.84 *** \n", + "work_med_MWTEMPN -2.04  0.210 -9.73 *** \n", + "work_med_OTHEMPN -2.17  0.222 -9.77 *** \n", + "work_med_RETEMPN fixed value -2.12  0.00  NA \n", + "work_veryhigh_AGREMPN -6.03  23.7 -0.25 \n", + "work_veryhigh_FPSEMPN -1.84  0.152 -12.10 *** \n", + "work_veryhigh_HEREMPN -1.99  0.170 -11.71 *** \n", + "work_veryhigh_MWTEMPN -1.76  0.159 -11.08 *** \n", + "work_veryhigh_OTHEMPN -2.51  0.189 -13.24 *** \n", + "work_veryhigh_RETEMPN fixed value -2.38  0.00  NA \n", + "coef_dist_1_3 -0.434  0.0202 -21.48 *** \n", + "coef_dist_3_5 -0.417  0.0156 -26.81 *** \n", + "\n", + " \n", + " Null Value Constrained \n", + "Parameter \n", + "-999 0.0 fixed value \n", + "1 0.0 fixed value \n", + "coef_dist_0_1 0.0 \n", + "coef_dist_0_5_high 0.0 \n", + "coef_dist_15_up 0.0 \n", + "coef_dist_1_2 \n", + "coef_dist_2_5 \n", + "coef_dist_5_15 0.0 \n", + "coef_dist_5_up_high 0.0 \n", + "coef_mode_logsum 0.0 \n", + "work_high_AGREMPN 0.0 \n", + "work_high_FPSEMPN 0.0 \n", + "work_high_HEREMPN 0.0 \n", + "work_high_MWTEMPN 0.0 \n", + "work_high_OTHEMPN 0.0 \n", + "work_high_RETEMPN 0.0 fixed value \n", + "work_low_AGREMPN 0.0 \n", + "work_low_FPSEMPN 0.0 \n", + "work_low_HEREMPN 0.0 \n", + "work_low_MWTEMPN 0.0 \n", + "work_low_OTHEMPN 0.0 \n", + "work_low_RETEMPN 0.0 fixed value \n", + "work_med_AGREMPN 0.0 \n", + "work_med_FPSEMPN 0.0 \n", + "work_med_HEREMPN 0.0 \n", + "work_med_MWTEMPN 0.0 \n", + "work_med_OTHEMPN 0.0 \n", + "work_med_RETEMPN 0.0 fixed value \n", + "work_veryhigh_AGREMPN 0.0 \n", + "work_veryhigh_FPSEMPN 0.0 \n", + "work_veryhigh_HEREMPN 0.0 \n", + "work_veryhigh_MWTEMPN 0.0 \n", + "work_veryhigh_OTHEMPN 0.0 \n", + "work_veryhigh_RETEMPN 0.0 fixed value \n", + "coef_dist_1_3 0.0 \n", + "coef_dist_3_5 0.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.parameter_summary().data,\n", + " \"model2\": model2.parameter_summary().data,\n", + " }, axis=1).fillna(\"\"))" ] } ], @@ -4905,7 +5564,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4919,7 +5578,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/04_auto_ownership.ipynb b/activitysim/examples/example_estimation/notebooks/04_auto_ownership.ipynb index 8a4206918f..c637ed5407 100644 --- a/activitysim/examples/example_estimation/notebooks/04_auto_ownership.ipynb +++ b/activitysim/examples/example_estimation/notebooks/04_auto_ownership.ipynb @@ -34,34 +34,82 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare, backup\n", + "prepare()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data and prep model for estimation" + "In this demo notebook, we will (later) edit the model spec file. But for demo purposes, we want to\n", + "make sure we are starting from the \"original\" spec file, so we'll check that now. For actual \n", + "applications, this step would not be necessary." ] }, { @@ -69,11 +117,41 @@ "execution_count": 3, "metadata": {}, "outputs": [], + "source": [ + "backup(\"output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_SPEC.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load data and prep model for estimation" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"auto_ownership\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "model, data = component_model(\n", + " modelname, \n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -94,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -206,7 +284,7 @@ "[67 rows x 2 columns]" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -224,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -801,7 +879,7 @@ "28 coef_cars4_auto_time_saving_per_worker " ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -819,7 +897,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -854,15 +932,15 @@ " util_presence_children_0_4\n", " util_presence_children_5_17\n", " ...\n", - " HSENROLL\n", - " COLLFTE\n", - " COLLPTE\n", - " TOPOLOGY\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", + " auPkTotal\n", + " auOpRetail\n", + " auOpTotal\n", + " trPkRetail\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " override_choice_code\n", " \n", " \n", @@ -892,9 +970,9 @@ " \n", " \n", " \n", - " 166\n", - " 0\n", - " 0\n", + " 45\n", + " 1\n", + " 1\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -904,21 +982,21 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.21263\n", - " 24.783133\n", - " 31.566265\n", - " 13.883217\n", - " False\n", - " 1\n", + " 12.513805\n", + " 9.924660\n", + " 12.562639\n", + " 4.193237\n", + " 6.875144\n", + " 3.952128\n", + " 6.590585\n", + " 2.194792\n", + " 6.359507\n", + " 2\n", " \n", " \n", - " 197\n", - " 0\n", - " 0\n", + " 499\n", + " 1\n", + " 1\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -928,19 +1006,19 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.68156\n", - " 56.783784\n", - " 10.459459\n", - " 8.832526\n", - " False\n", - " 1\n", + " 12.823009\n", + " 10.284673\n", + " 12.868645\n", + " 6.639963\n", + " 9.364105\n", + " 6.531079\n", + " 9.259002\n", + " 5.955868\n", + " 7.795004\n", + " 2\n", " \n", " \n", - " 268\n", + " 659\n", " 1\n", " 1\n", " 0.0\n", @@ -952,19 +1030,19 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 3598.08521\n", - " 0.00000\n", - " 1\n", - " 3.29100\n", - " 11.947644\n", - " 45.167539\n", - " 9.448375\n", - " True\n", + " 12.663406\n", + " 10.247505\n", + " 12.762286\n", + " 6.001466\n", + " 8.409169\n", + " 5.786652\n", + " 8.279842\n", + " 5.798886\n", + " 7.900061\n", " 2\n", " \n", " \n", - " 375\n", + " 948\n", " 1\n", " 1\n", " 0.0\n", @@ -976,20 +1054,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 4.11499\n", - " 73.040169\n", - " 28.028350\n", - " 20.255520\n", - " True\n", + " 12.710919\n", + " 10.150335\n", + " 12.777635\n", + " 5.172974\n", + " 7.850360\n", + " 4.893929\n", + " 7.571579\n", + " 4.895220\n", + " 7.409345\n", " 2\n", " \n", " \n", - " 387\n", - " 1\n", + " 1276\n", + " 0\n", " 1\n", " 0.0\n", " 0.0\n", @@ -1000,15 +1078,15 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 227.78223\n", - " 41.22827\n", - " 1\n", - " 3.83527\n", - " 26.631579\n", - " 45.868421\n", - " 16.848945\n", - " False\n", + " 12.661307\n", + " 10.258471\n", + " 12.759529\n", + " 6.039019\n", + " 8.348963\n", + " 5.778785\n", + " 8.070525\n", + " 6.073537\n", + " 7.851667\n", " 2\n", " \n", " \n", @@ -1036,7 +1114,7 @@ " ...\n", " \n", " \n", - " 2863464\n", + " 2874468\n", " 1\n", " 1\n", " 0.0\n", @@ -1048,21 +1126,21 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 72.14684\n", - " 0.00000\n", - " 1\n", - " 5.52555\n", - " 38.187500\n", - " 978.875000\n", - " 36.753679\n", - " False\n", + " 10.036845\n", + " 8.113608\n", + " 10.265845\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 2\n", " \n", " \n", - " 2863483\n", - " 1\n", + " 2874567\n", " 1\n", + " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1072,20 +1150,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 3\n", - " 3.99027\n", - " 39.838272\n", - " 71.693001\n", - " 25.608291\n", - " True\n", - " 2\n", + " 8.811126\n", + " 6.560015\n", + " 8.886403\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 1\n", " \n", " \n", - " 2863806\n", - " 1\n", + " 2874576\n", + " 0\n", " 1\n", " 0.0\n", " 0.0\n", @@ -1096,19 +1174,19 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 4.27539\n", - " 51.675676\n", - " 47.216216\n", - " 24.672699\n", - " False\n", + " 8.811126\n", + " 6.560015\n", + " 8.886403\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 2\n", " \n", " \n", - " 2864518\n", + " 2874826\n", " 1\n", " 1\n", " 0.0\n", @@ -1120,20 +1198,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 25.52083\n", - " 15.938148\n", - " 551.353820\n", - " 15.490363\n", - " True\n", + " 11.356335\n", + " 9.298380\n", + " 11.721935\n", + " 1.052528\n", + " 2.925968\n", + " 0.494776\n", + " 2.006432\n", + " 3.782008\n", + " 6.208875\n", " 2\n", " \n", " \n", - " 2864688\n", - " 1\n", + " 2875013\n", + " 0\n", " 1\n", " 0.0\n", " 0.0\n", @@ -1144,111 +1222,111 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.29134\n", - " 16.000000\n", - " 31.644068\n", - " 10.626823\n", - " False\n", + " 11.663277\n", + " 9.588527\n", + " 12.019407\n", + " 3.053361\n", + " 5.871246\n", + " 0.141304\n", + " 0.776133\n", + " 4.090554\n", + " 6.388513\n", " 2\n", " \n", " \n", "\n", - "

2000 rows × 95 columns

\n", + "

20000 rows × 95 columns

\n", "" ], "text/plain": [ " model_choice override_choice util_drivers_2 util_drivers_3 \\\n", "household_id \n", - "166 0 0 0.0 0.0 \n", - "197 0 0 0.0 0.0 \n", - "268 1 1 0.0 0.0 \n", - "375 1 1 0.0 0.0 \n", - "387 1 1 0.0 0.0 \n", + "45 1 1 0.0 0.0 \n", + "499 1 1 0.0 0.0 \n", + "659 1 1 0.0 0.0 \n", + "948 1 1 0.0 0.0 \n", + "1276 0 1 0.0 0.0 \n", "... ... ... ... ... \n", - "2863464 1 1 0.0 0.0 \n", - "2863483 1 1 0.0 0.0 \n", - "2863806 1 1 0.0 0.0 \n", - "2864518 1 1 0.0 0.0 \n", - "2864688 1 1 0.0 0.0 \n", + "2874468 1 1 0.0 0.0 \n", + "2874567 1 0 0.0 0.0 \n", + "2874576 0 1 0.0 0.0 \n", + "2874826 1 1 0.0 0.0 \n", + "2875013 0 1 0.0 0.0 \n", "\n", " util_drivers_4_up util_persons_16_17 util_persons_18_24 \\\n", "household_id \n", - "166 0.0 0.0 0.0 \n", - "197 0.0 0.0 0.0 \n", - "268 0.0 0.0 0.0 \n", - "375 0.0 0.0 0.0 \n", - "387 0.0 0.0 0.0 \n", + "45 0.0 0.0 0.0 \n", + "499 0.0 0.0 0.0 \n", + "659 0.0 0.0 0.0 \n", + "948 0.0 0.0 0.0 \n", + "1276 0.0 0.0 0.0 \n", "... ... ... ... \n", - "2863464 0.0 0.0 0.0 \n", - "2863483 0.0 0.0 0.0 \n", - "2863806 0.0 0.0 0.0 \n", - "2864518 0.0 0.0 0.0 \n", - "2864688 0.0 0.0 0.0 \n", + "2874468 0.0 0.0 0.0 \n", + "2874567 0.0 0.0 0.0 \n", + "2874576 0.0 0.0 0.0 \n", + "2874826 0.0 0.0 0.0 \n", + "2875013 0.0 0.0 0.0 \n", "\n", " util_persons_25_34 util_presence_children_0_4 \\\n", "household_id \n", - "166 0.0 0.0 \n", - "197 0.0 0.0 \n", - "268 0.0 0.0 \n", - "375 0.0 0.0 \n", - "387 0.0 0.0 \n", + "45 0.0 0.0 \n", + "499 0.0 0.0 \n", + "659 0.0 0.0 \n", + "948 0.0 0.0 \n", + "1276 0.0 0.0 \n", "... ... ... \n", - "2863464 0.0 0.0 \n", - "2863483 0.0 0.0 \n", - "2863806 0.0 0.0 \n", - "2864518 0.0 0.0 \n", - "2864688 0.0 0.0 \n", + "2874468 0.0 0.0 \n", + "2874567 0.0 0.0 \n", + "2874576 0.0 0.0 \n", + "2874826 0.0 0.0 \n", + "2875013 0.0 0.0 \n", "\n", - " util_presence_children_5_17 ... HSENROLL COLLFTE \\\n", - "household_id ... \n", - "166 0.0 ... 0.0 0.00000 \n", - "197 0.0 ... 0.0 0.00000 \n", - "268 0.0 ... 0.0 3598.08521 \n", - "375 0.0 ... 0.0 0.00000 \n", - "387 0.0 ... 0.0 227.78223 \n", - "... ... ... ... ... \n", - "2863464 0.0 ... 0.0 72.14684 \n", - "2863483 0.0 ... 0.0 0.00000 \n", - "2863806 0.0 ... 0.0 0.00000 \n", - "2864518 0.0 ... 0.0 0.00000 \n", - "2864688 0.0 ... 0.0 0.00000 \n", + " util_presence_children_5_17 ... auPkTotal auOpRetail \\\n", + "household_id ... \n", + "45 0.0 ... 12.513805 9.924660 \n", + "499 0.0 ... 12.823009 10.284673 \n", + "659 0.0 ... 12.663406 10.247505 \n", + "948 0.0 ... 12.710919 10.150335 \n", + "1276 0.0 ... 12.661307 10.258471 \n", + "... ... ... ... ... \n", + "2874468 0.0 ... 10.036845 8.113608 \n", + "2874567 0.0 ... 8.811126 6.560015 \n", + "2874576 0.0 ... 8.811126 6.560015 \n", + "2874826 0.0 ... 11.356335 9.298380 \n", + "2875013 0.0 ... 11.663277 9.588527 \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "household_id \n", - "166 0.00000 1 3.21263 24.783133 \n", - "197 0.00000 1 3.68156 56.783784 \n", - "268 0.00000 1 3.29100 11.947644 \n", - "375 0.00000 1 4.11499 73.040169 \n", - "387 41.22827 1 3.83527 26.631579 \n", - "... ... ... ... ... \n", - "2863464 0.00000 1 5.52555 38.187500 \n", - "2863483 0.00000 3 3.99027 39.838272 \n", - "2863806 0.00000 1 4.27539 51.675676 \n", - "2864518 0.00000 1 25.52083 15.938148 \n", - "2864688 0.00000 1 3.29134 16.000000 \n", + " auOpTotal trPkRetail trPkTotal trOpRetail trOpTotal \\\n", + "household_id \n", + "45 12.562639 4.193237 6.875144 3.952128 6.590585 \n", + "499 12.868645 6.639963 9.364105 6.531079 9.259002 \n", + "659 12.762286 6.001466 8.409169 5.786652 8.279842 \n", + "948 12.777635 5.172974 7.850360 4.893929 7.571579 \n", + "1276 12.759529 6.039019 8.348963 5.778785 8.070525 \n", + "... ... ... ... ... ... \n", + "2874468 10.265845 0.000000 0.000000 0.000000 0.000000 \n", + "2874567 8.886403 0.000000 0.000000 0.000000 0.000000 \n", + "2874576 8.886403 0.000000 0.000000 0.000000 0.000000 \n", + "2874826 11.721935 1.052528 2.925968 0.494776 2.006432 \n", + "2875013 12.019407 3.053361 5.871246 0.141304 0.776133 \n", "\n", - " employment_density density_index is_cbd override_choice_code \n", - "household_id \n", - "166 31.566265 13.883217 False 1 \n", - "197 10.459459 8.832526 False 1 \n", - "268 45.167539 9.448375 True 2 \n", - "375 28.028350 20.255520 True 2 \n", - "387 45.868421 16.848945 False 2 \n", - "... ... ... ... ... \n", - "2863464 978.875000 36.753679 False 2 \n", - "2863483 71.693001 25.608291 True 2 \n", - "2863806 47.216216 24.672699 False 2 \n", - "2864518 551.353820 15.490363 True 2 \n", - "2864688 31.644068 10.626823 False 2 \n", + " nmRetail nmTotal override_choice_code \n", + "household_id \n", + "45 2.194792 6.359507 2 \n", + "499 5.955868 7.795004 2 \n", + "659 5.798886 7.900061 2 \n", + "948 4.895220 7.409345 2 \n", + "1276 6.073537 7.851667 2 \n", + "... ... ... ... \n", + "2874468 0.000000 0.000000 2 \n", + "2874567 0.000000 0.000000 1 \n", + "2874576 0.000000 0.000000 2 \n", + "2874826 3.782008 6.208875 2 \n", + "2875013 4.090554 6.388513 2 \n", "\n", - "[2000 rows x 95 columns]" + "[20000 rows x 95 columns]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -1268,20 +1346,13 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 015 [Optimization terminated successfully.]

" + "

Iteration 067 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1293,7 +1364,7 @@ { "data": { "text/html": [ - "

Best LL = -1732.441809546802

" + "

Best LL = -18485.49502669456

" ], "text/plain": [ "" @@ -1324,70 +1395,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_cars1_asc\n", - " 4.744711\n", + " 1.337433\n", + " 1.337433\n", " 1.1865\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4.744711\n", " \n", " \n", " coef_cars1_asc_county\n", - " -0.566000\n", + " -0.655949\n", + " -0.655949\n", " -0.5660\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.566000\n", " \n", " \n", " coef_cars1_asc_marin\n", - " -0.243396\n", + " -0.168475\n", + " -0.168475\n", " -0.2434\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.243396\n", " \n", " \n", " coef_cars1_asc_san_francisco\n", - " 3.984111\n", + " 0.324519\n", + " 0.324519\n", " 0.4259\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3.984111\n", " \n", " \n", " coef_cars1_auto_time_saving_per_worker\n", - " -0.039384\n", + " 0.394451\n", + " 0.394451\n", " 0.4707\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.039384\n", " \n", " \n", " ...\n", @@ -1398,162 +1473,101 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_retail_auto_no_workers\n", - " -0.637704\n", + " 0.039844\n", + " 0.039844\n", " 0.0626\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.637704\n", " \n", " \n", " coef_retail_auto_workers\n", - " -0.531112\n", + " 0.155792\n", + " 0.155792\n", " 0.1646\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.531112\n", " \n", " \n", " coef_retail_non_motor\n", " -0.030000\n", + " -0.030000\n", " -0.0300\n", + " -0.03\n", + " -0.03\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " -0.030000\n", " \n", " \n", " coef_retail_transit_no_workers\n", - " -0.333447\n", + " -0.307701\n", + " -0.307701\n", " -0.3053\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.333447\n", " \n", " \n", " coef_retail_transit_workers\n", - " -0.464382\n", + " -0.524658\n", + " -0.524658\n", " -0.5117\n", + " -50.00\n", + " 50.00\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.464382\n", " \n", " \n", "\n", - "

66 rows × 8 columns

\n", + "

66 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue nullvalue \\\n", - "coef_cars1_asc 4.744711 1.1865 0.0 \n", - "coef_cars1_asc_county -0.566000 -0.5660 0.0 \n", - "coef_cars1_asc_marin -0.243396 -0.2434 0.0 \n", - "coef_cars1_asc_san_francisco 3.984111 0.4259 0.0 \n", - "coef_cars1_auto_time_saving_per_worker -0.039384 0.4707 0.0 \n", - "... ... ... ... \n", - "coef_retail_auto_no_workers -0.637704 0.0626 0.0 \n", - "coef_retail_auto_workers -0.531112 0.1646 0.0 \n", - "coef_retail_non_motor -0.030000 -0.0300 0.0 \n", - "coef_retail_transit_no_workers -0.333447 -0.3053 0.0 \n", - "coef_retail_transit_workers -0.464382 -0.5117 0.0 \n", - "\n", - " minimum maximum holdfast note \\\n", - "coef_cars1_asc NaN NaN 0 \n", - "coef_cars1_asc_county NaN NaN 0 \n", - "coef_cars1_asc_marin NaN NaN 0 \n", - "coef_cars1_asc_san_francisco NaN NaN 0 \n", - "coef_cars1_auto_time_saving_per_worker NaN NaN 0 \n", - "... ... ... ... ... \n", - "coef_retail_auto_no_workers NaN NaN 0 \n", - "coef_retail_auto_workers NaN NaN 0 \n", - "coef_retail_non_motor NaN NaN 1 \n", - "coef_retail_transit_no_workers NaN NaN 0 \n", - "coef_retail_transit_workers NaN NaN 0 \n", + " value best initvalue \\\n", + "param_name \n", + "coef_cars1_asc 1.337433 1.337433 1.1865 \n", + "coef_cars1_asc_county -0.655949 -0.655949 -0.5660 \n", + "coef_cars1_asc_marin -0.168475 -0.168475 -0.2434 \n", + "coef_cars1_asc_san_francisco 0.324519 0.324519 0.4259 \n", + "coef_cars1_auto_time_saving_per_worker 0.394451 0.394451 0.4707 \n", + "... ... ... ... \n", + "coef_retail_auto_no_workers 0.039844 0.039844 0.0626 \n", + "coef_retail_auto_workers 0.155792 0.155792 0.1646 \n", + "coef_retail_non_motor -0.030000 -0.030000 -0.0300 \n", + "coef_retail_transit_no_workers -0.307701 -0.307701 -0.3053 \n", + "coef_retail_transit_workers -0.524658 -0.524658 -0.5117 \n", "\n", - " best \n", - "coef_cars1_asc 4.744711 \n", - "coef_cars1_asc_county -0.566000 \n", - "coef_cars1_asc_marin -0.243396 \n", - "coef_cars1_asc_san_francisco 3.984111 \n", - "coef_cars1_auto_time_saving_per_worker -0.039384 \n", - "... ... \n", - "coef_retail_auto_no_workers -0.637704 \n", - "coef_retail_auto_workers -0.531112 \n", - "coef_retail_non_motor -0.030000 \n", - "coef_retail_transit_no_workers -0.333447 \n", - "coef_retail_transit_workers -0.464382 \n", + " minimum maximum nullvalue holdfast \n", + "param_name \n", + "coef_cars1_asc -50.00 50.00 0.0 0 \n", + "coef_cars1_asc_county -50.00 50.00 0.0 0 \n", + "coef_cars1_asc_marin -50.00 50.00 0.0 0 \n", + "coef_cars1_asc_san_francisco -50.00 50.00 0.0 0 \n", + "coef_cars1_auto_time_saving_per_worker -50.00 50.00 0.0 0 \n", + "... ... ... ... ... \n", + "coef_retail_auto_no_workers -50.00 50.00 0.0 0 \n", + "coef_retail_auto_workers -50.00 50.00 0.0 0 \n", + "coef_retail_non_motor -0.03 -0.03 0.0 1 \n", + "coef_retail_transit_no_workers -50.00 50.00 0.0 0 \n", + "coef_retail_transit_workers -50.00 50.00 0.0 0 \n", "\n", - "[66 rows x 8 columns]" + "[66 rows x 7 columns]" ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 9.359944885353407e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.107476782860855e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 7.627843595130013e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.990378290025734e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.0563705701904108e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.1225524327726755e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2258577937616875e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.935415350933392e-18 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.2182226767165389e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.440720135351098e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 6.0219186659143e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.124994084916672e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.288651679141822e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1653818878831003e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.1310833938776723e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7070817993508089e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.3099078937960036e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " model.estimate()\n" - ] - }, { "data": { "text/html": [ - "
keyvalue
loglike-1732.441809546802
x\n", + "
keyvalue
x\n", " \n", " \n", " \n", @@ -1563,23 +1577,23 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1587,11 +1601,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1603,11 +1617,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1623,7 +1637,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1631,11 +1645,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1643,175 +1657,175 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1819,816 +1833,3969 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_cars1_asc4.7447111.337433
coef_cars1_asc_county-0.566000-0.655949
coef_cars1_asc_marin-0.243396-0.168475
coef_cars1_asc_san_francisco3.9841110.324519
coef_cars1_auto_time_saving_per_worker-0.0393840.394451
coef_cars1_density_0_10_no_workers
coef_cars1_density_10_up_no_workers-0.006930-0.014457
coef_cars1_density_10_up_workers-0.016448-0.018280
coef_cars1_drivers_2
coef_cars1_drivers_4_up2.0455452.010834
coef_cars1_hh_income_0_30k0.0285640.045617
coef_cars1_hh_income_30_up
coef_cars1_persons_18_24-0.448145-0.475768
coef_cars1_persons_25_34
coef_cars1_presence_children_0_40.4863210.486627
coef_cars1_presence_children_5_17-0.2342660.038980
coef_cars234_asc_marin
coef_cars234_presence_children_0_40.5901130.834181
coef_cars2_asc2.466763-0.816912
coef_cars2_asc_county-0.442900-0.534108
coef_cars2_asc_san_francisco4.0196630.395165
coef_cars2_auto_time_saving_per_worker0.0106060.625959
coef_cars2_density_0_10_no_workers-0.189423-0.188961
coef_cars2_density_10_up_no_workers-0.121021-0.118760
coef_cars2_drivers_22.9451532.883946
coef_cars2_drivers_33.5950543.464192
coef_cars2_drivers_4_up6.8564056.182053
coef_cars2_hh_income_0_30k0.0622690.055723
coef_cars2_hh_income_30_up0.0072880.007093
coef_cars2_num_workers_clip_3-0.0282580.316983
coef_cars2_persons_16_17-1.439330-0.845210
coef_cars2_persons_18_24-0.942633-0.990269
coef_cars2_persons_25_34-0.471640-0.379371
coef_cars2_presence_children_5_170.1645260.327420
coef_cars34_asc_county-0.237200-0.260727
coef_cars34_asc_san_francisco-180.6108020.055894
coef_cars34_density_0_10_no_workers-0.377292-0.342857
coef_cars34_density_10_up_no_workers-0.211272-0.255253
coef_cars34_persons_16_17-1.955221-1.816227
coef_cars34_persons_18_24-0.988280-1.014724
coef_cars34_persons_25_34-0.914993-0.745197
coef_cars34_presence_children_5_170.4654180.541541
coef_cars3_asc185.820626-3.427743
coef_cars3_auto_time_saving_per_worker0.0094180.538213
coef_cars3_drivers_22.3528283.329318
coef_cars3_drivers_35.0484885.702014
coef_cars3_drivers_4_up8.3179508.643466
coef_cars3_hh_income_0_30k0.0519870.064430
coef_cars3_hh_income_30_up0.0047160.009129
coef_cars3_num_workers_clip_30.3741280.650136
coef_cars4_asc-375.140428-5.526492
coef_cars4_auto_time_saving_per_worker-0.1472990.834093
coef_cars4_drivers_2561.0150572.649806
coef_cars4_drivers_3564.4901585.329905
coef_cars4_drivers_4_up568.2725149.423154
coef_cars4_hh_income_0_30k0.0358320.071838
coef_cars4_hh_income_30_up0.0130760.013164
coef_cars4_num_workers_clip_30.6996560.948575
coef_retail_auto_no_workers-0.6377040.039844
coef_retail_auto_workers-0.5311120.155792
coef_retail_non_motor
coef_retail_transit_no_workers-0.333447-0.307701
coef_retail_transit_workers-0.464382-0.524658
tolerance4.356665489100602e-06
steps
array([1. , 1. , 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n",
-       "       0.5, 0.5])
message'Optimization terminated successfully.'
elapsed_time0:00:00.484879
method'bhhh'
n_cases2000
iteration_number15
logloss0.866220904773401
" - ], - "text/plain": [ - "┣ loglike: -1732.441809546802\n", - "┣ x: coef_cars1_asc 4.744711\n", - "┃ coef_cars1_asc_county -0.566000\n", - "┃ coef_cars1_asc_marin -0.243396\n", - "┃ coef_cars1_asc_san_francisco 3.984111\n", - "┃ coef_cars1_auto_time_saving_per_worker -0.039384\n", - "┃ ... \n", - "┃ coef_retail_auto_no_workers -0.637704\n", - "┃ coef_retail_auto_workers -0.531112\n", - "┃ coef_retail_non_motor -0.030000\n", - "┃ coef_retail_transit_no_workers -0.333447\n", - "┃ coef_retail_transit_workers -0.464382\n", - "┃ Length: 66, dtype: float64\n", - "┣ tolerance: 4.356665489100602e-06\n", - "┣ steps: array([1. , 1. , 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", - "┃ 0.5, 0.5])\n", - "┣ message: 'Optimization terminated successfully.'\n", - "┣ elapsed_time: datetime.timedelta(microseconds=484879)\n", - "┣ method: 'bhhh'\n", - "┣ n_cases: 2000\n", - "┣ iteration_number: 15\n", - "┣ logloss: 0.866220904773401" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.estimate()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Estimated coefficients" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_cars1_asc 4.74 2.66 1.78 NA 0.00
coef_cars1_asc_county-0.566 NA NA[] 0.00 0.00
coef_cars1_asc_marin-0.243 0.0141-17.28*** NA 0.00
coef_cars1_asc_san_francisco 3.98 2.66 1.50 NA 0.00
coef_cars1_auto_time_saving_per_worker-0.0394 0.561-0.07 NA 0.00
coef_cars1_density_0_10_no_workers 0.00 NA NA NA 0.00fixed value
coef_cars1_density_10_up_no_workers-0.00693 0.00514-1.35 NA 0.00
coef_cars1_density_10_up_workers-0.0164 0.00390-4.21*** NA 0.00
coef_cars1_drivers_2 0.00 NA NA NA 0.00fixed value
coef_cars1_drivers_3 0.00 NA NA NA 0.00fixed value
coef_cars1_drivers_4_up 2.05 0.504 4.06*** NA 0.00
coef_cars1_hh_income_0_30k 0.0286 0.00628 4.55*** NA 0.00
coef_cars1_hh_income_30_up 0.00 NA NA NA 0.00fixed value
coef_cars1_num_workers_clip_3 0.00 NA NA NA 0.00fixed value
coef_cars1_persons_16_17 0.00 NA NA NA 0.00fixed value
coef_cars1_persons_18_24-0.448 0.125-3.59*** NA 0.00
coef_cars1_persons_25_34 0.00 NA NA NA 0.00fixed value
coef_cars1_presence_children_0_4 0.486 0.262 1.85 NA 0.00
coef_cars1_presence_children_5_17-0.234 0.196-1.19 NA 0.00
coef_cars234_asc_marin 0.00 NA NA NA 0.00fixed value
coef_cars234_presence_children_0_4 0.590 0.323 1.83 NA 0.00
coef_cars2_asc 2.47 2.66 0.93 NA 0.00
coef_cars2_asc_county-0.443 0.000441-BIG*** NA 0.00
coef_cars2_asc_san_francisco 4.02 2.66 1.51 NA 0.00
coef_cars2_auto_time_saving_per_worker 0.0106 0.709 0.01 NA 0.00
coef_cars2_density_0_10_no_workers-0.189 0.0342-5.54*** NA 0.00
coef_cars2_density_10_up_no_workers-0.121 0.0176-6.87*** NA 0.00
coef_cars2_drivers_2 2.95 0.265 11.12*** NA 0.00
coef_cars2_drivers_3 3.60 0.354 10.14*** NA 0.00
coef_cars2_drivers_4_up 6.86 0.647 10.60*** NA 0.00
coef_cars2_hh_income_0_30k 0.0623 0.0149 4.17*** NA 0.00
coef_cars2_hh_income_30_up 0.00729 0.00256 2.85** NA 0.00
coef_cars2_num_workers_clip_3-0.0283 0.144-0.20 NA 0.00
coef_cars2_persons_16_17-1.44 0.381-3.78*** NA 0.00
coef_cars2_persons_18_24-0.943 0.176-5.36*** NA 0.00
coef_cars2_persons_25_34-0.472 0.0988-4.78*** NA 0.00
coef_cars2_presence_children_5_17 0.165 0.260 0.63 NA 0.00
coef_cars34_asc_county-0.237 8.28e-05-BIG*** NA 0.00
coef_cars34_asc_san_francisco-181. NA NA[***] BIG 0.00
coef_cars34_density_0_10_no_workers-0.377 0.0616-6.12*** NA 0.00
coef_cars34_density_10_up_no_workers-0.211 0.0736-2.87** NA 0.00
coef_cars34_persons_16_17-1.96 0.507-3.86*** NA 0.00
coef_cars34_persons_18_24-0.988 0.215-4.61*** NA 0.00
coef_cars34_persons_25_34-0.915 0.168-5.46*** NA 0.00
coef_cars34_presence_children_5_17 0.465 0.364 1.28 NA 0.00
coef_cars3_asc 186. NA NA[***] BIG 0.00
coef_cars3_auto_time_saving_per_worker 0.00942 1.06 0.01 NA 0.00
coef_cars3_drivers_2 2.35 0.790 2.98** NA 0.00
coef_cars3_drivers_3 5.05 0.811 6.23*** NA 0.00
coef_cars3_drivers_4_up 8.32 1.01 8.25*** NA 0.00
coef_cars3_hh_income_0_30k 0.0520 0.0286 1.82 NA 0.00
coef_cars3_hh_income_30_up 0.00472 0.00485 0.97 NA 0.00
coef_cars3_num_workers_clip_3 0.374 0.234 1.60 NA 0.00
coef_cars4_asc-375. 2.15e+03-0.17 NA 0.00
coef_cars4_auto_time_saving_per_worker-0.147 1.49-0.10 NA 0.00
coef_cars4_drivers_2 561. 2.30e+03 0.24 NA 0.00
coef_cars4_drivers_3 564. 2.30e+03 0.25 NA 0.00
coef_cars4_drivers_4_up 568. 2.30e+03 0.25 NA 0.00
coef_cars4_hh_income_0_30k 0.0358 0.0460 0.78 NA 0.00
coef_cars4_hh_income_30_up 0.0131 0.00635 2.06* NA 0.00
coef_cars4_num_workers_clip_3 0.700 0.321 2.18* NA 0.00
coef_retail_auto_no_workers-0.638 0.595-1.07 NA 0.00
coef_retail_auto_workers-0.531 0.589-0.90 NA 0.00
coef_retail_non_motor-0.0300 NA NA NA 0.00fixed value
coef_retail_transit_no_workers-0.333 0.193-1.73 NA 0.00
coef_retail_transit_workers-0.464 0.162-2.86** NA 0.00
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.parameter_summary()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "TojXWivZsx7M" - }, - "source": [ - "# Output Estimation Results" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from activitysim.estimation.larch import update_coefficients\n", - "result_dir = data.edb_directory/\"estimated\"\n", - "update_coefficients(\n", - " model, data, result_dir,\n", - " output_file=f\"{modelname}_coefficients_revised.csv\",\n", - ");" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, + "
logloss0.924274751334728d_logloss\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
coef_cars1_asc5.272591e-05
coef_cars1_asc_county-8.675234e-06
coef_cars1_asc_marin-6.400057e-05
coef_cars1_asc_san_francisco-1.587832e-04
coef_cars1_auto_time_saving_per_worker1.403290e-04
coef_cars1_density_0_10_no_workers0.000000e+00
coef_cars1_density_10_up_no_workers6.620783e-06
coef_cars1_density_10_up_workers-2.503582e-06
coef_cars1_drivers_20.000000e+00
coef_cars1_drivers_30.000000e+00
coef_cars1_drivers_4_up-7.541270e-05
coef_cars1_hh_income_0_30k1.049198e-05
coef_cars1_hh_income_30_up0.000000e+00
coef_cars1_num_workers_clip_30.000000e+00
coef_cars1_persons_16_170.000000e+00
coef_cars1_persons_18_241.878411e-05
coef_cars1_persons_25_340.000000e+00
coef_cars1_presence_children_0_4-2.694541e-05
coef_cars1_presence_children_5_171.274960e-04
coef_cars234_asc_marin0.000000e+00
coef_cars234_presence_children_0_4-3.830304e-05
coef_cars2_asc-1.829182e-05
coef_cars2_asc_county-3.904999e-05
coef_cars2_asc_san_francisco1.268645e-04
coef_cars2_auto_time_saving_per_worker-3.296868e-05
coef_cars2_density_0_10_no_workers-4.356619e-06
coef_cars2_density_10_up_no_workers-1.094392e-05
coef_cars2_drivers_2-4.226757e-05
coef_cars2_drivers_36.818523e-05
coef_cars2_drivers_4_up3.745028e-05
coef_cars2_hh_income_0_30k3.076831e-05
coef_cars2_hh_income_30_up4.120039e-07
coef_cars2_num_workers_clip_3-9.781070e-05
coef_cars2_persons_16_171.620926e-04
coef_cars2_persons_18_24-1.615064e-04
coef_cars2_persons_25_34-1.420584e-05
coef_cars2_presence_children_5_176.079833e-05
coef_cars34_asc_county2.795941e-05
coef_cars34_asc_san_francisco2.027922e-05
coef_cars34_density_0_10_no_workers5.432376e-06
coef_cars34_density_10_up_no_workers4.880993e-05
coef_cars34_persons_16_17-1.804202e-04
coef_cars34_persons_18_247.896584e-05
coef_cars34_persons_25_34-3.944173e-06
coef_cars34_presence_children_5_17-2.364296e-04
coef_cars3_asc4.510100e-05
coef_cars3_auto_time_saving_per_worker-6.354019e-05
coef_cars3_drivers_21.322705e-04
coef_cars3_drivers_37.346112e-05
coef_cars3_drivers_4_up-1.013529e-04
coef_cars3_hh_income_0_30k5.005154e-06
coef_cars3_hh_income_30_up-1.522397e-05
coef_cars3_num_workers_clip_3-2.420821e-04
coef_cars4_asc-4.863863e-05
coef_cars4_auto_time_saving_per_worker-3.102682e-05
coef_cars4_drivers_21.784363e-05
coef_cars4_drivers_32.136643e-05
coef_cars4_drivers_4_up1.397419e-06
coef_cars4_hh_income_0_30k7.719776e-07
coef_cars4_hh_income_30_up-1.121368e-05
coef_cars4_num_workers_clip_3-7.913124e-05
coef_retail_auto_no_workers1.803616e-05
coef_retail_auto_workers-1.355341e-06
coef_retail_non_motor0.000000e+00
coef_retail_transit_no_workers-6.122156e-05
coef_retail_transit_workers-7.132030e-06
nit67nfev84njev67status0message'Optimization terminated successfully'successTrueelapsed_time0:00:01.497985method'slsqp'n_cases20000iteration_number67loglike-18485.49502669456
" + ], + "text/plain": [ + "┣ x: coef_cars1_asc 1.337433\n", + "┃ coef_cars1_asc_county -0.655949\n", + "┃ coef_cars1_asc_marin -0.168475\n", + "┃ coef_cars1_asc_san_francisco 0.324519\n", + "┃ coef_cars1_auto_time_saving_per_worker 0.394451\n", + "┃ ... \n", + "┃ coef_retail_auto_no_workers 0.039844\n", + "┃ coef_retail_auto_workers 0.155792\n", + "┃ coef_retail_non_motor -0.030000\n", + "┃ coef_retail_transit_no_workers -0.307701\n", + "┃ coef_retail_transit_workers -0.524658\n", + "┃ Length: 66, dtype: float64\n", + "┣ logloss: 0.924274751334728\n", + "┣ d_logloss: coef_cars1_asc 0.000053\n", + "┃ coef_cars1_asc_county -0.000009\n", + "┃ coef_cars1_asc_marin -0.000064\n", + "┃ coef_cars1_asc_san_francisco -0.000159\n", + "┃ coef_cars1_auto_time_saving_per_worker 0.000140\n", + "┃ ... \n", + "┃ coef_retail_auto_no_workers 0.000018\n", + "┃ coef_retail_auto_workers -0.000001\n", + "┃ coef_retail_non_motor 0.000000\n", + "┃ coef_retail_transit_no_workers -0.000061\n", + "┃ coef_retail_transit_workers -0.000007\n", + "┃ Length: 66, dtype: float64\n", + "┣ nit: 67\n", + "┣ nfev: 84\n", + "┣ njev: 67\n", + "┣ status: 0\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ success: True\n", + "┣ elapsed_time: datetime.timedelta(seconds=1, microseconds=497985)\n", + "┣ method: 'slsqp'\n", + "┣ n_cases: 20000\n", + "┣ iteration_number: 67\n", + "┣ loglike: -18485.49502669456" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### Write the model estimation report, including coefficient t-statistic and log likelihood" + "model.estimate()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Estimated coefficients" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_cars1_asc 1.34 0.941 1.42 0.00
coef_cars1_asc_county-0.656 0.158-4.14*** 0.00
coef_cars1_asc_marin-0.168 0.106-1.58 0.00
coef_cars1_asc_san_francisco 0.325 0.0979 3.31*** 0.00
coef_cars1_auto_time_saving_per_worker 0.394 0.188 2.10* 0.00
coef_cars1_density_0_10_no_workers 0.00 0.00 NA 0.00fixed value
coef_cars1_density_10_up_no_workers-0.0145 0.00339-4.27*** 0.00
coef_cars1_density_10_up_workers-0.0183 0.00271-6.75*** 0.00
coef_cars1_drivers_2 0.00 0.00 NA 0.00fixed value
coef_cars1_drivers_3 0.00 0.00 NA 0.00fixed value
coef_cars1_drivers_4_up 2.01 0.317 6.35*** 0.00
coef_cars1_hh_income_0_30k 0.0456 0.00298 15.29*** 0.00
coef_cars1_hh_income_30_up 0.00 0.00 NA 0.00fixed value
coef_cars1_num_workers_clip_3 0.00 0.00 NA 0.00fixed value
coef_cars1_persons_16_17 0.00 0.00 NA 0.00fixed value
coef_cars1_persons_18_24-0.476 0.0586-8.11*** 0.00
coef_cars1_persons_25_34 0.00 0.00 NA 0.00fixed value
coef_cars1_presence_children_0_4 0.487 0.130 3.75*** 0.00
coef_cars1_presence_children_5_17 0.0390 0.0934 0.42 0.00
coef_cars234_asc_marin 0.00 0.00 NA 0.00fixed value
coef_cars234_presence_children_0_4 0.834 0.137 6.10*** 0.00
coef_cars2_asc-0.817 0.944-0.87 0.00
coef_cars2_asc_county-0.534 0.166-3.22** 0.00
coef_cars2_asc_san_francisco 0.395 0.123 3.22** 0.00
coef_cars2_auto_time_saving_per_worker 0.626 0.197 3.18** 0.00
coef_cars2_density_0_10_no_workers-0.189 0.0118-16.03*** 0.00
coef_cars2_density_10_up_no_workers-0.119 0.0117-10.12*** 0.00
coef_cars2_drivers_2 2.88 0.0602 47.87*** 0.00
coef_cars2_drivers_3 3.46 0.0971 35.68*** 0.00
coef_cars2_drivers_4_up 6.18 0.332 18.61*** 0.00
coef_cars2_hh_income_0_30k 0.0557 0.00419 13.31*** 0.00
coef_cars2_hh_income_30_up 0.00709 0.000782 9.07*** 0.00
coef_cars2_num_workers_clip_3 0.317 0.0420 7.55*** 0.00
coef_cars2_persons_16_17-0.845 0.0976-8.66*** 0.00
coef_cars2_persons_18_24-0.990 0.0659-15.04*** 0.00
coef_cars2_persons_25_34-0.379 0.0322-11.77*** 0.00
coef_cars2_presence_children_5_17 0.327 0.104 3.16** 0.00
coef_cars34_asc_county-0.261 0.173-1.50 0.00
coef_cars34_asc_san_francisco 0.0559 0.161 0.35 0.00
coef_cars34_density_0_10_no_workers-0.343 0.0182-18.81*** 0.00
coef_cars34_density_10_up_no_workers-0.255 0.0544-4.69*** 0.00
coef_cars34_persons_16_17-1.82 0.113-16.13*** 0.00
coef_cars34_persons_18_24-1.01 0.0695-14.60*** 0.00
coef_cars34_persons_25_34-0.745 0.0402-18.56*** 0.00
coef_cars34_presence_children_5_17 0.542 0.112 4.83*** 0.00
coef_cars3_asc-3.43 0.962-3.56*** 0.00
coef_cars3_auto_time_saving_per_worker 0.538 0.215 2.50* 0.00
coef_cars3_drivers_2 3.33 0.151 21.99*** 0.00
coef_cars3_drivers_3 5.70 0.170 33.48*** 0.00
coef_cars3_drivers_4_up 8.64 0.364 23.72*** 0.00
coef_cars3_hh_income_0_30k 0.0644 0.00668 9.65*** 0.00
coef_cars3_hh_income_30_up 0.00913 0.00103 8.88*** 0.00
coef_cars3_num_workers_clip_3 0.650 0.0519 12.53*** 0.00
coef_cars4_asc-5.53 1.02-5.42*** 0.00
coef_cars4_auto_time_saving_per_worker 0.834 0.249 3.35*** 0.00
coef_cars4_drivers_2 2.65 0.287 9.23*** 0.00
coef_cars4_drivers_3 5.33 0.297 17.95*** 0.00
coef_cars4_drivers_4_up 9.42 0.436 21.59*** 0.00
coef_cars4_hh_income_0_30k 0.0718 0.0111 6.46*** 0.00
coef_cars4_hh_income_30_up 0.0132 0.00132 10.00*** 0.00
coef_cars4_num_workers_clip_3 0.949 0.0646 14.69*** 0.00
coef_retail_auto_no_workers 0.0398 0.101 0.39 0.00
coef_retail_auto_workers 0.156 0.102 1.52 0.00
coef_retail_non_motor-0.0300 0.00 NA 0.00fixed value
coef_retail_transit_no_workers-0.308 0.0295-10.44*** 0.00
coef_retail_transit_workers-0.525 0.0396-13.24*** 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.parameter_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "TojXWivZsx7M" + }, + "source": [ + "# Output Estimation Results" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "from activitysim.estimation.larch import update_coefficients\n", + "result_dir = data.edb_directory/\"estimated\"\n", + "update_coefficients(\n", + " model, data, result_dir,\n", + " output_file=f\"{modelname}_coefficients_revised.csv\",\n", + ");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Write the model estimation report, including coefficient t-statistic and log likelihood" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "model.to_xlsx(\n", + " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", + " data_statistics=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Next Steps\n", + "\n", + "The final step is to either manually or automatically copy the `*_coefficients_revised.csv` file to the configs folder, rename it to `*_coefficients.csv`, and run ActivitySim in simulation mode." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefficient_namevalueconstrain
0coef_cars1_drivers_20.000000T
1coef_cars1_drivers_30.000000T
2coef_cars1_persons_16_170.000000T
3coef_cars234_asc_marin0.000000T
4coef_cars1_persons_25_340.000000T
............
62coef_cars4_drivers_35.329905F
63coef_cars3_drivers_35.702014F
64coef_cars2_drivers_4_up6.182053F
65coef_cars3_drivers_4_up8.643466F
66coef_cars4_drivers_4_up9.423154F
\n", + "

67 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " coefficient_name value constrain\n", + "0 coef_cars1_drivers_2 0.000000 T\n", + "1 coef_cars1_drivers_3 0.000000 T\n", + "2 coef_cars1_persons_16_17 0.000000 T\n", + "3 coef_cars234_asc_marin 0.000000 T\n", + "4 coef_cars1_persons_25_34 0.000000 T\n", + ".. ... ... ...\n", + "62 coef_cars4_drivers_3 5.329905 F\n", + "63 coef_cars3_drivers_3 5.702014 F\n", + "64 coef_cars2_drivers_4_up 6.182053 F\n", + "65 coef_cars3_drivers_4_up 8.643466 F\n", + "66 coef_cars4_drivers_4_up 9.423154 F\n", + "\n", + "[67 rows x 3 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_csv(result_dir/f\"{modelname}_coefficients_revised.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Modify Spec\n", + "\n", + "Here, we will demonstrate the process of re-estimating the model with a modified\n", + "SPEC file. This does *not* require re-running ActivitySim, it just requires\n", + "changing the SPEC file and re-running the Larch estimation only.\n", + "\n", + "The `backup` command we ran earlier made a backup copy of the\n", + "original spec file in the EDB directory.\n", + "This was not strictly necessary, but since we're about to modify it and\n", + "we may want undo our changes, it can be handy to keep a copy of the\n", + "original spec file around. Since we already have a backup copy, we'll make some \n", + "changes directly in the SPEC file. As an example here, we're going\n", + "to re-write the household income section of the file, to change the piecewise \n", + "linear utility from 3 segments to 4. We'll move the breakpoints and rename some\n", + "coefficients to accomodate the change. As above, for this demo we are editing \n", + "the SPEC file using Python code to make the changes, but a user does not need\n", + "to change the file using Python; any CSV editor (e.g. Excel) can be used. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "with open(data.edb_directory / \"auto_ownership_SPEC.csv\") as f:\n", + " raw_spec = f.read()\n", + "\n", + "orig_lines = \"\"\"util_hh_income_0_30k,\"Piecewise Linear household income, $0-30k\",\"@df.income_in_thousands.clip(0, 30)\",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k\n", + "util_hh_income_30_75k,\"Piecewise Linear household income, $30-75k\",\"@(df.income_in_thousands-30).clip(0, 45)\",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up\n", + "util_hh_income_75k_up,\"Piecewise Linear household income, $75k+, capped at $125k\",\"@(df.income_in_thousands-75).clip(0, 50)\",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up\"\"\"\n", + "\n", + "repl_lines = \"\"\"util_hh_income_0_25k,\"Piecewise Linear household income, $0-25k\",\"@df.income_in_thousands.clip(0, 25)\",,coef_cars1_hh_income_0_25k,coef_cars2_hh_income_0_25k,coef_cars3_hh_income_0_25k,coef_cars4_hh_income_0_25k\n", + "util_hh_income_25_50k,\"Piecewise Linear household income, $25-50k\",\"@(df.income_in_thousands-25).clip(0, 25)\",,coef_cars1_hh_income_25_50,coef_cars2_hh_income_25_50,coef_cars3_hh_income_25_50,coef_cars4_hh_income_25_50\n", + "util_hh_income_50_75k,\"Piecewise Linear household income, $50-75k\",\"@(df.income_in_thousands-50).clip(0, 25)\",,coef_cars1_hh_income_50_75,coef_cars2_hh_income_50_75,coef_cars3_hh_income_50_75,coef_cars4_hh_income_50_75\n", + "util_hh_income_75k_150k,\"Piecewise Linear household income, $75k+, capped at $150k\",\"@(df.income_in_thousands-75).clip(0, 75)\",,coef_cars1_hh_income_75_up,coef_cars2_hh_income_75_up,coef_cars3_hh_income_75_up,coef_cars4_hh_income_75_up\"\"\"\n", + "\n", + "raw_spec = raw_spec.replace(orig_lines, repl_lines)\n", + "\n", + "with open(data.edb_directory / \"auto_ownership_SPEC.csv\", mode=\"w\") as f:\n", + " f.write(raw_spec)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### WARNING\n", + "\n", + "The re-estimation process will use the variable in the estimation data bundle (EDB) given by the \"Label\" \n", + "column of the SPEC, if a variable with that exact name exists in the EDB. Otherwise, it will attempt to\n", + "re-evaluate the contents of the \"Expression\" column using Sharrow, and the other data in the EDB. Thus,\n", + "the expression must only reference other data that is available explicitly in the EDB; to use \n", + "variables that ActivitySim could access but which have not been written to the EDB, it will be necessary\n", + "to go back to ActivitySim and re-run in estimation mode.\n", + "\n", + "Also, the estimation functions do not inherently know what the \"original\" spec file contained, and rely\n", + "entirely on the presence or absence of an exact match on the \"Label\" column to find pre-evaluated expressions.\n", + "It is imcumbent on the user to ensure that any material changes the Expression column are also reflected\n", + "by a new unique name in the \"Label\" column." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now to re-estimate the model, we just re-run the same steps as the original estimation above." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/auto_ownership/auto_ownership_values_combined.parquet\n" + ] + } + ], + "source": [ + "model2, data2 = component_model(modelname, edb_directory=data.edb_directory, return_data=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may notice in the utility functions shown below, all of the unadulterated lines of the \n", + "spec file correlate with utility terms that are simple `X.label` data items, which are \n", + "stored as pre-computed data variables in the EDB. Our modified lines, however, are now\n", + "showing the complete expression that will be freshly evaluated by Larch using Sharrow." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<larch.DictOfLinearFunction>
altformula
1
<Empty LinearFunction>
2
P.coef_cars1_drivers_2 * X.util_drivers_2
+ P.coef_cars1_drivers_3 * X.util_drivers_3
+ P.coef_cars1_drivers_4_up * X.util_drivers_4_up
+ P.coef_cars1_persons_16_17 * X.util_persons_16_17
+ P.coef_cars1_persons_18_24 * X.util_persons_18_24
+ P.coef_cars1_persons_25_34 * X.util_persons_25_34
+ P.coef_cars1_presence_children_0_4 * X.util_presence_children_0_4
+ P.coef_cars1_presence_children_5_17 * X.util_presence_children_5_17
+ P.coef_cars1_num_workers_clip_3 * X.util_num_workers_clip_3
+ P.coef_cars1_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')
+ P.coef_cars1_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')
+ P.coef_cars1_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')
+ P.coef_cars1_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')
+ P.coef_cars1_density_0_10_no_workers * X.util_density_0_10_no_workers
+ P.coef_cars1_density_10_up_no_workers * X.util_density_10_up_no_workers
+ P.coef_cars1_density_0_10_no_workers * X.util_density_0_10_workers
+ P.coef_cars1_density_10_up_workers * X.util_density_10_up_workers
+ P.coef_cars1_asc * X.util_asc
+ P.coef_cars1_asc_san_francisco * X.util_asc_san_francisco
+ P.coef_cars1_asc_county * X.util_asc_solano
+ P.coef_cars1_asc_county * X.util_asc_napa
+ P.coef_cars1_asc_county * X.util_asc_sonoma
+ P.coef_cars1_asc_marin * X.util_asc_marin
+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers
+ P.coef_retail_auto_workers * X.util_retail_auto_workers
+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers
+ P.coef_retail_transit_workers * X.util_retail_transit_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_workers
+ P.coef_cars1_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker
3
P.coef_cars2_drivers_2 * X.util_drivers_2
+ P.coef_cars2_drivers_3 * X.util_drivers_3
+ P.coef_cars2_drivers_4_up * X.util_drivers_4_up
+ P.coef_cars2_persons_16_17 * X.util_persons_16_17
+ P.coef_cars2_persons_18_24 * X.util_persons_18_24
+ P.coef_cars2_persons_25_34 * X.util_persons_25_34
+ P.coef_cars234_presence_children_0_4 * X.util_presence_children_0_4
+ P.coef_cars2_presence_children_5_17 * X.util_presence_children_5_17
+ P.coef_cars2_num_workers_clip_3 * X.util_num_workers_clip_3
+ P.coef_cars2_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')
+ P.coef_cars2_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')
+ P.coef_cars2_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')
+ P.coef_cars2_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')
+ P.coef_cars2_density_0_10_no_workers * X.util_density_0_10_no_workers
+ P.coef_cars2_density_10_up_no_workers * X.util_density_10_up_no_workers
+ P.coef_cars2_density_0_10_no_workers * X.util_density_0_10_workers
+ P.coef_cars2_density_10_up_no_workers * X.util_density_10_up_workers
+ P.coef_cars2_asc * X.util_asc
+ P.coef_cars2_asc_san_francisco * X.util_asc_san_francisco
+ P.coef_cars2_asc_county * X.util_asc_solano
+ P.coef_cars2_asc_county * X.util_asc_napa
+ P.coef_cars2_asc_county * X.util_asc_sonoma
+ P.coef_cars234_asc_marin * X.util_asc_marin
+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers
+ P.coef_retail_auto_workers * X.util_retail_auto_workers
+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers
+ P.coef_retail_transit_workers * X.util_retail_transit_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_workers
+ P.coef_cars2_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker
4
P.coef_cars3_drivers_2 * X.util_drivers_2
+ P.coef_cars3_drivers_3 * X.util_drivers_3
+ P.coef_cars3_drivers_4_up * X.util_drivers_4_up
+ P.coef_cars34_persons_16_17 * X.util_persons_16_17
+ P.coef_cars34_persons_18_24 * X.util_persons_18_24
+ P.coef_cars34_persons_25_34 * X.util_persons_25_34
+ P.coef_cars234_presence_children_0_4 * X.util_presence_children_0_4
+ P.coef_cars34_presence_children_5_17 * X.util_presence_children_5_17
+ P.coef_cars3_num_workers_clip_3 * X.util_num_workers_clip_3
+ P.coef_cars3_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')
+ P.coef_cars3_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')
+ P.coef_cars3_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')
+ P.coef_cars3_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')
+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_no_workers
+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_no_workers
+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_workers
+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_workers
+ P.coef_cars3_asc * X.util_asc
+ P.coef_cars34_asc_san_francisco * X.util_asc_san_francisco
+ P.coef_cars34_asc_county * X.util_asc_solano
+ P.coef_cars34_asc_county * X.util_asc_napa
+ P.coef_cars34_asc_county * X.util_asc_sonoma
+ P.coef_cars234_asc_marin * X.util_asc_marin
+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers
+ P.coef_retail_auto_workers * X.util_retail_auto_workers
+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers
+ P.coef_retail_transit_workers * X.util_retail_transit_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_workers
+ P.coef_cars3_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker
5
P.coef_cars4_drivers_2 * X.util_drivers_2
+ P.coef_cars4_drivers_3 * X.util_drivers_3
+ P.coef_cars4_drivers_4_up * X.util_drivers_4_up
+ P.coef_cars34_persons_16_17 * X.util_persons_16_17
+ P.coef_cars34_persons_18_24 * X.util_persons_18_24
+ P.coef_cars34_persons_25_34 * X.util_persons_25_34
+ P.coef_cars234_presence_children_0_4 * X.util_presence_children_0_4
+ P.coef_cars34_presence_children_5_17 * X.util_presence_children_5_17
+ P.coef_cars4_num_workers_clip_3 * X.util_num_workers_clip_3
+ P.coef_cars4_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')
+ P.coef_cars4_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')
+ P.coef_cars4_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')
+ P.coef_cars4_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')
+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_no_workers
+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_no_workers
+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_workers
+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_workers
+ P.coef_cars4_asc * X.util_asc
+ P.coef_cars34_asc_san_francisco * X.util_asc_san_francisco
+ P.coef_cars34_asc_county * X.util_asc_solano
+ P.coef_cars34_asc_county * X.util_asc_napa
+ P.coef_cars34_asc_county * X.util_asc_sonoma
+ P.coef_cars234_asc_marin * X.util_asc_marin
+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers
+ P.coef_retail_auto_workers * X.util_retail_auto_workers
+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers
+ P.coef_retail_transit_workers * X.util_retail_transit_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers
+ P.coef_retail_non_motor * X.util_retail_non_motor_workers
+ P.coef_cars4_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker
" + ], + "text/plain": [ + "DictOfLinearFunction({1: , 2: P.coef_cars1_drivers_2 * X.util_drivers_2\n", + "+ P.coef_cars1_drivers_3 * X.util_drivers_3\n", + "+ P.coef_cars1_drivers_4_up * X.util_drivers_4_up\n", + "+ P.coef_cars1_persons_16_17 * X.util_persons_16_17\n", + "+ P.coef_cars1_persons_18_24 * X.util_persons_18_24\n", + "+ P.coef_cars1_persons_25_34 * X.util_persons_25_34\n", + "+ P.coef_cars1_presence_children_0_4 * X.util_presence_children_0_4\n", + "+ P.coef_cars1_presence_children_5_17 * X.util_presence_children_5_17\n", + "+ P.coef_cars1_num_workers_clip_3 * X.util_num_workers_clip_3\n", + "+ P.coef_cars1_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')\n", + "+ P.coef_cars1_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')\n", + "+ P.coef_cars1_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')\n", + "+ P.coef_cars1_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')\n", + "+ P.coef_cars1_density_0_10_no_workers * X.util_density_0_10_no_workers\n", + "+ P.coef_cars1_density_10_up_no_workers * X.util_density_10_up_no_workers\n", + "+ P.coef_cars1_density_0_10_no_workers * X.util_density_0_10_workers\n", + "+ P.coef_cars1_density_10_up_workers * X.util_density_10_up_workers\n", + "+ P.coef_cars1_asc * X.util_asc\n", + "+ P.coef_cars1_asc_san_francisco * X.util_asc_san_francisco\n", + "+ P.coef_cars1_asc_county * X.util_asc_solano\n", + "+ P.coef_cars1_asc_county * X.util_asc_napa\n", + "+ P.coef_cars1_asc_county * X.util_asc_sonoma\n", + "+ P.coef_cars1_asc_marin * X.util_asc_marin\n", + "+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers\n", + "+ P.coef_retail_auto_workers * X.util_retail_auto_workers\n", + "+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers\n", + "+ P.coef_retail_transit_workers * X.util_retail_transit_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_workers\n", + "+ P.coef_cars1_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker, 3: P.coef_cars2_drivers_2 * X.util_drivers_2\n", + "+ P.coef_cars2_drivers_3 * X.util_drivers_3\n", + "+ P.coef_cars2_drivers_4_up * X.util_drivers_4_up\n", + "+ P.coef_cars2_persons_16_17 * X.util_persons_16_17\n", + "+ P.coef_cars2_persons_18_24 * X.util_persons_18_24\n", + "+ P.coef_cars2_persons_25_34 * X.util_persons_25_34\n", + "+ P.coef_cars234_presence_children_0_4 * X.util_presence_children_0_4\n", + "+ P.coef_cars2_presence_children_5_17 * X.util_presence_children_5_17\n", + "+ P.coef_cars2_num_workers_clip_3 * X.util_num_workers_clip_3\n", + "+ P.coef_cars2_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')\n", + "+ P.coef_cars2_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')\n", + "+ P.coef_cars2_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')\n", + "+ P.coef_cars2_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')\n", + "+ P.coef_cars2_density_0_10_no_workers * X.util_density_0_10_no_workers\n", + "+ P.coef_cars2_density_10_up_no_workers * X.util_density_10_up_no_workers\n", + "+ P.coef_cars2_density_0_10_no_workers * X.util_density_0_10_workers\n", + "+ P.coef_cars2_density_10_up_no_workers * X.util_density_10_up_workers\n", + "+ P.coef_cars2_asc * X.util_asc\n", + "+ P.coef_cars2_asc_san_francisco * X.util_asc_san_francisco\n", + "+ P.coef_cars2_asc_county * X.util_asc_solano\n", + "+ P.coef_cars2_asc_county * X.util_asc_napa\n", + "+ P.coef_cars2_asc_county * X.util_asc_sonoma\n", + "+ P.coef_cars234_asc_marin * X.util_asc_marin\n", + "+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers\n", + "+ P.coef_retail_auto_workers * X.util_retail_auto_workers\n", + "+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers\n", + "+ P.coef_retail_transit_workers * X.util_retail_transit_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_workers\n", + "+ P.coef_cars2_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker, 4: P.coef_cars3_drivers_2 * X.util_drivers_2\n", + "+ P.coef_cars3_drivers_3 * X.util_drivers_3\n", + "+ P.coef_cars3_drivers_4_up * X.util_drivers_4_up\n", + "+ P.coef_cars34_persons_16_17 * X.util_persons_16_17\n", + "+ P.coef_cars34_persons_18_24 * X.util_persons_18_24\n", + "+ P.coef_cars34_persons_25_34 * X.util_persons_25_34\n", + "+ P.coef_cars234_presence_children_0_4 * X.util_presence_children_0_4\n", + "+ P.coef_cars34_presence_children_5_17 * X.util_presence_children_5_17\n", + "+ P.coef_cars3_num_workers_clip_3 * X.util_num_workers_clip_3\n", + "+ P.coef_cars3_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')\n", + "+ P.coef_cars3_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')\n", + "+ P.coef_cars3_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')\n", + "+ P.coef_cars3_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')\n", + "+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_no_workers\n", + "+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_no_workers\n", + "+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_workers\n", + "+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_workers\n", + "+ P.coef_cars3_asc * X.util_asc\n", + "+ P.coef_cars34_asc_san_francisco * X.util_asc_san_francisco\n", + "+ P.coef_cars34_asc_county * X.util_asc_solano\n", + "+ P.coef_cars34_asc_county * X.util_asc_napa\n", + "+ P.coef_cars34_asc_county * X.util_asc_sonoma\n", + "+ P.coef_cars234_asc_marin * X.util_asc_marin\n", + "+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers\n", + "+ P.coef_retail_auto_workers * X.util_retail_auto_workers\n", + "+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers\n", + "+ P.coef_retail_transit_workers * X.util_retail_transit_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_workers\n", + "+ P.coef_cars3_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker, 5: P.coef_cars4_drivers_2 * X.util_drivers_2\n", + "+ P.coef_cars4_drivers_3 * X.util_drivers_3\n", + "+ P.coef_cars4_drivers_4_up * X.util_drivers_4_up\n", + "+ P.coef_cars34_persons_16_17 * X.util_persons_16_17\n", + "+ P.coef_cars34_persons_18_24 * X.util_persons_18_24\n", + "+ P.coef_cars34_persons_25_34 * X.util_persons_25_34\n", + "+ P.coef_cars234_presence_children_0_4 * X.util_presence_children_0_4\n", + "+ P.coef_cars34_presence_children_5_17 * X.util_presence_children_5_17\n", + "+ P.coef_cars4_num_workers_clip_3 * X.util_num_workers_clip_3\n", + "+ P.coef_cars4_hh_income_0_25k * X('df.income_in_thousands.clip(0, 25)')\n", + "+ P.coef_cars4_hh_income_25_50 * X('(df.income_in_thousands-25).clip(0, 25)')\n", + "+ P.coef_cars4_hh_income_50_75 * X('(df.income_in_thousands-50).clip(0, 25)')\n", + "+ P.coef_cars4_hh_income_75_up * X('(df.income_in_thousands-75).clip(0, 75)')\n", + "+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_no_workers\n", + "+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_no_workers\n", + "+ P.coef_cars34_density_0_10_no_workers * X.util_density_0_10_workers\n", + "+ P.coef_cars34_density_10_up_no_workers * X.util_density_10_up_workers\n", + "+ P.coef_cars4_asc * X.util_asc\n", + "+ P.coef_cars34_asc_san_francisco * X.util_asc_san_francisco\n", + "+ P.coef_cars34_asc_county * X.util_asc_solano\n", + "+ P.coef_cars34_asc_county * X.util_asc_napa\n", + "+ P.coef_cars34_asc_county * X.util_asc_sonoma\n", + "+ P.coef_cars234_asc_marin * X.util_asc_marin\n", + "+ P.coef_retail_auto_no_workers * X.util_retail_auto_no_workers\n", + "+ P.coef_retail_auto_workers * X.util_retail_auto_workers\n", + "+ P.coef_retail_transit_no_workers * X.util_retail_transit_no_workers\n", + "+ P.coef_retail_transit_workers * X.util_retail_transit_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_no_workers\n", + "+ P.coef_retail_non_motor * X.util_retail_non_motor_workers\n", + "+ P.coef_cars4_auto_time_saving_per_worker * X.util_auto_time_saving_per_worker})" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model2.utility_co" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Iteration 077 [Optimization terminated successfully]

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Best LL = -18480.69200834759

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuebestinitvalueminimummaximumnullvalueholdfast
param_name
coef_cars1_asc1.4519301.4519301.1865-50.0050.000.00
coef_cars1_asc_county-0.669928-0.669928-0.5660-50.0050.000.00
coef_cars1_asc_marin-0.170886-0.170886-0.2434-50.0050.000.00
coef_cars1_asc_san_francisco0.3172280.3172280.4259-50.0050.000.00
coef_cars1_auto_time_saving_per_worker0.3802890.3802890.4707-50.0050.000.00
........................
coef_retail_auto_no_workers0.0278530.0278530.0626-50.0050.000.00
coef_retail_auto_workers0.1430320.1430320.1646-50.0050.000.00
coef_retail_non_motor-0.030000-0.030000-0.0300-0.03-0.030.01
coef_retail_transit_no_workers-0.307531-0.307531-0.3053-50.0050.000.00
coef_retail_transit_workers-0.522486-0.522486-0.5117-50.0050.000.00
\n", + "

74 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " value best initvalue \\\n", + "param_name \n", + "coef_cars1_asc 1.451930 1.451930 1.1865 \n", + "coef_cars1_asc_county -0.669928 -0.669928 -0.5660 \n", + "coef_cars1_asc_marin -0.170886 -0.170886 -0.2434 \n", + "coef_cars1_asc_san_francisco 0.317228 0.317228 0.4259 \n", + "coef_cars1_auto_time_saving_per_worker 0.380289 0.380289 0.4707 \n", + "... ... ... ... \n", + "coef_retail_auto_no_workers 0.027853 0.027853 0.0626 \n", + "coef_retail_auto_workers 0.143032 0.143032 0.1646 \n", + "coef_retail_non_motor -0.030000 -0.030000 -0.0300 \n", + "coef_retail_transit_no_workers -0.307531 -0.307531 -0.3053 \n", + "coef_retail_transit_workers -0.522486 -0.522486 -0.5117 \n", + "\n", + " minimum maximum nullvalue holdfast \n", + "param_name \n", + "coef_cars1_asc -50.00 50.00 0.0 0 \n", + "coef_cars1_asc_county -50.00 50.00 0.0 0 \n", + "coef_cars1_asc_marin -50.00 50.00 0.0 0 \n", + "coef_cars1_asc_san_francisco -50.00 50.00 0.0 0 \n", + "coef_cars1_auto_time_saving_per_worker -50.00 50.00 0.0 0 \n", + "... ... ... ... ... \n", + "coef_retail_auto_no_workers -50.00 50.00 0.0 0 \n", + "coef_retail_auto_workers -50.00 50.00 0.0 0 \n", + "coef_retail_non_motor -0.03 -0.03 0.0 1 \n", + "coef_retail_transit_no_workers -50.00 50.00 0.0 0 \n", + "coef_retail_transit_workers -50.00 50.00 0.0 0 \n", + "\n", + "[74 rows x 7 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
keyvalue
x\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
coef_cars1_asc1.451930
coef_cars1_asc_county-0.669928
coef_cars1_asc_marin-0.170886
coef_cars1_asc_san_francisco0.317228
coef_cars1_auto_time_saving_per_worker0.380289
coef_cars1_density_0_10_no_workers0.000000
coef_cars1_density_10_up_no_workers-0.014252
coef_cars1_density_10_up_workers-0.018450
coef_cars1_drivers_20.000000
coef_cars1_drivers_30.000000
coef_cars1_drivers_4_up1.993329
coef_cars1_hh_income_0_25k0.047122
coef_cars1_hh_income_25_500.006622
coef_cars1_hh_income_50_750.007920
coef_cars1_hh_income_75_up-0.002331
coef_cars1_num_workers_clip_30.000000
coef_cars1_persons_16_170.000000
coef_cars1_persons_18_24-0.473008
coef_cars1_persons_25_340.000000
coef_cars1_presence_children_0_40.494212
coef_cars1_presence_children_5_170.044213
coef_cars234_asc_marin0.000000
coef_cars234_presence_children_0_40.839737
coef_cars2_asc-0.751717
coef_cars2_asc_county-0.552884
coef_cars2_asc_san_francisco0.394107
coef_cars2_auto_time_saving_per_worker0.608005
coef_cars2_density_0_10_no_workers-0.190732
coef_cars2_density_10_up_no_workers-0.118593
coef_cars2_drivers_22.883229
coef_cars2_drivers_33.462629
coef_cars2_drivers_4_up6.177691
coef_cars2_hh_income_0_25k0.062963
coef_cars2_hh_income_25_500.007705
coef_cars2_hh_income_50_750.019152
coef_cars2_hh_income_75_up0.002677
coef_cars2_num_workers_clip_30.316577
coef_cars2_persons_16_17-0.851694
coef_cars2_persons_18_24-0.988962
coef_cars2_persons_25_34-0.375153
coef_cars2_presence_children_5_170.333678
coef_cars34_asc_county-0.272462
coef_cars34_asc_san_francisco0.042635
coef_cars34_density_0_10_no_workers-0.343379
coef_cars34_density_10_up_no_workers-0.254388
coef_cars34_persons_16_17-1.828782
coef_cars34_persons_18_24-1.015850
coef_cars34_persons_25_34-0.741201
coef_cars34_presence_children_5_170.545134
coef_cars3_asc-3.502778
coef_cars3_auto_time_saving_per_worker0.528275
coef_cars3_drivers_23.337821
coef_cars3_drivers_35.712040
coef_cars3_drivers_4_up8.649770
coef_cars3_hh_income_0_25k0.081492
coef_cars3_hh_income_25_500.001622
coef_cars3_hh_income_50_750.026796
coef_cars3_hh_income_75_up0.003811
coef_cars3_num_workers_clip_30.651693
coef_cars4_asc-5.633922
coef_cars4_auto_time_saving_per_worker0.825818
coef_cars4_drivers_22.636133
coef_cars4_drivers_35.304881
coef_cars4_drivers_4_up9.400424
coef_cars4_hh_income_0_25k0.095108
coef_cars4_hh_income_25_500.002764
coef_cars4_hh_income_50_750.027422
coef_cars4_hh_income_75_up0.008115
coef_cars4_num_workers_clip_30.957764
coef_retail_auto_no_workers0.027853
coef_retail_auto_workers0.143032
coef_retail_non_motor-0.030000
coef_retail_transit_no_workers-0.307531
coef_retail_transit_workers-0.522486
logloss0.9240346004173794
d_logloss\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
coef_cars1_asc0.000104
coef_cars1_asc_county-0.000032
coef_cars1_asc_marin-0.000051
coef_cars1_asc_san_francisco-0.000097
coef_cars1_auto_time_saving_per_worker0.000056
coef_cars1_density_0_10_no_workers0.000000
coef_cars1_density_10_up_no_workers-0.000020
coef_cars1_density_10_up_workers0.000007
coef_cars1_drivers_20.000000
coef_cars1_drivers_30.000000
coef_cars1_drivers_4_up-0.000038
coef_cars1_hh_income_0_25k0.000119
coef_cars1_hh_income_25_500.000125
coef_cars1_hh_income_50_750.000092
coef_cars1_hh_income_75_up0.000120
coef_cars1_num_workers_clip_30.000000
coef_cars1_persons_16_170.000000
coef_cars1_persons_18_240.000042
coef_cars1_persons_25_340.000000
coef_cars1_presence_children_0_40.000002
coef_cars1_presence_children_5_170.000109
coef_cars234_asc_marin0.000000
coef_cars234_presence_children_0_4-0.000091
coef_cars2_asc-0.000074
coef_cars2_asc_county0.000006
coef_cars2_asc_san_francisco0.000069
coef_cars2_auto_time_saving_per_worker0.000086
coef_cars2_density_0_10_no_workers0.000073
coef_cars2_density_10_up_no_workers-0.000101
coef_cars2_drivers_2-0.000008
coef_cars2_drivers_30.000049
coef_cars2_drivers_4_up-0.000019
coef_cars2_hh_income_0_25k0.000382
coef_cars2_hh_income_25_500.000289
coef_cars2_hh_income_50_750.000444
coef_cars2_hh_income_75_up0.000750
coef_cars2_num_workers_clip_30.000106
coef_cars2_persons_16_170.000130
coef_cars2_persons_18_24-0.000274
coef_cars2_persons_25_34-0.000109
coef_cars2_presence_children_5_17-0.000037
coef_cars34_asc_county0.000005
coef_cars34_asc_san_francisco0.000055
coef_cars34_density_0_10_no_workers0.000004
coef_cars34_density_10_up_no_workers0.000024
coef_cars34_persons_16_17-0.000129
coef_cars34_persons_18_240.000166
coef_cars34_persons_25_34-0.000067
coef_cars34_presence_children_5_17-0.000139
coef_cars3_asc0.000107
coef_cars3_auto_time_saving_per_worker-0.000071
coef_cars3_drivers_20.000149
coef_cars3_drivers_30.000024
coef_cars3_drivers_4_up-0.000038
coef_cars3_hh_income_0_25k0.000005
coef_cars3_hh_income_25_500.000096
coef_cars3_hh_income_50_750.000072
coef_cars3_hh_income_75_up0.000185
coef_cars3_num_workers_clip_3-0.000169
coef_cars4_asc-0.000103
coef_cars4_auto_time_saving_per_worker-0.000058
coef_cars4_drivers_2-0.000040
coef_cars4_drivers_30.000093
coef_cars4_drivers_4_up-0.000046
coef_cars4_hh_income_0_25k-0.000523
coef_cars4_hh_income_25_50-0.000691
coef_cars4_hh_income_50_75-0.000513
coef_cars4_hh_income_75_up-0.001026
coef_cars4_num_workers_clip_3-0.000170
coef_retail_auto_no_workers0.000014
coef_retail_auto_workers0.000098
coef_retail_non_motor0.000000
coef_retail_transit_no_workers0.000133
coef_retail_transit_workers-0.000083
nit77
nfev102
njev77
status0
message'Optimization terminated successfully'
successTrue
elapsed_time0:00:01.723675
method'slsqp'
n_cases20000
iteration_number77
loglike-18480.69200834759
" + ], + "text/plain": [ + "┣ x: coef_cars1_asc 1.451930\n", + "┃ coef_cars1_asc_county -0.669928\n", + "┃ coef_cars1_asc_marin -0.170886\n", + "┃ coef_cars1_asc_san_francisco 0.317228\n", + "┃ coef_cars1_auto_time_saving_per_worker 0.380289\n", + "┃ ... \n", + "┃ coef_retail_auto_no_workers 0.027853\n", + "┃ coef_retail_auto_workers 0.143032\n", + "┃ coef_retail_non_motor -0.030000\n", + "┃ coef_retail_transit_no_workers -0.307531\n", + "┃ coef_retail_transit_workers -0.522486\n", + "┃ Length: 74, dtype: float64\n", + "┣ logloss: 0.9240346004173794\n", + "┣ d_logloss: coef_cars1_asc 0.000104\n", + "┃ coef_cars1_asc_county -0.000032\n", + "┃ coef_cars1_asc_marin -0.000051\n", + "┃ coef_cars1_asc_san_francisco -0.000097\n", + "┃ coef_cars1_auto_time_saving_per_worker 0.000056\n", + "┃ ... \n", + "┃ coef_retail_auto_no_workers 0.000014\n", + "┃ coef_retail_auto_workers 0.000098\n", + "┃ coef_retail_non_motor 0.000000\n", + "┃ coef_retail_transit_no_workers 0.000133\n", + "┃ coef_retail_transit_workers -0.000083\n", + "┃ Length: 74, dtype: float64\n", + "┣ nit: 77\n", + "┣ nfev: 102\n", + "┣ njev: 77\n", + "┣ status: 0\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ success: True\n", + "┣ elapsed_time: datetime.timedelta(seconds=1, microseconds=723675)\n", + "┣ method: 'slsqp'\n", + "┣ n_cases: 20000\n", + "┣ iteration_number: 77\n", + "┣ loglike: -18480.69200834759" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model2.estimate(maxiter=200)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can easily review the parameter estimates from the original and\n", + "revised models side by side to see what changed." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmodel2
ValueStd Errt StatSignifNull ValueConstrainedValueStd Errt StatSignifNull ValueConstrained
Parameter
coef_cars1_asc1.340.9411.420.01.450.9461.540.0
coef_cars1_asc_county-0.6560.158-4.14***0.0-0.6700.159-4.22***0.0
coef_cars1_asc_marin-0.1680.106-1.580.0-0.1710.106-1.610.0
coef_cars1_asc_san_francisco0.3250.09793.31***0.00.3170.09823.23**0.0
coef_cars1_auto_time_saving_per_worker0.3940.1882.10*0.00.3800.1892.01*0.0
coef_cars1_density_0_10_no_workers0.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars1_density_10_up_no_workers-0.01450.00339-4.27***0.0-0.01430.00339-4.21***0.0
coef_cars1_density_10_up_workers-0.01830.00271-6.75***0.0-0.01840.00271-6.80***0.0
coef_cars1_drivers_20.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars1_drivers_30.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars1_drivers_4_up2.010.3176.35***0.01.990.3186.27***0.0
coef_cars1_hh_income_0_30k0.04560.0029815.29***0.0
coef_cars1_hh_income_30_up0.000.00NA0.0fixed value
coef_cars1_num_workers_clip_30.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars1_persons_16_170.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars1_persons_18_24-0.4760.0586-8.11***0.0-0.4730.0586-8.07***0.0
coef_cars1_persons_25_340.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars1_presence_children_0_40.4870.1303.75***0.00.4940.1303.80***0.0
coef_cars1_presence_children_5_170.03900.09340.420.00.04420.09350.470.0
coef_cars234_asc_marin0.000.00NA0.0fixed value0.000.00NA0.0fixed value
coef_cars234_presence_children_0_40.8340.1376.10***0.00.8400.1376.13***0.0
coef_cars2_asc-0.8170.944-0.870.0-0.7520.949-0.790.0
coef_cars2_asc_county-0.5340.166-3.22**0.0-0.5530.166-3.33***0.0
coef_cars2_asc_san_francisco0.3950.1233.22**0.00.3940.1233.20**0.0
coef_cars2_auto_time_saving_per_worker0.6260.1973.18**0.00.6080.1983.07**0.0
coef_cars2_density_0_10_no_workers-0.1890.0118-16.03***0.0-0.1910.0118-16.16***0.0
coef_cars2_density_10_up_no_workers-0.1190.0117-10.12***0.0-0.1190.0117-10.13***0.0
coef_cars2_drivers_22.880.060247.87***0.02.880.060347.83***0.0
coef_cars2_drivers_33.460.097135.68***0.03.460.097135.66***0.0
coef_cars2_drivers_4_up6.180.33218.61***0.06.180.33318.53***0.0
coef_cars2_hh_income_0_30k0.05570.0041913.31***0.0
coef_cars2_hh_income_30_up0.007090.0007829.07***0.0
coef_cars2_num_workers_clip_30.3170.04207.55***0.00.3170.04207.54***0.0
coef_cars2_persons_16_17-0.8450.0976-8.66***0.0-0.8520.0977-8.72***0.0
coef_cars2_persons_18_24-0.9900.0659-15.04***0.0-0.9890.0659-15.01***0.0
coef_cars2_persons_25_34-0.3790.0322-11.77***0.0-0.3750.0322-11.64***0.0
coef_cars2_presence_children_5_170.3270.1043.16**0.00.3340.1043.21**0.0
coef_cars34_asc_county-0.2610.173-1.500.0-0.2720.174-1.570.0
coef_cars34_asc_san_francisco0.05590.1610.350.00.04260.1610.260.0
coef_cars34_density_0_10_no_workers-0.3430.0182-18.81***0.0-0.3430.0182-18.84***0.0
coef_cars34_density_10_up_no_workers-0.2550.0544-4.69***0.0-0.2540.0542-4.70***0.0
coef_cars34_persons_16_17-1.820.113-16.13***0.0-1.830.113-16.23***0.0
coef_cars34_persons_18_24-1.010.0695-14.60***0.0-1.020.0696-14.60***0.0
coef_cars34_persons_25_34-0.7450.0402-18.56***0.0-0.7410.0402-18.44***0.0
coef_cars34_presence_children_5_170.5420.1124.83***0.00.5450.1124.86***0.0
coef_cars3_asc-3.430.962-3.56***0.0-3.500.972-3.60***0.0
coef_cars3_auto_time_saving_per_worker0.5380.2152.50*0.00.5280.2162.45*0.0
coef_cars3_drivers_23.330.15121.99***0.03.340.15221.93***0.0
coef_cars3_drivers_35.700.17033.48***0.05.710.17133.40***0.0
coef_cars3_drivers_4_up8.640.36423.72***0.08.650.36623.64***0.0
coef_cars3_hh_income_0_30k0.06440.006689.65***0.0
coef_cars3_hh_income_30_up0.009130.001038.88***0.0
coef_cars3_num_workers_clip_30.6500.051912.53***0.00.6520.051912.55***0.0
coef_cars4_asc-5.531.02-5.42***0.0-5.631.04-5.40***0.0
coef_cars4_auto_time_saving_per_worker0.8340.2493.35***0.00.8260.2503.30***0.0
coef_cars4_drivers_22.650.2879.23***0.02.640.2839.30***0.0
coef_cars4_drivers_35.330.29717.95***0.05.300.29318.07***0.0
coef_cars4_drivers_4_up9.420.43621.59***0.09.400.43521.61***0.0
coef_cars4_hh_income_0_30k0.07180.01116.46***0.0
coef_cars4_hh_income_30_up0.01320.0013210.00***0.0
coef_cars4_num_workers_clip_30.9490.064614.69***0.00.9580.064614.82***0.0
coef_retail_auto_no_workers0.03980.1010.390.00.02790.1020.270.0
coef_retail_auto_workers0.1560.1021.520.00.1430.1031.390.0
coef_retail_non_motor-0.03000.00NA0.0fixed value-0.03000.00NA0.0fixed value
coef_retail_transit_no_workers-0.3080.0295-10.44***0.0-0.3080.0295-10.42***0.0
coef_retail_transit_workers-0.5250.0396-13.24***0.0-0.5220.0397-13.15***0.0
coef_cars1_hh_income_0_25k0.04710.0043610.81***0.0
coef_cars1_hh_income_25_500.006620.005371.230.0
coef_cars1_hh_income_50_750.007920.006661.190.0
coef_cars1_hh_income_75_up-0.002330.00246-0.950.0
coef_cars2_hh_income_0_25k0.06300.0060710.37***0.0
coef_cars2_hh_income_25_500.007700.006081.270.0
coef_cars2_hh_income_50_750.01920.007142.68**0.0
coef_cars2_hh_income_75_up0.002680.002591.030.0
coef_cars3_hh_income_0_25k0.08150.01018.05***0.0
coef_cars3_hh_income_25_500.001620.007460.220.0
coef_cars3_hh_income_50_750.02680.007933.38***0.0
coef_cars3_hh_income_75_up0.003810.002751.390.0
coef_cars4_hh_income_0_25k0.09510.01755.45***0.0
coef_cars4_hh_income_25_500.002760.009820.280.0
coef_cars4_hh_income_50_750.02740.009073.02**0.0
coef_cars4_hh_income_75_up0.008110.002922.78**0.0
\n", + "
" + ], "text/plain": [ - "" + " model \\\n", + " Value Std Err t Stat Signif \n", + "Parameter \n", + "coef_cars1_asc  1.34  0.941  1.42 \n", + "coef_cars1_asc_county -0.656  0.158 -4.14 *** \n", + "coef_cars1_asc_marin -0.168  0.106 -1.58 \n", + "coef_cars1_asc_san_francisco  0.325  0.0979  3.31 *** \n", + "coef_cars1_auto_time_saving_per_worker  0.394  0.188  2.10 * \n", + "coef_cars1_density_0_10_no_workers  0.00  0.00  NA \n", + "coef_cars1_density_10_up_no_workers -0.0145  0.00339 -4.27 *** \n", + "coef_cars1_density_10_up_workers -0.0183  0.00271 -6.75 *** \n", + "coef_cars1_drivers_2  0.00  0.00  NA \n", + "coef_cars1_drivers_3  0.00  0.00  NA \n", + "coef_cars1_drivers_4_up  2.01  0.317  6.35 *** \n", + "coef_cars1_hh_income_0_30k  0.0456  0.00298  15.29 *** \n", + "coef_cars1_hh_income_30_up  0.00  0.00  NA \n", + "coef_cars1_num_workers_clip_3  0.00  0.00  NA \n", + "coef_cars1_persons_16_17  0.00  0.00  NA \n", + "coef_cars1_persons_18_24 -0.476  0.0586 -8.11 *** \n", + "coef_cars1_persons_25_34  0.00  0.00  NA \n", + "coef_cars1_presence_children_0_4  0.487  0.130  3.75 *** \n", + "coef_cars1_presence_children_5_17  0.0390  0.0934  0.42 \n", + "coef_cars234_asc_marin  0.00  0.00  NA \n", + "coef_cars234_presence_children_0_4  0.834  0.137  6.10 *** \n", + "coef_cars2_asc -0.817  0.944 -0.87 \n", + "coef_cars2_asc_county -0.534  0.166 -3.22 ** \n", + "coef_cars2_asc_san_francisco  0.395  0.123  3.22 ** \n", + "coef_cars2_auto_time_saving_per_worker  0.626  0.197  3.18 ** \n", + "coef_cars2_density_0_10_no_workers -0.189  0.0118 -16.03 *** \n", + "coef_cars2_density_10_up_no_workers -0.119  0.0117 -10.12 *** \n", + "coef_cars2_drivers_2  2.88  0.0602  47.87 *** \n", + "coef_cars2_drivers_3  3.46  0.0971  35.68 *** \n", + "coef_cars2_drivers_4_up  6.18  0.332  18.61 *** \n", + "coef_cars2_hh_income_0_30k  0.0557  0.00419  13.31 *** \n", + "coef_cars2_hh_income_30_up  0.00709  0.000782  9.07 *** \n", + "coef_cars2_num_workers_clip_3  0.317  0.0420  7.55 *** \n", + "coef_cars2_persons_16_17 -0.845  0.0976 -8.66 *** \n", + "coef_cars2_persons_18_24 -0.990  0.0659 -15.04 *** \n", + "coef_cars2_persons_25_34 -0.379  0.0322 -11.77 *** \n", + "coef_cars2_presence_children_5_17  0.327  0.104  3.16 ** \n", + "coef_cars34_asc_county -0.261  0.173 -1.50 \n", + "coef_cars34_asc_san_francisco  0.0559  0.161  0.35 \n", + "coef_cars34_density_0_10_no_workers -0.343  0.0182 -18.81 *** \n", + "coef_cars34_density_10_up_no_workers -0.255  0.0544 -4.69 *** \n", + "coef_cars34_persons_16_17 -1.82  0.113 -16.13 *** \n", + "coef_cars34_persons_18_24 -1.01  0.0695 -14.60 *** \n", + "coef_cars34_persons_25_34 -0.745  0.0402 -18.56 *** \n", + "coef_cars34_presence_children_5_17  0.542  0.112  4.83 *** \n", + "coef_cars3_asc -3.43  0.962 -3.56 *** \n", + "coef_cars3_auto_time_saving_per_worker  0.538  0.215  2.50 * \n", + "coef_cars3_drivers_2  3.33  0.151  21.99 *** \n", + "coef_cars3_drivers_3  5.70  0.170  33.48 *** \n", + "coef_cars3_drivers_4_up  8.64  0.364  23.72 *** \n", + "coef_cars3_hh_income_0_30k  0.0644  0.00668  9.65 *** \n", + "coef_cars3_hh_income_30_up  0.00913  0.00103  8.88 *** \n", + "coef_cars3_num_workers_clip_3  0.650  0.0519  12.53 *** \n", + "coef_cars4_asc -5.53  1.02 -5.42 *** \n", + "coef_cars4_auto_time_saving_per_worker  0.834  0.249  3.35 *** \n", + "coef_cars4_drivers_2  2.65  0.287  9.23 *** \n", + "coef_cars4_drivers_3  5.33  0.297  17.95 *** \n", + "coef_cars4_drivers_4_up  9.42  0.436  21.59 *** \n", + "coef_cars4_hh_income_0_30k  0.0718  0.0111  6.46 *** \n", + "coef_cars4_hh_income_30_up  0.0132  0.00132  10.00 *** \n", + "coef_cars4_num_workers_clip_3  0.949  0.0646  14.69 *** \n", + "coef_retail_auto_no_workers  0.0398  0.101  0.39 \n", + "coef_retail_auto_workers  0.156  0.102  1.52 \n", + "coef_retail_non_motor -0.0300  0.00  NA \n", + "coef_retail_transit_no_workers -0.308  0.0295 -10.44 *** \n", + "coef_retail_transit_workers -0.525  0.0396 -13.24 *** \n", + "coef_cars1_hh_income_0_25k \n", + "coef_cars1_hh_income_25_50 \n", + "coef_cars1_hh_income_50_75 \n", + "coef_cars1_hh_income_75_up \n", + "coef_cars2_hh_income_0_25k \n", + "coef_cars2_hh_income_25_50 \n", + "coef_cars2_hh_income_50_75 \n", + "coef_cars2_hh_income_75_up \n", + "coef_cars3_hh_income_0_25k \n", + "coef_cars3_hh_income_25_50 \n", + "coef_cars3_hh_income_50_75 \n", + "coef_cars3_hh_income_75_up \n", + "coef_cars4_hh_income_0_25k \n", + "coef_cars4_hh_income_25_50 \n", + "coef_cars4_hh_income_50_75 \n", + "coef_cars4_hh_income_75_up \n", + "\n", + " model2 \\\n", + " Null Value Constrained Value \n", + "Parameter \n", + "coef_cars1_asc 0.0  1.45 \n", + "coef_cars1_asc_county 0.0 -0.670 \n", + "coef_cars1_asc_marin 0.0 -0.171 \n", + "coef_cars1_asc_san_francisco 0.0  0.317 \n", + "coef_cars1_auto_time_saving_per_worker 0.0  0.380 \n", + "coef_cars1_density_0_10_no_workers 0.0 fixed value  0.00 \n", + "coef_cars1_density_10_up_no_workers 0.0 -0.0143 \n", + "coef_cars1_density_10_up_workers 0.0 -0.0184 \n", + "coef_cars1_drivers_2 0.0 fixed value  0.00 \n", + "coef_cars1_drivers_3 0.0 fixed value  0.00 \n", + "coef_cars1_drivers_4_up 0.0  1.99 \n", + "coef_cars1_hh_income_0_30k 0.0 \n", + "coef_cars1_hh_income_30_up 0.0 fixed value \n", + "coef_cars1_num_workers_clip_3 0.0 fixed value  0.00 \n", + "coef_cars1_persons_16_17 0.0 fixed value  0.00 \n", + "coef_cars1_persons_18_24 0.0 -0.473 \n", + "coef_cars1_persons_25_34 0.0 fixed value  0.00 \n", + "coef_cars1_presence_children_0_4 0.0  0.494 \n", + "coef_cars1_presence_children_5_17 0.0  0.0442 \n", + "coef_cars234_asc_marin 0.0 fixed value  0.00 \n", + "coef_cars234_presence_children_0_4 0.0  0.840 \n", + "coef_cars2_asc 0.0 -0.752 \n", + "coef_cars2_asc_county 0.0 -0.553 \n", + "coef_cars2_asc_san_francisco 0.0  0.394 \n", + "coef_cars2_auto_time_saving_per_worker 0.0  0.608 \n", + "coef_cars2_density_0_10_no_workers 0.0 -0.191 \n", + "coef_cars2_density_10_up_no_workers 0.0 -0.119 \n", + "coef_cars2_drivers_2 0.0  2.88 \n", + "coef_cars2_drivers_3 0.0  3.46 \n", + "coef_cars2_drivers_4_up 0.0  6.18 \n", + "coef_cars2_hh_income_0_30k 0.0 \n", + "coef_cars2_hh_income_30_up 0.0 \n", + "coef_cars2_num_workers_clip_3 0.0  0.317 \n", + "coef_cars2_persons_16_17 0.0 -0.852 \n", + "coef_cars2_persons_18_24 0.0 -0.989 \n", + "coef_cars2_persons_25_34 0.0 -0.375 \n", + "coef_cars2_presence_children_5_17 0.0  0.334 \n", + "coef_cars34_asc_county 0.0 -0.272 \n", + "coef_cars34_asc_san_francisco 0.0  0.0426 \n", + "coef_cars34_density_0_10_no_workers 0.0 -0.343 \n", + "coef_cars34_density_10_up_no_workers 0.0 -0.254 \n", + "coef_cars34_persons_16_17 0.0 -1.83 \n", + "coef_cars34_persons_18_24 0.0 -1.02 \n", + "coef_cars34_persons_25_34 0.0 -0.741 \n", + "coef_cars34_presence_children_5_17 0.0  0.545 \n", + "coef_cars3_asc 0.0 -3.50 \n", + "coef_cars3_auto_time_saving_per_worker 0.0  0.528 \n", + "coef_cars3_drivers_2 0.0  3.34 \n", + "coef_cars3_drivers_3 0.0  5.71 \n", + "coef_cars3_drivers_4_up 0.0  8.65 \n", + "coef_cars3_hh_income_0_30k 0.0 \n", + "coef_cars3_hh_income_30_up 0.0 \n", + "coef_cars3_num_workers_clip_3 0.0  0.652 \n", + "coef_cars4_asc 0.0 -5.63 \n", + "coef_cars4_auto_time_saving_per_worker 0.0  0.826 \n", + "coef_cars4_drivers_2 0.0  2.64 \n", + "coef_cars4_drivers_3 0.0  5.30 \n", + "coef_cars4_drivers_4_up 0.0  9.40 \n", + "coef_cars4_hh_income_0_30k 0.0 \n", + "coef_cars4_hh_income_30_up 0.0 \n", + "coef_cars4_num_workers_clip_3 0.0  0.958 \n", + "coef_retail_auto_no_workers 0.0  0.0279 \n", + "coef_retail_auto_workers 0.0  0.143 \n", + "coef_retail_non_motor 0.0 fixed value -0.0300 \n", + "coef_retail_transit_no_workers 0.0 -0.308 \n", + "coef_retail_transit_workers 0.0 -0.522 \n", + "coef_cars1_hh_income_0_25k  0.0471 \n", + "coef_cars1_hh_income_25_50  0.00662 \n", + "coef_cars1_hh_income_50_75  0.00792 \n", + "coef_cars1_hh_income_75_up -0.00233 \n", + "coef_cars2_hh_income_0_25k  0.0630 \n", + "coef_cars2_hh_income_25_50  0.00770 \n", + "coef_cars2_hh_income_50_75  0.0192 \n", + "coef_cars2_hh_income_75_up  0.00268 \n", + "coef_cars3_hh_income_0_25k  0.0815 \n", + "coef_cars3_hh_income_25_50  0.00162 \n", + "coef_cars3_hh_income_50_75  0.0268 \n", + "coef_cars3_hh_income_75_up  0.00381 \n", + "coef_cars4_hh_income_0_25k  0.0951 \n", + "coef_cars4_hh_income_25_50  0.00276 \n", + "coef_cars4_hh_income_50_75  0.0274 \n", + "coef_cars4_hh_income_75_up  0.00811 \n", + "\n", + " \\\n", + " Std Err t Stat Signif Null Value \n", + "Parameter \n", + "coef_cars1_asc  0.946  1.54 0.0 \n", + "coef_cars1_asc_county  0.159 -4.22 *** 0.0 \n", + "coef_cars1_asc_marin  0.106 -1.61 0.0 \n", + "coef_cars1_asc_san_francisco  0.0982  3.23 ** 0.0 \n", + "coef_cars1_auto_time_saving_per_worker  0.189  2.01 * 0.0 \n", + "coef_cars1_density_0_10_no_workers  0.00  NA 0.0 \n", + "coef_cars1_density_10_up_no_workers  0.00339 -4.21 *** 0.0 \n", + "coef_cars1_density_10_up_workers  0.00271 -6.80 *** 0.0 \n", + "coef_cars1_drivers_2  0.00  NA 0.0 \n", + "coef_cars1_drivers_3  0.00  NA 0.0 \n", + "coef_cars1_drivers_4_up  0.318  6.27 *** 0.0 \n", + "coef_cars1_hh_income_0_30k \n", + "coef_cars1_hh_income_30_up \n", + "coef_cars1_num_workers_clip_3  0.00  NA 0.0 \n", + "coef_cars1_persons_16_17  0.00  NA 0.0 \n", + "coef_cars1_persons_18_24  0.0586 -8.07 *** 0.0 \n", + "coef_cars1_persons_25_34  0.00  NA 0.0 \n", + "coef_cars1_presence_children_0_4  0.130  3.80 *** 0.0 \n", + "coef_cars1_presence_children_5_17  0.0935  0.47 0.0 \n", + "coef_cars234_asc_marin  0.00  NA 0.0 \n", + "coef_cars234_presence_children_0_4  0.137  6.13 *** 0.0 \n", + "coef_cars2_asc  0.949 -0.79 0.0 \n", + "coef_cars2_asc_county  0.166 -3.33 *** 0.0 \n", + "coef_cars2_asc_san_francisco  0.123  3.20 ** 0.0 \n", + "coef_cars2_auto_time_saving_per_worker  0.198  3.07 ** 0.0 \n", + "coef_cars2_density_0_10_no_workers  0.0118 -16.16 *** 0.0 \n", + "coef_cars2_density_10_up_no_workers  0.0117 -10.13 *** 0.0 \n", + "coef_cars2_drivers_2  0.0603  47.83 *** 0.0 \n", + "coef_cars2_drivers_3  0.0971  35.66 *** 0.0 \n", + "coef_cars2_drivers_4_up  0.333  18.53 *** 0.0 \n", + "coef_cars2_hh_income_0_30k \n", + "coef_cars2_hh_income_30_up \n", + "coef_cars2_num_workers_clip_3  0.0420  7.54 *** 0.0 \n", + "coef_cars2_persons_16_17  0.0977 -8.72 *** 0.0 \n", + "coef_cars2_persons_18_24  0.0659 -15.01 *** 0.0 \n", + "coef_cars2_persons_25_34  0.0322 -11.64 *** 0.0 \n", + "coef_cars2_presence_children_5_17  0.104  3.21 ** 0.0 \n", + "coef_cars34_asc_county  0.174 -1.57 0.0 \n", + "coef_cars34_asc_san_francisco  0.161  0.26 0.0 \n", + "coef_cars34_density_0_10_no_workers  0.0182 -18.84 *** 0.0 \n", + "coef_cars34_density_10_up_no_workers  0.0542 -4.70 *** 0.0 \n", + "coef_cars34_persons_16_17  0.113 -16.23 *** 0.0 \n", + "coef_cars34_persons_18_24  0.0696 -14.60 *** 0.0 \n", + "coef_cars34_persons_25_34  0.0402 -18.44 *** 0.0 \n", + "coef_cars34_presence_children_5_17  0.112  4.86 *** 0.0 \n", + "coef_cars3_asc  0.972 -3.60 *** 0.0 \n", + "coef_cars3_auto_time_saving_per_worker  0.216  2.45 * 0.0 \n", + "coef_cars3_drivers_2  0.152  21.93 *** 0.0 \n", + "coef_cars3_drivers_3  0.171  33.40 *** 0.0 \n", + "coef_cars3_drivers_4_up  0.366  23.64 *** 0.0 \n", + "coef_cars3_hh_income_0_30k \n", + "coef_cars3_hh_income_30_up \n", + "coef_cars3_num_workers_clip_3  0.0519  12.55 *** 0.0 \n", + "coef_cars4_asc  1.04 -5.40 *** 0.0 \n", + "coef_cars4_auto_time_saving_per_worker  0.250  3.30 *** 0.0 \n", + "coef_cars4_drivers_2  0.283  9.30 *** 0.0 \n", + "coef_cars4_drivers_3  0.293  18.07 *** 0.0 \n", + "coef_cars4_drivers_4_up  0.435  21.61 *** 0.0 \n", + "coef_cars4_hh_income_0_30k \n", + "coef_cars4_hh_income_30_up \n", + "coef_cars4_num_workers_clip_3  0.0646  14.82 *** 0.0 \n", + "coef_retail_auto_no_workers  0.102  0.27 0.0 \n", + "coef_retail_auto_workers  0.103  1.39 0.0 \n", + "coef_retail_non_motor  0.00  NA 0.0 \n", + "coef_retail_transit_no_workers  0.0295 -10.42 *** 0.0 \n", + "coef_retail_transit_workers  0.0397 -13.15 *** 0.0 \n", + "coef_cars1_hh_income_0_25k  0.00436  10.81 *** 0.0 \n", + "coef_cars1_hh_income_25_50  0.00537  1.23 0.0 \n", + "coef_cars1_hh_income_50_75  0.00666  1.19 0.0 \n", + "coef_cars1_hh_income_75_up  0.00246 -0.95 0.0 \n", + "coef_cars2_hh_income_0_25k  0.00607  10.37 *** 0.0 \n", + "coef_cars2_hh_income_25_50  0.00608  1.27 0.0 \n", + "coef_cars2_hh_income_50_75  0.00714  2.68 ** 0.0 \n", + "coef_cars2_hh_income_75_up  0.00259  1.03 0.0 \n", + "coef_cars3_hh_income_0_25k  0.0101  8.05 *** 0.0 \n", + "coef_cars3_hh_income_25_50  0.00746  0.22 0.0 \n", + "coef_cars3_hh_income_50_75  0.00793  3.38 *** 0.0 \n", + "coef_cars3_hh_income_75_up  0.00275  1.39 0.0 \n", + "coef_cars4_hh_income_0_25k  0.0175  5.45 *** 0.0 \n", + "coef_cars4_hh_income_25_50  0.00982  0.28 0.0 \n", + "coef_cars4_hh_income_50_75  0.00907  3.02 ** 0.0 \n", + "coef_cars4_hh_income_75_up  0.00292  2.78 ** 0.0 \n", + "\n", + " \n", + " Constrained \n", + "Parameter \n", + "coef_cars1_asc \n", + "coef_cars1_asc_county \n", + "coef_cars1_asc_marin \n", + "coef_cars1_asc_san_francisco \n", + "coef_cars1_auto_time_saving_per_worker \n", + "coef_cars1_density_0_10_no_workers fixed value \n", + "coef_cars1_density_10_up_no_workers \n", + "coef_cars1_density_10_up_workers \n", + "coef_cars1_drivers_2 fixed value \n", + "coef_cars1_drivers_3 fixed value \n", + "coef_cars1_drivers_4_up \n", + "coef_cars1_hh_income_0_30k \n", + "coef_cars1_hh_income_30_up \n", + "coef_cars1_num_workers_clip_3 fixed value \n", + "coef_cars1_persons_16_17 fixed value \n", + "coef_cars1_persons_18_24 \n", + "coef_cars1_persons_25_34 fixed value \n", + "coef_cars1_presence_children_0_4 \n", + "coef_cars1_presence_children_5_17 \n", + "coef_cars234_asc_marin fixed value \n", + "coef_cars234_presence_children_0_4 \n", + "coef_cars2_asc \n", + "coef_cars2_asc_county \n", + "coef_cars2_asc_san_francisco \n", + "coef_cars2_auto_time_saving_per_worker \n", + "coef_cars2_density_0_10_no_workers \n", + "coef_cars2_density_10_up_no_workers \n", + "coef_cars2_drivers_2 \n", + "coef_cars2_drivers_3 \n", + "coef_cars2_drivers_4_up \n", + "coef_cars2_hh_income_0_30k \n", + "coef_cars2_hh_income_30_up \n", + "coef_cars2_num_workers_clip_3 \n", + "coef_cars2_persons_16_17 \n", + "coef_cars2_persons_18_24 \n", + "coef_cars2_persons_25_34 \n", + "coef_cars2_presence_children_5_17 \n", + "coef_cars34_asc_county \n", + "coef_cars34_asc_san_francisco \n", + "coef_cars34_density_0_10_no_workers \n", + "coef_cars34_density_10_up_no_workers \n", + "coef_cars34_persons_16_17 \n", + "coef_cars34_persons_18_24 \n", + "coef_cars34_persons_25_34 \n", + "coef_cars34_presence_children_5_17 \n", + "coef_cars3_asc \n", + "coef_cars3_auto_time_saving_per_worker \n", + "coef_cars3_drivers_2 \n", + "coef_cars3_drivers_3 \n", + "coef_cars3_drivers_4_up \n", + "coef_cars3_hh_income_0_30k \n", + "coef_cars3_hh_income_30_up \n", + "coef_cars3_num_workers_clip_3 \n", + "coef_cars4_asc \n", + "coef_cars4_auto_time_saving_per_worker \n", + "coef_cars4_drivers_2 \n", + "coef_cars4_drivers_3 \n", + "coef_cars4_drivers_4_up \n", + "coef_cars4_hh_income_0_30k \n", + "coef_cars4_hh_income_30_up \n", + "coef_cars4_num_workers_clip_3 \n", + "coef_retail_auto_no_workers \n", + "coef_retail_auto_workers \n", + "coef_retail_non_motor fixed value \n", + "coef_retail_transit_no_workers \n", + "coef_retail_transit_workers \n", + "coef_cars1_hh_income_0_25k \n", + "coef_cars1_hh_income_25_50 \n", + "coef_cars1_hh_income_50_75 \n", + "coef_cars1_hh_income_75_up \n", + "coef_cars2_hh_income_0_25k \n", + "coef_cars2_hh_income_25_50 \n", + "coef_cars2_hh_income_50_75 \n", + "coef_cars2_hh_income_75_up \n", + "coef_cars3_hh_income_0_25k \n", + "coef_cars3_hh_income_25_50 \n", + "coef_cars3_hh_income_50_75 \n", + "coef_cars3_hh_income_75_up \n", + "coef_cars4_hh_income_0_25k \n", + "coef_cars4_hh_income_25_50 \n", + "coef_cars4_hh_income_50_75 \n", + "coef_cars4_hh_income_75_up " ] }, - "execution_count": 10, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "model.to_xlsx(\n", - " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", - " data_statistics=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Next Steps\n", - "\n", - "The final step is to either manually or automatically copy the `*_coefficients_revised.csv` file to the configs folder, rename it to `*_coefficients.csv`, and run ActivitySim in simulation mode." + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.parameter_summary().data,\n", + " \"model2\": model2.parameter_summary().data,\n", + " }, axis=1).fillna(\"\"))" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -2652,107 +5819,70 @@ " \n", " \n", " \n", - " coefficient_name\n", - " value\n", - " constrain\n", + " \n", + " model\n", + " model2\n", " \n", " \n", " \n", " \n", - " 0\n", - " coef_cars1_drivers_2\n", - " 0.000000\n", - " T\n", - " \n", - " \n", - " 1\n", - " coef_cars1_drivers_3\n", - " 0.000000\n", - " T\n", - " \n", - " \n", - " 2\n", - " coef_cars1_persons_16_17\n", - " 0.000000\n", - " T\n", - " \n", - " \n", - " 3\n", - " coef_cars234_asc_marin\n", - " 0.000000\n", - " T\n", - " \n", - " \n", - " 4\n", - " coef_cars1_persons_25_34\n", - " 0.000000\n", - " T\n", - " \n", - " \n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", + " Number of Cases\n", + " Aggregate\n", + " 20000.000000\n", + " 20000.000000\n", " \n", " \n", - " 62\n", - " coef_cars4_drivers_3\n", - " 564.490158\n", - " F\n", + " Log Likelihood at Convergence\n", + " Aggregate\n", + " -18485.495027\n", + " -18480.692008\n", " \n", " \n", - " 63\n", - " coef_cars3_drivers_3\n", - " 5.048488\n", - " F\n", + " Per Case\n", + " -0.924275\n", + " -0.924035\n", " \n", " \n", - " 64\n", - " coef_cars2_drivers_4_up\n", - " 6.856405\n", - " F\n", + " Log Likelihood at Null Parameters\n", + " Aggregate\n", + " -32431.882743\n", + " -32431.882743\n", " \n", " \n", - " 65\n", - " coef_cars3_drivers_4_up\n", - " 8.317950\n", - " F\n", + " Per Case\n", + " -1.621594\n", + " -1.621594\n", " \n", " \n", - " 66\n", - " coef_cars4_drivers_4_up\n", - " 568.272514\n", - " F\n", + " Rho Squared w.r.t. Null Parameters\n", + " Aggregate\n", + " 0.430021\n", + " 0.430169\n", " \n", " \n", "\n", - "

67 rows × 3 columns

\n", "" ], "text/plain": [ - " coefficient_name value constrain\n", - "0 coef_cars1_drivers_2 0.000000 T\n", - "1 coef_cars1_drivers_3 0.000000 T\n", - "2 coef_cars1_persons_16_17 0.000000 T\n", - "3 coef_cars234_asc_marin 0.000000 T\n", - "4 coef_cars1_persons_25_34 0.000000 T\n", - ".. ... ... ...\n", - "62 coef_cars4_drivers_3 564.490158 F\n", - "63 coef_cars3_drivers_3 5.048488 F\n", - "64 coef_cars2_drivers_4_up 6.856405 F\n", - "65 coef_cars3_drivers_4_up 8.317950 F\n", - "66 coef_cars4_drivers_4_up 568.272514 F\n", - "\n", - "[67 rows x 3 columns]" + " model model2\n", + "Number of Cases Aggregate 20000.000000 20000.000000\n", + "Log Likelihood at Convergence Aggregate -18485.495027 -18480.692008\n", + " Per Case -0.924275 -0.924035\n", + "Log Likelihood at Null Parameters Aggregate -32431.882743 -32431.882743\n", + " Per Case -1.621594 -1.621594\n", + "Rho Squared w.r.t. Null Parameters Aggregate 0.430021 0.430169" ] }, - "execution_count": 11, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "pd.read_csv(result_dir/f\"{modelname}_coefficients_revised.csv\")" + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.estimation_statistics_raw(),\n", + " \"model2\": model2.estimation_statistics_raw(),\n", + " }, axis=1).fillna(\"\"))" ] } ], @@ -2763,7 +5893,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -2777,7 +5907,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/05_free_parking.ipynb b/activitysim/examples/example_estimation/notebooks/05_free_parking.ipynb index fd0fe5714f..464f32106c 100644 --- a/activitysim/examples/example_estimation/notebooks/05_free_parking.ipynb +++ b/activitysim/examples/example_estimation/notebooks/05_free_parking.ipynb @@ -34,27 +34,75 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +116,27 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/free_parking/free_parking_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/free_parking/free_parking_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/free_parking/free_parking_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"free_parking\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -388,14 +451,14 @@ " util_hh_size_4_up\n", " util_more_autos_than_workers\n", " ...\n", - " COLLFTE\n", - " COLLPTE\n", - " TOPOLOGY\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", + " auOpRetail\n", + " auOpTotal\n", + " trPkRetail\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " workplace_county_id\n", " override_choice_code\n", " \n", @@ -426,8 +489,8 @@ " \n", " \n", " \n", - " 72241\n", - " 72241\n", + " 72355\n", + " 72355\n", " False\n", " False\n", " 1.0\n", @@ -436,22 +499,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 4.58156\n", - " 68.092368\n", - " 151.674705\n", - " 46.994710\n", - " True\n", + " 9.915345\n", + " 12.430580\n", + " 6.550726\n", + " 9.119016\n", + " 6.446184\n", + " 9.035333\n", + " 5.256966\n", + " 6.831275\n", " 1\n", " 2\n", " \n", " \n", - " 72441\n", - " 72441\n", + " 72384\n", + " 72384\n", " False\n", " False\n", " 1.0\n", @@ -462,20 +525,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.28482\n", - " 28.491228\n", - " 4.052632\n", - " 3.547964\n", - " False\n", + " 9.971763\n", + " 12.488100\n", + " 6.384615\n", + " 8.910521\n", + " 6.292135\n", + " 8.845287\n", + " 5.447277\n", + " 7.062559\n", " 1\n", " 2\n", " \n", " \n", - " 72528\n", - " 72528\n", + " 72407\n", + " 72407\n", " False\n", " False\n", " 1.0\n", @@ -486,20 +549,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 6861.20508\n", - " 1174.96875\n", - " 1\n", - " 3.49553\n", - " 19.033424\n", - " 37.235052\n", - " 12.595161\n", - " False\n", + " 9.971763\n", + " 12.488100\n", + " 6.384615\n", + " 8.910521\n", + " 6.292135\n", + " 8.845287\n", + " 5.447277\n", + " 7.062559\n", " 1\n", " 2\n", " \n", " \n", - " 73144\n", - " 73144\n", + " 72459\n", + " 72459\n", " False\n", " False\n", " 1.0\n", @@ -510,20 +573,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.48345\n", - " 26.073171\n", - " 8.048780\n", - " 6.150212\n", - " False\n", + " 10.086939\n", + " 12.619691\n", + " 6.787018\n", + " 9.400117\n", + " 6.687820\n", + " 9.307625\n", + " 5.877288\n", + " 7.691985\n", " 1\n", " 2\n", " \n", " \n", - " 73493\n", - " 73493\n", + " 72529\n", + " 72529\n", " False\n", " False\n", " 1.0\n", @@ -534,14 +597,14 @@ " 0.0\n", " 0.0\n", " ...\n", - " 7144.64307\n", - " 22523.34570\n", - " 1\n", - " 3.20356\n", - " 13.672131\n", - " 39.852459\n", - " 10.179771\n", - " False\n", + " 10.263491\n", + " 12.913804\n", + " 6.830450\n", + " 9.558905\n", + " 6.611336\n", + " 9.308290\n", + " 6.696709\n", + " 8.925142\n", " 1\n", " 2\n", " \n", @@ -570,35 +633,35 @@ " ...\n", " \n", " \n", - " 2822879\n", - " 7514214\n", - " False\n", + " 2847736\n", + " 7539071\n", " False\n", - " 1.0\n", - " 0.0\n", + " True\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 1.08765\n", - " 0.415094\n", - " 3.578616\n", - " 0.371951\n", - " False\n", + " 9.875413\n", + " 12.586445\n", + " 4.800090\n", + " 8.088658\n", + " 4.581187\n", + " 7.858361\n", + " 5.697172\n", + " 9.212853\n", + " 4\n", " 1\n", - " 2\n", " \n", " \n", - " 2822949\n", - " 7514284\n", + " 2847868\n", + " 7539203\n", " False\n", " False\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -606,47 +669,47 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.86254\n", - " 33.841404\n", - " 40.299687\n", - " 18.394631\n", - " True\n", - " 1\n", + " 9.121001\n", + " 11.606573\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 1.324505\n", + " 4.959246\n", + " 5\n", " 2\n", " \n", " \n", - " 2823069\n", - " 7514404\n", - " False\n", - " False\n", - " 1.0\n", + " 2847882\n", + " 7539217\n", + " True\n", + " True\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.95752\n", - " 65.596535\n", - " 32.655666\n", - " 21.802041\n", - " True\n", + " 9.121001\n", + " 11.606573\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 1.324505\n", + " 4.959246\n", + " 4\n", " 1\n", - " 2\n", " \n", " \n", - " 2823442\n", - " 7514777\n", + " 2847935\n", + " 7539270\n", " False\n", " False\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -654,23 +717,23 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 2\n", - " 4.51942\n", - " 56.706023\n", - " 144.861886\n", - " 40.753220\n", - " True\n", - " 1\n", + " 9.653875\n", + " 12.007751\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 5.523983\n", + " 7.598532\n", + " 5\n", " 2\n", " \n", " \n", - " 2823850\n", - " 7515185\n", - " False\n", + " 2847982\n", + " 7539317\n", + " True\n", " False\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -678,108 +741,108 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 3\n", - " 2.46800\n", - " 0.296858\n", - " 36.296472\n", - " 0.294449\n", - " True\n", - " 1\n", + " 6.494711\n", + " 8.713819\n", + " 0.019735\n", + " 0.222696\n", + " 0.016077\n", + " 0.153189\n", + " 0.000000\n", + " 0.000000\n", + " 8\n", " 2\n", " \n", " \n", "\n", - "

2582 rows × 116 columns

\n", + "

28281 rows × 116 columns

\n", "" ], "text/plain": [ " person_id model_choice override_choice \\\n", "household_id \n", - "72241 72241 False False \n", - "72441 72441 False False \n", - "72528 72528 False False \n", - "73144 73144 False False \n", - "73493 73493 False False \n", + "72355 72355 False False \n", + "72384 72384 False False \n", + "72407 72407 False False \n", + "72459 72459 False False \n", + "72529 72529 False False \n", "... ... ... ... \n", - "2822879 7514214 False False \n", - "2822949 7514284 False False \n", - "2823069 7514404 False False \n", - "2823442 7514777 False False \n", - "2823850 7515185 False False \n", + "2847736 7539071 False True \n", + "2847868 7539203 False False \n", + "2847882 7539217 True True \n", + "2847935 7539270 False False \n", + "2847982 7539317 True False \n", "\n", " util_asc_san_francisco util_asc_santa_clara util_asc_alameda \\\n", "household_id \n", - "72241 1.0 0.0 0.0 \n", - "72441 1.0 0.0 0.0 \n", - "72528 1.0 0.0 0.0 \n", - "73144 1.0 0.0 0.0 \n", - "73493 1.0 0.0 0.0 \n", + "72355 1.0 0.0 0.0 \n", + "72384 1.0 0.0 0.0 \n", + "72407 1.0 0.0 0.0 \n", + "72459 1.0 0.0 0.0 \n", + "72529 1.0 0.0 0.0 \n", "... ... ... ... \n", - "2822879 1.0 0.0 0.0 \n", - "2822949 1.0 0.0 0.0 \n", - "2823069 1.0 0.0 0.0 \n", - "2823442 1.0 0.0 0.0 \n", - "2823850 1.0 0.0 0.0 \n", + "2847736 0.0 0.0 1.0 \n", + "2847868 0.0 0.0 0.0 \n", + "2847882 0.0 0.0 1.0 \n", + "2847935 0.0 0.0 0.0 \n", + "2847982 0.0 0.0 0.0 \n", "\n", " util_income_very_high util_income_high util_hh_size_4_up \\\n", "household_id \n", - "72241 0.0 0.0 0.0 \n", - "72441 0.0 0.0 0.0 \n", - "72528 0.0 0.0 0.0 \n", - "73144 0.0 0.0 0.0 \n", - "73493 0.0 0.0 0.0 \n", + "72355 0.0 0.0 0.0 \n", + "72384 0.0 0.0 0.0 \n", + "72407 0.0 0.0 0.0 \n", + "72459 0.0 0.0 0.0 \n", + "72529 0.0 0.0 0.0 \n", "... ... ... ... \n", - "2822879 0.0 0.0 0.0 \n", - "2822949 0.0 0.0 0.0 \n", - "2823069 0.0 0.0 0.0 \n", - "2823442 0.0 0.0 0.0 \n", - "2823850 0.0 0.0 0.0 \n", + "2847736 0.0 0.0 0.0 \n", + "2847868 0.0 0.0 0.0 \n", + "2847882 0.0 0.0 0.0 \n", + "2847935 0.0 0.0 0.0 \n", + "2847982 0.0 0.0 0.0 \n", "\n", - " util_more_autos_than_workers ... COLLFTE COLLPTE \\\n", - "household_id ... \n", - "72241 0.0 ... 0.00000 0.00000 \n", - "72441 0.0 ... 0.00000 0.00000 \n", - "72528 0.0 ... 6861.20508 1174.96875 \n", - "73144 0.0 ... 0.00000 0.00000 \n", - "73493 0.0 ... 7144.64307 22523.34570 \n", - "... ... ... ... ... \n", - "2822879 0.0 ... 0.00000 0.00000 \n", - "2822949 0.0 ... 0.00000 0.00000 \n", - "2823069 0.0 ... 0.00000 0.00000 \n", - "2823442 0.0 ... 0.00000 0.00000 \n", - "2823850 0.0 ... 0.00000 0.00000 \n", + " util_more_autos_than_workers ... auOpRetail auOpTotal \\\n", + "household_id ... \n", + "72355 1.0 ... 9.915345 12.430580 \n", + "72384 0.0 ... 9.971763 12.488100 \n", + "72407 0.0 ... 9.971763 12.488100 \n", + "72459 0.0 ... 10.086939 12.619691 \n", + "72529 0.0 ... 10.263491 12.913804 \n", + "... ... ... ... ... \n", + "2847736 1.0 ... 9.875413 12.586445 \n", + "2847868 0.0 ... 9.121001 11.606573 \n", + "2847882 0.0 ... 9.121001 11.606573 \n", + "2847935 0.0 ... 9.653875 12.007751 \n", + "2847982 0.0 ... 6.494711 8.713819 \n", "\n", - " TOPOLOGY TERMINAL household_density employment_density \\\n", - "household_id \n", - "72241 1 4.58156 68.092368 151.674705 \n", - "72441 1 2.28482 28.491228 4.052632 \n", - "72528 1 3.49553 19.033424 37.235052 \n", - "73144 1 2.48345 26.073171 8.048780 \n", - "73493 1 3.20356 13.672131 39.852459 \n", - "... ... ... ... ... \n", - "2822879 1 1.08765 0.415094 3.578616 \n", - "2822949 1 3.86254 33.841404 40.299687 \n", - "2823069 1 3.95752 65.596535 32.655666 \n", - "2823442 2 4.51942 56.706023 144.861886 \n", - "2823850 3 2.46800 0.296858 36.296472 \n", + " trPkRetail trPkTotal trOpRetail trOpTotal nmRetail \\\n", + "household_id \n", + "72355 6.550726 9.119016 6.446184 9.035333 5.256966 \n", + "72384 6.384615 8.910521 6.292135 8.845287 5.447277 \n", + "72407 6.384615 8.910521 6.292135 8.845287 5.447277 \n", + "72459 6.787018 9.400117 6.687820 9.307625 5.877288 \n", + "72529 6.830450 9.558905 6.611336 9.308290 6.696709 \n", + "... ... ... ... ... ... \n", + "2847736 4.800090 8.088658 4.581187 7.858361 5.697172 \n", + "2847868 0.000000 0.000000 0.000000 0.000000 1.324505 \n", + "2847882 0.000000 0.000000 0.000000 0.000000 1.324505 \n", + "2847935 0.000000 0.000000 0.000000 0.000000 5.523983 \n", + "2847982 0.019735 0.222696 0.016077 0.153189 0.000000 \n", "\n", - " density_index is_cbd workplace_county_id override_choice_code \n", - "household_id \n", - "72241 46.994710 True 1 2 \n", - "72441 3.547964 False 1 2 \n", - "72528 12.595161 False 1 2 \n", - "73144 6.150212 False 1 2 \n", - "73493 10.179771 False 1 2 \n", - "... ... ... ... ... \n", - "2822879 0.371951 False 1 2 \n", - "2822949 18.394631 True 1 2 \n", - "2823069 21.802041 True 1 2 \n", - "2823442 40.753220 True 1 2 \n", - "2823850 0.294449 True 1 2 \n", + " nmTotal workplace_county_id override_choice_code \n", + "household_id \n", + "72355 6.831275 1 2 \n", + "72384 7.062559 1 2 \n", + "72407 7.062559 1 2 \n", + "72459 7.691985 1 2 \n", + "72529 8.925142 1 2 \n", + "... ... ... ... \n", + "2847736 9.212853 4 1 \n", + "2847868 4.959246 5 2 \n", + "2847882 4.959246 4 1 \n", + "2847935 7.598532 5 2 \n", + "2847982 0.000000 8 2 \n", "\n", - "[2582 rows x 116 columns]" + "[28281 rows x 116 columns]" ] }, "execution_count": 6, @@ -802,20 +865,13 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 010 [Optimization terminated successfully]

" + "

Iteration 007 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -827,7 +883,7 @@ { "data": { "text/html": [ - "

Best LL = -484.0908426547178

" + "

Best LL = -15941.804810325377

" ], "text/plain": [ "" @@ -858,154 +914,148 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " 0.0\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_asc_alameda\n", - " -0.109200\n", + " -0.141547\n", + " -0.141547\n", " -0.1092\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.109200\n", " \n", " \n", " coef_asc_san_francisco\n", - " -2.456059\n", + " -2.630212\n", + " -2.630212\n", " -2.6403\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.456059\n", " \n", " \n", " coef_asc_santa_clara\n", - " 0.211800\n", + " 0.188205\n", + " 0.188205\n", " 0.2118\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.211800\n", " \n", " \n", " coef_fewer_autos_than_workers\n", - " -1.619489\n", + " -1.407827\n", + " -1.407827\n", " -1.4790\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.619489\n", " \n", " \n", " coef_hh_size_4_up\n", - " 0.279145\n", + " 0.264779\n", + " 0.264779\n", " 0.2530\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.279145\n", " \n", " \n", " coef_income_high\n", - " -0.053120\n", + " 0.217818\n", + " 0.217818\n", " 0.2300\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.053120\n", " \n", " \n", " coef_income_very_high\n", - " 0.296661\n", + " 0.235389\n", + " 0.235389\n", " 0.2300\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.296661\n", " \n", " \n", " coef_more_autos_than_workers\n", - " 0.223434\n", + " 0.225131\n", + " 0.225131\n", " 0.2310\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.223434\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue nullvalue minimum \\\n", - "0.0 0.000000 0.0000 0.0 0.0 \n", - "coef_asc_alameda -0.109200 -0.1092 0.0 NaN \n", - "coef_asc_san_francisco -2.456059 -2.6403 0.0 NaN \n", - "coef_asc_santa_clara 0.211800 0.2118 0.0 NaN \n", - "coef_fewer_autos_than_workers -1.619489 -1.4790 0.0 NaN \n", - "coef_hh_size_4_up 0.279145 0.2530 0.0 NaN \n", - "coef_income_high -0.053120 0.2300 0.0 NaN \n", - "coef_income_very_high 0.296661 0.2300 0.0 NaN \n", - "coef_more_autos_than_workers 0.223434 0.2310 0.0 NaN \n", + " value best initvalue minimum \\\n", + "param_name \n", + "0.0 0.000000 0.000000 0.0000 0.0 \n", + "coef_asc_alameda -0.141547 -0.141547 -0.1092 -50.0 \n", + "coef_asc_san_francisco -2.630212 -2.630212 -2.6403 -50.0 \n", + "coef_asc_santa_clara 0.188205 0.188205 0.2118 -50.0 \n", + "coef_fewer_autos_than_workers -1.407827 -1.407827 -1.4790 -50.0 \n", + "coef_hh_size_4_up 0.264779 0.264779 0.2530 -50.0 \n", + "coef_income_high 0.217818 0.217818 0.2300 -50.0 \n", + "coef_income_very_high 0.235389 0.235389 0.2300 -50.0 \n", + "coef_more_autos_than_workers 0.225131 0.225131 0.2310 -50.0 \n", "\n", - " maximum holdfast note best \n", - "0.0 0.0 1 0.000000 \n", - "coef_asc_alameda NaN 0 -0.109200 \n", - "coef_asc_san_francisco NaN 0 -2.456059 \n", - "coef_asc_santa_clara NaN 0 0.211800 \n", - "coef_fewer_autos_than_workers NaN 0 -1.619489 \n", - "coef_hh_size_4_up NaN 0 0.279145 \n", - "coef_income_high NaN 0 -0.053120 \n", - "coef_income_very_high NaN 0 0.296661 \n", - "coef_more_autos_than_workers NaN 0 0.223434 " + " maximum nullvalue holdfast \n", + "param_name \n", + "0.0 0.0 0.0 1 \n", + "coef_asc_alameda 50.0 0.0 0 \n", + "coef_asc_san_francisco 50.0 0.0 0 \n", + "coef_asc_santa_clara 50.0 0.0 0 \n", + "coef_fewer_autos_than_workers 50.0 0.0 0 \n", + "coef_hh_size_4_up 50.0 0.0 0 \n", + "coef_income_high 50.0 0.0 0 \n", + "coef_income_very_high 50.0 0.0 0 \n", + "coef_more_autos_than_workers 50.0 0.0 0 " ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 0.0 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, { "data": { "text/html": [ @@ -1023,38 +1073,38 @@ " \n", " \n", " coef_asc_alameda\n", - " -0.109200\n", + " -0.141547\n", " \n", " \n", " coef_asc_san_francisco\n", - " -2.456059\n", + " -2.630212\n", " \n", " \n", " coef_asc_santa_clara\n", - " 0.211800\n", + " 0.188205\n", " \n", " \n", " coef_fewer_autos_than_workers\n", - " -1.619489\n", + " -1.407827\n", " \n", " \n", " coef_hh_size_4_up\n", - " 0.279145\n", + " 0.264779\n", " \n", " \n", " coef_income_high\n", - " -0.053120\n", + " 0.217818\n", " \n", " \n", " coef_income_very_high\n", - " 0.296661\n", + " 0.235389\n", " \n", " \n", " coef_more_autos_than_workers\n", - " 0.223434\n", + " 0.225131\n", " \n", " \n", - "loglike-484.0908426547178d_loglike\n", + "
logloss0.5636931088124669d_logloss\n", " \n", " \n", " \n", @@ -1068,75 +1118,75 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_asc_alameda0.0000000.000061
coef_asc_san_francisco0.0003990.000074
coef_asc_santa_clara0.0000000.000008
coef_fewer_autos_than_workers0.0001830.000150
coef_hh_size_4_up0.000210-0.000075
coef_income_high0.0003640.000317
coef_income_very_high-0.000061-0.000092
coef_more_autos_than_workers0.0001070.000781
nit10nfev19njev10status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.810470method'slsqp'n_cases2582iteration_number10logloss0.1874867709739418" + "nit7nfev7njev7status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.092472method'slsqp'n_cases28281iteration_number7loglike-15941.804810325377" ], "text/plain": [ "┣ x: 0.0 0.000000\n", - "┃ coef_asc_alameda -0.109200\n", - "┃ coef_asc_san_francisco -2.456059\n", - "┃ coef_asc_santa_clara 0.211800\n", - "┃ coef_fewer_autos_than_workers -1.619489\n", - "┃ coef_hh_size_4_up 0.279145\n", - "┃ coef_income_high -0.053120\n", - "┃ coef_income_very_high 0.296661\n", - "┃ coef_more_autos_than_workers 0.223434\n", + "┃ coef_asc_alameda -0.141547\n", + "┃ coef_asc_san_francisco -2.630212\n", + "┃ coef_asc_santa_clara 0.188205\n", + "┃ coef_fewer_autos_than_workers -1.407827\n", + "┃ coef_hh_size_4_up 0.264779\n", + "┃ coef_income_high 0.217818\n", + "┃ coef_income_very_high 0.235389\n", + "┃ coef_more_autos_than_workers 0.225131\n", "┃ dtype: float64\n", - "┣ loglike: -484.0908426547178\n", - "┣ d_loglike: 0.0 0.000000\n", - "┃ coef_asc_alameda 0.000000\n", - "┃ coef_asc_san_francisco 0.000399\n", - "┃ coef_asc_santa_clara 0.000000\n", - "┃ coef_fewer_autos_than_workers 0.000183\n", - "┃ coef_hh_size_4_up 0.000210\n", - "┃ coef_income_high 0.000364\n", - "┃ coef_income_very_high -0.000061\n", - "┃ coef_more_autos_than_workers 0.000107\n", + "┣ logloss: 0.5636931088124669\n", + "┣ d_logloss: 0.0 0.000000\n", + "┃ coef_asc_alameda 0.000061\n", + "┃ coef_asc_san_francisco 0.000074\n", + "┃ coef_asc_santa_clara 0.000008\n", + "┃ coef_fewer_autos_than_workers 0.000150\n", + "┃ coef_hh_size_4_up -0.000075\n", + "┃ coef_income_high 0.000317\n", + "┃ coef_income_very_high -0.000092\n", + "┃ coef_more_autos_than_workers 0.000781\n", "┃ dtype: float64\n", - "┣ nit: 10\n", - "┣ nfev: 19\n", - "┣ njev: 10\n", + "┣ nit: 7\n", + "┣ nfev: 7\n", + "┣ njev: 7\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(microseconds=810470)\n", + "┣ elapsed_time: datetime.timedelta(microseconds=92472)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 2582\n", - "┣ iteration_number: 10\n", - "┣ logloss: 0.1874867709739418" + "┣ n_cases: 28281\n", + "┣ iteration_number: 7\n", + "┣ loglike: -15941.804810325377" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -1154,119 +1204,136 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
0.0 0.00 NA NA NA 0.00fixed value
coef_asc_alameda-0.109 0.00 NA[] 0.00 0.00
coef_asc_san_francisco-2.46 0.168-14.65*** NA 0.00
coef_asc_santa_clara 0.212 1.43e-16 BIG*** NA 0.00
coef_fewer_autos_than_workers-1.62 0.220-7.37*** NA 0.00
coef_hh_size_4_up 0.279 0.196 1.43 NA 0.00
coef_income_high-0.0531 0.242-0.22 NA 0.00
coef_income_very_high 0.297 0.208 1.43 NA 0.00
coef_more_autos_than_workers 0.223 0.241 0.93 NA 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
0.0 0.00 0.00 NA 0.00fixed value
coef_asc_alameda-0.142 0.0310-4.56*** 0.00
coef_asc_san_francisco-2.63 0.0591-44.52*** 0.00
coef_asc_santa_clara 0.188 0.0294 6.40*** 0.00
coef_fewer_autos_than_workers-1.41 0.0366-38.48*** 0.00
coef_hh_size_4_up 0.265 0.0278 9.51*** 0.00
coef_income_high 0.218 0.0307 7.09*** 0.00
coef_income_very_high 0.235 0.0282 8.35*** 0.00
coef_more_autos_than_workers 0.225 0.0294 7.65*** 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1287,14 +1354,17 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from activitysim.estimation.larch import update_coefficients\n", - "result_dir = data.edb_directory/\"estimated\"\n", + "\n", + "result_dir = data.edb_directory / \"estimated\"\n", "update_coefficients(\n", - " model, data, result_dir,\n", + " model,\n", + " data,\n", + " result_dir,\n", " output_file=f\"{modelname}_coefficients_revised.csv\",\n", ");" ] @@ -1308,23 +1378,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", - " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", + " result_dir / f\"{modelname}_model_estimation.xlsx\",\n", " data_statistics=False,\n", ")" ] @@ -1340,7 +1399,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -1373,49 +1432,49 @@ " \n", " 0\n", " coef_asc_san_francisco\n", - " -2.456059\n", + " -2.630212\n", " F\n", " \n", " \n", " 1\n", " coef_asc_santa_clara\n", - " 0.211800\n", + " 0.188205\n", " F\n", " \n", " \n", " 2\n", " coef_asc_alameda\n", - " -0.109200\n", + " -0.141547\n", " F\n", " \n", " \n", " 3\n", " coef_income_very_high\n", - " 0.296661\n", + " 0.235389\n", " F\n", " \n", " \n", " 4\n", " coef_income_high\n", - " -0.053120\n", + " 0.217818\n", " F\n", " \n", " \n", " 5\n", " coef_hh_size_4_up\n", - " 0.279145\n", + " 0.264779\n", " F\n", " \n", " \n", " 6\n", " coef_more_autos_than_workers\n", - " 0.223434\n", + " 0.225131\n", " F\n", " \n", " \n", " 7\n", " coef_fewer_autos_than_workers\n", - " -1.619489\n", + " -1.407827\n", " F\n", " \n", " \n", @@ -1424,23 +1483,23 @@ ], "text/plain": [ " coefficient_name value constrain\n", - "0 coef_asc_san_francisco -2.456059 F\n", - "1 coef_asc_santa_clara 0.211800 F\n", - "2 coef_asc_alameda -0.109200 F\n", - "3 coef_income_very_high 0.296661 F\n", - "4 coef_income_high -0.053120 F\n", - "5 coef_hh_size_4_up 0.279145 F\n", - "6 coef_more_autos_than_workers 0.223434 F\n", - "7 coef_fewer_autos_than_workers -1.619489 F" + "0 coef_asc_san_francisco -2.630212 F\n", + "1 coef_asc_santa_clara 0.188205 F\n", + "2 coef_asc_alameda -0.141547 F\n", + "3 coef_income_very_high 0.235389 F\n", + "4 coef_income_high 0.217818 F\n", + "5 coef_hh_size_4_up 0.264779 F\n", + "6 coef_more_autos_than_workers 0.225131 F\n", + "7 coef_fewer_autos_than_workers -1.407827 F" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pd.read_csv(result_dir/f\"{modelname}_coefficients_revised.csv\")" + "pd.read_csv(result_dir / f\"{modelname}_coefficients_revised.csv\")" ] } ], @@ -1451,7 +1510,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -1465,7 +1524,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/06_cdap.ipynb b/activitysim/examples/example_estimation/notebooks/06_cdap.ipynb index 72169b9e3d..a29ea0a7b1 100644 --- a/activitysim/examples/example_estimation/notebooks/06_cdap.ipynb +++ b/activitysim/examples/example_estimation/notebooks/06_cdap.ipynb @@ -23,21 +23,84 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import numpy as np\n", "import pandas as pd\n", - "import larch\n", - "import os" + "import larch as lx\n", + "import os\n", + "\n", + "lx.versions()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from est_mode_setup import prepare, backup\n", + "\n", + "prepare()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "os.chdir('test')" + "backup(\"output-est-mode/estimation_data_bundle/cdap/cdap_INDIV_AND_HHSIZE1_SPEC.csv\")\n" ] }, { @@ -49,31 +112,35 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "one-hot encoding choice array\n", - "converting data_ch to \n", - "one-hot encoding choice array\n", - "converting data_ch to \n", - "one-hot encoding choice array\n", - "converting data_ch to \n", - "one-hot encoding choice array\n", - "converting data_ch to \n", - "one-hot encoding choice array\n", - "converting data_ch to \n" + "Reading output-est-mode/estimation_data_bundle/cdap/cdap_model_settings.yaml\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/final_households.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/final_persons.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_coefficients.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_interaction_coefficients.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_joint_tour_coefficients.csv\n", + "Including joint tour utility?: False\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_INDIV_AND_HHSIZE1_SPEC.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_values_combined.parquet\n" ] } ], "source": [ + "from activitysim.estimation.larch import component_model\n", + "\n", "modelname = \"cdap\"\n", "\n", - "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -92,34 +159,51 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "┣ INDIV_AND_HHSIZE1_SPEC: 'cdap_indiv_and_hhsize1.csv'\n", + "┣ ADD_JOINT_TOUR_UTILITY: False\n", "┣ COEFFICIENTS: 'cdap_coefficients.csv'\n", - "┣ INTERACTION_COEFFICIENTS: 'cdap_interaction_coefficients.csv'\n", - "┣ FIXED_RELATIVE_PROPORTIONS_SPEC: 'cdap_fixed_relative_proportions.csv'\n", - "┣ CONSTANTS: ┣ FULL: 1\n", - "┃ ┣ PART: 2\n", - "┃ ┣ UNIVERSITY: 3\n", + "┣ CONSTANTS: ┣ DRIVING: 6\n", + "┃ ┣ FULL: 1\n", "┃ ┣ NONWORK: 4\n", + "┃ ┣ PART: 2\n", + "┃ ┣ PRESCHOOL: 8\n", "┃ ┣ RETIRED: 5\n", - "┃ ┣ DRIVING: 6\n", "┃ ┣ SCHOOL: 7\n", - "┃ ┣ PRESCHOOL: 8\n", - "┣ PERSON_TYPE_MAP: ┣ WORKER: [1, 2]\n", - "┃ ┣ CHILD: [6, 7, 8]\n", - "┣ annotate_persons: ┣ SPEC: 'annotate_persons_cdap'\n", - "┃ ┣ DF: 'persons'\n", - "┣ annotate_households: ┣ SPEC: 'annotate_households_cdap'\n", - "┃ ┣ DF: 'households'\n", - "┃ ┣ TABLES: ['persons']" + "┃ ┣ UNIVERSITY: 3\n", + "┣ FIXED_RELATIVE_PROPORTIONS_SPEC: 'cdap_fixed_relative_proportions.csv'\n", + "┣ INDIV_AND_HHSIZE1_SPEC: 'cdap_indiv_and_hhsize1.csv'\n", + "┣ INTERACTION_COEFFICIENTS: 'cdap_interaction_coefficients.csv'\n", + "┣ JOINT_TOUR_COEFFICIENTS: 'cdap_joint_tour_coefficients.csv'\n", + "┣ JOINT_TOUR_USEFUL_COLUMNS: None\n", + "┣ PERSON_TYPE_MAP: ┣ CHILD: ---\n", + "┃ ┃ - 6\n", + "┃ ┃ - 7\n", + "┃ ┃ - 8\n", + "┃ ┃ ...\n", + "┃ ┣ WORKER: ---\n", + "┃ ┃ - 1\n", + "┃ ┃ - 2\n", + "┃ ┃ ...\n", + "┣ annotate_households: ┣ DF: 'households'\n", + "┃ ┣ SPEC: 'annotate_households_cdap'\n", + "┃ ┣ TABLES: ---\n", + "┃ ┃ - persons\n", + "┃ ┃ ...\n", + "┣ annotate_persons: ┣ DF: 'persons'\n", + "┃ ┣ SPEC: 'annotate_persons_cdap'\n", + "┃ ┣ TABLES: None\n", + "┣ compute_settings: None\n", + "┣ source_file_paths: ---\n", + "┃ - /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/test-estimation-data/activitysim-prototype-mtc-extended/configs/cdap.yaml\n", + "┃ ..." ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -137,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -161,7 +245,6 @@ " \n", " \n", " \n", - " household_id\n", " home_zone_id\n", " income\n", " hhsize\n", @@ -171,8 +254,8 @@ " sample_rate\n", " income_in_thousands\n", " income_segment\n", + " median_value_of_time\n", " ...\n", - " hh_work_auto_savings_ratio\n", " num_under16_not_at_school\n", " num_travel_active\n", " num_travel_active_adults\n", @@ -182,23 +265,23 @@ " participates_in_jtf_model\n", " joint_tour_frequency\n", " num_hh_joint_tours\n", + " household_id\n", " \n", " \n", " \n", " \n", " 0\n", - " 166\n", - " 71\n", - " 9000\n", - " 1\n", - " 6\n", + " 52\n", " 0\n", + " 1\n", + " 4\n", + " 1\n", " 0\n", " 1\n", - " 9.00\n", + " 0.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -208,21 +291,21 @@ " False\n", " 0_tours\n", " 0\n", + " 45\n", " \n", " \n", " 1\n", - " 197\n", - " 80\n", - " 4400\n", + " 124\n", + " 14000\n", + " 1\n", + " 4\n", " 1\n", - " 6\n", - " 0\n", " 0\n", " 1\n", - " 4.40\n", + " 14.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -232,21 +315,21 @@ " False\n", " 0_tours\n", " 0\n", + " 499\n", " \n", " \n", " 2\n", - " 268\n", - " 91\n", - " 1200\n", + " 132\n", + " 9600\n", " 1\n", " 4\n", " 1\n", " 0\n", " 1\n", - " 1.20\n", + " 9.6\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -256,21 +339,21 @@ " False\n", " 0_tours\n", " 0\n", + " 659\n", " \n", " \n", " 3\n", - " 375\n", - " 105\n", - " 0\n", + " 148\n", + " 18000\n", " 1\n", " 6\n", " 1\n", " 0\n", " 1\n", - " 0.00\n", + " 18.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -280,21 +363,21 @@ " False\n", " 0_tours\n", " 0\n", + " 948\n", " \n", " \n", " 4\n", - " 387\n", - " 112\n", - " 15770\n", + " 166\n", + " 14000\n", " 1\n", - " 6\n", + " 4\n", " 1\n", " 0\n", " 1\n", - " 15.77\n", + " 14.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -304,6 +387,7 @@ " False\n", " 0_tours\n", " 0\n", + " 1276\n", " \n", " \n", " ...\n", @@ -330,19 +414,18 @@ " ...\n", " \n", " \n", - " 1995\n", - " 2863464\n", - " 5\n", + " 19995\n", + " 1386\n", " 0\n", " 1\n", " 0\n", " 1\n", " 0\n", " 1\n", - " 0.00\n", + " 0.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -352,45 +435,45 @@ " False\n", " 0_tours\n", " 0\n", + " 2874468\n", " \n", " \n", - " 1996\n", - " 2863483\n", - " 20\n", + " 19996\n", + " 1402\n", " 0\n", " 1\n", " 0\n", - " 1\n", + " 0\n", " 0\n", " 1\n", - " 0.00\n", + " 0.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", - " 1\n", - " 1\n", " 0\n", " 0\n", - " 1\n", + " 0\n", + " 0\n", + " 0\n", " False\n", " 0_tours\n", " 0\n", + " 2874567\n", " \n", " \n", - " 1997\n", - " 2863806\n", - " 85\n", + " 19997\n", + " 1402\n", " 0\n", " 1\n", " 0\n", " 1\n", " 0\n", " 1\n", - " 0.00\n", + " 0.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -400,21 +483,21 @@ " False\n", " 0_tours\n", " 0\n", + " 2874576\n", " \n", " \n", - " 1998\n", - " 2864518\n", - " 115\n", + " 19998\n", + " 1421\n", " 0\n", " 1\n", " 0\n", " 1\n", " 0\n", " 1\n", - " 0.00\n", + " 0.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -424,21 +507,21 @@ " False\n", " 0_tours\n", " 0\n", + " 2874826\n", " \n", " \n", - " 1999\n", - " 2864688\n", - " 136\n", + " 19999\n", + " 1437\n", " 0\n", " 1\n", " 0\n", " 1\n", " 0\n", " 1\n", - " 0.00\n", + " 0.0\n", " 1\n", + " 6.01\n", " ...\n", - " 0.0\n", " 0\n", " 1\n", " 1\n", @@ -448,108 +531,109 @@ " False\n", " 0_tours\n", " 0\n", + " 2875013\n", " \n", " \n", "\n", - "

2000 rows × 35 columns

\n", + "

20000 rows × 35 columns

\n", "" ], "text/plain": [ - " household_id home_zone_id income hhsize HHT auto_ownership \\\n", - "0 166 71 9000 1 6 0 \n", - "1 197 80 4400 1 6 0 \n", - "2 268 91 1200 1 4 1 \n", - "3 375 105 0 1 6 1 \n", - "4 387 112 15770 1 6 1 \n", - "... ... ... ... ... ... ... \n", - "1995 2863464 5 0 1 0 1 \n", - "1996 2863483 20 0 1 0 1 \n", - "1997 2863806 85 0 1 0 1 \n", - "1998 2864518 115 0 1 0 1 \n", - "1999 2864688 136 0 1 0 1 \n", + " home_zone_id income hhsize HHT auto_ownership num_workers \\\n", + "0 52 0 1 4 1 0 \n", + "1 124 14000 1 4 1 0 \n", + "2 132 9600 1 4 1 0 \n", + "3 148 18000 1 6 1 0 \n", + "4 166 14000 1 4 1 0 \n", + "... ... ... ... ... ... ... \n", + "19995 1386 0 1 0 1 0 \n", + "19996 1402 0 1 0 0 0 \n", + "19997 1402 0 1 0 1 0 \n", + "19998 1421 0 1 0 1 0 \n", + "19999 1437 0 1 0 1 0 \n", "\n", - " num_workers sample_rate income_in_thousands income_segment ... \\\n", - "0 0 1 9.00 1 ... \n", - "1 0 1 4.40 1 ... \n", - "2 0 1 1.20 1 ... \n", - "3 0 1 0.00 1 ... \n", - "4 0 1 15.77 1 ... \n", - "... ... ... ... ... ... \n", - "1995 0 1 0.00 1 ... \n", - "1996 0 1 0.00 1 ... \n", - "1997 0 1 0.00 1 ... \n", - "1998 0 1 0.00 1 ... \n", - "1999 0 1 0.00 1 ... \n", + " sample_rate income_in_thousands income_segment median_value_of_time \\\n", + "0 1 0.0 1 6.01 \n", + "1 1 14.0 1 6.01 \n", + "2 1 9.6 1 6.01 \n", + "3 1 18.0 1 6.01 \n", + "4 1 14.0 1 6.01 \n", + "... ... ... ... ... \n", + "19995 1 0.0 1 6.01 \n", + "19996 1 0.0 1 6.01 \n", + "19997 1 0.0 1 6.01 \n", + "19998 1 0.0 1 6.01 \n", + "19999 1 0.0 1 6.01 \n", "\n", - " hh_work_auto_savings_ratio num_under16_not_at_school \\\n", - "0 0.0 0 \n", - "1 0.0 0 \n", - "2 0.0 0 \n", - "3 0.0 0 \n", - "4 0.0 0 \n", - "... ... ... \n", - "1995 0.0 0 \n", - "1996 0.0 0 \n", - "1997 0.0 0 \n", - "1998 0.0 0 \n", - "1999 0.0 0 \n", + " ... num_under16_not_at_school num_travel_active \\\n", + "0 ... 0 1 \n", + "1 ... 0 1 \n", + "2 ... 0 1 \n", + "3 ... 0 1 \n", + "4 ... 0 1 \n", + "... ... ... ... \n", + "19995 ... 0 1 \n", + "19996 ... 0 0 \n", + "19997 ... 0 1 \n", + "19998 ... 0 1 \n", + "19999 ... 0 1 \n", "\n", - " num_travel_active num_travel_active_adults \\\n", - "0 1 1 \n", - "1 1 1 \n", - "2 1 1 \n", - "3 1 1 \n", - "4 1 1 \n", - "... ... ... \n", - "1995 1 1 \n", - "1996 1 1 \n", - "1997 1 1 \n", - "1998 1 1 \n", - "1999 1 1 \n", + " num_travel_active_adults num_travel_active_preschoolers \\\n", + "0 1 0 \n", + "1 1 0 \n", + "2 1 0 \n", + "3 1 0 \n", + "4 1 0 \n", + "... ... ... \n", + "19995 1 0 \n", + "19996 0 0 \n", + "19997 1 0 \n", + "19998 1 0 \n", + "19999 1 0 \n", "\n", - " num_travel_active_preschoolers num_travel_active_children \\\n", - "0 0 0 \n", - "1 0 0 \n", - "2 0 0 \n", - "3 0 0 \n", - "4 0 0 \n", - "... ... ... \n", - "1995 0 0 \n", - "1996 0 0 \n", - "1997 0 0 \n", - "1998 0 0 \n", - "1999 0 0 \n", + " num_travel_active_children num_travel_active_non_preschoolers \\\n", + "0 0 1 \n", + "1 0 1 \n", + "2 0 1 \n", + "3 0 1 \n", + "4 0 1 \n", + "... ... ... \n", + "19995 0 1 \n", + "19996 0 0 \n", + "19997 0 1 \n", + "19998 0 1 \n", + "19999 0 1 \n", "\n", - " num_travel_active_non_preschoolers participates_in_jtf_model \\\n", - "0 1 False \n", - "1 1 False \n", - "2 1 False \n", - "3 1 False \n", - "4 1 False \n", - "... ... ... \n", - "1995 1 False \n", - "1996 1 False \n", - "1997 1 False \n", - "1998 1 False \n", - "1999 1 False \n", + " participates_in_jtf_model joint_tour_frequency num_hh_joint_tours \\\n", + "0 False 0_tours 0 \n", + "1 False 0_tours 0 \n", + "2 False 0_tours 0 \n", + "3 False 0_tours 0 \n", + "4 False 0_tours 0 \n", + "... ... ... ... \n", + "19995 False 0_tours 0 \n", + "19996 False 0_tours 0 \n", + "19997 False 0_tours 0 \n", + "19998 False 0_tours 0 \n", + "19999 False 0_tours 0 \n", "\n", - " joint_tour_frequency num_hh_joint_tours \n", - "0 0_tours 0 \n", - "1 0_tours 0 \n", - "2 0_tours 0 \n", - "3 0_tours 0 \n", - "4 0_tours 0 \n", - "... ... ... \n", - "1995 0_tours 0 \n", - "1996 0_tours 0 \n", - "1997 0_tours 0 \n", - "1998 0_tours 0 \n", - "1999 0_tours 0 \n", + " household_id \n", + "0 45 \n", + "1 499 \n", + "2 659 \n", + "3 948 \n", + "4 1276 \n", + "... ... \n", + "19995 2874468 \n", + "19996 2874567 \n", + "19997 2874576 \n", + "19998 2874826 \n", + "19999 2875013 \n", "\n", - "[2000 rows x 35 columns]" + "[20000 rows x 35 columns]" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -567,7 +651,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -602,14 +686,14 @@ " pstudent\n", " ptype\n", " ...\n", - " COLLFTE\n", - " COLLPTE\n", - " TOPOLOGY\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", + " auOpRetail\n", + " auOpTotal\n", + " trPkRetail\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " chunk_id\n", " cdap_rank\n", " \n", @@ -617,122 +701,122 @@ " \n", " \n", " 0\n", - " 166\n", + " 45\n", " N\n", " N\n", - " 166\n", - " 54\n", + " 45\n", + " 48\n", + " 1\n", " 1\n", - " 2\n", " 3\n", " 3\n", " 4\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.21263\n", - " 24.783133\n", - " 31.566265\n", - " 13.883217\n", - " False\n", + " 9.924660\n", + " 12.562639\n", + " 4.193237\n", + " 6.875144\n", + " 3.952128\n", + " 6.590585\n", + " 2.194792\n", + " 6.359507\n", " 0\n", " 1\n", " \n", " \n", " 1\n", - " 197\n", + " 499\n", " N\n", " N\n", - " 197\n", - " 46\n", + " 499\n", + " 50\n", + " 1\n", " 1\n", - " 2\n", " 3\n", " 3\n", " 4\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.68156\n", - " 56.783784\n", - " 10.459459\n", - " 8.832526\n", - " False\n", + " 10.284673\n", + " 12.868645\n", + " 6.639963\n", + " 9.364105\n", + " 6.531079\n", + " 9.259002\n", + " 5.955868\n", + " 7.795004\n", " 1\n", " 1\n", " \n", " \n", " 2\n", - " 268\n", + " 659\n", " N\n", " N\n", - " 268\n", - " 46\n", + " 659\n", + " 52\n", " 1\n", " 1\n", " 3\n", " 3\n", " 4\n", " ...\n", - " 3598.08521\n", - " 0.00000\n", - " 1\n", - " 3.29100\n", - " 11.947644\n", - " 45.167539\n", - " 9.448375\n", - " True\n", - " 2\n", + " 10.247505\n", + " 12.762286\n", + " 6.001466\n", + " 8.409169\n", + " 5.786652\n", + " 8.279842\n", + " 5.798886\n", + " 7.900061\n", + " 0\n", " 1\n", " \n", " \n", " 3\n", - " 375\n", + " 948\n", " N\n", " N\n", - " 375\n", - " 54\n", + " 948\n", + " 61\n", " 1\n", " 2\n", " 3\n", " 3\n", " 4\n", " ...\n", - " 0.00000\n", - " 0.00000\n", + " 10.150335\n", + " 12.777635\n", + " 5.172974\n", + " 7.850360\n", + " 4.893929\n", + " 7.571579\n", + " 4.895220\n", + " 7.409345\n", " 1\n", - " 4.11499\n", - " 73.040169\n", - " 28.028350\n", - " 20.255520\n", - " True\n", - " 3\n", " 1\n", " \n", " \n", " 4\n", - " 387\n", - " N\n", + " 1276\n", + " H\n", " N\n", - " 387\n", - " 44\n", + " 1276\n", + " 46\n", + " 1\n", " 1\n", - " 2\n", " 3\n", " 3\n", " 4\n", " ...\n", - " 227.78223\n", - " 41.22827\n", - " 1\n", - " 3.83527\n", - " 26.631579\n", - " 45.868421\n", - " 16.848945\n", - " False\n", - " 4\n", + " 10.258471\n", + " 12.759529\n", + " 6.039019\n", + " 8.348963\n", + " 5.778785\n", + " 8.070525\n", + " 6.073537\n", + " 7.851667\n", + " 2\n", " 1\n", " \n", " \n", @@ -760,187 +844,187 @@ " ...\n", " \n", " \n", - " 4400\n", - " 7554799\n", + " 53069\n", + " 7565803\n", " N\n", " N\n", - " 2863464\n", - " 93\n", + " 2874468\n", + " 85\n", " 1\n", " 2\n", " 3\n", " 3\n", " 5\n", " ...\n", - " 72.14684\n", - " 0.00000\n", - " 1\n", - " 5.52555\n", - " 38.187500\n", - " 978.875000\n", - " 36.753679\n", - " False\n", - " 1995\n", + " 8.113608\n", + " 10.265845\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 9998\n", " 1\n", " \n", " \n", - " 4401\n", - " 7554818\n", - " N\n", - " N\n", - " 2863483\n", - " 68\n", - " 1\n", + " 53070\n", + " 7565902\n", + " H\n", + " H\n", + " 2874567\n", + " 87\n", " 1\n", + " 2\n", " 3\n", " 3\n", " 5\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 3\n", - " 3.99027\n", - " 39.838272\n", - " 71.693001\n", - " 25.608291\n", - " True\n", - " 1996\n", + " 6.560015\n", + " 8.886403\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 9997\n", " 1\n", " \n", " \n", - " 4402\n", - " 7555141\n", + " 53071\n", + " 7565911\n", " N\n", " N\n", - " 2863806\n", - " 93\n", + " 2874576\n", + " 85\n", " 1\n", " 2\n", " 3\n", " 3\n", " 5\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 4.27539\n", - " 51.675676\n", - " 47.216216\n", - " 24.672699\n", - " False\n", - " 1997\n", + " 6.560015\n", + " 8.886403\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 9999\n", " 1\n", " \n", " \n", - " 4403\n", - " 7555853\n", + " 53072\n", + " 7566161\n", " N\n", " N\n", - " 2864518\n", - " 71\n", + " 2874826\n", + " 79\n", " 1\n", " 1\n", " 3\n", " 3\n", " 5\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 25.52083\n", - " 15.938148\n", - " 551.353820\n", - " 15.490363\n", - " True\n", - " 1998\n", + " 9.298380\n", + " 11.721935\n", + " 1.052528\n", + " 2.925968\n", + " 0.494776\n", + " 2.006432\n", + " 3.782008\n", + " 6.208875\n", + " 9998\n", " 1\n", " \n", " \n", - " 4404\n", - " 7556023\n", + " 53073\n", + " 7566348\n", " N\n", " N\n", - " 2864688\n", + " 2875013\n", " 93\n", " 1\n", - " 1\n", + " 2\n", " 3\n", " 3\n", " 5\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.29134\n", - " 16.000000\n", - " 31.644068\n", - " 10.626823\n", - " False\n", - " 1999\n", + " 9.588527\n", + " 12.019407\n", + " 3.053361\n", + " 5.871246\n", + " 0.141304\n", + " 0.776133\n", + " 4.090554\n", + " 6.388513\n", + " 9999\n", " 1\n", " \n", " \n", "\n", - "

4405 rows × 110 columns

\n", + "

53074 rows × 110 columns

\n", "" ], "text/plain": [ - " person_id model_choice override_choice household_id age PNUM sex \\\n", - "0 166 N N 166 54 1 2 \n", - "1 197 N N 197 46 1 2 \n", - "2 268 N N 268 46 1 1 \n", - "3 375 N N 375 54 1 2 \n", - "4 387 N N 387 44 1 2 \n", - "... ... ... ... ... ... ... ... \n", - "4400 7554799 N N 2863464 93 1 2 \n", - "4401 7554818 N N 2863483 68 1 1 \n", - "4402 7555141 N N 2863806 93 1 2 \n", - "4403 7555853 N N 2864518 71 1 1 \n", - "4404 7556023 N N 2864688 93 1 1 \n", + " person_id model_choice override_choice household_id age PNUM sex \\\n", + "0 45 N N 45 48 1 1 \n", + "1 499 N N 499 50 1 1 \n", + "2 659 N N 659 52 1 1 \n", + "3 948 N N 948 61 1 2 \n", + "4 1276 H N 1276 46 1 1 \n", + "... ... ... ... ... ... ... ... \n", + "53069 7565803 N N 2874468 85 1 2 \n", + "53070 7565902 H H 2874567 87 1 2 \n", + "53071 7565911 N N 2874576 85 1 2 \n", + "53072 7566161 N N 2874826 79 1 1 \n", + "53073 7566348 N N 2875013 93 1 2 \n", "\n", - " pemploy pstudent ptype ... COLLFTE COLLPTE TOPOLOGY TERMINAL \\\n", - "0 3 3 4 ... 0.00000 0.00000 1 3.21263 \n", - "1 3 3 4 ... 0.00000 0.00000 1 3.68156 \n", - "2 3 3 4 ... 3598.08521 0.00000 1 3.29100 \n", - "3 3 3 4 ... 0.00000 0.00000 1 4.11499 \n", - "4 3 3 4 ... 227.78223 41.22827 1 3.83527 \n", - "... ... ... ... ... ... ... ... ... \n", - "4400 3 3 5 ... 72.14684 0.00000 1 5.52555 \n", - "4401 3 3 5 ... 0.00000 0.00000 3 3.99027 \n", - "4402 3 3 5 ... 0.00000 0.00000 1 4.27539 \n", - "4403 3 3 5 ... 0.00000 0.00000 1 25.52083 \n", - "4404 3 3 5 ... 0.00000 0.00000 1 3.29134 \n", + " pemploy pstudent ptype ... auOpRetail auOpTotal trPkRetail \\\n", + "0 3 3 4 ... 9.924660 12.562639 4.193237 \n", + "1 3 3 4 ... 10.284673 12.868645 6.639963 \n", + "2 3 3 4 ... 10.247505 12.762286 6.001466 \n", + "3 3 3 4 ... 10.150335 12.777635 5.172974 \n", + "4 3 3 4 ... 10.258471 12.759529 6.039019 \n", + "... ... ... ... ... ... ... ... \n", + "53069 3 3 5 ... 8.113608 10.265845 0.000000 \n", + "53070 3 3 5 ... 6.560015 8.886403 0.000000 \n", + "53071 3 3 5 ... 6.560015 8.886403 0.000000 \n", + "53072 3 3 5 ... 9.298380 11.721935 1.052528 \n", + "53073 3 3 5 ... 9.588527 12.019407 3.053361 \n", "\n", - " household_density employment_density density_index is_cbd chunk_id \\\n", - "0 24.783133 31.566265 13.883217 False 0 \n", - "1 56.783784 10.459459 8.832526 False 1 \n", - "2 11.947644 45.167539 9.448375 True 2 \n", - "3 73.040169 28.028350 20.255520 True 3 \n", - "4 26.631579 45.868421 16.848945 False 4 \n", - "... ... ... ... ... ... \n", - "4400 38.187500 978.875000 36.753679 False 1995 \n", - "4401 39.838272 71.693001 25.608291 True 1996 \n", - "4402 51.675676 47.216216 24.672699 False 1997 \n", - "4403 15.938148 551.353820 15.490363 True 1998 \n", - "4404 16.000000 31.644068 10.626823 False 1999 \n", + " trPkTotal trOpRetail trOpTotal nmRetail nmTotal chunk_id \\\n", + "0 6.875144 3.952128 6.590585 2.194792 6.359507 0 \n", + "1 9.364105 6.531079 9.259002 5.955868 7.795004 1 \n", + "2 8.409169 5.786652 8.279842 5.798886 7.900061 0 \n", + "3 7.850360 4.893929 7.571579 4.895220 7.409345 1 \n", + "4 8.348963 5.778785 8.070525 6.073537 7.851667 2 \n", + "... ... ... ... ... ... ... \n", + "53069 0.000000 0.000000 0.000000 0.000000 0.000000 9998 \n", + "53070 0.000000 0.000000 0.000000 0.000000 0.000000 9997 \n", + "53071 0.000000 0.000000 0.000000 0.000000 0.000000 9999 \n", + "53072 2.925968 0.494776 2.006432 3.782008 6.208875 9998 \n", + "53073 5.871246 0.141304 0.776133 4.090554 6.388513 9999 \n", "\n", - " cdap_rank \n", - "0 1 \n", - "1 1 \n", - "2 1 \n", - "3 1 \n", - "4 1 \n", - "... ... \n", - "4400 1 \n", - "4401 1 \n", - "4402 1 \n", - "4403 1 \n", - "4404 1 \n", + " cdap_rank \n", + "0 1 \n", + "1 1 \n", + "2 1 \n", + "3 1 \n", + "4 1 \n", + "... ... \n", + "53069 1 \n", + "53070 1 \n", + "53071 1 \n", + "53072 1 \n", + "53073 1 \n", "\n", - "[4405 rows x 110 columns]" + "[53074 rows x 110 columns]" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -958,7 +1042,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -1100,7 +1184,7 @@ "[133 rows x 5 columns]" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1118,7 +1202,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -1210,7 +1294,7 @@ "4 coef_UNAVAILABLE coef_retired_asc_N NaN " ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1219,6 +1303,26 @@ "data.spec1.head()" ] }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['edb_directory', 'person_data', 'spec1', 'interaction_coef', 'coefficients', 'households', 'settings', 'joint_coef', 'add_joint'])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.keys()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1303,7 +1407,7 @@ { "data": { "text/html": [ - "

Iteration 124 [Optimization terminated successfully]

" + "

Iteration 138 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1315,7 +1419,7 @@ { "data": { "text/html": [ - "

Best LL = -2354.458830163564

" + "

Best LL = -28223.515541250054

" ], "text/plain": [ "" @@ -1346,70 +1450,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " coef_UNAVAILABLE\n", + " -999.0\n", " -999.000000\n", " -999.000000\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " True\n", - " \n", " -999.000000\n", + " -999.0\n", + " -999.0\n", + " 0.0\n", + " 1\n", " \n", " \n", - " coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N\n", - " 0.856930\n", - " 0.082330\n", + " coef_H_11\n", + " 1.446554\n", + " 1.446554\n", + " 1.626000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " 0.856930\n", + " 0\n", " \n", " \n", - " coef_driving_age_child_who_is_in_school_asc_M\n", - " 0.738480\n", - " 2.330919\n", + " coef_H_12\n", + " 0.954554\n", + " 0.954554\n", + " 0.740700\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " 0.738480\n", + " 0\n", " \n", " \n", - " coef_driving_age_child_who_is_in_school_asc_N\n", - " -8.930886\n", - " -0.599119\n", + " coef_H_124_122_144\n", + " 0.353981\n", + " 0.353981\n", + " 0.957300\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " -8.930886\n", + " 0\n", " \n", " \n", - " coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H\n", - " -0.938531\n", - " -0.503100\n", + " coef_H_126_146\n", + " -0.013374\n", + " -0.013374\n", + " 0.293900\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " -0.938531\n", + " 0\n", " \n", " \n", " ...\n", @@ -1420,122 +1528,120 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", - " coef_N_124_122_144\n", - " 0.996710\n", - " 0.349100\n", + " coef_retired_interaction_with_more_cars_than_workers_M\n", + " 2.992000\n", + " 2.992000\n", + " 2.992000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " 0.996710\n", + " 0\n", " \n", " \n", - " coef_N_166\n", - " -1.976101\n", - " 0.355300\n", + " coef_retired_interaction_with_more_cars_than_workers_N\n", + " 1.015905\n", + " 1.015905\n", + " 1.056000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " -1.976101\n", + " 0\n", " \n", " \n", - " coef_N_222_224_444\n", - " -2.046233\n", - " -1.386000\n", + " coef_retired_interaction_with_peak_accessibility_to_all_employment_M\n", + " 0.279200\n", + " 0.279200\n", + " 0.279200\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " -2.046233\n", + " 0\n", " \n", " \n", - " coef_N_246_226_446\n", - " -0.859376\n", - " -0.857100\n", + " coef_university_student_asc_M\n", + " 2.169416\n", + " 2.169416\n", + " 2.353595\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " -0.859376\n", + " 0\n", " \n", " \n", - " coef_N_xxxxx\n", - " -0.825691\n", - " -3.453000\n", + " coef_university_student_asc_N\n", + " 0.489431\n", + " 0.489431\n", + " 0.609710\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", - " False\n", - " \n", - " -0.825691\n", + " 0\n", " \n", " \n", "\n", - "

161 rows × 8 columns

\n", + "

161 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_UNAVAILABLE -999.000000 -999.000000 \n", - "coef_child_who_is_in_school_or_too_young_for_sc... 0.856930 0.082330 \n", - "coef_driving_age_child_who_is_in_school_asc_M 0.738480 2.330919 \n", - "coef_driving_age_child_who_is_in_school_asc_N -8.930886 -0.599119 \n", - "coef_driving_age_child_who_is_in_school_interac... -0.938531 -0.503100 \n", + " value best \\\n", + "param_name \n", + "-999.0 -999.000000 -999.000000 \n", + "coef_H_11 1.446554 1.446554 \n", + "coef_H_12 0.954554 0.954554 \n", + "coef_H_124_122_144 0.353981 0.353981 \n", + "coef_H_126_146 -0.013374 -0.013374 \n", "... ... ... \n", - "coef_N_124_122_144 0.996710 0.349100 \n", - "coef_N_166 -1.976101 0.355300 \n", - "coef_N_222_224_444 -2.046233 -1.386000 \n", - "coef_N_246_226_446 -0.859376 -0.857100 \n", - "coef_N_xxxxx -0.825691 -3.453000 \n", + "coef_retired_interaction_with_more_cars_than_wo... 2.992000 2.992000 \n", + "coef_retired_interaction_with_more_cars_than_wo... 1.015905 1.015905 \n", + "coef_retired_interaction_with_peak_accessibilit... 0.279200 0.279200 \n", + "coef_university_student_asc_M 2.169416 2.169416 \n", + "coef_university_student_asc_N 0.489431 0.489431 \n", "\n", - " nullvalue minimum \\\n", - "coef_UNAVAILABLE 0.0 NaN \n", - "coef_child_who_is_in_school_or_too_young_for_sc... 0.0 NaN \n", - "coef_driving_age_child_who_is_in_school_asc_M 0.0 NaN \n", - "coef_driving_age_child_who_is_in_school_asc_N 0.0 NaN \n", - "coef_driving_age_child_who_is_in_school_interac... 0.0 NaN \n", - "... ... ... \n", - "coef_N_124_122_144 0.0 NaN \n", - "coef_N_166 0.0 NaN \n", - "coef_N_222_224_444 0.0 NaN \n", - "coef_N_246_226_446 0.0 NaN \n", - "coef_N_xxxxx 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "-999.0 -999.000000 -999.0 \n", + "coef_H_11 1.626000 -inf \n", + "coef_H_12 0.740700 -inf \n", + "coef_H_124_122_144 0.957300 -inf \n", + "coef_H_126_146 0.293900 -inf \n", + "... ... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... 2.992000 -inf \n", + "coef_retired_interaction_with_more_cars_than_wo... 1.056000 -inf \n", + "coef_retired_interaction_with_peak_accessibilit... 0.279200 -inf \n", + "coef_university_student_asc_M 2.353595 -inf \n", + "coef_university_student_asc_N 0.609710 -inf \n", "\n", - " maximum holdfast note \\\n", - "coef_UNAVAILABLE NaN True \n", - "coef_child_who_is_in_school_or_too_young_for_sc... NaN False \n", - "coef_driving_age_child_who_is_in_school_asc_M NaN False \n", - "coef_driving_age_child_who_is_in_school_asc_N NaN False \n", - "coef_driving_age_child_who_is_in_school_interac... NaN False \n", - "... ... ... ... \n", - "coef_N_124_122_144 NaN False \n", - "coef_N_166 NaN False \n", - "coef_N_222_224_444 NaN False \n", - "coef_N_246_226_446 NaN False \n", - "coef_N_xxxxx NaN False \n", + " maximum nullvalue \\\n", + "param_name \n", + "-999.0 -999.0 0.0 \n", + "coef_H_11 inf 0.0 \n", + "coef_H_12 inf 0.0 \n", + "coef_H_124_122_144 inf 0.0 \n", + "coef_H_126_146 inf 0.0 \n", + "... ... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... inf 0.0 \n", + "coef_retired_interaction_with_more_cars_than_wo... inf 0.0 \n", + "coef_retired_interaction_with_peak_accessibilit... inf 0.0 \n", + "coef_university_student_asc_M inf 0.0 \n", + "coef_university_student_asc_N inf 0.0 \n", "\n", - " best \n", - "coef_UNAVAILABLE -999.000000 \n", - "coef_child_who_is_in_school_or_too_young_for_sc... 0.856930 \n", - "coef_driving_age_child_who_is_in_school_asc_M 0.738480 \n", - "coef_driving_age_child_who_is_in_school_asc_N -8.930886 \n", - "coef_driving_age_child_who_is_in_school_interac... -0.938531 \n", - "... ... \n", - "coef_N_124_122_144 0.996710 \n", - "coef_N_166 -1.976101 \n", - "coef_N_222_224_444 -2.046233 \n", - "coef_N_246_226_446 -0.859376 \n", - "coef_N_xxxxx -0.825691 \n", + " holdfast \n", + "param_name \n", + "-999.0 1 \n", + "coef_H_11 0 \n", + "coef_H_12 0 \n", + "coef_H_124_122_144 0 \n", + "coef_H_126_146 0 \n", + "... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... 0 \n", + "coef_retired_interaction_with_more_cars_than_wo... 0 \n", + "coef_retired_interaction_with_peak_accessibilit... 0 \n", + "coef_university_student_asc_M 0 \n", + "coef_university_student_asc_N 0 \n", "\n", - "[161 rows x 8 columns]" + "[161 rows x 7 columns]" ] }, "metadata": {}, @@ -1545,12 +1651,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " r = model.estimate(method='SLSQP', options={'maxiter':1000})\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.7787895067513534e-43 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " r = model.estimate(method='SLSQP', options={'maxiter':1000})\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/optimization.py:338: UserWarning: SLSQP may not play nicely with unbounded parameters\n", + "if you get poor results, consider setting global bounds with model.set_cap()\n", + " warnings.warn( # infinite bounds # )\n" ] } ], @@ -1566,1704 +1669,4882 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value
coef_UNAVAILABLE-999. 0.00 NA NA 0.00
coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N 0.857 0.618 1.39 NA 0.00
coef_driving_age_child_who_is_in_school_asc_M 0.738 0.649 1.14 NA 0.00
coef_driving_age_child_who_is_in_school_asc_N-8.93 6.17-1.45 NA 0.00
coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H-0.939 0.760-1.23 NA 0.00
coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H 0.409 0.669 0.61 NA 0.00
coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H-1.75 0.887-1.97* NA 0.00
coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H 0.456 0.807 0.57 NA 0.00
coef_full_time_worker_asc_M 1.03 2.64 0.39 NA 0.00
coef_full_time_worker_asc_N 0.742 0.188 3.95*** NA 0.00
coef_full_time_worker_interaction_with_age_less_than_40_M 0.439 0.131 3.35*** NA 0.00
coef_full_time_worker_interaction_with_female_gender_M 0.0529 0.130 0.41 NA 0.00
coef_full_time_worker_interaction_with_fewer_cars_than_workers_H 0.418 0.192 2.18* NA 0.00
coef_full_time_worker_interaction_with_income_less_than_20k_H 0.359 0.326 1.10 NA 0.00
coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M 0.147 0.209 0.70 NA 0.00
coef_non_working_adult_asc_N 0.874 3.96 0.22 NA 0.00
coef_non_working_adult_interaction_with_female_gender_M-0.743 0.0120-62.04*** NA 0.00
coef_non_working_adult_interaction_with_fewer_cars_than_workers_H 0.797 0.336 2.37* NA 0.00
coef_non_working_adult_interaction_with_income_between_50k_and_100k_H-1.23 0.374-3.28** NA 0.00
coef_non_working_adult_interaction_with_income_more_than_100k_H-0.683 0.344-1.98* NA 0.00
coef_non_working_adult_interaction_with_more_cars_than_workers_M 0.651 0.0188 34.73*** NA 0.00
coef_non_working_adult_interaction_with_more_cars_than_workers_N 1.33 0.300 4.42*** NA 0.00
coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M 0.231 0.00933 24.80*** NA 0.00
coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N 0.0176 0.396 0.04 NA 0.00
coef_part_time_worker_asc_M 4.90 4.19 1.17 NA 0.00
coef_part_time_worker_asc_N 0.659 0.316 2.09* NA 0.00
coef_part_time_worker_interaction_with_income_between_50k_and_100k_H 0.172 0.421 0.41 NA 0.00
coef_part_time_worker_interaction_with_income_less_than_20k_H 0.380 0.411 0.93 NA 0.00
coef_part_time_worker_interaction_with_income_more_than_100k_H-1.36 0.780-1.75 NA 0.00
coef_part_time_worker_interaction_with_income_more_than_100k_N 0.493 0.272 1.81 NA 0.00
coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M-0.247 0.330-0.75 NA 0.00
coef_pre_driving_age_child_who_is_in_school_asc_M 3.95 0.527 7.49*** NA 0.00
coef_pre_driving_age_child_who_is_in_school_asc_N-6.81 6.14-1.11 NA 0.00
coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M-1.55 0.475-3.26** NA 0.00
coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N-1.15 0.513-2.25* NA 0.00
coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M-0.670 0.371-1.81 NA 0.00
coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H 1.10 0.381 2.89** NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_asc_M 0.938 0.408 2.30* NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_asc_N-8.47 6.15-1.38 NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M-0.944 0.359-2.63** NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M 0.239 0.412 0.58 NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H-0.0626 0.407-0.15 NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H-0.723 0.506-1.43 NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H-0.783 0.465-1.68 NA 0.00
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N 0.772 0.420 1.84 NA 0.00
coef_retired_asc_N 1.54 3.97 0.39 NA 0.00
coef_retired_interaction_with_age_more_than_80_H 1.17 0.248 4.71*** NA 0.00
coef_retired_interaction_with_female_M 0.477 0.00219 218.04*** NA 0.00
coef_retired_interaction_with_fewer_cars_than_workers_H 0.849 0.444 1.91 NA 0.00
coef_retired_interaction_with_income_less_than_20k_H 0.635 0.259 2.45* NA 0.00
coef_retired_interaction_with_more_cars_than_workers_M 2.99 0.00983 304.22*** NA 0.00
coef_retired_interaction_with_more_cars_than_workers_N 0.713 0.256 2.79** NA 0.00
coef_retired_interaction_with_peak_accessibility_to_all_employment_M 0.279 0.0173 16.15*** NA 0.00
coef_university_student_asc_M 2.12 0.255 8.29*** NA 0.00
coef_university_student_asc_N 0.810 3.94 0.21 NA 0.00
-999.0-999. 0.00 NA NA-999.00
coef_H_11 1.48 0.210 7.04*** NA 0.00
coef_H_12-0.0642 0.955-0.07 NA 0.00
coef_H_13 1.49 0.327 4.56*** NA 0.00
coef_H_14 1.21 0.276 4.37*** NA 0.00
coef_H_15 0.966 0.369 2.62** NA 0.00
coef_H_16 1.54 0.345 4.47*** NA 0.00
coef_H_17 1.46 0.227 6.46*** NA 0.00
coef_H_18 1.21 0.309 3.92*** NA 0.00
coef_H_22-20.0 1.16e+03-0.02 NA 0.00
coef_H_23 0.761 1.06 0.72 NA 0.00
coef_H_24 0.966 0.806 1.20 NA 0.00
coef_H_25-18.4 1.22e+04-0.00 NA 0.00
coef_H_26 4.14 1.29 3.20** NA 0.00
coef_H_27 0.402 1.00 0.40 NA 0.00
coef_H_28-17.8 9.45e+03-0.00 NA 0.00
coef_H_33 0.955 0.848 1.13 NA 0.00
coef_H_34 1.56 0.392 3.97*** NA 0.00
coef_H_35-18.3 1.34e+04-0.00 NA 0.00
coef_H_36 1.55 0.0159 97.45*** NA 0.00
coef_H_37 1.55 0.00264 587.28*** NA 0.00
coef_H_38 1.34 0.0149 90.11*** NA 0.00
coef_H_44 1.52 0.412 3.69*** NA 0.00
coef_H_45 2.05 0.499 4.11*** NA 0.00
coef_H_46 0.524 0.00131 399.66*** NA 0.00
coef_H_47 0.811 0.00179 453.41*** NA 0.00
coef_H_48 1.17 0.0131 89.09*** NA 0.00
coef_H_55 1.01 0.517 1.96 NA 0.00
coef_H_56_57_58 0.863 0.0203 42.43*** NA 0.00
coef_H_66 20.8 NA NA[***] 55.85 0.00
coef_H_67-22.2 0.00635-BIG*** NA 0.00
coef_H_68 1.47 0.00299 490.95*** NA 0.00
coef_H_77 2.42 0.504 4.81*** NA 0.00
coef_H_78 18.7 NA NA[***] 7.25 0.00
coef_H_88 1.18 0.582 2.03* NA 0.00
coef_M_11-0.103 0.147-0.70 NA 0.00
coef_M_12 0.243 0.225 1.08 NA 0.00
coef_M_13 0.235 0.156 1.51 NA 0.00
coef_M_16 0.374 0.290 1.29 NA 0.00
coef_M_17-0.124 0.116-1.06 NA 0.00
coef_M_18 0.262 0.167 1.57 NA 0.00
coef_M_22 0.888 0.287 3.10** NA 0.00
coef_M_23 0.170 0.330 0.51 NA 0.00
coef_M_26 1.90 1.13 1.68 NA 0.00
coef_M_27 0.0987 0.189 0.52 NA 0.00
coef_M_28 0.378 0.294 1.28 NA 0.00
coef_M_33 0.470 0.212 2.21* NA 0.00
coef_M_36-0.00210 NA NA[] 0.00 0.00
coef_M_37 0.297 0.000362 822.44*** NA 0.00
coef_M_38 0.225 NA NA[] 0.00 0.00
coef_M_66 19.2 NA NA[***] 35.09 0.00
coef_M_67-21.0 2.08-10.10*** NA 0.00
coef_M_68 0.552 0.000386 BIG*** NA 0.00
coef_M_77 1.17 0.316 3.71*** NA 0.00
coef_M_78-1.62 0.000121-BIG*** NA 0.00
coef_M_88 1.14 0.349 3.28** NA 0.00
coef_N_11 0.776 0.323 2.41* NA 0.00
coef_N_12 0.488 0.429 1.14 NA 0.00
coef_N_13 0.497 0.436 1.14 NA 0.00
coef_N_14-0.360 0.326-1.11 NA 0.00
coef_N_15 0.366 0.242 1.51 NA 0.00
coef_N_16 0.864 0.738 1.17 NA 0.00
coef_N_17-0.155 0.514-0.30 NA 0.00
coef_N_18 0.0616 0.502 0.12 NA 0.00
coef_N_22 0.782 0.611 1.28 NA 0.00
coef_N_23 0.518 0.622 0.83 NA 0.00
coef_N_24 1.21 0.329 3.66*** NA 0.00
coef_N_25-0.304 0.471-0.65 NA 0.00
coef_N_26-17.9 0.143-125.60*** NA 0.00
coef_N_27 0.291 0.521 0.56 NA 0.00
coef_N_28 0.932 0.453 2.06* NA 0.00
coef_N_33 0.976 0.277 3.52*** NA 0.00
coef_N_34-0.197 0.399-0.49 NA 0.00
coef_N_35 0.0721 0.504 0.14 NA 0.00
coef_N_36 1.62 0.00 NA[] 0.00 0.00
coef_N_37 0.516 0.00 NA[] 0.00 0.00
coef_N_38 0.897 0.00 NA[] 0.00 0.00
coef_N_44 0.492 0.450 1.09 NA 0.00
coef_N_45 0.0795 0.354 0.22 NA 0.00
coef_N_46 0.680 0.00 NA[] 0.00 0.00
coef_N_47 0.565 0.00 NA[] 0.00 0.00
coef_N_48 1.16 0.00 NA[] 0.00 0.00
coef_N_55 0.712 0.348 2.04* NA 0.00
coef_N_56_57_58 0.292 0.00 NA[] 0.00 0.00
coef_N_66-3.08 0.00112-BIG*** NA 0.00
coef_N_67-17.1 2.19e+04-0.00 NA 0.00
coef_N_68 1.27 0.00 NA[] 0.00 0.00
coef_N_77 2.27 0.413 5.49*** NA 0.00
coef_N_78-0.396 1.75e-15-BIG*** NA 0.00
coef_N_88-0.184 0.811-0.23 NA 0.00
coef_H_124_122_144 0.693 0.513 1.35 NA 0.00
coef_H_126_146 1.70 1.76 0.97 NA 0.00
coef_H_222_224_244-9.07 1.44e+03-0.01 NA 0.00
coef_H_226_246_446 39.5 1.16e+03 0.03 NA 0.00
coef_H_266_466 0.475 0.00 NA[] 0.00 0.00
coef_H_xxxxx-4.45 1.19-3.74*** NA 0.00
coef_M_111 0.265 0.175 1.51 NA 0.00
coef_M_112_114-0.133 0.365-0.37 NA 0.00
coef_M_666-0.391 0.00 NA[] 0.00 0.00
coef_M_xxxxx-0.0402 0.190-0.21 NA 0.00
coef_N_112_114-0.452 0.881-0.51 NA 0.00
coef_N_124_122_144 0.997 0.535 1.86 NA 0.00
coef_N_166-1.98 1.09e-05-BIG*** NA 0.00
coef_N_222_224_444-2.05 0.981-2.09* NA 0.00
coef_N_246_226_446-0.859 2.50e-18-BIG*** NA 0.00
coef_N_xxxxx-0.826 0.514-1.61 NA 0.00
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.parameter_summary()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "TojXWivZsx7M" - }, - "source": [ - "# Output Estimation Results" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "from larch.util.activitysim import update_coefficients\n", - "coefficients = update_coefficients(model, data)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "result_dir = data.edb_directory/'estimated'" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "os.makedirs(result_dir, exist_ok=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Write the re-estimated coefficients file" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "coefficients.reset_index().to_csv(\n", - " result_dir/\"cdap_coefficients_revised.csv\", \n", - " index=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Write the model estimation report, including coefficient t-statistic and log likelihood" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "for hh_size, submodel in enumerate(model, 1):\n", - " if hh_size > 3: \n", - " break \n", - " # the largest HH sizes have massive model reports that \n", - " # Excel doesn't handle well; review them in Jupyter \n", - " # instead if you are interested\n", - " submodel.to_xlsx(\n", - " result_dir/f\"cdap_model_estimation_hhsize{hh_size}.xlsx\", \n", - " data_statistics=False,\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Next Steps\n", - "\n", - "The final step is to either manually or automatically copy the `cdap_coefficients.csv_revised.csv` file to the configs folder, rename it to `cdap_coefficients.csv.csv`, and run ActivitySim in simulation mode." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", + "
\n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - "
coefficient_namevalueconstrain
 ValueStd Errt StatSignifNull Value
Parameter     
0coef_UNAVAILABLE-999.000000T-999.0-999. 0.00 NA 0.00
1coef_full_time_worker_asc_M1.034987Fcoef_H_11 1.45 0.0614 23.55*** 0.00
2coef_full_time_worker_asc_N0.742053Fcoef_H_12 0.955 0.132 7.21*** 0.00
3coef_part_time_worker_asc_M4.900043Fcoef_H_124_122_144 0.354 0.153 2.31* 0.00
4coef_part_time_worker_asc_N0.659214Fcoef_H_126_146-0.0134 0.336-0.04 0.00
............coef_H_13 1.20 0.130 9.21*** 0.00
161coef_N_xxxx-1.346000Fcoef_H_14 0.998 0.0903 11.05*** 0.00
162coef_H_xxxx-3.733000Fcoef_H_15 1.18 0.0922 12.76*** 0.00
163coef_M_xxxxx-0.040214Fcoef_H_16 1.85 0.102 18.08*** 0.00
164coef_N_xxxxx-0.825691Fcoef_H_17 1.34 0.0557 24.07*** 0.00
165coef_H_xxxxx-4.449197Fcoef_H_18 0.803 0.109 7.36*** 0.00
\n", - "

166 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " coefficient_name value constrain\n", - "0 coef_UNAVAILABLE -999.000000 T\n", - "1 coef_full_time_worker_asc_M 1.034987 F\n", - "2 coef_full_time_worker_asc_N 0.742053 F\n", - "3 coef_part_time_worker_asc_M 4.900043 F\n", - "4 coef_part_time_worker_asc_N 0.659214 F\n", - ".. ... ... ...\n", - "161 coef_N_xxxx -1.346000 F\n", - "162 coef_H_xxxx -3.733000 F\n", - "163 coef_M_xxxxx -0.040214 F\n", - "164 coef_N_xxxxx -0.825691 F\n", - "165 coef_H_xxxxx -4.449197 F\n", - "\n", - "[166 rows x 3 columns]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.read_csv(result_dir/\"cdap_coefficients_revised.csv\")" + " \n", + " coef_H_22\n", + "  1.66\n", + "  0.215\n", + "  7.76\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_222_224_244\n", + "  0.0747\n", + "  0.225\n", + "  0.33\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_226_246_446\n", + "  0.0745\n", + "  0.683\n", + "  0.11\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_23\n", + "  1.68\n", + "  0.209\n", + "  8.02\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_24\n", + "  1.20\n", + "  0.165\n", + "  7.27\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_25\n", + " -0.0811\n", + "  0.278\n", + " -0.29\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_26\n", + "  2.83\n", + "  0.239\n", + "  11.83\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_266_466\n", + "  1.24\n", + "  0.650\n", + "  1.91\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_27\n", + "  0.803\n", + "  0.158\n", + "  5.08\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_28\n", + "  0.941\n", + "  0.187\n", + "  5.05\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_33\n", + "  0.359\n", + "  0.448\n", + "  0.80\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_34\n", + "  1.54\n", + "  0.131\n", + "  11.80\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_35\n", + "  0.211\n", + "  0.389\n", + "  0.54\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_36\n", + "  1.55\n", + "  2.55e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_37\n", + "  1.55\n", + "  NA\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_38\n", + "  1.34\n", + "  NA\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_44\n", + "  1.09\n", + "  0.0884\n", + "  12.29\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_45\n", + "  1.13\n", + "  0.139\n", + "  8.18\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_46\n", + "  0.524\n", + "  9.04e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_47\n", + "  0.811\n", + "  4.46e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_48\n", + "  1.17\n", + "  2.26e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_55\n", + "  1.22\n", + "  0.166\n", + "  7.37\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_56_57_58\n", + "  0.863\n", + "  1.52e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_66\n", + "  1.36\n", + "  0.299\n", + "  4.56\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_67\n", + "  1.29\n", + "  0.385\n", + "  3.35\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_68\n", + "  1.39\n", + "  0.755\n", + "  1.85\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_H_77\n", + "  2.43\n", + "  0.0802\n", + "  30.27\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_78\n", + "  1.21\n", + "  0.157\n", + "  7.72\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_88\n", + "  0.944\n", + "  0.218\n", + "  4.33\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_H_xxxxx\n", + " -3.46\n", + "  0.269\n", + " -12.86\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_11\n", + "  0.00775\n", + "  0.0439\n", + "  0.18\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_111\n", + "  0.158\n", + "  0.0551\n", + "  2.87\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_M_112_114\n", + "  0.297\n", + "  0.0900\n", + "  3.30\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_12\n", + " -0.109\n", + "  0.0595\n", + " -1.83\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_13\n", + "  0.195\n", + "  0.0448\n", + "  4.36\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_16\n", + "  0.158\n", + "  0.0607\n", + "  2.61\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_M_17\n", + "  0.0366\n", + "  0.0286\n", + "  1.28\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_18\n", + "  0.373\n", + "  0.0438\n", + "  8.53\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_22\n", + "  0.964\n", + "  0.0932\n", + "  10.34\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_23\n", + "  0.107\n", + "  0.0905\n", + "  1.18\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_26\n", + "  0.775\n", + "  0.129\n", + "  5.99\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_27\n", + "  0.0971\n", + "  0.0483\n", + "  2.01\n", + " *\n", + " 0.00\n", + " \n", + " \n", + " coef_M_28\n", + "  0.515\n", + "  0.0771\n", + "  6.68\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_33\n", + "  0.671\n", + "  0.0861\n", + "  7.79\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_36\n", + " -0.00210\n", + "  NA\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_37\n", + "  0.297\n", + "  3.78e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_38\n", + "  0.225\n", + "  9.09e-14\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_66\n", + "  0.0385\n", + "  0.239\n", + "  0.16\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_666\n", + " -0.673\n", + "  1.46\n", + " -0.46\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_67\n", + "  0.274\n", + "  0.359\n", + "  0.76\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_68\n", + "  0.691\n", + "  0.457\n", + "  1.51\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_77\n", + "  0.700\n", + "  0.0584\n", + "  11.99\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_78\n", + "  0.141\n", + "  0.0957\n", + "  1.48\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_M_88\n", + "  1.33\n", + "  0.0903\n", + "  14.70\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_M_xxxxx\n", + "  0.103\n", + "  0.0498\n", + "  2.07\n", + " *\n", + " 0.00\n", + " \n", + " \n", + " coef_N_11\n", + "  0.914\n", + "  0.0818\n", + "  11.17\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_112_114\n", + "  0.103\n", + "  0.173\n", + "  0.60\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_12\n", + "  0.465\n", + "  0.111\n", + "  4.21\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_124_122_144\n", + "  0.132\n", + "  0.142\n", + "  0.93\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_13\n", + "  0.216\n", + "  0.135\n", + "  1.60\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_14\n", + "  0.0331\n", + "  0.0719\n", + "  0.46\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_15\n", + "  0.0871\n", + "  0.0882\n", + "  0.99\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_16\n", + "  0.308\n", + "  0.222\n", + "  1.38\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_166\n", + "  0.434\n", + "  0.521\n", + "  0.83\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_17\n", + "  0.277\n", + "  0.0921\n", + "  3.01\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_N_18\n", + "  0.297\n", + "  0.0989\n", + "  3.01\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_N_22\n", + "  0.867\n", + "  0.169\n", + "  5.14\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_222_224_444\n", + " -1.34\n", + "  0.194\n", + " -6.91\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_23\n", + "  0.160\n", + "  0.200\n", + "  0.80\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_24\n", + "  0.596\n", + "  0.0737\n", + "  8.09\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_246_226_446\n", + " -0.872\n", + "  5.63\n", + " -0.15\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_25\n", + " -0.0263\n", + "  0.107\n", + " -0.25\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_26\n", + "  0.125\n", + "  0.436\n", + "  0.29\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_27\n", + "  0.733\n", + "  0.0964\n", + "  7.60\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_28\n", + "  1.05\n", + "  0.107\n", + "  9.85\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_33\n", + "  0.781\n", + "  0.165\n", + "  4.72\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_34\n", + " -0.0522\n", + "  0.0980\n", + " -0.53\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_35\n", + "  0.390\n", + "  0.151\n", + "  2.59\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_N_36\n", + "  1.62\n", + "  NA\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_37\n", + "  0.516\n", + "  1.11e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_38\n", + "  0.897\n", + "  8.33e-14\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_44\n", + "  0.302\n", + "  0.0996\n", + "  3.03\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_N_45\n", + " -0.0876\n", + "  0.0854\n", + " -1.03\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_46\n", + "  0.680\n", + "  3.06e-14\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_47\n", + "  0.565\n", + "  1.01e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_48\n", + "  1.16\n", + "  2.00e-13\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_55\n", + "  0.731\n", + "  0.114\n", + "  6.42\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_56_57_58\n", + "  0.292\n", + "  NA\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_66\n", + "  1.60\n", + "  0.492\n", + "  3.25\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_N_67\n", + "  1.29\n", + "  0.666\n", + "  1.93\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_68\n", + "  1.14\n", + "  0.897\n", + "  1.27\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_77\n", + "  1.27\n", + "  0.109\n", + "  11.65\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_78\n", + " -0.429\n", + "  0.549\n", + " -0.78\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_N_88\n", + "  0.645\n", + "  0.151\n", + "  4.26\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_N_xxxxx\n", + " -0.0469\n", + "  0.100\n", + " -0.47\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_UNAVAILABLE\n", + " -999.\n", + "  0.00\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N\n", + "  0.138\n", + "  0.0415\n", + "  3.32\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_driving_age_child_who_is_in_school_asc_M\n", + "  2.27\n", + "  0.177\n", + "  12.78\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_driving_age_child_who_is_in_school_asc_N\n", + " -1.09\n", + "  0.445\n", + " -2.45\n", + " *\n", + " 0.00\n", + " \n", + " \n", + " coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H\n", + " -0.159\n", + "  0.188\n", + " -0.85\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H\n", + "  0.839\n", + "  0.168\n", + "  4.98\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H\n", + " -1.57\n", + "  0.241\n", + " -6.53\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H\n", + "  1.46\n", + "  0.217\n", + "  6.75\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_asc_M\n", + "  2.13\n", + "  0.243\n", + "  8.76\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_asc_N\n", + "  0.651\n", + "  0.0476\n", + "  13.66\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_interaction_with_age_less_than_40_M\n", + "  0.210\n", + "  0.0388\n", + "  5.41\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_interaction_with_female_gender_M\n", + " -0.128\n", + "  0.0394\n", + " -3.24\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_interaction_with_fewer_cars_than_workers_H\n", + "  0.520\n", + "  0.0567\n", + "  9.16\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_interaction_with_income_less_than_20k_H\n", + "  0.406\n", + "  0.109\n", + "  3.72\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M\n", + "  0.0656\n", + "  0.0203\n", + "  3.23\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_asc_N\n", + "  0.697\n", + "  0.354\n", + "  1.97\n", + " *\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_female_gender_M\n", + " -0.743\n", + "  NA\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_fewer_cars_than_workers_H\n", + "  0.977\n", + "  0.136\n", + "  7.19\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_income_between_50k_and_100k_H\n", + " -0.422\n", + "  0.0839\n", + " -5.03\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_income_more_than_100k_H\n", + " -0.721\n", + "  0.104\n", + " -6.94\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_more_cars_than_workers_M\n", + "  0.651\n", + "  7.21e-15\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_more_cars_than_workers_N\n", + "  0.783\n", + "  0.0828\n", + "  9.45\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M\n", + "  0.231\n", + "  1.73e-14\n", + "  BIG\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N\n", + "  0.0628\n", + "  0.0353\n", + "  1.78\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_asc_M\n", + " -0.903\n", + "  0.394\n", + " -2.29\n", + " *\n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_asc_N\n", + "  0.677\n", + "  0.0943\n", + "  7.18\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_interaction_with_income_between_50k_and_100k_H\n", + " -0.470\n", + "  0.120\n", + " -3.93\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_interaction_with_income_less_than_20k_H\n", + "  0.274\n", + "  0.126\n", + "  2.18\n", + " *\n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_interaction_with_income_more_than_100k_H\n", + " -0.492\n", + "  0.135\n", + " -3.64\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_interaction_with_income_more_than_100k_N\n", + "  0.334\n", + "  0.0733\n", + "  4.56\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M\n", + "  0.218\n", + "  0.0323\n", + "  6.76\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_in_school_asc_M\n", + "  3.24\n", + "  0.104\n", + "  31.22\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_in_school_asc_N\n", + " -0.0676\n", + "  0.411\n", + " -0.16\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M\n", + " -0.694\n", + "  0.112\n", + " -6.17\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N\n", + " -0.607\n", + "  0.129\n", + " -4.70\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M\n", + " -0.400\n", + "  0.0833\n", + " -4.80\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H\n", + "  0.674\n", + "  0.0861\n", + "  7.83\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_asc_M\n", + "  0.583\n", + "  0.107\n", + "  5.43\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_asc_N\n", + " -1.39\n", + "  0.416\n", + " -3.34\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M\n", + " -0.393\n", + "  0.0920\n", + " -4.27\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M\n", + "  0.669\n", + "  0.0978\n", + "  6.84\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H\n", + "  0.243\n", + "  0.134\n", + "  1.81\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H\n", + " -0.707\n", + "  0.128\n", + " -5.51\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H\n", + " -0.695\n", + "  0.131\n", + " -5.31\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N\n", + "  0.685\n", + "  0.0858\n", + "  7.99\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_retired_asc_N\n", + "  0.434\n", + "  0.359\n", + "  1.21\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_age_more_than_80_H\n", + "  0.730\n", + "  0.0826\n", + "  8.84\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_female_M\n", + "  0.477\n", + "  0.00\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_fewer_cars_than_workers_H\n", + "  0.650\n", + "  0.218\n", + "  2.98\n", + " **\n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_income_less_than_20k_H\n", + "  0.476\n", + "  0.0845\n", + "  5.63\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_more_cars_than_workers_M\n", + "  2.99\n", + "  0.00\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_more_cars_than_workers_N\n", + "  1.02\n", + "  0.0885\n", + "  11.48\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_retired_interaction_with_peak_accessibility_to_all_employment_M\n", + "  0.279\n", + "  0.00\n", + "  NA\n", + " \n", + " 0.00\n", + " \n", + " \n", + " coef_university_student_asc_M\n", + "  2.17\n", + "  0.0864\n", + "  25.12\n", + " ***\n", + " 0.00\n", + " \n", + " \n", + " coef_university_student_asc_N\n", + "  0.489\n", + "  0.356\n", + "  1.38\n", + " \n", + " 0.00\n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.parameter_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "TojXWivZsx7M" + }, + "source": [ + "# Output Estimation Results" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "from activitysim.estimation.larch import update_coefficients\n", + "coefficients = update_coefficients(model, data)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "result_dir = data.edb_directory/'estimated'" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "os.makedirs(result_dir, exist_ok=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Write the re-estimated coefficients file" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "coefficients.reset_index().to_csv(\n", + " result_dir/\"cdap_coefficients_revised.csv\", \n", + " index=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Write the model estimation report, including coefficient t-statistic and log likelihood" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "for hh_size, submodel in enumerate(model, 1):\n", + " if hh_size > 3: \n", + " break \n", + " # the largest HH sizes have massive model reports that \n", + " # Excel doesn't handle well; review them in Jupyter \n", + " # instead if you are interested\n", + " submodel.to_xlsx(\n", + " result_dir/f\"cdap_model_estimation_hhsize{hh_size}.xlsx\", \n", + " data_statistics=False,\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Next Steps\n", + "\n", + "The final step is to either manually or automatically copy the `cdap_coefficients.csv_revised.csv` file to the configs folder, rename it to `cdap_coefficients.csv.csv`, and run ActivitySim in simulation mode." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefficient_namevalueconstrain
0coef_UNAVAILABLE-999.000000T
1coef_full_time_worker_asc_M2.126748F
2coef_full_time_worker_asc_N0.650847F
3coef_part_time_worker_asc_M-0.902594F
4coef_part_time_worker_asc_N0.677144F
............
161coef_N_xxxx-1.346000F
162coef_H_xxxx-3.733000F
163coef_M_xxxxx0.103269F
164coef_N_xxxxx-0.046852F
165coef_H_xxxxx-3.460857F
\n", + "

166 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " coefficient_name value constrain\n", + "0 coef_UNAVAILABLE -999.000000 T\n", + "1 coef_full_time_worker_asc_M 2.126748 F\n", + "2 coef_full_time_worker_asc_N 0.650847 F\n", + "3 coef_part_time_worker_asc_M -0.902594 F\n", + "4 coef_part_time_worker_asc_N 0.677144 F\n", + ".. ... ... ...\n", + "161 coef_N_xxxx -1.346000 F\n", + "162 coef_H_xxxx -3.733000 F\n", + "163 coef_M_xxxxx 0.103269 F\n", + "164 coef_N_xxxxx -0.046852 F\n", + "165 coef_H_xxxxx -3.460857 F\n", + "\n", + "[166 rows x 3 columns]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_csv(result_dir/\"cdap_coefficients_revised.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Modify Spec\n", + "\n", + "Here, we will demonstrate the process of re-estimating the CDAP model with a modified\n", + "SPEC file. This does *not* require re-running ActivitySim, it just requires\n", + "changing the SPEC file and re-running the Larch estimation only.\n", + "\n", + "The `backup` command we ran earlier made a backup copy of the\n", + "original spec file in the EDB directory.\n", + "This was not strictly necessary, but since we're about to modify it and\n", + "we may want undo our changes, it can be handy to keep a copy of the\n", + "original spec file around. Since we already have a backup copy, we'll make some \n", + "changes directly in the SPEC file. As an example here, we're going\n", + "to re-write the household income section of the file, to change the piecewise \n", + "linear utility from 3 segments to 4. We'll move the breakpoints and rename some\n", + "coefficients to accomodate the change. As above, for this demo we are editing \n", + "the SPEC file using Python code to make the changes, but a user does not need\n", + "to change the file using Python; any CSV editor (e.g. Excel) can be used. " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "with open(data.edb_directory / \"cdap_INDIV_AND_HHSIZE1_SPEC.csv\") as f:\n", + " raw_spec = f.read()\n", + "\n", + "repl_lines = \"\"\"Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H\n", + "\"\"\"\n", + "\n", + "new_lines = \"\"\"Full-time worker interaction with income less than $35k,(ptype == 1) & (income_in_thousands < 35),,,coef_full_time_worker_interaction_with_income_less_than_35k_H\n", + "Full-time worker interaction with income between $35k and $100k,(ptype == 1) & (income_in_thousands >= 35) & (income_in_thousands <= 100),,,coef_full_time_worker_interaction_with_income_between_35k_and_100k_H\n", + "\"\"\"\n", + "\n", + "raw_spec = raw_spec.replace(repl_lines, new_lines)\n", + "\n", + "with open(data.edb_directory / \"cdap_INDIV_AND_HHSIZE1_SPEC.csv\", \"w\") as f:\n", + " f.write(raw_spec)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Unlike other components, the CDAP estimation process is built fundamentally against \n", + "a re-evaluation of utility functions, instead of using pre-computed values in the\n", + "EDB. Thus, the user does not need to worry about the \"Label\" column of the utility\n", + "specification file (which in this example does not even exist.) \n", + "\n", + "Estimation of the revised model can be completed using the same process as the \n", + "original estimation." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading output-est-mode/estimation_data_bundle/cdap/cdap_model_settings.yaml\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/final_households.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/final_persons.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_coefficients.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_interaction_coefficients.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_joint_tour_coefficients.csv\n", + "Including joint tour utility?: False\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_INDIV_AND_HHSIZE1_SPEC.csv\n", + "Reading /Users/jpn/Git/est-mode/activitysim/activitysim/examples/example_estimation/notebooks/test-estimation-data/activitysim-prototype-mtc-extended/output-est-mode/estimation_data_bundle/cdap/cdap_values_combined.parquet\n" + ] + } + ], + "source": [ + "model2, data2 = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Iteration 138 [Optimization terminated successfully]

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Best LL = -28225.10715069874

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuebestinitvalueminimummaximumnullvalueholdfast
param_name
-999.0-999.000000-999.000000-999.000000-999.0-999.00.01
coef_H_111.4550121.4550121.626000-infinf0.00
coef_H_120.9496080.9496080.740700-infinf0.00
coef_H_124_122_1440.3674960.3674960.957300-infinf0.00
coef_H_126_146-0.009021-0.0090210.293900-infinf0.00
........................
coef_retired_interaction_with_more_cars_than_workers_M2.9920002.9920002.992000-infinf0.00
coef_retired_interaction_with_more_cars_than_workers_N1.0128061.0128061.056000-infinf0.00
coef_retired_interaction_with_peak_accessibility_to_all_employment_M0.2792000.2792000.279200-infinf0.00
coef_university_student_asc_M2.1683682.1683682.353595-infinf0.00
coef_university_student_asc_N0.4898480.4898480.609710-infinf0.00
\n", + "

162 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " value best \\\n", + "param_name \n", + "-999.0 -999.000000 -999.000000 \n", + "coef_H_11 1.455012 1.455012 \n", + "coef_H_12 0.949608 0.949608 \n", + "coef_H_124_122_144 0.367496 0.367496 \n", + "coef_H_126_146 -0.009021 -0.009021 \n", + "... ... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... 2.992000 2.992000 \n", + "coef_retired_interaction_with_more_cars_than_wo... 1.012806 1.012806 \n", + "coef_retired_interaction_with_peak_accessibilit... 0.279200 0.279200 \n", + "coef_university_student_asc_M 2.168368 2.168368 \n", + "coef_university_student_asc_N 0.489848 0.489848 \n", + "\n", + " initvalue minimum \\\n", + "param_name \n", + "-999.0 -999.000000 -999.0 \n", + "coef_H_11 1.626000 -inf \n", + "coef_H_12 0.740700 -inf \n", + "coef_H_124_122_144 0.957300 -inf \n", + "coef_H_126_146 0.293900 -inf \n", + "... ... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... 2.992000 -inf \n", + "coef_retired_interaction_with_more_cars_than_wo... 1.056000 -inf \n", + "coef_retired_interaction_with_peak_accessibilit... 0.279200 -inf \n", + "coef_university_student_asc_M 2.353595 -inf \n", + "coef_university_student_asc_N 0.609710 -inf \n", + "\n", + " maximum nullvalue \\\n", + "param_name \n", + "-999.0 -999.0 0.0 \n", + "coef_H_11 inf 0.0 \n", + "coef_H_12 inf 0.0 \n", + "coef_H_124_122_144 inf 0.0 \n", + "coef_H_126_146 inf 0.0 \n", + "... ... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... inf 0.0 \n", + "coef_retired_interaction_with_more_cars_than_wo... inf 0.0 \n", + "coef_retired_interaction_with_peak_accessibilit... inf 0.0 \n", + "coef_university_student_asc_M inf 0.0 \n", + "coef_university_student_asc_N inf 0.0 \n", + "\n", + " holdfast \n", + "param_name \n", + "-999.0 1 \n", + "coef_H_11 0 \n", + "coef_H_12 0 \n", + "coef_H_124_122_144 0 \n", + "coef_H_126_146 0 \n", + "... ... \n", + "coef_retired_interaction_with_more_cars_than_wo... 0 \n", + "coef_retired_interaction_with_more_cars_than_wo... 0 \n", + "coef_retired_interaction_with_peak_accessibilit... 0 \n", + "coef_university_student_asc_M 0 \n", + "coef_university_student_asc_N 0 \n", + "\n", + "[162 rows x 7 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jpn/Git/est-mode/larch/src/larch/model/optimization.py:338: UserWarning: SLSQP may not play nicely with unbounded parameters\n", + "if you get poor results, consider setting global bounds with model.set_cap()\n", + " warnings.warn( # infinite bounds # )\n" + ] + } + ], + "source": [ + "r2 = model2.estimate(method='SLSQP', options={'maxiter':1000})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can easily review the parameter estimates from the original and\n", + "revised models side by side to see what changed." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmodel2
Number of CasesAggregate20000.00000020000.000000
Log Likelihood at ConvergenceAggregate-28223.515541-28225.107151
Per Case-1.411176-1.411255
Log Likelihood at Null ParametersAggregate-51107.531825-51107.531825
Per Case-2.555377-2.555377
Rho Squared w.r.t. Null ParametersAggregate0.4477620.447731
\n", + "
" + ], + "text/plain": [ + " model model2\n", + "Number of Cases Aggregate 20000.000000 20000.000000\n", + "Log Likelihood at Convergence Aggregate -28223.515541 -28225.107151\n", + " Per Case -1.411176 -1.411255\n", + "Log Likelihood at Null Parameters Aggregate -51107.531825 -51107.531825\n", + " Per Case -2.555377 -2.555377\n", + "Rho Squared w.r.t. Null Parameters Aggregate 0.447762 0.447731" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.estimation_statistics_raw(),\n", + " \"model2\": model2.estimation_statistics_raw(),\n", + " }, axis=1).fillna(\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmodel2
ValueStd Errt StatSignifNull ValueValueStd Errt StatSignifNull Value
Parameter
-999.0-999.0.00NA0.0-999.0.00NA0.0
coef_H_111.450.061423.55***0.01.460.062223.40***0.0
coef_H_120.9550.1327.21***0.00.9500.1327.18***0.0
coef_H_124_122_1440.3540.1532.31*0.00.3670.1532.40*0.0
coef_H_126_146-0.01340.336-0.040.0-0.009020.336-0.030.0
coef_H_131.200.1309.21***0.01.200.1319.17***0.0
coef_H_140.9980.090311.05***0.00.9910.090410.96***0.0
coef_H_151.180.092212.76***0.01.180.092112.86***0.0
coef_H_161.850.10218.08***0.01.850.10317.98***0.0
coef_H_171.340.055724.07***0.01.340.055824.04***0.0
coef_H_180.8030.1097.36***0.00.8080.1097.42***0.0
coef_H_221.660.2157.76***0.01.660.2157.73***0.0
coef_H_222_224_2440.07470.2250.330.00.08040.2250.360.0
coef_H_226_246_4460.07450.6830.110.00.07260.6870.110.0
coef_H_231.680.2098.02***0.01.680.2098.03***0.0
coef_H_241.200.1657.27***0.01.200.1657.24***0.0
coef_H_25-0.08110.278-0.290.0-0.07370.277-0.270.0
coef_H_262.830.23911.83***0.02.840.23911.86***0.0
coef_H_266_4661.240.6501.910.01.250.6521.910.0
coef_H_270.8030.1585.08***0.00.8040.1585.07***0.0
coef_H_280.9410.1875.05***0.00.9460.1865.08***0.0
coef_H_330.3590.4480.800.00.3660.4480.820.0
coef_H_341.540.13111.80***0.01.540.13111.75***0.0
coef_H_350.2110.3890.540.00.2130.3890.550.0
coef_H_361.552.55e-13BIG***0.01.55NANA0.0
coef_H_371.55NANA0.01.55NANA0.0
coef_H_381.34NANA0.01.344.18e-13BIG***0.0
coef_H_441.090.088412.29***0.01.090.088312.30***0.0
coef_H_451.130.1398.18***0.01.130.1398.16***0.0
coef_H_460.5249.04e-13BIG***0.00.5243.12e-13BIG***0.0
coef_H_470.8114.46e-13BIG***0.00.811NANA0.0
coef_H_481.172.26e-13BIG***0.01.176.30e-13BIG***0.0
coef_H_551.220.1667.37***0.01.220.1657.39***0.0
coef_H_56_57_580.8631.52e-13BIG***0.00.863NANA0.0
coef_H_661.360.2994.56***0.01.370.2984.60***0.0
coef_H_671.290.3853.35***0.01.280.3863.32***0.0
coef_H_681.390.7551.850.01.390.7561.830.0
coef_H_772.430.080230.27***0.02.420.080430.16***0.0
coef_H_781.210.1577.72***0.01.210.1577.69***0.0
coef_H_880.9440.2184.33***0.00.9560.2174.40***0.0
coef_H_xxxxx-3.460.269-12.86***0.0-3.470.269-12.88***0.0
coef_M_110.007750.04390.180.09.36e-050.04430.000.0
coef_M_1110.1580.05512.87**0.00.1640.05522.96**0.0
coef_M_112_1140.2970.09003.30***0.00.2950.09003.28**0.0
coef_M_12-0.1090.0595-1.830.0-0.1090.0595-1.830.0
coef_M_130.1950.04484.36***0.00.1970.04484.39***0.0
coef_M_160.1580.06072.61**0.00.1590.06072.63**0.0
coef_M_170.03660.02861.280.00.03720.02861.300.0
coef_M_180.3730.04388.53***0.00.3720.04388.49***0.0
coef_M_220.9640.093210.34***0.00.9660.093310.36***0.0
coef_M_230.1070.09051.180.00.1070.09051.180.0
coef_M_260.7750.1295.99***0.00.7760.1296.00***0.0
coef_M_270.09710.04832.01*0.00.09430.04821.950.0
coef_M_280.5150.07716.68***0.00.5150.07716.68***0.0
coef_M_330.6710.08617.79***0.00.6730.08627.81***0.0
coef_M_36-0.00210NANA0.0-0.00210NANA0.0
coef_M_370.2973.78e-13BIG***0.00.2973.67e-13BIG***0.0
coef_M_380.2259.09e-14BIG***0.00.2254.32e-13BIG***0.0
coef_M_660.03850.2390.160.00.04220.2400.180.0
coef_M_666-0.6731.46-0.460.0-0.6711.46-0.460.0
coef_M_670.2740.3590.760.00.2880.3600.800.0
coef_M_680.6910.4571.510.00.6950.4571.520.0
coef_M_770.7000.058411.99***0.00.7030.058412.03***0.0
coef_M_780.1410.09571.480.00.1410.09571.480.0
coef_M_881.330.090314.70***0.01.330.090314.70***0.0
coef_M_xxxxx0.1030.04982.07*0.00.1050.04982.10*0.0
coef_N_110.9140.081811.17***0.00.9150.081611.21***0.0
coef_N_112_1140.1030.1730.600.00.1040.1740.600.0
coef_N_120.4650.1114.21***0.00.4670.1114.22***0.0
coef_N_124_122_1440.1320.1420.930.00.1280.1430.900.0
coef_N_130.2160.1351.600.00.2110.1351.570.0
coef_N_140.03310.07190.460.00.02710.07200.380.0
coef_N_150.08710.08820.990.00.08940.08811.010.0
coef_N_160.3080.2221.380.00.3090.2231.390.0
coef_N_1660.4340.5210.830.00.4330.5250.820.0
coef_N_170.2770.09213.01**0.00.2800.09193.04**0.0
coef_N_180.2970.09893.01**0.00.2990.09893.02**0.0
coef_N_220.8670.1695.14***0.00.8670.1695.14***0.0
coef_N_222_224_444-1.340.194-6.91***0.0-1.350.195-6.91***0.0
coef_N_230.1600.2000.800.00.1650.2000.830.0
coef_N_240.5960.07378.09***0.00.5950.07378.07***0.0
coef_N_246_226_446-0.8725.63-0.150.0-0.8725.62-0.160.0
coef_N_25-0.02630.107-0.250.0-0.02750.107-0.260.0
coef_N_260.1250.4360.290.00.1260.4360.290.0
coef_N_270.7330.09647.60***0.00.7340.09617.64***0.0
coef_N_281.050.1079.85***0.01.050.1079.85***0.0
coef_N_330.7810.1654.72***0.00.7860.1654.77***0.0
coef_N_34-0.05220.0980-0.530.0-0.05110.0979-0.520.0
coef_N_350.3900.1512.59**0.00.3900.1502.59**0.0
coef_N_361.62NANA0.01.62NANA0.0
coef_N_370.5161.11e-13BIG***0.00.516NANA0.0
coef_N_380.8978.33e-14BIG***0.00.8972.96e-13BIG***0.0
coef_N_440.3020.09963.03**0.00.3000.09963.01**0.0
coef_N_45-0.08760.0854-1.030.0-0.09020.0854-1.060.0
coef_N_460.6803.06e-14BIG***0.00.6802.86e-13BIG***0.0
coef_N_470.5651.01e-13BIG***0.00.5652.67e-13BIG***0.0
coef_N_481.162.00e-13BIG***0.01.162.34e-13BIG***0.0
coef_N_550.7310.1146.42***0.00.7290.1146.41***0.0
coef_N_56_57_580.292NANA0.00.292NANA0.0
coef_N_661.600.4923.25**0.01.600.4953.23**0.0
coef_N_671.290.6661.930.01.290.6731.920.0
coef_N_681.140.8971.270.01.140.8991.270.0
coef_N_771.270.10911.65***0.01.280.10911.68***0.0
coef_N_78-0.4290.549-0.780.0-0.4210.546-0.770.0
coef_N_880.6450.1514.26***0.00.6450.1514.26***0.0
coef_N_xxxxx-0.04690.100-0.470.0-0.04460.100-0.440.0
coef_UNAVAILABLE-999.0.00NA0.0-999.0.00NA0.0
coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N0.1380.04153.32***0.00.1390.04163.35***0.0
coef_driving_age_child_who_is_in_school_asc_M2.270.17712.78***0.02.300.17812.94***0.0
coef_driving_age_child_who_is_in_school_asc_N-1.090.445-2.45*0.0-1.060.445-2.39*0.0
coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H-0.1590.188-0.850.0-0.1320.188-0.700.0
coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H0.8390.1684.98***0.00.8360.1684.96***0.0
coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H-1.570.241-6.53***0.0-1.510.242-6.24***0.0
coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H1.460.2176.75***0.01.530.2167.05***0.0
coef_full_time_worker_asc_M2.130.2438.76***0.02.180.2468.88***0.0
coef_full_time_worker_asc_N0.6510.047613.66***0.00.6930.057412.07***0.0
coef_full_time_worker_interaction_with_age_less_than_40_M0.2100.03885.41***0.00.2160.03895.54***0.0
coef_full_time_worker_interaction_with_female_gender_M-0.1280.0394-3.24**0.0-0.1240.0394-3.15**0.0
coef_full_time_worker_interaction_with_fewer_cars_than_workers_H0.5200.05679.16***0.00.5280.05689.29***0.0
coef_full_time_worker_interaction_with_income_less_than_20k_H0.4060.1093.72***0.0
coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M0.06560.02033.23**0.00.06420.02033.16**0.0
coef_non_working_adult_asc_N0.6970.3541.97*0.00.6980.3541.97*0.0
coef_non_working_adult_interaction_with_female_gender_M-0.743NANA0.0-0.7433.86e-14-BIG***0.0
coef_non_working_adult_interaction_with_fewer_cars_than_workers_H0.9770.1367.19***0.00.9780.1367.19***0.0
coef_non_working_adult_interaction_with_income_between_50k_and_100k_H-0.4220.0839-5.03***0.0-0.4240.0839-5.05***0.0
coef_non_working_adult_interaction_with_income_more_than_100k_H-0.7210.104-6.94***0.0-0.7160.104-6.89***0.0
coef_non_working_adult_interaction_with_more_cars_than_workers_M0.6517.21e-15BIG***0.00.651NANA0.0
coef_non_working_adult_interaction_with_more_cars_than_workers_N0.7830.08289.45***0.00.7810.08289.43***0.0
coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M0.2311.73e-14BIG***0.00.2318.76e-15BIG***0.0
coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N0.06280.03531.780.00.06290.03521.790.0
coef_part_time_worker_asc_M-0.9030.394-2.29*0.0-0.9000.394-2.29*0.0
coef_part_time_worker_asc_N0.6770.09437.18***0.00.6790.09447.19***0.0
coef_part_time_worker_interaction_with_income_between_50k_and_100k_H-0.4700.120-3.93***0.0-0.4710.120-3.93***0.0
coef_part_time_worker_interaction_with_income_less_than_20k_H0.2740.1262.18*0.00.2780.1262.21*0.0
coef_part_time_worker_interaction_with_income_more_than_100k_H-0.4920.135-3.64***0.0-0.4880.135-3.61***0.0
coef_part_time_worker_interaction_with_income_more_than_100k_N0.3340.07334.56***0.00.3340.07344.55***0.0
coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M0.2180.03236.76***0.00.2180.03236.75***0.0
coef_pre_driving_age_child_who_is_in_school_asc_M3.240.10431.22***0.03.240.10431.19***0.0
coef_pre_driving_age_child_who_is_in_school_asc_N-0.06760.411-0.160.0-0.07780.412-0.190.0
coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M-0.6940.112-6.17***0.0-0.6970.112-6.19***0.0
coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N-0.6070.129-4.70***0.0-0.6050.129-4.69***0.0
coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M-0.4000.0833-4.80***0.0-0.3980.0834-4.77***0.0
coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H0.6740.08617.83***0.00.6760.08627.84***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_asc_M0.5830.1075.43***0.00.5870.1075.47***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_asc_N-1.390.416-3.34***0.0-1.400.417-3.36***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M-0.3930.0920-4.27***0.0-0.3920.0920-4.27***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M0.6690.09786.84***0.00.6700.09786.85***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H0.2430.1341.810.00.2430.1341.820.0
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H-0.7070.128-5.51***0.0-0.7080.128-5.52***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H-0.6950.131-5.31***0.0-0.6880.131-5.26***0.0
coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N0.6850.08587.99***0.00.6860.08587.99***0.0
coef_retired_asc_N0.4340.3591.210.00.4390.3591.220.0
coef_retired_interaction_with_age_more_than_80_H0.7300.08268.84***0.00.7320.08258.87***0.0
coef_retired_interaction_with_female_M0.4770.00NA0.00.4770.00NA0.0
coef_retired_interaction_with_fewer_cars_than_workers_H0.6500.2182.98**0.00.6490.2182.97**0.0
coef_retired_interaction_with_income_less_than_20k_H0.4760.08455.63***0.00.4830.08445.72***0.0
coef_retired_interaction_with_more_cars_than_workers_M2.990.00NA0.02.990.00NA0.0
coef_retired_interaction_with_more_cars_than_workers_N1.020.088511.48***0.01.010.088411.45***0.0
coef_retired_interaction_with_peak_accessibility_to_all_employment_M0.2790.00NA0.00.2790.00NA0.0
coef_university_student_asc_M2.170.086425.12***0.02.170.086425.10***0.0
coef_university_student_asc_N0.4890.3561.380.00.4900.3561.380.0
coef_full_time_worker_interaction_with_income_between_35k_and_100k_H0.05410.05421.000.0
coef_full_time_worker_interaction_with_income_less_than_35k_H0.2450.07953.08**0.0
\n", + "
" + ], + "text/plain": [ + " model \\\n", + " Value Std Err \n", + "Parameter \n", + "-999.0 -999.  0.00 \n", + "coef_H_11  1.45  0.0614 \n", + "coef_H_12  0.955  0.132 \n", + "coef_H_124_122_144  0.354  0.153 \n", + "coef_H_126_146 -0.0134  0.336 \n", + "coef_H_13  1.20  0.130 \n", + "coef_H_14  0.998  0.0903 \n", + "coef_H_15  1.18  0.0922 \n", + "coef_H_16  1.85  0.102 \n", + "coef_H_17  1.34  0.0557 \n", + "coef_H_18  0.803  0.109 \n", + "coef_H_22  1.66  0.215 \n", + "coef_H_222_224_244  0.0747  0.225 \n", + "coef_H_226_246_446  0.0745  0.683 \n", + "coef_H_23  1.68  0.209 \n", + "coef_H_24  1.20  0.165 \n", + "coef_H_25 -0.0811  0.278 \n", + "coef_H_26  2.83  0.239 \n", + "coef_H_266_466  1.24  0.650 \n", + "coef_H_27  0.803  0.158 \n", + "coef_H_28  0.941  0.187 \n", + "coef_H_33  0.359  0.448 \n", + "coef_H_34  1.54  0.131 \n", + "coef_H_35  0.211  0.389 \n", + "coef_H_36  1.55  2.55e-13 \n", + "coef_H_37  1.55  NA \n", + "coef_H_38  1.34  NA \n", + "coef_H_44  1.09  0.0884 \n", + "coef_H_45  1.13  0.139 \n", + "coef_H_46  0.524  9.04e-13 \n", + "coef_H_47  0.811  4.46e-13 \n", + "coef_H_48  1.17  2.26e-13 \n", + "coef_H_55  1.22  0.166 \n", + "coef_H_56_57_58  0.863  1.52e-13 \n", + "coef_H_66  1.36  0.299 \n", + "coef_H_67  1.29  0.385 \n", + "coef_H_68  1.39  0.755 \n", + "coef_H_77  2.43  0.0802 \n", + "coef_H_78  1.21  0.157 \n", + "coef_H_88  0.944  0.218 \n", + "coef_H_xxxxx -3.46  0.269 \n", + "coef_M_11  0.00775  0.0439 \n", + "coef_M_111  0.158  0.0551 \n", + "coef_M_112_114  0.297  0.0900 \n", + "coef_M_12 -0.109  0.0595 \n", + "coef_M_13  0.195  0.0448 \n", + "coef_M_16  0.158  0.0607 \n", + "coef_M_17  0.0366  0.0286 \n", + "coef_M_18  0.373  0.0438 \n", + "coef_M_22  0.964  0.0932 \n", + "coef_M_23  0.107  0.0905 \n", + "coef_M_26  0.775  0.129 \n", + "coef_M_27  0.0971  0.0483 \n", + "coef_M_28  0.515  0.0771 \n", + "coef_M_33  0.671  0.0861 \n", + "coef_M_36 -0.00210  NA \n", + "coef_M_37  0.297  3.78e-13 \n", + "coef_M_38  0.225  9.09e-14 \n", + "coef_M_66  0.0385  0.239 \n", + "coef_M_666 -0.673  1.46 \n", + "coef_M_67  0.274  0.359 \n", + "coef_M_68  0.691  0.457 \n", + "coef_M_77  0.700  0.0584 \n", + "coef_M_78  0.141  0.0957 \n", + "coef_M_88  1.33  0.0903 \n", + "coef_M_xxxxx  0.103  0.0498 \n", + "coef_N_11  0.914  0.0818 \n", + "coef_N_112_114  0.103  0.173 \n", + "coef_N_12  0.465  0.111 \n", + "coef_N_124_122_144  0.132  0.142 \n", + "coef_N_13  0.216  0.135 \n", + "coef_N_14  0.0331  0.0719 \n", + "coef_N_15  0.0871  0.0882 \n", + "coef_N_16  0.308  0.222 \n", + "coef_N_166  0.434  0.521 \n", + "coef_N_17  0.277  0.0921 \n", + "coef_N_18  0.297  0.0989 \n", + "coef_N_22  0.867  0.169 \n", + "coef_N_222_224_444 -1.34  0.194 \n", + "coef_N_23  0.160  0.200 \n", + "coef_N_24  0.596  0.0737 \n", + "coef_N_246_226_446 -0.872  5.63 \n", + "coef_N_25 -0.0263  0.107 \n", + "coef_N_26  0.125  0.436 \n", + "coef_N_27  0.733  0.0964 \n", + "coef_N_28  1.05  0.107 \n", + "coef_N_33  0.781  0.165 \n", + "coef_N_34 -0.0522  0.0980 \n", + "coef_N_35  0.390  0.151 \n", + "coef_N_36  1.62  NA \n", + "coef_N_37  0.516  1.11e-13 \n", + "coef_N_38  0.897  8.33e-14 \n", + "coef_N_44  0.302  0.0996 \n", + "coef_N_45 -0.0876  0.0854 \n", + "coef_N_46  0.680  3.06e-14 \n", + "coef_N_47  0.565  1.01e-13 \n", + "coef_N_48  1.16  2.00e-13 \n", + "coef_N_55  0.731  0.114 \n", + "coef_N_56_57_58  0.292  NA \n", + "coef_N_66  1.60  0.492 \n", + "coef_N_67  1.29  0.666 \n", + "coef_N_68  1.14  0.897 \n", + "coef_N_77  1.27  0.109 \n", + "coef_N_78 -0.429  0.549 \n", + "coef_N_88  0.645  0.151 \n", + "coef_N_xxxxx -0.0469  0.100 \n", + "coef_UNAVAILABLE -999.  0.00 \n", + "coef_child_who_is_in_school_or_too_young_for_sc...  0.138  0.0415 \n", + "coef_driving_age_child_who_is_in_school_asc_M  2.27  0.177 \n", + "coef_driving_age_child_who_is_in_school_asc_N -1.09  0.445 \n", + "coef_driving_age_child_who_is_in_school_interac... -0.159  0.188 \n", + "coef_driving_age_child_who_is_in_school_interac...  0.839  0.168 \n", + "coef_driving_age_child_who_is_in_school_interac... -1.57  0.241 \n", + "coef_driving_age_child_who_is_in_school_interac...  1.46  0.217 \n", + "coef_full_time_worker_asc_M  2.13  0.243 \n", + "coef_full_time_worker_asc_N  0.651  0.0476 \n", + "coef_full_time_worker_interaction_with_age_less...  0.210  0.0388 \n", + "coef_full_time_worker_interaction_with_female_g... -0.128  0.0394 \n", + "coef_full_time_worker_interaction_with_fewer_ca...  0.520  0.0567 \n", + "coef_full_time_worker_interaction_with_income_l...  0.406  0.109 \n", + "coef_full_time_worker_intraction_with_peak_acce...  0.0656  0.0203 \n", + "coef_non_working_adult_asc_N  0.697  0.354 \n", + "coef_non_working_adult_interaction_with_female_... -0.743  NA \n", + "coef_non_working_adult_interaction_with_fewer_c...  0.977  0.136 \n", + "coef_non_working_adult_interaction_with_income_... -0.422  0.0839 \n", + "coef_non_working_adult_interaction_with_income_... -0.721  0.104 \n", + "coef_non_working_adult_interaction_with_more_ca...  0.651  7.21e-15 \n", + "coef_non_working_adult_interaction_with_more_ca...  0.783  0.0828 \n", + "coef_non_working_adult_interaction_with_peak_ac...  0.231  1.73e-14 \n", + "coef_non_working_adult_retired_or_univ_student_...  0.0628  0.0353 \n", + "coef_part_time_worker_asc_M -0.903  0.394 \n", + "coef_part_time_worker_asc_N  0.677  0.0943 \n", + "coef_part_time_worker_interaction_with_income_b... -0.470  0.120 \n", + "coef_part_time_worker_interaction_with_income_l...  0.274  0.126 \n", + "coef_part_time_worker_interaction_with_income_m... -0.492  0.135 \n", + "coef_part_time_worker_interaction_with_income_m...  0.334  0.0733 \n", + "coef_part_time_worker_interaction_with_peak_acc...  0.218  0.0323 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_M  3.24  0.104 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_N -0.0676  0.411 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -0.694  0.112 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -0.607  0.129 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -0.400  0.0833 \n", + "coef_pre_driving_age_child_who_is_in_school_int...  0.674  0.0861 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.583  0.107 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -1.39  0.416 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -0.393  0.0920 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.669  0.0978 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.243  0.134 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -0.707  0.128 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -0.695  0.131 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.685  0.0858 \n", + "coef_retired_asc_N  0.434  0.359 \n", + "coef_retired_interaction_with_age_more_than_80_H  0.730  0.0826 \n", + "coef_retired_interaction_with_female_M  0.477  0.00 \n", + "coef_retired_interaction_with_fewer_cars_than_w...  0.650  0.218 \n", + "coef_retired_interaction_with_income_less_than_...  0.476  0.0845 \n", + "coef_retired_interaction_with_more_cars_than_wo...  2.99  0.00 \n", + "coef_retired_interaction_with_more_cars_than_wo...  1.02  0.0885 \n", + "coef_retired_interaction_with_peak_accessibilit...  0.279  0.00 \n", + "coef_university_student_asc_M  2.17  0.0864 \n", + "coef_university_student_asc_N  0.489  0.356 \n", + "coef_full_time_worker_interaction_with_income_b... \n", + "coef_full_time_worker_interaction_with_income_l... \n", + "\n", + " \\\n", + " t Stat Signif Null Value \n", + "Parameter \n", + "-999.0  NA 0.0 \n", + "coef_H_11  23.55 *** 0.0 \n", + "coef_H_12  7.21 *** 0.0 \n", + "coef_H_124_122_144  2.31 * 0.0 \n", + "coef_H_126_146 -0.04 0.0 \n", + "coef_H_13  9.21 *** 0.0 \n", + "coef_H_14  11.05 *** 0.0 \n", + "coef_H_15  12.76 *** 0.0 \n", + "coef_H_16  18.08 *** 0.0 \n", + "coef_H_17  24.07 *** 0.0 \n", + "coef_H_18  7.36 *** 0.0 \n", + "coef_H_22  7.76 *** 0.0 \n", + "coef_H_222_224_244  0.33 0.0 \n", + "coef_H_226_246_446  0.11 0.0 \n", + "coef_H_23  8.02 *** 0.0 \n", + "coef_H_24  7.27 *** 0.0 \n", + "coef_H_25 -0.29 0.0 \n", + "coef_H_26  11.83 *** 0.0 \n", + "coef_H_266_466  1.91 0.0 \n", + "coef_H_27  5.08 *** 0.0 \n", + "coef_H_28  5.05 *** 0.0 \n", + "coef_H_33  0.80 0.0 \n", + "coef_H_34  11.80 *** 0.0 \n", + "coef_H_35  0.54 0.0 \n", + "coef_H_36  BIG *** 0.0 \n", + "coef_H_37  NA 0.0 \n", + "coef_H_38  NA 0.0 \n", + "coef_H_44  12.29 *** 0.0 \n", + "coef_H_45  8.18 *** 0.0 \n", + "coef_H_46  BIG *** 0.0 \n", + "coef_H_47  BIG *** 0.0 \n", + "coef_H_48  BIG *** 0.0 \n", + "coef_H_55  7.37 *** 0.0 \n", + "coef_H_56_57_58  BIG *** 0.0 \n", + "coef_H_66  4.56 *** 0.0 \n", + "coef_H_67  3.35 *** 0.0 \n", + "coef_H_68  1.85 0.0 \n", + "coef_H_77  30.27 *** 0.0 \n", + "coef_H_78  7.72 *** 0.0 \n", + "coef_H_88  4.33 *** 0.0 \n", + "coef_H_xxxxx -12.86 *** 0.0 \n", + "coef_M_11  0.18 0.0 \n", + "coef_M_111  2.87 ** 0.0 \n", + "coef_M_112_114  3.30 *** 0.0 \n", + "coef_M_12 -1.83 0.0 \n", + "coef_M_13  4.36 *** 0.0 \n", + "coef_M_16  2.61 ** 0.0 \n", + "coef_M_17  1.28 0.0 \n", + "coef_M_18  8.53 *** 0.0 \n", + "coef_M_22  10.34 *** 0.0 \n", + "coef_M_23  1.18 0.0 \n", + "coef_M_26  5.99 *** 0.0 \n", + "coef_M_27  2.01 * 0.0 \n", + "coef_M_28  6.68 *** 0.0 \n", + "coef_M_33  7.79 *** 0.0 \n", + "coef_M_36  NA 0.0 \n", + "coef_M_37  BIG *** 0.0 \n", + "coef_M_38  BIG *** 0.0 \n", + "coef_M_66  0.16 0.0 \n", + "coef_M_666 -0.46 0.0 \n", + "coef_M_67  0.76 0.0 \n", + "coef_M_68  1.51 0.0 \n", + "coef_M_77  11.99 *** 0.0 \n", + "coef_M_78  1.48 0.0 \n", + "coef_M_88  14.70 *** 0.0 \n", + "coef_M_xxxxx  2.07 * 0.0 \n", + "coef_N_11  11.17 *** 0.0 \n", + "coef_N_112_114  0.60 0.0 \n", + "coef_N_12  4.21 *** 0.0 \n", + "coef_N_124_122_144  0.93 0.0 \n", + "coef_N_13  1.60 0.0 \n", + "coef_N_14  0.46 0.0 \n", + "coef_N_15  0.99 0.0 \n", + "coef_N_16  1.38 0.0 \n", + "coef_N_166  0.83 0.0 \n", + "coef_N_17  3.01 ** 0.0 \n", + "coef_N_18  3.01 ** 0.0 \n", + "coef_N_22  5.14 *** 0.0 \n", + "coef_N_222_224_444 -6.91 *** 0.0 \n", + "coef_N_23  0.80 0.0 \n", + "coef_N_24  8.09 *** 0.0 \n", + "coef_N_246_226_446 -0.15 0.0 \n", + "coef_N_25 -0.25 0.0 \n", + "coef_N_26  0.29 0.0 \n", + "coef_N_27  7.60 *** 0.0 \n", + "coef_N_28  9.85 *** 0.0 \n", + "coef_N_33  4.72 *** 0.0 \n", + "coef_N_34 -0.53 0.0 \n", + "coef_N_35  2.59 ** 0.0 \n", + "coef_N_36  NA 0.0 \n", + "coef_N_37  BIG *** 0.0 \n", + "coef_N_38  BIG *** 0.0 \n", + "coef_N_44  3.03 ** 0.0 \n", + "coef_N_45 -1.03 0.0 \n", + "coef_N_46  BIG *** 0.0 \n", + "coef_N_47  BIG *** 0.0 \n", + "coef_N_48  BIG *** 0.0 \n", + "coef_N_55  6.42 *** 0.0 \n", + "coef_N_56_57_58  NA 0.0 \n", + "coef_N_66  3.25 ** 0.0 \n", + "coef_N_67  1.93 0.0 \n", + "coef_N_68  1.27 0.0 \n", + "coef_N_77  11.65 *** 0.0 \n", + "coef_N_78 -0.78 0.0 \n", + "coef_N_88  4.26 *** 0.0 \n", + "coef_N_xxxxx -0.47 0.0 \n", + "coef_UNAVAILABLE  NA 0.0 \n", + "coef_child_who_is_in_school_or_too_young_for_sc...  3.32 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_asc_M  12.78 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_asc_N -2.45 * 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac... -0.85 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac...  4.98 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac... -6.53 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac...  6.75 *** 0.0 \n", + "coef_full_time_worker_asc_M  8.76 *** 0.0 \n", + "coef_full_time_worker_asc_N  13.66 *** 0.0 \n", + "coef_full_time_worker_interaction_with_age_less...  5.41 *** 0.0 \n", + "coef_full_time_worker_interaction_with_female_g... -3.24 ** 0.0 \n", + "coef_full_time_worker_interaction_with_fewer_ca...  9.16 *** 0.0 \n", + "coef_full_time_worker_interaction_with_income_l...  3.72 *** 0.0 \n", + "coef_full_time_worker_intraction_with_peak_acce...  3.23 ** 0.0 \n", + "coef_non_working_adult_asc_N  1.97 * 0.0 \n", + "coef_non_working_adult_interaction_with_female_...  NA 0.0 \n", + "coef_non_working_adult_interaction_with_fewer_c...  7.19 *** 0.0 \n", + "coef_non_working_adult_interaction_with_income_... -5.03 *** 0.0 \n", + "coef_non_working_adult_interaction_with_income_... -6.94 *** 0.0 \n", + "coef_non_working_adult_interaction_with_more_ca...  BIG *** 0.0 \n", + "coef_non_working_adult_interaction_with_more_ca...  9.45 *** 0.0 \n", + "coef_non_working_adult_interaction_with_peak_ac...  BIG *** 0.0 \n", + "coef_non_working_adult_retired_or_univ_student_...  1.78 0.0 \n", + "coef_part_time_worker_asc_M -2.29 * 0.0 \n", + "coef_part_time_worker_asc_N  7.18 *** 0.0 \n", + "coef_part_time_worker_interaction_with_income_b... -3.93 *** 0.0 \n", + "coef_part_time_worker_interaction_with_income_l...  2.18 * 0.0 \n", + "coef_part_time_worker_interaction_with_income_m... -3.64 *** 0.0 \n", + "coef_part_time_worker_interaction_with_income_m...  4.56 *** 0.0 \n", + "coef_part_time_worker_interaction_with_peak_acc...  6.76 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_M  31.22 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_N -0.16 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -6.17 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -4.70 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -4.80 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int...  7.83 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  5.43 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -3.34 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -4.27 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  6.84 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  1.81 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -5.51 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -5.31 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  7.99 *** 0.0 \n", + "coef_retired_asc_N  1.21 0.0 \n", + "coef_retired_interaction_with_age_more_than_80_H  8.84 *** 0.0 \n", + "coef_retired_interaction_with_female_M  NA 0.0 \n", + "coef_retired_interaction_with_fewer_cars_than_w...  2.98 ** 0.0 \n", + "coef_retired_interaction_with_income_less_than_...  5.63 *** 0.0 \n", + "coef_retired_interaction_with_more_cars_than_wo...  NA 0.0 \n", + "coef_retired_interaction_with_more_cars_than_wo...  11.48 *** 0.0 \n", + "coef_retired_interaction_with_peak_accessibilit...  NA 0.0 \n", + "coef_university_student_asc_M  25.12 *** 0.0 \n", + "coef_university_student_asc_N  1.38 0.0 \n", + "coef_full_time_worker_interaction_with_income_b... \n", + "coef_full_time_worker_interaction_with_income_l... \n", + "\n", + " model2 \\\n", + " Value Std Err \n", + "Parameter \n", + "-999.0 -999.  0.00 \n", + "coef_H_11  1.46  0.0622 \n", + "coef_H_12  0.950  0.132 \n", + "coef_H_124_122_144  0.367  0.153 \n", + "coef_H_126_146 -0.00902  0.336 \n", + "coef_H_13  1.20  0.131 \n", + "coef_H_14  0.991  0.0904 \n", + "coef_H_15  1.18  0.0921 \n", + "coef_H_16  1.85  0.103 \n", + "coef_H_17  1.34  0.0558 \n", + "coef_H_18  0.808  0.109 \n", + "coef_H_22  1.66  0.215 \n", + "coef_H_222_224_244  0.0804  0.225 \n", + "coef_H_226_246_446  0.0726  0.687 \n", + "coef_H_23  1.68  0.209 \n", + "coef_H_24  1.20  0.165 \n", + "coef_H_25 -0.0737  0.277 \n", + "coef_H_26  2.84  0.239 \n", + "coef_H_266_466  1.25  0.652 \n", + "coef_H_27  0.804  0.158 \n", + "coef_H_28  0.946  0.186 \n", + "coef_H_33  0.366  0.448 \n", + "coef_H_34  1.54  0.131 \n", + "coef_H_35  0.213  0.389 \n", + "coef_H_36  1.55  NA \n", + "coef_H_37  1.55  NA \n", + "coef_H_38  1.34  4.18e-13 \n", + "coef_H_44  1.09  0.0883 \n", + "coef_H_45  1.13  0.139 \n", + "coef_H_46  0.524  3.12e-13 \n", + "coef_H_47  0.811  NA \n", + "coef_H_48  1.17  6.30e-13 \n", + "coef_H_55  1.22  0.165 \n", + "coef_H_56_57_58  0.863  NA \n", + "coef_H_66  1.37  0.298 \n", + "coef_H_67  1.28  0.386 \n", + "coef_H_68  1.39  0.756 \n", + "coef_H_77  2.42  0.0804 \n", + "coef_H_78  1.21  0.157 \n", + "coef_H_88  0.956  0.217 \n", + "coef_H_xxxxx -3.47  0.269 \n", + "coef_M_11  9.36e-05  0.0443 \n", + "coef_M_111  0.164  0.0552 \n", + "coef_M_112_114  0.295  0.0900 \n", + "coef_M_12 -0.109  0.0595 \n", + "coef_M_13  0.197  0.0448 \n", + "coef_M_16  0.159  0.0607 \n", + "coef_M_17  0.0372  0.0286 \n", + "coef_M_18  0.372  0.0438 \n", + "coef_M_22  0.966  0.0933 \n", + "coef_M_23  0.107  0.0905 \n", + "coef_M_26  0.776  0.129 \n", + "coef_M_27  0.0943  0.0482 \n", + "coef_M_28  0.515  0.0771 \n", + "coef_M_33  0.673  0.0862 \n", + "coef_M_36 -0.00210  NA \n", + "coef_M_37  0.297  3.67e-13 \n", + "coef_M_38  0.225  4.32e-13 \n", + "coef_M_66  0.0422  0.240 \n", + "coef_M_666 -0.671  1.46 \n", + "coef_M_67  0.288  0.360 \n", + "coef_M_68  0.695  0.457 \n", + "coef_M_77  0.703  0.0584 \n", + "coef_M_78  0.141  0.0957 \n", + "coef_M_88  1.33  0.0903 \n", + "coef_M_xxxxx  0.105  0.0498 \n", + "coef_N_11  0.915  0.0816 \n", + "coef_N_112_114  0.104  0.174 \n", + "coef_N_12  0.467  0.111 \n", + "coef_N_124_122_144  0.128  0.143 \n", + "coef_N_13  0.211  0.135 \n", + "coef_N_14  0.0271  0.0720 \n", + "coef_N_15  0.0894  0.0881 \n", + "coef_N_16  0.309  0.223 \n", + "coef_N_166  0.433  0.525 \n", + "coef_N_17  0.280  0.0919 \n", + "coef_N_18  0.299  0.0989 \n", + "coef_N_22  0.867  0.169 \n", + "coef_N_222_224_444 -1.35  0.195 \n", + "coef_N_23  0.165  0.200 \n", + "coef_N_24  0.595  0.0737 \n", + "coef_N_246_226_446 -0.872  5.62 \n", + "coef_N_25 -0.0275  0.107 \n", + "coef_N_26  0.126  0.436 \n", + "coef_N_27  0.734  0.0961 \n", + "coef_N_28  1.05  0.107 \n", + "coef_N_33  0.786  0.165 \n", + "coef_N_34 -0.0511  0.0979 \n", + "coef_N_35  0.390  0.150 \n", + "coef_N_36  1.62  NA \n", + "coef_N_37  0.516  NA \n", + "coef_N_38  0.897  2.96e-13 \n", + "coef_N_44  0.300  0.0996 \n", + "coef_N_45 -0.0902  0.0854 \n", + "coef_N_46  0.680  2.86e-13 \n", + "coef_N_47  0.565  2.67e-13 \n", + "coef_N_48  1.16  2.34e-13 \n", + "coef_N_55  0.729  0.114 \n", + "coef_N_56_57_58  0.292  NA \n", + "coef_N_66  1.60  0.495 \n", + "coef_N_67  1.29  0.673 \n", + "coef_N_68  1.14  0.899 \n", + "coef_N_77  1.28  0.109 \n", + "coef_N_78 -0.421  0.546 \n", + "coef_N_88  0.645  0.151 \n", + "coef_N_xxxxx -0.0446  0.100 \n", + "coef_UNAVAILABLE -999.  0.00 \n", + "coef_child_who_is_in_school_or_too_young_for_sc...  0.139  0.0416 \n", + "coef_driving_age_child_who_is_in_school_asc_M  2.30  0.178 \n", + "coef_driving_age_child_who_is_in_school_asc_N -1.06  0.445 \n", + "coef_driving_age_child_who_is_in_school_interac... -0.132  0.188 \n", + "coef_driving_age_child_who_is_in_school_interac...  0.836  0.168 \n", + "coef_driving_age_child_who_is_in_school_interac... -1.51  0.242 \n", + "coef_driving_age_child_who_is_in_school_interac...  1.53  0.216 \n", + "coef_full_time_worker_asc_M  2.18  0.246 \n", + "coef_full_time_worker_asc_N  0.693  0.0574 \n", + "coef_full_time_worker_interaction_with_age_less...  0.216  0.0389 \n", + "coef_full_time_worker_interaction_with_female_g... -0.124  0.0394 \n", + "coef_full_time_worker_interaction_with_fewer_ca...  0.528  0.0568 \n", + "coef_full_time_worker_interaction_with_income_l... \n", + "coef_full_time_worker_intraction_with_peak_acce...  0.0642  0.0203 \n", + "coef_non_working_adult_asc_N  0.698  0.354 \n", + "coef_non_working_adult_interaction_with_female_... -0.743  3.86e-14 \n", + "coef_non_working_adult_interaction_with_fewer_c...  0.978  0.136 \n", + "coef_non_working_adult_interaction_with_income_... -0.424  0.0839 \n", + "coef_non_working_adult_interaction_with_income_... -0.716  0.104 \n", + "coef_non_working_adult_interaction_with_more_ca...  0.651  NA \n", + "coef_non_working_adult_interaction_with_more_ca...  0.781  0.0828 \n", + "coef_non_working_adult_interaction_with_peak_ac...  0.231  8.76e-15 \n", + "coef_non_working_adult_retired_or_univ_student_...  0.0629  0.0352 \n", + "coef_part_time_worker_asc_M -0.900  0.394 \n", + "coef_part_time_worker_asc_N  0.679  0.0944 \n", + "coef_part_time_worker_interaction_with_income_b... -0.471  0.120 \n", + "coef_part_time_worker_interaction_with_income_l...  0.278  0.126 \n", + "coef_part_time_worker_interaction_with_income_m... -0.488  0.135 \n", + "coef_part_time_worker_interaction_with_income_m...  0.334  0.0734 \n", + "coef_part_time_worker_interaction_with_peak_acc...  0.218  0.0323 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_M  3.24  0.104 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_N -0.0778  0.412 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -0.697  0.112 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -0.605  0.129 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -0.398  0.0834 \n", + "coef_pre_driving_age_child_who_is_in_school_int...  0.676  0.0862 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.587  0.107 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -1.40  0.417 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -0.392  0.0920 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.670  0.0978 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.243  0.134 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -0.708  0.128 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -0.688  0.131 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  0.686  0.0858 \n", + "coef_retired_asc_N  0.439  0.359 \n", + "coef_retired_interaction_with_age_more_than_80_H  0.732  0.0825 \n", + "coef_retired_interaction_with_female_M  0.477  0.00 \n", + "coef_retired_interaction_with_fewer_cars_than_w...  0.649  0.218 \n", + "coef_retired_interaction_with_income_less_than_...  0.483  0.0844 \n", + "coef_retired_interaction_with_more_cars_than_wo...  2.99  0.00 \n", + "coef_retired_interaction_with_more_cars_than_wo...  1.01  0.0884 \n", + "coef_retired_interaction_with_peak_accessibilit...  0.279  0.00 \n", + "coef_university_student_asc_M  2.17  0.0864 \n", + "coef_university_student_asc_N  0.490  0.356 \n", + "coef_full_time_worker_interaction_with_income_b...  0.0541  0.0542 \n", + "coef_full_time_worker_interaction_with_income_l...  0.245  0.0795 \n", + "\n", + " \n", + " t Stat Signif Null Value \n", + "Parameter \n", + "-999.0  NA 0.0 \n", + "coef_H_11  23.40 *** 0.0 \n", + "coef_H_12  7.18 *** 0.0 \n", + "coef_H_124_122_144  2.40 * 0.0 \n", + "coef_H_126_146 -0.03 0.0 \n", + "coef_H_13  9.17 *** 0.0 \n", + "coef_H_14  10.96 *** 0.0 \n", + "coef_H_15  12.86 *** 0.0 \n", + "coef_H_16  17.98 *** 0.0 \n", + "coef_H_17  24.04 *** 0.0 \n", + "coef_H_18  7.42 *** 0.0 \n", + "coef_H_22  7.73 *** 0.0 \n", + "coef_H_222_224_244  0.36 0.0 \n", + "coef_H_226_246_446  0.11 0.0 \n", + "coef_H_23  8.03 *** 0.0 \n", + "coef_H_24  7.24 *** 0.0 \n", + "coef_H_25 -0.27 0.0 \n", + "coef_H_26  11.86 *** 0.0 \n", + "coef_H_266_466  1.91 0.0 \n", + "coef_H_27  5.07 *** 0.0 \n", + "coef_H_28  5.08 *** 0.0 \n", + "coef_H_33  0.82 0.0 \n", + "coef_H_34  11.75 *** 0.0 \n", + "coef_H_35  0.55 0.0 \n", + "coef_H_36  NA 0.0 \n", + "coef_H_37  NA 0.0 \n", + "coef_H_38  BIG *** 0.0 \n", + "coef_H_44  12.30 *** 0.0 \n", + "coef_H_45  8.16 *** 0.0 \n", + "coef_H_46  BIG *** 0.0 \n", + "coef_H_47  NA 0.0 \n", + "coef_H_48  BIG *** 0.0 \n", + "coef_H_55  7.39 *** 0.0 \n", + "coef_H_56_57_58  NA 0.0 \n", + "coef_H_66  4.60 *** 0.0 \n", + "coef_H_67  3.32 *** 0.0 \n", + "coef_H_68  1.83 0.0 \n", + "coef_H_77  30.16 *** 0.0 \n", + "coef_H_78  7.69 *** 0.0 \n", + "coef_H_88  4.40 *** 0.0 \n", + "coef_H_xxxxx -12.88 *** 0.0 \n", + "coef_M_11  0.00 0.0 \n", + "coef_M_111  2.96 ** 0.0 \n", + "coef_M_112_114  3.28 ** 0.0 \n", + "coef_M_12 -1.83 0.0 \n", + "coef_M_13  4.39 *** 0.0 \n", + "coef_M_16  2.63 ** 0.0 \n", + "coef_M_17  1.30 0.0 \n", + "coef_M_18  8.49 *** 0.0 \n", + "coef_M_22  10.36 *** 0.0 \n", + "coef_M_23  1.18 0.0 \n", + "coef_M_26  6.00 *** 0.0 \n", + "coef_M_27  1.95 0.0 \n", + "coef_M_28  6.68 *** 0.0 \n", + "coef_M_33  7.81 *** 0.0 \n", + "coef_M_36  NA 0.0 \n", + "coef_M_37  BIG *** 0.0 \n", + "coef_M_38  BIG *** 0.0 \n", + "coef_M_66  0.18 0.0 \n", + "coef_M_666 -0.46 0.0 \n", + "coef_M_67  0.80 0.0 \n", + "coef_M_68  1.52 0.0 \n", + "coef_M_77  12.03 *** 0.0 \n", + "coef_M_78  1.48 0.0 \n", + "coef_M_88  14.70 *** 0.0 \n", + "coef_M_xxxxx  2.10 * 0.0 \n", + "coef_N_11  11.21 *** 0.0 \n", + "coef_N_112_114  0.60 0.0 \n", + "coef_N_12  4.22 *** 0.0 \n", + "coef_N_124_122_144  0.90 0.0 \n", + "coef_N_13  1.57 0.0 \n", + "coef_N_14  0.38 0.0 \n", + "coef_N_15  1.01 0.0 \n", + "coef_N_16  1.39 0.0 \n", + "coef_N_166  0.82 0.0 \n", + "coef_N_17  3.04 ** 0.0 \n", + "coef_N_18  3.02 ** 0.0 \n", + "coef_N_22  5.14 *** 0.0 \n", + "coef_N_222_224_444 -6.91 *** 0.0 \n", + "coef_N_23  0.83 0.0 \n", + "coef_N_24  8.07 *** 0.0 \n", + "coef_N_246_226_446 -0.16 0.0 \n", + "coef_N_25 -0.26 0.0 \n", + "coef_N_26  0.29 0.0 \n", + "coef_N_27  7.64 *** 0.0 \n", + "coef_N_28  9.85 *** 0.0 \n", + "coef_N_33  4.77 *** 0.0 \n", + "coef_N_34 -0.52 0.0 \n", + "coef_N_35  2.59 ** 0.0 \n", + "coef_N_36  NA 0.0 \n", + "coef_N_37  NA 0.0 \n", + "coef_N_38  BIG *** 0.0 \n", + "coef_N_44  3.01 ** 0.0 \n", + "coef_N_45 -1.06 0.0 \n", + "coef_N_46  BIG *** 0.0 \n", + "coef_N_47  BIG *** 0.0 \n", + "coef_N_48  BIG *** 0.0 \n", + "coef_N_55  6.41 *** 0.0 \n", + "coef_N_56_57_58  NA 0.0 \n", + "coef_N_66  3.23 ** 0.0 \n", + "coef_N_67  1.92 0.0 \n", + "coef_N_68  1.27 0.0 \n", + "coef_N_77  11.68 *** 0.0 \n", + "coef_N_78 -0.77 0.0 \n", + "coef_N_88  4.26 *** 0.0 \n", + "coef_N_xxxxx -0.44 0.0 \n", + "coef_UNAVAILABLE  NA 0.0 \n", + "coef_child_who_is_in_school_or_too_young_for_sc...  3.35 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_asc_M  12.94 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_asc_N -2.39 * 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac... -0.70 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac...  4.96 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac... -6.24 *** 0.0 \n", + "coef_driving_age_child_who_is_in_school_interac...  7.05 *** 0.0 \n", + "coef_full_time_worker_asc_M  8.88 *** 0.0 \n", + "coef_full_time_worker_asc_N  12.07 *** 0.0 \n", + "coef_full_time_worker_interaction_with_age_less...  5.54 *** 0.0 \n", + "coef_full_time_worker_interaction_with_female_g... -3.15 ** 0.0 \n", + "coef_full_time_worker_interaction_with_fewer_ca...  9.29 *** 0.0 \n", + "coef_full_time_worker_interaction_with_income_l... \n", + "coef_full_time_worker_intraction_with_peak_acce...  3.16 ** 0.0 \n", + "coef_non_working_adult_asc_N  1.97 * 0.0 \n", + "coef_non_working_adult_interaction_with_female_... -BIG *** 0.0 \n", + "coef_non_working_adult_interaction_with_fewer_c...  7.19 *** 0.0 \n", + "coef_non_working_adult_interaction_with_income_... -5.05 *** 0.0 \n", + "coef_non_working_adult_interaction_with_income_... -6.89 *** 0.0 \n", + "coef_non_working_adult_interaction_with_more_ca...  NA 0.0 \n", + "coef_non_working_adult_interaction_with_more_ca...  9.43 *** 0.0 \n", + "coef_non_working_adult_interaction_with_peak_ac...  BIG *** 0.0 \n", + "coef_non_working_adult_retired_or_univ_student_...  1.79 0.0 \n", + "coef_part_time_worker_asc_M -2.29 * 0.0 \n", + "coef_part_time_worker_asc_N  7.19 *** 0.0 \n", + "coef_part_time_worker_interaction_with_income_b... -3.93 *** 0.0 \n", + "coef_part_time_worker_interaction_with_income_l...  2.21 * 0.0 \n", + "coef_part_time_worker_interaction_with_income_m... -3.61 *** 0.0 \n", + "coef_part_time_worker_interaction_with_income_m...  4.55 *** 0.0 \n", + "coef_part_time_worker_interaction_with_peak_acc...  6.75 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_M  31.19 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_asc_N -0.19 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -6.19 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -4.69 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int... -4.77 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_in_school_int...  7.84 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  5.47 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -3.36 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -4.27 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  6.85 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  1.82 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -5.52 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for... -5.26 *** 0.0 \n", + "coef_pre_driving_age_child_who_is_too_young_for...  7.99 *** 0.0 \n", + "coef_retired_asc_N  1.22 0.0 \n", + "coef_retired_interaction_with_age_more_than_80_H  8.87 *** 0.0 \n", + "coef_retired_interaction_with_female_M  NA 0.0 \n", + "coef_retired_interaction_with_fewer_cars_than_w...  2.97 ** 0.0 \n", + "coef_retired_interaction_with_income_less_than_...  5.72 *** 0.0 \n", + "coef_retired_interaction_with_more_cars_than_wo...  NA 0.0 \n", + "coef_retired_interaction_with_more_cars_than_wo...  11.45 *** 0.0 \n", + "coef_retired_interaction_with_peak_accessibilit...  NA 0.0 \n", + "coef_university_student_asc_M  25.10 *** 0.0 \n", + "coef_university_student_asc_N  1.38 0.0 \n", + "coef_full_time_worker_interaction_with_income_b...  1.00 0.0 \n", + "coef_full_time_worker_interaction_with_income_l...  3.08 ** 0.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.parameter_summary().data,\n", + " \"model2\": model2.parameter_summary().data,\n", + " }, axis=1).fillna(\"\"))" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3277,7 +6558,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/07_mand_tour_freq.ipynb b/activitysim/examples/example_estimation/notebooks/07_mand_tour_freq.ipynb index 12091fc166..5e444a544c 100644 --- a/activitysim/examples/example_estimation/notebooks/07_mand_tour_freq.ipynb +++ b/activitysim/examples/example_estimation/notebooks/07_mand_tour_freq.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +115,27 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_frequency/mandatory_tour_frequency_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/mandatory_tour_frequency/mandatory_tour_frequency_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_frequency/mandatory_tour_frequency_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"mandatory_tour_frequency\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -743,15 +805,15 @@ " util_driving_age_child\n", " util_pre_driving_age_child\n", " ...\n", - " HSENROLL\n", - " COLLFTE\n", - " COLLPTE\n", - " TOPOLOGY\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", + " auPkTotal\n", + " auOpRetail\n", + " auOpTotal\n", + " trPkRetail\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " override_choice_code\n", " \n", " \n", @@ -781,8 +843,8 @@ " \n", " \n", " \n", - " 629\n", - " 629\n", + " 1918\n", + " 1918\n", " school1\n", " school1\n", " 0.0\n", @@ -793,20 +855,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 1.64217\n", - " 13.280000\n", - " 4.535000\n", - " 3.380567\n", - " False\n", + " 12.295952\n", + " 10.006297\n", + " 12.411522\n", + " 5.033643\n", + " 7.242282\n", + " 4.864150\n", + " 7.063680\n", + " 5.626389\n", + " 7.133756\n", " 3\n", " \n", " \n", - " 1274\n", - " 1274\n", + " 3215\n", + " 3215\n", " school1\n", " school1\n", " 0.0\n", @@ -817,20 +879,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 506.23721\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.44180\n", - " 19.776119\n", - " 7.179104\n", - " 5.267062\n", - " False\n", + " 12.036005\n", + " 9.698240\n", + " 12.156041\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 1.360774\n", + " 5.139792\n", " 3\n", " \n", " \n", - " 27266\n", - " 27266\n", + " 4362\n", + " 4362\n", " school1\n", " school1\n", " 0.0\n", @@ -841,20 +903,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 26.92893\n", - " 2035.58118\n", - " 20.60887\n", - " 2\n", - " 5.22542\n", - " 97.634722\n", - " 550.205552\n", - " 82.920387\n", - " False\n", + " 11.954228\n", + " 9.566058\n", + " 12.139587\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 3.086628\n", + " 5.647842\n", " 3\n", " \n", " \n", - " 28012\n", - " 28012\n", + " 5859\n", + " 5859\n", " school1\n", " school1\n", " 0.0\n", @@ -865,20 +927,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 690.54974\n", - " 0.00000\n", - " 3\n", - " 4.73802\n", - " 117.769796\n", - " 246.205869\n", - " 79.663609\n", - " False\n", + " 12.484185\n", + " 9.994051\n", + " 12.608786\n", + " 2.273060\n", + " 4.760981\n", + " 2.104966\n", + " 4.545843\n", + " 4.254230\n", + " 6.941860\n", " 3\n", " \n", " \n", - " 29476\n", - " 29476\n", + " 6100\n", + " 6100\n", " school1\n", " school1\n", " 0.0\n", @@ -889,15 +951,15 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 0.00000\n", - " 2\n", - " 4.75017\n", - " 71.898080\n", - " 273.023745\n", - " 56.911108\n", - " False\n", + " 12.718182\n", + " 10.233345\n", + " 12.809847\n", + " 3.534863\n", + " 6.375527\n", + " 3.401762\n", + " 6.258096\n", + " 5.240538\n", + " 7.175776\n", " 3\n", " \n", " \n", @@ -925,106 +987,106 @@ " ...\n", " \n", " \n", - " 2823069\n", - " 7514404\n", - " work1\n", - " work1\n", - " 1.0\n", + " 2857869\n", + " 7549204\n", + " school1\n", + " school1\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 3.95752\n", - " 65.596535\n", - " 32.655666\n", - " 21.802041\n", - " True\n", - " 1\n", + " 12.307902\n", + " 10.005144\n", + " 12.585021\n", + " 3.812385\n", + " 6.519807\n", + " 3.632087\n", + " 6.178083\n", + " 3.718425\n", + " 5.556368\n", + " 3\n", " \n", " \n", - " 2823442\n", - " 7514777\n", - " work1\n", - " work1\n", + " 2857903\n", + " 7549238\n", + " school1\n", + " school1\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 0.00000\n", - " 2\n", - " 4.51942\n", - " 56.706023\n", - " 144.861886\n", - " 40.753220\n", - " True\n", - " 1\n", + " 12.309276\n", + " 9.986443\n", + " 12.582868\n", + " 3.319335\n", + " 6.046532\n", + " 3.207581\n", + " 5.829832\n", + " 4.139571\n", + " 6.510036\n", + " 3\n", " \n", " \n", - " 2823850\n", - " 7515185\n", - " work_and_school\n", - " work_and_school\n", + " 2859659\n", + " 7550994\n", + " school1\n", + " school1\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 11.638333\n", + " 9.598840\n", + " 11.963516\n", + " 0.916326\n", + " 3.279901\n", + " 0.315332\n", + " 2.429541\n", + " 3.824743\n", + " 6.768218\n", " 3\n", - " 2.46800\n", - " 0.296858\n", - " 36.296472\n", - " 0.294449\n", - " True\n", - " 5\n", " \n", " \n", - " 2836262\n", - " 7527597\n", + " 2861083\n", + " 7552418\n", " school1\n", " school1\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " ...\n", - " 3961.04761\n", - " 17397.79102\n", - " 11152.93652\n", - " 1\n", - " 2.28992\n", - " 3.984127\n", - " 23.820106\n", - " 3.413233\n", - " False\n", + " 10.447823\n", + " 8.697696\n", + " 10.794293\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 3.679297\n", + " 5.376192\n", " 3\n", " \n", " \n", - " 2849737\n", - " 7541072\n", - " school2\n", - " school2\n", + " 2870568\n", + " 7561903\n", + " school1\n", + " school1\n", " 0.0\n", " 0.0\n", " 1.0\n", @@ -1033,108 +1095,94 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 11.802080\n", + " 9.800589\n", + " 12.206363\n", + " 1.183362\n", + " 3.611805\n", + " 0.897289\n", + " 3.179071\n", + " 5.769691\n", + " 8.087817\n", " 3\n", - " 3.35329\n", - " 34.477273\n", - " 15.454545\n", - " 10.671163\n", - " True\n", - " 4\n", " \n", " \n", "\n", - "

2620 rows × 220 columns

\n", + "

31768 rows × 220 columns

\n", "" ], "text/plain": [ - " person_id model_choice override_choice util_ft_worker \\\n", - "household_id \n", - "629 629 school1 school1 0.0 \n", - "1274 1274 school1 school1 0.0 \n", - "27266 27266 school1 school1 0.0 \n", - "28012 28012 school1 school1 0.0 \n", - "29476 29476 school1 school1 0.0 \n", - "... ... ... ... ... \n", - "2823069 7514404 work1 work1 1.0 \n", - "2823442 7514777 work1 work1 0.0 \n", - "2823850 7515185 work_and_school work_and_school 0.0 \n", - "2836262 7527597 school1 school1 0.0 \n", - "2849737 7541072 school2 school2 0.0 \n", + " person_id model_choice override_choice util_ft_worker \\\n", + "household_id \n", + "1918 1918 school1 school1 0.0 \n", + "3215 3215 school1 school1 0.0 \n", + "4362 4362 school1 school1 0.0 \n", + "5859 5859 school1 school1 0.0 \n", + "6100 6100 school1 school1 0.0 \n", + "... ... ... ... ... \n", + "2857869 7549204 school1 school1 0.0 \n", + "2857903 7549238 school1 school1 0.0 \n", + "2859659 7550994 school1 school1 0.0 \n", + "2861083 7552418 school1 school1 0.0 \n", + "2870568 7561903 school1 school1 0.0 \n", "\n", " util_pt_worker util_univ util_non_working_adult util_retired \\\n", "household_id \n", - "629 0.0 1.0 0.0 0.0 \n", - "1274 0.0 1.0 0.0 0.0 \n", - "27266 0.0 1.0 0.0 0.0 \n", - "28012 0.0 1.0 0.0 0.0 \n", - "29476 0.0 1.0 0.0 0.0 \n", + "1918 0.0 1.0 0.0 0.0 \n", + "3215 0.0 1.0 0.0 0.0 \n", + "4362 0.0 1.0 0.0 0.0 \n", + "5859 0.0 1.0 0.0 0.0 \n", + "6100 0.0 1.0 0.0 0.0 \n", "... ... ... ... ... \n", - "2823069 0.0 0.0 0.0 0.0 \n", - "2823442 0.0 1.0 0.0 0.0 \n", - "2823850 0.0 1.0 0.0 0.0 \n", - "2836262 0.0 1.0 0.0 0.0 \n", - "2849737 0.0 1.0 0.0 0.0 \n", + "2857869 0.0 0.0 0.0 0.0 \n", + "2857903 0.0 0.0 0.0 0.0 \n", + "2859659 0.0 0.0 0.0 0.0 \n", + "2861083 0.0 0.0 0.0 0.0 \n", + "2870568 0.0 1.0 0.0 0.0 \n", "\n", " util_driving_age_child util_pre_driving_age_child ... \\\n", "household_id ... \n", - "629 0.0 0.0 ... \n", - "1274 0.0 0.0 ... \n", - "27266 0.0 0.0 ... \n", - "28012 0.0 0.0 ... \n", - "29476 0.0 0.0 ... \n", + "1918 0.0 0.0 ... \n", + "3215 0.0 0.0 ... \n", + "4362 0.0 0.0 ... \n", + "5859 0.0 0.0 ... \n", + "6100 0.0 0.0 ... \n", "... ... ... ... \n", - "2823069 0.0 0.0 ... \n", - "2823442 0.0 0.0 ... \n", - "2823850 0.0 0.0 ... \n", - "2836262 0.0 0.0 ... \n", - "2849737 0.0 0.0 ... \n", + "2857869 1.0 0.0 ... \n", + "2857903 1.0 0.0 ... \n", + "2859659 1.0 0.0 ... \n", + "2861083 0.0 1.0 ... \n", + "2870568 0.0 0.0 ... \n", "\n", - " HSENROLL COLLFTE COLLPTE TOPOLOGY TERMINAL \\\n", - "household_id \n", - "629 0.00000 0.00000 0.00000 1 1.64217 \n", - "1274 506.23721 0.00000 0.00000 1 2.44180 \n", - "27266 26.92893 2035.58118 20.60887 2 5.22542 \n", - "28012 0.00000 690.54974 0.00000 3 4.73802 \n", - "29476 0.00000 0.00000 0.00000 2 4.75017 \n", - "... ... ... ... ... ... \n", - "2823069 0.00000 0.00000 0.00000 1 3.95752 \n", - "2823442 0.00000 0.00000 0.00000 2 4.51942 \n", - "2823850 0.00000 0.00000 0.00000 3 2.46800 \n", - "2836262 3961.04761 17397.79102 11152.93652 1 2.28992 \n", - "2849737 0.00000 0.00000 0.00000 3 3.35329 \n", + " auPkTotal auOpRetail auOpTotal trPkRetail trPkTotal \\\n", + "household_id \n", + "1918 12.295952 10.006297 12.411522 5.033643 7.242282 \n", + "3215 12.036005 9.698240 12.156041 0.000000 0.000000 \n", + "4362 11.954228 9.566058 12.139587 0.000000 0.000000 \n", + "5859 12.484185 9.994051 12.608786 2.273060 4.760981 \n", + "6100 12.718182 10.233345 12.809847 3.534863 6.375527 \n", + "... ... ... ... ... ... \n", + "2857869 12.307902 10.005144 12.585021 3.812385 6.519807 \n", + "2857903 12.309276 9.986443 12.582868 3.319335 6.046532 \n", + "2859659 11.638333 9.598840 11.963516 0.916326 3.279901 \n", + "2861083 10.447823 8.697696 10.794293 0.000000 0.000000 \n", + "2870568 11.802080 9.800589 12.206363 1.183362 3.611805 \n", "\n", - " household_density employment_density density_index is_cbd \\\n", - "household_id \n", - "629 13.280000 4.535000 3.380567 False \n", - "1274 19.776119 7.179104 5.267062 False \n", - "27266 97.634722 550.205552 82.920387 False \n", - "28012 117.769796 246.205869 79.663609 False \n", - "29476 71.898080 273.023745 56.911108 False \n", - "... ... ... ... ... \n", - "2823069 65.596535 32.655666 21.802041 True \n", - "2823442 56.706023 144.861886 40.753220 True \n", - "2823850 0.296858 36.296472 0.294449 True \n", - "2836262 3.984127 23.820106 3.413233 False \n", - "2849737 34.477273 15.454545 10.671163 True \n", + " trOpRetail trOpTotal nmRetail nmTotal override_choice_code \n", + "household_id \n", + "1918 4.864150 7.063680 5.626389 7.133756 3 \n", + "3215 0.000000 0.000000 1.360774 5.139792 3 \n", + "4362 0.000000 0.000000 3.086628 5.647842 3 \n", + "5859 2.104966 4.545843 4.254230 6.941860 3 \n", + "6100 3.401762 6.258096 5.240538 7.175776 3 \n", + "... ... ... ... ... ... \n", + "2857869 3.632087 6.178083 3.718425 5.556368 3 \n", + "2857903 3.207581 5.829832 4.139571 6.510036 3 \n", + "2859659 0.315332 2.429541 3.824743 6.768218 3 \n", + "2861083 0.000000 0.000000 3.679297 5.376192 3 \n", + "2870568 0.897289 3.179071 5.769691 8.087817 3 \n", "\n", - " override_choice_code \n", - "household_id \n", - "629 3 \n", - "1274 3 \n", - "27266 3 \n", - "28012 3 \n", - "29476 3 \n", - "... ... \n", - "2823069 1 \n", - "2823442 1 \n", - "2823850 5 \n", - "2836262 3 \n", - "2849737 4 \n", - "\n", - "[2620 rows x 220 columns]" + "[31768 rows x 220 columns]" ] }, "execution_count": 6, @@ -1160,17 +1208,10 @@ "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 050 [Optimization terminated successfully]

" + "

Iteration 034 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1182,7 +1223,7 @@ { "data": { "text/html": [ - "

Best LL = -410.2201502048449

" + "

Best LL = -4677.236180934496

" ], "text/plain": [ "" @@ -1213,823 +1254,783 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " 0\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_can_walk_to_work_and_school\n", - " 0.071630\n", + " 0.284832\n", + " 0.284832\n", " 0.1391\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.071630\n", " \n", " \n", " coef_can_walk_to_work_school2\n", - " 1.368092\n", + " 0.811379\n", + " 0.811379\n", " 0.7114\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.368092\n", " \n", " \n", " coef_can_walk_to_work_work2\n", - " 0.651120\n", + " 0.600928\n", + " 0.600928\n", " 0.5268\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.651120\n", " \n", " \n", " coef_driving_age_child_school2_asc\n", - " -13.067731\n", + " -3.209418\n", + " -3.209418\n", " -3.1360\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -13.067731\n", " \n", " \n", " coef_driving_age_child_work_and_school_asc\n", - " -12.605997\n", + " -4.565091\n", + " -4.565091\n", " -4.4362\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -12.605997\n", " \n", " \n", " coef_female_school1\n", - " 0.247086\n", + " 0.000463\n", + " 0.000463\n", " 0.1592\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.247086\n", " \n", " \n", " coef_female_school2\n", - " -0.301339\n", + " -0.016856\n", + " -0.016856\n", " 0.1140\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.301339\n", " \n", " \n", " coef_female_work1\n", - " -2.242748\n", + " 0.333342\n", + " 0.333342\n", " 0.1737\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.242748\n", " \n", " \n", " coef_female_work2\n", - " -0.387411\n", + " -0.219862\n", + " -0.219862\n", " -0.2255\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.387411\n", " \n", " \n", " coef_female_work_and_school\n", - " -3.218280\n", + " -0.265847\n", + " -0.265847\n", " -0.3442\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3.218280\n", " \n", " \n", " coef_few_cars_than_drivers_school2\n", - " -0.862451\n", + " -0.297623\n", + " -0.297623\n", " -0.5759\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.862451\n", " \n", " \n", " coef_ft_worker_work2_asc\n", - " -5.517933\n", + " -3.494595\n", + " -3.494595\n", " -3.3781\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5.517933\n", " \n", " \n", " coef_hh_income_gt_50k_school1\n", " 0.034700\n", + " 0.034700\n", " 0.0347\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.034700\n", " \n", " \n", " coef_hh_income_gt_50k_student_work_and_school\n", - " -0.921175\n", + " -0.128428\n", + " -0.128428\n", " -0.0528\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.921175\n", " \n", " \n", " coef_hh_income_gt_50k_work\n", - " -1.418551\n", + " -0.286159\n", + " -0.286159\n", " -0.0528\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.418551\n", " \n", " \n", " coef_hh_income_gt_50k_worker_work_and_school\n", " 0.034700\n", + " 0.034700\n", " 0.0347\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.034700\n", " \n", " \n", " coef_home_urban_school1\n", " -0.136100\n", + " -0.136100\n", " -0.1361\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.136100\n", " \n", " \n", " coef_home_urban_school2\n", - " -8.455615\n", + " 0.161745\n", + " 0.161745\n", " 0.3170\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -8.455615\n", " \n", " \n", " coef_home_urban_work1\n", - " 4.026796\n", + " -0.122770\n", + " -0.122770\n", " -0.2831\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4.026796\n", " \n", " \n", " coef_home_urban_work2\n", - " 2.624854\n", + " 0.142218\n", + " 0.142218\n", " 0.2308\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.624854\n", " \n", " \n", " coef_home_urban_work_and_school\n", - " -0.447070\n", + " -0.436835\n", + " -0.436835\n", " -0.3509\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.447070\n", " \n", " \n", " coef_no_cars_in_hh_school2\n", - " -0.620465\n", + " -1.479517\n", + " -1.479517\n", " -1.4130\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.620465\n", " \n", " \n", " coef_no_cars_in_hh_work2\n", - " -0.725967\n", + " -1.524960\n", + " -1.524960\n", " -1.3060\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.725967\n", " \n", " \n", " coef_no_cars_in_hh_work_and_school\n", - " -0.775934\n", + " -1.244512\n", + " -1.244512\n", " -1.3020\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.775934\n", " \n", " \n", " coef_non_family_hh_category1\n", " -0.250000\n", + " -0.250000\n", " -0.2500\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.250000\n", " \n", " \n", " coef_non_family_hh_category2\n", - " 5.000771\n", + " -0.091298\n", + " -0.091298\n", " -0.1792\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 5.000771\n", " \n", " \n", " coef_non_student_goes_to_school\n", " 3.883000\n", + " 3.883000\n", " 3.8830\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3.883000\n", " \n", " \n", " coef_num_non_workers_in_hh_school1\n", " 0.257400\n", + " 0.257400\n", " 0.2574\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.257400\n", " \n", " \n", " coef_num_preschool_in_hh_school1\n", " -0.133500\n", + " -0.133500\n", " -0.1335\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.133500\n", " \n", " \n", " coef_num_preschool_in_hh_school2\n", - " 0.356660\n", + " -0.796350\n", + " -0.796350\n", " -0.5577\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.356660\n", " \n", " \n", " coef_num_preschool_in_hh_work1\n", - " -2.930501\n", + " 0.125045\n", + " 0.125045\n", " 0.2191\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.930501\n", " \n", " \n", " coef_num_preschool_in_hh_work2\n", - " 0.225173\n", + " -0.126183\n", + " -0.126183\n", " -0.1478\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.225173\n", " \n", " \n", " coef_num_preschool_in_hh_work_and_school\n", - " -29.197569\n", + " -0.070125\n", + " -0.070125\n", " -0.1251\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -29.197569\n", " \n", " \n", " coef_num_under_16_not_at_school_school2\n", - " -0.638293\n", + " -0.015345\n", + " -0.015345\n", " 0.0866\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.638293\n", " \n", " \n", " coef_num_under_16_not_at_school_work2\n", - " -0.118991\n", + " 0.168260\n", + " 0.168260\n", " 0.1804\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.118991\n", " \n", " \n", " coef_num_under_16_not_at_school_work_and_school\n", - " -15.357907\n", + " -0.192330\n", + " -0.192330\n", " -0.1955\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -15.357907\n", " \n", " \n", " coef_pre_driving_age_child_school2_asc\n", - " 3.679726\n", + " -4.210709\n", + " -4.210709\n", " -3.9703\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3.679726\n", " \n", " \n", " coef_pt_worker_work2_asc\n", - " -4.743242\n", + " -3.079547\n", + " -3.079547\n", " -3.0476\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.743242\n", " \n", " \n", " coef_round_trip_auto_time_to_work_school2\n", - " 0.064411\n", + " -0.005959\n", + " -0.005959\n", " -0.0034\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.064411\n", " \n", " \n", " coef_round_trip_auto_time_to_work_work2\n", - " -0.025905\n", + " -0.001855\n", + " -0.001855\n", " -0.0035\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.025905\n", " \n", " \n", " coef_round_trip_auto_time_to_work_work_and_school\n", - " -0.021804\n", + " -0.002208\n", + " -0.002208\n", " -0.0031\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.021804\n", " \n", " \n", " coef_student_employed\n", - " 13.457255\n", + " 2.918973\n", + " 2.918973\n", " 3.0140\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 13.457255\n", " \n", " \n", " coef_unavailable\n", " -999.000000\n", + " -999.000000\n", " -999.0000\n", + " -999.0\n", + " -999.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_under_35_school1\n", " 0.721800\n", + " 0.721800\n", " 0.7218\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.721800\n", " \n", " \n", " coef_under_35_school2\n", - " 15.011164\n", + " 1.230550\n", + " 1.230550\n", " 1.2750\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 15.011164\n", " \n", " \n", " coef_under_35_work1\n", - " 1.038242\n", + " -0.458863\n", + " -0.458863\n", " -0.4629\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.038242\n", " \n", " \n", " coef_under_35_work2\n", - " -0.253875\n", + " 0.005614\n", + " 0.005614\n", " -0.1375\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.253875\n", " \n", " \n", " coef_under_35_work_and_school\n", - " 2.257035\n", + " 1.149726\n", + " 1.149726\n", " 0.9761\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.257035\n", " \n", " \n", " coef_univ_school2_asc\n", - " -10.233810\n", + " -3.640737\n", + " -3.640737\n", " -3.7429\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -10.233810\n", " \n", " \n", " coef_univ_work1_asc\n", - " 6.475896\n", + " 2.209708\n", + " 2.209708\n", " 2.1660\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 6.475896\n", " \n", " \n", " coef_univ_work2_asc\n", - " 4.833029\n", + " -1.472430\n", + " -1.472430\n", " -1.3965\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4.833029\n", " \n", " \n", " coef_univ_work_and_school_asc\n", - " 8.180927\n", + " 0.173386\n", + " 0.173386\n", " 0.1073\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 8.180927\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "0 0.000000 0.0000 \n", - "coef_can_walk_to_work_and_school 0.071630 0.1391 \n", - "coef_can_walk_to_work_school2 1.368092 0.7114 \n", - "coef_can_walk_to_work_work2 0.651120 0.5268 \n", - "coef_driving_age_child_school2_asc -13.067731 -3.1360 \n", - "coef_driving_age_child_work_and_school_asc -12.605997 -4.4362 \n", - "coef_female_school1 0.247086 0.1592 \n", - "coef_female_school2 -0.301339 0.1140 \n", - "coef_female_work1 -2.242748 0.1737 \n", - "coef_female_work2 -0.387411 -0.2255 \n", - "coef_female_work_and_school -3.218280 -0.3442 \n", - "coef_few_cars_than_drivers_school2 -0.862451 -0.5759 \n", - "coef_ft_worker_work2_asc -5.517933 -3.3781 \n", - "coef_hh_income_gt_50k_school1 0.034700 0.0347 \n", - "coef_hh_income_gt_50k_student_work_and_school -0.921175 -0.0528 \n", - "coef_hh_income_gt_50k_work -1.418551 -0.0528 \n", - "coef_hh_income_gt_50k_worker_work_and_school 0.034700 0.0347 \n", - "coef_home_urban_school1 -0.136100 -0.1361 \n", - "coef_home_urban_school2 -8.455615 0.3170 \n", - "coef_home_urban_work1 4.026796 -0.2831 \n", - "coef_home_urban_work2 2.624854 0.2308 \n", - "coef_home_urban_work_and_school -0.447070 -0.3509 \n", - "coef_no_cars_in_hh_school2 -0.620465 -1.4130 \n", - "coef_no_cars_in_hh_work2 -0.725967 -1.3060 \n", - "coef_no_cars_in_hh_work_and_school -0.775934 -1.3020 \n", - "coef_non_family_hh_category1 -0.250000 -0.2500 \n", - "coef_non_family_hh_category2 5.000771 -0.1792 \n", - "coef_non_student_goes_to_school 3.883000 3.8830 \n", - "coef_num_non_workers_in_hh_school1 0.257400 0.2574 \n", - "coef_num_preschool_in_hh_school1 -0.133500 -0.1335 \n", - "coef_num_preschool_in_hh_school2 0.356660 -0.5577 \n", - "coef_num_preschool_in_hh_work1 -2.930501 0.2191 \n", - "coef_num_preschool_in_hh_work2 0.225173 -0.1478 \n", - "coef_num_preschool_in_hh_work_and_school -29.197569 -0.1251 \n", - "coef_num_under_16_not_at_school_school2 -0.638293 0.0866 \n", - "coef_num_under_16_not_at_school_work2 -0.118991 0.1804 \n", - "coef_num_under_16_not_at_school_work_and_school -15.357907 -0.1955 \n", - "coef_pre_driving_age_child_school2_asc 3.679726 -3.9703 \n", - "coef_pt_worker_work2_asc -4.743242 -3.0476 \n", - "coef_round_trip_auto_time_to_work_school2 0.064411 -0.0034 \n", - "coef_round_trip_auto_time_to_work_work2 -0.025905 -0.0035 \n", - "coef_round_trip_auto_time_to_work_work_and_school -0.021804 -0.0031 \n", - "coef_student_employed 13.457255 3.0140 \n", - "coef_unavailable -999.000000 -999.0000 \n", - "coef_under_35_school1 0.721800 0.7218 \n", - "coef_under_35_school2 15.011164 1.2750 \n", - "coef_under_35_work1 1.038242 -0.4629 \n", - "coef_under_35_work2 -0.253875 -0.1375 \n", - "coef_under_35_work_and_school 2.257035 0.9761 \n", - "coef_univ_school2_asc -10.233810 -3.7429 \n", - "coef_univ_work1_asc 6.475896 2.1660 \n", - "coef_univ_work2_asc 4.833029 -1.3965 \n", - "coef_univ_work_and_school_asc 8.180927 0.1073 \n", + " value best \\\n", + "param_name \n", + "0 0.000000 0.000000 \n", + "coef_can_walk_to_work_and_school 0.284832 0.284832 \n", + "coef_can_walk_to_work_school2 0.811379 0.811379 \n", + "coef_can_walk_to_work_work2 0.600928 0.600928 \n", + "coef_driving_age_child_school2_asc -3.209418 -3.209418 \n", + "coef_driving_age_child_work_and_school_asc -4.565091 -4.565091 \n", + "coef_female_school1 0.000463 0.000463 \n", + "coef_female_school2 -0.016856 -0.016856 \n", + "coef_female_work1 0.333342 0.333342 \n", + "coef_female_work2 -0.219862 -0.219862 \n", + "coef_female_work_and_school -0.265847 -0.265847 \n", + "coef_few_cars_than_drivers_school2 -0.297623 -0.297623 \n", + "coef_ft_worker_work2_asc -3.494595 -3.494595 \n", + "coef_hh_income_gt_50k_school1 0.034700 0.034700 \n", + "coef_hh_income_gt_50k_student_work_and_school -0.128428 -0.128428 \n", + "coef_hh_income_gt_50k_work -0.286159 -0.286159 \n", + "coef_hh_income_gt_50k_worker_work_and_school 0.034700 0.034700 \n", + "coef_home_urban_school1 -0.136100 -0.136100 \n", + "coef_home_urban_school2 0.161745 0.161745 \n", + "coef_home_urban_work1 -0.122770 -0.122770 \n", + "coef_home_urban_work2 0.142218 0.142218 \n", + "coef_home_urban_work_and_school -0.436835 -0.436835 \n", + "coef_no_cars_in_hh_school2 -1.479517 -1.479517 \n", + "coef_no_cars_in_hh_work2 -1.524960 -1.524960 \n", + "coef_no_cars_in_hh_work_and_school -1.244512 -1.244512 \n", + "coef_non_family_hh_category1 -0.250000 -0.250000 \n", + "coef_non_family_hh_category2 -0.091298 -0.091298 \n", + "coef_non_student_goes_to_school 3.883000 3.883000 \n", + "coef_num_non_workers_in_hh_school1 0.257400 0.257400 \n", + "coef_num_preschool_in_hh_school1 -0.133500 -0.133500 \n", + "coef_num_preschool_in_hh_school2 -0.796350 -0.796350 \n", + "coef_num_preschool_in_hh_work1 0.125045 0.125045 \n", + "coef_num_preschool_in_hh_work2 -0.126183 -0.126183 \n", + "coef_num_preschool_in_hh_work_and_school -0.070125 -0.070125 \n", + "coef_num_under_16_not_at_school_school2 -0.015345 -0.015345 \n", + "coef_num_under_16_not_at_school_work2 0.168260 0.168260 \n", + "coef_num_under_16_not_at_school_work_and_school -0.192330 -0.192330 \n", + "coef_pre_driving_age_child_school2_asc -4.210709 -4.210709 \n", + "coef_pt_worker_work2_asc -3.079547 -3.079547 \n", + "coef_round_trip_auto_time_to_work_school2 -0.005959 -0.005959 \n", + "coef_round_trip_auto_time_to_work_work2 -0.001855 -0.001855 \n", + "coef_round_trip_auto_time_to_work_work_and_school -0.002208 -0.002208 \n", + "coef_student_employed 2.918973 2.918973 \n", + "coef_unavailable -999.000000 -999.000000 \n", + "coef_under_35_school1 0.721800 0.721800 \n", + "coef_under_35_school2 1.230550 1.230550 \n", + "coef_under_35_work1 -0.458863 -0.458863 \n", + "coef_under_35_work2 0.005614 0.005614 \n", + "coef_under_35_work_and_school 1.149726 1.149726 \n", + "coef_univ_school2_asc -3.640737 -3.640737 \n", + "coef_univ_work1_asc 2.209708 2.209708 \n", + "coef_univ_work2_asc -1.472430 -1.472430 \n", + "coef_univ_work_and_school_asc 0.173386 0.173386 \n", "\n", - " nullvalue minimum \\\n", - "0 0.0 0.0 \n", - "coef_can_walk_to_work_and_school 0.0 NaN \n", - "coef_can_walk_to_work_school2 0.0 NaN \n", - "coef_can_walk_to_work_work2 0.0 NaN \n", - "coef_driving_age_child_school2_asc 0.0 NaN \n", - "coef_driving_age_child_work_and_school_asc 0.0 NaN \n", - "coef_female_school1 0.0 NaN \n", - "coef_female_school2 0.0 NaN \n", - "coef_female_work1 0.0 NaN \n", - "coef_female_work2 0.0 NaN \n", - "coef_female_work_and_school 0.0 NaN \n", - "coef_few_cars_than_drivers_school2 0.0 NaN \n", - "coef_ft_worker_work2_asc 0.0 NaN \n", - "coef_hh_income_gt_50k_school1 0.0 NaN \n", - "coef_hh_income_gt_50k_student_work_and_school 0.0 NaN \n", - "coef_hh_income_gt_50k_work 0.0 NaN \n", - "coef_hh_income_gt_50k_worker_work_and_school 0.0 NaN \n", - "coef_home_urban_school1 0.0 NaN \n", - "coef_home_urban_school2 0.0 NaN \n", - "coef_home_urban_work1 0.0 NaN \n", - "coef_home_urban_work2 0.0 NaN \n", - "coef_home_urban_work_and_school 0.0 NaN \n", - "coef_no_cars_in_hh_school2 0.0 NaN \n", - "coef_no_cars_in_hh_work2 0.0 NaN \n", - "coef_no_cars_in_hh_work_and_school 0.0 NaN \n", - "coef_non_family_hh_category1 0.0 NaN \n", - "coef_non_family_hh_category2 0.0 NaN \n", - "coef_non_student_goes_to_school 0.0 NaN \n", - "coef_num_non_workers_in_hh_school1 0.0 NaN \n", - "coef_num_preschool_in_hh_school1 0.0 NaN \n", - "coef_num_preschool_in_hh_school2 0.0 NaN \n", - "coef_num_preschool_in_hh_work1 0.0 NaN \n", - "coef_num_preschool_in_hh_work2 0.0 NaN \n", - "coef_num_preschool_in_hh_work_and_school 0.0 NaN \n", - "coef_num_under_16_not_at_school_school2 0.0 NaN \n", - "coef_num_under_16_not_at_school_work2 0.0 NaN \n", - "coef_num_under_16_not_at_school_work_and_school 0.0 NaN \n", - "coef_pre_driving_age_child_school2_asc 0.0 NaN \n", - "coef_pt_worker_work2_asc 0.0 NaN \n", - "coef_round_trip_auto_time_to_work_school2 0.0 NaN \n", - "coef_round_trip_auto_time_to_work_work2 0.0 NaN \n", - "coef_round_trip_auto_time_to_work_work_and_school 0.0 NaN \n", - "coef_student_employed 0.0 NaN \n", - "coef_unavailable 0.0 NaN \n", - "coef_under_35_school1 0.0 NaN \n", - "coef_under_35_school2 0.0 NaN \n", - "coef_under_35_work1 0.0 NaN \n", - "coef_under_35_work2 0.0 NaN \n", - "coef_under_35_work_and_school 0.0 NaN \n", - "coef_univ_school2_asc 0.0 NaN \n", - "coef_univ_work1_asc 0.0 NaN \n", - "coef_univ_work2_asc 0.0 NaN \n", - "coef_univ_work_and_school_asc 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "0 0.0000 0.0 \n", + "coef_can_walk_to_work_and_school 0.1391 -50.0 \n", + "coef_can_walk_to_work_school2 0.7114 -50.0 \n", + "coef_can_walk_to_work_work2 0.5268 -50.0 \n", + "coef_driving_age_child_school2_asc -3.1360 -50.0 \n", + "coef_driving_age_child_work_and_school_asc -4.4362 -50.0 \n", + "coef_female_school1 0.1592 -50.0 \n", + "coef_female_school2 0.1140 -50.0 \n", + "coef_female_work1 0.1737 -50.0 \n", + "coef_female_work2 -0.2255 -50.0 \n", + "coef_female_work_and_school -0.3442 -50.0 \n", + "coef_few_cars_than_drivers_school2 -0.5759 -50.0 \n", + "coef_ft_worker_work2_asc -3.3781 -50.0 \n", + "coef_hh_income_gt_50k_school1 0.0347 -50.0 \n", + "coef_hh_income_gt_50k_student_work_and_school -0.0528 -50.0 \n", + "coef_hh_income_gt_50k_work -0.0528 -50.0 \n", + "coef_hh_income_gt_50k_worker_work_and_school 0.0347 -50.0 \n", + "coef_home_urban_school1 -0.1361 -50.0 \n", + "coef_home_urban_school2 0.3170 -50.0 \n", + "coef_home_urban_work1 -0.2831 -50.0 \n", + "coef_home_urban_work2 0.2308 -50.0 \n", + "coef_home_urban_work_and_school -0.3509 -50.0 \n", + "coef_no_cars_in_hh_school2 -1.4130 -50.0 \n", + "coef_no_cars_in_hh_work2 -1.3060 -50.0 \n", + "coef_no_cars_in_hh_work_and_school -1.3020 -50.0 \n", + "coef_non_family_hh_category1 -0.2500 -50.0 \n", + "coef_non_family_hh_category2 -0.1792 -50.0 \n", + "coef_non_student_goes_to_school 3.8830 -50.0 \n", + "coef_num_non_workers_in_hh_school1 0.2574 -50.0 \n", + "coef_num_preschool_in_hh_school1 -0.1335 -50.0 \n", + "coef_num_preschool_in_hh_school2 -0.5577 -50.0 \n", + "coef_num_preschool_in_hh_work1 0.2191 -50.0 \n", + "coef_num_preschool_in_hh_work2 -0.1478 -50.0 \n", + "coef_num_preschool_in_hh_work_and_school -0.1251 -50.0 \n", + "coef_num_under_16_not_at_school_school2 0.0866 -50.0 \n", + "coef_num_under_16_not_at_school_work2 0.1804 -50.0 \n", + "coef_num_under_16_not_at_school_work_and_school -0.1955 -50.0 \n", + "coef_pre_driving_age_child_school2_asc -3.9703 -50.0 \n", + "coef_pt_worker_work2_asc -3.0476 -50.0 \n", + "coef_round_trip_auto_time_to_work_school2 -0.0034 -50.0 \n", + "coef_round_trip_auto_time_to_work_work2 -0.0035 -50.0 \n", + "coef_round_trip_auto_time_to_work_work_and_school -0.0031 -50.0 \n", + "coef_student_employed 3.0140 -50.0 \n", + "coef_unavailable -999.0000 -999.0 \n", + "coef_under_35_school1 0.7218 -50.0 \n", + "coef_under_35_school2 1.2750 -50.0 \n", + "coef_under_35_work1 -0.4629 -50.0 \n", + "coef_under_35_work2 -0.1375 -50.0 \n", + "coef_under_35_work_and_school 0.9761 -50.0 \n", + "coef_univ_school2_asc -3.7429 -50.0 \n", + "coef_univ_work1_asc 2.1660 -50.0 \n", + "coef_univ_work2_asc -1.3965 -50.0 \n", + "coef_univ_work_and_school_asc 0.1073 -50.0 \n", "\n", - " maximum holdfast note \\\n", - "0 0.0 1 \n", - "coef_can_walk_to_work_and_school NaN 0 \n", - "coef_can_walk_to_work_school2 NaN 0 \n", - "coef_can_walk_to_work_work2 NaN 0 \n", - "coef_driving_age_child_school2_asc NaN 0 \n", - "coef_driving_age_child_work_and_school_asc NaN 0 \n", - "coef_female_school1 NaN 0 \n", - "coef_female_school2 NaN 0 \n", - "coef_female_work1 NaN 0 \n", - "coef_female_work2 NaN 0 \n", - "coef_female_work_and_school NaN 0 \n", - "coef_few_cars_than_drivers_school2 NaN 0 \n", - "coef_ft_worker_work2_asc NaN 0 \n", - "coef_hh_income_gt_50k_school1 NaN 0 \n", - "coef_hh_income_gt_50k_student_work_and_school NaN 0 \n", - "coef_hh_income_gt_50k_work NaN 0 \n", - "coef_hh_income_gt_50k_worker_work_and_school NaN 0 \n", - "coef_home_urban_school1 NaN 0 \n", - "coef_home_urban_school2 NaN 0 \n", - "coef_home_urban_work1 NaN 0 \n", - "coef_home_urban_work2 NaN 0 \n", - "coef_home_urban_work_and_school NaN 0 \n", - "coef_no_cars_in_hh_school2 NaN 0 \n", - "coef_no_cars_in_hh_work2 NaN 0 \n", - "coef_no_cars_in_hh_work_and_school NaN 0 \n", - "coef_non_family_hh_category1 NaN 0 \n", - "coef_non_family_hh_category2 NaN 0 \n", - "coef_non_student_goes_to_school NaN 0 \n", - "coef_num_non_workers_in_hh_school1 NaN 0 \n", - "coef_num_preschool_in_hh_school1 NaN 0 \n", - "coef_num_preschool_in_hh_school2 NaN 0 \n", - "coef_num_preschool_in_hh_work1 NaN 0 \n", - "coef_num_preschool_in_hh_work2 NaN 0 \n", - "coef_num_preschool_in_hh_work_and_school NaN 0 \n", - "coef_num_under_16_not_at_school_school2 NaN 0 \n", - "coef_num_under_16_not_at_school_work2 NaN 0 \n", - "coef_num_under_16_not_at_school_work_and_school NaN 0 \n", - "coef_pre_driving_age_child_school2_asc NaN 0 \n", - "coef_pt_worker_work2_asc NaN 0 \n", - "coef_round_trip_auto_time_to_work_school2 NaN 0 \n", - "coef_round_trip_auto_time_to_work_work2 NaN 0 \n", - "coef_round_trip_auto_time_to_work_work_and_school NaN 0 \n", - "coef_student_employed NaN 0 \n", - "coef_unavailable NaN 1 \n", - "coef_under_35_school1 NaN 0 \n", - "coef_under_35_school2 NaN 0 \n", - "coef_under_35_work1 NaN 0 \n", - "coef_under_35_work2 NaN 0 \n", - "coef_under_35_work_and_school NaN 0 \n", - "coef_univ_school2_asc NaN 0 \n", - "coef_univ_work1_asc NaN 0 \n", - "coef_univ_work2_asc NaN 0 \n", - "coef_univ_work_and_school_asc NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "0 0.0 0.0 \n", + "coef_can_walk_to_work_and_school 50.0 0.0 \n", + "coef_can_walk_to_work_school2 50.0 0.0 \n", + "coef_can_walk_to_work_work2 50.0 0.0 \n", + "coef_driving_age_child_school2_asc 50.0 0.0 \n", + "coef_driving_age_child_work_and_school_asc 50.0 0.0 \n", + "coef_female_school1 50.0 0.0 \n", + "coef_female_school2 50.0 0.0 \n", + "coef_female_work1 50.0 0.0 \n", + "coef_female_work2 50.0 0.0 \n", + "coef_female_work_and_school 50.0 0.0 \n", + "coef_few_cars_than_drivers_school2 50.0 0.0 \n", + "coef_ft_worker_work2_asc 50.0 0.0 \n", + "coef_hh_income_gt_50k_school1 50.0 0.0 \n", + "coef_hh_income_gt_50k_student_work_and_school 50.0 0.0 \n", + "coef_hh_income_gt_50k_work 50.0 0.0 \n", + "coef_hh_income_gt_50k_worker_work_and_school 50.0 0.0 \n", + "coef_home_urban_school1 50.0 0.0 \n", + "coef_home_urban_school2 50.0 0.0 \n", + "coef_home_urban_work1 50.0 0.0 \n", + "coef_home_urban_work2 50.0 0.0 \n", + "coef_home_urban_work_and_school 50.0 0.0 \n", + "coef_no_cars_in_hh_school2 50.0 0.0 \n", + "coef_no_cars_in_hh_work2 50.0 0.0 \n", + "coef_no_cars_in_hh_work_and_school 50.0 0.0 \n", + "coef_non_family_hh_category1 50.0 0.0 \n", + "coef_non_family_hh_category2 50.0 0.0 \n", + "coef_non_student_goes_to_school 50.0 0.0 \n", + "coef_num_non_workers_in_hh_school1 50.0 0.0 \n", + "coef_num_preschool_in_hh_school1 50.0 0.0 \n", + "coef_num_preschool_in_hh_school2 50.0 0.0 \n", + "coef_num_preschool_in_hh_work1 50.0 0.0 \n", + "coef_num_preschool_in_hh_work2 50.0 0.0 \n", + "coef_num_preschool_in_hh_work_and_school 50.0 0.0 \n", + "coef_num_under_16_not_at_school_school2 50.0 0.0 \n", + "coef_num_under_16_not_at_school_work2 50.0 0.0 \n", + "coef_num_under_16_not_at_school_work_and_school 50.0 0.0 \n", + "coef_pre_driving_age_child_school2_asc 50.0 0.0 \n", + "coef_pt_worker_work2_asc 50.0 0.0 \n", + "coef_round_trip_auto_time_to_work_school2 50.0 0.0 \n", + "coef_round_trip_auto_time_to_work_work2 50.0 0.0 \n", + "coef_round_trip_auto_time_to_work_work_and_school 50.0 0.0 \n", + "coef_student_employed 50.0 0.0 \n", + "coef_unavailable -999.0 0.0 \n", + "coef_under_35_school1 50.0 0.0 \n", + "coef_under_35_school2 50.0 0.0 \n", + "coef_under_35_work1 50.0 0.0 \n", + "coef_under_35_work2 50.0 0.0 \n", + "coef_under_35_work_and_school 50.0 0.0 \n", + "coef_univ_school2_asc 50.0 0.0 \n", + "coef_univ_work1_asc 50.0 0.0 \n", + "coef_univ_work2_asc 50.0 0.0 \n", + "coef_univ_work_and_school_asc 50.0 0.0 \n", "\n", - " best \n", - "0 0.000000 \n", - "coef_can_walk_to_work_and_school 0.071630 \n", - "coef_can_walk_to_work_school2 1.368092 \n", - "coef_can_walk_to_work_work2 0.651120 \n", - "coef_driving_age_child_school2_asc -13.067731 \n", - "coef_driving_age_child_work_and_school_asc -12.605997 \n", - "coef_female_school1 0.247086 \n", - "coef_female_school2 -0.301339 \n", - "coef_female_work1 -2.242748 \n", - "coef_female_work2 -0.387411 \n", - "coef_female_work_and_school -3.218280 \n", - "coef_few_cars_than_drivers_school2 -0.862451 \n", - "coef_ft_worker_work2_asc -5.517933 \n", - "coef_hh_income_gt_50k_school1 0.034700 \n", - "coef_hh_income_gt_50k_student_work_and_school -0.921175 \n", - "coef_hh_income_gt_50k_work -1.418551 \n", - "coef_hh_income_gt_50k_worker_work_and_school 0.034700 \n", - "coef_home_urban_school1 -0.136100 \n", - "coef_home_urban_school2 -8.455615 \n", - "coef_home_urban_work1 4.026796 \n", - "coef_home_urban_work2 2.624854 \n", - "coef_home_urban_work_and_school -0.447070 \n", - "coef_no_cars_in_hh_school2 -0.620465 \n", - "coef_no_cars_in_hh_work2 -0.725967 \n", - "coef_no_cars_in_hh_work_and_school -0.775934 \n", - "coef_non_family_hh_category1 -0.250000 \n", - "coef_non_family_hh_category2 5.000771 \n", - "coef_non_student_goes_to_school 3.883000 \n", - "coef_num_non_workers_in_hh_school1 0.257400 \n", - "coef_num_preschool_in_hh_school1 -0.133500 \n", - "coef_num_preschool_in_hh_school2 0.356660 \n", - "coef_num_preschool_in_hh_work1 -2.930501 \n", - "coef_num_preschool_in_hh_work2 0.225173 \n", - "coef_num_preschool_in_hh_work_and_school -29.197569 \n", - "coef_num_under_16_not_at_school_school2 -0.638293 \n", - "coef_num_under_16_not_at_school_work2 -0.118991 \n", - "coef_num_under_16_not_at_school_work_and_school -15.357907 \n", - "coef_pre_driving_age_child_school2_asc 3.679726 \n", - "coef_pt_worker_work2_asc -4.743242 \n", - "coef_round_trip_auto_time_to_work_school2 0.064411 \n", - "coef_round_trip_auto_time_to_work_work2 -0.025905 \n", - "coef_round_trip_auto_time_to_work_work_and_school -0.021804 \n", - "coef_student_employed 13.457255 \n", - "coef_unavailable -999.000000 \n", - "coef_under_35_school1 0.721800 \n", - "coef_under_35_school2 15.011164 \n", - "coef_under_35_work1 1.038242 \n", - "coef_under_35_work2 -0.253875 \n", - "coef_under_35_work_and_school 2.257035 \n", - "coef_univ_school2_asc -10.233810 \n", - "coef_univ_work1_asc 6.475896 \n", - "coef_univ_work2_asc 4.833029 \n", - "coef_univ_work_and_school_asc 8.180927 " + " holdfast \n", + "param_name \n", + "0 1 \n", + "coef_can_walk_to_work_and_school 0 \n", + "coef_can_walk_to_work_school2 0 \n", + "coef_can_walk_to_work_work2 0 \n", + "coef_driving_age_child_school2_asc 0 \n", + "coef_driving_age_child_work_and_school_asc 0 \n", + "coef_female_school1 0 \n", + "coef_female_school2 0 \n", + "coef_female_work1 0 \n", + "coef_female_work2 0 \n", + "coef_female_work_and_school 0 \n", + "coef_few_cars_than_drivers_school2 0 \n", + "coef_ft_worker_work2_asc 0 \n", + "coef_hh_income_gt_50k_school1 0 \n", + "coef_hh_income_gt_50k_student_work_and_school 0 \n", + "coef_hh_income_gt_50k_work 0 \n", + "coef_hh_income_gt_50k_worker_work_and_school 0 \n", + "coef_home_urban_school1 0 \n", + "coef_home_urban_school2 0 \n", + "coef_home_urban_work1 0 \n", + "coef_home_urban_work2 0 \n", + "coef_home_urban_work_and_school 0 \n", + "coef_no_cars_in_hh_school2 0 \n", + "coef_no_cars_in_hh_work2 0 \n", + "coef_no_cars_in_hh_work_and_school 0 \n", + "coef_non_family_hh_category1 0 \n", + "coef_non_family_hh_category2 0 \n", + "coef_non_student_goes_to_school 0 \n", + "coef_num_non_workers_in_hh_school1 0 \n", + "coef_num_preschool_in_hh_school1 0 \n", + "coef_num_preschool_in_hh_school2 0 \n", + "coef_num_preschool_in_hh_work1 0 \n", + "coef_num_preschool_in_hh_work2 0 \n", + "coef_num_preschool_in_hh_work_and_school 0 \n", + "coef_num_under_16_not_at_school_school2 0 \n", + "coef_num_under_16_not_at_school_work2 0 \n", + "coef_num_under_16_not_at_school_work_and_school 0 \n", + "coef_pre_driving_age_child_school2_asc 0 \n", + "coef_pt_worker_work2_asc 0 \n", + "coef_round_trip_auto_time_to_work_school2 0 \n", + "coef_round_trip_auto_time_to_work_work2 0 \n", + "coef_round_trip_auto_time_to_work_work_and_school 0 \n", + "coef_student_employed 0 \n", + "coef_unavailable 1 \n", + "coef_under_35_school1 0 \n", + "coef_under_35_school2 0 \n", + "coef_under_35_work1 0 \n", + "coef_under_35_work2 0 \n", + "coef_under_35_work_and_school 0 \n", + "coef_univ_school2_asc 0 \n", + "coef_univ_work1_asc 0 \n", + "coef_univ_work2_asc 0 \n", + "coef_univ_work_and_school_asc 0 " ] }, "metadata": {}, @@ -2039,12 +2040,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.771611294971759e-29 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " model.estimate()\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -2064,51 +2061,51 @@ " \n", " \n", " coef_can_walk_to_work_and_school\n", - " 0.071630\n", + " 0.284832\n", " \n", " \n", " coef_can_walk_to_work_school2\n", - " 1.368092\n", + " 0.811379\n", " \n", " \n", " coef_can_walk_to_work_work2\n", - " 0.651120\n", + " 0.600928\n", " \n", " \n", " coef_driving_age_child_school2_asc\n", - " -13.067731\n", + " -3.209418\n", " \n", " \n", " coef_driving_age_child_work_and_school_asc\n", - " -12.605997\n", + " -4.565091\n", " \n", " \n", " coef_female_school1\n", - " 0.247086\n", + " 0.000463\n", " \n", " \n", " coef_female_school2\n", - " -0.301339\n", + " -0.016856\n", " \n", " \n", " coef_female_work1\n", - " -2.242748\n", + " 0.333342\n", " \n", " \n", " coef_female_work2\n", - " -0.387411\n", + " -0.219862\n", " \n", " \n", " coef_female_work_and_school\n", - " -3.218280\n", + " -0.265847\n", " \n", " \n", " coef_few_cars_than_drivers_school2\n", - " -0.862451\n", + " -0.297623\n", " \n", " \n", " coef_ft_worker_work2_asc\n", - " -5.517933\n", + " -3.494595\n", " \n", " \n", " coef_hh_income_gt_50k_school1\n", @@ -2116,11 +2113,11 @@ " \n", " \n", " coef_hh_income_gt_50k_student_work_and_school\n", - " -0.921175\n", + " -0.128428\n", " \n", " \n", " coef_hh_income_gt_50k_work\n", - " -1.418551\n", + " -0.286159\n", " \n", " \n", " coef_hh_income_gt_50k_worker_work_and_school\n", @@ -2132,31 +2129,31 @@ " \n", " \n", " coef_home_urban_school2\n", - " -8.455615\n", + " 0.161745\n", " \n", " \n", " coef_home_urban_work1\n", - " 4.026796\n", + " -0.122770\n", " \n", " \n", " coef_home_urban_work2\n", - " 2.624854\n", + " 0.142218\n", " \n", " \n", " coef_home_urban_work_and_school\n", - " -0.447070\n", + " -0.436835\n", " \n", " \n", " coef_no_cars_in_hh_school2\n", - " -0.620465\n", + " -1.479517\n", " \n", " \n", " coef_no_cars_in_hh_work2\n", - " -0.725967\n", + " -1.524960\n", " \n", " \n", " coef_no_cars_in_hh_work_and_school\n", - " -0.775934\n", + " -1.244512\n", " \n", " \n", " coef_non_family_hh_category1\n", @@ -2164,7 +2161,7 @@ " \n", " \n", " coef_non_family_hh_category2\n", - " 5.000771\n", + " -0.091298\n", " \n", " \n", " coef_non_student_goes_to_school\n", @@ -2180,55 +2177,55 @@ " \n", " \n", " coef_num_preschool_in_hh_school2\n", - " 0.356660\n", + " -0.796350\n", " \n", " \n", " coef_num_preschool_in_hh_work1\n", - " -2.930501\n", + " 0.125045\n", " \n", " \n", " coef_num_preschool_in_hh_work2\n", - " 0.225173\n", + " -0.126183\n", " \n", " \n", " coef_num_preschool_in_hh_work_and_school\n", - " -29.197569\n", + " -0.070125\n", " \n", " \n", " coef_num_under_16_not_at_school_school2\n", - " -0.638293\n", + " -0.015345\n", " \n", " \n", " coef_num_under_16_not_at_school_work2\n", - " -0.118991\n", + " 0.168260\n", " \n", " \n", " coef_num_under_16_not_at_school_work_and_school\n", - " -15.357907\n", + " -0.192330\n", " \n", " \n", " coef_pre_driving_age_child_school2_asc\n", - " 3.679726\n", + " -4.210709\n", " \n", " \n", " coef_pt_worker_work2_asc\n", - " -4.743242\n", + " -3.079547\n", " \n", " \n", " coef_round_trip_auto_time_to_work_school2\n", - " 0.064411\n", + " -0.005959\n", " \n", " \n", " coef_round_trip_auto_time_to_work_work2\n", - " -0.025905\n", + " -0.001855\n", " \n", " \n", " coef_round_trip_auto_time_to_work_work_and_school\n", - " -0.021804\n", + " -0.002208\n", " \n", " \n", " coef_student_employed\n", - " 13.457255\n", + " 2.918973\n", " \n", " \n", " coef_unavailable\n", @@ -2240,38 +2237,38 @@ " \n", " \n", " coef_under_35_school2\n", - " 15.011164\n", + " 1.230550\n", " \n", " \n", " coef_under_35_work1\n", - " 1.038242\n", + " -0.458863\n", " \n", " \n", " coef_under_35_work2\n", - " -0.253875\n", + " 0.005614\n", " \n", " \n", " coef_under_35_work_and_school\n", - " 2.257035\n", + " 1.149726\n", " \n", " \n", " coef_univ_school2_asc\n", - " -10.233810\n", + " -3.640737\n", " \n", " \n", " coef_univ_work1_asc\n", - " 6.475896\n", + " 2.209708\n", " \n", " \n", " coef_univ_work2_asc\n", - " 4.833029\n", + " -1.472430\n", " \n", " \n", " coef_univ_work_and_school_asc\n", - " 8.180927\n", + " 0.173386\n", " \n", " \n", - "loglike-410.2201502048449d_loglike\n", + "
logloss0.1472310558088169d_logloss\n", " \n", " \n", " \n", @@ -2281,340 +2278,340 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
00.000000e+000.000000
coef_can_walk_to_work_and_school-2.159761e-05-0.000048
coef_can_walk_to_work_school2-7.694778e-050.000193
coef_can_walk_to_work_work24.202731e-05-0.000216
coef_driving_age_child_school2_asc-4.255256e-08-0.000081
coef_driving_age_child_work_and_school_asc2.167724e-050.000044
coef_female_school1-6.957308e-05-0.000091
coef_female_school2-2.554309e-040.000133
coef_female_work1-7.357671e-050.000084
coef_female_work28.686757e-05-0.000073
coef_female_work_and_school1.188196e-050.000059
coef_few_cars_than_drivers_school2-2.286678e-040.000044
coef_ft_worker_work2_asc5.501466e-05-0.000349
coef_hh_income_gt_50k_school10.000000e+000.000000
coef_hh_income_gt_50k_student_work_and_school6.367109e-06-0.000180
coef_hh_income_gt_50k_work-1.223654e-050.000049
coef_hh_income_gt_50k_worker_work_and_school0.000000e+000.000000
coef_home_urban_school10.000000e+000.000000
coef_home_urban_school2-1.028755e-040.000081
coef_home_urban_work1-4.465713e-05-0.000036
coef_home_urban_work21.557017e-04-0.000060
coef_home_urban_work_and_school1.077213e-040.000041
coef_no_cars_in_hh_school28.945645e-05-0.000061
coef_no_cars_in_hh_work23.899664e-05-0.000129
coef_no_cars_in_hh_work_and_school-3.695621e-050.000036
coef_non_family_hh_category10.000000e+000.000000
coef_non_family_hh_category21.251878e-100.000057
coef_non_student_goes_to_school0.000000e+000.000000
coef_num_non_workers_in_hh_school10.000000e+000.000000
coef_num_preschool_in_hh_school10.000000e+000.000000
coef_num_preschool_in_hh_school23.508996e-050.000013
coef_num_preschool_in_hh_work1-2.217197e-050.000012
coef_num_preschool_in_hh_work28.498540e-050.000204
coef_num_preschool_in_hh_work_and_school-3.475886e-12-0.000049
coef_num_under_16_not_at_school_school2-8.486532e-050.000086
coef_num_under_16_not_at_school_work2-3.959448e-050.000236
coef_num_under_16_not_at_school_work_and_school-2.351049e-07-0.000025
coef_pre_driving_age_child_school2_asc6.171829e-060.000137
coef_pt_worker_work2_asc1.420463e-04-0.000007
coef_round_trip_auto_time_to_work_school2-4.638296e-030.000126
coef_round_trip_auto_time_to_work_work23.215960e-030.000199
coef_round_trip_auto_time_to_work_work_and_school1.679772e-030.000093
coef_student_employed2.170492e-050.000041
coef_unavailable0.000000e+000.000000
coef_under_35_school10.000000e+000.000000
coef_under_35_school2-1.082319e-04-0.000063
coef_under_35_work1-9.399930e-050.000101
coef_under_35_work27.788570e-05-0.000136
coef_under_35_work_and_school-1.237585e-04-0.000093
coef_univ_school2_asc-1.090048e-040.000045
coef_univ_work1_asc-4.465713e-050.000111
coef_univ_work2_asc-4.135926e-050.000065
coef_univ_work_and_school_asc8.604407e-05-0.000179
nit50nfev84njev50status0message'Optimization terminated successfully'successTrueelapsed_time0:00:03.886165method'slsqp'n_cases2620iteration_number50logloss0.15657257641406294" + "nit34nfev39njev34status0message'Optimization terminated successfully'successTrueelapsed_time0:00:01.181912method'slsqp'n_cases31768iteration_number34loglike-4677.236180934496" ], "text/plain": [ "┣ x: 0 0.000000\n", - "┃ coef_can_walk_to_work_and_school 0.071630\n", - "┃ coef_can_walk_to_work_school2 1.368092\n", - "┃ coef_can_walk_to_work_work2 0.651120\n", - "┃ coef_driving_age_child_school2_asc -13.067731\n", - "┃ coef_driving_age_child_work_and_school_asc -12.605997\n", - "┃ coef_female_school1 0.247086\n", - "┃ coef_female_school2 -0.301339\n", - "┃ coef_female_work1 -2.242748\n", - "┃ coef_female_work2 -0.387411\n", - "┃ coef_female_work_and_school -3.218280\n", - "┃ coef_few_cars_than_drivers_school2 -0.862451\n", - "┃ coef_ft_worker_work2_asc -5.517933\n", + "┃ coef_can_walk_to_work_and_school 0.284832\n", + "┃ coef_can_walk_to_work_school2 0.811379\n", + "┃ coef_can_walk_to_work_work2 0.600928\n", + "┃ coef_driving_age_child_school2_asc -3.209418\n", + "┃ coef_driving_age_child_work_and_school_asc -4.565091\n", + "┃ coef_female_school1 0.000463\n", + "┃ coef_female_school2 -0.016856\n", + "┃ coef_female_work1 0.333342\n", + "┃ coef_female_work2 -0.219862\n", + "┃ coef_female_work_and_school -0.265847\n", + "┃ coef_few_cars_than_drivers_school2 -0.297623\n", + "┃ coef_ft_worker_work2_asc -3.494595\n", "┃ coef_hh_income_gt_50k_school1 0.034700\n", - "┃ coef_hh_income_gt_50k_student_work_and_school -0.921175\n", - "┃ coef_hh_income_gt_50k_work -1.418551\n", + "┃ coef_hh_income_gt_50k_student_work_and_school -0.128428\n", + "┃ coef_hh_income_gt_50k_work -0.286159\n", "┃ coef_hh_income_gt_50k_worker_work_and_school 0.034700\n", "┃ coef_home_urban_school1 -0.136100\n", - "┃ coef_home_urban_school2 -8.455615\n", - "┃ coef_home_urban_work1 4.026796\n", - "┃ coef_home_urban_work2 2.624854\n", - "┃ coef_home_urban_work_and_school -0.447070\n", - "┃ coef_no_cars_in_hh_school2 -0.620465\n", - "┃ coef_no_cars_in_hh_work2 -0.725967\n", - "┃ coef_no_cars_in_hh_work_and_school -0.775934\n", + "┃ coef_home_urban_school2 0.161745\n", + "┃ coef_home_urban_work1 -0.122770\n", + "┃ coef_home_urban_work2 0.142218\n", + "┃ coef_home_urban_work_and_school -0.436835\n", + "┃ coef_no_cars_in_hh_school2 -1.479517\n", + "┃ coef_no_cars_in_hh_work2 -1.524960\n", + "┃ coef_no_cars_in_hh_work_and_school -1.244512\n", "┃ coef_non_family_hh_category1 -0.250000\n", - "┃ coef_non_family_hh_category2 5.000771\n", + "┃ coef_non_family_hh_category2 -0.091298\n", "┃ coef_non_student_goes_to_school 3.883000\n", "┃ coef_num_non_workers_in_hh_school1 0.257400\n", "┃ coef_num_preschool_in_hh_school1 -0.133500\n", - "┃ coef_num_preschool_in_hh_school2 0.356660\n", - "┃ coef_num_preschool_in_hh_work1 -2.930501\n", - "┃ coef_num_preschool_in_hh_work2 0.225173\n", - "┃ coef_num_preschool_in_hh_work_and_school -29.197569\n", - "┃ coef_num_under_16_not_at_school_school2 -0.638293\n", - "┃ coef_num_under_16_not_at_school_work2 -0.118991\n", - "┃ coef_num_under_16_not_at_school_work_and_school -15.357907\n", - "┃ coef_pre_driving_age_child_school2_asc 3.679726\n", - "┃ coef_pt_worker_work2_asc -4.743242\n", - "┃ coef_round_trip_auto_time_to_work_school2 0.064411\n", - "┃ coef_round_trip_auto_time_to_work_work2 -0.025905\n", - "┃ coef_round_trip_auto_time_to_work_work_and_school -0.021804\n", - "┃ coef_student_employed 13.457255\n", + "┃ coef_num_preschool_in_hh_school2 -0.796350\n", + "┃ coef_num_preschool_in_hh_work1 0.125045\n", + "┃ coef_num_preschool_in_hh_work2 -0.126183\n", + "┃ coef_num_preschool_in_hh_work_and_school -0.070125\n", + "┃ coef_num_under_16_not_at_school_school2 -0.015345\n", + "┃ coef_num_under_16_not_at_school_work2 0.168260\n", + "┃ coef_num_under_16_not_at_school_work_and_school -0.192330\n", + "┃ coef_pre_driving_age_child_school2_asc -4.210709\n", + "┃ coef_pt_worker_work2_asc -3.079547\n", + "┃ coef_round_trip_auto_time_to_work_school2 -0.005959\n", + "┃ coef_round_trip_auto_time_to_work_work2 -0.001855\n", + "┃ coef_round_trip_auto_time_to_work_work_and_school -0.002208\n", + "┃ coef_student_employed 2.918973\n", "┃ coef_unavailable -999.000000\n", "┃ coef_under_35_school1 0.721800\n", - "┃ coef_under_35_school2 15.011164\n", - "┃ coef_under_35_work1 1.038242\n", - "┃ coef_under_35_work2 -0.253875\n", - "┃ coef_under_35_work_and_school 2.257035\n", - "┃ coef_univ_school2_asc -10.233810\n", - "┃ coef_univ_work1_asc 6.475896\n", - "┃ coef_univ_work2_asc 4.833029\n", - "┃ coef_univ_work_and_school_asc 8.180927\n", + "┃ coef_under_35_school2 1.230550\n", + "┃ coef_under_35_work1 -0.458863\n", + "┃ coef_under_35_work2 0.005614\n", + "┃ coef_under_35_work_and_school 1.149726\n", + "┃ coef_univ_school2_asc -3.640737\n", + "┃ coef_univ_work1_asc 2.209708\n", + "┃ coef_univ_work2_asc -1.472430\n", + "┃ coef_univ_work_and_school_asc 0.173386\n", "┃ dtype: float64\n", - "┣ loglike: -410.2201502048449\n", - "┣ d_loglike: 0 0.000000e+00\n", - "┃ coef_can_walk_to_work_and_school -2.159761e-05\n", - "┃ coef_can_walk_to_work_school2 -7.694778e-05\n", - "┃ coef_can_walk_to_work_work2 4.202731e-05\n", - "┃ coef_driving_age_child_school2_asc -4.255256e-08\n", - "┃ coef_driving_age_child_work_and_school_asc 2.167724e-05\n", - "┃ coef_female_school1 -6.957308e-05\n", - "┃ coef_female_school2 -2.554309e-04\n", - "┃ coef_female_work1 -7.357671e-05\n", - "┃ coef_female_work2 8.686757e-05\n", - "┃ coef_female_work_and_school 1.188196e-05\n", - "┃ coef_few_cars_than_drivers_school2 -2.286678e-04\n", - "┃ coef_ft_worker_work2_asc 5.501466e-05\n", - "┃ coef_hh_income_gt_50k_school1 0.000000e+00\n", - "┃ coef_hh_income_gt_50k_student_work_and_school 6.367109e-06\n", - "┃ coef_hh_income_gt_50k_work -1.223654e-05\n", - "┃ coef_hh_income_gt_50k_worker_work_and_school 0.000000e+00\n", - "┃ coef_home_urban_school1 0.000000e+00\n", - "┃ coef_home_urban_school2 -1.028755e-04\n", - "┃ coef_home_urban_work1 -4.465713e-05\n", - "┃ coef_home_urban_work2 1.557017e-04\n", - "┃ coef_home_urban_work_and_school 1.077213e-04\n", - "┃ coef_no_cars_in_hh_school2 8.945645e-05\n", - "┃ coef_no_cars_in_hh_work2 3.899664e-05\n", - "┃ coef_no_cars_in_hh_work_and_school -3.695621e-05\n", - "┃ coef_non_family_hh_category1 0.000000e+00\n", - "┃ coef_non_family_hh_category2 1.251878e-10\n", - "┃ coef_non_student_goes_to_school 0.000000e+00\n", - "┃ coef_num_non_workers_in_hh_school1 0.000000e+00\n", - "┃ coef_num_preschool_in_hh_school1 0.000000e+00\n", - "┃ coef_num_preschool_in_hh_school2 3.508996e-05\n", - "┃ coef_num_preschool_in_hh_work1 -2.217197e-05\n", - "┃ coef_num_preschool_in_hh_work2 8.498540e-05\n", - "┃ coef_num_preschool_in_hh_work_and_school -3.475886e-12\n", - "┃ coef_num_under_16_not_at_school_school2 -8.486532e-05\n", - "┃ coef_num_under_16_not_at_school_work2 -3.959448e-05\n", - "┃ coef_num_under_16_not_at_school_work_and_school -2.351049e-07\n", - "┃ coef_pre_driving_age_child_school2_asc 6.171829e-06\n", - "┃ coef_pt_worker_work2_asc 1.420463e-04\n", - "┃ coef_round_trip_auto_time_to_work_school2 -4.638296e-03\n", - "┃ coef_round_trip_auto_time_to_work_work2 3.215960e-03\n", - "┃ coef_round_trip_auto_time_to_work_work_and_school 1.679772e-03\n", - "┃ coef_student_employed 2.170492e-05\n", - "┃ coef_unavailable 0.000000e+00\n", - "┃ coef_under_35_school1 0.000000e+00\n", - "┃ coef_under_35_school2 -1.082319e-04\n", - "┃ coef_under_35_work1 -9.399930e-05\n", - "┃ coef_under_35_work2 7.788570e-05\n", - "┃ coef_under_35_work_and_school -1.237585e-04\n", - "┃ coef_univ_school2_asc -1.090048e-04\n", - "┃ coef_univ_work1_asc -4.465713e-05\n", - "┃ coef_univ_work2_asc -4.135926e-05\n", - "┃ coef_univ_work_and_school_asc 8.604407e-05\n", + "┣ logloss: 0.1472310558088169\n", + "┣ d_logloss: 0 0.000000\n", + "┃ coef_can_walk_to_work_and_school -0.000048\n", + "┃ coef_can_walk_to_work_school2 0.000193\n", + "┃ coef_can_walk_to_work_work2 -0.000216\n", + "┃ coef_driving_age_child_school2_asc -0.000081\n", + "┃ coef_driving_age_child_work_and_school_asc 0.000044\n", + "┃ coef_female_school1 -0.000091\n", + "┃ coef_female_school2 0.000133\n", + "┃ coef_female_work1 0.000084\n", + "┃ coef_female_work2 -0.000073\n", + "┃ coef_female_work_and_school 0.000059\n", + "┃ coef_few_cars_than_drivers_school2 0.000044\n", + "┃ coef_ft_worker_work2_asc -0.000349\n", + "┃ coef_hh_income_gt_50k_school1 0.000000\n", + "┃ coef_hh_income_gt_50k_student_work_and_school -0.000180\n", + "┃ coef_hh_income_gt_50k_work 0.000049\n", + "┃ coef_hh_income_gt_50k_worker_work_and_school 0.000000\n", + "┃ coef_home_urban_school1 0.000000\n", + "┃ coef_home_urban_school2 0.000081\n", + "┃ coef_home_urban_work1 -0.000036\n", + "┃ coef_home_urban_work2 -0.000060\n", + "┃ coef_home_urban_work_and_school 0.000041\n", + "┃ coef_no_cars_in_hh_school2 -0.000061\n", + "┃ coef_no_cars_in_hh_work2 -0.000129\n", + "┃ coef_no_cars_in_hh_work_and_school 0.000036\n", + "┃ coef_non_family_hh_category1 0.000000\n", + "┃ coef_non_family_hh_category2 0.000057\n", + "┃ coef_non_student_goes_to_school 0.000000\n", + "┃ coef_num_non_workers_in_hh_school1 0.000000\n", + "┃ coef_num_preschool_in_hh_school1 0.000000\n", + "┃ coef_num_preschool_in_hh_school2 0.000013\n", + "┃ coef_num_preschool_in_hh_work1 0.000012\n", + "┃ coef_num_preschool_in_hh_work2 0.000204\n", + "┃ coef_num_preschool_in_hh_work_and_school -0.000049\n", + "┃ coef_num_under_16_not_at_school_school2 0.000086\n", + "┃ coef_num_under_16_not_at_school_work2 0.000236\n", + "┃ coef_num_under_16_not_at_school_work_and_school -0.000025\n", + "┃ coef_pre_driving_age_child_school2_asc 0.000137\n", + "┃ coef_pt_worker_work2_asc -0.000007\n", + "┃ coef_round_trip_auto_time_to_work_school2 0.000126\n", + "┃ coef_round_trip_auto_time_to_work_work2 0.000199\n", + "┃ coef_round_trip_auto_time_to_work_work_and_school 0.000093\n", + "┃ coef_student_employed 0.000041\n", + "┃ coef_unavailable 0.000000\n", + "┃ coef_under_35_school1 0.000000\n", + "┃ coef_under_35_school2 -0.000063\n", + "┃ coef_under_35_work1 0.000101\n", + "┃ coef_under_35_work2 -0.000136\n", + "┃ coef_under_35_work_and_school -0.000093\n", + "┃ coef_univ_school2_asc 0.000045\n", + "┃ coef_univ_work1_asc 0.000111\n", + "┃ coef_univ_work2_asc 0.000065\n", + "┃ coef_univ_work_and_school_asc -0.000179\n", "┃ dtype: float64\n", - "┣ nit: 50\n", - "┣ nfev: 84\n", - "┣ njev: 50\n", + "┣ nit: 34\n", + "┣ nfev: 39\n", + "┣ njev: 34\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=3, microseconds=886165)\n", + "┣ elapsed_time: datetime.timedelta(seconds=1, microseconds=181912)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 2620\n", - "┣ iteration_number: 50\n", - "┣ logloss: 0.15657257641406294" + "┣ n_cases: 31768\n", + "┣ iteration_number: 34\n", + "┣ loglike: -4677.236180934496" ] }, "execution_count": 7, @@ -2641,550 +2638,523 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
0 0.00 NA NA NA 0.00fixed value
coef_can_walk_to_work_and_school 0.0716 0.710 0.10 NA 0.00
coef_can_walk_to_work_school2 1.37 0.878 1.56 NA 0.00
coef_can_walk_to_work_work2 0.651 0.397 1.64 NA 0.00
coef_driving_age_child_school2_asc-13.1 4.56e+03-0.00 NA 0.00
coef_driving_age_child_work_and_school_asc-12.6 NA NA[***] 68.07 0.00
coef_female_school1 0.247 1.35 0.18 NA 0.00
coef_female_school2-0.301 0.785-0.38 NA 0.00
coef_female_work1-2.24 1.34-1.68 NA 0.00
coef_female_work2-0.387 0.246-1.57 NA 0.00
coef_female_work_and_school-3.22 1.40-2.30* NA 0.00
coef_few_cars_than_drivers_school2-0.862 0.715-1.21 NA 0.00
coef_ft_worker_work2_asc-5.52 NA NA[***] BIG 0.00
coef_hh_income_gt_50k_school1 0.0347 NA NA[] 0.00 0.00
coef_hh_income_gt_50k_student_work_and_school-0.921 1.85-0.50 NA 0.00
coef_hh_income_gt_50k_work-1.42 1.92-0.74 NA 0.00
coef_hh_income_gt_50k_worker_work_and_school 0.0347 NA NA[] 0.00 0.00
coef_home_urban_school1-0.136 NA NA[] 0.00 0.00
coef_home_urban_school2-8.46 NA NA[***] BIG 0.00
coef_home_urban_work1 4.03 NA NA[***] 165.42 0.00
coef_home_urban_work2 2.62 NA NA[***] 134.83 0.00
coef_home_urban_work_and_school-0.447 NA NA[] 1.59 0.00
coef_no_cars_in_hh_school2-0.620 1.18-0.52 NA 0.00
coef_no_cars_in_hh_work2-0.726 0.336-2.16* NA 0.00
coef_no_cars_in_hh_work_and_school-0.776 0.703-1.10 NA 0.00
coef_non_family_hh_category1-0.250 NA NA[] 0.00 0.00
coef_non_family_hh_category2 5.00 NA NA[] 0.00 0.00
coef_non_student_goes_to_school 3.88 NA NA[] 0.00 0.00
coef_num_non_workers_in_hh_school1 0.257 NA NA[] 0.00 0.00
coef_num_preschool_in_hh_school1-0.134 NA NA[] 0.00 0.00
coef_num_preschool_in_hh_school2 0.357 0.576 0.62 NA 0.00
coef_num_preschool_in_hh_work1-2.93 1.55-1.89 NA 0.00
coef_num_preschool_in_hh_work2 0.225 0.192 1.17 NA 0.00
coef_num_preschool_in_hh_work_and_school-29.2 NA NA[**] 4.26 0.00
coef_num_under_16_not_at_school_school2-0.638 1.02-0.63 NA 0.00
coef_num_under_16_not_at_school_work2-0.119 0.306-0.39 NA 0.00
coef_num_under_16_not_at_school_work_and_school-15.4 2.03e+03-0.01 NA 0.00
coef_pre_driving_age_child_school2_asc 3.68 NA NA[***] 18.81 0.00
coef_pt_worker_work2_asc-4.74 NA NA[***] 562.79 0.00
coef_round_trip_auto_time_to_work_school2 0.0644 0.0331 1.95 NA 0.00
coef_round_trip_auto_time_to_work_work2-0.0259 0.0249-1.04 NA 0.00
coef_round_trip_auto_time_to_work_work_and_school-0.0218 0.0402-0.54 NA 0.00
coef_student_employed 13.5 1.31e+03 0.01 NA 0.00
coef_unavailable-999. NA NA NA 0.00fixed value
coef_under_35_school1 0.722 0.00 NA[] 0.00 0.00
coef_under_35_school2 15.0 1.14e+03 0.01 NA 0.00
coef_under_35_work1 1.04 0.886 1.17 NA 0.00
coef_under_35_work2-0.254 0.245-1.03 NA 0.00
coef_under_35_work_and_school 2.26 1.21 1.87 NA 0.00
coef_univ_school2_asc-10.2 NA NA[***] 556.91 0.00
coef_univ_work1_asc 6.48 NA NA[***] 349.23 0.00
coef_univ_work2_asc 4.83 NA NA[***] 26.10 0.00
coef_univ_work_and_school_asc 8.18 NA NA[***] 132.81 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
0 0.00 0.00 NA 0.00fixed value
coef_can_walk_to_work_and_school 0.285 0.165 1.73 0.00
coef_can_walk_to_work_school2 0.811 0.163 4.97*** 0.00
coef_can_walk_to_work_work2 0.601 0.103 5.81*** 0.00
coef_driving_age_child_school2_asc-3.21 0.230-13.96*** 0.00
coef_driving_age_child_work_and_school_asc-4.57 889.-0.01 0.00
coef_female_school1 0.000463 0.265 0.00 0.00
coef_female_school2-0.0169 0.166-0.10 0.00
coef_female_work1 0.333 0.257 1.30 0.00
coef_female_work2-0.220 0.0801-2.75** 0.00
coef_female_work_and_school-0.266 0.240-1.11 0.00
coef_few_cars_than_drivers_school2-0.298 0.146-2.04* 0.00
coef_ft_worker_work2_asc-3.49 0.110-31.78*** 0.00
coef_hh_income_gt_50k_school1 0.0347 1.34e-05 BIG*** 0.00
coef_hh_income_gt_50k_student_work_and_school-0.128 0.325-0.39 0.00
coef_hh_income_gt_50k_work-0.286 0.351-0.81 0.00
coef_hh_income_gt_50k_worker_work_and_school 0.0347 NA NA 0.00
coef_home_urban_school1-0.136 NA NA 0.00
coef_home_urban_school2 0.162 0.147 1.10 0.00
coef_home_urban_work1-0.123 0.280-0.44 0.00
coef_home_urban_work2 0.142 0.0850 1.67 0.00
coef_home_urban_work_and_school-0.437 0.269-1.62 0.00
coef_no_cars_in_hh_school2-1.48 0.438-3.37*** 0.00
coef_no_cars_in_hh_work2-1.52 0.310-4.92*** 0.00
coef_no_cars_in_hh_work_and_school-1.24 0.334-3.72*** 0.00
coef_non_family_hh_category1-0.250 NA NA 0.00
coef_non_family_hh_category2-0.0913 0.741-0.12 0.00
coef_non_student_goes_to_school 3.88 7.74e-06 BIG*** 0.00
coef_num_non_workers_in_hh_school1 0.257 2.54e-06 BIG*** 0.00
coef_num_preschool_in_hh_school1-0.133 1.09e-06-BIG*** 0.00
coef_num_preschool_in_hh_school2-0.796 0.214-3.72*** 0.00
coef_num_preschool_in_hh_work1 0.125 0.323 0.39 0.00
coef_num_preschool_in_hh_work2-0.126 0.0781-1.62 0.00
coef_num_preschool_in_hh_work_and_school-0.0701 0.322-0.22 0.00
coef_num_under_16_not_at_school_school2-0.0153 0.176-0.09 0.00
coef_num_under_16_not_at_school_work2 0.168 0.0783 2.15* 0.00
coef_num_under_16_not_at_school_work_and_school-0.192 0.210-0.92 0.00
coef_pre_driving_age_child_school2_asc-4.21 0.204-20.62*** 0.00
coef_pt_worker_work2_asc-3.08 0.135-22.84*** 0.00
coef_round_trip_auto_time_to_work_school2-0.00596 0.00317-1.88 0.00
coef_round_trip_auto_time_to_work_work2-0.00185 0.00188-0.99 0.00
coef_round_trip_auto_time_to_work_work_and_school-0.00221 0.00565-0.39 0.00
coef_student_employed 2.92 889. 0.00 0.00
coef_unavailable-999. 0.00 NA 0.00fixed value
coef_under_35_school1 0.722 0.00 NA 0.00
coef_under_35_school2 1.23 0.389 3.16** 0.00
coef_under_35_work1-0.459 0.574-0.80 0.00
coef_under_35_work2 0.00561 0.0823 0.07 0.00
coef_under_35_work_and_school 1.15 0.646 1.78 0.00
coef_univ_school2_asc-3.64 0.415-8.77*** 0.00
coef_univ_work1_asc 2.21 889. 0.00 0.00
coef_univ_work2_asc-1.47 889.-0.00 0.00
coef_univ_work_and_school_asc 0.173 889. 0.00 0.00
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -3231,18 +3201,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -3300,85 +3259,85 @@ " \n", " 1\n", " coef_ft_worker_work2_asc\n", - " -5.517933\n", + " -3.494595\n", " F\n", " \n", " \n", " 2\n", " coef_pt_worker_work2_asc\n", - " -4.743242\n", + " -3.079547\n", " F\n", " \n", " \n", " 3\n", " coef_univ_work1_asc\n", - " 6.475896\n", + " 2.209708\n", " F\n", " \n", " \n", " 4\n", " coef_univ_work2_asc\n", - " 4.833029\n", + " -1.472430\n", " F\n", " \n", " \n", " 5\n", " coef_univ_school2_asc\n", - " -10.233810\n", + " -3.640737\n", " F\n", " \n", " \n", " 6\n", " coef_univ_work_and_school_asc\n", - " 8.180927\n", + " 0.173386\n", " F\n", " \n", " \n", " 7\n", " coef_driving_age_child_school2_asc\n", - " -13.067731\n", + " -3.209418\n", " F\n", " \n", " \n", " 8\n", " coef_driving_age_child_work_and_school_asc\n", - " -12.605997\n", + " -4.565091\n", " F\n", " \n", " \n", " 9\n", " coef_pre_driving_age_child_school2_asc\n", - " 3.679726\n", + " -4.210709\n", " F\n", " \n", " \n", " 10\n", " coef_female_work1\n", - " -2.242748\n", + " 0.333342\n", " F\n", " \n", " \n", " 11\n", " coef_female_work2\n", - " -0.387411\n", + " -0.219862\n", " F\n", " \n", " \n", " 12\n", " coef_female_school1\n", - " 0.247086\n", + " 0.000463\n", " F\n", " \n", " \n", " 13\n", " coef_female_school2\n", - " -0.301339\n", + " -0.016856\n", " F\n", " \n", " \n", " 14\n", " coef_female_work_and_school\n", - " -3.218280\n", + " -0.265847\n", " F\n", " \n", " \n", @@ -3390,13 +3349,13 @@ " \n", " 16\n", " coef_under_35_work1\n", - " 1.038242\n", + " -0.458863\n", " F\n", " \n", " \n", " 17\n", " coef_under_35_work2\n", - " -0.253875\n", + " 0.005614\n", " F\n", " \n", " \n", @@ -3408,55 +3367,55 @@ " \n", " 19\n", " coef_under_35_school2\n", - " 15.011164\n", + " 1.230550\n", " F\n", " \n", " \n", " 20\n", " coef_under_35_work_and_school\n", - " 2.257035\n", + " 1.149726\n", " F\n", " \n", " \n", " 21\n", " coef_can_walk_to_work_work2\n", - " 0.651120\n", + " 0.600928\n", " F\n", " \n", " \n", " 22\n", " coef_can_walk_to_work_school2\n", - " 1.368092\n", + " 0.811379\n", " F\n", " \n", " \n", " 23\n", " coef_can_walk_to_work_and_school\n", - " 0.071630\n", + " 0.284832\n", " F\n", " \n", " \n", " 24\n", " coef_round_trip_auto_time_to_work_work2\n", - " -0.025905\n", + " -0.001855\n", " F\n", " \n", " \n", " 25\n", " coef_round_trip_auto_time_to_work_school2\n", - " 0.064411\n", + " -0.005959\n", " F\n", " \n", " \n", " 26\n", " coef_round_trip_auto_time_to_work_work_and_school\n", - " -0.021804\n", + " -0.002208\n", " F\n", " \n", " \n", " 27\n", " coef_student_employed\n", - " 13.457255\n", + " 2.918973\n", " F\n", " \n", " \n", @@ -3468,37 +3427,37 @@ " \n", " 29\n", " coef_no_cars_in_hh_work2\n", - " -0.725967\n", + " -1.524960\n", " F\n", " \n", " \n", " 30\n", " coef_no_cars_in_hh_school2\n", - " -0.620465\n", + " -1.479517\n", " F\n", " \n", " \n", " 31\n", " coef_no_cars_in_hh_work_and_school\n", - " -0.775934\n", + " -1.244512\n", " F\n", " \n", " \n", " 32\n", " coef_few_cars_than_drivers_school2\n", - " -0.862451\n", + " -0.297623\n", " F\n", " \n", " \n", " 33\n", " coef_num_preschool_in_hh_work1\n", - " -2.930501\n", + " 0.125045\n", " F\n", " \n", " \n", " 34\n", " coef_num_preschool_in_hh_work2\n", - " 0.225173\n", + " -0.126183\n", " F\n", " \n", " \n", @@ -3510,13 +3469,13 @@ " \n", " 36\n", " coef_num_preschool_in_hh_school2\n", - " 0.356660\n", + " -0.796350\n", " F\n", " \n", " \n", " 37\n", " coef_num_preschool_in_hh_work_and_school\n", - " -29.197569\n", + " -0.070125\n", " F\n", " \n", " \n", @@ -3528,7 +3487,7 @@ " \n", " 39\n", " coef_hh_income_gt_50k_work\n", - " -1.418551\n", + " -0.286159\n", " F\n", " \n", " \n", @@ -3546,7 +3505,7 @@ " \n", " 42\n", " coef_hh_income_gt_50k_student_work_and_school\n", - " -0.921175\n", + " -0.128428\n", " F\n", " \n", " \n", @@ -3558,37 +3517,37 @@ " \n", " 44\n", " coef_non_family_hh_category2\n", - " 5.000771\n", + " -0.091298\n", " F\n", " \n", " \n", " 45\n", " coef_num_under_16_not_at_school_work2\n", - " -0.118991\n", + " 0.168260\n", " NaN\n", " \n", " \n", " 46\n", " coef_num_under_16_not_at_school_school2\n", - " -0.638293\n", + " -0.015345\n", " NaN\n", " \n", " \n", " 47\n", " coef_num_under_16_not_at_school_work_and_school\n", - " -15.357907\n", + " -0.192330\n", " NaN\n", " \n", " \n", " 48\n", " coef_home_urban_work1\n", - " 4.026796\n", + " -0.122770\n", " NaN\n", " \n", " \n", " 49\n", " coef_home_urban_work2\n", - " 2.624854\n", + " 0.142218\n", " NaN\n", " \n", " \n", @@ -3600,13 +3559,13 @@ " \n", " 51\n", " coef_home_urban_school2\n", - " -8.455615\n", + " 0.161745\n", " NaN\n", " \n", " \n", " 52\n", " coef_home_urban_work_and_school\n", - " -0.447070\n", + " -0.436835\n", " NaN\n", " \n", " \n", @@ -3616,58 +3575,58 @@ "text/plain": [ " coefficient_name value constrain\n", "0 coef_unavailable -999.000000 T\n", - "1 coef_ft_worker_work2_asc -5.517933 F\n", - "2 coef_pt_worker_work2_asc -4.743242 F\n", - "3 coef_univ_work1_asc 6.475896 F\n", - "4 coef_univ_work2_asc 4.833029 F\n", - "5 coef_univ_school2_asc -10.233810 F\n", - "6 coef_univ_work_and_school_asc 8.180927 F\n", - "7 coef_driving_age_child_school2_asc -13.067731 F\n", - "8 coef_driving_age_child_work_and_school_asc -12.605997 F\n", - "9 coef_pre_driving_age_child_school2_asc 3.679726 F\n", - "10 coef_female_work1 -2.242748 F\n", - "11 coef_female_work2 -0.387411 F\n", - "12 coef_female_school1 0.247086 F\n", - "13 coef_female_school2 -0.301339 F\n", - "14 coef_female_work_and_school -3.218280 F\n", + "1 coef_ft_worker_work2_asc -3.494595 F\n", + "2 coef_pt_worker_work2_asc -3.079547 F\n", + "3 coef_univ_work1_asc 2.209708 F\n", + "4 coef_univ_work2_asc -1.472430 F\n", + "5 coef_univ_school2_asc -3.640737 F\n", + "6 coef_univ_work_and_school_asc 0.173386 F\n", + "7 coef_driving_age_child_school2_asc -3.209418 F\n", + "8 coef_driving_age_child_work_and_school_asc -4.565091 F\n", + "9 coef_pre_driving_age_child_school2_asc -4.210709 F\n", + "10 coef_female_work1 0.333342 F\n", + "11 coef_female_work2 -0.219862 F\n", + "12 coef_female_school1 0.000463 F\n", + "13 coef_female_school2 -0.016856 F\n", + "14 coef_female_work_and_school -0.265847 F\n", "15 coef_female_univ_work1 0.173700 F\n", - "16 coef_under_35_work1 1.038242 F\n", - "17 coef_under_35_work2 -0.253875 F\n", + "16 coef_under_35_work1 -0.458863 F\n", + "17 coef_under_35_work2 0.005614 F\n", "18 coef_under_35_school1 0.721800 F\n", - "19 coef_under_35_school2 15.011164 F\n", - "20 coef_under_35_work_and_school 2.257035 F\n", - "21 coef_can_walk_to_work_work2 0.651120 F\n", - "22 coef_can_walk_to_work_school2 1.368092 F\n", - "23 coef_can_walk_to_work_and_school 0.071630 F\n", - "24 coef_round_trip_auto_time_to_work_work2 -0.025905 F\n", - "25 coef_round_trip_auto_time_to_work_school2 0.064411 F\n", - "26 coef_round_trip_auto_time_to_work_work_and_school -0.021804 F\n", - "27 coef_student_employed 13.457255 F\n", + "19 coef_under_35_school2 1.230550 F\n", + "20 coef_under_35_work_and_school 1.149726 F\n", + "21 coef_can_walk_to_work_work2 0.600928 F\n", + "22 coef_can_walk_to_work_school2 0.811379 F\n", + "23 coef_can_walk_to_work_and_school 0.284832 F\n", + "24 coef_round_trip_auto_time_to_work_work2 -0.001855 F\n", + "25 coef_round_trip_auto_time_to_work_school2 -0.005959 F\n", + "26 coef_round_trip_auto_time_to_work_work_and_school -0.002208 F\n", + "27 coef_student_employed 2.918973 F\n", "28 coef_non_student_goes_to_school 3.883000 F\n", - "29 coef_no_cars_in_hh_work2 -0.725967 F\n", - "30 coef_no_cars_in_hh_school2 -0.620465 F\n", - "31 coef_no_cars_in_hh_work_and_school -0.775934 F\n", - "32 coef_few_cars_than_drivers_school2 -0.862451 F\n", - "33 coef_num_preschool_in_hh_work1 -2.930501 F\n", - "34 coef_num_preschool_in_hh_work2 0.225173 F\n", + "29 coef_no_cars_in_hh_work2 -1.524960 F\n", + "30 coef_no_cars_in_hh_school2 -1.479517 F\n", + "31 coef_no_cars_in_hh_work_and_school -1.244512 F\n", + "32 coef_few_cars_than_drivers_school2 -0.297623 F\n", + "33 coef_num_preschool_in_hh_work1 0.125045 F\n", + "34 coef_num_preschool_in_hh_work2 -0.126183 F\n", "35 coef_num_preschool_in_hh_school1 -0.133500 F\n", - "36 coef_num_preschool_in_hh_school2 0.356660 F\n", - "37 coef_num_preschool_in_hh_work_and_school -29.197569 F\n", + "36 coef_num_preschool_in_hh_school2 -0.796350 F\n", + "37 coef_num_preschool_in_hh_work_and_school -0.070125 F\n", "38 coef_num_non_workers_in_hh_school1 0.257400 F\n", - "39 coef_hh_income_gt_50k_work -1.418551 F\n", + "39 coef_hh_income_gt_50k_work -0.286159 F\n", "40 coef_hh_income_gt_50k_school1 0.034700 F\n", "41 coef_hh_income_gt_50k_worker_work_and_school 0.034700 F\n", - "42 coef_hh_income_gt_50k_student_work_and_school -0.921175 F\n", + "42 coef_hh_income_gt_50k_student_work_and_school -0.128428 F\n", "43 coef_non_family_hh_category1 -0.250000 F\n", - "44 coef_non_family_hh_category2 5.000771 F\n", - "45 coef_num_under_16_not_at_school_work2 -0.118991 NaN\n", - "46 coef_num_under_16_not_at_school_school2 -0.638293 NaN\n", - "47 coef_num_under_16_not_at_school_work_and_school -15.357907 NaN\n", - "48 coef_home_urban_work1 4.026796 NaN\n", - "49 coef_home_urban_work2 2.624854 NaN\n", + "44 coef_non_family_hh_category2 -0.091298 F\n", + "45 coef_num_under_16_not_at_school_work2 0.168260 NaN\n", + "46 coef_num_under_16_not_at_school_school2 -0.015345 NaN\n", + "47 coef_num_under_16_not_at_school_work_and_school -0.192330 NaN\n", + "48 coef_home_urban_work1 -0.122770 NaN\n", + "49 coef_home_urban_work2 0.142218 NaN\n", "50 coef_home_urban_school1 -0.136100 NaN\n", - "51 coef_home_urban_school2 -8.455615 NaN\n", - "52 coef_home_urban_work_and_school -0.447070 NaN" + "51 coef_home_urban_school2 0.161745 NaN\n", + "52 coef_home_urban_work_and_school -0.436835 NaN" ] }, "execution_count": 11, @@ -3687,7 +3646,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3701,7 +3660,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/08_work_tour_scheduling.ipynb b/activitysim/examples/example_estimation/notebooks/08_work_tour_scheduling.ipynb index 3cd81e8a23..b592a29746 100644 --- a/activitysim/examples/example_estimation/notebooks/08_work_tour_scheduling.ipynb +++ b/activitysim/examples/example_estimation/notebooks/08_work_tour_scheduling.ipynb @@ -34,27 +34,75 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +116,28 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_work/tour_scheduling_work_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_work/mandatory_tour_scheduling_work_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_work/mandatory_tour_scheduling_work_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_work/mandatory_tour_scheduling_work_choosers_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"mandatory_tour_scheduling_work\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -461,10 +525,10 @@ " \n", " \n", " 0\n", - " 2961920\n", - " 32\n", - " 35\n", - " 72241\n", + " 2966594\n", + " 7\n", + " 96\n", + " 72355\n", " work\n", " 1\n", " 1\n", @@ -477,18 +541,18 @@ " True\n", " False\n", " False\n", - " 9\n", - " -1\n", " 17\n", + " -1\n", + " 55\n", " 5\n", " 5\n", " \n", " \n", " 1\n", - " 2970120\n", - " 51\n", - " 51\n", - " 72441\n", + " 2967783\n", + " 50\n", + " 30\n", + " 72384\n", " work\n", " 1\n", " 1\n", @@ -501,18 +565,18 @@ " True\n", " False\n", " False\n", - " 100\n", + " 16\n", " -1\n", - " 60\n", + " 59\n", " 5\n", " 5\n", " \n", " \n", " 2\n", - " 2998943\n", + " 2968726\n", + " 64\n", " 29\n", - " 28\n", - " 73144\n", + " 72407\n", " work\n", " 1\n", " 1\n", @@ -525,18 +589,18 @@ " True\n", " False\n", " False\n", - " 77\n", + " 70\n", " -1\n", - " 125\n", + " 59\n", " 5\n", " 5\n", " \n", " \n", " 3\n", - " 3013252\n", - " 47\n", - " 47\n", - " 73493\n", + " 2970858\n", + " 31\n", + " 80\n", + " 72459\n", " work\n", " 1\n", " 1\n", @@ -549,18 +613,18 @@ " True\n", " False\n", " False\n", - " 117\n", + " 30\n", " -1\n", - " 133\n", + " 61\n", " 5\n", " 5\n", " \n", " \n", " 4\n", - " 3015794\n", - " 59\n", - " 59\n", - " 73555\n", + " 2973728\n", + " 61\n", + " 115\n", + " 72529\n", " work\n", " 1\n", " 1\n", @@ -573,9 +637,9 @@ " True\n", " False\n", " False\n", - " 167\n", + " 57\n", " -1\n", - " 136\n", + " 69\n", " 5\n", " 5\n", " \n", @@ -604,35 +668,35 @@ " ...\n", " \n", " \n", - " 2119\n", - " 308070309\n", - " 184\n", - " 184\n", - " 7513909\n", + " 22632\n", + " 309081532\n", + " 32\n", + " 10\n", + " 7538573\n", " work\n", - " 2\n", - " 2\n", - " 2\n", - " 2\n", + " 1\n", + " 1\n", + " 1\n", + " 1\n", " mandatory\n", " ...\n", " False\n", - " work2\n", + " work1\n", " True\n", " False\n", " False\n", - " 11\n", + " 135\n", " -1\n", - " 21\n", - " 17\n", - " 21\n", + " 200\n", + " 5\n", + " 5\n", " \n", " \n", - " 2120\n", - " 308073875\n", - " 41\n", - " 38\n", - " 7513996\n", + " 22633\n", + " 309090634\n", + " 48\n", + " 79\n", + " 7538795\n", " work\n", " 1\n", " 1\n", @@ -645,18 +709,18 @@ " True\n", " False\n", " False\n", - " 67\n", + " 1018\n", " -1\n", - " 21\n", + " 1006\n", " 5\n", " 5\n", " \n", " \n", - " 2121\n", - " 308090603\n", - " 27\n", - " 27\n", - " 7514404\n", + " 22634\n", + " 309101950\n", + " 69\n", + " 78\n", + " 7539071\n", " work\n", " 1\n", " 1\n", @@ -669,18 +733,18 @@ " True\n", " False\n", " False\n", - " 106\n", + " 1019\n", " -1\n", - " 81\n", + " 1006\n", " 5\n", " 5\n", " \n", " \n", - " 2122\n", - " 308105896\n", - " 6\n", - " 6\n", - " 7514777\n", + " 22635\n", + " 309107362\n", + " 139\n", + " 53\n", + " 7539203\n", " work\n", " 1\n", " 1\n", @@ -691,110 +755,110 @@ " False\n", " work1\n", " True\n", - " True\n", - " True\n", - " 87\n", - " 185\n", - " 106\n", + " False\n", + " False\n", + " 1152\n", + " -1\n", + " 1159\n", " 5\n", " 5\n", " \n", " \n", - " 2123\n", - " 308122624\n", - " 44\n", - " 44\n", - " 7515185\n", + " 22636\n", + " 309112036\n", + " 64\n", + " 36\n", + " 7539317\n", " work\n", " 1\n", " 1\n", " 1\n", - " 2\n", + " 1\n", " mandatory\n", " ...\n", " False\n", - " work_and_school\n", - " True\n", - " True\n", + " work1\n", " True\n", - " 16\n", - " 188\n", - " 142\n", + " False\n", + " False\n", + " 1381\n", + " -1\n", + " 1390\n", " 5\n", " 5\n", " \n", " \n", "\n", - "

2124 rows × 40 columns

\n", + "

22637 rows × 40 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 2961920 32 35 72241 work \n", - "1 2970120 51 51 72441 work \n", - "2 2998943 29 28 73144 work \n", - "3 3013252 47 47 73493 work \n", - "4 3015794 59 59 73555 work \n", - "... ... ... ... ... ... \n", - "2119 308070309 184 184 7513909 work \n", - "2120 308073875 41 38 7513996 work \n", - "2121 308090603 27 27 7514404 work \n", - "2122 308105896 6 6 7514777 work \n", - "2123 308122624 44 44 7515185 work \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 2966594 7 96 72355 work \n", + "1 2967783 50 30 72384 work \n", + "2 2968726 64 29 72407 work \n", + "3 2970858 31 80 72459 work \n", + "4 2973728 61 115 72529 work \n", + "... ... ... ... ... ... \n", + "22632 309081532 32 10 7538573 work \n", + "22633 309090634 48 79 7538795 work \n", + "22634 309101950 69 78 7539071 work \n", + "22635 309107362 139 53 7539203 work \n", + "22636 309112036 64 36 7539317 work \n", "\n", - " tour_type_count tour_type_num tour_num tour_count tour_category ... \\\n", - "0 1 1 1 1 mandatory ... \n", - "1 1 1 1 1 mandatory ... \n", - "2 1 1 1 1 mandatory ... \n", - "3 1 1 1 1 mandatory ... \n", - "4 1 1 1 1 mandatory ... \n", - "... ... ... ... ... ... ... \n", - "2119 2 2 2 2 mandatory ... \n", - "2120 1 1 1 1 mandatory ... \n", - "2121 1 1 1 1 mandatory ... \n", - "2122 1 1 1 1 mandatory ... \n", - "2123 1 1 1 2 mandatory ... \n", + " tour_type_count tour_type_num tour_num tour_count tour_category \\\n", + "0 1 1 1 1 mandatory \n", + "1 1 1 1 1 mandatory \n", + "2 1 1 1 1 mandatory \n", + "3 1 1 1 1 mandatory \n", + "4 1 1 1 1 mandatory \n", + "... ... ... ... ... ... \n", + "22632 1 1 1 1 mandatory \n", + "22633 1 1 1 1 mandatory \n", + "22634 1 1 1 1 mandatory \n", + "22635 1 1 1 1 mandatory \n", + "22636 1 1 1 1 mandatory \n", "\n", - " home_is_rural mandatory_tour_frequency is_worker is_student \\\n", - "0 False work1 True False \n", - "1 False work1 True False \n", - "2 False work1 True False \n", - "3 False work1 True False \n", - "4 False work1 True False \n", - "... ... ... ... ... \n", - "2119 False work2 True False \n", - "2120 False work1 True False \n", - "2121 False work1 True False \n", - "2122 False work1 True True \n", - "2123 False work_and_school True True \n", + " ... home_is_rural mandatory_tour_frequency is_worker is_student \\\n", + "0 ... False work1 True False \n", + "1 ... False work1 True False \n", + "2 ... False work1 True False \n", + "3 ... False work1 True False \n", + "4 ... False work1 True False \n", + "... ... ... ... ... ... \n", + "22632 ... False work1 True False \n", + "22633 ... False work1 True False \n", + "22634 ... False work1 True False \n", + "22635 ... False work1 True False \n", + "22636 ... False work1 True False \n", "\n", - " is_university workplace_zone_id school_zone_id home_zone_id \\\n", - "0 False 9 -1 17 \n", - "1 False 100 -1 60 \n", - "2 False 77 -1 125 \n", - "3 False 117 -1 133 \n", - "4 False 167 -1 136 \n", - "... ... ... ... ... \n", - "2119 False 11 -1 21 \n", - "2120 False 67 -1 21 \n", - "2121 False 106 -1 81 \n", - "2122 True 87 185 106 \n", - "2123 True 16 188 142 \n", + " is_university workplace_zone_id school_zone_id home_zone_id \\\n", + "0 False 17 -1 55 \n", + "1 False 16 -1 59 \n", + "2 False 70 -1 59 \n", + "3 False 30 -1 61 \n", + "4 False 57 -1 69 \n", + "... ... ... ... ... \n", + "22632 False 135 -1 200 \n", + "22633 False 1018 -1 1006 \n", + "22634 False 1019 -1 1006 \n", + "22635 False 1152 -1 1159 \n", + "22636 False 1381 -1 1390 \n", "\n", - " start_previous end_previous \n", - "0 5 5 \n", - "1 5 5 \n", - "2 5 5 \n", - "3 5 5 \n", - "4 5 5 \n", - "... ... ... \n", - "2119 17 21 \n", - "2120 5 5 \n", - "2121 5 5 \n", - "2122 5 5 \n", - "2123 5 5 \n", + " start_previous end_previous \n", + "0 5 5 \n", + "1 5 5 \n", + "2 5 5 \n", + "3 5 5 \n", + "4 5 5 \n", + "... ... ... \n", + "22632 5 5 \n", + "22633 5 5 \n", + "22634 5 5 \n", + "22635 5 5 \n", + "22636 5 5 \n", "\n", - "[2124 rows x 40 columns]" + "[22637 rows x 40 columns]" ] }, "execution_count": 6, @@ -840,148 +904,148 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", + " start\n", + " end\n", + " duration\n", + " tdd\n", + " out_period\n", + " in_period\n", + " mode_choice_logsum\n", + " util_free_flow_round_trip_auto_time_shift_effects_departure\n", + " util_free_flow_round_trip_auto_time_shift_effects_duration\n", " ...\n", - " 180\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", + " util_arrival_constants_late\n", + " util_duration_constants_0_to_2_hours\n", + " util_duration_constants_3_to_4_hours\n", + " util_duration_constants_5_to_6_hours\n", + " util_duration_constants_7_to_8_hours\n", + " util_duration_constants_9_hours\n", + " util_duration_constants_10_hours\n", + " util_duration_constants_11_hours\n", + " util_duration_constants_12_to_13_hours\n", + " util_duration_constants_14_to_18_hours\n", " \n", " \n", " \n", " \n", " 0\n", - " 2961920\n", - " duration\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", + " 2966594\n", + " 5\n", " 5\n", - " 6\n", - " 7\n", - " ...\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", " 0\n", - " 1\n", - " 2\n", - " 0\n", - " 1\n", " 0\n", + " EA\n", + " EA\n", + " -0.897101\n", + " 163.399994\n", + " 0.000000\n", + " ...\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 1\n", - " 2961920\n", - " end\n", + " 2966594\n", " 5\n", " 6\n", - " 7\n", - " 8\n", - " 9\n", - " 10\n", - " 11\n", - " 12\n", + " 1\n", + " 1\n", + " EA\n", + " AM\n", + " -1.333629\n", + " 163.399994\n", + " 32.680000\n", " ...\n", - " 20\n", - " 21\n", - " 22\n", - " 23\n", - " 21\n", - " 22\n", - " 23\n", - " 22\n", - " 23\n", - " 23\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 2\n", - " 2961920\n", - " in_period\n", + " 2966594\n", + " 5\n", + " 7\n", + " 2\n", + " 2\n", " EA\n", " AM\n", - " AM\n", - " AM\n", - " AM\n", - " MD\n", - " MD\n", - " MD\n", + " -1.333629\n", + " 163.399994\n", + " 65.360001\n", " ...\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 3\n", - " 2961920\n", - " mode_choice_logsum\n", - " -0.6808670711507444\n", - " -0.9609052826735235\n", - " -0.9609052826735235\n", - " -0.9609052826735235\n", - " -0.9609052826735235\n", - " -1.1106688167107288\n", - " -1.1106688167107288\n", - " -1.1106688167107288\n", - " ...\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", - " -0.8117834942924501\n", + " 2966594\n", + " 5\n", + " 8\n", + " 3\n", + " 3\n", + " EA\n", + " AM\n", + " -1.333629\n", + " 163.399994\n", + " 98.040001\n", + " ...\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 4\n", - " 2961920\n", - " out_period\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", + " 2966594\n", + " 5\n", + " 9\n", + " 4\n", + " 4\n", " EA\n", + " AM\n", + " -1.333629\n", + " 163.399994\n", + " 130.720001\n", " ...\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " ...\n", @@ -1008,9 +1072,20 @@ " ...\n", " \n", " \n", - " 146551\n", - " 308122624\n", - " util_subsequent_tour_must_start_after_previous...\n", + " 4222354\n", + " 309112036\n", + " 21\n", + " 22\n", + " 1\n", + " 185\n", + " EV\n", + " EV\n", + " -2.780379\n", + " 1388.099976\n", + " 66.099998\n", + " ...\n", + " True\n", + " True\n", " False\n", " False\n", " False\n", @@ -1019,9 +1094,22 @@ " False\n", " False\n", " False\n", + " \n", + " \n", + " 4222355\n", + " 309112036\n", + " 21\n", + " 23\n", + " 2\n", + " 186\n", + " EV\n", + " EV\n", + " -2.780379\n", + " 1388.099976\n", + " 132.199997\n", " ...\n", - " False\n", - " False\n", + " True\n", + " True\n", " False\n", " False\n", " False\n", @@ -1032,81 +1120,44 @@ " False\n", " \n", " \n", - " 146552\n", - " 308122624\n", - " util_tours_by_student_duration_lt_8_hrs\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", + " 4222356\n", + " 309112036\n", + " 22\n", + " 22\n", + " 0\n", + " 187\n", + " EV\n", + " EV\n", + " -2.780379\n", + " 1454.199951\n", + " 0.000000\n", " ...\n", " True\n", " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 146553\n", - " 308122624\n", - " util_tours_by_worker_duration_lt_8_hrs\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", + " 4222357\n", + " 309112036\n", + " 22\n", + " 23\n", + " 1\n", + " 188\n", + " EV\n", + " EV\n", + " -2.780379\n", + " 1454.199951\n", + " 66.099998\n", " ...\n", " True\n", " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " \n", - " \n", - " 146554\n", - " 308122624\n", - " util_university_student_departure_shift_effects\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " ...\n", - " 20\n", - " 20\n", - " 20\n", - " 20\n", - " 21\n", - " 21\n", - " 21\n", - " 22\n", - " 22\n", - " 23\n", - " \n", - " \n", - " 146555\n", - " 308122624\n", - " util_worker_13_to_15_arrival_interaction\n", " False\n", " False\n", " False\n", @@ -1115,9 +1166,22 @@ " False\n", " False\n", " False\n", + " \n", + " \n", + " 4222358\n", + " 309112036\n", + " 23\n", + " 23\n", + " 0\n", + " 189\n", + " EV\n", + " EV\n", + " -2.780379\n", + " 1520.299927\n", + " 0.000000\n", " ...\n", - " False\n", - " False\n", + " True\n", + " True\n", " False\n", " False\n", " False\n", @@ -1129,102 +1193,167 @@ " \n", " \n", "\n", - "

146556 rows × 192 columns

\n", + "

4222359 rows × 71 columns

\n", "" ], "text/plain": [ - " tour_id variable \\\n", - "0 2961920 duration \n", - "1 2961920 end \n", - "2 2961920 in_period \n", - "3 2961920 mode_choice_logsum \n", - "4 2961920 out_period \n", - "... ... ... \n", - "146551 308122624 util_subsequent_tour_must_start_after_previous... \n", - "146552 308122624 util_tours_by_student_duration_lt_8_hrs \n", - "146553 308122624 util_tours_by_worker_duration_lt_8_hrs \n", - "146554 308122624 util_university_student_departure_shift_effects \n", - "146555 308122624 util_worker_13_to_15_arrival_interaction \n", + " tour_id start end duration tdd out_period in_period \\\n", + "0 2966594 5 5 0 0 EA EA \n", + "1 2966594 5 6 1 1 EA AM \n", + "2 2966594 5 7 2 2 EA AM \n", + "3 2966594 5 8 3 3 EA AM \n", + "4 2966594 5 9 4 4 EA AM \n", + "... ... ... ... ... ... ... ... \n", + "4222354 309112036 21 22 1 185 EV EV \n", + "4222355 309112036 21 23 2 186 EV EV \n", + "4222356 309112036 22 22 0 187 EV EV \n", + "4222357 309112036 22 23 1 188 EV EV \n", + "4222358 309112036 23 23 0 189 EV EV \n", "\n", - " 0 1 2 \\\n", - "0 0 1 2 \n", - "1 5 6 7 \n", - "2 EA AM AM \n", - "3 -0.6808670711507444 -0.9609052826735235 -0.9609052826735235 \n", - "4 EA EA EA \n", - "... ... ... ... \n", - "146551 False False False \n", - "146552 True True True \n", - "146553 True True True \n", - "146554 5 5 5 \n", - "146555 False False False \n", + " mode_choice_logsum \\\n", + "0 -0.897101 \n", + "1 -1.333629 \n", + "2 -1.333629 \n", + "3 -1.333629 \n", + "4 -1.333629 \n", + "... ... \n", + "4222354 -2.780379 \n", + "4222355 -2.780379 \n", + "4222356 -2.780379 \n", + "4222357 -2.780379 \n", + "4222358 -2.780379 \n", "\n", - " 3 4 5 \\\n", - "0 3 4 5 \n", - "1 8 9 10 \n", - "2 AM AM MD \n", - "3 -0.9609052826735235 -0.9609052826735235 -1.1106688167107288 \n", - "4 EA EA EA \n", - "... ... ... ... \n", - "146551 False False False \n", - "146552 True True True \n", - "146553 True True True \n", - "146554 5 5 5 \n", - "146555 False False False \n", + " util_free_flow_round_trip_auto_time_shift_effects_departure \\\n", + "0 163.399994 \n", + "1 163.399994 \n", + "2 163.399994 \n", + "3 163.399994 \n", + "4 163.399994 \n", + "... ... \n", + "4222354 1388.099976 \n", + "4222355 1388.099976 \n", + "4222356 1454.199951 \n", + "4222357 1454.199951 \n", + "4222358 1520.299927 \n", "\n", - " 6 7 ... 180 \\\n", - "0 6 7 ... 0 \n", - "1 11 12 ... 20 \n", - "2 MD MD ... EV \n", - "3 -1.1106688167107288 -1.1106688167107288 ... -0.8117834942924501 \n", - "4 EA EA ... EV \n", - "... ... ... ... ... \n", - "146551 False False ... False \n", - "146552 True True ... True \n", - "146553 True True ... True \n", - "146554 5 5 ... 20 \n", - "146555 False False ... False \n", + " util_free_flow_round_trip_auto_time_shift_effects_duration ... \\\n", + "0 0.000000 ... \n", + "1 32.680000 ... \n", + "2 65.360001 ... \n", + "3 98.040001 ... \n", + "4 130.720001 ... \n", + "... ... ... \n", + "4222354 66.099998 ... \n", + "4222355 132.199997 ... \n", + "4222356 0.000000 ... \n", + "4222357 66.099998 ... \n", + "4222358 0.000000 ... \n", "\n", - " 181 182 183 \\\n", - "0 1 2 3 \n", - "1 21 22 23 \n", - "2 EV EV EV \n", - "3 -0.8117834942924501 -0.8117834942924501 -0.8117834942924501 \n", - "4 EV EV EV \n", - "... ... ... ... \n", - "146551 False False False \n", - "146552 True True True \n", - "146553 True True True \n", - "146554 20 20 20 \n", - "146555 False False False \n", + " util_arrival_constants_late util_duration_constants_0_to_2_hours \\\n", + "0 False True \n", + "1 False True \n", + "2 False True \n", + "3 False False \n", + "4 False False \n", + "... ... ... \n", + "4222354 True True \n", + "4222355 True True \n", + "4222356 True True \n", + "4222357 True True \n", + "4222358 True True \n", "\n", - " 184 185 186 \\\n", - "0 0 1 2 \n", - "1 21 22 23 \n", - "2 EV EV EV \n", - "3 -0.8117834942924501 -0.8117834942924501 -0.8117834942924501 \n", - "4 EV EV EV \n", - "... ... ... ... \n", - "146551 False False False \n", - "146552 True True True \n", - "146553 True True True \n", - "146554 21 21 21 \n", - "146555 False False False \n", + " util_duration_constants_3_to_4_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 True \n", + "4 True \n", + "... ... \n", + "4222354 False \n", + "4222355 False \n", + "4222356 False \n", + "4222357 False \n", + "4222358 False \n", "\n", - " 187 188 189 \n", - "0 0 1 0 \n", - "1 22 23 23 \n", - "2 EV EV EV \n", - "3 -0.8117834942924501 -0.8117834942924501 -0.8117834942924501 \n", - "4 EV EV EV \n", - "... ... ... ... \n", - "146551 False False False \n", - "146552 True True True \n", - "146553 True True True \n", - "146554 22 22 23 \n", - "146555 False False False \n", + " util_duration_constants_5_to_6_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "4222354 False \n", + "4222355 False \n", + "4222356 False \n", + "4222357 False \n", + "4222358 False \n", "\n", - "[146556 rows x 192 columns]" + " util_duration_constants_7_to_8_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "4222354 False \n", + "4222355 False \n", + "4222356 False \n", + "4222357 False \n", + "4222358 False \n", + "\n", + " util_duration_constants_9_hours util_duration_constants_10_hours \\\n", + "0 False False \n", + "1 False False \n", + "2 False False \n", + "3 False False \n", + "4 False False \n", + "... ... ... \n", + "4222354 False False \n", + "4222355 False False \n", + "4222356 False False \n", + "4222357 False False \n", + "4222358 False False \n", + "\n", + " util_duration_constants_11_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "4222354 False \n", + "4222355 False \n", + "4222356 False \n", + "4222357 False \n", + "4222358 False \n", + "\n", + " util_duration_constants_12_to_13_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "4222354 False \n", + "4222355 False \n", + "4222356 False \n", + "4222357 False \n", + "4222358 False \n", + "\n", + " util_duration_constants_14_to_18_hours \n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "4222354 False \n", + "4222355 False \n", + "4222356 False \n", + "4222357 False \n", + "4222358 False \n", + "\n", + "[4222359 rows x 71 columns]" ] }, "execution_count": 7, @@ -1254,13 +1383,47 @@ "name": "stderr", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "problem: chosen_but_not_available has (83 issues)\n" ] }, + { + "data": { + "text/plain": [ + "(,\n", + " ┣ chosen_but_not_available: altid n example rows\n", + " ┃ 0 23 1 7136\n", + " ┃ 1 40 1 7611\n", + " ┃ 2 41 2 2673, 3979\n", + " ┃ 3 42 1 15549\n", + " ┃ 4 44 2 10390, 17539\n", + " ┃ .. ... .. ...\n", + " ┃ 78 175 1 15501\n", + " ┃ 79 177 1 16777\n", + " ┃ 80 178 1 1665\n", + " ┃ 81 180 1 6817\n", + " ┃ 82 184 1 10510\n", + " ┃ \n", + " ┃ [83 rows x 3 columns])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.doctor(repair_ch_av=\"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "

Iteration 064 [Optimization terminated successfully]

" + "

Iteration 055 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1272,7 +1435,7 @@ { "data": { "text/html": [ - "

Best LL = -8399.82196783851

" + "

Best LL = -89082.99255547294

" ], "text/plain": [ "" @@ -1303,70 +1466,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " 0.326676\n", + " 0.346120\n", + " 0.346120\n", " 0.362700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.326676\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction\n", - " 0.298901\n", + " -0.097167\n", + " -0.097167\n", " -0.101200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.298901\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " -0.038388\n", + " 0.103758\n", + " 0.103758\n", " 0.177100\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.038388\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction\n", - " -0.012605\n", + " -0.534895\n", + " -0.534895\n", " -0.212300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.012605\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " -2.527138\n", + " -1.859817\n", + " -1.859817\n", " -1.854521\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.527138\n", " \n", " \n", " ...\n", @@ -1377,122 +1544,120 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs\n", - " 5.443390\n", + " 2.609918\n", + " 2.609918\n", " 2.582000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 5.443390\n", " \n", " \n", " coef_subsequent_tour_must_start_after_previous_tour_ends\n", " -100.000000\n", " -100.000000\n", + " -100.000000\n", + " -100.0\n", + " -100.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " -100.000000\n", " \n", " \n", " coef_tours_by_student_duration_lt_8_hrs\n", - " 20.927636\n", + " 2.619822\n", + " 2.619822\n", " 2.582000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 20.927636\n", " \n", " \n", " coef_tours_by_worker_duration_lt_8_hrs\n", - " 19.258236\n", + " 0.950422\n", + " 0.950422\n", " 0.912600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 19.258236\n", " \n", " \n", " coef_university_student_departure_shift_effects\n", - " 0.076480\n", + " 0.045387\n", + " 0.045387\n", " 0.057470\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.076480\n", " \n", " \n", "\n", - "

63 rows × 8 columns

\n", + "

63 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 0.326676 0.362700 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.298901 -0.101200 \n", - "coef_adjacent_window_exists_before_this_departu... -0.038388 0.177100 \n", - "coef_adjacent_window_exists_before_this_departu... -0.012605 -0.212300 \n", - "coef_arrival_constants_am_peak -2.527138 -1.854521 \n", + " value best \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0.346120 0.346120 \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.097167 -0.097167 \n", + "coef_adjacent_window_exists_before_this_departu... 0.103758 0.103758 \n", + "coef_adjacent_window_exists_before_this_departu... -0.534895 -0.534895 \n", + "coef_arrival_constants_am_peak -1.859817 -1.859817 \n", "... ... ... \n", - "coef_subsequent_of_2plus_work_tours_duration_lt... 5.443390 2.582000 \n", + "coef_subsequent_of_2plus_work_tours_duration_lt... 2.609918 2.609918 \n", "coef_subsequent_tour_must_start_after_previous_... -100.000000 -100.000000 \n", - "coef_tours_by_student_duration_lt_8_hrs 20.927636 2.582000 \n", - "coef_tours_by_worker_duration_lt_8_hrs 19.258236 0.912600 \n", - "coef_university_student_departure_shift_effects 0.076480 0.057470 \n", + "coef_tours_by_student_duration_lt_8_hrs 2.619822 2.619822 \n", + "coef_tours_by_worker_duration_lt_8_hrs 0.950422 0.950422 \n", + "coef_university_student_departure_shift_effects 0.045387 0.045387 \n", "\n", - " nullvalue minimum \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_arrival_constants_am_peak 0.0 -25.0 \n", - "... ... ... \n", - "coef_subsequent_of_2plus_work_tours_duration_lt... 0.0 -25.0 \n", - "coef_subsequent_tour_must_start_after_previous_... 0.0 -25.0 \n", - "coef_tours_by_student_duration_lt_8_hrs 0.0 -25.0 \n", - "coef_tours_by_worker_duration_lt_8_hrs 0.0 -25.0 \n", - "coef_university_student_departure_shift_effects 0.0 -25.0 \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0.362700 -25.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.101200 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... 0.177100 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... -0.212300 -25.0 \n", + "coef_arrival_constants_am_peak -1.854521 -25.0 \n", + "... ... ... \n", + "coef_subsequent_of_2plus_work_tours_duration_lt... 2.582000 -25.0 \n", + "coef_subsequent_tour_must_start_after_previous_... -100.000000 -100.0 \n", + "coef_tours_by_student_duration_lt_8_hrs 2.582000 -25.0 \n", + "coef_tours_by_worker_duration_lt_8_hrs 0.912600 -25.0 \n", + "coef_university_student_departure_shift_effects 0.057470 -25.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_arrival_constants_am_peak 25.0 0 \n", - "... ... ... ... \n", - "coef_subsequent_of_2plus_work_tours_duration_lt... 25.0 0 \n", - "coef_subsequent_tour_must_start_after_previous_... 25.0 1 \n", - "coef_tours_by_student_duration_lt_8_hrs 25.0 0 \n", - "coef_tours_by_worker_duration_lt_8_hrs 25.0 0 \n", - "coef_university_student_departure_shift_effects 25.0 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_arrival_constants_am_peak 25.0 0.0 \n", + "... ... ... \n", + "coef_subsequent_of_2plus_work_tours_duration_lt... 25.0 0.0 \n", + "coef_subsequent_tour_must_start_after_previous_... -100.0 0.0 \n", + "coef_tours_by_student_duration_lt_8_hrs 25.0 0.0 \n", + "coef_tours_by_worker_duration_lt_8_hrs 25.0 0.0 \n", + "coef_university_student_departure_shift_effects 25.0 0.0 \n", "\n", - " best \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.326676 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.298901 \n", - "coef_adjacent_window_exists_before_this_departu... -0.038388 \n", - "coef_adjacent_window_exists_before_this_departu... -0.012605 \n", - "coef_arrival_constants_am_peak -2.527138 \n", - "... ... \n", - "coef_subsequent_of_2plus_work_tours_duration_lt... 5.443390 \n", - "coef_subsequent_tour_must_start_after_previous_... -100.000000 \n", - "coef_tours_by_student_duration_lt_8_hrs 20.927636 \n", - "coef_tours_by_worker_duration_lt_8_hrs 19.258236 \n", - "coef_university_student_departure_shift_effects 0.076480 \n", + " holdfast \n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_arrival_constants_am_peak 0 \n", + "... ... \n", + "coef_subsequent_of_2plus_work_tours_duration_lt... 0 \n", + "coef_subsequent_tour_must_start_after_previous_... 1 \n", + "coef_tours_by_student_duration_lt_8_hrs 0 \n", + "coef_tours_by_worker_duration_lt_8_hrs 0 \n", + "coef_university_student_departure_shift_effects 0 \n", "\n", - "[63 rows x 8 columns]" + "[63 rows x 7 columns]" ] }, "metadata": {}, @@ -1502,10 +1667,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.580800976238575e-22 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -1521,23 +1684,23 @@ " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " 0.326676\n", + " 0.346120\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction\n", - " 0.298901\n", + " -0.097167\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " -0.038388\n", + " 0.103758\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction\n", - " -0.012605\n", + " -0.534895\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " -2.527138\n", + " -1.859817\n", " \n", " \n", " coef_arrival_constants_early\n", @@ -1545,19 +1708,19 @@ " \n", " \n", " coef_arrival_constants_evening\n", - " -0.085796\n", + " 0.108541\n", " \n", " \n", " coef_arrival_constants_late\n", - " -1.221408\n", + " -0.888178\n", " \n", " \n", " coef_arrival_constants_midday_1\n", - " -0.489736\n", + " -0.478024\n", " \n", " \n", " coef_arrival_constants_midday_2\n", - " -0.383260\n", + " -0.405187\n", " \n", " \n", " coef_arrival_constants_pm_peak_1\n", @@ -1565,19 +1728,19 @@ " \n", " \n", " coef_arrival_constants_pm_peak_2\n", - " 0.202005\n", + " 0.320157\n", " \n", " \n", " coef_arrival_constants_pm_peak_3\n", - " 0.572524\n", + " 0.736762\n", " \n", " \n", " coef_arrival_constants_pm_peak_4\n", - " 0.705592\n", + " 0.834430\n", " \n", " \n", " coef_departure_constants_am_peak_1\n", - " -0.641898\n", + " -0.600877\n", " \n", " \n", " coef_departure_constants_am_peak_2\n", @@ -1585,55 +1748,55 @@ " \n", " \n", " coef_departure_constants_am_peak_3\n", - " -0.323006\n", + " -0.221080\n", " \n", " \n", " coef_departure_constants_am_peak_4\n", - " -1.220042\n", + " -1.207929\n", " \n", " \n", " coef_departure_constants_early\n", - " -0.889376\n", + " -0.930812\n", " \n", " \n", " coef_departure_constants_evening\n", - " -1.989402\n", + " -1.498679\n", " \n", " \n", " coef_departure_constants_late\n", - " -2.936685\n", + " -2.893575\n", " \n", " \n", " coef_departure_constants_midday_1\n", - " -1.826700\n", + " -1.684758\n", " \n", " \n", " coef_departure_constants_midday_2\n", - " -1.878783\n", + " -1.708659\n", " \n", " \n", " coef_departure_constants_pm_peak\n", - " -1.691847\n", + " -1.375804\n", " \n", " \n", " coef_destination_in_cbd_departure_shift_effects\n", - " 0.028678\n", + " 0.057883\n", " \n", " \n", " coef_destination_in_cbd_duration_shift_effects\n", - " 0.096673\n", + " 0.070217\n", " \n", " \n", " coef_destination_in_cbd_early_departure_interaction\n", - " -0.419959\n", + " -0.365371\n", " \n", " \n", " coef_destination_in_cbd_late_arrival_interaction\n", - " -0.266935\n", + " -0.156618\n", " \n", " \n", " coef_duration_constants_0_to_2_hours\n", - " -2.062403\n", + " -2.598564\n", " \n", " \n", " coef_duration_constants_10_hours\n", @@ -1641,75 +1804,75 @@ " \n", " \n", " coef_duration_constants_11_hours\n", - " -0.358479\n", + " -0.316543\n", " \n", " \n", " coef_duration_constants_12_to_13_hours\n", - " -1.132000\n", + " -0.998700\n", " \n", " \n", " coef_duration_constants_14_to_18_hours\n", - " -1.854875\n", + " -1.641305\n", " \n", " \n", " coef_duration_constants_3_to_4_hours\n", - " -0.600278\n", + " -0.976620\n", " \n", " \n", " coef_duration_constants_5_to_6_hours\n", - " -0.343562\n", + " -0.786160\n", " \n", " \n", " coef_duration_constants_7_to_8_hours\n", - " -0.033981\n", + " -0.191835\n", " \n", " \n", " coef_duration_constants_9_hours\n", - " 0.137251\n", + " 0.041325\n", " \n", " \n", " coef_first_of_2plus_work_tours_departure_shift_effects\n", - " -0.289684\n", + " -0.286911\n", " \n", " \n", " coef_first_of_2plus_work_tours_duration_lt_8_hrs\n", - " 1.916784\n", + " 2.160421\n", " \n", " \n", " coef_first_of_2plus_work_tours_duration_shift_effects\n", - " -0.286185\n", + " -0.159326\n", " \n", " \n", " coef_free_flow_round_trip_auto_time_shift_effects_departure\n", - " 0.000599\n", + " -0.001158\n", " \n", " \n", " coef_free_flow_round_trip_auto_time_shift_effects_duration\n", - " 0.004216\n", + " 0.002097\n", " \n", " \n", " coef_full_time_worker_10_to_12_departure_interaction\n", - " -0.678250\n", + " -0.474411\n", " \n", " \n", " coef_full_time_worker_duration_lt_9_hours_interaction\n", - " -1.357293\n", + " -1.190464\n", " \n", " \n", " coef_household_income_departure_shift_effects\n", - " 0.000111\n", + " 0.000219\n", " \n", " \n", " coef_household_income_early_departure_interaction\n", - " -0.582774\n", + " -0.462242\n", " \n", " \n", " coef_household_income_late_arrival_interaction\n", - " 0.029954\n", + " -0.560334\n", " \n", " \n", " coef_mode_choice_logsum\n", - " 0.247114\n", + " 0.666366\n", " \n", " \n", " coef_non_working_adult_duration_shift_effects\n", @@ -1717,23 +1880,23 @@ " \n", " \n", " coef_part_time_worker_13_to_15_arrival_interaction\n", - " 0.375322\n", + " 0.687690\n", " \n", " \n", " coef_part_time_worker_departure_shift_effects\n", - " 0.095094\n", + " 0.058805\n", " \n", " \n", " coef_previously_scheduled_tour_begins_in_this_arrival_hour\n", - " -6.724955\n", + " -1.250685\n", " \n", " \n", " coef_previously_scheduled_tour_ends_in_this_departure_hour\n", - " 0.258853\n", + " -0.563627\n", " \n", " \n", " coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours\n", - " -6.865187\n", + " -18.677135\n", " \n", " \n", " coef_rural_household_early_departure_interaction\n", @@ -1745,34 +1908,34 @@ " \n", " \n", " coef_subsequent_2plus_work_departure_tours_shift_effects\n", - " 0.060824\n", + " 0.059853\n", " \n", " \n", " coef_subsequent_2plus_work_duration_tours_shift_effects\n", - " -0.080957\n", + " -0.352513\n", " \n", " \n", " coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs\n", - " 5.443390\n", + " 2.609918\n", " \n", " \n", " coef_subsequent_tour_must_start_after_previous_tour_ends\n", - " -25.000000\n", + " -100.000000\n", " \n", " \n", " coef_tours_by_student_duration_lt_8_hrs\n", - " 20.927636\n", + " 2.619822\n", " \n", " \n", " coef_tours_by_worker_duration_lt_8_hrs\n", - " 19.258236\n", + " 0.950422\n", " \n", " \n", " coef_university_student_departure_shift_effects\n", - " 0.076480\n", + " 0.045387\n", " \n", " \n", - "loglike-8399.82196783851d_loglike\n", + "
logloss3.971246101795334d_logloss\n", " \n", " \n", " \n", @@ -1782,23 +1945,23 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1806,19 +1969,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1826,19 +1989,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1846,55 +2009,55 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1902,75 +2065,75 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1978,23 +2141,23 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2006,15 +2169,15 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2022,65 +2185,65 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction6.227709e-05-2.476569e-05
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction-3.094051e-042.401362e-05
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction2.047044e-04-3.242733e-07
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction1.044967e-041.721606e-05
coef_arrival_constants_am_peak-2.094941e-056.908123e-05
coef_arrival_constants_early
coef_arrival_constants_evening-2.523831e-047.288184e-05
coef_arrival_constants_late-1.447395e-03-9.483020e-05
coef_arrival_constants_midday_12.766105e-04-4.017493e-05
coef_arrival_constants_midday_27.345342e-04-6.167975e-05
coef_arrival_constants_pm_peak_1
coef_arrival_constants_pm_peak_27.327399e-04-3.095877e-05
coef_arrival_constants_pm_peak_34.196985e-04-1.941954e-04
coef_arrival_constants_pm_peak_4-6.906812e-049.466248e-05
coef_departure_constants_am_peak_11.225866e-035.666160e-05
coef_departure_constants_am_peak_2
coef_departure_constants_am_peak_31.473105e-03-1.055621e-04
coef_departure_constants_am_peak_4-1.160737e-031.197416e-05
coef_departure_constants_early1.279229e-03-4.303027e-05
coef_departure_constants_evening-7.494769e-044.847181e-05
coef_departure_constants_late-3.382858e-04-1.550132e-05
coef_departure_constants_midday_13.335414e-054.834936e-05
coef_departure_constants_midday_2-2.645412e-03-1.698437e-04
coef_departure_constants_pm_peak-1.917919e-031.852010e-04
coef_destination_in_cbd_departure_shift_effects-4.480046e-022.109060e-04
coef_destination_in_cbd_duration_shift_effects2.390663e-025.183584e-04
coef_destination_in_cbd_early_departure_interaction1.038321e-038.561721e-05
coef_destination_in_cbd_late_arrival_interaction-7.345503e-043.056000e-06
coef_duration_constants_0_to_2_hours-1.367149e-037.551894e-05
coef_duration_constants_10_hours
coef_duration_constants_11_hours7.690066e-04-5.843846e-05
coef_duration_constants_12_to_13_hours1.653562e-036.715821e-05
coef_duration_constants_14_to_18_hours1.225821e-031.601895e-04
coef_duration_constants_3_to_4_hours-1.640102e-03-3.312036e-05
coef_duration_constants_5_to_6_hours-5.618970e-04-1.248871e-04
coef_duration_constants_7_to_8_hours4.597377e-041.212099e-05
coef_duration_constants_9_hours-7.212915e-04-1.193587e-04
coef_first_of_2plus_work_tours_departure_shift_effects-6.512833e-036.406568e-05
coef_first_of_2plus_work_tours_duration_lt_8_hrs-2.321194e-041.190483e-05
coef_first_of_2plus_work_tours_duration_shift_effects3.977570e-03-9.017286e-05
coef_free_flow_round_trip_auto_time_shift_effects_departure-9.773028e-01-1.930899e-03
coef_free_flow_round_trip_auto_time_shift_effects_duration6.851835e-013.916590e-04
coef_full_time_worker_10_to_12_departure_interaction-1.959177e-042.789068e-05
coef_full_time_worker_duration_lt_9_hours_interaction-2.085279e-03-5.147377e-05
coef_household_income_departure_shift_effects-6.023402e+00-8.126657e-03
coef_household_income_early_departure_interaction9.200981e-05-4.696739e-05
coef_household_income_late_arrival_interaction-2.749490e-045.039132e-05
coef_mode_choice_logsum-1.198356e-031.368051e-05
coef_non_working_adult_duration_shift_effects
coef_part_time_worker_13_to_15_arrival_interaction3.494690e-042.401302e-05
coef_part_time_worker_departure_shift_effects-7.745591e-031.505693e-04
coef_previously_scheduled_tour_begins_in_this_arrival_hour-4.665139e-051.307335e-04
coef_previously_scheduled_tour_ends_in_this_departure_hour-2.485873e-05-6.743726e-06
coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours2.255476e-066.820090e-06
coef_rural_household_early_departure_interaction
coef_subsequent_2plus_work_departure_tours_shift_effects-8.338787e-03-3.661524e-05
coef_subsequent_2plus_work_duration_tours_shift_effects7.065869e-042.967934e-05
coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs-2.124468e-043.755607e-05
coef_subsequent_tour_must_start_after_previous_tour_ends
coef_tours_by_student_duration_lt_8_hrs-7.862668e-165.453713e-05
coef_tours_by_worker_duration_lt_8_hrs-7.862668e-165.453713e-05
coef_university_student_departure_shift_effects-1.306805e-025.979971e-05
nit64nfev177njev64status0message'Optimization terminated successfully'successTrueelapsed_time0:00:08.813504method'slsqp'n_cases2124iteration_number64logloss3.954718440601935" + "nit55nfev69njev55status0message'Optimization terminated successfully'successTrueelapsed_time0:00:40.125911method'slsqp'n_cases22637iteration_number55loglike-89082.99255547294" ], "text/plain": [ - "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.326676\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 0.298901\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -0.038388\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -0.012605\n", - "┃ coef_arrival_constants_am_peak -2.527138\n", - "┃ ... \n", - "┃ coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs 5.443390\n", - "┃ coef_subsequent_tour_must_start_after_previous_tour_ends -25.000000\n", - "┃ coef_tours_by_student_duration_lt_8_hrs 20.927636\n", - "┃ coef_tours_by_worker_duration_lt_8_hrs 19.258236\n", - "┃ coef_university_student_departure_shift_effects 0.076480\n", + "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.346120\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -0.097167\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.103758\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -0.534895\n", + "┃ coef_arrival_constants_am_peak -1.859817\n", + "┃ ... \n", + "┃ coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs 2.609918\n", + "┃ coef_subsequent_tour_must_start_after_previous_tour_ends -100.000000\n", + "┃ coef_tours_by_student_duration_lt_8_hrs 2.619822\n", + "┃ coef_tours_by_worker_duration_lt_8_hrs 0.950422\n", + "┃ coef_university_student_departure_shift_effects 0.045387\n", "┃ Length: 63, dtype: float64\n", - "┣ loglike: -8399.82196783851\n", - "┣ d_loglike: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 6.227709e-05\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -3.094051e-04\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 2.047044e-04\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 1.044967e-04\n", - "┃ coef_arrival_constants_am_peak -2.094941e-05\n", + "┣ logloss: 3.971246101795334\n", + "┣ d_logloss: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -2.476569e-05\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 2.401362e-05\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -3.242733e-07\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 1.721606e-05\n", + "┃ coef_arrival_constants_am_peak 6.908123e-05\n", "┃ ... \n", - "┃ coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs -2.124468e-04\n", + "┃ coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs 3.755607e-05\n", "┃ coef_subsequent_tour_must_start_after_previous_tour_ends 0.000000e+00\n", - "┃ coef_tours_by_student_duration_lt_8_hrs -7.862668e-16\n", - "┃ coef_tours_by_worker_duration_lt_8_hrs -7.862668e-16\n", - "┃ coef_university_student_departure_shift_effects -1.306805e-02\n", + "┃ coef_tours_by_student_duration_lt_8_hrs 5.453713e-05\n", + "┃ coef_tours_by_worker_duration_lt_8_hrs 5.453713e-05\n", + "┃ coef_university_student_departure_shift_effects 5.979971e-05\n", "┃ Length: 63, dtype: float64\n", - "┣ nit: 64\n", - "┣ nfev: 177\n", - "┣ njev: 64\n", + "┣ nit: 55\n", + "┣ nfev: 69\n", + "┣ njev: 55\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=8, microseconds=813504)\n", + "┣ elapsed_time: datetime.timedelta(seconds=40, microseconds=125911)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 2124\n", - "┣ iteration_number: 64\n", - "┣ logloss: 3.954718440601935" + "┣ n_cases: 22637\n", + "┣ iteration_number: 55\n", + "┣ loglike: -89082.99255547294" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate()" + "model.estimate(maxiter=900)" ] }, { @@ -2092,596 +2255,622 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value Constrained
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.327 0.208 1.57 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 0.299 0.244 1.23 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction-0.0384 0.207-0.19 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction-0.0126 0.274-0.05 0.00
coef_arrival_constants_am_peak-2.53 0.539-4.68*** 0.00
coef_arrival_constants_early 0.00 NA NA 0.00fixed value
coef_arrival_constants_evening-0.0858 0.208-0.41 0.00
coef_arrival_constants_late-1.22 0.282-4.33*** 0.00
coef_arrival_constants_midday_1-0.490 0.186-2.64** 0.00
coef_arrival_constants_midday_2-0.383 0.132-2.90** 0.00
coef_arrival_constants_pm_peak_1 0.00 NA NA 0.00fixed value
coef_arrival_constants_pm_peak_2 0.202 0.120 1.69 0.00
coef_arrival_constants_pm_peak_3 0.573 0.133 4.30*** 0.00
coef_arrival_constants_pm_peak_4 0.706 0.159 4.44*** 0.00
coef_departure_constants_am_peak_1-0.642 0.0804-7.99*** 0.00
coef_departure_constants_am_peak_2 0.00 NA NA 0.00fixed value
coef_departure_constants_am_peak_3-0.323 0.0737-4.38*** 0.00
coef_departure_constants_am_peak_4-1.22 0.117-10.45*** 0.00
coef_departure_constants_early-0.889 0.134-6.62*** 0.00
coef_departure_constants_evening-1.99 0.528-3.77*** 0.00
coef_departure_constants_late-2.94 1.18-2.49* 0.00
coef_departure_constants_midday_1-1.83 0.208-8.78*** 0.00
coef_departure_constants_midday_2-1.88 0.266-7.06*** 0.00
coef_departure_constants_pm_peak-1.69 0.371-4.56*** 0.00
coef_destination_in_cbd_departure_shift_effects 0.0287 0.0226 1.27 0.00
coef_destination_in_cbd_duration_shift_effects 0.0967 0.0220 4.39*** 0.00
coef_destination_in_cbd_early_departure_interaction-0.420 0.196-2.14* 0.00
coef_destination_in_cbd_late_arrival_interaction-0.267 0.283-0.94 0.00
coef_duration_constants_0_to_2_hours-2.06 0.351-5.88*** 0.00
coef_duration_constants_10_hours 0.00 NA NA 0.00fixed value
coef_duration_constants_11_hours-0.358 0.0855-4.19*** 0.00
coef_duration_constants_12_to_13_hours-1.13 0.126-9.00*** 0.00
coef_duration_constants_14_to_18_hours-1.85 0.206-9.00*** 0.00
coef_duration_constants_3_to_4_hours-0.600 0.269-2.23* 0.00
coef_duration_constants_5_to_6_hours-0.344 0.216-1.59 0.00
coef_duration_constants_7_to_8_hours-0.0340 0.168-0.20 0.00
coef_duration_constants_9_hours 0.137 0.0802 1.71 0.00
coef_first_of_2plus_work_tours_departure_shift_effects-0.290 0.0438-6.61*** 0.00
coef_first_of_2plus_work_tours_duration_lt_8_hrs 1.92 0.473 4.05*** 0.00
coef_first_of_2plus_work_tours_duration_shift_effects-0.286 0.117-2.44* 0.00
coef_free_flow_round_trip_auto_time_shift_effects_departure 0.000599 0.00113 0.53 0.00
coef_free_flow_round_trip_auto_time_shift_effects_duration 0.00422 0.00113 3.74*** 0.00
coef_full_time_worker_10_to_12_departure_interaction-0.678 0.188-3.61*** 0.00
coef_full_time_worker_duration_lt_9_hours_interaction-1.36 0.151-8.96*** 0.00
coef_household_income_departure_shift_effects 0.000111 5.14e-05 2.17* 0.00
coef_household_income_early_departure_interaction-0.583 0.190-3.06** 0.00
coef_household_income_late_arrival_interaction 0.0300 0.261 0.11 0.00
coef_mode_choice_logsum 0.247 0.208 1.19 0.00
coef_non_working_adult_duration_shift_effects-0.121 7.38e-09-BIG*** 0.00
coef_part_time_worker_13_to_15_arrival_interaction 0.375 0.175 2.15* 0.00
coef_part_time_worker_departure_shift_effects 0.0951 0.0253 3.76*** 0.00
coef_previously_scheduled_tour_begins_in_this_arrival_hour-6.72 146.-0.05 0.00
coef_previously_scheduled_tour_ends_in_this_departure_hour 0.259 0.357 0.72 0.00
coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours-6.87 21.4-0.32 0.00
coef_rural_household_early_departure_interaction 0.404 1.82e-10 BIG*** 0.00
coef_rural_household_late_arrival_interaction-0.345 1.13e-10-BIG*** 0.00
coef_subsequent_2plus_work_departure_tours_shift_effects 0.0608 0.0688 0.88 0.00
coef_subsequent_2plus_work_duration_tours_shift_effects-0.0810 0.0775-1.05 0.00
coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs 5.44 1.37 3.97*** 0.00
coef_subsequent_tour_must_start_after_previous_tour_ends-100. NA NA 0.00fixed value
coef_tours_by_student_duration_lt_8_hrs 20.9 8.74e-05 BIG*** 0.00
coef_tours_by_worker_duration_lt_8_hrs 19.3 8.74e-05 BIG*** 0.00
coef_university_student_departure_shift_effects 0.0765 0.0340 2.25* 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.346 0.844 0.41 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction-0.0972 0.215-0.45 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.104 0.118 0.88 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction-0.535 0.816-0.66 0.00
coef_arrival_constants_am_peak-1.86 0.145-12.84*** 0.00
coef_arrival_constants_early 0.00 0.00 NA 0.00fixed value
coef_arrival_constants_evening 0.109 0.0645 1.68 0.00
coef_arrival_constants_late-0.888 0.0858-10.35*** 0.00
coef_arrival_constants_midday_1-0.478 0.0618-7.73*** 0.00
coef_arrival_constants_midday_2-0.405 0.0420-9.64*** 0.00
coef_arrival_constants_pm_peak_1 0.00 0.00 NA 0.00fixed value
coef_arrival_constants_pm_peak_2 0.320 0.0376 8.52*** 0.00
coef_arrival_constants_pm_peak_3 0.737 0.0414 17.81*** 0.00
coef_arrival_constants_pm_peak_4 0.834 0.0492 16.97*** 0.00
coef_departure_constants_am_peak_1-0.601 0.0240-25.03*** 0.00
coef_departure_constants_am_peak_2 0.00 0.00 NA 0.00fixed value
coef_departure_constants_am_peak_3-0.221 0.0223-9.89*** 0.00
coef_departure_constants_am_peak_4-1.21 0.0368-32.83*** 0.00
coef_departure_constants_early-0.931 0.0394-23.64*** 0.00
coef_departure_constants_evening-1.50 0.169-8.89*** 0.00
coef_departure_constants_late-2.89 0.523-5.53*** 0.00
coef_departure_constants_midday_1-1.68 0.0667-25.25*** 0.00
coef_departure_constants_midday_2-1.71 0.0823-20.76*** 0.00
coef_departure_constants_pm_peak-1.38 0.115-11.93*** 0.00
coef_destination_in_cbd_departure_shift_effects 0.0579 0.00940 6.16*** 0.00
coef_destination_in_cbd_duration_shift_effects 0.0702 0.00841 8.35*** 0.00
coef_destination_in_cbd_early_departure_interaction-0.365 0.0703-5.19*** 0.00
coef_destination_in_cbd_late_arrival_interaction-0.157 0.102-1.54 0.00
coef_duration_constants_0_to_2_hours-2.60 0.110-23.52*** 0.00
coef_duration_constants_10_hours 0.00 0.00 NA 0.00fixed value
coef_duration_constants_11_hours-0.317 0.0255-12.41*** 0.00
coef_duration_constants_12_to_13_hours-0.999 0.0368-27.14*** 0.00
coef_duration_constants_14_to_18_hours-1.64 0.0595-27.58*** 0.00
coef_duration_constants_3_to_4_hours-0.977 0.0830-11.76*** 0.00
coef_duration_constants_5_to_6_hours-0.786 0.0678-11.60*** 0.00
coef_duration_constants_7_to_8_hours-0.192 0.0520-3.69*** 0.00
coef_duration_constants_9_hours 0.0413 0.0245 1.69 0.00
coef_first_of_2plus_work_tours_departure_shift_effects-0.287 0.0162-17.76*** 0.00
coef_first_of_2plus_work_tours_duration_lt_8_hrs 2.16 0.150 14.40*** 0.00
coef_first_of_2plus_work_tours_duration_shift_effects-0.159 0.0411-3.88*** 0.00
coef_free_flow_round_trip_auto_time_shift_effects_departure-0.00116 0.000147-7.89*** 0.00
coef_free_flow_round_trip_auto_time_shift_effects_duration 0.00210 0.000113 18.52*** 0.00
coef_full_time_worker_10_to_12_departure_interaction-0.474 0.0596-7.95*** 0.00
coef_full_time_worker_duration_lt_9_hours_interaction-1.19 0.0487-24.43*** 0.00
coef_household_income_departure_shift_effects 0.000219 3.32e-05 6.61*** 0.00
coef_household_income_early_departure_interaction-0.462 0.0533-8.67*** 0.00
coef_household_income_late_arrival_interaction-0.560 0.0878-6.38*** 0.00
coef_mode_choice_logsum 0.666 0.0752 8.86*** 0.00
coef_non_working_adult_duration_shift_effects-0.121 NA NA 0.00
coef_part_time_worker_13_to_15_arrival_interaction 0.688 0.0550 12.51*** 0.00
coef_part_time_worker_departure_shift_effects 0.0588 0.00877 6.70*** 0.00
coef_previously_scheduled_tour_begins_in_this_arrival_hour-1.25 3.92-0.32 0.00
coef_previously_scheduled_tour_ends_in_this_departure_hour-0.564 0.810-0.70 0.00
coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours-18.7 7.36-2.54* 0.00
coef_rural_household_early_departure_interaction 0.404 NA NA 0.00
coef_rural_household_late_arrival_interaction-0.345 2.80e-14-BIG*** 0.00
coef_subsequent_2plus_work_departure_tours_shift_effects 0.0599 0.0282 2.12* 0.00
coef_subsequent_2plus_work_duration_tours_shift_effects-0.353 0.0325-10.85*** 0.00
coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs 2.61 0.544 4.80*** 0.00
coef_subsequent_tour_must_start_after_previous_tour_ends-100. 0.00 NA 0.00fixed value
coef_tours_by_student_duration_lt_8_hrs 2.62 0.456 5.75*** 0.00
coef_tours_by_worker_duration_lt_8_hrs 0.950 0.456 2.08* 0.00
coef_university_student_departure_shift_effects 0.0454 0.0124 3.66*** 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -2702,7 +2891,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -2723,20 +2912,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -2755,7 +2933,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -2794,19 +2972,19 @@ " \n", " 1\n", " coef_free_flow_round_trip_auto_time_shift_effe...\n", - " 0.000599\n", + " -0.001158\n", " F\n", " \n", " \n", " 2\n", " coef_free_flow_round_trip_auto_time_shift_effe...\n", - " 0.004216\n", + " 0.002097\n", " F\n", " \n", " \n", " 3\n", " coef_part_time_worker_departure_shift_effects\n", - " 0.095094\n", + " 0.058805\n", " F\n", " \n", " \n", @@ -2824,7 +3002,7 @@ " \n", " 59\n", " coef_duration_constants_9_hours\n", - " 0.137251\n", + " 0.041325\n", " F\n", " \n", " \n", @@ -2836,19 +3014,19 @@ " \n", " 61\n", " coef_duration_constants_11_hours\n", - " -0.358479\n", + " -0.316543\n", " F\n", " \n", " \n", " 62\n", " coef_duration_constants_12_to_13_hours\n", - " -1.132000\n", + " -0.998700\n", " F\n", " \n", " \n", " 63\n", " coef_duration_constants_14_to_18_hours\n", - " -1.854875\n", + " -1.641305\n", " F\n", " \n", " \n", @@ -2859,21 +3037,21 @@ "text/plain": [ " coefficient_name value constrain\n", "0 coef_dummy 1.000000 T\n", - "1 coef_free_flow_round_trip_auto_time_shift_effe... 0.000599 F\n", - "2 coef_free_flow_round_trip_auto_time_shift_effe... 0.004216 F\n", - "3 coef_part_time_worker_departure_shift_effects 0.095094 F\n", + "1 coef_free_flow_round_trip_auto_time_shift_effe... -0.001158 F\n", + "2 coef_free_flow_round_trip_auto_time_shift_effe... 0.002097 F\n", + "3 coef_part_time_worker_departure_shift_effects 0.058805 F\n", "4 coef_non_working_adult_duration_shift_effects -0.120700 F\n", ".. ... ... ...\n", - "59 coef_duration_constants_9_hours 0.137251 F\n", + "59 coef_duration_constants_9_hours 0.041325 F\n", "60 coef_duration_constants_10_hours 0.000000 T\n", - "61 coef_duration_constants_11_hours -0.358479 F\n", - "62 coef_duration_constants_12_to_13_hours -1.132000 F\n", - "63 coef_duration_constants_14_to_18_hours -1.854875 F\n", + "61 coef_duration_constants_11_hours -0.316543 F\n", + "62 coef_duration_constants_12_to_13_hours -0.998700 F\n", + "63 coef_duration_constants_14_to_18_hours -1.641305 F\n", "\n", "[64 rows x 3 columns]" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -2890,7 +3068,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -2904,7 +3082,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/09_school_tour_scheduling.ipynb b/activitysim/examples/example_estimation/notebooks/09_school_tour_scheduling.ipynb index 397fe34962..d05cc6e6f9 100644 --- a/activitysim/examples/example_estimation/notebooks/09_school_tour_scheduling.ipynb +++ b/activitysim/examples/example_estimation/notebooks/09_school_tour_scheduling.ipynb @@ -34,27 +34,75 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +116,28 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_school/tour_scheduling_school_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_school/mandatory_tour_scheduling_school_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_school/mandatory_tour_scheduling_school_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/mandatory_tour_scheduling_school/mandatory_tour_scheduling_school_choosers_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"mandatory_tour_scheduling_school\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -673,28 +737,28 @@ " 23\n", " coef_adjacent_window_exists_before_this_depart...\n", " Adjacent window exists before this departure h...\n", - " @(df.tour_count>1) & (df.tour_num == 1) & _adj...\n", + " @(df.tour_count>1) * (df.tour_num == 1) * _adj...\n", " coef_adjacent_window_exists_before_this_depart...\n", " \n", " \n", " 24\n", " coef_adjacent_window_exists_after_this_arrival...\n", " Adjacent window exists after this arrival hour...\n", - " @(df.tour_count>1) & (df.tour_num == 1) & _adj...\n", + " @(df.tour_count>1) * (df.tour_num == 1) * _adj...\n", " coef_adjacent_window_exists_after_this_arrival...\n", " \n", " \n", " 25\n", " util_adjacent_window_exists_before_this_depart...\n", " Adjacent window exists before this departure h...\n", - " @(df.tour_num > 1) & _adjacent_window_before\n", + " @(df.tour_num > 1) * _adjacent_window_before\n", " coef_adjacent_window_exists_before_this_depart...\n", " \n", " \n", " 26\n", " util_adjacent_window_exists_after_this_arrival...\n", " Adjacent window exists after this arrival hour...\n", - " @(df.tour_num > 1) & _adjacent_window_after\n", + " @(df.tour_num > 1) * _adjacent_window_after\n", " coef_adjacent_window_exists_after_this_arrival...\n", " \n", " \n", @@ -713,7 +777,7 @@ " \n", " \n", " 29\n", - " util_departure_constants_am_peak_1 _6\n", + " util_departure_constants_am_peak_1_6\n", " Departure Constants -- AM peak 1 (6)\n", " start == 6\n", " coef_departure_constants_am_peak_1\n", @@ -940,7 +1004,7 @@ "26 util_adjacent_window_exists_after_this_arrival... \n", "27 util_remaining_work_school_tours_to_be_schedul... \n", "28 util_departure_constants_early_up_to_5 \n", - "29 util_departure_constants_am_peak_1 _6 \n", + "29 util_departure_constants_am_peak_1_6 \n", "30 util_departure_constants_am_peak_2_7 \n", "31 util_departure_constants_am_peak_3_8 \n", "32 util_departure_constants_am_peak_4_9 \n", @@ -1048,10 +1112,10 @@ "18 mode_choice_logsum \n", "21 @tt.previous_tour_ends(df.person_id, df.start) \n", "22 @tt.previous_tour_begins(df.person_id, df.end) \n", - "23 @(df.tour_count>1) & (df.tour_num == 1) & _adj... \n", - "24 @(df.tour_count>1) & (df.tour_num == 1) & _adj... \n", - "25 @(df.tour_num > 1) & _adjacent_window_before \n", - "26 @(df.tour_num > 1) & _adjacent_window_after \n", + "23 @(df.tour_count>1) * (df.tour_num == 1) * _adj... \n", + "24 @(df.tour_count>1) * (df.tour_num == 1) * _adj... \n", + "25 @(df.tour_num > 1) * _adjacent_window_before \n", + "26 @(df.tour_num > 1) * _adjacent_window_after \n", "27 @((df.tour_count>1) & (df.tour_num == 1)) * 1.... \n", "28 start < 6 \n", "29 start == 6 \n", @@ -1209,10 +1273,10 @@ " \n", " \n", " 0\n", - " 25820\n", - " 106\n", - " 121\n", - " 629\n", + " 78669\n", + " 136\n", + " 59\n", + " 1918\n", " school\n", " 1\n", " 1\n", @@ -1226,17 +1290,17 @@ " True\n", " True\n", " -1\n", - " 12\n", - " 131\n", + " 188\n", + " 186\n", " 5\n", " 5\n", " \n", " \n", " 1\n", - " 52265\n", - " 88\n", - " 86\n", - " 1274\n", + " 131846\n", + " 175\n", + " 59\n", + " 3215\n", " school\n", " 1\n", " 1\n", @@ -1250,17 +1314,17 @@ " True\n", " True\n", " -1\n", - " 10\n", - " 166\n", + " 229\n", + " 252\n", " 5\n", " 5\n", " \n", " \n", " 2\n", - " 1117937\n", - " 163\n", - " 163\n", - " 27266\n", + " 178873\n", + " 166\n", + " 45\n", + " 4362\n", " school\n", " 1\n", " 1\n", @@ -1274,17 +1338,17 @@ " True\n", " True\n", " -1\n", - " 12\n", - " 9\n", + " 342\n", + " 313\n", " 5\n", " 5\n", " \n", " \n", " 3\n", - " 1148523\n", - " 126\n", - " 56\n", - " 28012\n", + " 240250\n", + " 154\n", + " 64\n", + " 5859\n", " school\n", " 1\n", " 1\n", @@ -1298,17 +1362,17 @@ " True\n", " True\n", " -1\n", - " 5\n", - " 10\n", + " 490\n", + " 400\n", " 5\n", " 5\n", " \n", " \n", " 4\n", - " 1208547\n", - " 61\n", - " 61\n", - " 29476\n", + " 250131\n", + " 164\n", + " 74\n", + " 6100\n", " school\n", " 1\n", " 1\n", @@ -1322,8 +1386,8 @@ " True\n", " True\n", " -1\n", - " 13\n", - " 16\n", + " 545\n", + " 437\n", " 5\n", " 5\n", " \n", @@ -1352,59 +1416,59 @@ " ...\n", " \n", " \n", - " 604\n", - " 307969317\n", - " 170\n", - " 170\n", - " 7511446\n", + " 10347\n", + " 309517395\n", + " 78\n", + " 60\n", + " 7549204\n", " school\n", " 1\n", " 1\n", - " 2\n", - " 2\n", + " 1\n", + " 1\n", " mandatory\n", " ...\n", " False\n", - " work_and_school\n", - " True\n", - " True\n", + " school1\n", + " False\n", " True\n", - " 92\n", - " 91\n", - " 8\n", - " 7\n", - " 12\n", + " False\n", + " -1\n", + " 885\n", + " 907\n", + " 5\n", + " 5\n", " \n", " \n", - " 605\n", - " 308122616\n", - " 163\n", - " 164\n", - " 7515185\n", + " 10348\n", + " 309518789\n", + " 45\n", + " 64\n", + " 7549238\n", " school\n", " 1\n", " 1\n", - " 2\n", - " 2\n", + " 1\n", + " 1\n", " mandatory\n", " ...\n", " False\n", - " work_and_school\n", - " True\n", - " True\n", + " school1\n", + " False\n", " True\n", - " 16\n", - " 188\n", - " 142\n", - " 7\n", - " 14\n", + " False\n", + " -1\n", + " 1018\n", + " 910\n", + " 5\n", + " 5\n", " \n", " \n", - " 606\n", - " 308631508\n", - " 169\n", - " 169\n", - " 7527597\n", + " 10349\n", + " 309590785\n", + " 126\n", + " 46\n", + " 7550994\n", " school\n", " 1\n", " 1\n", @@ -1416,133 +1480,133 @@ " school1\n", " False\n", " True\n", - " True\n", + " False\n", " -1\n", - " 13\n", - " 188\n", + " 1091\n", + " 1124\n", " 5\n", " 5\n", " \n", " \n", - " 607\n", - " 309183983\n", - " 22\n", - " 20\n", - " 7541072\n", + " 10350\n", + " 309649169\n", + " 62\n", + " 28\n", + " 7552418\n", " school\n", - " 2\n", " 1\n", " 1\n", - " 2\n", + " 1\n", + " 1\n", " mandatory\n", " ...\n", " False\n", - " school2\n", + " school1\n", " False\n", " True\n", - " True\n", + " False\n", " -1\n", - " 107\n", - " 117\n", + " 1263\n", + " 1268\n", " 5\n", " 5\n", " \n", " \n", - " 608\n", - " 309183984\n", - " 180\n", - " 175\n", - " 7541072\n", + " 10351\n", + " 310038054\n", + " 38\n", + " 148\n", + " 7561903\n", " school\n", - " 2\n", - " 2\n", - " 2\n", - " 2\n", + " 1\n", + " 1\n", + " 1\n", + " 1\n", " mandatory\n", " ...\n", " False\n", - " school2\n", + " school1\n", " False\n", " True\n", " True\n", " -1\n", - " 107\n", - " 117\n", - " 6\n", - " 9\n", + " 1127\n", + " 1121\n", + " 5\n", + " 5\n", " \n", " \n", "\n", - "

609 rows × 40 columns

\n", + "

10352 rows × 40 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 25820 106 121 629 school \n", - "1 52265 88 86 1274 school \n", - "2 1117937 163 163 27266 school \n", - "3 1148523 126 56 28012 school \n", - "4 1208547 61 61 29476 school \n", - ".. ... ... ... ... ... \n", - "604 307969317 170 170 7511446 school \n", - "605 308122616 163 164 7515185 school \n", - "606 308631508 169 169 7527597 school \n", - "607 309183983 22 20 7541072 school \n", - "608 309183984 180 175 7541072 school \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 78669 136 59 1918 school \n", + "1 131846 175 59 3215 school \n", + "2 178873 166 45 4362 school \n", + "3 240250 154 64 5859 school \n", + "4 250131 164 74 6100 school \n", + "... ... ... ... ... ... \n", + "10347 309517395 78 60 7549204 school \n", + "10348 309518789 45 64 7549238 school \n", + "10349 309590785 126 46 7550994 school \n", + "10350 309649169 62 28 7552418 school \n", + "10351 310038054 38 148 7561903 school \n", "\n", - " tour_type_count tour_type_num tour_num tour_count tour_category ... \\\n", - "0 1 1 1 1 mandatory ... \n", - "1 1 1 1 1 mandatory ... \n", - "2 1 1 1 1 mandatory ... \n", - "3 1 1 1 1 mandatory ... \n", - "4 1 1 1 1 mandatory ... \n", - ".. ... ... ... ... ... ... \n", - "604 1 1 2 2 mandatory ... \n", - "605 1 1 2 2 mandatory ... \n", - "606 1 1 1 1 mandatory ... \n", - "607 2 1 1 2 mandatory ... \n", - "608 2 2 2 2 mandatory ... \n", + " tour_type_count tour_type_num tour_num tour_count tour_category \\\n", + "0 1 1 1 1 mandatory \n", + "1 1 1 1 1 mandatory \n", + "2 1 1 1 1 mandatory \n", + "3 1 1 1 1 mandatory \n", + "4 1 1 1 1 mandatory \n", + "... ... ... ... ... ... \n", + "10347 1 1 1 1 mandatory \n", + "10348 1 1 1 1 mandatory \n", + "10349 1 1 1 1 mandatory \n", + "10350 1 1 1 1 mandatory \n", + "10351 1 1 1 1 mandatory \n", "\n", - " home_is_rural mandatory_tour_frequency is_worker is_student \\\n", - "0 False school1 False True \n", - "1 False school1 False True \n", - "2 False school1 False True \n", - "3 False school1 False True \n", - "4 False school1 False True \n", - ".. ... ... ... ... \n", - "604 False work_and_school True True \n", - "605 False work_and_school True True \n", - "606 False school1 False True \n", - "607 False school2 False True \n", - "608 False school2 False True \n", + " ... home_is_rural mandatory_tour_frequency is_worker is_student \\\n", + "0 ... False school1 False True \n", + "1 ... False school1 False True \n", + "2 ... False school1 False True \n", + "3 ... False school1 False True \n", + "4 ... False school1 False True \n", + "... ... ... ... ... ... \n", + "10347 ... False school1 False True \n", + "10348 ... False school1 False True \n", + "10349 ... False school1 False True \n", + "10350 ... False school1 False True \n", + "10351 ... False school1 False True \n", "\n", - " is_university workplace_zone_id school_zone_id home_zone_id \\\n", - "0 True -1 12 131 \n", - "1 True -1 10 166 \n", - "2 True -1 12 9 \n", - "3 True -1 5 10 \n", - "4 True -1 13 16 \n", - ".. ... ... ... ... \n", - "604 True 92 91 8 \n", - "605 True 16 188 142 \n", - "606 True -1 13 188 \n", - "607 True -1 107 117 \n", - "608 True -1 107 117 \n", + " is_university workplace_zone_id school_zone_id home_zone_id \\\n", + "0 True -1 188 186 \n", + "1 True -1 229 252 \n", + "2 True -1 342 313 \n", + "3 True -1 490 400 \n", + "4 True -1 545 437 \n", + "... ... ... ... ... \n", + "10347 False -1 885 907 \n", + "10348 False -1 1018 910 \n", + "10349 False -1 1091 1124 \n", + "10350 False -1 1263 1268 \n", + "10351 True -1 1127 1121 \n", "\n", - " start_previous end_previous \n", - "0 5 5 \n", - "1 5 5 \n", - "2 5 5 \n", - "3 5 5 \n", - "4 5 5 \n", - ".. ... ... \n", - "604 7 12 \n", - "605 7 14 \n", - "606 5 5 \n", - "607 5 5 \n", - "608 6 9 \n", + " start_previous end_previous \n", + "0 5 5 \n", + "1 5 5 \n", + "2 5 5 \n", + "3 5 5 \n", + "4 5 5 \n", + "... ... ... \n", + "10347 5 5 \n", + "10348 5 5 \n", + "10349 5 5 \n", + "10350 5 5 \n", + "10351 5 5 \n", "\n", - "[609 rows x 40 columns]" + "[10352 rows x 40 columns]" ] }, "execution_count": 6, @@ -1588,148 +1652,148 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", + " start\n", + " end\n", + " duration\n", + " tdd\n", + " out_period\n", + " in_period\n", + " mode_choice_logsum\n", + " util_roundtrip_auto_time_to_work\n", + " util_ft_worker_departure\n", " ...\n", - " 180\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", + " util_arrival_constants_late_22_and_later\n", + " util_duration_constants_0_to_2_hours\n", + " util_duration_constants_3_to_4_hours\n", + " util_duration_constants_5_to_6_hours\n", + " util_duration_constants_7_to_8_hours\n", + " util_duration_constants_9_hours\n", + " util_duration_constants_10_hours\n", + " util_duration_constants_11_hours\n", + " util_duration_constants_12_to_13_hours\n", + " util_duration_constants_14_to_18_hours\n", " \n", " \n", " \n", " \n", " 0\n", - " 25820\n", - " duration\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", + " 78669\n", + " 5\n", " 5\n", - " 6\n", - " 7\n", - " ...\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", " 0\n", - " 1\n", - " 2\n", " 0\n", - " 1\n", + " EA\n", + " EA\n", + " -0.558633\n", + " 0.0\n", " 0\n", + " ...\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 1\n", - " 25820\n", - " end\n", + " 78669\n", " 5\n", " 6\n", - " 7\n", - " 8\n", - " 9\n", - " 10\n", - " 11\n", - " 12\n", + " 1\n", + " 1\n", + " EA\n", + " AM\n", + " -0.452321\n", + " 0.0\n", + " 0\n", " ...\n", - " 20\n", - " 21\n", - " 22\n", - " 23\n", - " 21\n", - " 22\n", - " 23\n", - " 22\n", - " 23\n", - " 23\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 2\n", - " 25820\n", - " in_period\n", + " 78669\n", + " 5\n", + " 7\n", + " 2\n", + " 2\n", " EA\n", " AM\n", - " AM\n", - " AM\n", - " AM\n", - " MD\n", - " MD\n", - " MD\n", + " -0.452321\n", + " 0.0\n", + " 0\n", " ...\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 3\n", - " 25820\n", - " mode_choice_logsum\n", - " -1.296359741907684\n", - " -1.3037984712857993\n", - " -1.3037984712857993\n", - " -1.3037984712857993\n", - " -1.3037984712857993\n", - " -1.3201068063134296\n", - " -1.3201068063134296\n", - " -1.3201068063134296\n", + " 78669\n", + " 5\n", + " 8\n", + " 3\n", + " 3\n", + " EA\n", + " AM\n", + " -0.452321\n", + " 0.0\n", + " 0\n", " ...\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", - " -1.5517476709880444\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 4\n", - " 25820\n", - " out_period\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", - " EA\n", + " 78669\n", + " 5\n", + " 9\n", + " 4\n", + " 4\n", " EA\n", + " AM\n", + " -0.452321\n", + " 0.0\n", + " 0\n", " ...\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", - " EV\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " ...\n", @@ -1756,68 +1820,68 @@ " ...\n", " \n", " \n", - " 37144\n", - " 309183984\n", - " util_subsequent_2plus_school_tours_duration\n", - " 0\n", + " 1912825\n", + " 310038054\n", + " 21\n", + " 22\n", " 1\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 185\n", + " EV\n", + " EV\n", + " 1.881379\n", + " 0.0\n", " 0\n", " ...\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 0\n", - " 1\n", - " 2\n", - " 0\n", - " 1\n", - " 0\n", - " \n", - " \n", - " 37145\n", - " 309183984\n", - " util_subsequent_of_2plus_school_lt_6_hours\n", " True\n", " True\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " \n", + " \n", + " 1912826\n", + " 310038054\n", + " 21\n", + " 23\n", + " 2\n", + " 186\n", + " EV\n", + " EV\n", + " 1.881379\n", + " 0.0\n", " 0\n", " ...\n", " True\n", " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 37146\n", - " 309183984\n", - " util_subsequent_tour_must_start_after_previous...\n", - " True\n", - " True\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 1912827\n", + " 310038054\n", + " 22\n", + " 22\n", " 0\n", + " 187\n", + " EV\n", + " EV\n", + " 1.881379\n", + " 0.0\n", " 0\n", " ...\n", - " False\n", - " False\n", + " True\n", + " True\n", " False\n", " False\n", " False\n", @@ -1828,151 +1892,216 @@ " False\n", " \n", " \n", - " 37147\n", - " 309183984\n", - " util_univ_departure\n", - " 5\n", - " 5\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " 20\n", - " 20\n", - " 20\n", - " 20\n", - " 21\n", - " 21\n", - " 21\n", - " 22\n", + " 1912828\n", + " 310038054\n", " 22\n", " 23\n", - " \n", - " \n", - " 37148\n", - " 309183984\n", - " util_univ_duration\n", - " 0\n", " 1\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 188\n", + " EV\n", + " EV\n", + " 1.881379\n", + " 0.0\n", " 0\n", " ...\n", + " True\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " \n", + " \n", + " 1912829\n", + " 310038054\n", + " 23\n", + " 23\n", " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 0\n", - " 1\n", - " 2\n", - " 0\n", - " 1\n", + " 189\n", + " EV\n", + " EV\n", + " 1.881379\n", + " 0.0\n", " 0\n", + " ...\n", + " True\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", "\n", - "

37149 rows × 192 columns

\n", + "

1912830 rows × 63 columns

\n", "" ], "text/plain": [ - " tour_id variable \\\n", - "0 25820 duration \n", - "1 25820 end \n", - "2 25820 in_period \n", - "3 25820 mode_choice_logsum \n", - "4 25820 out_period \n", - "... ... ... \n", - "37144 309183984 util_subsequent_2plus_school_tours_duration \n", - "37145 309183984 util_subsequent_of_2plus_school_lt_6_hours \n", - "37146 309183984 util_subsequent_tour_must_start_after_previous... \n", - "37147 309183984 util_univ_departure \n", - "37148 309183984 util_univ_duration \n", + " tour_id start end duration tdd out_period in_period \\\n", + "0 78669 5 5 0 0 EA EA \n", + "1 78669 5 6 1 1 EA AM \n", + "2 78669 5 7 2 2 EA AM \n", + "3 78669 5 8 3 3 EA AM \n", + "4 78669 5 9 4 4 EA AM \n", + "... ... ... ... ... ... ... ... \n", + "1912825 310038054 21 22 1 185 EV EV \n", + "1912826 310038054 21 23 2 186 EV EV \n", + "1912827 310038054 22 22 0 187 EV EV \n", + "1912828 310038054 22 23 1 188 EV EV \n", + "1912829 310038054 23 23 0 189 EV EV \n", + "\n", + " mode_choice_logsum util_roundtrip_auto_time_to_work \\\n", + "0 -0.558633 0.0 \n", + "1 -0.452321 0.0 \n", + "2 -0.452321 0.0 \n", + "3 -0.452321 0.0 \n", + "4 -0.452321 0.0 \n", + "... ... ... \n", + "1912825 1.881379 0.0 \n", + "1912826 1.881379 0.0 \n", + "1912827 1.881379 0.0 \n", + "1912828 1.881379 0.0 \n", + "1912829 1.881379 0.0 \n", + "\n", + " util_ft_worker_departure ... \\\n", + "0 0 ... \n", + "1 0 ... \n", + "2 0 ... \n", + "3 0 ... \n", + "4 0 ... \n", + "... ... ... \n", + "1912825 0 ... \n", + "1912826 0 ... \n", + "1912827 0 ... \n", + "1912828 0 ... \n", + "1912829 0 ... \n", + "\n", + " util_arrival_constants_late_22_and_later \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 True \n", + "1912826 True \n", + "1912827 True \n", + "1912828 True \n", + "1912829 True \n", + "\n", + " util_duration_constants_0_to_2_hours \\\n", + "0 True \n", + "1 True \n", + "2 True \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 True \n", + "1912826 True \n", + "1912827 True \n", + "1912828 True \n", + "1912829 True \n", "\n", - " 0 1 2 \\\n", - "0 0 1 2 \n", - "1 5 6 7 \n", - "2 EA AM AM \n", - "3 -1.296359741907684 -1.3037984712857993 -1.3037984712857993 \n", - "4 EA EA EA \n", - "... ... ... ... \n", - "37144 0 1 0 \n", - "37145 True True 0 \n", - "37146 True True 0 \n", - "37147 5 5 0 \n", - "37148 0 1 0 \n", + " util_duration_constants_3_to_4_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 True \n", + "4 True \n", + "... ... \n", + "1912825 False \n", + "1912826 False \n", + "1912827 False \n", + "1912828 False \n", + "1912829 False \n", "\n", - " 3 4 5 \\\n", - "0 3 4 5 \n", - "1 8 9 10 \n", - "2 AM AM MD \n", - "3 -1.3037984712857993 -1.3037984712857993 -1.3201068063134296 \n", - "4 EA EA EA \n", - "... ... ... ... \n", - "37144 0 0 0 \n", - "37145 0 0 0 \n", - "37146 0 0 0 \n", - "37147 0 0 0 \n", - "37148 0 0 0 \n", + " util_duration_constants_5_to_6_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 False \n", + "1912826 False \n", + "1912827 False \n", + "1912828 False \n", + "1912829 False \n", "\n", - " 6 7 ... 180 \\\n", - "0 6 7 ... 0 \n", - "1 11 12 ... 20 \n", - "2 MD MD ... EV \n", - "3 -1.3201068063134296 -1.3201068063134296 ... -1.5517476709880444 \n", - "4 EA EA ... EV \n", - "... ... ... ... ... \n", - "37144 0 0 ... 0 \n", - "37145 0 0 ... True \n", - "37146 0 0 ... False \n", - "37147 0 0 ... 20 \n", - "37148 0 0 ... 0 \n", + " util_duration_constants_7_to_8_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 False \n", + "1912826 False \n", + "1912827 False \n", + "1912828 False \n", + "1912829 False \n", "\n", - " 181 182 183 \\\n", - "0 1 2 3 \n", - "1 21 22 23 \n", - "2 EV EV EV \n", - "3 -1.5517476709880444 -1.5517476709880444 -1.5517476709880444 \n", - "4 EV EV EV \n", - "... ... ... ... \n", - "37144 1 2 3 \n", - "37145 True True True \n", - "37146 False False False \n", - "37147 20 20 20 \n", - "37148 1 2 3 \n", + " util_duration_constants_9_hours util_duration_constants_10_hours \\\n", + "0 False False \n", + "1 False False \n", + "2 False False \n", + "3 False False \n", + "4 False False \n", + "... ... ... \n", + "1912825 False False \n", + "1912826 False False \n", + "1912827 False False \n", + "1912828 False False \n", + "1912829 False False \n", "\n", - " 184 185 186 \\\n", - "0 0 1 2 \n", - "1 21 22 23 \n", - "2 EV EV EV \n", - "3 -1.5517476709880444 -1.5517476709880444 -1.5517476709880444 \n", - "4 EV EV EV \n", - "... ... ... ... \n", - "37144 0 1 2 \n", - "37145 True True True \n", - "37146 False False False \n", - "37147 21 21 21 \n", - "37148 0 1 2 \n", + " util_duration_constants_11_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 False \n", + "1912826 False \n", + "1912827 False \n", + "1912828 False \n", + "1912829 False \n", "\n", - " 187 188 189 \n", - "0 0 1 0 \n", - "1 22 23 23 \n", - "2 EV EV EV \n", - "3 -1.5517476709880444 -1.5517476709880444 -1.5517476709880444 \n", - "4 EV EV EV \n", - "... ... ... ... \n", - "37144 0 1 0 \n", - "37145 True True True \n", - "37146 False False False \n", - "37147 22 22 23 \n", - "37148 0 1 0 \n", + " util_duration_constants_12_to_13_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 False \n", + "1912826 False \n", + "1912827 False \n", + "1912828 False \n", + "1912829 False \n", "\n", - "[37149 rows x 192 columns]" + " util_duration_constants_14_to_18_hours \n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "1912825 False \n", + "1912826 False \n", + "1912827 False \n", + "1912828 False \n", + "1912829 False \n", + "\n", + "[1912830 rows x 63 columns]" ] }, "execution_count": 7, @@ -2002,13 +2131,80 @@ "name": "stderr", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "problem: chosen_but_not_available has (46 issues)\n" ] }, + { + "data": { + "text/plain": [ + "(,\n", + " ┣ chosen_but_not_available: altid n example rows\n", + " ┃ 0 42 1 3775\n", + " ┃ 1 43 1 3607\n", + " ┃ 2 56 1 2492\n", + " ┃ 3 57 1 9754\n", + " ┃ 4 58 1 3045\n", + " ┃ 5 60 1 4646\n", + " ┃ 6 72 2 2490, 5457\n", + " ┃ 7 76 2 2863, 7566\n", + " ┃ 8 89 1 178\n", + " ┃ 9 90 2 8286, 9903\n", + " ┃ 10 100 1 4456\n", + " ┃ 11 102 3 15, 4847, 7101\n", + " ┃ 12 103 1 4586\n", + " ┃ 13 104 2 1063, 3558\n", + " ┃ 14 105 2 3258, 4140\n", + " ┃ 15 113 2 117, 499\n", + " ┃ 16 114 3 4784, 6830, 7852\n", + " ┃ 17 115 1 604\n", + " ┃ 18 116 5 588, 3916, 7212\n", + " ┃ 19 117 1 145\n", + " ┃ 20 118 4 5150, 5158, 6843\n", + " ┃ 21 120 1 5714\n", + " ┃ 22 125 2 2341, 6819\n", + " ┃ 23 127 2 3989, 5454\n", + " ┃ 24 128 4 1505, 2340, 4408\n", + " ┃ 25 129 1 8024\n", + " ┃ 26 130 2 5146, 9537\n", + " ┃ 27 136 2 932, 1303\n", + " ┃ 28 138 1 8854\n", + " ┃ 29 139 2 4901, 5428\n", + " ┃ 30 140 1 2116\n", + " ┃ 31 141 2 2305, 5424\n", + " ┃ 32 146 4 54, 2193, 2350\n", + " ┃ 33 147 2 7792, 9568\n", + " ┃ 34 156 2 7158, 7229\n", + " ┃ 35 157 1 9717\n", + " ┃ 36 158 1 7840\n", + " ┃ 37 159 2 111, 7231\n", + " ┃ 38 163 2 540, 7847\n", + " ┃ 39 164 2 188, 1819\n", + " ┃ 40 166 1 2035\n", + " ┃ 41 167 1 2976\n", + " ┃ 42 168 1 2143\n", + " ┃ 43 170 2 5247, 7868\n", + " ┃ 44 171 1 64\n", + " ┃ 45 183 1 9440)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.doctor(repair_ch_av=\"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "

Iteration 077 [Optimization terminated successfully]

" + "

Iteration 139 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -2020,7 +2216,7 @@ { "data": { "text/html": [ - "

Best LL = -2331.7420221780226

" + "

Best LL = -39483.50824582766

" ], "text/plain": [ "" @@ -2051,853 +2247,811 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " -0.414229\n", + " 0.232285\n", + " 0.232285\n", " -0.003049\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.414229\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction\n", - " -0.640186\n", + " -1.201676\n", + " -1.201676\n", " -0.527100\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.640186\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " 1.656920\n", + " -0.419250\n", + " -0.419250\n", " 0.089750\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.656920\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction\n", - " 0.225722\n", + " -0.760747\n", + " -0.760747\n", " -0.440000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.225722\n", " \n", " \n", " coef_all_adults_ft_worker_duration\n", - " 0.052336\n", + " 0.079713\n", + " 0.079713\n", " 0.109300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.052336\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " -2.239162\n", + " -2.595385\n", + " -2.595385\n", " -2.428718\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.239162\n", " \n", " \n", " coef_arrival_constants_early\n", - " -1.065980\n", + " -2.446580\n", + " -2.446580\n", " -2.428718\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.065980\n", " \n", " \n", " coef_arrival_constants_evening\n", - " -1.033329\n", + " -0.707272\n", + " -0.707272\n", " -0.870147\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.033329\n", " \n", " \n", " coef_arrival_constants_late\n", - " -1.315910\n", + " -1.639520\n", + " -1.639520\n", " -1.752000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.315910\n", " \n", " \n", " coef_arrival_constants_midday_1\n", - " -1.302330\n", + " -1.267988\n", + " -1.267988\n", " -1.237909\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.302330\n", " \n", " \n", " coef_arrival_constants_midday_2\n", - " -0.554673\n", + " -0.523484\n", + " -0.523484\n", " -0.539769\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.554673\n", " \n", " \n", " coef_arrival_constants_pm_peak_1\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_arrival_constants_pm_peak_2\n", - " -0.441387\n", + " -0.360268\n", + " -0.360268\n", " -0.389169\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.441387\n", " \n", " \n", " coef_arrival_constants_pm_peak_3\n", - " -0.281247\n", + " -0.096426\n", + " -0.096426\n", " -0.198120\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.281247\n", " \n", " \n", " coef_arrival_constants_pm_peak_4\n", - " -0.370368\n", + " -0.127905\n", + " -0.127905\n", " -0.253625\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.370368\n", " \n", " \n", " coef_departure_constants_am_peak_1\n", - " -1.882694\n", + " -1.606835\n", + " -1.606835\n", " -1.617644\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.882694\n", " \n", " \n", " coef_departure_constants_am_peak_2\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_departure_constants_am_peak_3\n", - " -0.183985\n", + " -0.100582\n", + " -0.100582\n", " -0.073827\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.183985\n", " \n", " \n", " coef_departure_constants_am_peak_4\n", - " -2.016403\n", + " -2.142432\n", + " -2.142432\n", " -2.080571\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.016403\n", " \n", " \n", " coef_departure_constants_early\n", - " -3.636770\n", + " -3.850945\n", + " -3.850945\n", " -3.820662\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -3.636770\n", " \n", " \n", " coef_departure_constants_evening\n", - " -5.258795\n", + " -5.546826\n", + " -5.546826\n", " -5.230288\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -5.258795\n", " \n", " \n", " coef_departure_constants_late\n", - " -21.447622\n", + " -10.890722\n", + " -10.890722\n", " -11.886047\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -21.447622\n", " \n", " \n", " coef_departure_constants_midday_1\n", - " -3.279864\n", + " -3.124481\n", + " -3.124481\n", " -2.985739\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -3.279864\n", " \n", " \n", " coef_departure_constants_midday_2\n", - " -3.750548\n", + " -3.861525\n", + " -3.861525\n", " -3.628435\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -3.750548\n", " \n", " \n", " coef_departure_constants_pm_peak\n", - " -3.093167\n", + " -3.281532\n", + " -3.281532\n", " -3.102505\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -3.093167\n", " \n", " \n", " coef_duration_constants_0_to_2_hours\n", - " -1.372110\n", + " -1.318085\n", + " -1.318085\n", " -1.409956\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.372110\n", " \n", " \n", " coef_duration_constants_10_hours\n", - " -0.876448\n", + " -0.914359\n", + " -0.914359\n", " -0.904789\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.876448\n", " \n", " \n", " coef_duration_constants_11_hours\n", - " -1.127264\n", + " -1.643692\n", + " -1.643692\n", " -1.521163\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.127264\n", " \n", " \n", " coef_duration_constants_12_to_13_hours\n", - " -2.668346\n", + " -2.528269\n", + " -2.528269\n", " -2.418489\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.668346\n", " \n", " \n", " coef_duration_constants_14_to_18_hours\n", - " -2.675974\n", + " -2.541672\n", + " -2.541672\n", " -2.503137\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.675974\n", " \n", " \n", " coef_duration_constants_3_to_4_hours\n", - " -0.552200\n", + " -0.680239\n", + " -0.680239\n", " -0.745893\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.552200\n", " \n", " \n", " coef_duration_constants_5_to_6_hours\n", - " -0.532627\n", + " -0.551126\n", + " -0.551126\n", " -0.567637\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.532627\n", " \n", " \n", " coef_duration_constants_7_to_8_hours\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_duration_constants_9_hours\n", - " -0.487609\n", + " -0.664353\n", + " -0.664353\n", " -0.650807\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.487609\n", " \n", " \n", " coef_first_of_2plus_school_lt_6_hours\n", - " 0.169055\n", + " 1.768123\n", + " 1.768123\n", " 1.487000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.169055\n", " \n", " \n", " coef_first_of_2plus_school_tours_departure\n", - " -0.333830\n", + " -0.277161\n", + " -0.277161\n", " -0.300200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.333830\n", " \n", " \n", " coef_first_of_2plus_school_tours_duration\n", - " -0.042558\n", + " -0.077846\n", + " -0.077846\n", " -0.159300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.042558\n", " \n", " \n", " coef_ft_worker_departure\n", " 0.397100\n", " 0.397100\n", - " 0.0\n", + " 0.397100\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.397100\n", " \n", " \n", " coef_ft_worker_duration\n", " -0.190800\n", " -0.190800\n", - " 0.0\n", + " -0.190800\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.190800\n", " \n", " \n", " coef_hh_income_early_departure\n", - " -13.757852\n", + " -0.643531\n", + " -0.643531\n", " -0.883700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -13.757852\n", " \n", " \n", " coef_hh_income_late_arrival\n", - " 0.101726\n", + " -0.123912\n", + " -0.123912\n", " -0.353300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.101726\n", " \n", " \n", " coef_mode_choice_logsum\n", - " 0.056410\n", + " 1.403530\n", + " 1.403530\n", " 2.127000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.056410\n", " \n", " \n", " coef_non_worker_departure\n", " 0.553900\n", " 0.553900\n", - " 0.0\n", + " 0.553900\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.553900\n", " \n", " \n", " coef_previous_tour_begins_this_arrival_hour\n", - " -10.370632\n", + " 1.748525\n", + " 1.748525\n", " -1.102000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -10.370632\n", " \n", " \n", " coef_previous_tour_ends_this_departure_hour\n", - " 0.298551\n", + " -1.454921\n", + " -1.454921\n", " -0.599500\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.298551\n", " \n", " \n", " coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours\n", - " -25.000000\n", + " -16.666935\n", + " -16.666935\n", " -16.670000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -25.000000\n", " \n", " \n", " coef_roundtrip_auto_time_to_work\n", - " 0.005137\n", + " 0.002946\n", + " 0.002946\n", " 0.003195\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.005137\n", " \n", " \n", " coef_school_plus_work_tours_by_student_lt_6_hours\n", - " -2.483313\n", + " 1.805060\n", + " 1.805060\n", " 1.730000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.483313\n", " \n", " \n", " coef_school_plus_work_tours_by_worker_lt_6_hours\n", - " -2.071313\n", + " 2.217060\n", + " 2.217060\n", " 2.142000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.071313\n", " \n", " \n", " coef_student_driver_duration\n", - " -0.003958\n", + " 0.021414\n", + " 0.021414\n", " 0.034640\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.003958\n", " \n", " \n", " coef_subsequent_2plus_school_tours_duration\n", - " -0.188299\n", + " -0.309377\n", + " -0.309377\n", " -0.233800\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.188299\n", " \n", " \n", " coef_subsequent_of_2plus_school_lt_6_hours\n", - " 25.000000\n", + " 1.522961\n", + " 1.522961\n", " 2.142000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 25.000000\n", " \n", " \n", " coef_subsequent_tour_must_start_after_previous_tour_ends\n", " -100.000000\n", " -100.000000\n", + " -100.000000\n", + " -100.0\n", + " -100.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " -100.000000\n", " \n", " \n", " coef_univ_departure\n", - " 0.234367\n", + " 0.281763\n", + " 0.281763\n", " 0.280000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.234367\n", " \n", " \n", " coef_univ_duration\n", - " -0.409132\n", + " -0.287541\n", + " -0.287541\n", " -0.290700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.409132\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_adjacent_window_exists_after_this_arrival_... -0.414229 -0.003049 \n", - "coef_adjacent_window_exists_after_this_arrival_... -0.640186 -0.527100 \n", - "coef_adjacent_window_exists_before_this_departu... 1.656920 0.089750 \n", - "coef_adjacent_window_exists_before_this_departu... 0.225722 -0.440000 \n", - "coef_all_adults_ft_worker_duration 0.052336 0.109300 \n", - "coef_arrival_constants_am_peak -2.239162 -2.428718 \n", - "coef_arrival_constants_early -1.065980 -2.428718 \n", - "coef_arrival_constants_evening -1.033329 -0.870147 \n", - "coef_arrival_constants_late -1.315910 -1.752000 \n", - "coef_arrival_constants_midday_1 -1.302330 -1.237909 \n", - "coef_arrival_constants_midday_2 -0.554673 -0.539769 \n", + " value best \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0.232285 0.232285 \n", + "coef_adjacent_window_exists_after_this_arrival_... -1.201676 -1.201676 \n", + "coef_adjacent_window_exists_before_this_departu... -0.419250 -0.419250 \n", + "coef_adjacent_window_exists_before_this_departu... -0.760747 -0.760747 \n", + "coef_all_adults_ft_worker_duration 0.079713 0.079713 \n", + "coef_arrival_constants_am_peak -2.595385 -2.595385 \n", + "coef_arrival_constants_early -2.446580 -2.446580 \n", + "coef_arrival_constants_evening -0.707272 -0.707272 \n", + "coef_arrival_constants_late -1.639520 -1.639520 \n", + "coef_arrival_constants_midday_1 -1.267988 -1.267988 \n", + "coef_arrival_constants_midday_2 -0.523484 -0.523484 \n", "coef_arrival_constants_pm_peak_1 0.000000 0.000000 \n", - "coef_arrival_constants_pm_peak_2 -0.441387 -0.389169 \n", - "coef_arrival_constants_pm_peak_3 -0.281247 -0.198120 \n", - "coef_arrival_constants_pm_peak_4 -0.370368 -0.253625 \n", - "coef_departure_constants_am_peak_1 -1.882694 -1.617644 \n", + "coef_arrival_constants_pm_peak_2 -0.360268 -0.360268 \n", + "coef_arrival_constants_pm_peak_3 -0.096426 -0.096426 \n", + "coef_arrival_constants_pm_peak_4 -0.127905 -0.127905 \n", + "coef_departure_constants_am_peak_1 -1.606835 -1.606835 \n", "coef_departure_constants_am_peak_2 0.000000 0.000000 \n", - "coef_departure_constants_am_peak_3 -0.183985 -0.073827 \n", - "coef_departure_constants_am_peak_4 -2.016403 -2.080571 \n", - "coef_departure_constants_early -3.636770 -3.820662 \n", - "coef_departure_constants_evening -5.258795 -5.230288 \n", - "coef_departure_constants_late -21.447622 -11.886047 \n", - "coef_departure_constants_midday_1 -3.279864 -2.985739 \n", - "coef_departure_constants_midday_2 -3.750548 -3.628435 \n", - "coef_departure_constants_pm_peak -3.093167 -3.102505 \n", - "coef_duration_constants_0_to_2_hours -1.372110 -1.409956 \n", - "coef_duration_constants_10_hours -0.876448 -0.904789 \n", - "coef_duration_constants_11_hours -1.127264 -1.521163 \n", - "coef_duration_constants_12_to_13_hours -2.668346 -2.418489 \n", - "coef_duration_constants_14_to_18_hours -2.675974 -2.503137 \n", - "coef_duration_constants_3_to_4_hours -0.552200 -0.745893 \n", - "coef_duration_constants_5_to_6_hours -0.532627 -0.567637 \n", + "coef_departure_constants_am_peak_3 -0.100582 -0.100582 \n", + "coef_departure_constants_am_peak_4 -2.142432 -2.142432 \n", + "coef_departure_constants_early -3.850945 -3.850945 \n", + "coef_departure_constants_evening -5.546826 -5.546826 \n", + "coef_departure_constants_late -10.890722 -10.890722 \n", + "coef_departure_constants_midday_1 -3.124481 -3.124481 \n", + "coef_departure_constants_midday_2 -3.861525 -3.861525 \n", + "coef_departure_constants_pm_peak -3.281532 -3.281532 \n", + "coef_duration_constants_0_to_2_hours -1.318085 -1.318085 \n", + "coef_duration_constants_10_hours -0.914359 -0.914359 \n", + "coef_duration_constants_11_hours -1.643692 -1.643692 \n", + "coef_duration_constants_12_to_13_hours -2.528269 -2.528269 \n", + "coef_duration_constants_14_to_18_hours -2.541672 -2.541672 \n", + "coef_duration_constants_3_to_4_hours -0.680239 -0.680239 \n", + "coef_duration_constants_5_to_6_hours -0.551126 -0.551126 \n", "coef_duration_constants_7_to_8_hours 0.000000 0.000000 \n", - "coef_duration_constants_9_hours -0.487609 -0.650807 \n", - "coef_first_of_2plus_school_lt_6_hours 0.169055 1.487000 \n", - "coef_first_of_2plus_school_tours_departure -0.333830 -0.300200 \n", - "coef_first_of_2plus_school_tours_duration -0.042558 -0.159300 \n", + "coef_duration_constants_9_hours -0.664353 -0.664353 \n", + "coef_first_of_2plus_school_lt_6_hours 1.768123 1.768123 \n", + "coef_first_of_2plus_school_tours_departure -0.277161 -0.277161 \n", + "coef_first_of_2plus_school_tours_duration -0.077846 -0.077846 \n", "coef_ft_worker_departure 0.397100 0.397100 \n", "coef_ft_worker_duration -0.190800 -0.190800 \n", - "coef_hh_income_early_departure -13.757852 -0.883700 \n", - "coef_hh_income_late_arrival 0.101726 -0.353300 \n", - "coef_mode_choice_logsum 0.056410 2.127000 \n", + "coef_hh_income_early_departure -0.643531 -0.643531 \n", + "coef_hh_income_late_arrival -0.123912 -0.123912 \n", + "coef_mode_choice_logsum 1.403530 1.403530 \n", "coef_non_worker_departure 0.553900 0.553900 \n", - "coef_previous_tour_begins_this_arrival_hour -10.370632 -1.102000 \n", - "coef_previous_tour_ends_this_departure_hour 0.298551 -0.599500 \n", - "coef_remaining_work_school_tours_to_be_schedule... -25.000000 -16.670000 \n", - "coef_roundtrip_auto_time_to_work 0.005137 0.003195 \n", - "coef_school_plus_work_tours_by_student_lt_6_hours -2.483313 1.730000 \n", - "coef_school_plus_work_tours_by_worker_lt_6_hours -2.071313 2.142000 \n", - "coef_student_driver_duration -0.003958 0.034640 \n", - "coef_subsequent_2plus_school_tours_duration -0.188299 -0.233800 \n", - "coef_subsequent_of_2plus_school_lt_6_hours 25.000000 2.142000 \n", + "coef_previous_tour_begins_this_arrival_hour 1.748525 1.748525 \n", + "coef_previous_tour_ends_this_departure_hour -1.454921 -1.454921 \n", + "coef_remaining_work_school_tours_to_be_schedule... -16.666935 -16.666935 \n", + "coef_roundtrip_auto_time_to_work 0.002946 0.002946 \n", + "coef_school_plus_work_tours_by_student_lt_6_hours 1.805060 1.805060 \n", + "coef_school_plus_work_tours_by_worker_lt_6_hours 2.217060 2.217060 \n", + "coef_student_driver_duration 0.021414 0.021414 \n", + "coef_subsequent_2plus_school_tours_duration -0.309377 -0.309377 \n", + "coef_subsequent_of_2plus_school_lt_6_hours 1.522961 1.522961 \n", "coef_subsequent_tour_must_start_after_previous_... -100.000000 -100.000000 \n", - "coef_univ_departure 0.234367 0.280000 \n", - "coef_univ_duration -0.409132 -0.290700 \n", + "coef_univ_departure 0.281763 0.281763 \n", + "coef_univ_duration -0.287541 -0.287541 \n", "\n", - " nullvalue minimum \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_all_adults_ft_worker_duration 0.0 -25.0 \n", - "coef_arrival_constants_am_peak 0.0 -25.0 \n", - "coef_arrival_constants_early 0.0 -25.0 \n", - "coef_arrival_constants_evening 0.0 -25.0 \n", - "coef_arrival_constants_late 0.0 -25.0 \n", - "coef_arrival_constants_midday_1 0.0 -25.0 \n", - "coef_arrival_constants_midday_2 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_1 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_2 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_3 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_4 0.0 -25.0 \n", - "coef_departure_constants_am_peak_1 0.0 -25.0 \n", - "coef_departure_constants_am_peak_2 0.0 -25.0 \n", - "coef_departure_constants_am_peak_3 0.0 -25.0 \n", - "coef_departure_constants_am_peak_4 0.0 -25.0 \n", - "coef_departure_constants_early 0.0 -25.0 \n", - "coef_departure_constants_evening 0.0 -25.0 \n", - "coef_departure_constants_late 0.0 -25.0 \n", - "coef_departure_constants_midday_1 0.0 -25.0 \n", - "coef_departure_constants_midday_2 0.0 -25.0 \n", - "coef_departure_constants_pm_peak 0.0 -25.0 \n", - "coef_duration_constants_0_to_2_hours 0.0 -25.0 \n", - "coef_duration_constants_10_hours 0.0 -25.0 \n", - "coef_duration_constants_11_hours 0.0 -25.0 \n", - "coef_duration_constants_12_to_13_hours 0.0 -25.0 \n", - "coef_duration_constants_14_to_18_hours 0.0 -25.0 \n", - "coef_duration_constants_3_to_4_hours 0.0 -25.0 \n", - "coef_duration_constants_5_to_6_hours 0.0 -25.0 \n", - "coef_duration_constants_7_to_8_hours 0.0 -25.0 \n", - "coef_duration_constants_9_hours 0.0 -25.0 \n", - "coef_first_of_2plus_school_lt_6_hours 0.0 -25.0 \n", - "coef_first_of_2plus_school_tours_departure 0.0 -25.0 \n", - "coef_first_of_2plus_school_tours_duration 0.0 -25.0 \n", - "coef_ft_worker_departure 0.0 -25.0 \n", - "coef_ft_worker_duration 0.0 -25.0 \n", - "coef_hh_income_early_departure 0.0 -25.0 \n", - "coef_hh_income_late_arrival 0.0 -25.0 \n", - "coef_mode_choice_logsum 0.0 -25.0 \n", - "coef_non_worker_departure 0.0 -25.0 \n", - "coef_previous_tour_begins_this_arrival_hour 0.0 -25.0 \n", - "coef_previous_tour_ends_this_departure_hour 0.0 -25.0 \n", - "coef_remaining_work_school_tours_to_be_schedule... 0.0 -25.0 \n", - "coef_roundtrip_auto_time_to_work 0.0 -25.0 \n", - "coef_school_plus_work_tours_by_student_lt_6_hours 0.0 -25.0 \n", - "coef_school_plus_work_tours_by_worker_lt_6_hours 0.0 -25.0 \n", - "coef_student_driver_duration 0.0 -25.0 \n", - "coef_subsequent_2plus_school_tours_duration 0.0 -25.0 \n", - "coef_subsequent_of_2plus_school_lt_6_hours 0.0 -25.0 \n", - "coef_subsequent_tour_must_start_after_previous_... 0.0 -25.0 \n", - "coef_univ_departure 0.0 -25.0 \n", - "coef_univ_duration 0.0 -25.0 \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.003049 -25.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.527100 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... 0.089750 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... -0.440000 -25.0 \n", + "coef_all_adults_ft_worker_duration 0.109300 -25.0 \n", + "coef_arrival_constants_am_peak -2.428718 -25.0 \n", + "coef_arrival_constants_early -2.428718 -25.0 \n", + "coef_arrival_constants_evening -0.870147 -25.0 \n", + "coef_arrival_constants_late -1.752000 -25.0 \n", + "coef_arrival_constants_midday_1 -1.237909 -25.0 \n", + "coef_arrival_constants_midday_2 -0.539769 -25.0 \n", + "coef_arrival_constants_pm_peak_1 0.000000 0.0 \n", + "coef_arrival_constants_pm_peak_2 -0.389169 -25.0 \n", + "coef_arrival_constants_pm_peak_3 -0.198120 -25.0 \n", + "coef_arrival_constants_pm_peak_4 -0.253625 -25.0 \n", + "coef_departure_constants_am_peak_1 -1.617644 -25.0 \n", + "coef_departure_constants_am_peak_2 0.000000 0.0 \n", + "coef_departure_constants_am_peak_3 -0.073827 -25.0 \n", + "coef_departure_constants_am_peak_4 -2.080571 -25.0 \n", + "coef_departure_constants_early -3.820662 -25.0 \n", + "coef_departure_constants_evening -5.230288 -25.0 \n", + "coef_departure_constants_late -11.886047 -25.0 \n", + "coef_departure_constants_midday_1 -2.985739 -25.0 \n", + "coef_departure_constants_midday_2 -3.628435 -25.0 \n", + "coef_departure_constants_pm_peak -3.102505 -25.0 \n", + "coef_duration_constants_0_to_2_hours -1.409956 -25.0 \n", + "coef_duration_constants_10_hours -0.904789 -25.0 \n", + "coef_duration_constants_11_hours -1.521163 -25.0 \n", + "coef_duration_constants_12_to_13_hours -2.418489 -25.0 \n", + "coef_duration_constants_14_to_18_hours -2.503137 -25.0 \n", + "coef_duration_constants_3_to_4_hours -0.745893 -25.0 \n", + "coef_duration_constants_5_to_6_hours -0.567637 -25.0 \n", + "coef_duration_constants_7_to_8_hours 0.000000 0.0 \n", + "coef_duration_constants_9_hours -0.650807 -25.0 \n", + "coef_first_of_2plus_school_lt_6_hours 1.487000 -25.0 \n", + "coef_first_of_2plus_school_tours_departure -0.300200 -25.0 \n", + "coef_first_of_2plus_school_tours_duration -0.159300 -25.0 \n", + "coef_ft_worker_departure 0.397100 -25.0 \n", + "coef_ft_worker_duration -0.190800 -25.0 \n", + "coef_hh_income_early_departure -0.883700 -25.0 \n", + "coef_hh_income_late_arrival -0.353300 -25.0 \n", + "coef_mode_choice_logsum 2.127000 -25.0 \n", + "coef_non_worker_departure 0.553900 -25.0 \n", + "coef_previous_tour_begins_this_arrival_hour -1.102000 -25.0 \n", + "coef_previous_tour_ends_this_departure_hour -0.599500 -25.0 \n", + "coef_remaining_work_school_tours_to_be_schedule... -16.670000 -25.0 \n", + "coef_roundtrip_auto_time_to_work 0.003195 -25.0 \n", + "coef_school_plus_work_tours_by_student_lt_6_hours 1.730000 -25.0 \n", + "coef_school_plus_work_tours_by_worker_lt_6_hours 2.142000 -25.0 \n", + "coef_student_driver_duration 0.034640 -25.0 \n", + "coef_subsequent_2plus_school_tours_duration -0.233800 -25.0 \n", + "coef_subsequent_of_2plus_school_lt_6_hours 2.142000 -25.0 \n", + "coef_subsequent_tour_must_start_after_previous_... -100.000000 -100.0 \n", + "coef_univ_departure 0.280000 -25.0 \n", + "coef_univ_duration -0.290700 -25.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_all_adults_ft_worker_duration 25.0 0 \n", - "coef_arrival_constants_am_peak 25.0 0 \n", - "coef_arrival_constants_early 25.0 0 \n", - "coef_arrival_constants_evening 25.0 0 \n", - "coef_arrival_constants_late 25.0 0 \n", - "coef_arrival_constants_midday_1 25.0 0 \n", - "coef_arrival_constants_midday_2 25.0 0 \n", - "coef_arrival_constants_pm_peak_1 25.0 1 \n", - "coef_arrival_constants_pm_peak_2 25.0 0 \n", - "coef_arrival_constants_pm_peak_3 25.0 0 \n", - "coef_arrival_constants_pm_peak_4 25.0 0 \n", - "coef_departure_constants_am_peak_1 25.0 0 \n", - "coef_departure_constants_am_peak_2 25.0 1 \n", - "coef_departure_constants_am_peak_3 25.0 0 \n", - "coef_departure_constants_am_peak_4 25.0 0 \n", - "coef_departure_constants_early 25.0 0 \n", - "coef_departure_constants_evening 25.0 0 \n", - "coef_departure_constants_late 25.0 0 \n", - "coef_departure_constants_midday_1 25.0 0 \n", - "coef_departure_constants_midday_2 25.0 0 \n", - "coef_departure_constants_pm_peak 25.0 0 \n", - "coef_duration_constants_0_to_2_hours 25.0 0 \n", - "coef_duration_constants_10_hours 25.0 0 \n", - "coef_duration_constants_11_hours 25.0 0 \n", - "coef_duration_constants_12_to_13_hours 25.0 0 \n", - "coef_duration_constants_14_to_18_hours 25.0 0 \n", - "coef_duration_constants_3_to_4_hours 25.0 0 \n", - "coef_duration_constants_5_to_6_hours 25.0 0 \n", - "coef_duration_constants_7_to_8_hours 25.0 1 \n", - "coef_duration_constants_9_hours 25.0 0 \n", - "coef_first_of_2plus_school_lt_6_hours 25.0 0 \n", - "coef_first_of_2plus_school_tours_departure 25.0 0 \n", - "coef_first_of_2plus_school_tours_duration 25.0 0 \n", - "coef_ft_worker_departure 25.0 0 \n", - "coef_ft_worker_duration 25.0 0 \n", - "coef_hh_income_early_departure 25.0 0 \n", - "coef_hh_income_late_arrival 25.0 0 \n", - "coef_mode_choice_logsum 25.0 0 \n", - "coef_non_worker_departure 25.0 0 \n", - "coef_previous_tour_begins_this_arrival_hour 25.0 0 \n", - "coef_previous_tour_ends_this_departure_hour 25.0 0 \n", - "coef_remaining_work_school_tours_to_be_schedule... 25.0 0 \n", - "coef_roundtrip_auto_time_to_work 25.0 0 \n", - "coef_school_plus_work_tours_by_student_lt_6_hours 25.0 0 \n", - "coef_school_plus_work_tours_by_worker_lt_6_hours 25.0 0 \n", - "coef_student_driver_duration 25.0 0 \n", - "coef_subsequent_2plus_school_tours_duration 25.0 0 \n", - "coef_subsequent_of_2plus_school_lt_6_hours 25.0 0 \n", - "coef_subsequent_tour_must_start_after_previous_... 25.0 1 \n", - "coef_univ_departure 25.0 0 \n", - "coef_univ_duration 25.0 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_all_adults_ft_worker_duration 25.0 0.0 \n", + "coef_arrival_constants_am_peak 25.0 0.0 \n", + "coef_arrival_constants_early 25.0 0.0 \n", + "coef_arrival_constants_evening 25.0 0.0 \n", + "coef_arrival_constants_late 25.0 0.0 \n", + "coef_arrival_constants_midday_1 25.0 0.0 \n", + "coef_arrival_constants_midday_2 25.0 0.0 \n", + "coef_arrival_constants_pm_peak_1 0.0 0.0 \n", + "coef_arrival_constants_pm_peak_2 25.0 0.0 \n", + "coef_arrival_constants_pm_peak_3 25.0 0.0 \n", + "coef_arrival_constants_pm_peak_4 25.0 0.0 \n", + "coef_departure_constants_am_peak_1 25.0 0.0 \n", + "coef_departure_constants_am_peak_2 0.0 0.0 \n", + "coef_departure_constants_am_peak_3 25.0 0.0 \n", + "coef_departure_constants_am_peak_4 25.0 0.0 \n", + "coef_departure_constants_early 25.0 0.0 \n", + "coef_departure_constants_evening 25.0 0.0 \n", + "coef_departure_constants_late 25.0 0.0 \n", + "coef_departure_constants_midday_1 25.0 0.0 \n", + "coef_departure_constants_midday_2 25.0 0.0 \n", + "coef_departure_constants_pm_peak 25.0 0.0 \n", + "coef_duration_constants_0_to_2_hours 25.0 0.0 \n", + "coef_duration_constants_10_hours 25.0 0.0 \n", + "coef_duration_constants_11_hours 25.0 0.0 \n", + "coef_duration_constants_12_to_13_hours 25.0 0.0 \n", + "coef_duration_constants_14_to_18_hours 25.0 0.0 \n", + "coef_duration_constants_3_to_4_hours 25.0 0.0 \n", + "coef_duration_constants_5_to_6_hours 25.0 0.0 \n", + "coef_duration_constants_7_to_8_hours 0.0 0.0 \n", + "coef_duration_constants_9_hours 25.0 0.0 \n", + "coef_first_of_2plus_school_lt_6_hours 25.0 0.0 \n", + "coef_first_of_2plus_school_tours_departure 25.0 0.0 \n", + "coef_first_of_2plus_school_tours_duration 25.0 0.0 \n", + "coef_ft_worker_departure 25.0 0.0 \n", + "coef_ft_worker_duration 25.0 0.0 \n", + "coef_hh_income_early_departure 25.0 0.0 \n", + "coef_hh_income_late_arrival 25.0 0.0 \n", + "coef_mode_choice_logsum 25.0 0.0 \n", + "coef_non_worker_departure 25.0 0.0 \n", + "coef_previous_tour_begins_this_arrival_hour 25.0 0.0 \n", + "coef_previous_tour_ends_this_departure_hour 25.0 0.0 \n", + "coef_remaining_work_school_tours_to_be_schedule... 25.0 0.0 \n", + "coef_roundtrip_auto_time_to_work 25.0 0.0 \n", + "coef_school_plus_work_tours_by_student_lt_6_hours 25.0 0.0 \n", + "coef_school_plus_work_tours_by_worker_lt_6_hours 25.0 0.0 \n", + "coef_student_driver_duration 25.0 0.0 \n", + "coef_subsequent_2plus_school_tours_duration 25.0 0.0 \n", + "coef_subsequent_of_2plus_school_lt_6_hours 25.0 0.0 \n", + "coef_subsequent_tour_must_start_after_previous_... -100.0 0.0 \n", + "coef_univ_departure 25.0 0.0 \n", + "coef_univ_duration 25.0 0.0 \n", "\n", - " best \n", - "coef_adjacent_window_exists_after_this_arrival_... -0.414229 \n", - "coef_adjacent_window_exists_after_this_arrival_... -0.640186 \n", - "coef_adjacent_window_exists_before_this_departu... 1.656920 \n", - "coef_adjacent_window_exists_before_this_departu... 0.225722 \n", - "coef_all_adults_ft_worker_duration 0.052336 \n", - "coef_arrival_constants_am_peak -2.239162 \n", - "coef_arrival_constants_early -1.065980 \n", - "coef_arrival_constants_evening -1.033329 \n", - "coef_arrival_constants_late -1.315910 \n", - "coef_arrival_constants_midday_1 -1.302330 \n", - "coef_arrival_constants_midday_2 -0.554673 \n", - "coef_arrival_constants_pm_peak_1 0.000000 \n", - "coef_arrival_constants_pm_peak_2 -0.441387 \n", - "coef_arrival_constants_pm_peak_3 -0.281247 \n", - "coef_arrival_constants_pm_peak_4 -0.370368 \n", - "coef_departure_constants_am_peak_1 -1.882694 \n", - "coef_departure_constants_am_peak_2 0.000000 \n", - "coef_departure_constants_am_peak_3 -0.183985 \n", - "coef_departure_constants_am_peak_4 -2.016403 \n", - "coef_departure_constants_early -3.636770 \n", - "coef_departure_constants_evening -5.258795 \n", - "coef_departure_constants_late -21.447622 \n", - "coef_departure_constants_midday_1 -3.279864 \n", - "coef_departure_constants_midday_2 -3.750548 \n", - "coef_departure_constants_pm_peak -3.093167 \n", - "coef_duration_constants_0_to_2_hours -1.372110 \n", - "coef_duration_constants_10_hours -0.876448 \n", - "coef_duration_constants_11_hours -1.127264 \n", - "coef_duration_constants_12_to_13_hours -2.668346 \n", - "coef_duration_constants_14_to_18_hours -2.675974 \n", - "coef_duration_constants_3_to_4_hours -0.552200 \n", - "coef_duration_constants_5_to_6_hours -0.532627 \n", - "coef_duration_constants_7_to_8_hours 0.000000 \n", - "coef_duration_constants_9_hours -0.487609 \n", - "coef_first_of_2plus_school_lt_6_hours 0.169055 \n", - "coef_first_of_2plus_school_tours_departure -0.333830 \n", - "coef_first_of_2plus_school_tours_duration -0.042558 \n", - "coef_ft_worker_departure 0.397100 \n", - "coef_ft_worker_duration -0.190800 \n", - "coef_hh_income_early_departure -13.757852 \n", - "coef_hh_income_late_arrival 0.101726 \n", - "coef_mode_choice_logsum 0.056410 \n", - "coef_non_worker_departure 0.553900 \n", - "coef_previous_tour_begins_this_arrival_hour -10.370632 \n", - "coef_previous_tour_ends_this_departure_hour 0.298551 \n", - "coef_remaining_work_school_tours_to_be_schedule... -25.000000 \n", - "coef_roundtrip_auto_time_to_work 0.005137 \n", - "coef_school_plus_work_tours_by_student_lt_6_hours -2.483313 \n", - "coef_school_plus_work_tours_by_worker_lt_6_hours -2.071313 \n", - "coef_student_driver_duration -0.003958 \n", - "coef_subsequent_2plus_school_tours_duration -0.188299 \n", - "coef_subsequent_of_2plus_school_lt_6_hours 25.000000 \n", - "coef_subsequent_tour_must_start_after_previous_... -100.000000 \n", - "coef_univ_departure 0.234367 \n", - "coef_univ_duration -0.409132 " + " holdfast \n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_all_adults_ft_worker_duration 0 \n", + "coef_arrival_constants_am_peak 0 \n", + "coef_arrival_constants_early 0 \n", + "coef_arrival_constants_evening 0 \n", + "coef_arrival_constants_late 0 \n", + "coef_arrival_constants_midday_1 0 \n", + "coef_arrival_constants_midday_2 0 \n", + "coef_arrival_constants_pm_peak_1 1 \n", + "coef_arrival_constants_pm_peak_2 0 \n", + "coef_arrival_constants_pm_peak_3 0 \n", + "coef_arrival_constants_pm_peak_4 0 \n", + "coef_departure_constants_am_peak_1 0 \n", + "coef_departure_constants_am_peak_2 1 \n", + "coef_departure_constants_am_peak_3 0 \n", + "coef_departure_constants_am_peak_4 0 \n", + "coef_departure_constants_early 0 \n", + "coef_departure_constants_evening 0 \n", + "coef_departure_constants_late 0 \n", + "coef_departure_constants_midday_1 0 \n", + "coef_departure_constants_midday_2 0 \n", + "coef_departure_constants_pm_peak 0 \n", + "coef_duration_constants_0_to_2_hours 0 \n", + "coef_duration_constants_10_hours 0 \n", + "coef_duration_constants_11_hours 0 \n", + "coef_duration_constants_12_to_13_hours 0 \n", + "coef_duration_constants_14_to_18_hours 0 \n", + "coef_duration_constants_3_to_4_hours 0 \n", + "coef_duration_constants_5_to_6_hours 0 \n", + "coef_duration_constants_7_to_8_hours 1 \n", + "coef_duration_constants_9_hours 0 \n", + "coef_first_of_2plus_school_lt_6_hours 0 \n", + "coef_first_of_2plus_school_tours_departure 0 \n", + "coef_first_of_2plus_school_tours_duration 0 \n", + "coef_ft_worker_departure 0 \n", + "coef_ft_worker_duration 0 \n", + "coef_hh_income_early_departure 0 \n", + "coef_hh_income_late_arrival 0 \n", + "coef_mode_choice_logsum 0 \n", + "coef_non_worker_departure 0 \n", + "coef_previous_tour_begins_this_arrival_hour 0 \n", + "coef_previous_tour_ends_this_departure_hour 0 \n", + "coef_remaining_work_school_tours_to_be_schedule... 0 \n", + "coef_roundtrip_auto_time_to_work 0 \n", + "coef_school_plus_work_tours_by_student_lt_6_hours 0 \n", + "coef_school_plus_work_tours_by_worker_lt_6_hours 0 \n", + "coef_student_driver_duration 0 \n", + "coef_subsequent_2plus_school_tours_duration 0 \n", + "coef_subsequent_of_2plus_school_lt_6_hours 0 \n", + "coef_subsequent_tour_must_start_after_previous_... 1 \n", + "coef_univ_departure 0 \n", + "coef_univ_duration 0 " ] }, "metadata": {}, @@ -2907,10 +3061,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.3990405079720497e-24 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -2926,47 +3078,47 @@ " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " -0.414229\n", + " 0.232285\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction\n", - " -0.640186\n", + " -1.201676\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " 1.656920\n", + " -0.419250\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction\n", - " 0.225722\n", + " -0.760747\n", " \n", " \n", " coef_all_adults_ft_worker_duration\n", - " 0.052336\n", + " 0.079713\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " -2.239162\n", + " -2.595385\n", " \n", " \n", " coef_arrival_constants_early\n", - " -1.065980\n", + " -2.446580\n", " \n", " \n", " coef_arrival_constants_evening\n", - " -1.033329\n", + " -0.707272\n", " \n", " \n", " coef_arrival_constants_late\n", - " -1.315910\n", + " -1.639520\n", " \n", " \n", " coef_arrival_constants_midday_1\n", - " -1.302330\n", + " -1.267988\n", " \n", " \n", " coef_arrival_constants_midday_2\n", - " -0.554673\n", + " -0.523484\n", " \n", " \n", " coef_arrival_constants_pm_peak_1\n", @@ -2974,19 +3126,19 @@ " \n", " \n", " coef_arrival_constants_pm_peak_2\n", - " -0.441387\n", + " -0.360268\n", " \n", " \n", " coef_arrival_constants_pm_peak_3\n", - " -0.281247\n", + " -0.096426\n", " \n", " \n", " coef_arrival_constants_pm_peak_4\n", - " -0.370368\n", + " -0.127905\n", " \n", " \n", " coef_departure_constants_am_peak_1\n", - " -1.882694\n", + " -1.606835\n", " \n", " \n", " coef_departure_constants_am_peak_2\n", @@ -2994,63 +3146,63 @@ " \n", " \n", " coef_departure_constants_am_peak_3\n", - " -0.183985\n", + " -0.100582\n", " \n", " \n", " coef_departure_constants_am_peak_4\n", - " -2.016403\n", + " -2.142432\n", " \n", " \n", " coef_departure_constants_early\n", - " -3.636770\n", + " -3.850945\n", " \n", " \n", " coef_departure_constants_evening\n", - " -5.258795\n", + " -5.546826\n", " \n", " \n", " coef_departure_constants_late\n", - " -21.447622\n", + " -10.890722\n", " \n", " \n", " coef_departure_constants_midday_1\n", - " -3.279864\n", + " -3.124481\n", " \n", " \n", " coef_departure_constants_midday_2\n", - " -3.750548\n", + " -3.861525\n", " \n", " \n", " coef_departure_constants_pm_peak\n", - " -3.093167\n", + " -3.281532\n", " \n", " \n", " coef_duration_constants_0_to_2_hours\n", - " -1.372110\n", + " -1.318085\n", " \n", " \n", " coef_duration_constants_10_hours\n", - " -0.876448\n", + " -0.914359\n", " \n", " \n", " coef_duration_constants_11_hours\n", - " -1.127264\n", + " -1.643692\n", " \n", " \n", " coef_duration_constants_12_to_13_hours\n", - " -2.668346\n", + " -2.528269\n", " \n", " \n", " coef_duration_constants_14_to_18_hours\n", - " -2.675974\n", + " -2.541672\n", " \n", " \n", " coef_duration_constants_3_to_4_hours\n", - " -0.552200\n", + " -0.680239\n", " \n", " \n", " coef_duration_constants_5_to_6_hours\n", - " -0.532627\n", + " -0.551126\n", " \n", " \n", " coef_duration_constants_7_to_8_hours\n", @@ -3058,19 +3210,19 @@ " \n", " \n", " coef_duration_constants_9_hours\n", - " -0.487609\n", + " -0.664353\n", " \n", " \n", " coef_first_of_2plus_school_lt_6_hours\n", - " 0.169055\n", + " 1.768123\n", " \n", " \n", " coef_first_of_2plus_school_tours_departure\n", - " -0.333830\n", + " -0.277161\n", " \n", " \n", " coef_first_of_2plus_school_tours_duration\n", - " -0.042558\n", + " -0.077846\n", " \n", " \n", " coef_ft_worker_departure\n", @@ -3082,15 +3234,15 @@ " \n", " \n", " coef_hh_income_early_departure\n", - " -13.757852\n", + " -0.643531\n", " \n", " \n", " coef_hh_income_late_arrival\n", - " 0.101726\n", + " -0.123912\n", " \n", " \n", " coef_mode_choice_logsum\n", - " 0.056410\n", + " 1.403530\n", " \n", " \n", " coef_non_worker_departure\n", @@ -3098,54 +3250,54 @@ " \n", " \n", " coef_previous_tour_begins_this_arrival_hour\n", - " -10.370632\n", + " 1.748525\n", " \n", " \n", " coef_previous_tour_ends_this_departure_hour\n", - " 0.298551\n", + " -1.454921\n", " \n", " \n", " coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours\n", - " -25.000000\n", + " -16.666935\n", " \n", " \n", " coef_roundtrip_auto_time_to_work\n", - " 0.005137\n", + " 0.002946\n", " \n", " \n", " coef_school_plus_work_tours_by_student_lt_6_hours\n", - " -2.483313\n", + " 1.805060\n", " \n", " \n", " coef_school_plus_work_tours_by_worker_lt_6_hours\n", - " -2.071313\n", + " 2.217060\n", " \n", " \n", " coef_student_driver_duration\n", - " -0.003958\n", + " 0.021414\n", " \n", " \n", " coef_subsequent_2plus_school_tours_duration\n", - " -0.188299\n", + " -0.309377\n", " \n", " \n", " coef_subsequent_of_2plus_school_lt_6_hours\n", - " 25.000000\n", + " 1.522961\n", " \n", " \n", " coef_subsequent_tour_must_start_after_previous_tour_ends\n", - " -25.000000\n", + " -100.000000\n", " \n", " \n", " coef_univ_departure\n", - " 0.234367\n", + " 0.281763\n", " \n", " \n", " coef_univ_duration\n", - " -0.409132\n", + " -0.287541\n", " \n", " \n", - "loglike-2331.7420221780226d_loglike\n", + "
logloss3.8441737168559693d_logloss\n", " \n", " \n", " \n", @@ -3155,47 +3307,47 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3203,19 +3355,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3223,63 +3375,63 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3287,19 +3439,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3311,15 +3463,15 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3327,39 +3479,39 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3367,149 +3519,149 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction-1.569000e-041.678936e-05
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction2.469873e-05-4.551660e-05
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction-1.376329e-041.846962e-05
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction-1.199309e-04-1.145647e-04
coef_all_adults_ft_worker_duration-2.382589e-04-8.371558e-05
coef_arrival_constants_am_peak1.105861e-042.196925e-04
coef_arrival_constants_early-7.161434e-05-5.719292e-06
coef_arrival_constants_evening-3.213301e-04-8.835678e-05
coef_arrival_constants_late-3.685726e-051.013090e-04
coef_arrival_constants_midday_12.405910e-047.833025e-05
coef_arrival_constants_midday_23.974766e-04-1.965074e-04
coef_arrival_constants_pm_peak_1
coef_arrival_constants_pm_peak_2-3.784033e-04-9.685367e-05
coef_arrival_constants_pm_peak_3-2.802883e-04-9.087295e-05
coef_arrival_constants_pm_peak_41.590313e-042.740145e-05
coef_departure_constants_am_peak_13.893384e-051.513237e-04
coef_departure_constants_am_peak_2
coef_departure_constants_am_peak_3-1.076955e-04-8.937296e-06
coef_departure_constants_am_peak_4-1.023082e-04-8.822207e-05
coef_departure_constants_early-1.964617e-056.575707e-05
coef_departure_constants_evening9.016158e-05-4.373200e-05
coef_departure_constants_late-6.465407e-077.294452e-05
coef_departure_constants_midday_1-1.539484e-05-7.045255e-05
coef_departure_constants_midday_27.340411e-059.783210e-05
coef_departure_constants_pm_peak-3.023675e-041.854008e-04
coef_duration_constants_0_to_2_hours-1.095813e-04-1.017742e-05
coef_duration_constants_10_hours-4.107214e-05-1.010013e-04
coef_duration_constants_11_hours1.853670e-043.540305e-05
coef_duration_constants_12_to_13_hours4.561763e-053.622247e-06
coef_duration_constants_14_to_18_hours1.362278e-041.457916e-04
coef_duration_constants_3_to_4_hours3.779389e-06-1.500782e-04
coef_duration_constants_5_to_6_hours1.389604e-042.054373e-04
coef_duration_constants_7_to_8_hours
coef_duration_constants_9_hours-4.131255e-041.173908e-04
coef_first_of_2plus_school_lt_6_hours2.433801e-056.625071e-05
coef_first_of_2plus_school_tours_departure-1.088730e-044.904242e-05
coef_first_of_2plus_school_tours_duration-1.351925e-045.848347e-05
coef_ft_worker_departure
coef_hh_income_early_departure-1.184539e-06-5.079513e-05
coef_hh_income_late_arrival8.674395e-05-7.624692e-05
coef_mode_choice_logsum7.755139e-04-2.256830e-05
coef_non_worker_departure
coef_previous_tour_begins_this_arrival_hour-7.619359e-07-8.260618e-06
coef_previous_tour_ends_this_departure_hour-2.114195e-05-4.098700e-05
coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours-1.863986e-023.894311e-07
coef_roundtrip_auto_time_to_work-2.056667e-035.433902e-05
coef_school_plus_work_tours_by_student_lt_6_hours2.636310e-068.778429e-06
coef_school_plus_work_tours_by_worker_lt_6_hours2.636310e-068.778429e-06
coef_student_driver_duration4.065449e-04-5.008566e-05
coef_subsequent_2plus_school_tours_duration6.239050e-055.111004e-05
coef_subsequent_of_2plus_school_lt_6_hours2.696315e-069.902870e-05
coef_subsequent_tour_must_start_after_previous_tour_ends
coef_univ_departure-2.420842e-03-7.874285e-05
coef_univ_duration7.174716e-04-1.251813e-05
nit77nfev141njev77status0message'Optimization terminated successfully'successTrueelapsed_time0:00:02.917567method'slsqp'n_cases609iteration_number77logloss3.8288046341182636" + "nit139nfev142njev139status0message'Optimization terminated successfully'successTrueelapsed_time0:00:41.638335method'slsqp'n_cases10352iteration_number139loglike-39483.50824582766" ], "text/plain": [ - "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -0.414229\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -0.640186\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 1.656920\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 0.225722\n", - "┃ coef_all_adults_ft_worker_duration 0.052336\n", - "┃ coef_arrival_constants_am_peak -2.239162\n", - "┃ coef_arrival_constants_early -1.065980\n", - "┃ coef_arrival_constants_evening -1.033329\n", - "┃ coef_arrival_constants_late -1.315910\n", - "┃ coef_arrival_constants_midday_1 -1.302330\n", - "┃ coef_arrival_constants_midday_2 -0.554673\n", - "┃ coef_arrival_constants_pm_peak_1 0.000000\n", - "┃ coef_arrival_constants_pm_peak_2 -0.441387\n", - "┃ coef_arrival_constants_pm_peak_3 -0.281247\n", - "┃ coef_arrival_constants_pm_peak_4 -0.370368\n", - "┃ coef_departure_constants_am_peak_1 -1.882694\n", - "┃ coef_departure_constants_am_peak_2 0.000000\n", - "┃ coef_departure_constants_am_peak_3 -0.183985\n", - "┃ coef_departure_constants_am_peak_4 -2.016403\n", - "┃ coef_departure_constants_early -3.636770\n", - "┃ coef_departure_constants_evening -5.258795\n", - "┃ coef_departure_constants_late -21.447622\n", - "┃ coef_departure_constants_midday_1 -3.279864\n", - "┃ coef_departure_constants_midday_2 -3.750548\n", - "┃ coef_departure_constants_pm_peak -3.093167\n", - "┃ coef_duration_constants_0_to_2_hours -1.372110\n", - "┃ coef_duration_constants_10_hours -0.876448\n", - "┃ coef_duration_constants_11_hours -1.127264\n", - "┃ coef_duration_constants_12_to_13_hours -2.668346\n", - "┃ coef_duration_constants_14_to_18_hours -2.675974\n", - "┃ coef_duration_constants_3_to_4_hours -0.552200\n", - "┃ coef_duration_constants_5_to_6_hours -0.532627\n", - "┃ coef_duration_constants_7_to_8_hours 0.000000\n", - "┃ coef_duration_constants_9_hours -0.487609\n", - "┃ coef_first_of_2plus_school_lt_6_hours 0.169055\n", - "┃ coef_first_of_2plus_school_tours_departure -0.333830\n", - "┃ coef_first_of_2plus_school_tours_duration -0.042558\n", - "┃ coef_ft_worker_departure 0.397100\n", - "┃ coef_ft_worker_duration -0.190800\n", - "┃ coef_hh_income_early_departure -13.757852\n", - "┃ coef_hh_income_late_arrival 0.101726\n", - "┃ coef_mode_choice_logsum 0.056410\n", - "┃ coef_non_worker_departure 0.553900\n", - "┃ coef_previous_tour_begins_this_arrival_hour -10.370632\n", - "┃ coef_previous_tour_ends_this_departure_hour 0.298551\n", - "┃ coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -25.000000\n", - "┃ coef_roundtrip_auto_time_to_work 0.005137\n", - "┃ coef_school_plus_work_tours_by_student_lt_6_hours -2.483313\n", - "┃ coef_school_plus_work_tours_by_worker_lt_6_hours -2.071313\n", - "┃ coef_student_driver_duration -0.003958\n", - "┃ coef_subsequent_2plus_school_tours_duration -0.188299\n", - "┃ coef_subsequent_of_2plus_school_lt_6_hours 25.000000\n", - "┃ coef_subsequent_tour_must_start_after_previous_tour_ends -25.000000\n", - "┃ coef_univ_departure 0.234367\n", - "┃ coef_univ_duration -0.409132\n", + "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.232285\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -1.201676\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -0.419250\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -0.760747\n", + "┃ coef_all_adults_ft_worker_duration 0.079713\n", + "┃ coef_arrival_constants_am_peak -2.595385\n", + "┃ coef_arrival_constants_early -2.446580\n", + "┃ coef_arrival_constants_evening -0.707272\n", + "┃ coef_arrival_constants_late -1.639520\n", + "┃ coef_arrival_constants_midday_1 -1.267988\n", + "┃ coef_arrival_constants_midday_2 -0.523484\n", + "┃ coef_arrival_constants_pm_peak_1 0.000000\n", + "┃ coef_arrival_constants_pm_peak_2 -0.360268\n", + "┃ coef_arrival_constants_pm_peak_3 -0.096426\n", + "┃ coef_arrival_constants_pm_peak_4 -0.127905\n", + "┃ coef_departure_constants_am_peak_1 -1.606835\n", + "┃ coef_departure_constants_am_peak_2 0.000000\n", + "┃ coef_departure_constants_am_peak_3 -0.100582\n", + "┃ coef_departure_constants_am_peak_4 -2.142432\n", + "┃ coef_departure_constants_early -3.850945\n", + "┃ coef_departure_constants_evening -5.546826\n", + "┃ coef_departure_constants_late -10.890722\n", + "┃ coef_departure_constants_midday_1 -3.124481\n", + "┃ coef_departure_constants_midday_2 -3.861525\n", + "┃ coef_departure_constants_pm_peak -3.281532\n", + "┃ coef_duration_constants_0_to_2_hours -1.318085\n", + "┃ coef_duration_constants_10_hours -0.914359\n", + "┃ coef_duration_constants_11_hours -1.643692\n", + "┃ coef_duration_constants_12_to_13_hours -2.528269\n", + "┃ coef_duration_constants_14_to_18_hours -2.541672\n", + "┃ coef_duration_constants_3_to_4_hours -0.680239\n", + "┃ coef_duration_constants_5_to_6_hours -0.551126\n", + "┃ coef_duration_constants_7_to_8_hours 0.000000\n", + "┃ coef_duration_constants_9_hours -0.664353\n", + "┃ coef_first_of_2plus_school_lt_6_hours 1.768123\n", + "┃ coef_first_of_2plus_school_tours_departure -0.277161\n", + "┃ coef_first_of_2plus_school_tours_duration -0.077846\n", + "┃ coef_ft_worker_departure 0.397100\n", + "┃ coef_ft_worker_duration -0.190800\n", + "┃ coef_hh_income_early_departure -0.643531\n", + "┃ coef_hh_income_late_arrival -0.123912\n", + "┃ coef_mode_choice_logsum 1.403530\n", + "┃ coef_non_worker_departure 0.553900\n", + "┃ coef_previous_tour_begins_this_arrival_hour 1.748525\n", + "┃ coef_previous_tour_ends_this_departure_hour -1.454921\n", + "┃ coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -16.666935\n", + "┃ coef_roundtrip_auto_time_to_work 0.002946\n", + "┃ coef_school_plus_work_tours_by_student_lt_6_hours 1.805060\n", + "┃ coef_school_plus_work_tours_by_worker_lt_6_hours 2.217060\n", + "┃ coef_student_driver_duration 0.021414\n", + "┃ coef_subsequent_2plus_school_tours_duration -0.309377\n", + "┃ coef_subsequent_of_2plus_school_lt_6_hours 1.522961\n", + "┃ coef_subsequent_tour_must_start_after_previous_tour_ends -100.000000\n", + "┃ coef_univ_departure 0.281763\n", + "┃ coef_univ_duration -0.287541\n", "┃ dtype: float64\n", - "┣ loglike: -2331.7420221780226\n", - "┣ d_loglike: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -1.569000e-04\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 2.469873e-05\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -1.376329e-04\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -1.199309e-04\n", - "┃ coef_all_adults_ft_worker_duration -2.382589e-04\n", - "┃ coef_arrival_constants_am_peak 1.105861e-04\n", - "┃ coef_arrival_constants_early -7.161434e-05\n", - "┃ coef_arrival_constants_evening -3.213301e-04\n", - "┃ coef_arrival_constants_late -3.685726e-05\n", - "┃ coef_arrival_constants_midday_1 2.405910e-04\n", - "┃ coef_arrival_constants_midday_2 3.974766e-04\n", + "┣ logloss: 3.8441737168559693\n", + "┣ d_logloss: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 1.678936e-05\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -4.551660e-05\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 1.846962e-05\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -1.145647e-04\n", + "┃ coef_all_adults_ft_worker_duration -8.371558e-05\n", + "┃ coef_arrival_constants_am_peak 2.196925e-04\n", + "┃ coef_arrival_constants_early -5.719292e-06\n", + "┃ coef_arrival_constants_evening -8.835678e-05\n", + "┃ coef_arrival_constants_late 1.013090e-04\n", + "┃ coef_arrival_constants_midday_1 7.833025e-05\n", + "┃ coef_arrival_constants_midday_2 -1.965074e-04\n", "┃ coef_arrival_constants_pm_peak_1 0.000000e+00\n", - "┃ coef_arrival_constants_pm_peak_2 -3.784033e-04\n", - "┃ coef_arrival_constants_pm_peak_3 -2.802883e-04\n", - "┃ coef_arrival_constants_pm_peak_4 1.590313e-04\n", - "┃ coef_departure_constants_am_peak_1 3.893384e-05\n", + "┃ coef_arrival_constants_pm_peak_2 -9.685367e-05\n", + "┃ coef_arrival_constants_pm_peak_3 -9.087295e-05\n", + "┃ coef_arrival_constants_pm_peak_4 2.740145e-05\n", + "┃ coef_departure_constants_am_peak_1 1.513237e-04\n", "┃ coef_departure_constants_am_peak_2 0.000000e+00\n", - "┃ coef_departure_constants_am_peak_3 -1.076955e-04\n", - "┃ coef_departure_constants_am_peak_4 -1.023082e-04\n", - "┃ coef_departure_constants_early -1.964617e-05\n", - "┃ coef_departure_constants_evening 9.016158e-05\n", - "┃ coef_departure_constants_late -6.465407e-07\n", - "┃ coef_departure_constants_midday_1 -1.539484e-05\n", - "┃ coef_departure_constants_midday_2 7.340411e-05\n", - "┃ coef_departure_constants_pm_peak -3.023675e-04\n", - "┃ coef_duration_constants_0_to_2_hours -1.095813e-04\n", - "┃ coef_duration_constants_10_hours -4.107214e-05\n", - "┃ coef_duration_constants_11_hours 1.853670e-04\n", - "┃ coef_duration_constants_12_to_13_hours 4.561763e-05\n", - "┃ coef_duration_constants_14_to_18_hours 1.362278e-04\n", - "┃ coef_duration_constants_3_to_4_hours 3.779389e-06\n", - "┃ coef_duration_constants_5_to_6_hours 1.389604e-04\n", + "┃ coef_departure_constants_am_peak_3 -8.937296e-06\n", + "┃ coef_departure_constants_am_peak_4 -8.822207e-05\n", + "┃ coef_departure_constants_early 6.575707e-05\n", + "┃ coef_departure_constants_evening -4.373200e-05\n", + "┃ coef_departure_constants_late 7.294452e-05\n", + "┃ coef_departure_constants_midday_1 -7.045255e-05\n", + "┃ coef_departure_constants_midday_2 9.783210e-05\n", + "┃ coef_departure_constants_pm_peak 1.854008e-04\n", + "┃ coef_duration_constants_0_to_2_hours -1.017742e-05\n", + "┃ coef_duration_constants_10_hours -1.010013e-04\n", + "┃ coef_duration_constants_11_hours 3.540305e-05\n", + "┃ coef_duration_constants_12_to_13_hours 3.622247e-06\n", + "┃ coef_duration_constants_14_to_18_hours 1.457916e-04\n", + "┃ coef_duration_constants_3_to_4_hours -1.500782e-04\n", + "┃ coef_duration_constants_5_to_6_hours 2.054373e-04\n", "┃ coef_duration_constants_7_to_8_hours 0.000000e+00\n", - "┃ coef_duration_constants_9_hours -4.131255e-04\n", - "┃ coef_first_of_2plus_school_lt_6_hours 2.433801e-05\n", - "┃ coef_first_of_2plus_school_tours_departure -1.088730e-04\n", - "┃ coef_first_of_2plus_school_tours_duration -1.351925e-04\n", + "┃ coef_duration_constants_9_hours 1.173908e-04\n", + "┃ coef_first_of_2plus_school_lt_6_hours 6.625071e-05\n", + "┃ coef_first_of_2plus_school_tours_departure 4.904242e-05\n", + "┃ coef_first_of_2plus_school_tours_duration 5.848347e-05\n", "┃ coef_ft_worker_departure 0.000000e+00\n", "┃ coef_ft_worker_duration 0.000000e+00\n", - "┃ coef_hh_income_early_departure -1.184539e-06\n", - "┃ coef_hh_income_late_arrival 8.674395e-05\n", - "┃ coef_mode_choice_logsum 7.755139e-04\n", + "┃ coef_hh_income_early_departure -5.079513e-05\n", + "┃ coef_hh_income_late_arrival -7.624692e-05\n", + "┃ coef_mode_choice_logsum -2.256830e-05\n", "┃ coef_non_worker_departure 0.000000e+00\n", - "┃ coef_previous_tour_begins_this_arrival_hour -7.619359e-07\n", - "┃ coef_previous_tour_ends_this_departure_hour -2.114195e-05\n", - "┃ coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -1.863986e-02\n", - "┃ coef_roundtrip_auto_time_to_work -2.056667e-03\n", - "┃ coef_school_plus_work_tours_by_student_lt_6_hours 2.636310e-06\n", - "┃ coef_school_plus_work_tours_by_worker_lt_6_hours 2.636310e-06\n", - "┃ coef_student_driver_duration 4.065449e-04\n", - "┃ coef_subsequent_2plus_school_tours_duration 6.239050e-05\n", - "┃ coef_subsequent_of_2plus_school_lt_6_hours 2.696315e-06\n", + "┃ coef_previous_tour_begins_this_arrival_hour -8.260618e-06\n", + "┃ coef_previous_tour_ends_this_departure_hour -4.098700e-05\n", + "┃ coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours 3.894311e-07\n", + "┃ coef_roundtrip_auto_time_to_work 5.433902e-05\n", + "┃ coef_school_plus_work_tours_by_student_lt_6_hours 8.778429e-06\n", + "┃ coef_school_plus_work_tours_by_worker_lt_6_hours 8.778429e-06\n", + "┃ coef_student_driver_duration -5.008566e-05\n", + "┃ coef_subsequent_2plus_school_tours_duration 5.111004e-05\n", + "┃ coef_subsequent_of_2plus_school_lt_6_hours 9.902870e-05\n", "┃ coef_subsequent_tour_must_start_after_previous_tour_ends 0.000000e+00\n", - "┃ coef_univ_departure -2.420842e-03\n", - "┃ coef_univ_duration 7.174716e-04\n", + "┃ coef_univ_departure -7.874285e-05\n", + "┃ coef_univ_duration -1.251813e-05\n", "┃ dtype: float64\n", - "┣ nit: 77\n", - "┣ nfev: 141\n", - "┣ njev: 77\n", + "┣ nit: 139\n", + "┣ nfev: 142\n", + "┣ njev: 139\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=2, microseconds=917567)\n", + "┣ elapsed_time: datetime.timedelta(seconds=41, microseconds=638335)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 609\n", - "┣ iteration_number: 77\n", - "┣ logloss: 3.8288046341182636" + "┣ n_cases: 10352\n", + "┣ iteration_number: 139\n", + "┣ loglike: -39483.50824582766" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate()" + "model.estimate(maxiter=999)" ] }, { @@ -3521,579 +3673,550 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction-0.414 0.645-0.64 NA 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction-0.640 0.383-1.67 NA 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 1.66 0.794 2.09* NA 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 0.226 0.377 0.60 NA 0.00
coef_all_adults_ft_worker_duration 0.0523 0.179 0.29 NA 0.00
coef_arrival_constants_am_peak-2.24 0.467-4.79*** NA 0.00
coef_arrival_constants_early-1.07 0.889-1.20 NA 0.00
coef_arrival_constants_evening-1.03 0.346-2.99** NA 0.00
coef_arrival_constants_late-1.32 0.510-2.58** NA 0.00
coef_arrival_constants_midday_1-1.30 0.285-4.57*** NA 0.00
coef_arrival_constants_midday_2-0.555 0.161-3.45*** NA 0.00
coef_arrival_constants_pm_peak_1 0.00 NA NA NA 0.00fixed value
coef_arrival_constants_pm_peak_2-0.441 0.167-2.64** NA 0.00
coef_arrival_constants_pm_peak_3-0.281 0.223-1.26 NA 0.00
coef_arrival_constants_pm_peak_4-0.370 0.274-1.35 NA 0.00
coef_departure_constants_am_peak_1-1.88 0.214-8.81*** NA 0.00
coef_departure_constants_am_peak_2 0.00 NA NA NA 0.00fixed value
coef_departure_constants_am_peak_3-0.184 0.114-1.61 NA 0.00
coef_departure_constants_am_peak_4-2.02 0.224-9.01*** NA 0.00
coef_departure_constants_early-3.64 0.600-6.07*** NA 0.00
coef_departure_constants_evening-5.26 0.830-6.34*** NA 0.00
coef_departure_constants_late-21.4 1.78e+03-0.01 NA 0.00
coef_departure_constants_midday_1-3.28 0.291-11.28*** NA 0.00
coef_departure_constants_midday_2-3.75 0.433-8.67*** NA 0.00
coef_departure_constants_pm_peak-3.09 0.579-5.34*** NA 0.00
coef_duration_constants_0_to_2_hours-1.37 0.393-3.49*** NA 0.00
coef_duration_constants_10_hours-0.876 0.271-3.24** NA 0.00
coef_duration_constants_11_hours-1.13 0.347-3.24** NA 0.00
coef_duration_constants_12_to_13_hours-2.67 0.530-5.04*** NA 0.00
coef_duration_constants_14_to_18_hours-2.68 0.614-4.36*** NA 0.00
coef_duration_constants_3_to_4_hours-0.552 0.277-2.00* NA 0.00
coef_duration_constants_5_to_6_hours-0.533 0.179-2.97** NA 0.00
coef_duration_constants_7_to_8_hours 0.00 NA NA NA 0.00fixed value
coef_duration_constants_9_hours-0.488 0.199-2.45* NA 0.00
coef_first_of_2plus_school_lt_6_hours 0.169 1.14 0.15 NA 0.00
coef_first_of_2plus_school_tours_departure-0.334 0.170-1.96* NA 0.00
coef_first_of_2plus_school_tours_duration-0.0426 0.214-0.20 NA 0.00
coef_ft_worker_departure 0.397 0.0143 27.72*** NA 0.00
coef_ft_worker_duration-0.191 0.00454-42.02*** NA 0.00
coef_hh_income_early_departure-13.8 934.-0.01 NA 0.00
coef_hh_income_late_arrival 0.102 0.762 0.13 NA 0.00
coef_mode_choice_logsum 0.0564 0.267 0.21 NA 0.00
coef_non_worker_departure 0.554 0.000124 BIG*** NA 0.00
coef_previous_tour_begins_this_arrival_hour-10.4 1.62e+03-0.01 NA 0.00
coef_previous_tour_ends_this_departure_hour 0.299 0.613 0.49 NA 0.00
coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours-25.0 NA NA[] 1.05 0.00coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours ≥ -25.0
coef_roundtrip_auto_time_to_work 0.00514 0.00516 1.00 NA 0.00
coef_school_plus_work_tours_by_student_lt_6_hours-2.48 314.-0.01 NA 0.00
coef_school_plus_work_tours_by_worker_lt_6_hours-2.07 314.-0.01 NA 0.00
coef_student_driver_duration-0.00396 0.0373-0.11 NA 0.00
coef_subsequent_2plus_school_tours_duration-0.188 0.149-1.27 NA 0.00
coef_subsequent_of_2plus_school_lt_6_hours 25.0 NA NA[***] 220.75 0.00coef_subsequent_of_2plus_school_lt_6_hours ≤ 25.0
coef_subsequent_tour_must_start_after_previous_tour_ends-100. NA NA NA 0.00fixed value
coef_univ_departure 0.234 0.0383 6.13*** NA 0.00
coef_univ_duration-0.409 0.0544-7.52*** NA 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.232 2.43 0.10 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction-1.20 0.265-4.54*** 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction-0.419 0.705-0.59 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction-0.761 0.722-1.05 0.00
coef_all_adults_ft_worker_duration 0.0797 0.0336 2.37* 0.00
coef_arrival_constants_am_peak-2.60 0.128-20.35*** 0.00
coef_arrival_constants_early-2.45 0.378-6.47*** 0.00
coef_arrival_constants_evening-0.707 0.0872-8.11*** 0.00
coef_arrival_constants_late-1.64 0.137-11.98*** 0.00
coef_arrival_constants_midday_1-1.27 0.0711-17.84*** 0.00
coef_arrival_constants_midday_2-0.523 0.0391-13.41*** 0.00
coef_arrival_constants_pm_peak_1 0.00 0.00 NA 0.00fixed value
coef_arrival_constants_pm_peak_2-0.360 0.0391-9.21*** 0.00
coef_arrival_constants_pm_peak_3-0.0964 0.0543-1.78 0.00
coef_arrival_constants_pm_peak_4-0.128 0.0672-1.90 0.00
coef_departure_constants_am_peak_1-1.61 0.0470-34.22*** 0.00
coef_departure_constants_am_peak_2 0.00 0.00 NA 0.00fixed value
coef_departure_constants_am_peak_3-0.101 0.0275-3.66*** 0.00
coef_departure_constants_am_peak_4-2.14 0.0570-37.57*** 0.00
coef_departure_constants_early-3.85 0.173-22.28*** 0.00
coef_departure_constants_evening-5.55 0.220-25.26*** 0.00
coef_departure_constants_late-10.9 2.02-5.39*** 0.00
coef_departure_constants_midday_1-3.12 0.0717-43.56*** 0.00
coef_departure_constants_midday_2-3.86 0.112-34.58*** 0.00
coef_departure_constants_pm_peak-3.28 0.148-22.16*** 0.00
coef_duration_constants_0_to_2_hours-1.32 0.0986-13.37*** 0.00
coef_duration_constants_10_hours-0.914 0.0627-14.59*** 0.00
coef_duration_constants_11_hours-1.64 0.0876-18.76*** 0.00
coef_duration_constants_12_to_13_hours-2.53 0.112-22.51*** 0.00
coef_duration_constants_14_to_18_hours-2.54 0.143-17.80*** 0.00
coef_duration_constants_3_to_4_hours-0.680 0.0695-9.79*** 0.00
coef_duration_constants_5_to_6_hours-0.551 0.0434-12.71*** 0.00
coef_duration_constants_7_to_8_hours 0.00 0.00 NA 0.00fixed value
coef_duration_constants_9_hours-0.664 0.0471-14.10*** 0.00
coef_first_of_2plus_school_lt_6_hours 1.77 0.267 6.63*** 0.00
coef_first_of_2plus_school_tours_departure-0.277 0.0289-9.59*** 0.00
coef_first_of_2plus_school_tours_duration-0.0778 0.0892-0.87 0.00
coef_ft_worker_departure 0.397 NA NA 0.00
coef_ft_worker_duration-0.191 NA NA 0.00
coef_hh_income_early_departure-0.644 0.381-1.69 0.00
coef_hh_income_late_arrival-0.124 0.206-0.60 0.00
coef_mode_choice_logsum 1.40 0.125 11.19*** 0.00
coef_non_worker_departure 0.554 2.69e-13 BIG*** 0.00
coef_previous_tour_begins_this_arrival_hour 1.75 0.946 1.85 0.00
coef_previous_tour_ends_this_departure_hour-1.45 0.690-2.11* 0.00
coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours-16.7 18.9-0.88 0.00
coef_roundtrip_auto_time_to_work 0.00295 0.000437 6.74*** 0.00
coef_school_plus_work_tours_by_student_lt_6_hours 1.81 1.68 1.07 0.00
coef_school_plus_work_tours_by_worker_lt_6_hours 2.22 1.68 1.32 0.00
coef_student_driver_duration 0.0214 0.00880 2.43* 0.00
coef_subsequent_2plus_school_tours_duration-0.309 0.0368-8.41*** 0.00
coef_subsequent_of_2plus_school_lt_6_hours 1.52 0.493 3.09** 0.00
coef_subsequent_tour_must_start_after_previous_tour_ends-100. 0.00 NA 0.00fixed value
coef_univ_departure 0.282 0.0112 25.08*** 0.00
coef_univ_duration-0.288 0.0153-18.82*** 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -4114,7 +4237,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -4135,20 +4258,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -4167,7 +4279,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -4206,7 +4318,7 @@ " \n", " 1\n", " coef_roundtrip_auto_time_to_work\n", - " 0.005137\n", + " 0.002946\n", " F\n", " \n", " \n", @@ -4230,25 +4342,25 @@ " \n", " 5\n", " coef_univ_departure\n", - " 0.234367\n", + " 0.281763\n", " F\n", " \n", " \n", " 6\n", " coef_univ_duration\n", - " -0.409132\n", + " -0.287541\n", " F\n", " \n", " \n", " 7\n", " coef_student_driver_duration\n", - " -0.003958\n", + " 0.021414\n", " F\n", " \n", " \n", " 8\n", " coef_all_adults_ft_worker_duration\n", - " 0.052336\n", + " 0.079713\n", " F\n", " \n", " \n", @@ -4260,115 +4372,115 @@ " \n", " 10\n", " coef_first_of_2plus_school_tours_departure\n", - " -0.333830\n", + " -0.277161\n", " F\n", " \n", " \n", " 11\n", " coef_first_of_2plus_school_tours_duration\n", - " -0.042558\n", + " -0.077846\n", " F\n", " \n", " \n", " 12\n", " coef_subsequent_2plus_school_tours_duration\n", - " -0.188299\n", + " -0.309377\n", " F\n", " \n", " \n", " 13\n", " coef_hh_income_early_departure\n", - " -13.757852\n", + " -0.643531\n", " F\n", " \n", " \n", " 14\n", " coef_hh_income_late_arrival\n", - " 0.101726\n", + " -0.123912\n", " F\n", " \n", " \n", " 15\n", " coef_first_of_2plus_school_lt_6_hours\n", - " 0.169055\n", + " 1.768123\n", " F\n", " \n", " \n", " 16\n", " coef_subsequent_of_2plus_school_lt_6_hours\n", - " 25.000000\n", + " 1.522961\n", " F\n", " \n", " \n", " 17\n", " coef_school_plus_work_tours_by_student_lt_6_hours\n", - " -2.483313\n", + " 1.805060\n", " F\n", " \n", " \n", " 18\n", " coef_school_plus_work_tours_by_worker_lt_6_hours\n", - " -2.071313\n", + " 2.217060\n", " F\n", " \n", " \n", " 19\n", " coef_mode_choice_logsum\n", - " 0.056410\n", + " 1.403530\n", " F\n", " \n", " \n", " 20\n", " coef_previous_tour_ends_this_departure_hour\n", - " 0.298551\n", + " -1.454921\n", " F\n", " \n", " \n", " 21\n", " coef_previous_tour_begins_this_arrival_hour\n", - " -10.370632\n", + " 1.748525\n", " F\n", " \n", " \n", " 22\n", " coef_adjacent_window_exists_before_this_depart...\n", - " 1.656920\n", + " -0.419250\n", " F\n", " \n", " \n", " 23\n", " coef_adjacent_window_exists_after_this_arrival...\n", - " -0.414229\n", + " 0.232285\n", " F\n", " \n", " \n", " 24\n", " coef_adjacent_window_exists_before_this_depart...\n", - " 0.225722\n", + " -0.760747\n", " F\n", " \n", " \n", " 25\n", " coef_adjacent_window_exists_after_this_arrival...\n", - " -0.640186\n", + " -1.201676\n", " F\n", " \n", " \n", " 26\n", " coef_remaining_work_school_tours_to_be_schedul...\n", - " -25.000000\n", + " -16.666935\n", " F\n", " \n", " \n", " 27\n", " coef_departure_constants_early\n", - " -3.636770\n", + " -3.850945\n", " F\n", " \n", " \n", " 28\n", " coef_departure_constants_am_peak_1\n", - " -1.882694\n", + " -1.606835\n", " F\n", " \n", " \n", @@ -4380,67 +4492,67 @@ " \n", " 30\n", " coef_departure_constants_am_peak_3\n", - " -0.183985\n", + " -0.100582\n", " F\n", " \n", " \n", " 31\n", " coef_departure_constants_am_peak_4\n", - " -2.016403\n", + " -2.142432\n", " F\n", " \n", " \n", " 32\n", " coef_departure_constants_midday_1\n", - " -3.279864\n", + " -3.124481\n", " F\n", " \n", " \n", " 33\n", " coef_departure_constants_midday_2\n", - " -3.750548\n", + " -3.861525\n", " F\n", " \n", " \n", " 34\n", " coef_departure_constants_pm_peak\n", - " -3.093167\n", + " -3.281532\n", " F\n", " \n", " \n", " 35\n", " coef_departure_constants_evening\n", - " -5.258795\n", + " -5.546826\n", " F\n", " \n", " \n", " 36\n", " coef_departure_constants_late\n", - " -21.447622\n", + " -10.890722\n", " F\n", " \n", " \n", " 37\n", " coef_arrival_constants_early\n", - " -1.065980\n", + " -2.446580\n", " F\n", " \n", " \n", " 38\n", " coef_arrival_constants_am_peak\n", - " -2.239162\n", + " -2.595385\n", " F\n", " \n", " \n", " 39\n", " coef_arrival_constants_midday_1\n", - " -1.302330\n", + " -1.267988\n", " F\n", " \n", " \n", " 40\n", " coef_arrival_constants_midday_2\n", - " -0.554673\n", + " -0.523484\n", " F\n", " \n", " \n", @@ -4452,49 +4564,49 @@ " \n", " 42\n", " coef_arrival_constants_pm_peak_2\n", - " -0.441387\n", + " -0.360268\n", " F\n", " \n", " \n", " 43\n", " coef_arrival_constants_pm_peak_3\n", - " -0.281247\n", + " -0.096426\n", " F\n", " \n", " \n", " 44\n", " coef_arrival_constants_pm_peak_4\n", - " -0.370368\n", + " -0.127905\n", " F\n", " \n", " \n", " 45\n", " coef_arrival_constants_evening\n", - " -1.033329\n", + " -0.707272\n", " F\n", " \n", " \n", " 46\n", " coef_arrival_constants_late\n", - " -1.315910\n", + " -1.639520\n", " F\n", " \n", " \n", " 47\n", " coef_duration_constants_0_to_2_hours\n", - " -1.372110\n", + " -1.318085\n", " F\n", " \n", " \n", " 48\n", " coef_duration_constants_3_to_4_hours\n", - " -0.552200\n", + " -0.680239\n", " F\n", " \n", " \n", " 49\n", " coef_duration_constants_5_to_6_hours\n", - " -0.532627\n", + " -0.551126\n", " F\n", " \n", " \n", @@ -4506,31 +4618,31 @@ " \n", " 51\n", " coef_duration_constants_9_hours\n", - " -0.487609\n", + " -0.664353\n", " F\n", " \n", " \n", " 52\n", " coef_duration_constants_10_hours\n", - " -0.876448\n", + " -0.914359\n", " F\n", " \n", " \n", " 53\n", " coef_duration_constants_11_hours\n", - " -1.127264\n", + " -1.643692\n", " F\n", " \n", " \n", " 54\n", " coef_duration_constants_12_to_13_hours\n", - " -2.668346\n", + " -2.528269\n", " F\n", " \n", " \n", " 55\n", " coef_duration_constants_14_to_18_hours\n", - " -2.675974\n", + " -2.541672\n", " F\n", " \n", " \n", @@ -4540,64 +4652,64 @@ "text/plain": [ " coefficient_name value constrain\n", "0 coef_dummy 1.000000 T\n", - "1 coef_roundtrip_auto_time_to_work 0.005137 F\n", + "1 coef_roundtrip_auto_time_to_work 0.002946 F\n", "2 coef_ft_worker_departure 0.397100 F\n", "3 coef_ft_worker_duration -0.190800 F\n", "4 coef_non_worker_departure 0.553900 F\n", - "5 coef_univ_departure 0.234367 F\n", - "6 coef_univ_duration -0.409132 F\n", - "7 coef_student_driver_duration -0.003958 F\n", - "8 coef_all_adults_ft_worker_duration 0.052336 F\n", + "5 coef_univ_departure 0.281763 F\n", + "6 coef_univ_duration -0.287541 F\n", + "7 coef_student_driver_duration 0.021414 F\n", + "8 coef_all_adults_ft_worker_duration 0.079713 F\n", "9 coef_subsequent_tour_must_start_after_previous... -100.000000 T\n", - "10 coef_first_of_2plus_school_tours_departure -0.333830 F\n", - "11 coef_first_of_2plus_school_tours_duration -0.042558 F\n", - "12 coef_subsequent_2plus_school_tours_duration -0.188299 F\n", - "13 coef_hh_income_early_departure -13.757852 F\n", - "14 coef_hh_income_late_arrival 0.101726 F\n", - "15 coef_first_of_2plus_school_lt_6_hours 0.169055 F\n", - "16 coef_subsequent_of_2plus_school_lt_6_hours 25.000000 F\n", - "17 coef_school_plus_work_tours_by_student_lt_6_hours -2.483313 F\n", - "18 coef_school_plus_work_tours_by_worker_lt_6_hours -2.071313 F\n", - "19 coef_mode_choice_logsum 0.056410 F\n", - "20 coef_previous_tour_ends_this_departure_hour 0.298551 F\n", - "21 coef_previous_tour_begins_this_arrival_hour -10.370632 F\n", - "22 coef_adjacent_window_exists_before_this_depart... 1.656920 F\n", - "23 coef_adjacent_window_exists_after_this_arrival... -0.414229 F\n", - "24 coef_adjacent_window_exists_before_this_depart... 0.225722 F\n", - "25 coef_adjacent_window_exists_after_this_arrival... -0.640186 F\n", - "26 coef_remaining_work_school_tours_to_be_schedul... -25.000000 F\n", - "27 coef_departure_constants_early -3.636770 F\n", - "28 coef_departure_constants_am_peak_1 -1.882694 F\n", + "10 coef_first_of_2plus_school_tours_departure -0.277161 F\n", + "11 coef_first_of_2plus_school_tours_duration -0.077846 F\n", + "12 coef_subsequent_2plus_school_tours_duration -0.309377 F\n", + "13 coef_hh_income_early_departure -0.643531 F\n", + "14 coef_hh_income_late_arrival -0.123912 F\n", + "15 coef_first_of_2plus_school_lt_6_hours 1.768123 F\n", + "16 coef_subsequent_of_2plus_school_lt_6_hours 1.522961 F\n", + "17 coef_school_plus_work_tours_by_student_lt_6_hours 1.805060 F\n", + "18 coef_school_plus_work_tours_by_worker_lt_6_hours 2.217060 F\n", + "19 coef_mode_choice_logsum 1.403530 F\n", + "20 coef_previous_tour_ends_this_departure_hour -1.454921 F\n", + "21 coef_previous_tour_begins_this_arrival_hour 1.748525 F\n", + "22 coef_adjacent_window_exists_before_this_depart... -0.419250 F\n", + "23 coef_adjacent_window_exists_after_this_arrival... 0.232285 F\n", + "24 coef_adjacent_window_exists_before_this_depart... -0.760747 F\n", + "25 coef_adjacent_window_exists_after_this_arrival... -1.201676 F\n", + "26 coef_remaining_work_school_tours_to_be_schedul... -16.666935 F\n", + "27 coef_departure_constants_early -3.850945 F\n", + "28 coef_departure_constants_am_peak_1 -1.606835 F\n", "29 coef_departure_constants_am_peak_2 0.000000 T\n", - "30 coef_departure_constants_am_peak_3 -0.183985 F\n", - "31 coef_departure_constants_am_peak_4 -2.016403 F\n", - "32 coef_departure_constants_midday_1 -3.279864 F\n", - "33 coef_departure_constants_midday_2 -3.750548 F\n", - "34 coef_departure_constants_pm_peak -3.093167 F\n", - "35 coef_departure_constants_evening -5.258795 F\n", - "36 coef_departure_constants_late -21.447622 F\n", - "37 coef_arrival_constants_early -1.065980 F\n", - "38 coef_arrival_constants_am_peak -2.239162 F\n", - "39 coef_arrival_constants_midday_1 -1.302330 F\n", - "40 coef_arrival_constants_midday_2 -0.554673 F\n", + "30 coef_departure_constants_am_peak_3 -0.100582 F\n", + "31 coef_departure_constants_am_peak_4 -2.142432 F\n", + "32 coef_departure_constants_midday_1 -3.124481 F\n", + "33 coef_departure_constants_midday_2 -3.861525 F\n", + "34 coef_departure_constants_pm_peak -3.281532 F\n", + "35 coef_departure_constants_evening -5.546826 F\n", + "36 coef_departure_constants_late -10.890722 F\n", + "37 coef_arrival_constants_early -2.446580 F\n", + "38 coef_arrival_constants_am_peak -2.595385 F\n", + "39 coef_arrival_constants_midday_1 -1.267988 F\n", + "40 coef_arrival_constants_midday_2 -0.523484 F\n", "41 coef_arrival_constants_pm_peak_1 0.000000 T\n", - "42 coef_arrival_constants_pm_peak_2 -0.441387 F\n", - "43 coef_arrival_constants_pm_peak_3 -0.281247 F\n", - "44 coef_arrival_constants_pm_peak_4 -0.370368 F\n", - "45 coef_arrival_constants_evening -1.033329 F\n", - "46 coef_arrival_constants_late -1.315910 F\n", - "47 coef_duration_constants_0_to_2_hours -1.372110 F\n", - "48 coef_duration_constants_3_to_4_hours -0.552200 F\n", - "49 coef_duration_constants_5_to_6_hours -0.532627 F\n", + "42 coef_arrival_constants_pm_peak_2 -0.360268 F\n", + "43 coef_arrival_constants_pm_peak_3 -0.096426 F\n", + "44 coef_arrival_constants_pm_peak_4 -0.127905 F\n", + "45 coef_arrival_constants_evening -0.707272 F\n", + "46 coef_arrival_constants_late -1.639520 F\n", + "47 coef_duration_constants_0_to_2_hours -1.318085 F\n", + "48 coef_duration_constants_3_to_4_hours -0.680239 F\n", + "49 coef_duration_constants_5_to_6_hours -0.551126 F\n", "50 coef_duration_constants_7_to_8_hours 0.000000 T\n", - "51 coef_duration_constants_9_hours -0.487609 F\n", - "52 coef_duration_constants_10_hours -0.876448 F\n", - "53 coef_duration_constants_11_hours -1.127264 F\n", - "54 coef_duration_constants_12_to_13_hours -2.668346 F\n", - "55 coef_duration_constants_14_to_18_hours -2.675974 F" + "51 coef_duration_constants_9_hours -0.664353 F\n", + "52 coef_duration_constants_10_hours -0.914359 F\n", + "53 coef_duration_constants_11_hours -1.643692 F\n", + "54 coef_duration_constants_12_to_13_hours -2.528269 F\n", + "55 coef_duration_constants_14_to_18_hours -2.541672 F" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -4614,7 +4726,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4628,7 +4740,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/10_joint_tour_freq.ipynb b/activitysim/examples/example_estimation/notebooks/10_joint_tour_freq.ipynb index a8d306f95a..4fd045c4dd 100644 --- a/activitysim/examples/example_estimation/notebooks/10_joint_tour_freq.ipynb +++ b/activitysim/examples/example_estimation/notebooks/10_joint_tour_freq.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +115,27 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/joint_tour_frequency/joint_tour_frequency_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/joint_tour_frequency/joint_tour_frequency_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_frequency/joint_tour_frequency_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"joint_tour_frequency\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -766,7 +828,7 @@ " \n", " \n", " \n", - " 189748\n", + " 190236\n", " 0_tours\n", " 0_tours\n", " 1.0\n", @@ -778,20 +840,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " False\n", " False\n", " 0\n", - " 2.996\n", - " 0.0\n", - " 0.000\n", - " 6.041458\n", + " 2.996094\n", + " 0.000000\n", + " 0.000000\n", + " 5.661266\n", " 1\n", " \n", " \n", - " 189758\n", - " 1_Eat\n", + " 190592\n", + " 1_Disc\n", " 1_Eat\n", " 1.0\n", " 0.0\n", @@ -802,19 +864,19 @@ " 0.0\n", " 0.0\n", " ...\n", - " 2.0\n", + " 0.0\n", " 0.0\n", " False\n", " False\n", " 0\n", - " 2.303\n", - " 0.0\n", - " 0.000\n", - " 6.035642\n", + " 2.996094\n", + " 0.000000\n", + " 0.000000\n", + " 5.384032\n", " 4\n", " \n", " \n", - " 189833\n", + " 190998\n", " 0_tours\n", " 0_tours\n", " 1.0\n", @@ -826,21 +888,21 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " False\n", " False\n", " 0\n", - " 2.996\n", - " 0.0\n", - " 0.000\n", - " 5.601202\n", + " 2.564453\n", + " 0.000000\n", + " 0.000000\n", + " 4.529309\n", " 1\n", " \n", " \n", - " 190134\n", - " 0_tours\n", + " 191185\n", " 0_tours\n", + " 1_Shop\n", " 1.0\n", " 0.0\n", " 0.0\n", @@ -855,16 +917,16 @@ " False\n", " False\n", " 0\n", - " 2.996\n", - " 0.0\n", - " 0.000\n", - " 5.941369\n", - " 1\n", + " 2.996094\n", + " 0.000000\n", + " 0.000000\n", + " 4.015752\n", + " 2\n", " \n", " \n", - " 190153\n", - " 0_tours\n", + " 191276\n", " 0_tours\n", + " 1_Disc\n", " 1.0\n", " 0.0\n", " 0.0\n", @@ -879,11 +941,11 @@ " False\n", " False\n", " 0\n", - " 2.996\n", - " 0.0\n", - " 0.000\n", - " 5.876868\n", - " 1\n", + " 2.996094\n", + " 0.000000\n", + " 0.000000\n", + " 4.422027\n", + " 6\n", " \n", " \n", " ...\n", @@ -910,38 +972,38 @@ " ...\n", " \n", " \n", - " 2749929\n", + " 2759076\n", " 0_tours\n", " 0_tours\n", " 1.0\n", + " 2.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", " 1.0\n", + " 2.0\n", " False\n", " True\n", " 0\n", - " 2.303\n", - " 0.0\n", - " 2.484\n", - " 3.937425\n", + " 2.996094\n", + " 1.946289\n", + " 2.564453\n", + " 6.481015\n", " 1\n", " \n", " \n", - " 2749970\n", + " 2759264\n", " 0_tours\n", " 0_tours\n", " 1.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -951,16 +1013,16 @@ " False\n", " True\n", " 0\n", - " 2.996\n", - " 0.0\n", - " 0.000\n", - " 5.523326\n", + " 2.996094\n", + " 0.000000\n", + " 0.000000\n", + " 6.343830\n", " 1\n", " \n", " \n", - " 2750003\n", - " 0_tours\n", + " 2759425\n", " 0_tours\n", + " 1_Disc\n", " 1.0\n", " 0.0\n", " 0.0\n", @@ -970,20 +1032,20 @@ " 0.0\n", " 0.0\n", " ...\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " False\n", " True\n", " 0\n", - " 2.080\n", - " 0.0\n", - " 0.000\n", - " 6.289115\n", - " 1\n", + " 2.996094\n", + " 0.000000\n", + " 2.996094\n", + " 4.507081\n", + " 6\n", " \n", " \n", - " 2758909\n", - " 0_tours\n", + " 2760422\n", + " 1_Shop\n", " 0_tours\n", " 1.0\n", " 0.0\n", @@ -999,14 +1061,14 @@ " False\n", " True\n", " 0\n", - " 2.484\n", - " 0.0\n", - " 0.000\n", - " 6.677761\n", + " 2.197266\n", + " 0.000000\n", + " 0.000000\n", + " 4.345421\n", " 1\n", " \n", " \n", - " 2759348\n", + " 2760425\n", " 0_tours\n", " 0_tours\n", " 1.0\n", @@ -1023,229 +1085,229 @@ " False\n", " True\n", " 0\n", - " 2.996\n", - " 0.0\n", - " 0.000\n", - " 5.760961\n", + " 2.080078\n", + " 0.000000\n", + " 0.000000\n", + " 3.586974\n", " 1\n", " \n", " \n", "\n", - "

1028 rows × 130 columns

\n", + "

13210 rows × 130 columns

\n", "" ], "text/plain": [ " model_choice override_choice \\\n", "household_id \n", - "189748 0_tours 0_tours \n", - "189758 1_Eat 1_Eat \n", - "189833 0_tours 0_tours \n", - "190134 0_tours 0_tours \n", - "190153 0_tours 0_tours \n", + "190236 0_tours 0_tours \n", + "190592 1_Disc 1_Eat \n", + "190998 0_tours 0_tours \n", + "191185 0_tours 1_Shop \n", + "191276 0_tours 1_Disc \n", "... ... ... \n", - "2749929 0_tours 0_tours \n", - "2749970 0_tours 0_tours \n", - "2750003 0_tours 0_tours \n", - "2758909 0_tours 0_tours \n", - "2759348 0_tours 0_tours \n", + "2759076 0_tours 0_tours \n", + "2759264 0_tours 0_tours \n", + "2759425 0_tours 1_Disc \n", + "2760422 1_Shop 0_tours \n", + "2760425 0_tours 0_tours \n", "\n", " util_alternative_specific_constants \\\n", "household_id \n", - "189748 1.0 \n", - "189758 1.0 \n", - "189833 1.0 \n", - "190134 1.0 \n", - "190153 1.0 \n", + "190236 1.0 \n", + "190592 1.0 \n", + "190998 1.0 \n", + "191185 1.0 \n", + "191276 1.0 \n", "... ... \n", - "2749929 1.0 \n", - "2749970 1.0 \n", - "2750003 1.0 \n", - "2758909 1.0 \n", - "2759348 1.0 \n", + "2759076 1.0 \n", + "2759264 1.0 \n", + "2759425 1.0 \n", + "2760422 1.0 \n", + "2760425 1.0 \n", "\n", " util_fullTimeHomeMaxThree_zero_tours \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.0 \n", + "190592 0.0 \n", + "190998 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 0.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 2.0 \n", + "2759264 1.0 \n", + "2759425 0.0 \n", + "2760422 0.0 \n", + "2760425 0.0 \n", "\n", " util_partTimeHomeMaxThree_zero_tours \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.0 \n", + "190592 0.0 \n", + "190998 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 0.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 0.0 \n", + "2759264 0.0 \n", + "2759425 0.0 \n", + "2760422 0.0 \n", + "2760425 0.0 \n", "\n", " util_nonWorkerHomeMaxThree_zero_tours \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.0 \n", + "190592 0.0 \n", + "190998 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 0.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 0.0 \n", + "2759264 0.0 \n", + "2759425 0.0 \n", + "2760422 0.0 \n", + "2760425 0.0 \n", "\n", " util_retireeHomeMaxThree_zero_tours \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.0 \n", + "190592 0.0 \n", + "190998 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 1.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 1.0 \n", + "2759264 0.0 \n", + "2759425 0.0 \n", + "2760422 0.0 \n", + "2760425 0.0 \n", "\n", " util_universityHomeMaxThree_univ_and_driving_zero_tours \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.0 \n", + "190592 0.0 \n", + "190998 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 0.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 0.0 \n", + "2759264 0.0 \n", + "2759425 0.0 \n", + "2760422 0.0 \n", + "2760425 0.0 \n", "\n", " util_preDrivingHomeMaxThree_preschool_and_school_zero_tours \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.0 \n", + "190592 0.0 \n", + "190998 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 0.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 0.0 \n", + "2759264 0.0 \n", + "2759425 0.0 \n", + "2760422 0.0 \n", + "2760425 0.0 \n", "\n", " util_fullTimeNonMandMaxThree_shopping ... \\\n", "household_id ... \n", - "189748 0.0 ... \n", - "189758 0.0 ... \n", - "189833 0.0 ... \n", - "190134 0.0 ... \n", - "190153 0.0 ... \n", + "190236 0.0 ... \n", + "190592 0.0 ... \n", + "190998 0.0 ... \n", + "191185 0.0 ... \n", + "191276 0.0 ... \n", "... ... ... \n", - "2749929 0.0 ... \n", - "2749970 0.0 ... \n", - "2750003 0.0 ... \n", - "2758909 0.0 ... \n", - "2759348 0.0 ... \n", + "2759076 0.0 ... \n", + "2759264 0.0 ... \n", + "2759425 0.0 ... \n", + "2760422 0.0 ... \n", + "2760425 0.0 ... \n", "\n", " cdap_mand_univ_driving_max3 cdap_mand_nondriving_child_max3 \\\n", "household_id \n", - "189748 0.0 0.0 \n", - "189758 2.0 0.0 \n", - "189833 0.0 0.0 \n", - "190134 0.0 0.0 \n", - "190153 0.0 0.0 \n", + "190236 1.0 0.0 \n", + "190592 0.0 0.0 \n", + "190998 1.0 0.0 \n", + "191185 0.0 0.0 \n", + "191276 0.0 0.0 \n", "... ... ... \n", - "2749929 0.0 1.0 \n", - "2749970 0.0 0.0 \n", - "2750003 0.0 0.0 \n", - "2758909 0.0 0.0 \n", - "2759348 0.0 0.0 \n", + "2759076 1.0 2.0 \n", + "2759264 0.0 0.0 \n", + "2759425 1.0 0.0 \n", + "2760422 0.0 0.0 \n", + "2760425 0.0 0.0 \n", "\n", " income_between_50_and_100 income_greater_than_100 \\\n", "household_id \n", - "189748 False False \n", - "189758 False False \n", - "189833 False False \n", - "190134 False False \n", - "190153 False False \n", + "190236 False False \n", + "190592 False False \n", + "190998 False False \n", + "191185 False False \n", + "191276 False False \n", "... ... ... \n", - "2749929 False True \n", - "2749970 False True \n", - "2750003 False True \n", - "2758909 False True \n", - "2759348 False True \n", + "2759076 False True \n", + "2759264 False True \n", + "2759425 False True \n", + "2760422 False True \n", + "2760425 False True \n", "\n", " income_missing log_time_window_overlap_adult \\\n", "household_id \n", - "189748 0 2.996 \n", - "189758 0 2.303 \n", - "189833 0 2.996 \n", - "190134 0 2.996 \n", - "190153 0 2.996 \n", + "190236 0 2.996094 \n", + "190592 0 2.996094 \n", + "190998 0 2.564453 \n", + "191185 0 2.996094 \n", + "191276 0 2.996094 \n", "... ... ... \n", - "2749929 0 2.303 \n", - "2749970 0 2.996 \n", - "2750003 0 2.080 \n", - "2758909 0 2.484 \n", - "2759348 0 2.996 \n", + "2759076 0 2.996094 \n", + "2759264 0 2.996094 \n", + "2759425 0 2.996094 \n", + "2760422 0 2.197266 \n", + "2760425 0 2.080078 \n", "\n", " log_time_window_overlap_child \\\n", "household_id \n", - "189748 0.0 \n", - "189758 0.0 \n", - "189833 0.0 \n", - "190134 0.0 \n", - "190153 0.0 \n", + "190236 0.000000 \n", + "190592 0.000000 \n", + "190998 0.000000 \n", + "191185 0.000000 \n", + "191276 0.000000 \n", "... ... \n", - "2749929 0.0 \n", - "2749970 0.0 \n", - "2750003 0.0 \n", - "2758909 0.0 \n", - "2759348 0.0 \n", + "2759076 1.946289 \n", + "2759264 0.000000 \n", + "2759425 0.000000 \n", + "2760422 0.000000 \n", + "2760425 0.000000 \n", "\n", " log_time_window_overlap_adult_child \\\n", "household_id \n", - "189748 0.000 \n", - "189758 0.000 \n", - "189833 0.000 \n", - "190134 0.000 \n", - "190153 0.000 \n", + "190236 0.000000 \n", + "190592 0.000000 \n", + "190998 0.000000 \n", + "191185 0.000000 \n", + "191276 0.000000 \n", "... ... \n", - "2749929 2.484 \n", - "2749970 0.000 \n", - "2750003 0.000 \n", - "2758909 0.000 \n", - "2759348 0.000 \n", + "2759076 2.564453 \n", + "2759264 0.000000 \n", + "2759425 2.996094 \n", + "2760422 0.000000 \n", + "2760425 0.000000 \n", "\n", " non_motorized_retail_accessibility override_choice_code \n", "household_id \n", - "189748 6.041458 1 \n", - "189758 6.035642 4 \n", - "189833 5.601202 1 \n", - "190134 5.941369 1 \n", - "190153 5.876868 1 \n", + "190236 5.661266 1 \n", + "190592 5.384032 4 \n", + "190998 4.529309 1 \n", + "191185 4.015752 2 \n", + "191276 4.422027 6 \n", "... ... ... \n", - "2749929 3.937425 1 \n", - "2749970 5.523326 1 \n", - "2750003 6.289115 1 \n", - "2758909 6.677761 1 \n", - "2759348 5.760961 1 \n", + "2759076 6.481015 1 \n", + "2759264 6.343830 1 \n", + "2759425 4.507081 6 \n", + "2760422 4.345421 1 \n", + "2760425 3.586974 1 \n", "\n", - "[1028 rows x 130 columns]" + "[13210 rows x 130 columns]" ] }, "execution_count": 6, @@ -1271,17 +1333,10 @@ "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 067 [Optimization terminated successfully]

" + "

Iteration 061 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1293,7 +1348,7 @@ { "data": { "text/html": [ - "

Best LL = -391.31509615209995

" + "

Best LL = -5583.026333343983

" ], "text/plain": [ "" @@ -1324,70 +1379,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_asc_0_tours\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_asc_1_Disc\n", - " -5.857843\n", + " -5.351766\n", + " -5.351766\n", " -5.4806\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5.857843\n", " \n", " \n", " coef_asc_1_Eat\n", - " -5.140469\n", + " -6.074061\n", + " -6.074061\n", " -6.3757\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5.140469\n", " \n", " \n", " coef_asc_1_Main\n", - " -4.843654\n", + " -5.816690\n", + " -5.816690\n", " -5.7389\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.843654\n", " \n", " \n", " coef_asc_1_Shop\n", - " -7.244895\n", + " -6.045190\n", + " -6.045190\n", " -6.0149\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -7.244895\n", " \n", " \n", " ...\n", @@ -1398,124 +1457,97 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_universityNonMandMaxThree_shopping\n", - " 1.134054\n", + " 0.857729\n", + " 0.857729\n", " 0.7648\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.134054\n", " \n", " \n", " coef_universityNonMandMaxThree_visiting\n", - " -18.048773\n", + " 0.282416\n", + " 0.282416\n", " 0.2809\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -18.048773\n", " \n", " \n", " coef_walkRetailAccessibility_eatout\n", - " -0.027363\n", + " 0.042572\n", + " 0.042572\n", " 0.0620\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.027363\n", " \n", " \n", " coef_zeroAutomobiles_disc\n", - " -0.539939\n", + " -0.953758\n", + " -0.953758\n", " -0.9090\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.539939\n", " \n", " \n", " coef_zeroAutomobiles_visiting\n", - " -18.311268\n", + " -0.900518\n", + " -0.900518\n", " -0.9800\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -18.311268\n", " \n", " \n", "\n", - "

76 rows × 8 columns

\n", + "

76 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue nullvalue \\\n", - "coef_asc_0_tours 0.000000 0.0000 0.0 \n", - "coef_asc_1_Disc -5.857843 -5.4806 0.0 \n", - "coef_asc_1_Eat -5.140469 -6.3757 0.0 \n", - "coef_asc_1_Main -4.843654 -5.7389 0.0 \n", - "coef_asc_1_Shop -7.244895 -6.0149 0.0 \n", - "... ... ... ... \n", - "coef_universityNonMandMaxThree_shopping 1.134054 0.7648 0.0 \n", - "coef_universityNonMandMaxThree_visiting -18.048773 0.2809 0.0 \n", - "coef_walkRetailAccessibility_eatout -0.027363 0.0620 0.0 \n", - "coef_zeroAutomobiles_disc -0.539939 -0.9090 0.0 \n", - "coef_zeroAutomobiles_visiting -18.311268 -0.9800 0.0 \n", + " value best initvalue \\\n", + "param_name \n", + "coef_asc_0_tours 0.000000 0.000000 0.0000 \n", + "coef_asc_1_Disc -5.351766 -5.351766 -5.4806 \n", + "coef_asc_1_Eat -6.074061 -6.074061 -6.3757 \n", + "coef_asc_1_Main -5.816690 -5.816690 -5.7389 \n", + "coef_asc_1_Shop -6.045190 -6.045190 -6.0149 \n", + "... ... ... ... \n", + "coef_universityNonMandMaxThree_shopping 0.857729 0.857729 0.7648 \n", + "coef_universityNonMandMaxThree_visiting 0.282416 0.282416 0.2809 \n", + "coef_walkRetailAccessibility_eatout 0.042572 0.042572 0.0620 \n", + "coef_zeroAutomobiles_disc -0.953758 -0.953758 -0.9090 \n", + "coef_zeroAutomobiles_visiting -0.900518 -0.900518 -0.9800 \n", "\n", - " minimum maximum holdfast note \\\n", - "coef_asc_0_tours NaN NaN 1 \n", - "coef_asc_1_Disc NaN NaN 0 \n", - "coef_asc_1_Eat NaN NaN 0 \n", - "coef_asc_1_Main NaN NaN 0 \n", - "coef_asc_1_Shop NaN NaN 0 \n", - "... ... ... ... ... \n", - "coef_universityNonMandMaxThree_shopping NaN NaN 0 \n", - "coef_universityNonMandMaxThree_visiting NaN NaN 0 \n", - "coef_walkRetailAccessibility_eatout NaN NaN 0 \n", - "coef_zeroAutomobiles_disc NaN NaN 0 \n", - "coef_zeroAutomobiles_visiting NaN NaN 0 \n", + " minimum maximum nullvalue holdfast \n", + "param_name \n", + "coef_asc_0_tours 0.0 0.0 0.0 1 \n", + "coef_asc_1_Disc -50.0 50.0 0.0 0 \n", + "coef_asc_1_Eat -50.0 50.0 0.0 0 \n", + "coef_asc_1_Main -50.0 50.0 0.0 0 \n", + "coef_asc_1_Shop -50.0 50.0 0.0 0 \n", + "... ... ... ... ... \n", + "coef_universityNonMandMaxThree_shopping -50.0 50.0 0.0 0 \n", + "coef_universityNonMandMaxThree_visiting -50.0 50.0 0.0 0 \n", + "coef_walkRetailAccessibility_eatout -50.0 50.0 0.0 0 \n", + "coef_zeroAutomobiles_disc -50.0 50.0 0.0 0 \n", + "coef_zeroAutomobiles_visiting -50.0 50.0 0.0 0 \n", "\n", - " best \n", - "coef_asc_0_tours 0.000000 \n", - "coef_asc_1_Disc -5.857843 \n", - "coef_asc_1_Eat -5.140469 \n", - "coef_asc_1_Main -4.843654 \n", - "coef_asc_1_Shop -7.244895 \n", - "... ... \n", - "coef_universityNonMandMaxThree_shopping 1.134054 \n", - "coef_universityNonMandMaxThree_visiting -18.048773 \n", - "coef_walkRetailAccessibility_eatout -0.027363 \n", - "coef_zeroAutomobiles_disc -0.539939 \n", - "coef_zeroAutomobiles_visiting -18.311268 \n", - "\n", - "[76 rows x 8 columns]" + "[76 rows x 7 columns]" ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate(method='SLSQP')\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.4504151870310519e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, { "data": { "text/html": [ @@ -1529,310 +1561,310 @@ " \n", " \n", " coef_asc_0_tours\n", - " 4.128662e-14\n", + " 0.000000\n", " \n", " \n", " coef_asc_1_Disc\n", - " -5.857843e+00\n", + " -5.351766\n", " \n", " \n", " coef_asc_1_Eat\n", - " -5.140469e+00\n", + " -6.074061\n", " \n", " \n", " coef_asc_1_Main\n", - " -4.843654e+00\n", + " -5.816690\n", " \n", " \n", " coef_asc_1_Shop\n", - " -7.244895e+00\n", + " -6.045190\n", " \n", " \n", " coef_asc_1_Visit\n", - " -5.962149e+00\n", + " -5.839951\n", " \n", " \n", " coef_asc_2_tours\n", - " -1.537957e+01\n", + " -14.545006\n", " \n", " \n", " coef_drivingAgeStuMandMaxThree_disc\n", - " 2.642061e-01\n", + " 0.283573\n", " \n", " \n", " coef_drivingAgeStuMandMaxThree_maint\n", - " -2.049784e-01\n", + " -0.332304\n", " \n", " \n", " coef_fewerCarsThanDrivers_maint\n", - " -2.361602e-01\n", + " 0.768933\n", " \n", " \n", " coef_fewerCarsThanDrivers_shopping\n", - " 6.120417e-01\n", + " 0.173631\n", " \n", " \n", " coef_fullTimeHomeMaxThree_zero_tours\n", - " 2.001437e+00\n", + " 0.941096\n", " \n", " \n", " coef_fullTimeMandMaxThree_maint\n", - " -4.624882e-01\n", + " -0.397212\n", " \n", " \n", " coef_fullTimeMandMaxThree_shopping\n", - " 1.435394e-01\n", + " -0.402774\n", " \n", " \n", " coef_fullTimeNonMandMaxThree_disc\n", - " 2.181760e-01\n", + " -0.019740\n", " \n", " \n", " coef_fullTimeNonMandMaxThree_eatout\n", - " 3.257307e-01\n", + " 0.053619\n", " \n", " \n", " coef_fullTimeNonMandMaxThree_maint\n", - " 7.596262e-01\n", + " 0.114785\n", " \n", " \n", " coef_fullTimeNonMandMaxThree_shopping\n", - " -8.881290e-01\n", + " -0.253055\n", " \n", " \n", " coef_fullTimeNonMandMaxThree_visiting\n", - " 7.885926e-01\n", + " 0.750690\n", " \n", " \n", " coef_incomeBetween50And100_disc\n", - " 8.352921e-03\n", + " 0.132487\n", " \n", " \n", " coef_incomeBetween50And100_eatout\n", - " 1.031886e-01\n", + " 0.268954\n", " \n", " \n", " coef_incomeGreaterThan100_disc\n", - " 6.249345e-01\n", + " 0.366581\n", " \n", " \n", " coef_incomeGreaterThan100_eatout\n", - " 6.353587e-01\n", + " 0.493932\n", " \n", " \n", " coef_incomeMissing_dummy_always_zero_disc\n", - " 3.723000e-01\n", + " 0.372300\n", " \n", " \n", " coef_incomeMissing_dummy_always_zero_eatout\n", - " 2.780000e-01\n", + " 0.278000\n", " \n", " \n", " coef_logTimeWindowOverlapAdultChild_disc\n", - " 1.502560e-01\n", + " 0.303504\n", " \n", " \n", " coef_logTimeWindowOverlapAdultChild_eatout\n", - " -3.203806e-01\n", + " -0.094351\n", " \n", " \n", " coef_logTimeWindowOverlapAdultChild_maint\n", - " 2.695922e-01\n", + " 0.398958\n", " \n", " \n", " coef_logTimeWindowOverlapAdultChild_shopping\n", - " -4.153246e-01\n", + " 0.017970\n", " \n", " \n", " coef_logTimeWindowOverlapAdult_disc\n", - " 5.596579e-01\n", + " 0.411850\n", " \n", " \n", " coef_logTimeWindowOverlapAdult_eatout\n", - " 5.606143e-01\n", + " 0.467283\n", " \n", " \n", " coef_logTimeWindowOverlapAdult_maint\n", - " 4.376387e-01\n", + " 0.359818\n", " \n", " \n", " coef_logTimeWindowOverlapAdult_shopping\n", - " 8.640588e-01\n", + " 0.862228\n", " \n", " \n", " coef_logTimeWindowOverlapChild_disc\n", - " -1.693893e-01\n", + " 0.150068\n", " \n", " \n", " coef_logTimeWindowOverlapChild_maint\n", - " -1.037855e-02\n", + " 0.295107\n", " \n", " \n", " coef_logTimeWindowOverlapChild_shopping\n", - " 1.036654e+00\n", + " 0.255944\n", " \n", " \n", " coef_moreCarsThanWorkers_eatout\n", - " 7.948089e-02\n", + " 0.294865\n", " \n", " \n", " coef_moreCarsThanWorkers_shopping\n", - " -6.278022e-01\n", + " -0.551877\n", " \n", " \n", " coef_nonWorkerHomeMaxThree_zero_tours\n", - " -1.694121e-01\n", + " 0.379269\n", " \n", " \n", " coef_nonWorkerNonMandMaxThree_disc\n", - " -1.190124e-01\n", + " 0.120934\n", " \n", " \n", " coef_nonWorkerNonMandMaxThree_eatout\n", - " -3.544771e-01\n", + " 0.045074\n", " \n", " \n", " coef_nonWorkerNonMandMaxThree_maint\n", - " 3.725508e-01\n", + " 0.351215\n", " \n", " \n", " coef_nonWorkerNonMandMaxThree_shopping\n", - " 5.232632e-01\n", + " 0.422604\n", " \n", " \n", " coef_nonWorkerNonMandMaxThree_visiting\n", - " -3.598996e-01\n", + " 0.454085\n", " \n", " \n", " coef_partTimeHomeMaxThree_zero_tours\n", - " 1.700075e+00\n", + " 0.928683\n", " \n", " \n", " coef_partTimeNonMandMaxThree_disc\n", - " 2.264406e-01\n", + " 0.668232\n", " \n", " \n", " coef_partTimeNonMandMaxThree_eatout\n", - " -1.577062e+01\n", + " 0.381935\n", " \n", " \n", " coef_partTimeNonMandMaxThree_maint\n", - " 1.215592e-01\n", + " 0.071116\n", " \n", " \n", " coef_partTimeNonMandMaxThree_shopping\n", - " -1.914973e-01\n", + " -0.021127\n", " \n", " \n", " coef_partTimeNonMandMaxThree_visiting\n", - " 3.484080e-01\n", + " 0.417675\n", " \n", " \n", " coef_preDrivingAgeMandMaxThree_disc\n", - " 5.883044e-01\n", + " 0.133605\n", " \n", " \n", " coef_preDrivingAgeMandMaxThree_maint\n", - " 5.724992e-02\n", + " 0.065271\n", " \n", " \n", " coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours\n", - " -2.649396e-01\n", + " 0.086034\n", " \n", " \n", " coef_preDrivingNonMandMaxThree_disc\n", - " 4.697889e-01\n", + " 0.189119\n", " \n", " \n", " coef_preDrivingNonMandMaxThree_eatout\n", - " -1.367435e+01\n", + " 0.700510\n", " \n", " \n", " coef_preDrivingNonMandMaxThree_maint\n", - " -4.780032e-01\n", + " 0.163703\n", " \n", " \n", " coef_preDrivingNonMandMaxThree_shopping\n", - " 5.401680e-03\n", + " 0.448199\n", " \n", " \n", " coef_preDrivingNonMandMaxThree_visiting\n", - " -1.728326e+00\n", + " 0.241003\n", " \n", " \n", " coef_retireeHomeMaxThree_zero_tours\n", - " 3.072054e-01\n", + " 0.332620\n", " \n", " \n", " coef_retireeNonMandMaxThree_disc\n", - " 5.953927e-01\n", + " 0.596927\n", " \n", " \n", " coef_retireeNonMandMaxThree_eatout\n", - " 3.370647e-01\n", + " 0.444051\n", " \n", " \n", " coef_retireeNonMandMaxThree_maint\n", - " 9.306423e-01\n", + " 0.935537\n", " \n", " \n", " coef_retireeNonMandMaxThree_shopping\n", - " 9.523557e-01\n", + " 0.888533\n", " \n", " \n", " coef_retireeNonMandMaxThree_visiting\n", - " 1.743228e-01\n", + " 0.313616\n", " \n", " \n", " coef_timeWindowOverlapAdultChild_visiting\n", - " 1.404939e-01\n", + " 0.032122\n", " \n", " \n", " coef_timeWindowOverlapAdult_visiting\n", - " 1.103018e-01\n", + " 0.062728\n", " \n", " \n", " coef_timeWindowOverlapChild_visiting\n", - " -6.064464e-02\n", + " 0.037481\n", " \n", " \n", " coef_universityHomeMaxThree_univ_and_driving_zero_tours\n", - " -4.104066e-01\n", + " 0.115748\n", " \n", " \n", " coef_universityNonMandMaxThree_disc\n", - " -1.447281e-01\n", + " 0.478898\n", " \n", " \n", " coef_universityNonMandMaxThree_eatout\n", - " -1.408027e+01\n", + " 0.447854\n", " \n", " \n", " coef_universityNonMandMaxThree_maint\n", - " -4.377287e-01\n", + " -0.157965\n", " \n", " \n", " coef_universityNonMandMaxThree_shopping\n", - " 1.134054e+00\n", + " 0.857729\n", " \n", " \n", " coef_universityNonMandMaxThree_visiting\n", - " -1.804877e+01\n", + " 0.282416\n", " \n", " \n", " coef_walkRetailAccessibility_eatout\n", - " -2.736284e-02\n", + " 0.042572\n", " \n", " \n", " coef_zeroAutomobiles_disc\n", - " -5.399391e-01\n", + " -0.953758\n", " \n", " \n", " coef_zeroAutomobiles_visiting\n", - " -1.831127e+01\n", + " -0.900518\n", " \n", " \n", - "loglike-391.31509615209995d_loglike\n", + "
logloss0.4226363613432236d_logloss\n", " \n", " \n", " \n", @@ -1842,348 +1874,348 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_asc_0_tours0.000000e+000.000000
coef_asc_1_Disc1.523003e-040.000127
coef_asc_1_Eat6.759891e-050.000172
coef_asc_1_Main-2.935726e-04-0.000055
coef_asc_1_Shop-2.605190e-04-0.000097
coef_asc_1_Visit-1.539399e-04-0.000019
coef_asc_2_tours-7.190405e-050.000045
coef_drivingAgeStuMandMaxThree_disc-1.208006e-040.000034
coef_drivingAgeStuMandMaxThree_maint6.022683e-050.000009
coef_fewerCarsThanDrivers_maint-1.544212e-040.000025
coef_fewerCarsThanDrivers_shopping-5.384239e-050.000060
coef_fullTimeHomeMaxThree_zero_tours-2.514724e-040.000088
coef_fullTimeMandMaxThree_maint-2.064152e-04-0.000002
coef_fullTimeMandMaxThree_shopping-2.409727e-040.000014
coef_fullTimeNonMandMaxThree_disc1.867895e-040.000047
coef_fullTimeNonMandMaxThree_eatout-5.229114e-050.000034
coef_fullTimeNonMandMaxThree_maint-1.708359e-04-0.000036
coef_fullTimeNonMandMaxThree_shopping-8.986588e-050.000025
coef_fullTimeNonMandMaxThree_visiting-1.238448e-040.000019
coef_incomeBetween50And100_disc-3.214932e-040.000033
coef_incomeBetween50And100_eatout2.548977e-050.000004
coef_incomeGreaterThan100_disc1.527594e-050.000088
coef_incomeGreaterThan100_eatout-1.190833e-04-0.000003
coef_incomeMissing_dummy_always_zero_disc0.000000e+000.000000
coef_incomeMissing_dummy_always_zero_eatout0.000000e+000.000000
coef_logTimeWindowOverlapAdultChild_disc6.268423e-040.000322
coef_logTimeWindowOverlapAdultChild_eatout4.738068e-050.000270
coef_logTimeWindowOverlapAdultChild_maint-5.205643e-040.000069
coef_logTimeWindowOverlapAdultChild_shopping-7.016522e-040.000017
coef_logTimeWindowOverlapAdult_disc8.132405e-040.000280
coef_logTimeWindowOverlapAdult_eatout-5.191213e-050.000106
coef_logTimeWindowOverlapAdult_maint-7.074150e-04-0.000079
coef_logTimeWindowOverlapAdult_shopping-9.068285e-040.000016
coef_logTimeWindowOverlapChild_disc3.313056e-040.000050
coef_logTimeWindowOverlapChild_maint-3.411335e-04-0.000033
coef_logTimeWindowOverlapChild_shopping-6.088923e-040.000003
coef_moreCarsThanWorkers_eatout-1.693804e-040.000019
coef_moreCarsThanWorkers_shopping-7.535132e-05-0.000021
coef_nonWorkerHomeMaxThree_zero_tours1.546204e-04-0.000071
coef_nonWorkerNonMandMaxThree_disc2.251574e-04-0.000004
coef_nonWorkerNonMandMaxThree_eatout4.969366e-070.000084
coef_nonWorkerNonMandMaxThree_maint-8.922162e-050.000060
coef_nonWorkerNonMandMaxThree_shopping-2.254530e-04-0.000095
coef_nonWorkerNonMandMaxThree_visiting1.544757e-040.000032
coef_partTimeHomeMaxThree_zero_tours-5.144981e-050.000005
coef_partTimeNonMandMaxThree_disc1.814241e-040.000060
coef_partTimeNonMandMaxThree_eatout-3.175600e-07-0.000002
coef_partTimeNonMandMaxThree_maint-1.133846e-040.000030
coef_partTimeNonMandMaxThree_shopping1.063172e-040.000027
coef_partTimeNonMandMaxThree_visiting1.329104e-05-0.000037
coef_preDrivingAgeMandMaxThree_disc4.323394e-040.000164
coef_preDrivingAgeMandMaxThree_maint-1.660229e-040.000015
coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours2.715906e-040.000030
coef_preDrivingNonMandMaxThree_disc9.520881e-050.000037
coef_preDrivingNonMandMaxThree_eatout-7.286290e-070.000027
coef_preDrivingNonMandMaxThree_maint-8.707705e-05-0.000060
coef_preDrivingNonMandMaxThree_shopping-7.017908e-050.000009
coef_preDrivingNonMandMaxThree_visiting1.106056e-040.000014
coef_retireeHomeMaxThree_zero_tours-3.000796e-040.000050
coef_retireeNonMandMaxThree_disc3.955978e-050.000028
coef_retireeNonMandMaxThree_eatout-8.864118e-05-0.000012
coef_retireeNonMandMaxThree_maint1.123175e-05-0.000058
coef_retireeNonMandMaxThree_shopping-8.375532e-050.000009
coef_retireeNonMandMaxThree_visiting-7.291644e-050.000075
coef_timeWindowOverlapAdultChild_visiting1.533203e-03-0.000362
coef_timeWindowOverlapAdult_visiting-4.187359e-040.000189
coef_timeWindowOverlapChild_visiting1.535922e-03-0.000253
coef_universityHomeMaxThree_univ_and_driving_zero_tours-2.916835e-040.000140
coef_universityNonMandMaxThree_disc4.189163e-050.000095
coef_universityNonMandMaxThree_eatout-6.392369e-070.000004
coef_universityNonMandMaxThree_maint-2.743951e-05-0.000123
coef_universityNonMandMaxThree_shopping-1.669075e-040.000013
coef_universityNonMandMaxThree_visiting-3.279064e-08-0.000090
coef_walkRetailAccessibility_eatout-3.988777e-040.000218
coef_zeroAutomobiles_disc-5.720641e-05-0.000027
coef_zeroAutomobiles_visiting-5.437687e-080.000058
nit67nfev131njev67status0message'Optimization terminated successfully'successTrueelapsed_time0:00:03.730310method'SLSQP'n_cases1028iteration_number67logloss0.3806567083191634" + "nit61nfev63njev61status0message'Optimization terminated successfully'successTrueelapsed_time0:00:02.374665method'SLSQP'n_cases13210iteration_number61loglike-5583.026333343983" ], "text/plain": [ - "┣ x: coef_asc_0_tours 4.128662e-14\n", - "┃ coef_asc_1_Disc -5.857843e+00\n", - "┃ coef_asc_1_Eat -5.140469e+00\n", - "┃ coef_asc_1_Main -4.843654e+00\n", - "┃ coef_asc_1_Shop -7.244895e+00\n", - "┃ ... \n", - "┃ coef_universityNonMandMaxThree_shopping 1.134054e+00\n", - "┃ coef_universityNonMandMaxThree_visiting -1.804877e+01\n", - "┃ coef_walkRetailAccessibility_eatout -2.736284e-02\n", - "┃ coef_zeroAutomobiles_disc -5.399391e-01\n", - "┃ coef_zeroAutomobiles_visiting -1.831127e+01\n", + "┣ x: coef_asc_0_tours 0.000000\n", + "┃ coef_asc_1_Disc -5.351766\n", + "┃ coef_asc_1_Eat -6.074061\n", + "┃ coef_asc_1_Main -5.816690\n", + "┃ coef_asc_1_Shop -6.045190\n", + "┃ ... \n", + "┃ coef_universityNonMandMaxThree_shopping 0.857729\n", + "┃ coef_universityNonMandMaxThree_visiting 0.282416\n", + "┃ coef_walkRetailAccessibility_eatout 0.042572\n", + "┃ coef_zeroAutomobiles_disc -0.953758\n", + "┃ coef_zeroAutomobiles_visiting -0.900518\n", "┃ Length: 76, dtype: float64\n", - "┣ loglike: -391.31509615209995\n", - "┣ d_loglike: coef_asc_0_tours 0.000000e+00\n", - "┃ coef_asc_1_Disc 1.523003e-04\n", - "┃ coef_asc_1_Eat 6.759891e-05\n", - "┃ coef_asc_1_Main -2.935726e-04\n", - "┃ coef_asc_1_Shop -2.605190e-04\n", - "┃ ... \n", - "┃ coef_universityNonMandMaxThree_shopping -1.669075e-04\n", - "┃ coef_universityNonMandMaxThree_visiting -3.279064e-08\n", - "┃ coef_walkRetailAccessibility_eatout -3.988777e-04\n", - "┃ coef_zeroAutomobiles_disc -5.720641e-05\n", - "┃ coef_zeroAutomobiles_visiting -5.437687e-08\n", + "┣ logloss: 0.4226363613432236\n", + "┣ d_logloss: coef_asc_0_tours 0.000000\n", + "┃ coef_asc_1_Disc 0.000127\n", + "┃ coef_asc_1_Eat 0.000172\n", + "┃ coef_asc_1_Main -0.000055\n", + "┃ coef_asc_1_Shop -0.000097\n", + "┃ ... \n", + "┃ coef_universityNonMandMaxThree_shopping 0.000013\n", + "┃ coef_universityNonMandMaxThree_visiting -0.000090\n", + "┃ coef_walkRetailAccessibility_eatout 0.000218\n", + "┃ coef_zeroAutomobiles_disc -0.000027\n", + "┃ coef_zeroAutomobiles_visiting 0.000058\n", "┃ Length: 76, dtype: float64\n", - "┣ nit: 67\n", - "┣ nfev: 131\n", - "┣ njev: 67\n", + "┣ nit: 61\n", + "┣ nfev: 63\n", + "┣ njev: 61\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=3, microseconds=730310)\n", + "┣ elapsed_time: datetime.timedelta(seconds=2, microseconds=374665)\n", "┣ method: 'SLSQP'\n", - "┣ n_cases: 1028\n", - "┣ iteration_number: 67\n", - "┣ logloss: 0.3806567083191634" + "┣ n_cases: 13210\n", + "┣ iteration_number: 61\n", + "┣ loglike: -5583.026333343983" ] }, "execution_count": 7, @@ -2210,704 +2242,730 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value Constrained
coef_asc_0_tours 0.00 NA NA 0.00fixed value
coef_asc_1_Disc-5.86 1.09-5.39*** 0.00
coef_asc_1_Eat-5.14 2.07-2.48* 0.00
coef_asc_1_Main-4.84 0.973-4.98*** 0.00
coef_asc_1_Shop-7.24 1.18-6.14*** 0.00
coef_asc_1_Visit-5.96 0.749-7.96*** 0.00
coef_asc_2_tours-15.4 2.26-6.81*** 0.00
coef_drivingAgeStuMandMaxThree_disc 0.264 0.406 0.65 0.00
coef_drivingAgeStuMandMaxThree_maint-0.205 0.491-0.42 0.00
coef_fewerCarsThanDrivers_maint-0.236 0.439-0.54 0.00
coef_fewerCarsThanDrivers_shopping 0.612 0.596 1.03 0.00
coef_fullTimeHomeMaxThree_zero_tours 2.00 0.828 2.42* 0.00
coef_fullTimeMandMaxThree_maint-0.462 0.313-1.48 0.00
coef_fullTimeMandMaxThree_shopping 0.144 0.288 0.50 0.00
coef_fullTimeNonMandMaxThree_disc 0.218 0.569 0.38 0.00
coef_fullTimeNonMandMaxThree_eatout 0.326 0.669 0.49 0.00
coef_fullTimeNonMandMaxThree_maint 0.760 0.430 1.77 0.00
coef_fullTimeNonMandMaxThree_shopping-0.888 1.03-0.86 0.00
coef_fullTimeNonMandMaxThree_visiting 0.789 0.626 1.26 0.00
coef_incomeBetween50And100_disc 0.00835 0.621 0.01 0.00
coef_incomeBetween50And100_eatout 0.103 0.741 0.14 0.00
coef_incomeGreaterThan100_disc 0.625 0.562 1.11 0.00
coef_incomeGreaterThan100_eatout 0.635 0.684 0.93 0.00
coef_incomeMissing_dummy_always_zero_disc 0.372 0.000320 BIG*** 0.00
coef_incomeMissing_dummy_always_zero_eatout 0.278 0.000386 720.45*** 0.00
coef_logTimeWindowOverlapAdultChild_disc 0.150 0.322 0.47 0.00
coef_logTimeWindowOverlapAdultChild_eatout-0.320 0.337-0.95 0.00
coef_logTimeWindowOverlapAdultChild_maint 0.270 0.294 0.92 0.00
coef_logTimeWindowOverlapAdultChild_shopping-0.415 0.493-0.84 0.00
coef_logTimeWindowOverlapAdult_disc 0.560 0.501 1.12 0.00
coef_logTimeWindowOverlapAdult_eatout 0.561 0.692 0.81 0.00
coef_logTimeWindowOverlapAdult_maint 0.438 0.430 1.02 0.00
coef_logTimeWindowOverlapAdult_shopping 0.864 0.553 1.56 0.00
coef_logTimeWindowOverlapChild_disc-0.169 0.433-0.39 0.00
coef_logTimeWindowOverlapChild_maint-0.0104 0.373-0.03 0.00
coef_logTimeWindowOverlapChild_shopping 1.04 0.543 1.91 0.00
coef_moreCarsThanWorkers_eatout 0.0795 0.805 0.10 0.00
coef_moreCarsThanWorkers_shopping-0.628 0.690-0.91 0.00
coef_nonWorkerHomeMaxThree_zero_tours-0.169 0.391-0.43 0.00
coef_nonWorkerNonMandMaxThree_disc-0.119 0.447-0.27 0.00
coef_nonWorkerNonMandMaxThree_eatout-0.354 0.700-0.51 0.00
coef_nonWorkerNonMandMaxThree_maint 0.373 0.380 0.98 0.00
coef_nonWorkerNonMandMaxThree_shopping 0.523 0.427 1.23 0.00
coef_nonWorkerNonMandMaxThree_visiting-0.360 0.587-0.61 0.00
coef_partTimeHomeMaxThree_zero_tours 1.70 1.16 1.47 0.00
coef_partTimeNonMandMaxThree_disc 0.226 0.652 0.35 0.00
coef_partTimeNonMandMaxThree_eatout-15.8 2.42e+03-0.01 0.00
coef_partTimeNonMandMaxThree_maint 0.122 0.660 0.18 0.00
coef_partTimeNonMandMaxThree_shopping-0.191 0.769-0.25 0.00
coef_partTimeNonMandMaxThree_visiting 0.348 0.880 0.40 0.00
coef_preDrivingAgeMandMaxThree_disc 0.588 0.583 1.01 0.00
coef_preDrivingAgeMandMaxThree_maint 0.0572 0.514 0.11 0.00
coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours-0.265 0.450-0.59 0.00
coef_preDrivingNonMandMaxThree_disc 0.470 0.853 0.55 0.00
coef_preDrivingNonMandMaxThree_eatout-13.7 1.56e+03-0.01 0.00
coef_preDrivingNonMandMaxThree_maint-0.478 0.924-0.52 0.00
coef_preDrivingNonMandMaxThree_shopping 0.00540 0.540 0.01 0.00
coef_preDrivingNonMandMaxThree_visiting-1.73 1.27-1.36 0.00
coef_retireeHomeMaxThree_zero_tours 0.307 0.771 0.40 0.00
coef_retireeNonMandMaxThree_disc 0.595 0.430 1.38 0.00
coef_retireeNonMandMaxThree_eatout 0.337 0.553 0.61 0.00
coef_retireeNonMandMaxThree_maint 0.931 0.376 2.47* 0.00
coef_retireeNonMandMaxThree_shopping 0.952 0.504 1.89 0.00
coef_retireeNonMandMaxThree_visiting 0.174 0.583 0.30 0.00
coef_timeWindowOverlapAdultChild_visiting 0.140 0.0547 2.57* 0.00
coef_timeWindowOverlapAdult_visiting 0.110 0.0692 1.59 0.00
coef_timeWindowOverlapChild_visiting-0.0606 0.0845-0.72 0.00
coef_universityHomeMaxThree_univ_and_driving_zero_tours-0.410 0.677-0.61 0.00
coef_universityNonMandMaxThree_disc-0.145 1.02-0.14 0.00
coef_universityNonMandMaxThree_eatout-14.1 1.67e+03-0.01 0.00
coef_universityNonMandMaxThree_maint-0.438 0.999-0.44 0.00
coef_universityNonMandMaxThree_shopping 1.13 0.556 2.04* 0.00
coef_universityNonMandMaxThree_visiting-18.0 7.88e+03-0.00 0.00
coef_walkRetailAccessibility_eatout-0.0274 0.237-0.12 0.00
coef_zeroAutomobiles_disc-0.540 0.771-0.70 0.00
coef_zeroAutomobiles_visiting-18.3 6.06e+03-0.00 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_asc_0_tours 0.00 0.00 NA 0.00fixed value
coef_asc_1_Disc-5.35 0.217-24.68*** 0.00
coef_asc_1_Eat-6.07 0.382-15.88*** 0.00
coef_asc_1_Main-5.82 0.255-22.80*** 0.00
coef_asc_1_Shop-6.05 0.301-20.07*** 0.00
coef_asc_1_Visit-5.84 0.198-29.56*** 0.00
coef_asc_2_tours-14.5 0.456-31.88*** 0.00
coef_drivingAgeStuMandMaxThree_disc 0.284 0.0868 3.27** 0.00
coef_drivingAgeStuMandMaxThree_maint-0.332 0.148-2.24* 0.00
coef_fewerCarsThanDrivers_maint 0.769 0.142 5.42*** 0.00
coef_fewerCarsThanDrivers_shopping 0.174 0.141 1.23 0.00
coef_fullTimeHomeMaxThree_zero_tours 0.941 0.164 5.75*** 0.00
coef_fullTimeMandMaxThree_maint-0.397 0.0912-4.36*** 0.00
coef_fullTimeMandMaxThree_shopping-0.403 0.0941-4.28*** 0.00
coef_fullTimeNonMandMaxThree_disc-0.0197 0.143-0.14 0.00
coef_fullTimeNonMandMaxThree_eatout 0.0536 0.215 0.25 0.00
coef_fullTimeNonMandMaxThree_maint 0.115 0.177 0.65 0.00
coef_fullTimeNonMandMaxThree_shopping-0.253 0.198-1.28 0.00
coef_fullTimeNonMandMaxThree_visiting 0.751 0.171 4.38*** 0.00
coef_incomeBetween50And100_disc 0.132 0.128 1.04 0.00
coef_incomeBetween50And100_eatout 0.269 0.199 1.35 0.00
coef_incomeGreaterThan100_disc 0.367 0.125 2.94** 0.00
coef_incomeGreaterThan100_eatout 0.494 0.197 2.51* 0.00
coef_incomeMissing_dummy_always_zero_disc 0.372 7.15e-16 BIG*** 0.00
coef_incomeMissing_dummy_always_zero_eatout 0.278 9.58e-16 BIG*** 0.00
coef_logTimeWindowOverlapAdultChild_disc 0.304 0.0645 4.70*** 0.00
coef_logTimeWindowOverlapAdultChild_eatout-0.0944 0.0788-1.20 0.00
coef_logTimeWindowOverlapAdultChild_maint 0.399 0.0847 4.71*** 0.00
coef_logTimeWindowOverlapAdultChild_shopping 0.0180 0.0764 0.24 0.00
coef_logTimeWindowOverlapAdult_disc 0.412 0.101 4.09*** 0.00
coef_logTimeWindowOverlapAdult_eatout 0.467 0.167 2.80** 0.00
coef_logTimeWindowOverlapAdult_maint 0.360 0.117 3.07** 0.00
coef_logTimeWindowOverlapAdult_shopping 0.862 0.139 6.18*** 0.00
coef_logTimeWindowOverlapChild_disc 0.150 0.0771 1.95 0.00
coef_logTimeWindowOverlapChild_maint 0.295 0.0952 3.10** 0.00
coef_logTimeWindowOverlapChild_shopping 0.256 0.0873 2.93** 0.00
coef_moreCarsThanWorkers_eatout 0.295 0.188 1.57 0.00
coef_moreCarsThanWorkers_shopping-0.552 0.165-3.35*** 0.00
coef_nonWorkerHomeMaxThree_zero_tours 0.379 0.110 3.46*** 0.00
coef_nonWorkerNonMandMaxThree_disc 0.121 0.0878 1.38 0.00
coef_nonWorkerNonMandMaxThree_eatout 0.0451 0.150 0.30 0.00
coef_nonWorkerNonMandMaxThree_maint 0.351 0.104 3.37*** 0.00
coef_nonWorkerNonMandMaxThree_shopping 0.423 0.110 3.85*** 0.00
coef_nonWorkerNonMandMaxThree_visiting 0.454 0.139 3.26** 0.00
coef_partTimeHomeMaxThree_zero_tours 0.929 0.250 3.71*** 0.00
coef_partTimeNonMandMaxThree_disc 0.668 0.123 5.42*** 0.00
coef_partTimeNonMandMaxThree_eatout 0.382 0.210 1.82 0.00
coef_partTimeNonMandMaxThree_maint 0.0711 0.193 0.37 0.00
coef_partTimeNonMandMaxThree_shopping-0.0211 0.183-0.12 0.00
coef_partTimeNonMandMaxThree_visiting 0.418 0.214 1.95 0.00
coef_preDrivingAgeMandMaxThree_disc 0.134 0.0986 1.36 0.00
coef_preDrivingAgeMandMaxThree_maint 0.0653 0.118 0.56 0.00
coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours 0.0860 0.102 0.85 0.00
coef_preDrivingNonMandMaxThree_disc 0.189 0.160 1.19 0.00
coef_preDrivingNonMandMaxThree_eatout 0.701 0.195 3.60*** 0.00
coef_preDrivingNonMandMaxThree_maint 0.164 0.190 0.86 0.00
coef_preDrivingNonMandMaxThree_shopping 0.448 0.152 2.95** 0.00
coef_preDrivingNonMandMaxThree_visiting 0.241 0.196 1.23 0.00
coef_retireeHomeMaxThree_zero_tours 0.333 0.175 1.90 0.00
coef_retireeNonMandMaxThree_disc 0.597 0.107 5.56*** 0.00
coef_retireeNonMandMaxThree_eatout 0.444 0.160 2.77** 0.00
coef_retireeNonMandMaxThree_maint 0.936 0.123 7.59*** 0.00
coef_retireeNonMandMaxThree_shopping 0.889 0.123 7.22*** 0.00
coef_retireeNonMandMaxThree_visiting 0.314 0.190 1.65 0.00
coef_timeWindowOverlapAdultChild_visiting 0.0321 0.0152 2.12* 0.00
coef_timeWindowOverlapAdult_visiting 0.0627 0.0194 3.24** 0.00
coef_timeWindowOverlapChild_visiting 0.0375 0.0181 2.08* 0.00
coef_universityHomeMaxThree_univ_and_driving_zero_tours 0.116 0.210 0.55 0.00
coef_universityNonMandMaxThree_disc 0.479 0.144 3.33*** 0.00
coef_universityNonMandMaxThree_eatout 0.448 0.244 1.84 0.00
coef_universityNonMandMaxThree_maint-0.158 0.284-0.56 0.00
coef_universityNonMandMaxThree_shopping 0.858 0.157 5.46*** 0.00
coef_universityNonMandMaxThree_visiting 0.282 0.256 1.10 0.00
coef_walkRetailAccessibility_eatout 0.0426 0.0475 0.90 0.00
coef_zeroAutomobiles_disc-0.954 0.441-2.16* 0.00
coef_zeroAutomobiles_visiting-0.901 0.678-1.33 0.00
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -2954,18 +3012,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -3023,25 +3070,25 @@ " \n", " 1\n", " coef_asc_1_Shop\n", - " -7.244895\n", + " -6.045190\n", " F\n", " \n", " \n", " 2\n", " coef_asc_1_Main\n", - " -4.843654\n", + " -5.816690\n", " F\n", " \n", " \n", " 3\n", " coef_asc_1_Eat\n", - " -5.140469\n", + " -6.074061\n", " F\n", " \n", " \n", " 4\n", " coef_asc_1_Visit\n", - " -5.962149\n", + " -5.839951\n", " F\n", " \n", " \n", @@ -3053,19 +3100,19 @@ " \n", " 71\n", " coef_logTimeWindowOverlapAdultChild_disc\n", - " 0.150256\n", + " 0.303504\n", " F\n", " \n", " \n", " 72\n", " coef_incomeBetween50And100_disc\n", - " 0.008353\n", + " 0.132487\n", " F\n", " \n", " \n", " 73\n", " coef_incomeGreaterThan100_disc\n", - " 0.624935\n", + " 0.366581\n", " F\n", " \n", " \n", @@ -3077,7 +3124,7 @@ " \n", " 75\n", " coef_zeroAutomobiles_disc\n", - " -0.539939\n", + " -0.953758\n", " F\n", " \n", " \n", @@ -3088,16 +3135,16 @@ "text/plain": [ " coefficient_name value constrain\n", "0 coef_asc_0_tours 0.000000 T\n", - "1 coef_asc_1_Shop -7.244895 F\n", - "2 coef_asc_1_Main -4.843654 F\n", - "3 coef_asc_1_Eat -5.140469 F\n", - "4 coef_asc_1_Visit -5.962149 F\n", + "1 coef_asc_1_Shop -6.045190 F\n", + "2 coef_asc_1_Main -5.816690 F\n", + "3 coef_asc_1_Eat -6.074061 F\n", + "4 coef_asc_1_Visit -5.839951 F\n", ".. ... ... ...\n", - "71 coef_logTimeWindowOverlapAdultChild_disc 0.150256 F\n", - "72 coef_incomeBetween50And100_disc 0.008353 F\n", - "73 coef_incomeGreaterThan100_disc 0.624935 F\n", + "71 coef_logTimeWindowOverlapAdultChild_disc 0.303504 F\n", + "72 coef_incomeBetween50And100_disc 0.132487 F\n", + "73 coef_incomeGreaterThan100_disc 0.366581 F\n", "74 coef_incomeMissing_dummy_always_zero_disc 0.372300 F\n", - "75 coef_zeroAutomobiles_disc -0.539939 F\n", + "75 coef_zeroAutomobiles_disc -0.953758 F\n", "\n", "[76 rows x 3 columns]" ] @@ -3119,7 +3166,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3133,7 +3180,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/11_joint_tour_composition.ipynb b/activitysim/examples/example_estimation/notebooks/11_joint_tour_composition.ipynb index 89c68c52f7..99bd4cc7cd 100644 --- a/activitysim/examples/example_estimation/notebooks/11_joint_tour_composition.ipynb +++ b/activitysim/examples/example_estimation/notebooks/11_joint_tour_composition.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +115,27 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/joint_tour_composition/joint_tour_composition_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/joint_tour_composition/joint_tour_composition_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_composition/joint_tour_composition_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"joint_tour_composition\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -798,8 +860,8 @@ " \n", " \n", " \n", - " 189758\n", - " 7785298\n", + " 190592\n", + " 7853686\n", " adults\n", " adults\n", " 1.0\n", @@ -807,23 +869,23 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", " ...\n", - " 0.000\n", + " 0.000000\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 201016\n", - " 8708454\n", + " 191185\n", + " 7902318\n", " adults\n", " adults\n", " 1.0\n", @@ -831,23 +893,23 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", " ...\n", - " 0.000\n", + " 0.000000\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 213291\n", - " 9715006\n", + " 191276\n", + " 7909776\n", " adults\n", " adults\n", " 1.0\n", @@ -855,14 +917,14 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", " ...\n", - " 0.000\n", + " 0.000000\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 2.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -870,8 +932,8 @@ " 1\n", " \n", " \n", - " 226902\n", - " 10831112\n", + " 192239\n", + " 7988742\n", " adults\n", " adults\n", " 1.0\n", @@ -879,43 +941,43 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 1.0\n", " ...\n", - " 0.000\n", + " 0.000000\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 337259\n", - " 20334787\n", - " mixed\n", - " mixed\n", + " 193643\n", + " 8103874\n", + " adults\n", + " adults\n", " 1.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 1.0\n", " ...\n", - " 2.197\n", - " 1.0\n", + " 0.000000\n", + " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 1.0\n", " 0.0\n", " 0.0\n", - " False\n", - " 3\n", + " 0.0\n", + " True\n", + " 1\n", " \n", " \n", " ...\n", @@ -942,8 +1004,8 @@ " ...\n", " \n", " \n", - " 2628704\n", - " 283676518\n", + " 2753390\n", + " 303771147\n", " mixed\n", " mixed\n", " 1.0\n", @@ -954,7 +1016,7 @@ " 0.0\n", " 0.0\n", " ...\n", - " 2.398\n", + " 2.708984\n", " 3.0\n", " 0.0\n", " 0.0\n", @@ -962,252 +1024,252 @@ " 2.0\n", " 0.0\n", " 0.0\n", - " False\n", + " True\n", " 3\n", " \n", " \n", - " 2678969\n", - " 295260168\n", - " adults\n", - " adults\n", + " 2754817\n", + " 304144212\n", + " mixed\n", + " mixed\n", " 1.0\n", " 0.0\n", " 0.0\n", " 3.0\n", - " 1.0\n", " 0.0\n", - " 3.0\n", + " 0.0\n", + " 2.0\n", " ...\n", - " 2.080\n", + " 2.996094\n", " 3.0\n", - " 1.0\n", " 0.0\n", - " 3.0\n", - " 1.0\n", + " 0.0\n", + " 2.0\n", + " 2.0\n", " 0.0\n", " 0.0\n", " False\n", - " 1\n", + " 3\n", " \n", " \n", - " 2704338\n", - " 297646485\n", - " adults\n", - " adults\n", + " 2756049\n", + " 304463637\n", + " mixed\n", + " mixed\n", " 1.0\n", " 0.0\n", " 0.0\n", + " 3.0\n", " 0.0\n", - " 0.0\n", - " 0.0\n", + " 2.0\n", " 0.0\n", " ...\n", - " 0.000\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 2.484375\n", + " 3.0\n", " 0.0\n", + " 2.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " True\n", - " 1\n", + " 3\n", " \n", " \n", - " 2718585\n", - " 298814741\n", - " adults\n", - " adults\n", + " 2758936\n", + " 305125582\n", + " children\n", + " mixed\n", " 1.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 2.0\n", " 1.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 0.000\n", - " 0.0\n", + " 2.564453\n", + " 2.0\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 3.0\n", " 0.0\n", " False\n", - " 1\n", + " 3\n", " \n", " \n", - " 2744529\n", - " 301810980\n", - " adults\n", - " adults\n", + " 2759425\n", + " 305246245\n", + " mixed\n", + " mixed\n", " 1.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 2.0\n", - " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " ...\n", - " 0.000\n", + " 2.996094\n", + " 1.0\n", " 2.0\n", + " 1.0\n", " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " False\n", - " 1\n", + " 3\n", " \n", " \n", "\n", - "

91 rows × 87 columns

\n", + "

1277 rows × 87 columns

\n", "" ], "text/plain": [ " tour_id model_choice override_choice util_asc \\\n", "household_id \n", - "189758 7785298 adults adults 1.0 \n", - "201016 8708454 adults adults 1.0 \n", - "213291 9715006 adults adults 1.0 \n", - "226902 10831112 adults adults 1.0 \n", - "337259 20334787 mixed mixed 1.0 \n", + "190592 7853686 adults adults 1.0 \n", + "191185 7902318 adults adults 1.0 \n", + "191276 7909776 adults adults 1.0 \n", + "192239 7988742 adults adults 1.0 \n", + "193643 8103874 adults adults 1.0 \n", "... ... ... ... ... \n", - "2628704 283676518 mixed mixed 1.0 \n", - "2678969 295260168 adults adults 1.0 \n", - "2704338 297646485 adults adults 1.0 \n", - "2718585 298814741 adults adults 1.0 \n", - "2744529 301810980 adults adults 1.0 \n", + "2753390 303771147 mixed mixed 1.0 \n", + "2754817 304144212 mixed mixed 1.0 \n", + "2756049 304463637 mixed mixed 1.0 \n", + "2758936 305125582 children mixed 1.0 \n", + "2759425 305246245 mixed mixed 1.0 \n", "\n", " util_tour_purpose_is_eating_out \\\n", "household_id \n", - "189758 0.0 \n", - "201016 0.0 \n", - "213291 0.0 \n", - "226902 0.0 \n", - "337259 0.0 \n", + "190592 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", + "192239 0.0 \n", + "193643 0.0 \n", "... ... \n", - "2628704 0.0 \n", - "2678969 0.0 \n", - "2704338 0.0 \n", - "2718585 0.0 \n", - "2744529 0.0 \n", + "2753390 0.0 \n", + "2754817 0.0 \n", + "2756049 0.0 \n", + "2758936 0.0 \n", + "2759425 0.0 \n", "\n", " util_tour_purpose_is_discretionary \\\n", "household_id \n", - "189758 0.0 \n", - "201016 0.0 \n", - "213291 0.0 \n", - "226902 0.0 \n", - "337259 0.0 \n", + "190592 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", + "192239 0.0 \n", + "193643 0.0 \n", "... ... \n", - "2628704 0.0 \n", - "2678969 0.0 \n", - "2704338 0.0 \n", - "2718585 0.0 \n", - "2744529 0.0 \n", + "2753390 0.0 \n", + "2754817 0.0 \n", + "2756049 0.0 \n", + "2758936 0.0 \n", + "2759425 0.0 \n", "\n", " util_number_of_full_time_workers \\\n", "household_id \n", - "189758 0.0 \n", - "201016 0.0 \n", - "213291 0.0 \n", - "226902 0.0 \n", - "337259 1.0 \n", + "190592 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", + "192239 0.0 \n", + "193643 0.0 \n", "... ... \n", - "2628704 3.0 \n", - "2678969 3.0 \n", - "2704338 0.0 \n", - "2718585 0.0 \n", - "2744529 2.0 \n", + "2753390 3.0 \n", + "2754817 3.0 \n", + "2756049 3.0 \n", + "2758936 2.0 \n", + "2759425 1.0 \n", "\n", " util_number_of_part_time_workers \\\n", "household_id \n", - "189758 0.0 \n", - "201016 0.0 \n", - "213291 0.0 \n", - "226902 0.0 \n", - "337259 0.0 \n", + "190592 0.0 \n", + "191185 0.0 \n", + "191276 0.0 \n", + "192239 0.0 \n", + "193643 0.0 \n", "... ... \n", - "2628704 0.0 \n", - "2678969 1.0 \n", - "2704338 0.0 \n", - "2718585 1.0 \n", - "2744529 0.0 \n", + "2753390 0.0 \n", + "2754817 0.0 \n", + "2756049 0.0 \n", + "2758936 1.0 \n", + "2759425 2.0 \n", "\n", " util_number_of_university_students util_number_of_non_workers \\\n", "household_id \n", - "189758 2.0 0.0 \n", - "201016 2.0 0.0 \n", - "213291 2.0 0.0 \n", - "226902 2.0 0.0 \n", - "337259 0.0 1.0 \n", + "190592 0.0 2.0 \n", + "191185 0.0 2.0 \n", + "191276 0.0 2.0 \n", + "192239 0.0 1.0 \n", + "193643 0.0 1.0 \n", "... ... ... \n", - "2628704 0.0 0.0 \n", - "2678969 0.0 3.0 \n", - "2704338 0.0 0.0 \n", - "2718585 0.0 0.0 \n", - "2744529 0.0 0.0 \n", + "2753390 0.0 0.0 \n", + "2754817 0.0 2.0 \n", + "2756049 2.0 0.0 \n", + "2758936 0.0 0.0 \n", + "2759425 1.0 0.0 \n", "\n", " ... log_time_window_overlap_adult_child num_full_max3 \\\n", "household_id ... \n", - "189758 ... 0.000 0.0 \n", - "201016 ... 0.000 0.0 \n", - "213291 ... 0.000 0.0 \n", - "226902 ... 0.000 0.0 \n", - "337259 ... 2.197 1.0 \n", + "190592 ... 0.000000 0.0 \n", + "191185 ... 0.000000 0.0 \n", + "191276 ... 0.000000 0.0 \n", + "192239 ... 0.000000 0.0 \n", + "193643 ... 0.000000 0.0 \n", "... ... ... ... \n", - "2628704 ... 2.398 3.0 \n", - "2678969 ... 2.080 3.0 \n", - "2704338 ... 0.000 0.0 \n", - "2718585 ... 0.000 0.0 \n", - "2744529 ... 0.000 2.0 \n", + "2753390 ... 2.708984 3.0 \n", + "2754817 ... 2.996094 3.0 \n", + "2756049 ... 2.484375 3.0 \n", + "2758936 ... 2.564453 2.0 \n", + "2759425 ... 2.996094 1.0 \n", "\n", " num_part_max3 num_univ_max3 num_nonwork_max3 \\\n", "household_id \n", - "189758 0.0 2.0 0.0 \n", - "201016 0.0 2.0 0.0 \n", - "213291 0.0 2.0 0.0 \n", - "226902 0.0 2.0 0.0 \n", - "337259 0.0 0.0 1.0 \n", + "190592 0.0 0.0 2.0 \n", + "191185 0.0 0.0 2.0 \n", + "191276 0.0 0.0 2.0 \n", + "192239 0.0 0.0 1.0 \n", + "193643 0.0 0.0 1.0 \n", "... ... ... ... \n", - "2628704 0.0 0.0 0.0 \n", - "2678969 1.0 0.0 3.0 \n", - "2704338 0.0 0.0 0.0 \n", - "2718585 1.0 0.0 0.0 \n", - "2744529 0.0 0.0 0.0 \n", + "2753390 0.0 0.0 0.0 \n", + "2754817 0.0 0.0 2.0 \n", + "2756049 0.0 2.0 0.0 \n", + "2758936 1.0 0.0 0.0 \n", + "2759425 2.0 1.0 0.0 \n", "\n", " num_preschool_max3 num_school_max3 num_driving_max3 \\\n", "household_id \n", - "189758 0.0 0.0 0.0 \n", - "201016 0.0 0.0 0.0 \n", - "213291 0.0 0.0 0.0 \n", - "226902 0.0 0.0 0.0 \n", - "337259 1.0 0.0 0.0 \n", + "190592 0.0 0.0 0.0 \n", + "191185 0.0 0.0 0.0 \n", + "191276 0.0 0.0 0.0 \n", + "192239 0.0 0.0 0.0 \n", + "193643 0.0 0.0 0.0 \n", "... ... ... ... \n", - "2628704 2.0 0.0 0.0 \n", - "2678969 1.0 0.0 0.0 \n", - "2704338 0.0 0.0 0.0 \n", - "2718585 0.0 0.0 0.0 \n", - "2744529 0.0 0.0 0.0 \n", + "2753390 2.0 0.0 0.0 \n", + "2754817 2.0 0.0 0.0 \n", + "2756049 0.0 1.0 0.0 \n", + "2758936 0.0 3.0 0.0 \n", + "2759425 1.0 0.0 0.0 \n", "\n", " more_cars_than_workers override_choice_code \n", "household_id \n", - "189758 False 1 \n", - "201016 False 1 \n", - "213291 True 1 \n", - "226902 False 1 \n", - "337259 False 3 \n", + "190592 True 1 \n", + "191185 True 1 \n", + "191276 True 1 \n", + "192239 True 1 \n", + "193643 True 1 \n", "... ... ... \n", - "2628704 False 3 \n", - "2678969 False 1 \n", - "2704338 True 1 \n", - "2718585 False 1 \n", - "2744529 False 1 \n", + "2753390 True 3 \n", + "2754817 False 3 \n", + "2756049 True 3 \n", + "2758936 False 3 \n", + "2759425 False 3 \n", "\n", - "[91 rows x 87 columns]" + "[1277 rows x 87 columns]" ] }, "execution_count": 6, @@ -1233,17 +1295,10 @@ "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 033 [Optimization terminated successfully]

" + "

Iteration 095 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1255,7 +1310,7 @@ { "data": { "text/html": [ - "

Best LL = -9.786597596036862e-07

" + "

Best LL = -263.2609116263491

" ], "text/plain": [ "" @@ -1286,493 +1341,475 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_asc_children\n", - " 121.627746\n", + " 6.744041\n", + " 6.744041\n", " 5.3517\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 121.627746\n", " \n", " \n", " coef_asc_mixed\n", - " -88.249613\n", + " 6.886657\n", + " 6.886657\n", " 5.6290\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -88.249613\n", " \n", " \n", " coef_household_has_more_cars_than_workers_adults\n", - " -40.894264\n", + " 3.138920\n", + " 3.138920\n", " 1.3860\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -40.894264\n", " \n", " \n", " coef_household_has_more_cars_than_workers_mixed\n", - " 153.815203\n", + " 0.384250\n", + " 0.384250\n", " 0.7510\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 153.815203\n", " \n", " \n", " coef_household_in_suburban_area_adults\n", - " 0.510500\n", + " -1.123570\n", + " -1.123570\n", " 0.5105\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.510500\n", " \n", " \n", " coef_household_in_suburban_area_mixed\n", - " 0.128300\n", + " 0.258299\n", + " 0.258299\n", " 0.1283\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.128300\n", " \n", " \n", " coef_household_in_urban_area\n", - " -21.823334\n", + " -0.441828\n", + " -0.441828\n", " 0.5741\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -21.823334\n", " \n", " \n", " coef_log_max_overlap_of_adults_time_windows\n", - " -36.285976\n", + " 1.288269\n", + " 1.288269\n", " 1.1920\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -36.285976\n", " \n", " \n", " coef_log_max_overlap_of_childrens_time_windows\n", - " 283.696667\n", + " 1.783892\n", + " 1.783892\n", " 1.8410\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 283.696667\n", " \n", " \n", " coef_log_max_overlap_of_time_windows\n", - " 196.728573\n", + " 1.505521\n", + " 1.505521\n", " 1.9580\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 196.728573\n", " \n", " \n", " coef_low_income_households_adults\n", - " -16.894954\n", + " 2.520875\n", + " 2.520875\n", " 1.2480\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -16.894954\n", " \n", " \n", " coef_low_income_households_mixed\n", - " -3.143593\n", + " 0.683195\n", + " 0.683195\n", " 0.5755\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3.143593\n", " \n", " \n", " coef_medium_income_households\n", - " -161.727385\n", + " 1.853225\n", + " 1.853225\n", " 0.8369\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -161.727385\n", " \n", " \n", " coef_number_of_children_too_young_for_school_children\n", - " -110.048280\n", + " 0.661222\n", + " 0.661222\n", " 0.7306\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -110.048280\n", " \n", " \n", " coef_number_of_children_too_young_for_school_mixed\n", - " 9.539326\n", + " 1.065525\n", + " 1.065525\n", " 0.7906\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 9.539326\n", " \n", " \n", " coef_number_of_driving_age_children_children\n", - " -172.311937\n", + " 0.646806\n", + " 0.646806\n", " -0.2667\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -172.311937\n", " \n", " \n", " coef_number_of_driving_age_children_mixed\n", - " 184.761407\n", + " 0.494992\n", + " 0.494992\n", " -0.9399\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 184.761407\n", " \n", " \n", " coef_number_of_full_time_workers_adults\n", - " 185.490311\n", + " 1.638383\n", + " 1.638383\n", " 1.0240\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 185.490311\n", " \n", " \n", " coef_number_of_full_time_workers_mixed\n", - " 50.943193\n", + " 0.106573\n", + " 0.106573\n", " 0.3624\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 50.943193\n", " \n", " \n", " coef_number_of_non_workers_adults\n", - " 40.041010\n", + " 0.344889\n", + " 0.344889\n", " 0.6263\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 40.041010\n", " \n", " \n", " coef_number_of_non_workers_mixed\n", - " -96.438666\n", + " -0.067851\n", + " -0.067851\n", " -0.3724\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -96.438666\n", " \n", " \n", " coef_number_of_part_time_workers_adults\n", - " 47.088158\n", + " 0.094715\n", + " 0.094715\n", " 0.5412\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 47.088158\n", " \n", " \n", " coef_number_of_part_time_workers_mixed\n", - " 58.958712\n", + " 0.182067\n", + " 0.182067\n", " 0.3164\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 58.958712\n", " \n", " \n", " coef_number_of_pre_driving_age_children_children\n", - " 12.678858\n", + " 0.256545\n", + " 0.256545\n", " 0.7306\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 12.678858\n", " \n", " \n", " coef_number_of_pre_driving_age_children_mixed\n", - " 158.960267\n", + " 0.311384\n", + " 0.311384\n", " 0.3532\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 158.960267\n", " \n", " \n", " coef_number_of_university_students\n", - " -5.007830\n", + " 0.067485\n", + " 0.067485\n", " 0.8245\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5.007830\n", " \n", " \n", " coef_tour_purpose_is_discretionary_adults\n", " 0.764800\n", + " 0.764800\n", " 0.7648\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.764800\n", " \n", " \n", " coef_tour_purpose_is_discretionary_children\n", " 0.510100\n", + " 0.510100\n", " 0.5101\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.510100\n", " \n", " \n", " coef_tour_purpose_is_eating_out_children\n", " -0.967800\n", + " -0.967800\n", " -0.9678\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.967800\n", " \n", " \n", " coef_tour_purpose_is_eating_out_mixed\n", " -0.802700\n", + " -0.802700\n", " -0.8027\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.802700\n", " \n", " \n", " coef_unavailable\n", " -999.000000\n", + " -999.000000\n", " -999.0000\n", + " -999.0\n", + " -999.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_asc_children 121.627746 5.3517 \n", - "coef_asc_mixed -88.249613 5.6290 \n", - "coef_household_has_more_cars_than_workers_adults -40.894264 1.3860 \n", - "coef_household_has_more_cars_than_workers_mixed 153.815203 0.7510 \n", - "coef_household_in_suburban_area_adults 0.510500 0.5105 \n", - "coef_household_in_suburban_area_mixed 0.128300 0.1283 \n", - "coef_household_in_urban_area -21.823334 0.5741 \n", - "coef_log_max_overlap_of_adults_time_windows -36.285976 1.1920 \n", - "coef_log_max_overlap_of_childrens_time_windows 283.696667 1.8410 \n", - "coef_log_max_overlap_of_time_windows 196.728573 1.9580 \n", - "coef_low_income_households_adults -16.894954 1.2480 \n", - "coef_low_income_households_mixed -3.143593 0.5755 \n", - "coef_medium_income_households -161.727385 0.8369 \n", - "coef_number_of_children_too_young_for_school_ch... -110.048280 0.7306 \n", - "coef_number_of_children_too_young_for_school_mixed 9.539326 0.7906 \n", - "coef_number_of_driving_age_children_children -172.311937 -0.2667 \n", - "coef_number_of_driving_age_children_mixed 184.761407 -0.9399 \n", - "coef_number_of_full_time_workers_adults 185.490311 1.0240 \n", - "coef_number_of_full_time_workers_mixed 50.943193 0.3624 \n", - "coef_number_of_non_workers_adults 40.041010 0.6263 \n", - "coef_number_of_non_workers_mixed -96.438666 -0.3724 \n", - "coef_number_of_part_time_workers_adults 47.088158 0.5412 \n", - "coef_number_of_part_time_workers_mixed 58.958712 0.3164 \n", - "coef_number_of_pre_driving_age_children_children 12.678858 0.7306 \n", - "coef_number_of_pre_driving_age_children_mixed 158.960267 0.3532 \n", - "coef_number_of_university_students -5.007830 0.8245 \n", - "coef_tour_purpose_is_discretionary_adults 0.764800 0.7648 \n", - "coef_tour_purpose_is_discretionary_children 0.510100 0.5101 \n", - "coef_tour_purpose_is_eating_out_children -0.967800 -0.9678 \n", - "coef_tour_purpose_is_eating_out_mixed -0.802700 -0.8027 \n", - "coef_unavailable -999.000000 -999.0000 \n", + " value best \\\n", + "param_name \n", + "coef_asc_children 6.744041 6.744041 \n", + "coef_asc_mixed 6.886657 6.886657 \n", + "coef_household_has_more_cars_than_workers_adults 3.138920 3.138920 \n", + "coef_household_has_more_cars_than_workers_mixed 0.384250 0.384250 \n", + "coef_household_in_suburban_area_adults -1.123570 -1.123570 \n", + "coef_household_in_suburban_area_mixed 0.258299 0.258299 \n", + "coef_household_in_urban_area -0.441828 -0.441828 \n", + "coef_log_max_overlap_of_adults_time_windows 1.288269 1.288269 \n", + "coef_log_max_overlap_of_childrens_time_windows 1.783892 1.783892 \n", + "coef_log_max_overlap_of_time_windows 1.505521 1.505521 \n", + "coef_low_income_households_adults 2.520875 2.520875 \n", + "coef_low_income_households_mixed 0.683195 0.683195 \n", + "coef_medium_income_households 1.853225 1.853225 \n", + "coef_number_of_children_too_young_for_school_ch... 0.661222 0.661222 \n", + "coef_number_of_children_too_young_for_school_mixed 1.065525 1.065525 \n", + "coef_number_of_driving_age_children_children 0.646806 0.646806 \n", + "coef_number_of_driving_age_children_mixed 0.494992 0.494992 \n", + "coef_number_of_full_time_workers_adults 1.638383 1.638383 \n", + "coef_number_of_full_time_workers_mixed 0.106573 0.106573 \n", + "coef_number_of_non_workers_adults 0.344889 0.344889 \n", + "coef_number_of_non_workers_mixed -0.067851 -0.067851 \n", + "coef_number_of_part_time_workers_adults 0.094715 0.094715 \n", + "coef_number_of_part_time_workers_mixed 0.182067 0.182067 \n", + "coef_number_of_pre_driving_age_children_children 0.256545 0.256545 \n", + "coef_number_of_pre_driving_age_children_mixed 0.311384 0.311384 \n", + "coef_number_of_university_students 0.067485 0.067485 \n", + "coef_tour_purpose_is_discretionary_adults 0.764800 0.764800 \n", + "coef_tour_purpose_is_discretionary_children 0.510100 0.510100 \n", + "coef_tour_purpose_is_eating_out_children -0.967800 -0.967800 \n", + "coef_tour_purpose_is_eating_out_mixed -0.802700 -0.802700 \n", + "coef_unavailable -999.000000 -999.000000 \n", "\n", - " nullvalue minimum \\\n", - "coef_asc_children 0.0 NaN \n", - "coef_asc_mixed 0.0 NaN \n", - "coef_household_has_more_cars_than_workers_adults 0.0 NaN \n", - "coef_household_has_more_cars_than_workers_mixed 0.0 NaN \n", - "coef_household_in_suburban_area_adults 0.0 NaN \n", - "coef_household_in_suburban_area_mixed 0.0 NaN \n", - "coef_household_in_urban_area 0.0 NaN \n", - "coef_log_max_overlap_of_adults_time_windows 0.0 NaN \n", - "coef_log_max_overlap_of_childrens_time_windows 0.0 NaN \n", - "coef_log_max_overlap_of_time_windows 0.0 NaN \n", - "coef_low_income_households_adults 0.0 NaN \n", - "coef_low_income_households_mixed 0.0 NaN \n", - "coef_medium_income_households 0.0 NaN \n", - "coef_number_of_children_too_young_for_school_ch... 0.0 NaN \n", - "coef_number_of_children_too_young_for_school_mixed 0.0 NaN \n", - "coef_number_of_driving_age_children_children 0.0 NaN \n", - "coef_number_of_driving_age_children_mixed 0.0 NaN \n", - "coef_number_of_full_time_workers_adults 0.0 NaN \n", - "coef_number_of_full_time_workers_mixed 0.0 NaN \n", - "coef_number_of_non_workers_adults 0.0 NaN \n", - "coef_number_of_non_workers_mixed 0.0 NaN \n", - "coef_number_of_part_time_workers_adults 0.0 NaN \n", - "coef_number_of_part_time_workers_mixed 0.0 NaN \n", - "coef_number_of_pre_driving_age_children_children 0.0 NaN \n", - "coef_number_of_pre_driving_age_children_mixed 0.0 NaN \n", - "coef_number_of_university_students 0.0 NaN \n", - "coef_tour_purpose_is_discretionary_adults 0.0 NaN \n", - "coef_tour_purpose_is_discretionary_children 0.0 NaN \n", - "coef_tour_purpose_is_eating_out_children 0.0 NaN \n", - "coef_tour_purpose_is_eating_out_mixed 0.0 NaN \n", - "coef_unavailable 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_asc_children 5.3517 -50.0 \n", + "coef_asc_mixed 5.6290 -50.0 \n", + "coef_household_has_more_cars_than_workers_adults 1.3860 -50.0 \n", + "coef_household_has_more_cars_than_workers_mixed 0.7510 -50.0 \n", + "coef_household_in_suburban_area_adults 0.5105 -50.0 \n", + "coef_household_in_suburban_area_mixed 0.1283 -50.0 \n", + "coef_household_in_urban_area 0.5741 -50.0 \n", + "coef_log_max_overlap_of_adults_time_windows 1.1920 -50.0 \n", + "coef_log_max_overlap_of_childrens_time_windows 1.8410 -50.0 \n", + "coef_log_max_overlap_of_time_windows 1.9580 -50.0 \n", + "coef_low_income_households_adults 1.2480 -50.0 \n", + "coef_low_income_households_mixed 0.5755 -50.0 \n", + "coef_medium_income_households 0.8369 -50.0 \n", + "coef_number_of_children_too_young_for_school_ch... 0.7306 -50.0 \n", + "coef_number_of_children_too_young_for_school_mixed 0.7906 -50.0 \n", + "coef_number_of_driving_age_children_children -0.2667 -50.0 \n", + "coef_number_of_driving_age_children_mixed -0.9399 -50.0 \n", + "coef_number_of_full_time_workers_adults 1.0240 -50.0 \n", + "coef_number_of_full_time_workers_mixed 0.3624 -50.0 \n", + "coef_number_of_non_workers_adults 0.6263 -50.0 \n", + "coef_number_of_non_workers_mixed -0.3724 -50.0 \n", + "coef_number_of_part_time_workers_adults 0.5412 -50.0 \n", + "coef_number_of_part_time_workers_mixed 0.3164 -50.0 \n", + "coef_number_of_pre_driving_age_children_children 0.7306 -50.0 \n", + "coef_number_of_pre_driving_age_children_mixed 0.3532 -50.0 \n", + "coef_number_of_university_students 0.8245 -50.0 \n", + "coef_tour_purpose_is_discretionary_adults 0.7648 -50.0 \n", + "coef_tour_purpose_is_discretionary_children 0.5101 -50.0 \n", + "coef_tour_purpose_is_eating_out_children -0.9678 -50.0 \n", + "coef_tour_purpose_is_eating_out_mixed -0.8027 -50.0 \n", + "coef_unavailable -999.0000 -999.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_asc_children NaN 0 \n", - "coef_asc_mixed NaN 0 \n", - "coef_household_has_more_cars_than_workers_adults NaN 0 \n", - "coef_household_has_more_cars_than_workers_mixed NaN 0 \n", - "coef_household_in_suburban_area_adults NaN 0 \n", - "coef_household_in_suburban_area_mixed NaN 0 \n", - "coef_household_in_urban_area NaN 0 \n", - "coef_log_max_overlap_of_adults_time_windows NaN 0 \n", - "coef_log_max_overlap_of_childrens_time_windows NaN 0 \n", - "coef_log_max_overlap_of_time_windows NaN 0 \n", - "coef_low_income_households_adults NaN 0 \n", - "coef_low_income_households_mixed NaN 0 \n", - "coef_medium_income_households NaN 0 \n", - "coef_number_of_children_too_young_for_school_ch... NaN 0 \n", - "coef_number_of_children_too_young_for_school_mixed NaN 0 \n", - "coef_number_of_driving_age_children_children NaN 0 \n", - "coef_number_of_driving_age_children_mixed NaN 0 \n", - "coef_number_of_full_time_workers_adults NaN 0 \n", - "coef_number_of_full_time_workers_mixed NaN 0 \n", - "coef_number_of_non_workers_adults NaN 0 \n", - "coef_number_of_non_workers_mixed NaN 0 \n", - "coef_number_of_part_time_workers_adults NaN 0 \n", - "coef_number_of_part_time_workers_mixed NaN 0 \n", - "coef_number_of_pre_driving_age_children_children NaN 0 \n", - "coef_number_of_pre_driving_age_children_mixed NaN 0 \n", - "coef_number_of_university_students NaN 0 \n", - "coef_tour_purpose_is_discretionary_adults NaN 0 \n", - "coef_tour_purpose_is_discretionary_children NaN 0 \n", - "coef_tour_purpose_is_eating_out_children NaN 0 \n", - "coef_tour_purpose_is_eating_out_mixed NaN 0 \n", - "coef_unavailable NaN 1 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_asc_children 50.0 0.0 \n", + "coef_asc_mixed 50.0 0.0 \n", + "coef_household_has_more_cars_than_workers_adults 50.0 0.0 \n", + "coef_household_has_more_cars_than_workers_mixed 50.0 0.0 \n", + "coef_household_in_suburban_area_adults 50.0 0.0 \n", + "coef_household_in_suburban_area_mixed 50.0 0.0 \n", + "coef_household_in_urban_area 50.0 0.0 \n", + "coef_log_max_overlap_of_adults_time_windows 50.0 0.0 \n", + "coef_log_max_overlap_of_childrens_time_windows 50.0 0.0 \n", + "coef_log_max_overlap_of_time_windows 50.0 0.0 \n", + "coef_low_income_households_adults 50.0 0.0 \n", + "coef_low_income_households_mixed 50.0 0.0 \n", + "coef_medium_income_households 50.0 0.0 \n", + "coef_number_of_children_too_young_for_school_ch... 50.0 0.0 \n", + "coef_number_of_children_too_young_for_school_mixed 50.0 0.0 \n", + "coef_number_of_driving_age_children_children 50.0 0.0 \n", + "coef_number_of_driving_age_children_mixed 50.0 0.0 \n", + "coef_number_of_full_time_workers_adults 50.0 0.0 \n", + "coef_number_of_full_time_workers_mixed 50.0 0.0 \n", + "coef_number_of_non_workers_adults 50.0 0.0 \n", + "coef_number_of_non_workers_mixed 50.0 0.0 \n", + "coef_number_of_part_time_workers_adults 50.0 0.0 \n", + "coef_number_of_part_time_workers_mixed 50.0 0.0 \n", + "coef_number_of_pre_driving_age_children_children 50.0 0.0 \n", + "coef_number_of_pre_driving_age_children_mixed 50.0 0.0 \n", + "coef_number_of_university_students 50.0 0.0 \n", + "coef_tour_purpose_is_discretionary_adults 50.0 0.0 \n", + "coef_tour_purpose_is_discretionary_children 50.0 0.0 \n", + "coef_tour_purpose_is_eating_out_children 50.0 0.0 \n", + "coef_tour_purpose_is_eating_out_mixed 50.0 0.0 \n", + "coef_unavailable -999.0 0.0 \n", "\n", - " best \n", - "coef_asc_children 121.627746 \n", - "coef_asc_mixed -88.249613 \n", - "coef_household_has_more_cars_than_workers_adults -40.894264 \n", - "coef_household_has_more_cars_than_workers_mixed 153.815203 \n", - "coef_household_in_suburban_area_adults 0.510500 \n", - "coef_household_in_suburban_area_mixed 0.128300 \n", - "coef_household_in_urban_area -21.823334 \n", - "coef_log_max_overlap_of_adults_time_windows -36.285976 \n", - "coef_log_max_overlap_of_childrens_time_windows 283.696667 \n", - "coef_log_max_overlap_of_time_windows 196.728573 \n", - "coef_low_income_households_adults -16.894954 \n", - "coef_low_income_households_mixed -3.143593 \n", - "coef_medium_income_households -161.727385 \n", - "coef_number_of_children_too_young_for_school_ch... -110.048280 \n", - "coef_number_of_children_too_young_for_school_mixed 9.539326 \n", - "coef_number_of_driving_age_children_children -172.311937 \n", - "coef_number_of_driving_age_children_mixed 184.761407 \n", - "coef_number_of_full_time_workers_adults 185.490311 \n", - "coef_number_of_full_time_workers_mixed 50.943193 \n", - "coef_number_of_non_workers_adults 40.041010 \n", - "coef_number_of_non_workers_mixed -96.438666 \n", - "coef_number_of_part_time_workers_adults 47.088158 \n", - "coef_number_of_part_time_workers_mixed 58.958712 \n", - "coef_number_of_pre_driving_age_children_children 12.678858 \n", - "coef_number_of_pre_driving_age_children_mixed 158.960267 \n", - "coef_number_of_university_students -5.007830 \n", - "coef_tour_purpose_is_discretionary_adults 0.764800 \n", - "coef_tour_purpose_is_discretionary_children 0.510100 \n", - "coef_tour_purpose_is_eating_out_children -0.967800 \n", - "coef_tour_purpose_is_eating_out_mixed -0.802700 \n", - "coef_unavailable -999.000000 " + " holdfast \n", + "param_name \n", + "coef_asc_children 0 \n", + "coef_asc_mixed 0 \n", + "coef_household_has_more_cars_than_workers_adults 0 \n", + "coef_household_has_more_cars_than_workers_mixed 0 \n", + "coef_household_in_suburban_area_adults 0 \n", + "coef_household_in_suburban_area_mixed 0 \n", + "coef_household_in_urban_area 0 \n", + "coef_log_max_overlap_of_adults_time_windows 0 \n", + "coef_log_max_overlap_of_childrens_time_windows 0 \n", + "coef_log_max_overlap_of_time_windows 0 \n", + "coef_low_income_households_adults 0 \n", + "coef_low_income_households_mixed 0 \n", + "coef_medium_income_households 0 \n", + "coef_number_of_children_too_young_for_school_ch... 0 \n", + "coef_number_of_children_too_young_for_school_mixed 0 \n", + "coef_number_of_driving_age_children_children 0 \n", + "coef_number_of_driving_age_children_mixed 0 \n", + "coef_number_of_full_time_workers_adults 0 \n", + "coef_number_of_full_time_workers_mixed 0 \n", + "coef_number_of_non_workers_adults 0 \n", + "coef_number_of_non_workers_mixed 0 \n", + "coef_number_of_part_time_workers_adults 0 \n", + "coef_number_of_part_time_workers_mixed 0 \n", + "coef_number_of_pre_driving_age_children_children 0 \n", + "coef_number_of_pre_driving_age_children_mixed 0 \n", + "coef_number_of_university_students 0 \n", + "coef_tour_purpose_is_discretionary_adults 0 \n", + "coef_tour_purpose_is_discretionary_children 0 \n", + "coef_tour_purpose_is_eating_out_children 0 \n", + "coef_tour_purpose_is_eating_out_mixed 0 \n", + "coef_unavailable 1 " ] }, "metadata": {}, @@ -1782,12 +1819,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate(method='SLSQP')\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 0.0 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " model.estimate(method='SLSQP')\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -1803,107 +1836,107 @@ " \n", " \n", " coef_asc_children\n", - " 121.627746\n", + " 6.744041\n", " \n", " \n", " coef_asc_mixed\n", - " -88.249613\n", + " 6.886657\n", " \n", " \n", " coef_household_has_more_cars_than_workers_adults\n", - " -40.894264\n", + " 3.138920\n", " \n", " \n", " coef_household_has_more_cars_than_workers_mixed\n", - " 153.815203\n", + " 0.384250\n", " \n", " \n", " coef_household_in_suburban_area_adults\n", - " 0.510500\n", + " -1.123570\n", " \n", " \n", " coef_household_in_suburban_area_mixed\n", - " 0.128300\n", + " 0.258299\n", " \n", " \n", " coef_household_in_urban_area\n", - " -21.823334\n", + " -0.441828\n", " \n", " \n", " coef_log_max_overlap_of_adults_time_windows\n", - " -36.285976\n", + " 1.288269\n", " \n", " \n", " coef_log_max_overlap_of_childrens_time_windows\n", - " 283.696667\n", + " 1.783892\n", " \n", " \n", " coef_log_max_overlap_of_time_windows\n", - " 196.728573\n", + " 1.505521\n", " \n", " \n", " coef_low_income_households_adults\n", - " -16.894954\n", + " 2.520875\n", " \n", " \n", " coef_low_income_households_mixed\n", - " -3.143593\n", + " 0.683195\n", " \n", " \n", " coef_medium_income_households\n", - " -161.727385\n", + " 1.853225\n", " \n", " \n", " coef_number_of_children_too_young_for_school_children\n", - " -110.048280\n", + " 0.661222\n", " \n", " \n", " coef_number_of_children_too_young_for_school_mixed\n", - " 9.539326\n", + " 1.065525\n", " \n", " \n", " coef_number_of_driving_age_children_children\n", - " -172.311937\n", + " 0.646806\n", " \n", " \n", " coef_number_of_driving_age_children_mixed\n", - " 184.761407\n", + " 0.494992\n", " \n", " \n", " coef_number_of_full_time_workers_adults\n", - " 185.490311\n", + " 1.638383\n", " \n", " \n", " coef_number_of_full_time_workers_mixed\n", - " 50.943193\n", + " 0.106573\n", " \n", " \n", " coef_number_of_non_workers_adults\n", - " 40.041010\n", + " 0.344889\n", " \n", " \n", " coef_number_of_non_workers_mixed\n", - " -96.438666\n", + " -0.067851\n", " \n", " \n", " coef_number_of_part_time_workers_adults\n", - " 47.088158\n", + " 0.094715\n", " \n", " \n", " coef_number_of_part_time_workers_mixed\n", - " 58.958712\n", + " 0.182067\n", " \n", " \n", " coef_number_of_pre_driving_age_children_children\n", - " 12.678858\n", + " 0.256545\n", " \n", " \n", " coef_number_of_pre_driving_age_children_mixed\n", - " 158.960267\n", + " 0.311384\n", " \n", " \n", " coef_number_of_university_students\n", - " -5.007830\n", + " 0.067485\n", " \n", " \n", " coef_tour_purpose_is_discretionary_adults\n", @@ -1926,7 +1959,7 @@ " -999.000000\n", " \n", " \n", - "loglike-9.786597596036862e-07d_loglike\n", + "
logloss0.2061557647817926d_logloss\n", " \n", " \n", " \n", @@ -1936,107 +1969,107 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2059,85 +2092,85 @@ " \n", " \n", " \n", - "
coef_asc_children-1.199240e-064.680292e-05
coef_asc_mixed1.199240e-061.506794e-04
coef_household_has_more_cars_than_workers_adults-7.697895e-122-1.303235e-04
coef_household_has_more_cars_than_workers_mixed2.677106e-094.087211e-05
coef_household_in_suburban_area_adults0.000000e+00-2.788428e-05
coef_household_in_suburban_area_mixed0.000000e+00-2.733559e-05
coef_household_in_urban_area-1.311061e-38-1.695981e-04
coef_log_max_overlap_of_adults_time_windows-2.551704e-387.673766e-05
coef_log_max_overlap_of_childrens_time_windows-2.523891e-063.533351e-05
coef_log_max_overlap_of_time_windows2.726540e-062.703275e-05
coef_low_income_households_adults-4.843014e-79-1.364236e-04
coef_low_income_households_mixed4.440892e-165.443801e-05
coef_medium_income_households-1.620456e-77-7.972989e-05
coef_number_of_children_too_young_for_school_children8.759917e-08-1.415851e-04
coef_number_of_children_too_young_for_school_mixed-8.759917e-08-1.265584e-04
coef_number_of_driving_age_children_children-2.272077e-16-7.515067e-05
coef_number_of_driving_age_children_mixed4.440892e-16-7.904237e-05
coef_number_of_full_time_workers_adults-3.933184e-381.573128e-04
coef_number_of_full_time_workers_mixed2.196009e-064.624742e-05
coef_number_of_non_workers_adults-4.909798e-77-2.862258e-05
coef_number_of_non_workers_mixed2.677106e-09-1.424617e-05
coef_number_of_part_time_workers_adults-1.620456e-77-2.202661e-04
coef_number_of_part_time_workers_mixed-8.759917e-082.445794e-07
coef_number_of_pre_driving_age_children_children-2.486079e-06-1.084978e-05
coef_number_of_pre_driving_age_children_mixed2.486079e-063.508229e-05
coef_number_of_university_students-2.474369e-317-5.764209e-05
coef_tour_purpose_is_discretionary_adults0.000000e+00
nit33nfev39njev33status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.266490method'SLSQP'n_cases91iteration_number33logloss1.075450285278776e-08" + "nit95nfev95njev95status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.247365method'SLSQP'n_cases1277iteration_number95loglike-263.2609116263491" ], "text/plain": [ - "┣ x: coef_asc_children 121.627746\n", - "┃ coef_asc_mixed -88.249613\n", - "┃ coef_household_has_more_cars_than_workers_adults -40.894264\n", - "┃ coef_household_has_more_cars_than_workers_mixed 153.815203\n", - "┃ coef_household_in_suburban_area_adults 0.510500\n", - "┃ coef_household_in_suburban_area_mixed 0.128300\n", - "┃ coef_household_in_urban_area -21.823334\n", - "┃ coef_log_max_overlap_of_adults_time_windows -36.285976\n", - "┃ coef_log_max_overlap_of_childrens_time_windows 283.696667\n", - "┃ coef_log_max_overlap_of_time_windows 196.728573\n", - "┃ coef_low_income_households_adults -16.894954\n", - "┃ coef_low_income_households_mixed -3.143593\n", - "┃ coef_medium_income_households -161.727385\n", - "┃ coef_number_of_children_too_young_for_school_children -110.048280\n", - "┃ coef_number_of_children_too_young_for_school_mixed 9.539326\n", - "┃ coef_number_of_driving_age_children_children -172.311937\n", - "┃ coef_number_of_driving_age_children_mixed 184.761407\n", - "┃ coef_number_of_full_time_workers_adults 185.490311\n", - "┃ coef_number_of_full_time_workers_mixed 50.943193\n", - "┃ coef_number_of_non_workers_adults 40.041010\n", - "┃ coef_number_of_non_workers_mixed -96.438666\n", - "┃ coef_number_of_part_time_workers_adults 47.088158\n", - "┃ coef_number_of_part_time_workers_mixed 58.958712\n", - "┃ coef_number_of_pre_driving_age_children_children 12.678858\n", - "┃ coef_number_of_pre_driving_age_children_mixed 158.960267\n", - "┃ coef_number_of_university_students -5.007830\n", + "┣ x: coef_asc_children 6.744041\n", + "┃ coef_asc_mixed 6.886657\n", + "┃ coef_household_has_more_cars_than_workers_adults 3.138920\n", + "┃ coef_household_has_more_cars_than_workers_mixed 0.384250\n", + "┃ coef_household_in_suburban_area_adults -1.123570\n", + "┃ coef_household_in_suburban_area_mixed 0.258299\n", + "┃ coef_household_in_urban_area -0.441828\n", + "┃ coef_log_max_overlap_of_adults_time_windows 1.288269\n", + "┃ coef_log_max_overlap_of_childrens_time_windows 1.783892\n", + "┃ coef_log_max_overlap_of_time_windows 1.505521\n", + "┃ coef_low_income_households_adults 2.520875\n", + "┃ coef_low_income_households_mixed 0.683195\n", + "┃ coef_medium_income_households 1.853225\n", + "┃ coef_number_of_children_too_young_for_school_children 0.661222\n", + "┃ coef_number_of_children_too_young_for_school_mixed 1.065525\n", + "┃ coef_number_of_driving_age_children_children 0.646806\n", + "┃ coef_number_of_driving_age_children_mixed 0.494992\n", + "┃ coef_number_of_full_time_workers_adults 1.638383\n", + "┃ coef_number_of_full_time_workers_mixed 0.106573\n", + "┃ coef_number_of_non_workers_adults 0.344889\n", + "┃ coef_number_of_non_workers_mixed -0.067851\n", + "┃ coef_number_of_part_time_workers_adults 0.094715\n", + "┃ coef_number_of_part_time_workers_mixed 0.182067\n", + "┃ coef_number_of_pre_driving_age_children_children 0.256545\n", + "┃ coef_number_of_pre_driving_age_children_mixed 0.311384\n", + "┃ coef_number_of_university_students 0.067485\n", "┃ coef_tour_purpose_is_discretionary_adults 0.764800\n", "┃ coef_tour_purpose_is_discretionary_children 0.510100\n", "┃ coef_tour_purpose_is_eating_out_children -0.967800\n", "┃ coef_tour_purpose_is_eating_out_mixed -0.802700\n", "┃ coef_unavailable -999.000000\n", "┃ dtype: float64\n", - "┣ loglike: -9.786597596036862e-07\n", - "┣ d_loglike: coef_asc_children -1.199240e-06\n", - "┃ coef_asc_mixed 1.199240e-06\n", - "┃ coef_household_has_more_cars_than_workers_adults -7.697895e-122\n", - "┃ coef_household_has_more_cars_than_workers_mixed 2.677106e-09\n", - "┃ coef_household_in_suburban_area_adults 0.000000e+00\n", - "┃ coef_household_in_suburban_area_mixed 0.000000e+00\n", - "┃ coef_household_in_urban_area -1.311061e-38\n", - "┃ coef_log_max_overlap_of_adults_time_windows -2.551704e-38\n", - "┃ coef_log_max_overlap_of_childrens_time_windows -2.523891e-06\n", - "┃ coef_log_max_overlap_of_time_windows 2.726540e-06\n", - "┃ coef_low_income_households_adults -4.843014e-79\n", - "┃ coef_low_income_households_mixed 4.440892e-16\n", - "┃ coef_medium_income_households -1.620456e-77\n", - "┃ coef_number_of_children_too_young_for_school_children 8.759917e-08\n", - "┃ coef_number_of_children_too_young_for_school_mixed -8.759917e-08\n", - "┃ coef_number_of_driving_age_children_children -2.272077e-16\n", - "┃ coef_number_of_driving_age_children_mixed 4.440892e-16\n", - "┃ coef_number_of_full_time_workers_adults -3.933184e-38\n", - "┃ coef_number_of_full_time_workers_mixed 2.196009e-06\n", - "┃ coef_number_of_non_workers_adults -4.909798e-77\n", - "┃ coef_number_of_non_workers_mixed 2.677106e-09\n", - "┃ coef_number_of_part_time_workers_adults -1.620456e-77\n", - "┃ coef_number_of_part_time_workers_mixed -8.759917e-08\n", - "┃ coef_number_of_pre_driving_age_children_children -2.486079e-06\n", - "┃ coef_number_of_pre_driving_age_children_mixed 2.486079e-06\n", - "┃ coef_number_of_university_students -2.474369e-317\n", - "┃ coef_tour_purpose_is_discretionary_adults 0.000000e+00\n", - "┃ coef_tour_purpose_is_discretionary_children 0.000000e+00\n", - "┃ coef_tour_purpose_is_eating_out_children 0.000000e+00\n", - "┃ coef_tour_purpose_is_eating_out_mixed 0.000000e+00\n", - "┃ coef_unavailable 0.000000e+00\n", + "┣ logloss: 0.2061557647817926\n", + "┣ d_logloss: coef_asc_children 4.680292e-05\n", + "┃ coef_asc_mixed 1.506794e-04\n", + "┃ coef_household_has_more_cars_than_workers_adults -1.303235e-04\n", + "┃ coef_household_has_more_cars_than_workers_mixed 4.087211e-05\n", + "┃ coef_household_in_suburban_area_adults -2.788428e-05\n", + "┃ coef_household_in_suburban_area_mixed -2.733559e-05\n", + "┃ coef_household_in_urban_area -1.695981e-04\n", + "┃ coef_log_max_overlap_of_adults_time_windows 7.673766e-05\n", + "┃ coef_log_max_overlap_of_childrens_time_windows 3.533351e-05\n", + "┃ coef_log_max_overlap_of_time_windows 2.703275e-05\n", + "┃ coef_low_income_households_adults -1.364236e-04\n", + "┃ coef_low_income_households_mixed 5.443801e-05\n", + "┃ coef_medium_income_households -7.972989e-05\n", + "┃ coef_number_of_children_too_young_for_school_children -1.415851e-04\n", + "┃ coef_number_of_children_too_young_for_school_mixed -1.265584e-04\n", + "┃ coef_number_of_driving_age_children_children -7.515067e-05\n", + "┃ coef_number_of_driving_age_children_mixed -7.904237e-05\n", + "┃ coef_number_of_full_time_workers_adults 1.573128e-04\n", + "┃ coef_number_of_full_time_workers_mixed 4.624742e-05\n", + "┃ coef_number_of_non_workers_adults -2.862258e-05\n", + "┃ coef_number_of_non_workers_mixed -1.424617e-05\n", + "┃ coef_number_of_part_time_workers_adults -2.202661e-04\n", + "┃ coef_number_of_part_time_workers_mixed 2.445794e-07\n", + "┃ coef_number_of_pre_driving_age_children_children -1.084978e-05\n", + "┃ coef_number_of_pre_driving_age_children_mixed 3.508229e-05\n", + "┃ coef_number_of_university_students -5.764209e-05\n", + "┃ coef_tour_purpose_is_discretionary_adults 0.000000e+00\n", + "┃ coef_tour_purpose_is_discretionary_children 0.000000e+00\n", + "┃ coef_tour_purpose_is_eating_out_children 0.000000e+00\n", + "┃ coef_tour_purpose_is_eating_out_mixed 0.000000e+00\n", + "┃ coef_unavailable 0.000000e+00\n", "┃ dtype: float64\n", - "┣ nit: 33\n", - "┣ nfev: 39\n", - "┣ njev: 33\n", + "┣ nit: 95\n", + "┣ nfev: 95\n", + "┣ njev: 95\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(microseconds=266490)\n", + "┣ elapsed_time: datetime.timedelta(microseconds=247365)\n", "┣ method: 'SLSQP'\n", - "┣ n_cases: 91\n", - "┣ iteration_number: 33\n", - "┣ logloss: 1.075450285278776e-08" + "┣ n_cases: 1277\n", + "┣ iteration_number: 95\n", + "┣ loglike: -263.2609116263491" ] }, "execution_count": 7, @@ -2172,330 +2205,325 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_asc_children 122. NA NA[***] 306.42 0.00
coef_asc_mixed-88.2 2.20e+04-0.00 NA 0.00
coef_household_has_more_cars_than_workers_adults-40.9 NA NA[] 0.00 0.00
coef_household_has_more_cars_than_workers_mixed 154. 4.67e+04 0.00 NA 0.00
coef_household_in_suburban_area_adults 0.511 NA NA[] 0.00 0.00
coef_household_in_suburban_area_mixed 0.128 NA NA[] 0.00 0.00
coef_household_in_urban_area-21.8 NA NA[] 0.00 0.00
coef_log_max_overlap_of_adults_time_windows-36.3 NA NA[] 0.00 0.00
coef_log_max_overlap_of_childrens_time_windows 284. NA NA[***] BIG 0.00
coef_log_max_overlap_of_time_windows 197. 1.02e+04 0.02 NA 0.00
coef_low_income_households_adults-16.9 NA NA[] 0.00 0.00
coef_low_income_households_mixed-3.14 NA NA[] 0.00 0.00
coef_medium_income_households-162. NA NA[] 0.00 0.00
coef_number_of_children_too_young_for_school_children-110. 9.62e+03-0.01 NA 0.00
coef_number_of_children_too_young_for_school_mixed 9.54 4.19e+03 0.00 NA 0.00
coef_number_of_driving_age_children_children-172. 1.21e+05-0.00 NA 0.00
coef_number_of_driving_age_children_mixed 185. NA NA[***] 293.31 0.00
coef_number_of_full_time_workers_adults 185. NA NA[***] 216.30 0.00
coef_number_of_full_time_workers_mixed 50.9 3.72e+03 0.01 NA 0.00
coef_number_of_non_workers_adults 40.0 NA NA[] 0.00 0.00
coef_number_of_non_workers_mixed-96.4 2.02e+05-0.00 NA 0.00
coef_number_of_part_time_workers_adults 47.1 NA NA[] 0.00 0.00
coef_number_of_part_time_workers_mixed 59.0 4.19e+03 0.01 NA 0.00
coef_number_of_pre_driving_age_children_children 12.7 1.41e+04 0.00 NA 0.00
coef_number_of_pre_driving_age_children_mixed 159. 2.22e+04 0.01 NA 0.00
coef_number_of_university_students-5.01 0.00 NA[] 0.00 0.00
coef_tour_purpose_is_discretionary_adults 0.765 0.00 NA[] 0.00 0.00
coef_tour_purpose_is_discretionary_children 0.510 0.00 NA[] 0.00 0.00
coef_tour_purpose_is_eating_out_children-0.968 0.00 NA[] 0.00 0.00
coef_tour_purpose_is_eating_out_mixed-0.803 0.00 NA[] 0.00 0.00
coef_unavailable-999. NA NA NA 0.00fixed value
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_asc_children 6.74 NA NA 0.00
coef_asc_mixed 6.89 NA NA 0.00
coef_household_has_more_cars_than_workers_adults 3.14 1.19 2.64** 0.00
coef_household_has_more_cars_than_workers_mixed 0.384 0.275 1.40 0.00
coef_household_in_suburban_area_adults-1.12 NA NA 0.00
coef_household_in_suburban_area_mixed 0.258 0.272 0.95 0.00
coef_household_in_urban_area-0.442 NA NA 0.00
coef_log_max_overlap_of_adults_time_windows 1.29 0.921 1.40 0.00
coef_log_max_overlap_of_childrens_time_windows 1.78 0.379 4.71*** 0.00
coef_log_max_overlap_of_time_windows 1.51 0.376 4.00*** 0.00
coef_low_income_households_adults 2.52 1.01 2.48* 0.00
coef_low_income_households_mixed 0.683 0.345 1.98* 0.00
coef_medium_income_households 1.85 0.782 2.37* 0.00
coef_number_of_children_too_young_for_school_children 0.661 0.684 0.97 0.00
coef_number_of_children_too_young_for_school_mixed 1.07 0.653 1.63 0.00
coef_number_of_driving_age_children_children 0.647 0.901 0.72 0.00
coef_number_of_driving_age_children_mixed 0.495 0.870 0.57 0.00
coef_number_of_full_time_workers_adults 1.64 0.455 3.60*** 0.00
coef_number_of_full_time_workers_mixed 0.107 0.175 0.61 0.00
coef_number_of_non_workers_adults 0.345 0.455 0.76 0.00
coef_number_of_non_workers_mixed-0.0679 0.175-0.39 0.00
coef_number_of_part_time_workers_adults 0.0947 0.789 0.12 0.00
coef_number_of_part_time_workers_mixed 0.182 0.227 0.80 0.00
coef_number_of_pre_driving_age_children_children 0.257 0.503 0.51 0.00
coef_number_of_pre_driving_age_children_mixed 0.311 0.475 0.66 0.00
coef_number_of_university_students 0.0675 0.499 0.14 0.00
coef_tour_purpose_is_discretionary_adults 0.765 0.00 NA 0.00
coef_tour_purpose_is_discretionary_children 0.510 0.00 NA 0.00
coef_tour_purpose_is_eating_out_children-0.968 0.00 NA 0.00
coef_tour_purpose_is_eating_out_mixed-0.803 0.00 NA 0.00
coef_unavailable-999. 0.00 NA 0.00fixed value
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -2542,18 +2570,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -2611,13 +2628,13 @@ " \n", " 1\n", " coef_asc_children\n", - " 121.627746\n", + " 6.744041\n", " F\n", " \n", " \n", " 2\n", " coef_asc_mixed\n", - " -88.249613\n", + " 6.886657\n", " fF\n", " \n", " \n", @@ -2647,145 +2664,145 @@ " \n", " 7\n", " coef_number_of_full_time_workers_adults\n", - " 185.490311\n", + " 1.638383\n", " F\n", " \n", " \n", " 8\n", " coef_number_of_full_time_workers_mixed\n", - " 50.943193\n", + " 0.106573\n", " F\n", " \n", " \n", " 9\n", " coef_number_of_part_time_workers_adults\n", - " 47.088158\n", + " 0.094715\n", " F\n", " \n", " \n", " 10\n", " coef_number_of_part_time_workers_mixed\n", - " 58.958712\n", + " 0.182067\n", " F\n", " \n", " \n", " 11\n", " coef_number_of_university_students\n", - " -5.007830\n", + " 0.067485\n", " F\n", " \n", " \n", " 12\n", " coef_number_of_non_workers_adults\n", - " 40.041010\n", + " 0.344889\n", " F\n", " \n", " \n", " 13\n", " coef_number_of_non_workers_mixed\n", - " -96.438666\n", + " -0.067851\n", " F\n", " \n", " \n", " 14\n", " coef_number_of_children_too_young_for_school_c...\n", - " -110.048280\n", + " 0.661222\n", " F\n", " \n", " \n", " 15\n", " coef_number_of_children_too_young_for_school_m...\n", - " 9.539326\n", + " 1.065525\n", " F\n", " \n", " \n", " 16\n", " coef_number_of_pre_driving_age_children_children\n", - " 12.678858\n", + " 0.256545\n", " F\n", " \n", " \n", " 17\n", " coef_number_of_pre_driving_age_children_mixed\n", - " 158.960267\n", + " 0.311384\n", " F\n", " \n", " \n", " 18\n", " coef_number_of_driving_age_children_children\n", - " -172.311937\n", + " 0.646806\n", " F\n", " \n", " \n", " 19\n", " coef_number_of_driving_age_children_mixed\n", - " 184.761407\n", + " 0.494992\n", " F\n", " \n", " \n", " 20\n", " coef_low_income_households_adults\n", - " -16.894954\n", + " 2.520875\n", " F\n", " \n", " \n", " 21\n", " coef_low_income_households_mixed\n", - " -3.143593\n", + " 0.683195\n", " F\n", " \n", " \n", " 22\n", " coef_medium_income_households\n", - " -161.727385\n", + " 1.853225\n", " F\n", " \n", " \n", " 23\n", " coef_household_has_more_cars_than_workers_adults\n", - " -40.894264\n", + " 3.138920\n", " F\n", " \n", " \n", " 24\n", " coef_household_has_more_cars_than_workers_mixed\n", - " 153.815203\n", + " 0.384250\n", " F\n", " \n", " \n", " 25\n", " coef_household_in_urban_area\n", - " -21.823334\n", + " -0.441828\n", " F\n", " \n", " \n", " 26\n", " coef_household_in_suburban_area_adults\n", - " 0.510500\n", + " -1.123570\n", " F\n", " \n", " \n", " 27\n", " coef_household_in_suburban_area_mixed\n", - " 0.128300\n", + " 0.258299\n", " F\n", " \n", " \n", " 28\n", " coef_log_max_overlap_of_adults_time_windows\n", - " -36.285976\n", + " 1.288269\n", " F\n", " \n", " \n", " 29\n", " coef_log_max_overlap_of_childrens_time_windows\n", - " 283.696667\n", + " 1.783892\n", " F\n", " \n", " \n", " 30\n", " coef_log_max_overlap_of_time_windows\n", - " 196.728573\n", + " 1.505521\n", " F\n", " \n", " \n", @@ -2795,36 +2812,36 @@ "text/plain": [ " coefficient_name value constrain\n", "0 coef_unavailable -999.000000 T\n", - "1 coef_asc_children 121.627746 F\n", - "2 coef_asc_mixed -88.249613 fF\n", + "1 coef_asc_children 6.744041 F\n", + "2 coef_asc_mixed 6.886657 fF\n", "3 coef_tour_purpose_is_eating_out_children -0.967800 F\n", "4 coef_tour_purpose_is_eating_out_mixed -0.802700 F\n", "5 coef_tour_purpose_is_discretionary_adults 0.764800 F\n", "6 coef_tour_purpose_is_discretionary_children 0.510100 F\n", - "7 coef_number_of_full_time_workers_adults 185.490311 F\n", - "8 coef_number_of_full_time_workers_mixed 50.943193 F\n", - "9 coef_number_of_part_time_workers_adults 47.088158 F\n", - "10 coef_number_of_part_time_workers_mixed 58.958712 F\n", - "11 coef_number_of_university_students -5.007830 F\n", - "12 coef_number_of_non_workers_adults 40.041010 F\n", - "13 coef_number_of_non_workers_mixed -96.438666 F\n", - "14 coef_number_of_children_too_young_for_school_c... -110.048280 F\n", - "15 coef_number_of_children_too_young_for_school_m... 9.539326 F\n", - "16 coef_number_of_pre_driving_age_children_children 12.678858 F\n", - "17 coef_number_of_pre_driving_age_children_mixed 158.960267 F\n", - "18 coef_number_of_driving_age_children_children -172.311937 F\n", - "19 coef_number_of_driving_age_children_mixed 184.761407 F\n", - "20 coef_low_income_households_adults -16.894954 F\n", - "21 coef_low_income_households_mixed -3.143593 F\n", - "22 coef_medium_income_households -161.727385 F\n", - "23 coef_household_has_more_cars_than_workers_adults -40.894264 F\n", - "24 coef_household_has_more_cars_than_workers_mixed 153.815203 F\n", - "25 coef_household_in_urban_area -21.823334 F\n", - "26 coef_household_in_suburban_area_adults 0.510500 F\n", - "27 coef_household_in_suburban_area_mixed 0.128300 F\n", - "28 coef_log_max_overlap_of_adults_time_windows -36.285976 F\n", - "29 coef_log_max_overlap_of_childrens_time_windows 283.696667 F\n", - "30 coef_log_max_overlap_of_time_windows 196.728573 F" + "7 coef_number_of_full_time_workers_adults 1.638383 F\n", + "8 coef_number_of_full_time_workers_mixed 0.106573 F\n", + "9 coef_number_of_part_time_workers_adults 0.094715 F\n", + "10 coef_number_of_part_time_workers_mixed 0.182067 F\n", + "11 coef_number_of_university_students 0.067485 F\n", + "12 coef_number_of_non_workers_adults 0.344889 F\n", + "13 coef_number_of_non_workers_mixed -0.067851 F\n", + "14 coef_number_of_children_too_young_for_school_c... 0.661222 F\n", + "15 coef_number_of_children_too_young_for_school_m... 1.065525 F\n", + "16 coef_number_of_pre_driving_age_children_children 0.256545 F\n", + "17 coef_number_of_pre_driving_age_children_mixed 0.311384 F\n", + "18 coef_number_of_driving_age_children_children 0.646806 F\n", + "19 coef_number_of_driving_age_children_mixed 0.494992 F\n", + "20 coef_low_income_households_adults 2.520875 F\n", + "21 coef_low_income_households_mixed 0.683195 F\n", + "22 coef_medium_income_households 1.853225 F\n", + "23 coef_household_has_more_cars_than_workers_adults 3.138920 F\n", + "24 coef_household_has_more_cars_than_workers_mixed 0.384250 F\n", + "25 coef_household_in_urban_area -0.441828 F\n", + "26 coef_household_in_suburban_area_adults -1.123570 F\n", + "27 coef_household_in_suburban_area_mixed 0.258299 F\n", + "28 coef_log_max_overlap_of_adults_time_windows 1.288269 F\n", + "29 coef_log_max_overlap_of_childrens_time_windows 1.783892 F\n", + "30 coef_log_max_overlap_of_time_windows 1.505521 F" ] }, "execution_count": 11, @@ -2844,7 +2861,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -2858,7 +2875,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/12_joint_tour_participation.ipynb b/activitysim/examples/example_estimation/notebooks/12_joint_tour_participation.ipynb index 22eb78efae..6aa4c7d142 100644 --- a/activitysim/examples/example_estimation/notebooks/12_joint_tour_participation.ipynb +++ b/activitysim/examples/example_estimation/notebooks/12_joint_tour_participation.ipynb @@ -34,27 +34,75 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +116,27 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/joint_tour_participation/joint_tour_participation_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/joint_tour_participation/joint_tour_participation_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_participation/joint_tour_participation_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"joint_tour_participation\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -794,14 +857,14 @@ " \n", " \n", " \n", - " 778529801\n", + " 785368601\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -812,20 +875,20 @@ " True\n", " False\n", " False\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 778529802\n", + " 785368602\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -836,20 +899,20 @@ " True\n", " False\n", " False\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 870845401\n", + " 790231801\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -860,20 +923,20 @@ " True\n", " False\n", " False\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 870845402\n", + " 790231802\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -884,20 +947,20 @@ " True\n", " False\n", " False\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 971500601\n", + " 790977601\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -910,7 +973,7 @@ " False\n", " False\n", " False\n", - " False\n", + " True\n", " 1\n", " \n", " \n", @@ -938,10 +1001,9 @@ " ...\n", " \n", " \n", - " 29881474102\n", - " 0\n", - " 0\n", - " 0.0\n", + " 30524624502\n", + " 1\n", + " 1\n", " 1.0\n", " 0.0\n", " 0.0\n", @@ -949,25 +1011,26 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 0.0\n", " ...\n", " False\n", " False\n", " False\n", - " True\n", " False\n", " False\n", + " True\n", " False\n", " True\n", " False\n", - " 1\n", + " 2\n", " \n", " \n", - " 30181098001\n", - " 1\n", - " 1\n", - " 0.0\n", + " 30524624503\n", + " 0\n", + " 0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -977,21 +1040,21 @@ " False\n", " False\n", " False\n", - " True\n", " False\n", " False\n", + " True\n", " False\n", " True\n", " False\n", - " 2\n", + " 1\n", " \n", " \n", - " 30181098002\n", + " 30524624504\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1001,22 +1064,22 @@ " False\n", " False\n", " False\n", - " True\n", " False\n", " False\n", + " True\n", " False\n", " True\n", " False\n", " 1\n", " \n", " \n", - " 30181098003\n", + " 30524624505\n", " 0\n", " 0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1025,16 +1088,16 @@ " False\n", " False\n", " False\n", - " True\n", " False\n", " False\n", + " True\n", " False\n", " True\n", " False\n", " 1\n", " \n", " \n", - " 30181098004\n", + " 30524624506\n", " 0\n", " 0\n", " 0.0\n", @@ -1044,14 +1107,14 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " 1.0\n", " ...\n", + " True\n", " False\n", " False\n", " False\n", - " True\n", - " False\n", " False\n", + " True\n", " False\n", " True\n", " False\n", @@ -1059,193 +1122,193 @@ " \n", " \n", "\n", - "

304 rows × 226 columns

\n", + "

4500 rows × 226 columns

\n", "" ], "text/plain": [ " model_choice override_choice \\\n", "participant_id \n", - "778529801 0 0 \n", - "778529802 0 0 \n", - "870845401 0 0 \n", - "870845402 0 0 \n", - "971500601 0 0 \n", + "785368601 0 0 \n", + "785368602 0 0 \n", + "790231801 0 0 \n", + "790231802 0 0 \n", + "790977601 0 0 \n", "... ... ... \n", - "29881474102 0 0 \n", - "30181098001 1 1 \n", - "30181098002 0 0 \n", - "30181098003 0 0 \n", - "30181098004 0 0 \n", + "30524624502 1 1 \n", + "30524624503 0 0 \n", + "30524624504 0 0 \n", + "30524624505 0 0 \n", + "30524624506 0 0 \n", "\n", " util_full_time_worker_mixed_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 0.0 \n", + "785368602 0.0 \n", + "790231801 0.0 \n", + "790231802 0.0 \n", + "790977601 0.0 \n", "... ... \n", - "29881474102 0.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 1.0 \n", + "30524624503 0.0 \n", + "30524624504 0.0 \n", + "30524624505 0.0 \n", + "30524624506 0.0 \n", "\n", " util_part_time_worker_adults_only_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 0.0 \n", + "785368602 0.0 \n", + "790231801 0.0 \n", + "790231802 0.0 \n", + "790977601 0.0 \n", "... ... \n", - "29881474102 1.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 0.0 \n", + "30524624503 0.0 \n", + "30524624504 0.0 \n", + "30524624505 0.0 \n", + "30524624506 0.0 \n", "\n", " util_part_time_worker_mixed_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 0.0 \n", + "785368602 0.0 \n", + "790231801 0.0 \n", + "790231802 0.0 \n", + "790977601 0.0 \n", "... ... \n", - "29881474102 0.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 0.0 \n", + "30524624503 1.0 \n", + "30524624504 1.0 \n", + "30524624505 0.0 \n", + "30524624506 0.0 \n", "\n", " util_university_student_mixed_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 0.0 \n", + "785368602 0.0 \n", + "790231801 0.0 \n", + "790231802 0.0 \n", + "790977601 0.0 \n", "... ... \n", - "29881474102 0.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 0.0 \n", + "30524624503 0.0 \n", + "30524624504 0.0 \n", + "30524624505 1.0 \n", + "30524624506 0.0 \n", "\n", " util_non_worker_adults_only_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 1.0 \n", + "785368602 1.0 \n", + "790231801 1.0 \n", + "790231802 1.0 \n", + "790977601 1.0 \n", "... ... \n", - "29881474102 0.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 0.0 \n", + "30524624503 0.0 \n", + "30524624504 0.0 \n", + "30524624505 0.0 \n", + "30524624506 0.0 \n", "\n", " util_non_worker_mixed_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 0.0 \n", + "785368602 0.0 \n", + "790231801 0.0 \n", + "790231802 0.0 \n", + "790977601 0.0 \n", "... ... \n", - "29881474102 0.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 0.0 \n", + "30524624503 0.0 \n", + "30524624504 0.0 \n", + "30524624505 0.0 \n", + "30524624506 0.0 \n", "\n", " util_child_too_young_for_school_children_only_party \\\n", "participant_id \n", - "778529801 0.0 \n", - "778529802 0.0 \n", - "870845401 0.0 \n", - "870845402 0.0 \n", - "971500601 0.0 \n", + "785368601 0.0 \n", + "785368602 0.0 \n", + "790231801 0.0 \n", + "790231802 0.0 \n", + "790977601 0.0 \n", "... ... \n", - "29881474102 0.0 \n", - "30181098001 0.0 \n", - "30181098002 0.0 \n", - "30181098003 0.0 \n", - "30181098004 0.0 \n", + "30524624502 0.0 \n", + "30524624503 0.0 \n", + "30524624504 0.0 \n", + "30524624505 0.0 \n", + "30524624506 0.0 \n", "\n", " util_child_too_young_for_school_mixed_party ... \\\n", "participant_id ... \n", - "778529801 0.0 ... \n", - "778529802 0.0 ... \n", - "870845401 0.0 ... \n", - "870845402 0.0 ... \n", - "971500601 0.0 ... \n", + "785368601 0.0 ... \n", + "785368602 0.0 ... \n", + "790231801 0.0 ... \n", + "790231802 0.0 ... \n", + "790977601 0.0 ... \n", "... ... ... \n", - "29881474102 0.0 ... \n", - "30181098001 0.0 ... \n", - "30181098002 0.0 ... \n", - "30181098003 0.0 ... \n", - "30181098004 0.0 ... \n", + "30524624502 0.0 ... \n", + "30524624503 0.0 ... \n", + "30524624504 0.0 ... \n", + "30524624505 0.0 ... \n", + "30524624506 1.0 ... \n", "\n", " person_is_preschool tour_type_is_eat tour_type_is_disc \\\n", "participant_id \n", - "778529801 False False False \n", - "778529802 False False False \n", - "870845401 False False False \n", - "870845402 False False False \n", - "971500601 False False False \n", + "785368601 False False False \n", + "785368602 False False False \n", + "790231801 False False False \n", + "790231802 False False False \n", + "790977601 False False False \n", "... ... ... ... \n", - "29881474102 False False False \n", - "30181098001 False False False \n", - "30181098002 False False False \n", - "30181098003 False False False \n", - "30181098004 False False False \n", + "30524624502 False False False \n", + "30524624503 False False False \n", + "30524624504 False False False \n", + "30524624505 False False False \n", + "30524624506 True False False \n", "\n", " tour_composition_is_adults tour_composition_is_children \\\n", "participant_id \n", - "778529801 True False \n", - "778529802 True False \n", - "870845401 True False \n", - "870845402 True False \n", - "971500601 True False \n", + "785368601 True False \n", + "785368602 True False \n", + "790231801 True False \n", + "790231802 True False \n", + "790977601 True False \n", "... ... ... \n", - "29881474102 True False \n", - "30181098001 True False \n", - "30181098002 True False \n", - "30181098003 True False \n", - "30181098004 True False \n", + "30524624502 False False \n", + "30524624503 False False \n", + "30524624504 False False \n", + "30524624505 False False \n", + "30524624506 False False \n", "\n", " tour_composition_is_mixed home_is_suburban high_income \\\n", "participant_id \n", - "778529801 False False False \n", - "778529802 False False False \n", - "870845401 False False False \n", - "870845402 False False False \n", - "971500601 False False False \n", + "785368601 False True False \n", + "785368602 False True False \n", + "790231801 False True False \n", + "790231802 False True False \n", + "790977601 False False False \n", "... ... ... ... \n", - "29881474102 False False True \n", - "30181098001 False False True \n", - "30181098002 False False True \n", - "30181098003 False False True \n", - "30181098004 False False True \n", + "30524624502 True False True \n", + "30524624503 True False True \n", + "30524624504 True False True \n", + "30524624505 True False True \n", + "30524624506 True False True \n", "\n", " more_cars_than_workers override_choice_code \n", "participant_id \n", - "778529801 False 1 \n", - "778529802 False 1 \n", - "870845401 False 1 \n", - "870845402 False 1 \n", - "971500601 False 1 \n", + "785368601 True 1 \n", + "785368602 True 1 \n", + "790231801 True 1 \n", + "790231802 True 1 \n", + "790977601 True 1 \n", "... ... ... \n", - "29881474102 False 1 \n", - "30181098001 False 2 \n", - "30181098002 False 1 \n", - "30181098003 False 1 \n", - "30181098004 False 1 \n", + "30524624502 False 2 \n", + "30524624503 False 1 \n", + "30524624504 False 1 \n", + "30524624505 False 1 \n", + "30524624506 False 1 \n", "\n", - "[304 rows x 226 columns]" + "[4500 rows x 226 columns]" ] }, "execution_count": 6, @@ -1271,17 +1334,10 @@ "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 112 [Optimization terminated successfully]

" + "

Iteration 080 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1293,7 +1349,7 @@ { "data": { "text/html": [ - "

Best LL = -61.383086448632596

" + "

Best LL = -1240.495238444391

" ], "text/plain": [ "" @@ -1324,913 +1380,867 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_adult_log_of_max_window_overlap_with_a_child_mixed\n", - " 4.595737\n", + " 2.125116\n", + " 2.125116\n", " 2.18900\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4.595737\n", " \n", " \n", " coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party\n", - " 1.692145\n", + " 1.280678\n", + " 1.280678\n", " 0.84360\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.692145\n", " \n", " \n", " coef_adult_more_automobiles_than_workers_adult_only_party\n", - " 0.311671\n", + " 0.121220\n", + " 0.121220\n", " -0.21330\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.311671\n", " \n", " \n", " coef_adult_more_automobiles_than_workers_mixed_party\n", - " -1.827740\n", + " -0.591966\n", + " -0.591966\n", " -0.60310\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.827740\n", " \n", " \n", " coef_adult_number_of_joint_tours_adult_only\n", - " -2.134054\n", + " -0.794091\n", + " -0.794091\n", " -0.32420\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.134054\n", " \n", " \n", " coef_adult_number_of_joint_tours_mixed\n", - " -28.572220\n", + " -1.417451\n", + " -1.417451\n", " -0.35840\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -28.572220\n", " \n", " \n", " coef_adult_number_of_other_adults_in_the_household_adults_only_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_adult_number_of_other_adults_in_the_household_mixed_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_child_log_of_max_window_overlap_with_a_child_child\n", - " 1.275585\n", + " 1.296000\n", + " 1.296000\n", " 1.29600\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.275585\n", " \n", " \n", " coef_child_log_of_max_window_overlap_with_an_adult_mixed\n", - " 1.539267\n", + " 1.538000\n", + " 1.538000\n", " 1.53800\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.539267\n", " \n", " \n", " coef_child_more_automobiles_than_workers_child_only_party\n", - " -0.394683\n", + " -0.421400\n", + " -0.421400\n", " -0.42140\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.394683\n", " \n", " \n", " coef_child_more_automobiles_than_workers_mixed_party\n", - " -1.551914\n", + " -0.366466\n", + " -0.366466\n", " -0.37760\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.551914\n", " \n", " \n", " coef_child_number_of_joint_tours_child_only\n", - " 4.977604\n", + " 0.866122\n", + " 0.866122\n", " 0.10470\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4.977604\n", " \n", " \n", " coef_child_number_of_joint_tours_mixed\n", - " 17.894892\n", + " -0.261747\n", + " -0.261747\n", " -0.50890\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 17.894892\n", " \n", " \n", " coef_child_number_of_other_children_in_the_household_child_only_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_child_number_of_other_children_in_the_household_mixed\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_child_too_young_for_school_children_only_party\n", - " -2.785631\n", + " -1.149596\n", + " -1.149596\n", " -2.78600\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.785631\n", " \n", " \n", " coef_child_too_young_for_school_mixed_party\n", - " 2.069934\n", + " 0.197836\n", + " 0.197836\n", " -1.89300\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.069934\n", " \n", " \n", " coef_child_too_young_for_school_specific_to_discretionary_joint_tours\n", - " 0.128371\n", + " 0.128400\n", + " 0.128400\n", " 0.12840\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.128371\n", " \n", " \n", " coef_child_too_young_for_school_specific_to_eating_out_joint_tours\n", - " 0.658655\n", + " 0.658900\n", + " 0.658900\n", " 0.65890\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.658655\n", " \n", " \n", " coef_driving_age_student_children_only_party\n", - " -1.822000\n", + " -2.120496\n", + " -2.120496\n", " -1.82200\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.822000\n", " \n", " \n", " coef_driving_age_student_mixed_party\n", - " -28.998969\n", + " 0.322986\n", + " 0.322986\n", " -1.35300\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -28.998969\n", " \n", " \n", " coef_driving_age_student_specific_to_discretionary_joint_tours\n", " -0.667500\n", + " -0.667500\n", " -0.66750\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.667500\n", " \n", " \n", " coef_driving_age_student_specific_to_eating_out_joint_tours\n", " 2.344000\n", + " 2.344000\n", " 2.34400\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.344000\n", " \n", " \n", " coef_dummy_for_high_income_for_adult_in_adult_party\n", - " 0.131783\n", + " -0.068202\n", + " -0.068202\n", " -0.16820\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.131783\n", " \n", " \n", " coef_dummy_for_high_income_for_adult_in_mixed_party\n", - " -0.378918\n", + " 0.112930\n", + " 0.112930\n", " -0.02613\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.378918\n", " \n", " \n", " coef_dummy_for_high_income_for_child_in_children_party\n", - " -0.561900\n", + " -0.211892\n", + " -0.211892\n", " -0.56190\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.561900\n", " \n", " \n", " coef_dummy_for_high_income_for_child_in_mixed_party\n", - " -0.513571\n", + " -0.013740\n", + " -0.013740\n", " -0.15280\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.513571\n", " \n", " \n", " coef_full_time_worker_mixed_party\n", - " -957.202749\n", + " -3.527365\n", + " -3.527365\n", " -3.56600\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -957.202749\n", " \n", " \n", " coef_full_time_worker_mixed_party_not\n", " 0.500000\n", + " 0.500000\n", " 0.50000\n", + " 0.5\n", + " 0.5\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " 0.500000\n", " \n", " \n", " coef_full_time_worker_specific_to_discretionary_joint_tours\n", " 0.439200\n", + " 0.439200\n", " 0.43920\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.439200\n", " \n", " \n", " coef_full_time_worker_specific_to_discretionary_joint_tours_not\n", " 0.500000\n", + " 0.500000\n", " 0.50000\n", + " 0.5\n", + " 0.5\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " 0.500000\n", " \n", " \n", " coef_full_time_worker_specific_to_eating_out_joint_tours\n", " 0.715700\n", + " 0.715700\n", " 0.71570\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.715700\n", " \n", " \n", " coef_full_time_worker_specific_to_eating_out_joint_tours_not\n", " 0.500000\n", + " 0.500000\n", " 0.50000\n", + " 0.5\n", + " 0.5\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " 0.500000\n", " \n", " \n", " coef_household_in_suburban_area_adult_adult_only_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_household_in_suburban_area_adult_mixed_party\n", - " -0.060070\n", + " 1.239881\n", + " 1.239881\n", " -0.06007\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.060070\n", " \n", " \n", " coef_household_in_suburban_area_child_child_only_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_household_in_suburban_area_child_mixed_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_household_in_urban_area_adult_adult_only_party\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_household_in_urban_area_adult_mixed_party\n", - " 978.504490\n", + " 1.204039\n", + " 1.204039\n", " -0.13700\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 978.504490\n", " \n", " \n", " coef_household_in_urban_area_child_child_only_party\n", - " 6.082784\n", + " -0.145369\n", + " -0.145369\n", " 1.21000\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 6.082784\n", " \n", " \n", " coef_household_in_urban_area_child_mixed_party\n", - " -19.290030\n", + " -0.138857\n", + " -0.138857\n", " 0.62650\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -19.290030\n", " \n", " \n", " coef_non_worker_adults_only_party\n", - " -4.080384\n", + " -3.161945\n", + " -3.161945\n", " -3.16400\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.080384\n", " \n", " \n", " coef_non_worker_mixed_party\n", - " -125.288137\n", + " 1.059162\n", + " 1.059162\n", " 0.71520\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -125.288137\n", " \n", " \n", " coef_non_worker_specific_to_discretionary_joint_tours\n", " -0.183500\n", + " -0.183500\n", " -0.18350\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.183500\n", " \n", " \n", " coef_non_worker_specific_to_eating_out_joint_tours\n", " 0.161700\n", + " 0.161700\n", " 0.16170\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.161700\n", " \n", " \n", " coef_part_time_worker_adults_only_party\n", - " -3.248302\n", + " -3.631928\n", + " -3.631928\n", " -3.56600\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3.248302\n", " \n", " \n", " coef_part_time_worker_adults_only_party_not\n", " 0.500000\n", + " 0.500000\n", " 0.50000\n", + " 0.5\n", + " 0.5\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " 0.500000\n", " \n", " \n", " coef_part_time_worker_mixed_party\n", - " 2254.660944\n", + " -0.447984\n", + " -0.447984\n", " -0.36550\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2254.660944\n", " \n", " \n", " coef_part_time_worker_specific_to_discretionary_joint_tours\n", " 0.285000\n", + " 0.285000\n", " 0.28500\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.285000\n", " \n", " \n", " coef_part_time_worker_specific_to_eating_out_joint_tours\n", " 2.188000\n", + " 2.188000\n", " 2.18800\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.188000\n", " \n", " \n", " coef_pre_driving_age_student_children_only_party\n", - " 4.151085\n", + " 0.991812\n", + " 0.991812\n", " -0.72170\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4.151085\n", " \n", " \n", " coef_pre_driving_age_student_mixed_party\n", - " 2.007228\n", + " -0.073175\n", + " -0.073175\n", " -1.75200\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.007228\n", " \n", " \n", " coef_pre_driving_age_student_specific_to_discretionary_joint_tours\n", " 0.662600\n", + " 0.662600\n", " 0.66260\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.662600\n", " \n", " \n", " coef_pre_driving_age_student_specific_to_eating_out_joint_tours\n", " 1.391000\n", + " 1.391000\n", " 1.39100\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.391000\n", " \n", " \n", " coef_unavailable\n", " -999.000000\n", + " -999.000000\n", " -999.00000\n", + " -999.0\n", + " -999.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_university_student_mixed_party\n", - " -958.612314\n", + " -2.902637\n", + " -2.902637\n", " -3.04100\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -958.612314\n", " \n", " \n", " coef_university_student_specific_to_discretionary_joint_tours\n", " 0.000000\n", + " 0.000000\n", " 0.00000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_university_student_specific_to_eating_out_joint_tours\n", " -0.820000\n", + " -0.820000\n", " -0.82000\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.820000\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_adult_log_of_max_window_overlap_with_a_chi... 4.595737 2.18900 \n", - "coef_adult_log_of_max_window_overlap_with_an_ad... 1.692145 0.84360 \n", - "coef_adult_more_automobiles_than_workers_adult_... 0.311671 -0.21330 \n", - "coef_adult_more_automobiles_than_workers_mixed_... -1.827740 -0.60310 \n", - "coef_adult_number_of_joint_tours_adult_only -2.134054 -0.32420 \n", - "coef_adult_number_of_joint_tours_mixed -28.572220 -0.35840 \n", - "coef_adult_number_of_other_adults_in_the_househ... 0.000000 0.00000 \n", - "coef_adult_number_of_other_adults_in_the_househ... 0.000000 0.00000 \n", - "coef_child_log_of_max_window_overlap_with_a_chi... 1.275585 1.29600 \n", - "coef_child_log_of_max_window_overlap_with_an_ad... 1.539267 1.53800 \n", - "coef_child_more_automobiles_than_workers_child_... -0.394683 -0.42140 \n", - "coef_child_more_automobiles_than_workers_mixed_... -1.551914 -0.37760 \n", - "coef_child_number_of_joint_tours_child_only 4.977604 0.10470 \n", - "coef_child_number_of_joint_tours_mixed 17.894892 -0.50890 \n", - "coef_child_number_of_other_children_in_the_hous... 0.000000 0.00000 \n", - "coef_child_number_of_other_children_in_the_hous... 0.000000 0.00000 \n", - "coef_child_too_young_for_school_children_only_p... -2.785631 -2.78600 \n", - "coef_child_too_young_for_school_mixed_party 2.069934 -1.89300 \n", - "coef_child_too_young_for_school_specific_to_dis... 0.128371 0.12840 \n", - "coef_child_too_young_for_school_specific_to_eat... 0.658655 0.65890 \n", - "coef_driving_age_student_children_only_party -1.822000 -1.82200 \n", - "coef_driving_age_student_mixed_party -28.998969 -1.35300 \n", - "coef_driving_age_student_specific_to_discretion... -0.667500 -0.66750 \n", - "coef_driving_age_student_specific_to_eating_out... 2.344000 2.34400 \n", - "coef_dummy_for_high_income_for_adult_in_adult_p... 0.131783 -0.16820 \n", - "coef_dummy_for_high_income_for_adult_in_mixed_p... -0.378918 -0.02613 \n", - "coef_dummy_for_high_income_for_child_in_childre... -0.561900 -0.56190 \n", - "coef_dummy_for_high_income_for_child_in_mixed_p... -0.513571 -0.15280 \n", - "coef_full_time_worker_mixed_party -957.202749 -3.56600 \n", - "coef_full_time_worker_mixed_party_not 0.500000 0.50000 \n", - "coef_full_time_worker_specific_to_discretionary... 0.439200 0.43920 \n", - "coef_full_time_worker_specific_to_discretionary... 0.500000 0.50000 \n", - "coef_full_time_worker_specific_to_eating_out_jo... 0.715700 0.71570 \n", - "coef_full_time_worker_specific_to_eating_out_jo... 0.500000 0.50000 \n", - "coef_household_in_suburban_area_adult_adult_onl... 0.000000 0.00000 \n", - "coef_household_in_suburban_area_adult_mixed_party -0.060070 -0.06007 \n", - "coef_household_in_suburban_area_child_child_onl... 0.000000 0.00000 \n", - "coef_household_in_suburban_area_child_mixed_party 0.000000 0.00000 \n", - "coef_household_in_urban_area_adult_adult_only_p... 0.000000 0.00000 \n", - "coef_household_in_urban_area_adult_mixed_party 978.504490 -0.13700 \n", - "coef_household_in_urban_area_child_child_only_p... 6.082784 1.21000 \n", - "coef_household_in_urban_area_child_mixed_party -19.290030 0.62650 \n", - "coef_non_worker_adults_only_party -4.080384 -3.16400 \n", - "coef_non_worker_mixed_party -125.288137 0.71520 \n", - "coef_non_worker_specific_to_discretionary_joint... -0.183500 -0.18350 \n", - "coef_non_worker_specific_to_eating_out_joint_tours 0.161700 0.16170 \n", - "coef_part_time_worker_adults_only_party -3.248302 -3.56600 \n", - "coef_part_time_worker_adults_only_party_not 0.500000 0.50000 \n", - "coef_part_time_worker_mixed_party 2254.660944 -0.36550 \n", - "coef_part_time_worker_specific_to_discretionary... 0.285000 0.28500 \n", - "coef_part_time_worker_specific_to_eating_out_jo... 2.188000 2.18800 \n", - "coef_pre_driving_age_student_children_only_party 4.151085 -0.72170 \n", - "coef_pre_driving_age_student_mixed_party 2.007228 -1.75200 \n", - "coef_pre_driving_age_student_specific_to_discre... 0.662600 0.66260 \n", - "coef_pre_driving_age_student_specific_to_eating... 1.391000 1.39100 \n", - "coef_unavailable -999.000000 -999.00000 \n", - "coef_university_student_mixed_party -958.612314 -3.04100 \n", - "coef_university_student_specific_to_discretiona... 0.000000 0.00000 \n", - "coef_university_student_specific_to_eating_out_... -0.820000 -0.82000 \n", + " value best \\\n", + "param_name \n", + "coef_adult_log_of_max_window_overlap_with_a_chi... 2.125116 2.125116 \n", + "coef_adult_log_of_max_window_overlap_with_an_ad... 1.280678 1.280678 \n", + "coef_adult_more_automobiles_than_workers_adult_... 0.121220 0.121220 \n", + "coef_adult_more_automobiles_than_workers_mixed_... -0.591966 -0.591966 \n", + "coef_adult_number_of_joint_tours_adult_only -0.794091 -0.794091 \n", + "coef_adult_number_of_joint_tours_mixed -1.417451 -1.417451 \n", + "coef_adult_number_of_other_adults_in_the_househ... 0.000000 0.000000 \n", + "coef_adult_number_of_other_adults_in_the_househ... 0.000000 0.000000 \n", + "coef_child_log_of_max_window_overlap_with_a_chi... 1.296000 1.296000 \n", + "coef_child_log_of_max_window_overlap_with_an_ad... 1.538000 1.538000 \n", + "coef_child_more_automobiles_than_workers_child_... -0.421400 -0.421400 \n", + "coef_child_more_automobiles_than_workers_mixed_... -0.366466 -0.366466 \n", + "coef_child_number_of_joint_tours_child_only 0.866122 0.866122 \n", + "coef_child_number_of_joint_tours_mixed -0.261747 -0.261747 \n", + "coef_child_number_of_other_children_in_the_hous... 0.000000 0.000000 \n", + "coef_child_number_of_other_children_in_the_hous... 0.000000 0.000000 \n", + "coef_child_too_young_for_school_children_only_p... -1.149596 -1.149596 \n", + "coef_child_too_young_for_school_mixed_party 0.197836 0.197836 \n", + "coef_child_too_young_for_school_specific_to_dis... 0.128400 0.128400 \n", + "coef_child_too_young_for_school_specific_to_eat... 0.658900 0.658900 \n", + "coef_driving_age_student_children_only_party -2.120496 -2.120496 \n", + "coef_driving_age_student_mixed_party 0.322986 0.322986 \n", + "coef_driving_age_student_specific_to_discretion... -0.667500 -0.667500 \n", + "coef_driving_age_student_specific_to_eating_out... 2.344000 2.344000 \n", + "coef_dummy_for_high_income_for_adult_in_adult_p... -0.068202 -0.068202 \n", + "coef_dummy_for_high_income_for_adult_in_mixed_p... 0.112930 0.112930 \n", + "coef_dummy_for_high_income_for_child_in_childre... -0.211892 -0.211892 \n", + "coef_dummy_for_high_income_for_child_in_mixed_p... -0.013740 -0.013740 \n", + "coef_full_time_worker_mixed_party -3.527365 -3.527365 \n", + "coef_full_time_worker_mixed_party_not 0.500000 0.500000 \n", + "coef_full_time_worker_specific_to_discretionary... 0.439200 0.439200 \n", + "coef_full_time_worker_specific_to_discretionary... 0.500000 0.500000 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 0.715700 0.715700 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 0.500000 0.500000 \n", + "coef_household_in_suburban_area_adult_adult_onl... 0.000000 0.000000 \n", + "coef_household_in_suburban_area_adult_mixed_party 1.239881 1.239881 \n", + "coef_household_in_suburban_area_child_child_onl... 0.000000 0.000000 \n", + "coef_household_in_suburban_area_child_mixed_party 0.000000 0.000000 \n", + "coef_household_in_urban_area_adult_adult_only_p... 0.000000 0.000000 \n", + "coef_household_in_urban_area_adult_mixed_party 1.204039 1.204039 \n", + "coef_household_in_urban_area_child_child_only_p... -0.145369 -0.145369 \n", + "coef_household_in_urban_area_child_mixed_party -0.138857 -0.138857 \n", + "coef_non_worker_adults_only_party -3.161945 -3.161945 \n", + "coef_non_worker_mixed_party 1.059162 1.059162 \n", + "coef_non_worker_specific_to_discretionary_joint... -0.183500 -0.183500 \n", + "coef_non_worker_specific_to_eating_out_joint_tours 0.161700 0.161700 \n", + "coef_part_time_worker_adults_only_party -3.631928 -3.631928 \n", + "coef_part_time_worker_adults_only_party_not 0.500000 0.500000 \n", + "coef_part_time_worker_mixed_party -0.447984 -0.447984 \n", + "coef_part_time_worker_specific_to_discretionary... 0.285000 0.285000 \n", + "coef_part_time_worker_specific_to_eating_out_jo... 2.188000 2.188000 \n", + "coef_pre_driving_age_student_children_only_party 0.991812 0.991812 \n", + "coef_pre_driving_age_student_mixed_party -0.073175 -0.073175 \n", + "coef_pre_driving_age_student_specific_to_discre... 0.662600 0.662600 \n", + "coef_pre_driving_age_student_specific_to_eating... 1.391000 1.391000 \n", + "coef_unavailable -999.000000 -999.000000 \n", + "coef_university_student_mixed_party -2.902637 -2.902637 \n", + "coef_university_student_specific_to_discretiona... 0.000000 0.000000 \n", + "coef_university_student_specific_to_eating_out_... -0.820000 -0.820000 \n", "\n", - " nullvalue minimum \\\n", - "coef_adult_log_of_max_window_overlap_with_a_chi... 0.0 NaN \n", - "coef_adult_log_of_max_window_overlap_with_an_ad... 0.0 NaN \n", - "coef_adult_more_automobiles_than_workers_adult_... 0.0 NaN \n", - "coef_adult_more_automobiles_than_workers_mixed_... 0.0 NaN \n", - "coef_adult_number_of_joint_tours_adult_only 0.0 NaN \n", - "coef_adult_number_of_joint_tours_mixed 0.0 NaN \n", - "coef_adult_number_of_other_adults_in_the_househ... 0.0 NaN \n", - "coef_adult_number_of_other_adults_in_the_househ... 0.0 NaN \n", - "coef_child_log_of_max_window_overlap_with_a_chi... 0.0 NaN \n", - "coef_child_log_of_max_window_overlap_with_an_ad... 0.0 NaN \n", - "coef_child_more_automobiles_than_workers_child_... 0.0 NaN \n", - "coef_child_more_automobiles_than_workers_mixed_... 0.0 NaN \n", - "coef_child_number_of_joint_tours_child_only 0.0 NaN \n", - "coef_child_number_of_joint_tours_mixed 0.0 NaN \n", - "coef_child_number_of_other_children_in_the_hous... 0.0 NaN \n", - "coef_child_number_of_other_children_in_the_hous... 0.0 NaN \n", - "coef_child_too_young_for_school_children_only_p... 0.0 NaN \n", - "coef_child_too_young_for_school_mixed_party 0.0 NaN \n", - "coef_child_too_young_for_school_specific_to_dis... 0.0 NaN \n", - "coef_child_too_young_for_school_specific_to_eat... 0.0 NaN \n", - "coef_driving_age_student_children_only_party 0.0 NaN \n", - "coef_driving_age_student_mixed_party 0.0 NaN \n", - "coef_driving_age_student_specific_to_discretion... 0.0 NaN \n", - "coef_driving_age_student_specific_to_eating_out... 0.0 NaN \n", - "coef_dummy_for_high_income_for_adult_in_adult_p... 0.0 NaN \n", - "coef_dummy_for_high_income_for_adult_in_mixed_p... 0.0 NaN \n", - "coef_dummy_for_high_income_for_child_in_childre... 0.0 NaN \n", - "coef_dummy_for_high_income_for_child_in_mixed_p... 0.0 NaN \n", - "coef_full_time_worker_mixed_party 0.0 NaN \n", - "coef_full_time_worker_mixed_party_not 0.0 NaN \n", - "coef_full_time_worker_specific_to_discretionary... 0.0 NaN \n", - "coef_full_time_worker_specific_to_discretionary... 0.0 NaN \n", - "coef_full_time_worker_specific_to_eating_out_jo... 0.0 NaN \n", - "coef_full_time_worker_specific_to_eating_out_jo... 0.0 NaN \n", - "coef_household_in_suburban_area_adult_adult_onl... 0.0 NaN \n", - "coef_household_in_suburban_area_adult_mixed_party 0.0 NaN \n", - "coef_household_in_suburban_area_child_child_onl... 0.0 NaN \n", - "coef_household_in_suburban_area_child_mixed_party 0.0 NaN \n", - "coef_household_in_urban_area_adult_adult_only_p... 0.0 NaN \n", - "coef_household_in_urban_area_adult_mixed_party 0.0 NaN \n", - "coef_household_in_urban_area_child_child_only_p... 0.0 NaN \n", - "coef_household_in_urban_area_child_mixed_party 0.0 NaN \n", - "coef_non_worker_adults_only_party 0.0 NaN \n", - "coef_non_worker_mixed_party 0.0 NaN \n", - "coef_non_worker_specific_to_discretionary_joint... 0.0 NaN \n", - "coef_non_worker_specific_to_eating_out_joint_tours 0.0 NaN \n", - "coef_part_time_worker_adults_only_party 0.0 NaN \n", - "coef_part_time_worker_adults_only_party_not 0.0 NaN \n", - "coef_part_time_worker_mixed_party 0.0 NaN \n", - "coef_part_time_worker_specific_to_discretionary... 0.0 NaN \n", - "coef_part_time_worker_specific_to_eating_out_jo... 0.0 NaN \n", - "coef_pre_driving_age_student_children_only_party 0.0 NaN \n", - "coef_pre_driving_age_student_mixed_party 0.0 NaN \n", - "coef_pre_driving_age_student_specific_to_discre... 0.0 NaN \n", - "coef_pre_driving_age_student_specific_to_eating... 0.0 NaN \n", - "coef_unavailable 0.0 NaN \n", - "coef_university_student_mixed_party 0.0 NaN \n", - "coef_university_student_specific_to_discretiona... 0.0 NaN \n", - "coef_university_student_specific_to_eating_out_... 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_adult_log_of_max_window_overlap_with_a_chi... 2.18900 -50.0 \n", + "coef_adult_log_of_max_window_overlap_with_an_ad... 0.84360 -50.0 \n", + "coef_adult_more_automobiles_than_workers_adult_... -0.21330 -50.0 \n", + "coef_adult_more_automobiles_than_workers_mixed_... -0.60310 -50.0 \n", + "coef_adult_number_of_joint_tours_adult_only -0.32420 -50.0 \n", + "coef_adult_number_of_joint_tours_mixed -0.35840 -50.0 \n", + "coef_adult_number_of_other_adults_in_the_househ... 0.00000 0.0 \n", + "coef_adult_number_of_other_adults_in_the_househ... 0.00000 0.0 \n", + "coef_child_log_of_max_window_overlap_with_a_chi... 1.29600 -50.0 \n", + "coef_child_log_of_max_window_overlap_with_an_ad... 1.53800 -50.0 \n", + "coef_child_more_automobiles_than_workers_child_... -0.42140 -50.0 \n", + "coef_child_more_automobiles_than_workers_mixed_... -0.37760 -50.0 \n", + "coef_child_number_of_joint_tours_child_only 0.10470 -50.0 \n", + "coef_child_number_of_joint_tours_mixed -0.50890 -50.0 \n", + "coef_child_number_of_other_children_in_the_hous... 0.00000 0.0 \n", + "coef_child_number_of_other_children_in_the_hous... 0.00000 0.0 \n", + "coef_child_too_young_for_school_children_only_p... -2.78600 -50.0 \n", + "coef_child_too_young_for_school_mixed_party -1.89300 -50.0 \n", + "coef_child_too_young_for_school_specific_to_dis... 0.12840 -50.0 \n", + "coef_child_too_young_for_school_specific_to_eat... 0.65890 -50.0 \n", + "coef_driving_age_student_children_only_party -1.82200 -50.0 \n", + "coef_driving_age_student_mixed_party -1.35300 -50.0 \n", + "coef_driving_age_student_specific_to_discretion... -0.66750 -50.0 \n", + "coef_driving_age_student_specific_to_eating_out... 2.34400 -50.0 \n", + "coef_dummy_for_high_income_for_adult_in_adult_p... -0.16820 -50.0 \n", + "coef_dummy_for_high_income_for_adult_in_mixed_p... -0.02613 -50.0 \n", + "coef_dummy_for_high_income_for_child_in_childre... -0.56190 -50.0 \n", + "coef_dummy_for_high_income_for_child_in_mixed_p... -0.15280 -50.0 \n", + "coef_full_time_worker_mixed_party -3.56600 -50.0 \n", + "coef_full_time_worker_mixed_party_not 0.50000 0.5 \n", + "coef_full_time_worker_specific_to_discretionary... 0.43920 -50.0 \n", + "coef_full_time_worker_specific_to_discretionary... 0.50000 0.5 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 0.71570 -50.0 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 0.50000 0.5 \n", + "coef_household_in_suburban_area_adult_adult_onl... 0.00000 0.0 \n", + "coef_household_in_suburban_area_adult_mixed_party -0.06007 -50.0 \n", + "coef_household_in_suburban_area_child_child_onl... 0.00000 0.0 \n", + "coef_household_in_suburban_area_child_mixed_party 0.00000 0.0 \n", + "coef_household_in_urban_area_adult_adult_only_p... 0.00000 0.0 \n", + "coef_household_in_urban_area_adult_mixed_party -0.13700 -50.0 \n", + "coef_household_in_urban_area_child_child_only_p... 1.21000 -50.0 \n", + "coef_household_in_urban_area_child_mixed_party 0.62650 -50.0 \n", + "coef_non_worker_adults_only_party -3.16400 -50.0 \n", + "coef_non_worker_mixed_party 0.71520 -50.0 \n", + "coef_non_worker_specific_to_discretionary_joint... -0.18350 -50.0 \n", + "coef_non_worker_specific_to_eating_out_joint_tours 0.16170 -50.0 \n", + "coef_part_time_worker_adults_only_party -3.56600 -50.0 \n", + "coef_part_time_worker_adults_only_party_not 0.50000 0.5 \n", + "coef_part_time_worker_mixed_party -0.36550 -50.0 \n", + "coef_part_time_worker_specific_to_discretionary... 0.28500 -50.0 \n", + "coef_part_time_worker_specific_to_eating_out_jo... 2.18800 -50.0 \n", + "coef_pre_driving_age_student_children_only_party -0.72170 -50.0 \n", + "coef_pre_driving_age_student_mixed_party -1.75200 -50.0 \n", + "coef_pre_driving_age_student_specific_to_discre... 0.66260 -50.0 \n", + "coef_pre_driving_age_student_specific_to_eating... 1.39100 -50.0 \n", + "coef_unavailable -999.00000 -999.0 \n", + "coef_university_student_mixed_party -3.04100 -50.0 \n", + "coef_university_student_specific_to_discretiona... 0.00000 0.0 \n", + "coef_university_student_specific_to_eating_out_... -0.82000 -50.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_adult_log_of_max_window_overlap_with_a_chi... NaN 0 \n", - "coef_adult_log_of_max_window_overlap_with_an_ad... NaN 0 \n", - "coef_adult_more_automobiles_than_workers_adult_... NaN 0 \n", - "coef_adult_more_automobiles_than_workers_mixed_... NaN 0 \n", - "coef_adult_number_of_joint_tours_adult_only NaN 0 \n", - "coef_adult_number_of_joint_tours_mixed NaN 0 \n", - "coef_adult_number_of_other_adults_in_the_househ... NaN 1 \n", - "coef_adult_number_of_other_adults_in_the_househ... NaN 1 \n", - "coef_child_log_of_max_window_overlap_with_a_chi... NaN 0 \n", - "coef_child_log_of_max_window_overlap_with_an_ad... NaN 0 \n", - "coef_child_more_automobiles_than_workers_child_... NaN 0 \n", - "coef_child_more_automobiles_than_workers_mixed_... NaN 0 \n", - "coef_child_number_of_joint_tours_child_only NaN 0 \n", - "coef_child_number_of_joint_tours_mixed NaN 0 \n", - "coef_child_number_of_other_children_in_the_hous... NaN 1 \n", - "coef_child_number_of_other_children_in_the_hous... NaN 1 \n", - "coef_child_too_young_for_school_children_only_p... NaN 0 \n", - "coef_child_too_young_for_school_mixed_party NaN 0 \n", - "coef_child_too_young_for_school_specific_to_dis... NaN 0 \n", - "coef_child_too_young_for_school_specific_to_eat... NaN 0 \n", - "coef_driving_age_student_children_only_party NaN 0 \n", - "coef_driving_age_student_mixed_party NaN 0 \n", - "coef_driving_age_student_specific_to_discretion... NaN 0 \n", - "coef_driving_age_student_specific_to_eating_out... NaN 0 \n", - "coef_dummy_for_high_income_for_adult_in_adult_p... NaN 0 \n", - "coef_dummy_for_high_income_for_adult_in_mixed_p... NaN 0 \n", - "coef_dummy_for_high_income_for_child_in_childre... NaN 0 \n", - "coef_dummy_for_high_income_for_child_in_mixed_p... NaN 0 \n", - "coef_full_time_worker_mixed_party NaN 0 \n", - "coef_full_time_worker_mixed_party_not NaN 1 \n", - "coef_full_time_worker_specific_to_discretionary... NaN 0 \n", - "coef_full_time_worker_specific_to_discretionary... NaN 1 \n", - "coef_full_time_worker_specific_to_eating_out_jo... NaN 0 \n", - "coef_full_time_worker_specific_to_eating_out_jo... NaN 1 \n", - "coef_household_in_suburban_area_adult_adult_onl... NaN 1 \n", - "coef_household_in_suburban_area_adult_mixed_party NaN 0 \n", - "coef_household_in_suburban_area_child_child_onl... NaN 1 \n", - "coef_household_in_suburban_area_child_mixed_party NaN 1 \n", - "coef_household_in_urban_area_adult_adult_only_p... NaN 1 \n", - "coef_household_in_urban_area_adult_mixed_party NaN 0 \n", - "coef_household_in_urban_area_child_child_only_p... NaN 0 \n", - "coef_household_in_urban_area_child_mixed_party NaN 0 \n", - "coef_non_worker_adults_only_party NaN 0 \n", - "coef_non_worker_mixed_party NaN 0 \n", - "coef_non_worker_specific_to_discretionary_joint... NaN 0 \n", - "coef_non_worker_specific_to_eating_out_joint_tours NaN 0 \n", - "coef_part_time_worker_adults_only_party NaN 0 \n", - "coef_part_time_worker_adults_only_party_not NaN 1 \n", - "coef_part_time_worker_mixed_party NaN 0 \n", - "coef_part_time_worker_specific_to_discretionary... NaN 0 \n", - "coef_part_time_worker_specific_to_eating_out_jo... NaN 0 \n", - "coef_pre_driving_age_student_children_only_party NaN 0 \n", - "coef_pre_driving_age_student_mixed_party NaN 0 \n", - "coef_pre_driving_age_student_specific_to_discre... NaN 0 \n", - "coef_pre_driving_age_student_specific_to_eating... NaN 0 \n", - "coef_unavailable NaN 1 \n", - "coef_university_student_mixed_party NaN 0 \n", - "coef_university_student_specific_to_discretiona... NaN 1 \n", - "coef_university_student_specific_to_eating_out_... NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_adult_log_of_max_window_overlap_with_a_chi... 50.0 0.0 \n", + "coef_adult_log_of_max_window_overlap_with_an_ad... 50.0 0.0 \n", + "coef_adult_more_automobiles_than_workers_adult_... 50.0 0.0 \n", + "coef_adult_more_automobiles_than_workers_mixed_... 50.0 0.0 \n", + "coef_adult_number_of_joint_tours_adult_only 50.0 0.0 \n", + "coef_adult_number_of_joint_tours_mixed 50.0 0.0 \n", + "coef_adult_number_of_other_adults_in_the_househ... 0.0 0.0 \n", + "coef_adult_number_of_other_adults_in_the_househ... 0.0 0.0 \n", + "coef_child_log_of_max_window_overlap_with_a_chi... 50.0 0.0 \n", + "coef_child_log_of_max_window_overlap_with_an_ad... 50.0 0.0 \n", + "coef_child_more_automobiles_than_workers_child_... 50.0 0.0 \n", + "coef_child_more_automobiles_than_workers_mixed_... 50.0 0.0 \n", + "coef_child_number_of_joint_tours_child_only 50.0 0.0 \n", + "coef_child_number_of_joint_tours_mixed 50.0 0.0 \n", + "coef_child_number_of_other_children_in_the_hous... 0.0 0.0 \n", + "coef_child_number_of_other_children_in_the_hous... 0.0 0.0 \n", + "coef_child_too_young_for_school_children_only_p... 50.0 0.0 \n", + "coef_child_too_young_for_school_mixed_party 50.0 0.0 \n", + "coef_child_too_young_for_school_specific_to_dis... 50.0 0.0 \n", + "coef_child_too_young_for_school_specific_to_eat... 50.0 0.0 \n", + "coef_driving_age_student_children_only_party 50.0 0.0 \n", + "coef_driving_age_student_mixed_party 50.0 0.0 \n", + "coef_driving_age_student_specific_to_discretion... 50.0 0.0 \n", + "coef_driving_age_student_specific_to_eating_out... 50.0 0.0 \n", + "coef_dummy_for_high_income_for_adult_in_adult_p... 50.0 0.0 \n", + "coef_dummy_for_high_income_for_adult_in_mixed_p... 50.0 0.0 \n", + "coef_dummy_for_high_income_for_child_in_childre... 50.0 0.0 \n", + "coef_dummy_for_high_income_for_child_in_mixed_p... 50.0 0.0 \n", + "coef_full_time_worker_mixed_party 50.0 0.0 \n", + "coef_full_time_worker_mixed_party_not 0.5 0.0 \n", + "coef_full_time_worker_specific_to_discretionary... 50.0 0.0 \n", + "coef_full_time_worker_specific_to_discretionary... 0.5 0.0 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 50.0 0.0 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 0.5 0.0 \n", + "coef_household_in_suburban_area_adult_adult_onl... 0.0 0.0 \n", + "coef_household_in_suburban_area_adult_mixed_party 50.0 0.0 \n", + "coef_household_in_suburban_area_child_child_onl... 0.0 0.0 \n", + "coef_household_in_suburban_area_child_mixed_party 0.0 0.0 \n", + "coef_household_in_urban_area_adult_adult_only_p... 0.0 0.0 \n", + "coef_household_in_urban_area_adult_mixed_party 50.0 0.0 \n", + "coef_household_in_urban_area_child_child_only_p... 50.0 0.0 \n", + "coef_household_in_urban_area_child_mixed_party 50.0 0.0 \n", + "coef_non_worker_adults_only_party 50.0 0.0 \n", + "coef_non_worker_mixed_party 50.0 0.0 \n", + "coef_non_worker_specific_to_discretionary_joint... 50.0 0.0 \n", + "coef_non_worker_specific_to_eating_out_joint_tours 50.0 0.0 \n", + "coef_part_time_worker_adults_only_party 50.0 0.0 \n", + "coef_part_time_worker_adults_only_party_not 0.5 0.0 \n", + "coef_part_time_worker_mixed_party 50.0 0.0 \n", + "coef_part_time_worker_specific_to_discretionary... 50.0 0.0 \n", + "coef_part_time_worker_specific_to_eating_out_jo... 50.0 0.0 \n", + "coef_pre_driving_age_student_children_only_party 50.0 0.0 \n", + "coef_pre_driving_age_student_mixed_party 50.0 0.0 \n", + "coef_pre_driving_age_student_specific_to_discre... 50.0 0.0 \n", + "coef_pre_driving_age_student_specific_to_eating... 50.0 0.0 \n", + "coef_unavailable -999.0 0.0 \n", + "coef_university_student_mixed_party 50.0 0.0 \n", + "coef_university_student_specific_to_discretiona... 0.0 0.0 \n", + "coef_university_student_specific_to_eating_out_... 50.0 0.0 \n", "\n", - " best \n", - "coef_adult_log_of_max_window_overlap_with_a_chi... 4.595737 \n", - "coef_adult_log_of_max_window_overlap_with_an_ad... 1.692145 \n", - "coef_adult_more_automobiles_than_workers_adult_... 0.311671 \n", - "coef_adult_more_automobiles_than_workers_mixed_... -1.827740 \n", - "coef_adult_number_of_joint_tours_adult_only -2.134054 \n", - "coef_adult_number_of_joint_tours_mixed -28.572220 \n", - "coef_adult_number_of_other_adults_in_the_househ... 0.000000 \n", - "coef_adult_number_of_other_adults_in_the_househ... 0.000000 \n", - "coef_child_log_of_max_window_overlap_with_a_chi... 1.275585 \n", - "coef_child_log_of_max_window_overlap_with_an_ad... 1.539267 \n", - "coef_child_more_automobiles_than_workers_child_... -0.394683 \n", - "coef_child_more_automobiles_than_workers_mixed_... -1.551914 \n", - "coef_child_number_of_joint_tours_child_only 4.977604 \n", - "coef_child_number_of_joint_tours_mixed 17.894892 \n", - "coef_child_number_of_other_children_in_the_hous... 0.000000 \n", - "coef_child_number_of_other_children_in_the_hous... 0.000000 \n", - "coef_child_too_young_for_school_children_only_p... -2.785631 \n", - "coef_child_too_young_for_school_mixed_party 2.069934 \n", - "coef_child_too_young_for_school_specific_to_dis... 0.128371 \n", - "coef_child_too_young_for_school_specific_to_eat... 0.658655 \n", - "coef_driving_age_student_children_only_party -1.822000 \n", - "coef_driving_age_student_mixed_party -28.998969 \n", - "coef_driving_age_student_specific_to_discretion... -0.667500 \n", - "coef_driving_age_student_specific_to_eating_out... 2.344000 \n", - "coef_dummy_for_high_income_for_adult_in_adult_p... 0.131783 \n", - "coef_dummy_for_high_income_for_adult_in_mixed_p... -0.378918 \n", - "coef_dummy_for_high_income_for_child_in_childre... -0.561900 \n", - "coef_dummy_for_high_income_for_child_in_mixed_p... -0.513571 \n", - "coef_full_time_worker_mixed_party -957.202749 \n", - "coef_full_time_worker_mixed_party_not 0.500000 \n", - "coef_full_time_worker_specific_to_discretionary... 0.439200 \n", - "coef_full_time_worker_specific_to_discretionary... 0.500000 \n", - "coef_full_time_worker_specific_to_eating_out_jo... 0.715700 \n", - "coef_full_time_worker_specific_to_eating_out_jo... 0.500000 \n", - "coef_household_in_suburban_area_adult_adult_onl... 0.000000 \n", - "coef_household_in_suburban_area_adult_mixed_party -0.060070 \n", - "coef_household_in_suburban_area_child_child_onl... 0.000000 \n", - "coef_household_in_suburban_area_child_mixed_party 0.000000 \n", - "coef_household_in_urban_area_adult_adult_only_p... 0.000000 \n", - "coef_household_in_urban_area_adult_mixed_party 978.504490 \n", - "coef_household_in_urban_area_child_child_only_p... 6.082784 \n", - "coef_household_in_urban_area_child_mixed_party -19.290030 \n", - "coef_non_worker_adults_only_party -4.080384 \n", - "coef_non_worker_mixed_party -125.288137 \n", - "coef_non_worker_specific_to_discretionary_joint... -0.183500 \n", - "coef_non_worker_specific_to_eating_out_joint_tours 0.161700 \n", - "coef_part_time_worker_adults_only_party -3.248302 \n", - "coef_part_time_worker_adults_only_party_not 0.500000 \n", - "coef_part_time_worker_mixed_party 2254.660944 \n", - "coef_part_time_worker_specific_to_discretionary... 0.285000 \n", - "coef_part_time_worker_specific_to_eating_out_jo... 2.188000 \n", - "coef_pre_driving_age_student_children_only_party 4.151085 \n", - "coef_pre_driving_age_student_mixed_party 2.007228 \n", - "coef_pre_driving_age_student_specific_to_discre... 0.662600 \n", - "coef_pre_driving_age_student_specific_to_eating... 1.391000 \n", - "coef_unavailable -999.000000 \n", - "coef_university_student_mixed_party -958.612314 \n", - "coef_university_student_specific_to_discretiona... 0.000000 \n", - "coef_university_student_specific_to_eating_out_... -0.820000 " + " holdfast \n", + "param_name \n", + "coef_adult_log_of_max_window_overlap_with_a_chi... 0 \n", + "coef_adult_log_of_max_window_overlap_with_an_ad... 0 \n", + "coef_adult_more_automobiles_than_workers_adult_... 0 \n", + "coef_adult_more_automobiles_than_workers_mixed_... 0 \n", + "coef_adult_number_of_joint_tours_adult_only 0 \n", + "coef_adult_number_of_joint_tours_mixed 0 \n", + "coef_adult_number_of_other_adults_in_the_househ... 1 \n", + "coef_adult_number_of_other_adults_in_the_househ... 1 \n", + "coef_child_log_of_max_window_overlap_with_a_chi... 0 \n", + "coef_child_log_of_max_window_overlap_with_an_ad... 0 \n", + "coef_child_more_automobiles_than_workers_child_... 0 \n", + "coef_child_more_automobiles_than_workers_mixed_... 0 \n", + "coef_child_number_of_joint_tours_child_only 0 \n", + "coef_child_number_of_joint_tours_mixed 0 \n", + "coef_child_number_of_other_children_in_the_hous... 1 \n", + "coef_child_number_of_other_children_in_the_hous... 1 \n", + "coef_child_too_young_for_school_children_only_p... 0 \n", + "coef_child_too_young_for_school_mixed_party 0 \n", + "coef_child_too_young_for_school_specific_to_dis... 0 \n", + "coef_child_too_young_for_school_specific_to_eat... 0 \n", + "coef_driving_age_student_children_only_party 0 \n", + "coef_driving_age_student_mixed_party 0 \n", + "coef_driving_age_student_specific_to_discretion... 0 \n", + "coef_driving_age_student_specific_to_eating_out... 0 \n", + "coef_dummy_for_high_income_for_adult_in_adult_p... 0 \n", + "coef_dummy_for_high_income_for_adult_in_mixed_p... 0 \n", + "coef_dummy_for_high_income_for_child_in_childre... 0 \n", + "coef_dummy_for_high_income_for_child_in_mixed_p... 0 \n", + "coef_full_time_worker_mixed_party 0 \n", + "coef_full_time_worker_mixed_party_not 1 \n", + "coef_full_time_worker_specific_to_discretionary... 0 \n", + "coef_full_time_worker_specific_to_discretionary... 1 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 0 \n", + "coef_full_time_worker_specific_to_eating_out_jo... 1 \n", + "coef_household_in_suburban_area_adult_adult_onl... 1 \n", + "coef_household_in_suburban_area_adult_mixed_party 0 \n", + "coef_household_in_suburban_area_child_child_onl... 1 \n", + "coef_household_in_suburban_area_child_mixed_party 1 \n", + "coef_household_in_urban_area_adult_adult_only_p... 1 \n", + "coef_household_in_urban_area_adult_mixed_party 0 \n", + "coef_household_in_urban_area_child_child_only_p... 0 \n", + "coef_household_in_urban_area_child_mixed_party 0 \n", + "coef_non_worker_adults_only_party 0 \n", + "coef_non_worker_mixed_party 0 \n", + "coef_non_worker_specific_to_discretionary_joint... 0 \n", + "coef_non_worker_specific_to_eating_out_joint_tours 0 \n", + "coef_part_time_worker_adults_only_party 0 \n", + "coef_part_time_worker_adults_only_party_not 1 \n", + "coef_part_time_worker_mixed_party 0 \n", + "coef_part_time_worker_specific_to_discretionary... 0 \n", + "coef_part_time_worker_specific_to_eating_out_jo... 0 \n", + "coef_pre_driving_age_student_children_only_party 0 \n", + "coef_pre_driving_age_student_mixed_party 0 \n", + "coef_pre_driving_age_student_specific_to_discre... 0 \n", + "coef_pre_driving_age_student_specific_to_eating... 0 \n", + "coef_unavailable 1 \n", + "coef_university_student_mixed_party 0 \n", + "coef_university_student_specific_to_discretiona... 1 \n", + "coef_university_student_specific_to_eating_out_... 0 " ] }, "metadata": {}, @@ -2240,16 +2250,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 0.0 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 0.0 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 0.0 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " model.estimate()\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -2265,242 +2267,242 @@ " \n", " \n", " coef_adult_log_of_max_window_overlap_with_a_child_mixed\n", - " 4.595737e+00\n", + " 2.125116\n", " \n", " \n", " coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party\n", - " 1.692145e+00\n", + " 1.280678\n", " \n", " \n", " coef_adult_more_automobiles_than_workers_adult_only_party\n", - " 3.116710e-01\n", + " 0.121220\n", " \n", " \n", " coef_adult_more_automobiles_than_workers_mixed_party\n", - " -1.827740e+00\n", + " -0.591966\n", " \n", " \n", " coef_adult_number_of_joint_tours_adult_only\n", - " -2.134054e+00\n", + " -0.794091\n", " \n", " \n", " coef_adult_number_of_joint_tours_mixed\n", - " -2.857222e+01\n", + " -1.417451\n", " \n", " \n", " coef_adult_number_of_other_adults_in_the_household_adults_only_party\n", - " -1.648956e-17\n", + " 0.000000\n", " \n", " \n", " coef_adult_number_of_other_adults_in_the_household_mixed_party\n", - " 7.224396e-18\n", + " 0.000000\n", " \n", " \n", " coef_child_log_of_max_window_overlap_with_a_child_child\n", - " 1.275585e+00\n", + " 1.296000\n", " \n", " \n", " coef_child_log_of_max_window_overlap_with_an_adult_mixed\n", - " 1.539267e+00\n", + " 1.538000\n", " \n", " \n", " coef_child_more_automobiles_than_workers_child_only_party\n", - " -3.946825e-01\n", + " -0.421400\n", " \n", " \n", " coef_child_more_automobiles_than_workers_mixed_party\n", - " -1.551914e+00\n", + " -0.366466\n", " \n", " \n", " coef_child_number_of_joint_tours_child_only\n", - " 4.977604e+00\n", + " 0.866122\n", " \n", " \n", " coef_child_number_of_joint_tours_mixed\n", - " 1.789489e+01\n", + " -0.261747\n", " \n", " \n", " coef_child_number_of_other_children_in_the_household_child_only_party\n", - " -2.228152e-18\n", + " 0.000000\n", " \n", " \n", " coef_child_number_of_other_children_in_the_household_mixed\n", - " -3.324715e-17\n", + " 0.000000\n", " \n", " \n", " coef_child_too_young_for_school_children_only_party\n", - " -2.785631e+00\n", + " -1.149596\n", " \n", " \n", " coef_child_too_young_for_school_mixed_party\n", - " 2.069934e+00\n", + " 0.197836\n", " \n", " \n", " coef_child_too_young_for_school_specific_to_discretionary_joint_tours\n", - " 1.283705e-01\n", + " 0.128400\n", " \n", " \n", " coef_child_too_young_for_school_specific_to_eating_out_joint_tours\n", - " 6.586549e-01\n", + " 0.658900\n", " \n", " \n", " coef_driving_age_student_children_only_party\n", - " -1.822000e+00\n", + " -2.120496\n", " \n", " \n", " coef_driving_age_student_mixed_party\n", - " -2.899897e+01\n", + " 0.322986\n", " \n", " \n", " coef_driving_age_student_specific_to_discretionary_joint_tours\n", - " -6.675000e-01\n", + " -0.667500\n", " \n", " \n", " coef_driving_age_student_specific_to_eating_out_joint_tours\n", - " 2.344000e+00\n", + " 2.344000\n", " \n", " \n", " coef_dummy_for_high_income_for_adult_in_adult_party\n", - " 1.317830e-01\n", + " -0.068202\n", " \n", " \n", " coef_dummy_for_high_income_for_adult_in_mixed_party\n", - " -3.789182e-01\n", + " 0.112930\n", " \n", " \n", " coef_dummy_for_high_income_for_child_in_children_party\n", - " -5.619000e-01\n", + " -0.211892\n", " \n", " \n", " coef_dummy_for_high_income_for_child_in_mixed_party\n", - " -5.135707e-01\n", + " -0.013740\n", " \n", " \n", " coef_full_time_worker_mixed_party\n", - " -9.572027e+02\n", + " -3.527365\n", " \n", " \n", " coef_full_time_worker_mixed_party_not\n", - " 5.000000e-01\n", + " 0.500000\n", " \n", " \n", " coef_full_time_worker_specific_to_discretionary_joint_tours\n", - " 4.392000e-01\n", + " 0.439200\n", " \n", " \n", " coef_full_time_worker_specific_to_discretionary_joint_tours_not\n", - " 5.000000e-01\n", + " 0.500000\n", " \n", " \n", " coef_full_time_worker_specific_to_eating_out_joint_tours\n", - " 7.157000e-01\n", + " 0.715700\n", " \n", " \n", " coef_full_time_worker_specific_to_eating_out_joint_tours_not\n", - " 5.000000e-01\n", + " 0.500000\n", " \n", " \n", " coef_household_in_suburban_area_adult_adult_only_party\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coef_household_in_suburban_area_adult_mixed_party\n", - " -6.007000e-02\n", + " 1.239881\n", " \n", " \n", " coef_household_in_suburban_area_child_child_only_party\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coef_household_in_suburban_area_child_mixed_party\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coef_household_in_urban_area_adult_adult_only_party\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coef_household_in_urban_area_adult_mixed_party\n", - " 9.785045e+02\n", + " 1.204039\n", " \n", " \n", " coef_household_in_urban_area_child_child_only_party\n", - " 6.082784e+00\n", + " -0.145369\n", " \n", " \n", " coef_household_in_urban_area_child_mixed_party\n", - " -1.929003e+01\n", + " -0.138857\n", " \n", " \n", " coef_non_worker_adults_only_party\n", - " -4.080384e+00\n", + " -3.161945\n", " \n", " \n", " coef_non_worker_mixed_party\n", - " -1.252881e+02\n", + " 1.059162\n", " \n", " \n", " coef_non_worker_specific_to_discretionary_joint_tours\n", - " -1.835000e-01\n", + " -0.183500\n", " \n", " \n", " coef_non_worker_specific_to_eating_out_joint_tours\n", - " 1.617000e-01\n", + " 0.161700\n", " \n", " \n", " coef_part_time_worker_adults_only_party\n", - " -3.248302e+00\n", + " -3.631928\n", " \n", " \n", " coef_part_time_worker_adults_only_party_not\n", - " 5.000000e-01\n", + " 0.500000\n", " \n", " \n", " coef_part_time_worker_mixed_party\n", - " 2.254661e+03\n", + " -0.447984\n", " \n", " \n", " coef_part_time_worker_specific_to_discretionary_joint_tours\n", - " 2.850000e-01\n", + " 0.285000\n", " \n", " \n", " coef_part_time_worker_specific_to_eating_out_joint_tours\n", - " 2.188000e+00\n", + " 2.188000\n", " \n", " \n", " coef_pre_driving_age_student_children_only_party\n", - " 4.151085e+00\n", + " 0.991812\n", " \n", " \n", " coef_pre_driving_age_student_mixed_party\n", - " 2.007228e+00\n", + " -0.073175\n", " \n", " \n", " coef_pre_driving_age_student_specific_to_discretionary_joint_tours\n", - " 6.626000e-01\n", + " 0.662600\n", " \n", " \n", " coef_pre_driving_age_student_specific_to_eating_out_joint_tours\n", - " 1.391000e+00\n", + " 1.391000\n", " \n", " \n", " coef_unavailable\n", - " -9.990000e+02\n", + " -999.000000\n", " \n", " \n", " coef_university_student_mixed_party\n", - " -9.586123e+02\n", + " -2.902637\n", " \n", " \n", " coef_university_student_specific_to_discretionary_joint_tours\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coef_university_student_specific_to_eating_out_joint_tours\n", - " -8.200000e-01\n", + " -0.820000\n", " \n", " \n", - "loglike-61.383086448632596d_loglike\n", + "
logloss0.275665608543198d_logloss\n", " \n", " \n", " \n", @@ -2510,376 +2512,376 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_adult_log_of_max_window_overlap_with_a_child_mixed-4.096171e-040.000012
coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party2.436129e-050.000013
coef_adult_more_automobiles_than_workers_adult_only_party5.345149e-05-0.000165
coef_adult_more_automobiles_than_workers_mixed_party1.722466e-04-0.000051
coef_adult_number_of_joint_tours_adult_only1.769263e-04-0.000006
coef_adult_number_of_joint_tours_mixed3.181344e-04-0.000088
coef_adult_number_of_other_adults_in_the_household_adults_only_party0.000000e+000.000000
coef_adult_number_of_other_adults_in_the_household_mixed_party0.000000e+000.000000
coef_child_log_of_max_window_overlap_with_a_child_child0.000000e+000.000000
coef_child_log_of_max_window_overlap_with_an_adult_mixed0.000000e+000.000000
coef_child_more_automobiles_than_workers_child_only_party0.000000e+000.000000
coef_child_more_automobiles_than_workers_mixed_party1.722466e-04-0.000051
coef_child_number_of_joint_tours_child_only7.427872e-07-0.000119
coef_child_number_of_joint_tours_mixed-7.098060e-05-0.000047
coef_child_number_of_other_children_in_the_household_child_only_party0.000000e+000.000000
coef_child_number_of_other_children_in_the_household_mixed0.000000e+000.000000
coef_child_too_young_for_school_children_only_party0.000000e+000.000066
coef_child_too_young_for_school_mixed_party-4.267128e-050.000136
coef_child_too_young_for_school_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_child_too_young_for_school_specific_to_eating_out_joint_tours0.000000e+000.000000
coef_driving_age_student_children_only_party0.000000e+000.000265
coef_driving_age_student_mixed_party-7.460379e-06-0.000060
coef_driving_age_student_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_driving_age_student_specific_to_eating_out_joint_tours0.000000e+000.000000
coef_dummy_for_high_income_for_adult_in_adult_party-2.777090e-040.000017
coef_dummy_for_high_income_for_adult_in_mixed_party7.481814e-050.000026
coef_dummy_for_high_income_for_child_in_children_party0.000000e+000.000114
coef_dummy_for_high_income_for_child_in_mixed_party7.481814e-050.000026
coef_full_time_worker_mixed_party1.834492e-05-0.000152
coef_full_time_worker_mixed_party_not0.000000e+000.000000
coef_full_time_worker_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_full_time_worker_specific_to_discretionary_joint_tours_not0.000000e+000.000000
coef_full_time_worker_specific_to_eating_out_joint_tours0.000000e+000.000000
coef_full_time_worker_specific_to_eating_out_joint_tours_not0.000000e+000.000000
coef_household_in_suburban_area_adult_adult_only_party0.000000e+000.000000
coef_household_in_suburban_area_adult_mixed_party0.000000e+000.000250
coef_household_in_suburban_area_child_child_only_party0.000000e+000.000000
coef_household_in_suburban_area_child_mixed_party0.000000e+000.000000
coef_household_in_urban_area_adult_adult_only_party0.000000e+000.000000
coef_household_in_urban_area_adult_mixed_party3.181344e-04-0.000179
coef_household_in_urban_area_child_child_only_party7.427872e-070.000131
coef_household_in_urban_area_child_mixed_party-6.353745e-05-0.000081
coef_non_worker_adults_only_party3.691375e-040.000062
coef_non_worker_mixed_party-1.839038e-700.000002
coef_non_worker_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_non_worker_specific_to_eating_out_joint_tours0.000000e+000.000000
coef_part_time_worker_adults_only_party5.695694e-050.000239
coef_part_time_worker_adults_only_party_not0.000000e+000.000000
coef_part_time_worker_mixed_party0.000000e+00-0.000099
coef_part_time_worker_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_part_time_worker_specific_to_eating_out_joint_tours0.000000e+000.000000
coef_pre_driving_age_student_children_only_party7.427872e-07-0.000108
coef_pre_driving_age_student_mixed_party-1.340579e-05-0.000009
coef_pre_driving_age_student_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_pre_driving_age_student_specific_to_eating_out_joint_tours0.000000e+000.000000
coef_unavailable0.000000e+000.000000
coef_university_student_mixed_party2.997895e-040.000080
coef_university_student_specific_to_discretionary_joint_tours0.000000e+000.000000
coef_university_student_specific_to_eating_out_joint_tours0.000000e+000.000000
nit13nfev22njev13status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.868469method'bhhh|slsqp'n_cases304iteration_number112logloss0.2019180475283967" + "nit80nfev81njev80status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.325635method'slsqp'n_cases4500iteration_number80loglike-1240.495238444391" ], "text/plain": [ - "┣ x: coef_adult_log_of_max_window_overlap_with_a_child_mixed 4.595737e+00\n", - "┃ coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party 1.692145e+00\n", - "┃ coef_adult_more_automobiles_than_workers_adult_only_party 3.116710e-01\n", - "┃ coef_adult_more_automobiles_than_workers_mixed_party -1.827740e+00\n", - "┃ coef_adult_number_of_joint_tours_adult_only -2.134054e+00\n", - "┃ coef_adult_number_of_joint_tours_mixed -2.857222e+01\n", - "┃ coef_adult_number_of_other_adults_in_the_household_adults_only_party -1.648956e-17\n", - "┃ coef_adult_number_of_other_adults_in_the_household_mixed_party 7.224396e-18\n", - "┃ coef_child_log_of_max_window_overlap_with_a_child_child 1.275585e+00\n", - "┃ coef_child_log_of_max_window_overlap_with_an_adult_mixed 1.539267e+00\n", - "┃ coef_child_more_automobiles_than_workers_child_only_party -3.946825e-01\n", - "┃ coef_child_more_automobiles_than_workers_mixed_party -1.551914e+00\n", - "┃ coef_child_number_of_joint_tours_child_only 4.977604e+00\n", - "┃ coef_child_number_of_joint_tours_mixed 1.789489e+01\n", - "┃ coef_child_number_of_other_children_in_the_household_child_only_party -2.228152e-18\n", - "┃ coef_child_number_of_other_children_in_the_household_mixed -3.324715e-17\n", - "┃ coef_child_too_young_for_school_children_only_party -2.785631e+00\n", - "┃ coef_child_too_young_for_school_mixed_party 2.069934e+00\n", - "┃ coef_child_too_young_for_school_specific_to_discretionary_joint_tours 1.283705e-01\n", - "┃ coef_child_too_young_for_school_specific_to_eating_out_joint_tours 6.586549e-01\n", - "┃ coef_driving_age_student_children_only_party -1.822000e+00\n", - "┃ coef_driving_age_student_mixed_party -2.899897e+01\n", - "┃ coef_driving_age_student_specific_to_discretionary_joint_tours -6.675000e-01\n", - "┃ coef_driving_age_student_specific_to_eating_out_joint_tours 2.344000e+00\n", - "┃ coef_dummy_for_high_income_for_adult_in_adult_party 1.317830e-01\n", - "┃ coef_dummy_for_high_income_for_adult_in_mixed_party -3.789182e-01\n", - "┃ coef_dummy_for_high_income_for_child_in_children_party -5.619000e-01\n", - "┃ coef_dummy_for_high_income_for_child_in_mixed_party -5.135707e-01\n", - "┃ coef_full_time_worker_mixed_party -9.572027e+02\n", - "┃ coef_full_time_worker_mixed_party_not 5.000000e-01\n", - "┃ coef_full_time_worker_specific_to_discretionary_joint_tours 4.392000e-01\n", - "┃ coef_full_time_worker_specific_to_discretionary_joint_tours_not 5.000000e-01\n", - "┃ coef_full_time_worker_specific_to_eating_out_joint_tours 7.157000e-01\n", - "┃ coef_full_time_worker_specific_to_eating_out_joint_tours_not 5.000000e-01\n", - "┃ coef_household_in_suburban_area_adult_adult_only_party 0.000000e+00\n", - "┃ coef_household_in_suburban_area_adult_mixed_party -6.007000e-02\n", - "┃ coef_household_in_suburban_area_child_child_only_party 0.000000e+00\n", - "┃ coef_household_in_suburban_area_child_mixed_party 0.000000e+00\n", - "┃ coef_household_in_urban_area_adult_adult_only_party 0.000000e+00\n", - "┃ coef_household_in_urban_area_adult_mixed_party 9.785045e+02\n", - "┃ coef_household_in_urban_area_child_child_only_party 6.082784e+00\n", - "┃ coef_household_in_urban_area_child_mixed_party -1.929003e+01\n", - "┃ coef_non_worker_adults_only_party -4.080384e+00\n", - "┃ coef_non_worker_mixed_party -1.252881e+02\n", - "┃ coef_non_worker_specific_to_discretionary_joint_tours -1.835000e-01\n", - "┃ coef_non_worker_specific_to_eating_out_joint_tours 1.617000e-01\n", - "┃ coef_part_time_worker_adults_only_party -3.248302e+00\n", - "┃ coef_part_time_worker_adults_only_party_not 5.000000e-01\n", - "┃ coef_part_time_worker_mixed_party 2.254661e+03\n", - "┃ coef_part_time_worker_specific_to_discretionary_joint_tours 2.850000e-01\n", - "┃ coef_part_time_worker_specific_to_eating_out_joint_tours 2.188000e+00\n", - "┃ coef_pre_driving_age_student_children_only_party 4.151085e+00\n", - "┃ coef_pre_driving_age_student_mixed_party 2.007228e+00\n", - "┃ coef_pre_driving_age_student_specific_to_discretionary_joint_tours 6.626000e-01\n", - "┃ coef_pre_driving_age_student_specific_to_eating_out_joint_tours 1.391000e+00\n", - "┃ coef_unavailable -9.990000e+02\n", - "┃ coef_university_student_mixed_party -9.586123e+02\n", - "┃ coef_university_student_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_university_student_specific_to_eating_out_joint_tours -8.200000e-01\n", + "┣ x: coef_adult_log_of_max_window_overlap_with_a_child_mixed 2.125116\n", + "┃ coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party 1.280678\n", + "┃ coef_adult_more_automobiles_than_workers_adult_only_party 0.121220\n", + "┃ coef_adult_more_automobiles_than_workers_mixed_party -0.591966\n", + "┃ coef_adult_number_of_joint_tours_adult_only -0.794091\n", + "┃ coef_adult_number_of_joint_tours_mixed -1.417451\n", + "┃ coef_adult_number_of_other_adults_in_the_household_adults_only_party 0.000000\n", + "┃ coef_adult_number_of_other_adults_in_the_household_mixed_party 0.000000\n", + "┃ coef_child_log_of_max_window_overlap_with_a_child_child 1.296000\n", + "┃ coef_child_log_of_max_window_overlap_with_an_adult_mixed 1.538000\n", + "┃ coef_child_more_automobiles_than_workers_child_only_party -0.421400\n", + "┃ coef_child_more_automobiles_than_workers_mixed_party -0.366466\n", + "┃ coef_child_number_of_joint_tours_child_only 0.866122\n", + "┃ coef_child_number_of_joint_tours_mixed -0.261747\n", + "┃ coef_child_number_of_other_children_in_the_household_child_only_party 0.000000\n", + "┃ coef_child_number_of_other_children_in_the_household_mixed 0.000000\n", + "┃ coef_child_too_young_for_school_children_only_party -1.149596\n", + "┃ coef_child_too_young_for_school_mixed_party 0.197836\n", + "┃ coef_child_too_young_for_school_specific_to_discretionary_joint_tours 0.128400\n", + "┃ coef_child_too_young_for_school_specific_to_eating_out_joint_tours 0.658900\n", + "┃ coef_driving_age_student_children_only_party -2.120496\n", + "┃ coef_driving_age_student_mixed_party 0.322986\n", + "┃ coef_driving_age_student_specific_to_discretionary_joint_tours -0.667500\n", + "┃ coef_driving_age_student_specific_to_eating_out_joint_tours 2.344000\n", + "┃ coef_dummy_for_high_income_for_adult_in_adult_party -0.068202\n", + "┃ coef_dummy_for_high_income_for_adult_in_mixed_party 0.112930\n", + "┃ coef_dummy_for_high_income_for_child_in_children_party -0.211892\n", + "┃ coef_dummy_for_high_income_for_child_in_mixed_party -0.013740\n", + "┃ coef_full_time_worker_mixed_party -3.527365\n", + "┃ coef_full_time_worker_mixed_party_not 0.500000\n", + "┃ coef_full_time_worker_specific_to_discretionary_joint_tours 0.439200\n", + "┃ coef_full_time_worker_specific_to_discretionary_joint_tours_not 0.500000\n", + "┃ coef_full_time_worker_specific_to_eating_out_joint_tours 0.715700\n", + "┃ coef_full_time_worker_specific_to_eating_out_joint_tours_not 0.500000\n", + "┃ coef_household_in_suburban_area_adult_adult_only_party 0.000000\n", + "┃ coef_household_in_suburban_area_adult_mixed_party 1.239881\n", + "┃ coef_household_in_suburban_area_child_child_only_party 0.000000\n", + "┃ coef_household_in_suburban_area_child_mixed_party 0.000000\n", + "┃ coef_household_in_urban_area_adult_adult_only_party 0.000000\n", + "┃ coef_household_in_urban_area_adult_mixed_party 1.204039\n", + "┃ coef_household_in_urban_area_child_child_only_party -0.145369\n", + "┃ coef_household_in_urban_area_child_mixed_party -0.138857\n", + "┃ coef_non_worker_adults_only_party -3.161945\n", + "┃ coef_non_worker_mixed_party 1.059162\n", + "┃ coef_non_worker_specific_to_discretionary_joint_tours -0.183500\n", + "┃ coef_non_worker_specific_to_eating_out_joint_tours 0.161700\n", + "┃ coef_part_time_worker_adults_only_party -3.631928\n", + "┃ coef_part_time_worker_adults_only_party_not 0.500000\n", + "┃ coef_part_time_worker_mixed_party -0.447984\n", + "┃ coef_part_time_worker_specific_to_discretionary_joint_tours 0.285000\n", + "┃ coef_part_time_worker_specific_to_eating_out_joint_tours 2.188000\n", + "┃ coef_pre_driving_age_student_children_only_party 0.991812\n", + "┃ coef_pre_driving_age_student_mixed_party -0.073175\n", + "┃ coef_pre_driving_age_student_specific_to_discretionary_joint_tours 0.662600\n", + "┃ coef_pre_driving_age_student_specific_to_eating_out_joint_tours 1.391000\n", + "┃ coef_unavailable -999.000000\n", + "┃ coef_university_student_mixed_party -2.902637\n", + "┃ coef_university_student_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_university_student_specific_to_eating_out_joint_tours -0.820000\n", "┃ dtype: float64\n", - "┣ loglike: -61.383086448632596\n", - "┣ d_loglike: coef_adult_log_of_max_window_overlap_with_a_child_mixed -4.096171e-04\n", - "┃ coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party 2.436129e-05\n", - "┃ coef_adult_more_automobiles_than_workers_adult_only_party 5.345149e-05\n", - "┃ coef_adult_more_automobiles_than_workers_mixed_party 1.722466e-04\n", - "┃ coef_adult_number_of_joint_tours_adult_only 1.769263e-04\n", - "┃ coef_adult_number_of_joint_tours_mixed 3.181344e-04\n", - "┃ coef_adult_number_of_other_adults_in_the_household_adults_only_party 0.000000e+00\n", - "┃ coef_adult_number_of_other_adults_in_the_household_mixed_party 0.000000e+00\n", - "┃ coef_child_log_of_max_window_overlap_with_a_child_child 0.000000e+00\n", - "┃ coef_child_log_of_max_window_overlap_with_an_adult_mixed 0.000000e+00\n", - "┃ coef_child_more_automobiles_than_workers_child_only_party 0.000000e+00\n", - "┃ coef_child_more_automobiles_than_workers_mixed_party 1.722466e-04\n", - "┃ coef_child_number_of_joint_tours_child_only 7.427872e-07\n", - "┃ coef_child_number_of_joint_tours_mixed -7.098060e-05\n", - "┃ coef_child_number_of_other_children_in_the_household_child_only_party 0.000000e+00\n", - "┃ coef_child_number_of_other_children_in_the_household_mixed 0.000000e+00\n", - "┃ coef_child_too_young_for_school_children_only_party 0.000000e+00\n", - "┃ coef_child_too_young_for_school_mixed_party -4.267128e-05\n", - "┃ coef_child_too_young_for_school_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_child_too_young_for_school_specific_to_eating_out_joint_tours 0.000000e+00\n", - "┃ coef_driving_age_student_children_only_party 0.000000e+00\n", - "┃ coef_driving_age_student_mixed_party -7.460379e-06\n", - "┃ coef_driving_age_student_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_driving_age_student_specific_to_eating_out_joint_tours 0.000000e+00\n", - "┃ coef_dummy_for_high_income_for_adult_in_adult_party -2.777090e-04\n", - "┃ coef_dummy_for_high_income_for_adult_in_mixed_party 7.481814e-05\n", - "┃ coef_dummy_for_high_income_for_child_in_children_party 0.000000e+00\n", - "┃ coef_dummy_for_high_income_for_child_in_mixed_party 7.481814e-05\n", - "┃ coef_full_time_worker_mixed_party 1.834492e-05\n", - "┃ coef_full_time_worker_mixed_party_not 0.000000e+00\n", - "┃ coef_full_time_worker_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_full_time_worker_specific_to_discretionary_joint_tours_not 0.000000e+00\n", - "┃ coef_full_time_worker_specific_to_eating_out_joint_tours 0.000000e+00\n", - "┃ coef_full_time_worker_specific_to_eating_out_joint_tours_not 0.000000e+00\n", - "┃ coef_household_in_suburban_area_adult_adult_only_party 0.000000e+00\n", - "┃ coef_household_in_suburban_area_adult_mixed_party 0.000000e+00\n", - "┃ coef_household_in_suburban_area_child_child_only_party 0.000000e+00\n", - "┃ coef_household_in_suburban_area_child_mixed_party 0.000000e+00\n", - "┃ coef_household_in_urban_area_adult_adult_only_party 0.000000e+00\n", - "┃ coef_household_in_urban_area_adult_mixed_party 3.181344e-04\n", - "┃ coef_household_in_urban_area_child_child_only_party 7.427872e-07\n", - "┃ coef_household_in_urban_area_child_mixed_party -6.353745e-05\n", - "┃ coef_non_worker_adults_only_party 3.691375e-04\n", - "┃ coef_non_worker_mixed_party -1.839038e-70\n", - "┃ coef_non_worker_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_non_worker_specific_to_eating_out_joint_tours 0.000000e+00\n", - "┃ coef_part_time_worker_adults_only_party 5.695694e-05\n", - "┃ coef_part_time_worker_adults_only_party_not 0.000000e+00\n", - "┃ coef_part_time_worker_mixed_party 0.000000e+00\n", - "┃ coef_part_time_worker_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_part_time_worker_specific_to_eating_out_joint_tours 0.000000e+00\n", - "┃ coef_pre_driving_age_student_children_only_party 7.427872e-07\n", - "┃ coef_pre_driving_age_student_mixed_party -1.340579e-05\n", - "┃ coef_pre_driving_age_student_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_pre_driving_age_student_specific_to_eating_out_joint_tours 0.000000e+00\n", - "┃ coef_unavailable 0.000000e+00\n", - "┃ coef_university_student_mixed_party 2.997895e-04\n", - "┃ coef_university_student_specific_to_discretionary_joint_tours 0.000000e+00\n", - "┃ coef_university_student_specific_to_eating_out_joint_tours 0.000000e+00\n", + "┣ logloss: 0.275665608543198\n", + "┣ d_logloss: coef_adult_log_of_max_window_overlap_with_a_child_mixed 0.000012\n", + "┃ coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party 0.000013\n", + "┃ coef_adult_more_automobiles_than_workers_adult_only_party -0.000165\n", + "┃ coef_adult_more_automobiles_than_workers_mixed_party -0.000051\n", + "┃ coef_adult_number_of_joint_tours_adult_only -0.000006\n", + "┃ coef_adult_number_of_joint_tours_mixed -0.000088\n", + "┃ coef_adult_number_of_other_adults_in_the_household_adults_only_party 0.000000\n", + "┃ coef_adult_number_of_other_adults_in_the_household_mixed_party 0.000000\n", + "┃ coef_child_log_of_max_window_overlap_with_a_child_child 0.000000\n", + "┃ coef_child_log_of_max_window_overlap_with_an_adult_mixed 0.000000\n", + "┃ coef_child_more_automobiles_than_workers_child_only_party 0.000000\n", + "┃ coef_child_more_automobiles_than_workers_mixed_party -0.000051\n", + "┃ coef_child_number_of_joint_tours_child_only -0.000119\n", + "┃ coef_child_number_of_joint_tours_mixed -0.000047\n", + "┃ coef_child_number_of_other_children_in_the_household_child_only_party 0.000000\n", + "┃ coef_child_number_of_other_children_in_the_household_mixed 0.000000\n", + "┃ coef_child_too_young_for_school_children_only_party 0.000066\n", + "┃ coef_child_too_young_for_school_mixed_party 0.000136\n", + "┃ coef_child_too_young_for_school_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_child_too_young_for_school_specific_to_eating_out_joint_tours 0.000000\n", + "┃ coef_driving_age_student_children_only_party 0.000265\n", + "┃ coef_driving_age_student_mixed_party -0.000060\n", + "┃ coef_driving_age_student_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_driving_age_student_specific_to_eating_out_joint_tours 0.000000\n", + "┃ coef_dummy_for_high_income_for_adult_in_adult_party 0.000017\n", + "┃ coef_dummy_for_high_income_for_adult_in_mixed_party 0.000026\n", + "┃ coef_dummy_for_high_income_for_child_in_children_party 0.000114\n", + "┃ coef_dummy_for_high_income_for_child_in_mixed_party 0.000026\n", + "┃ coef_full_time_worker_mixed_party -0.000152\n", + "┃ coef_full_time_worker_mixed_party_not 0.000000\n", + "┃ coef_full_time_worker_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_full_time_worker_specific_to_discretionary_joint_tours_not 0.000000\n", + "┃ coef_full_time_worker_specific_to_eating_out_joint_tours 0.000000\n", + "┃ coef_full_time_worker_specific_to_eating_out_joint_tours_not 0.000000\n", + "┃ coef_household_in_suburban_area_adult_adult_only_party 0.000000\n", + "┃ coef_household_in_suburban_area_adult_mixed_party 0.000250\n", + "┃ coef_household_in_suburban_area_child_child_only_party 0.000000\n", + "┃ coef_household_in_suburban_area_child_mixed_party 0.000000\n", + "┃ coef_household_in_urban_area_adult_adult_only_party 0.000000\n", + "┃ coef_household_in_urban_area_adult_mixed_party -0.000179\n", + "┃ coef_household_in_urban_area_child_child_only_party 0.000131\n", + "┃ coef_household_in_urban_area_child_mixed_party -0.000081\n", + "┃ coef_non_worker_adults_only_party 0.000062\n", + "┃ coef_non_worker_mixed_party 0.000002\n", + "┃ coef_non_worker_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_non_worker_specific_to_eating_out_joint_tours 0.000000\n", + "┃ coef_part_time_worker_adults_only_party 0.000239\n", + "┃ coef_part_time_worker_adults_only_party_not 0.000000\n", + "┃ coef_part_time_worker_mixed_party -0.000099\n", + "┃ coef_part_time_worker_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_part_time_worker_specific_to_eating_out_joint_tours 0.000000\n", + "┃ coef_pre_driving_age_student_children_only_party -0.000108\n", + "┃ coef_pre_driving_age_student_mixed_party -0.000009\n", + "┃ coef_pre_driving_age_student_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_pre_driving_age_student_specific_to_eating_out_joint_tours 0.000000\n", + "┃ coef_unavailable 0.000000\n", + "┃ coef_university_student_mixed_party 0.000080\n", + "┃ coef_university_student_specific_to_discretionary_joint_tours 0.000000\n", + "┃ coef_university_student_specific_to_eating_out_joint_tours 0.000000\n", "┃ dtype: float64\n", - "┣ nit: 13\n", - "┣ nfev: 22\n", - "┣ njev: 13\n", + "┣ nit: 80\n", + "┣ nfev: 81\n", + "┣ njev: 80\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(microseconds=868469)\n", - "┣ method: 'bhhh|slsqp'\n", - "┣ n_cases: 304\n", - "┣ iteration_number: 112\n", - "┣ logloss: 0.2019180475283967" + "┣ elapsed_time: datetime.timedelta(microseconds=325635)\n", + "┣ method: 'slsqp'\n", + "┣ n_cases: 4500\n", + "┣ iteration_number: 80\n", + "┣ loglike: -1240.495238444391" ] }, "execution_count": 7, @@ -2926,30 +2928,30 @@ " \n", " 1\n", " participate\n", - " 228.0\n", - " 304.0\n", + " 3317\n", + " 4500\n", " \n", " \n", " 2\n", " not_participate\n", - " 76.0\n", - " 304.0\n", + " 1183\n", + " 4500\n", " \n", " \n", " < Total All Alternatives >\n", " \n", - " 304.0\n", - " \n", + " 4500\n", + " <NA>\n", " \n", " \n", "\n", "" ], "text/plain": [ - " name chosen available\n", - "1 participate 228.0 304.0\n", - "2 not_participate 76.0 304.0\n", - "< Total All Alternatives > 304.0 " + " name chosen available\n", + "1 participate 3317 4500\n", + "2 not_participate 1183 4500\n", + "< Total All Alternatives > 4500 " ] }, "execution_count": 8, @@ -2958,7 +2960,7 @@ } ], "source": [ - "model.dataframes.choice_avail_summary()" + "model.choice_avail_summary()" ] }, { @@ -2976,610 +2978,577 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_adult_log_of_max_window_overlap_with_a_child_mixed 4.60 1.53 3.00** NA 0.00
coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party 1.69 0.833 2.03* NA 0.00
coef_adult_more_automobiles_than_workers_adult_only_party 0.312 1.08 0.29 NA 0.00
coef_adult_more_automobiles_than_workers_mixed_party-1.83 0.672-2.72** NA 0.00
coef_adult_number_of_joint_tours_adult_only-2.13 2.00-1.07 NA 0.00
coef_adult_number_of_joint_tours_mixed-28.6 NA NA[***] 499.96 0.00
coef_adult_number_of_other_adults_in_the_household_adults_only_party 0.00 NA NA NA 0.00fixed value
coef_adult_number_of_other_adults_in_the_household_mixed_party 0.00 NA NA NA 0.00fixed value
coef_child_log_of_max_window_overlap_with_a_child_child 1.28 0.00450 283.43*** NA 0.00
coef_child_log_of_max_window_overlap_with_an_adult_mixed 1.54 0.00635 242.24*** NA 0.00
coef_child_more_automobiles_than_workers_child_only_party-0.395 0.0443-8.91*** NA 0.00
coef_child_more_automobiles_than_workers_mixed_party-1.55 0.672-2.31* NA 0.00
coef_child_number_of_joint_tours_child_only 4.98 388. 0.01 NA 0.00
coef_child_number_of_joint_tours_mixed 17.9 3.48e+03 0.01 NA 0.00
coef_child_number_of_other_children_in_the_household_child_only_party 0.00 NA NA NA 0.00fixed value
coef_child_number_of_other_children_in_the_household_mixed 0.00 NA NA NA 0.00fixed value
coef_child_too_young_for_school_children_only_party-2.79 0.000873-BIG*** NA 0.00
coef_child_too_young_for_school_mixed_party 2.07 1.97e+04 0.00 NA 0.00
coef_child_too_young_for_school_specific_to_discretionary_joint_tours 0.128 0.000270 475.53*** NA 0.00
coef_child_too_young_for_school_specific_to_eating_out_joint_tours 0.659 3.84e-10 BIG*** NA 0.00
coef_driving_age_student_children_only_party-1.82 1.84e-10-BIG*** NA 0.00
coef_driving_age_student_mixed_party-29.0 2.06e+04-0.00 NA 0.00
coef_driving_age_student_specific_to_discretionary_joint_tours-0.667 5.70e-13-BIG*** NA 0.00
coef_driving_age_student_specific_to_eating_out_joint_tours 2.34 0.00 NA[] 0.00 0.00
coef_dummy_for_high_income_for_adult_in_adult_party 0.132 0.897 0.15 NA 0.00
coef_dummy_for_high_income_for_adult_in_mixed_party-0.379 0.321-1.18 NA 0.00
coef_dummy_for_high_income_for_child_in_children_party-0.562 0.00 NA[] 0.00 0.00
coef_dummy_for_high_income_for_child_in_mixed_party-0.514 0.321-1.60 NA 0.00
coef_full_time_worker_mixed_party-957. NA NA[***] NA 0.00
coef_full_time_worker_mixed_party_not 0.500 NA NA NA 0.00fixed value
coef_full_time_worker_specific_to_discretionary_joint_tours 0.439 0.00 NA[] 0.00 0.00
coef_full_time_worker_specific_to_discretionary_joint_tours_not 0.500 NA NA NA 0.00fixed value
coef_full_time_worker_specific_to_eating_out_joint_tours 0.716 0.00 NA[] 0.00 0.00
coef_full_time_worker_specific_to_eating_out_joint_tours_not 0.500 NA NA NA 0.00fixed value
coef_household_in_suburban_area_adult_adult_only_party 0.00 NA NA NA 0.00fixed value
coef_household_in_suburban_area_adult_mixed_party-0.0601 0.00 NA[] 0.00 0.00
coef_household_in_suburban_area_child_child_only_party 0.00 NA NA NA 0.00fixed value
coef_household_in_suburban_area_child_mixed_party 0.00 NA NA NA 0.00fixed value
coef_household_in_urban_area_adult_adult_only_party 0.00 NA NA NA 0.00fixed value
coef_household_in_urban_area_adult_mixed_party 979. 3.97e+03 0.25 NA 0.00
coef_household_in_urban_area_child_child_only_party 6.08 388. 0.02 NA 0.00
coef_household_in_urban_area_child_mixed_party-19.3 1.94e+04-0.00 NA 0.00
coef_non_worker_adults_only_party-4.08 1.45-2.81** NA 0.00
coef_non_worker_mixed_party-125. 0.00 NA[] 0.00 0.00
coef_non_worker_specific_to_discretionary_joint_tours-0.183 0.00 NA[] 0.00 0.00
coef_non_worker_specific_to_eating_out_joint_tours 0.162 0.00 NA[] 0.00 0.00
coef_part_time_worker_adults_only_party-3.25 1.03-3.14** NA 0.00
coef_part_time_worker_adults_only_party_not 0.500 NA NA NA 0.00fixed value
coef_part_time_worker_mixed_party 2.25e+03 0.00 NA[] 0.00 0.00
coef_part_time_worker_specific_to_discretionary_joint_tours 0.285 0.00 NA[] 0.00 0.00
coef_part_time_worker_specific_to_eating_out_joint_tours 2.19 0.00 NA[] 0.00 0.00
coef_pre_driving_age_student_children_only_party 4.15 388. 0.01 NA 0.00
coef_pre_driving_age_student_mixed_party 2.01 1.97e+04 0.00 NA 0.00
coef_pre_driving_age_student_specific_to_discretionary_joint_tours 0.663 0.00 NA[] 0.00 0.00
coef_pre_driving_age_student_specific_to_eating_out_joint_tours 1.39 0.00 NA[] 0.00 0.00
coef_unavailable-999. NA NA NA 0.00fixed value
coef_university_student_mixed_party-959. NA NA[***] NA 0.00
coef_university_student_specific_to_discretionary_joint_tours 0.00 NA NA NA 0.00fixed value
coef_university_student_specific_to_eating_out_joint_tours-0.820 0.00 NA[] 0.00 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_adult_log_of_max_window_overlap_with_a_child_mixed 2.13 0.234 9.09*** 0.00
coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party 1.28 0.229 5.59*** 0.00
coef_adult_more_automobiles_than_workers_adult_only_party 0.121 0.233 0.52 0.00
coef_adult_more_automobiles_than_workers_mixed_party-0.592 0.0889-6.66*** 0.00
coef_adult_number_of_joint_tours_adult_only-0.794 0.488-1.63 0.00
coef_adult_number_of_joint_tours_mixed-1.42 0.525-2.70** 0.00
coef_adult_number_of_other_adults_in_the_household_adults_only_party 0.00 0.00 NA 0.00fixed value
coef_adult_number_of_other_adults_in_the_household_mixed_party 0.00 0.00 NA 0.00fixed value
coef_child_log_of_max_window_overlap_with_a_child_child 1.30 NA NA 0.00
coef_child_log_of_max_window_overlap_with_an_adult_mixed 1.54 NA NA 0.00
coef_child_more_automobiles_than_workers_child_only_party-0.421 6.40e-14-BIG*** 0.00
coef_child_more_automobiles_than_workers_mixed_party-0.366 0.0889-4.12*** 0.00
coef_child_number_of_joint_tours_child_only 0.866 1.10 0.79 0.00
coef_child_number_of_joint_tours_mixed-0.262 0.497-0.53 0.00
coef_child_number_of_other_children_in_the_household_child_only_party 0.00 0.00 NA 0.00fixed value
coef_child_number_of_other_children_in_the_household_mixed 0.00 0.00 NA 0.00fixed value
coef_child_too_young_for_school_children_only_party-1.15 1.19-0.97 0.00
coef_child_too_young_for_school_mixed_party 0.198 0.525 0.38 0.00
coef_child_too_young_for_school_specific_to_discretionary_joint_tours 0.128 NA NA 0.00
coef_child_too_young_for_school_specific_to_eating_out_joint_tours 0.659 1.08e-14 BIG*** 0.00
coef_driving_age_student_children_only_party-2.12 1.40-1.51 0.00
coef_driving_age_student_mixed_party 0.323 0.613 0.53 0.00
coef_driving_age_student_specific_to_discretionary_joint_tours-0.668 4.92e-15-BIG*** 0.00
coef_driving_age_student_specific_to_eating_out_joint_tours 2.34 NA NA 0.00
coef_dummy_for_high_income_for_adult_in_adult_party-0.0682 0.231-0.29 0.00
coef_dummy_for_high_income_for_adult_in_mixed_party 0.113 0.0599 1.89 0.00
coef_dummy_for_high_income_for_child_in_children_party-0.212 0.453-0.47 0.00
coef_dummy_for_high_income_for_child_in_mixed_party-0.0137 0.0599-0.23 0.00
coef_full_time_worker_mixed_party-3.53 0.837-4.21*** 0.00
coef_full_time_worker_mixed_party_not 0.500 0.00 NA 0.00fixed value
coef_full_time_worker_specific_to_discretionary_joint_tours 0.439 7.59e-16 BIG*** 0.00
coef_full_time_worker_specific_to_discretionary_joint_tours_not 0.500 0.00 NA 0.00fixed value
coef_full_time_worker_specific_to_eating_out_joint_tours 0.716 1.68e-16 BIG*** 0.00
coef_full_time_worker_specific_to_eating_out_joint_tours_not 0.500 0.00 NA 0.00fixed value
coef_household_in_suburban_area_adult_adult_only_party 0.00 0.00 NA 0.00fixed value
coef_household_in_suburban_area_adult_mixed_party 1.24 1.10 1.13 0.00
coef_household_in_suburban_area_child_child_only_party 0.00 0.00 NA 0.00fixed value
coef_household_in_suburban_area_child_mixed_party 0.00 0.00 NA 0.00fixed value
coef_household_in_urban_area_adult_adult_only_party 0.00 0.00 NA 0.00fixed value
coef_household_in_urban_area_adult_mixed_party 1.20 1.11 1.09 0.00
coef_household_in_urban_area_child_child_only_party-0.145 0.520-0.28 0.00
coef_household_in_urban_area_child_mixed_party-0.139 0.189-0.74 0.00
coef_non_worker_adults_only_party-3.16 0.310-10.20*** 0.00
coef_non_worker_mixed_party 1.06 1.05 1.01 0.00
coef_non_worker_specific_to_discretionary_joint_tours-0.184 0.00 NA 0.00
coef_non_worker_specific_to_eating_out_joint_tours 0.162 0.00 NA 0.00
coef_part_time_worker_adults_only_party-3.63 0.389-9.33*** 0.00
coef_part_time_worker_adults_only_party_not 0.500 0.00 NA 0.00fixed value
coef_part_time_worker_mixed_party-0.448 0.942-0.48 0.00
coef_part_time_worker_specific_to_discretionary_joint_tours 0.285 0.00 NA 0.00
coef_part_time_worker_specific_to_eating_out_joint_tours 2.19 0.00 NA 0.00
coef_pre_driving_age_student_children_only_party 0.992 1.18 0.84 0.00
coef_pre_driving_age_student_mixed_party-0.0732 0.527-0.14 0.00
coef_pre_driving_age_student_specific_to_discretionary_joint_tours 0.663 0.00 NA 0.00
coef_pre_driving_age_student_specific_to_eating_out_joint_tours 1.39 0.00 NA 0.00
coef_unavailable-999. 0.00 NA 0.00fixed value
coef_university_student_mixed_party-2.90 0.860-3.38*** 0.00
coef_university_student_specific_to_discretionary_joint_tours 0.00 0.00 NA 0.00fixed value
coef_university_student_specific_to_eating_out_joint_tours-0.820 0.00 NA 0.00
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -3626,18 +3595,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -3695,7 +3653,7 @@ " \n", " 1\n", " coef_full_time_worker_mixed_party\n", - " -957.202749\n", + " -3.527365\n", " F\n", " \n", " \n", @@ -3707,7 +3665,7 @@ " \n", " 3\n", " coef_part_time_worker_adults_only_party\n", - " -3.248302\n", + " -3.631928\n", " F\n", " \n", " \n", @@ -3719,61 +3677,61 @@ " \n", " 5\n", " coef_part_time_worker_mixed_party\n", - " 2254.660944\n", + " -0.447984\n", " F\n", " \n", " \n", " 6\n", " coef_university_student_mixed_party\n", - " -958.612314\n", + " -2.902637\n", " F\n", " \n", " \n", " 7\n", " coef_non_worker_adults_only_party\n", - " -4.080384\n", + " -3.161945\n", " F\n", " \n", " \n", " 8\n", " coef_non_worker_mixed_party\n", - " -125.288137\n", + " 1.059162\n", " F\n", " \n", " \n", " 9\n", " coef_child_too_young_for_school_children_only_...\n", - " -2.785631\n", + " -1.149596\n", " F\n", " \n", " \n", " 10\n", " coef_child_too_young_for_school_mixed_party\n", - " 2.069934\n", + " 0.197836\n", " F\n", " \n", " \n", " 11\n", " coef_pre_driving_age_student_children_only_party\n", - " 4.151085\n", + " 0.991812\n", " F\n", " \n", " \n", " 12\n", " coef_pre_driving_age_student_mixed_party\n", - " 2.007228\n", + " -0.073175\n", " F\n", " \n", " \n", " 13\n", " coef_driving_age_student_children_only_party\n", - " -1.822000\n", + " -2.120496\n", " F\n", " \n", " \n", " 14\n", " coef_driving_age_student_mixed_party\n", - " -28.998969\n", + " 0.322986\n", " F\n", " \n", " \n", @@ -3839,13 +3797,13 @@ " \n", " 25\n", " coef_child_too_young_for_school_specific_to_ea...\n", - " 0.658655\n", + " 0.658900\n", " F\n", " \n", " \n", " 26\n", " coef_child_too_young_for_school_specific_to_di...\n", - " 0.128371\n", + " 0.128400\n", " F\n", " \n", " \n", @@ -3881,19 +3839,19 @@ " \n", " 32\n", " coef_household_in_urban_area_adult_mixed_party\n", - " 978.504490\n", + " 1.204039\n", " F\n", " \n", " \n", " 33\n", " coef_household_in_urban_area_child_child_only_...\n", - " 6.082784\n", + " -0.145369\n", " F\n", " \n", " \n", " 34\n", " coef_household_in_urban_area_child_mixed_party\n", - " -19.290030\n", + " -0.138857\n", " F\n", " \n", " \n", @@ -3905,7 +3863,7 @@ " \n", " 36\n", " coef_household_in_suburban_area_adult_mixed_party\n", - " -0.060070\n", + " 1.239881\n", " F\n", " \n", " \n", @@ -3923,73 +3881,73 @@ " \n", " 39\n", " coef_adult_more_automobiles_than_workers_adult...\n", - " 0.311671\n", + " 0.121220\n", " F\n", " \n", " \n", " 40\n", " coef_adult_more_automobiles_than_workers_mixed...\n", - " -1.827740\n", + " -0.591966\n", " F\n", " \n", " \n", " 41\n", " coef_child_more_automobiles_than_workers_child...\n", - " -0.394683\n", + " -0.421400\n", " F\n", " \n", " \n", " 42\n", " coef_child_more_automobiles_than_workers_mixed...\n", - " -1.551914\n", + " -0.366466\n", " F\n", " \n", " \n", " 43\n", " coef_dummy_for_high_income_for_adult_in_adult_...\n", - " 0.131783\n", + " -0.068202\n", " F\n", " \n", " \n", " 44\n", " coef_dummy_for_high_income_for_adult_in_mixed_...\n", - " -0.378918\n", + " 0.112930\n", " F\n", " \n", " \n", " 45\n", " coef_dummy_for_high_income_for_child_in_childr...\n", - " -0.561900\n", + " -0.211892\n", " F\n", " \n", " \n", " 46\n", " coef_dummy_for_high_income_for_child_in_mixed_...\n", - " -0.513571\n", + " -0.013740\n", " F\n", " \n", " \n", " 47\n", " coef_adult_number_of_joint_tours_adult_only\n", - " -2.134054\n", + " -0.794091\n", " F\n", " \n", " \n", " 48\n", " coef_adult_number_of_joint_tours_mixed\n", - " -28.572220\n", + " -1.417451\n", " F\n", " \n", " \n", " 49\n", " coef_child_number_of_joint_tours_child_only\n", - " 4.977604\n", + " 0.866122\n", " F\n", " \n", " \n", " 50\n", " coef_child_number_of_joint_tours_mixed\n", - " 17.894892\n", + " -0.261747\n", " F\n", " \n", " \n", @@ -4019,25 +3977,25 @@ " \n", " 55\n", " coef_adult_log_of_max_window_overlap_with_an_a...\n", - " 1.692145\n", + " 1.280678\n", " F\n", " \n", " \n", " 56\n", " coef_adult_log_of_max_window_overlap_with_a_ch...\n", - " 4.595737\n", + " 2.125116\n", " F\n", " \n", " \n", " 57\n", " coef_child_log_of_max_window_overlap_with_an_a...\n", - " 1.539267\n", + " 1.538000\n", " F\n", " \n", " \n", " 58\n", " coef_child_log_of_max_window_overlap_with_a_ch...\n", - " 1.275585\n", + " 1.296000\n", " F\n", " \n", " \n", @@ -4045,66 +4003,66 @@ "" ], "text/plain": [ - " coefficient_name value constrain\n", - "0 coef_unavailable -999.000000 T\n", - "1 coef_full_time_worker_mixed_party -957.202749 F\n", - "2 coef_full_time_worker_mixed_party_not 0.500000 T\n", - "3 coef_part_time_worker_adults_only_party -3.248302 F\n", - "4 coef_part_time_worker_adults_only_party_not 0.500000 T\n", - "5 coef_part_time_worker_mixed_party 2254.660944 F\n", - "6 coef_university_student_mixed_party -958.612314 F\n", - "7 coef_non_worker_adults_only_party -4.080384 F\n", - "8 coef_non_worker_mixed_party -125.288137 F\n", - "9 coef_child_too_young_for_school_children_only_... -2.785631 F\n", - "10 coef_child_too_young_for_school_mixed_party 2.069934 F\n", - "11 coef_pre_driving_age_student_children_only_party 4.151085 F\n", - "12 coef_pre_driving_age_student_mixed_party 2.007228 F\n", - "13 coef_driving_age_student_children_only_party -1.822000 F\n", - "14 coef_driving_age_student_mixed_party -28.998969 F\n", - "15 coef_full_time_worker_specific_to_eating_out_j... 0.715700 F\n", - "16 coef_full_time_worker_specific_to_eating_out_j... 0.500000 T\n", - "17 coef_full_time_worker_specific_to_discretionar... 0.439200 F\n", - "18 coef_full_time_worker_specific_to_discretionar... 0.500000 T\n", - "19 coef_part_time_worker_specific_to_eating_out_j... 2.188000 F\n", - "20 coef_part_time_worker_specific_to_discretionar... 0.285000 F\n", - "21 coef_university_student_specific_to_eating_out... -0.820000 F\n", - "22 coef_university_student_specific_to_discretion... 0.000000 T\n", - "23 coef_non_worker_specific_to_eating_out_joint_t... 0.161700 F\n", - "24 coef_non_worker_specific_to_discretionary_join... -0.183500 F\n", - "25 coef_child_too_young_for_school_specific_to_ea... 0.658655 F\n", - "26 coef_child_too_young_for_school_specific_to_di... 0.128371 F\n", - "27 coef_pre_driving_age_student_specific_to_eatin... 1.391000 F\n", - "28 coef_pre_driving_age_student_specific_to_discr... 0.662600 F\n", - "29 coef_driving_age_student_specific_to_eating_ou... 2.344000 F\n", - "30 coef_driving_age_student_specific_to_discretio... -0.667500 F\n", - "31 coef_household_in_urban_area_adult_adult_only_... 0.000000 T\n", - "32 coef_household_in_urban_area_adult_mixed_party 978.504490 F\n", - "33 coef_household_in_urban_area_child_child_only_... 6.082784 F\n", - "34 coef_household_in_urban_area_child_mixed_party -19.290030 F\n", - "35 coef_household_in_suburban_area_adult_adult_on... 0.000000 T\n", - "36 coef_household_in_suburban_area_adult_mixed_party -0.060070 F\n", - "37 coef_household_in_suburban_area_child_child_on... 0.000000 T\n", - "38 coef_household_in_suburban_area_child_mixed_party 0.000000 T\n", - "39 coef_adult_more_automobiles_than_workers_adult... 0.311671 F\n", - "40 coef_adult_more_automobiles_than_workers_mixed... -1.827740 F\n", - "41 coef_child_more_automobiles_than_workers_child... -0.394683 F\n", - "42 coef_child_more_automobiles_than_workers_mixed... -1.551914 F\n", - "43 coef_dummy_for_high_income_for_adult_in_adult_... 0.131783 F\n", - "44 coef_dummy_for_high_income_for_adult_in_mixed_... -0.378918 F\n", - "45 coef_dummy_for_high_income_for_child_in_childr... -0.561900 F\n", - "46 coef_dummy_for_high_income_for_child_in_mixed_... -0.513571 F\n", - "47 coef_adult_number_of_joint_tours_adult_only -2.134054 F\n", - "48 coef_adult_number_of_joint_tours_mixed -28.572220 F\n", - "49 coef_child_number_of_joint_tours_child_only 4.977604 F\n", - "50 coef_child_number_of_joint_tours_mixed 17.894892 F\n", - "51 coef_adult_number_of_other_adults_in_the_house... 0.000000 T\n", - "52 coef_adult_number_of_other_adults_in_the_house... 0.000000 T\n", - "53 coef_child_number_of_other_children_in_the_hou... 0.000000 T\n", - "54 coef_child_number_of_other_children_in_the_hou... 0.000000 T\n", - "55 coef_adult_log_of_max_window_overlap_with_an_a... 1.692145 F\n", - "56 coef_adult_log_of_max_window_overlap_with_a_ch... 4.595737 F\n", - "57 coef_child_log_of_max_window_overlap_with_an_a... 1.539267 F\n", - "58 coef_child_log_of_max_window_overlap_with_a_ch... 1.275585 F" + " coefficient_name value constrain\n", + "0 coef_unavailable -999.000000 T\n", + "1 coef_full_time_worker_mixed_party -3.527365 F\n", + "2 coef_full_time_worker_mixed_party_not 0.500000 T\n", + "3 coef_part_time_worker_adults_only_party -3.631928 F\n", + "4 coef_part_time_worker_adults_only_party_not 0.500000 T\n", + "5 coef_part_time_worker_mixed_party -0.447984 F\n", + "6 coef_university_student_mixed_party -2.902637 F\n", + "7 coef_non_worker_adults_only_party -3.161945 F\n", + "8 coef_non_worker_mixed_party 1.059162 F\n", + "9 coef_child_too_young_for_school_children_only_... -1.149596 F\n", + "10 coef_child_too_young_for_school_mixed_party 0.197836 F\n", + "11 coef_pre_driving_age_student_children_only_party 0.991812 F\n", + "12 coef_pre_driving_age_student_mixed_party -0.073175 F\n", + "13 coef_driving_age_student_children_only_party -2.120496 F\n", + "14 coef_driving_age_student_mixed_party 0.322986 F\n", + "15 coef_full_time_worker_specific_to_eating_out_j... 0.715700 F\n", + "16 coef_full_time_worker_specific_to_eating_out_j... 0.500000 T\n", + "17 coef_full_time_worker_specific_to_discretionar... 0.439200 F\n", + "18 coef_full_time_worker_specific_to_discretionar... 0.500000 T\n", + "19 coef_part_time_worker_specific_to_eating_out_j... 2.188000 F\n", + "20 coef_part_time_worker_specific_to_discretionar... 0.285000 F\n", + "21 coef_university_student_specific_to_eating_out... -0.820000 F\n", + "22 coef_university_student_specific_to_discretion... 0.000000 T\n", + "23 coef_non_worker_specific_to_eating_out_joint_t... 0.161700 F\n", + "24 coef_non_worker_specific_to_discretionary_join... -0.183500 F\n", + "25 coef_child_too_young_for_school_specific_to_ea... 0.658900 F\n", + "26 coef_child_too_young_for_school_specific_to_di... 0.128400 F\n", + "27 coef_pre_driving_age_student_specific_to_eatin... 1.391000 F\n", + "28 coef_pre_driving_age_student_specific_to_discr... 0.662600 F\n", + "29 coef_driving_age_student_specific_to_eating_ou... 2.344000 F\n", + "30 coef_driving_age_student_specific_to_discretio... -0.667500 F\n", + "31 coef_household_in_urban_area_adult_adult_only_... 0.000000 T\n", + "32 coef_household_in_urban_area_adult_mixed_party 1.204039 F\n", + "33 coef_household_in_urban_area_child_child_only_... -0.145369 F\n", + "34 coef_household_in_urban_area_child_mixed_party -0.138857 F\n", + "35 coef_household_in_suburban_area_adult_adult_on... 0.000000 T\n", + "36 coef_household_in_suburban_area_adult_mixed_party 1.239881 F\n", + "37 coef_household_in_suburban_area_child_child_on... 0.000000 T\n", + "38 coef_household_in_suburban_area_child_mixed_party 0.000000 T\n", + "39 coef_adult_more_automobiles_than_workers_adult... 0.121220 F\n", + "40 coef_adult_more_automobiles_than_workers_mixed... -0.591966 F\n", + "41 coef_child_more_automobiles_than_workers_child... -0.421400 F\n", + "42 coef_child_more_automobiles_than_workers_mixed... -0.366466 F\n", + "43 coef_dummy_for_high_income_for_adult_in_adult_... -0.068202 F\n", + "44 coef_dummy_for_high_income_for_adult_in_mixed_... 0.112930 F\n", + "45 coef_dummy_for_high_income_for_child_in_childr... -0.211892 F\n", + "46 coef_dummy_for_high_income_for_child_in_mixed_... -0.013740 F\n", + "47 coef_adult_number_of_joint_tours_adult_only -0.794091 F\n", + "48 coef_adult_number_of_joint_tours_mixed -1.417451 F\n", + "49 coef_child_number_of_joint_tours_child_only 0.866122 F\n", + "50 coef_child_number_of_joint_tours_mixed -0.261747 F\n", + "51 coef_adult_number_of_other_adults_in_the_house... 0.000000 T\n", + "52 coef_adult_number_of_other_adults_in_the_house... 0.000000 T\n", + "53 coef_child_number_of_other_children_in_the_hou... 0.000000 T\n", + "54 coef_child_number_of_other_children_in_the_hou... 0.000000 T\n", + "55 coef_adult_log_of_max_window_overlap_with_an_a... 1.280678 F\n", + "56 coef_adult_log_of_max_window_overlap_with_a_ch... 2.125116 F\n", + "57 coef_child_log_of_max_window_overlap_with_an_a... 1.538000 F\n", + "58 coef_child_log_of_max_window_overlap_with_a_ch... 1.296000 F" ] }, "execution_count": 12, @@ -4124,7 +4082,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4138,7 +4096,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/13_joint_nonmand_tour_dest.ipynb b/activitysim/examples/example_estimation/notebooks/13_joint_nonmand_tour_dest.ipynb index 82fc07c165..20b9d7cac1 100644 --- a/activitysim/examples/example_estimation/notebooks/13_joint_nonmand_tour_dest.ipynb +++ b/activitysim/examples/example_estimation/notebooks/13_joint_nonmand_tour_dest.ipynb @@ -28,30 +28,74 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import larch # !conda install larch #for estimation\n", + "import larch as lx\n", "import pandas as pd\n", - "import numpy as np\n", - "import yaml \n", - "import larch.util.excel\n", - "import os" + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -65,19 +109,36 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [ - "modelnames = (\"non_mandatory_tour_destination\", \"joint_tour_destination\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_destination/non_mandatory_tour_destination_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_destination/non_mandatory_tour_destination_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_destination/non_mandatory_tour_destination_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_destination/non_mandatory_tour_destination_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_destination/non_mandatory_tour_destination_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_destination/non_mandatory_tour_destination_size_terms.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_destination/non_mandatory_tour_destination_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_destination/joint_tour_destination_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_destination/joint_tour_destination_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_destination/joint_tour_destination_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_destination/joint_tour_destination_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_destination/joint_tour_destination_size_terms.csv\n" + ] + } + ], "source": [ + "modelnames = (\"non_mandatory_tour_destination\", \"joint_tour_destination\")\n", + "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelnames, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelnames,\n", + " edb_directory=\"output-est-mode/estimation_data_bundle/{name}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -89,26 +150,6 @@ "all models in the group." ] }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "larch.model.model_group.ModelGroup" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "type(model)" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -127,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -272,7 +313,7 @@ "coef_othdiscr_dist_5_plus -0.1193 F" ] }, - "execution_count": 6, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -290,7 +331,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -315,148 +356,88 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", - " 8\n", - " ...\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", - " 190\n", + " alt_dest\n", + " variable_label0000\n", + " variable_label0001\n", + " variable_label0002\n", + " variable_label0003\n", + " variable_label0004\n", + " variable_label0005\n", + " variable_label0006\n", + " variable_label0007\n", + " variable_label0008\n", " \n", " \n", " \n", " \n", " 0\n", - " 6812\n", - " variable_label0001\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 1870\n", + " 8\n", " 1.0\n", + " 1.00\n", + " 2.06\n", + " 0.0\n", + " 0.0\n", + " 7.492867\n", + " False\n", + " -0.349936\n", + " 4.970833\n", " \n", " \n", " 1\n", - " 6812\n", - " variable_label0004\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 1870\n", + " 16\n", + " 1.0\n", + " 1.00\n", + " 2.74\n", " 0.0\n", " 0.0\n", + " 8.289751\n", + " False\n", + " -0.487843\n", + " 4.510890\n", " \n", " \n", " 2\n", - " 6812\n", - " variable_label0002\n", - " 1.3199999332427979\n", - " 1.0299999713897705\n", - " 0.8499999046325684\n", - " 1.190000057220459\n", - " 1.0299999713897705\n", - " 0.7799999713897705\n", - " 0.8399999141693115\n", - " 0.9900000095367432\n", - " ...\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 2.7800002098083496\n", - " 2.25\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", + " 1870\n", + " 17\n", + " 1.0\n", + " 1.00\n", + " 3.00\n", + " 0.1\n", + " 0.0\n", + " 7.651656\n", + " False\n", + " -0.537413\n", + " 5.289744\n", " \n", " \n", " 3\n", - " 6812\n", - " variable_label0003\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.17999982833862305\n", - " 1.0900001525878906\n", - " 0.619999885559082\n", + " 1870\n", + " 24\n", + " 1.0\n", + " 1.00\n", + " 1.77\n", " 0.0\n", " 0.0\n", - " 0.36999988555908203\n", - " 0.7699999809265137\n", - " 0.880000114440918\n", - " 1.8299999237060547\n", - " 1.9099998474121094\n", + " 7.111745\n", + " False\n", + " -0.401546\n", + " 5.208261\n", " \n", " \n", " 4\n", - " 6812\n", - " variable_label0005\n", - " 6.577240859271166\n", - " 7.294423493874009\n", - " 5.752909090156044\n", - " 7.026094604325162\n", - " 8.012728626482545\n", - " 6.442966827027993\n", - " 7.224737382332969\n", - " 6.539973163879868\n", - " ...\n", - " 4.866333729879064\n", - " 5.1845549872093715\n", - " 5.945708525269778\n", - " 6.047381635266343\n", - " 6.06715626447492\n", - " 5.987948372605412\n", - " 5.730242629913322\n", - " 7.343549119396827\n", - " 3.6375335267623483\n", - " 5.304200029706192\n", + " 1870\n", + " 26\n", + " 1.0\n", + " 1.00\n", + " 1.78\n", + " 0.0\n", + " 0.0\n", + " 6.132923\n", + " False\n", + " -0.354362\n", + " 6.192038\n", " \n", " \n", " ...\n", @@ -471,238 +452,139 @@ " ...\n", " ...\n", " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", " \n", " \n", - " 22405\n", - " 309796969\n", - " variable_label0005\n", - " 6.920922213193693\n", - " 7.5031529068855916\n", - " 5.943363520428754\n", - " 7.177433500369317\n", - " 7.744893706655902\n", - " 7.132142856175178\n", - " 7.776358418630959\n", - " 7.492867258990462\n", - " ...\n", - " 6.295404368250281\n", - " 6.542860933838223\n", - " 7.009064302237333\n", - " 6.995735936068004\n", - " 7.245322332115837\n", - " 6.883649044438551\n", - " 6.242536445981009\n", - " 7.341552978800834\n", - " 6.826019054785318\n", - " 6.176073070133304\n", - " \n", - " \n", - " 22406\n", - " 309796969\n", - " variable_label0006\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " ...\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", + " 712367\n", + " 310220296\n", + " 1428\n", + " 1.0\n", + " 1.00\n", + " 1.02\n", + " 0.0\n", + " 0.0\n", + " 7.202319\n", " False\n", + " -0.662897\n", + " 3.354280\n", " \n", " \n", - " 22407\n", - " 309796969\n", - " variable_label0008\n", - " 5.933573903741054\n", - " 5.344185216853384\n", - " 6.89562358280515\n", - " 5.647237616473043\n", - " 5.057110403289843\n", - " 5.668668226461269\n", - " 5.005364682150095\n", - " 5.194710813754951\n", - " ...\n", - " 6.636636760302007\n", - " 6.2913541739318335\n", - " 5.78578181451264\n", - " 5.731482098740245\n", - " 5.204415731979751\n", - " 5.650324057176968\n", - " 6.038731661211121\n", - " 4.657280162420779\n", - " 5.539483971790338\n", - " 6.352944918087955\n", - " \n", - " \n", - " 22408\n", - " 309796969\n", - " variable_label0000\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 712368\n", + " 310220296\n", + " 1430\n", " 1.0\n", + " 1.00\n", + " 0.90\n", + " 0.0\n", + " 0.0\n", + " 7.344198\n", + " False\n", + " -0.447759\n", + " 4.749178\n", + " \n", + " \n", + " 712369\n", + " 310220296\n", + " 1436\n", " 1.0\n", + " 1.00\n", + " 0.05\n", + " 0.0\n", + " 0.0\n", + " 6.819036\n", + " False\n", + " -0.234562\n", + " 3.150228\n", + " \n", + " \n", + " 712370\n", + " 310220296\n", + " 1437\n", " 1.0\n", + " 0.02\n", + " 0.00\n", + " 0.0\n", + " 0.0\n", + " 7.407333\n", + " False\n", + " 0.312912\n", + " 2.531655\n", " \n", " \n", - " 22409\n", - " 309796969\n", - " variable_label0007\n", - " -1.5391004507505035\n", - " -1.5110957206148612\n", - " -1.515112303709407\n", - " -1.4410914767289662\n", - " -1.4214516815414362\n", - " -1.3281227091644512\n", - " -1.305374454701245\n", - " -1.2231266453653264\n", - " ...\n", - " -1.3908896863022484\n", - " -1.2171103795210079\n", - " -1.1316699151863123\n", - " -1.027487960708256\n", - " -0.8599094598489491\n", - " -0.893210378354493\n", - " -0.8567540808188664\n", - " -0.739846345991969\n", - " -0.9938403733030249\n", - " -1.1919534906357447\n", + " 712371\n", + " 310220296\n", + " 1438\n", + " 1.0\n", + " 1.00\n", + " 0.12\n", + " 0.0\n", + " 0.0\n", + " 7.404157\n", + " False\n", + " -0.267253\n", + " 3.706103\n", " \n", " \n", "\n", - "

22410 rows × 192 columns

\n", + "

712372 rows × 11 columns

\n", "" ], "text/plain": [ - " tour_id variable 1 \\\n", - "0 6812 variable_label0001 1.0 \n", - "1 6812 variable_label0004 0.0 \n", - "2 6812 variable_label0002 1.3199999332427979 \n", - "3 6812 variable_label0003 0.0 \n", - "4 6812 variable_label0005 6.577240859271166 \n", - "... ... ... ... \n", - "22405 309796969 variable_label0005 6.920922213193693 \n", - "22406 309796969 variable_label0006 False \n", - "22407 309796969 variable_label0008 5.933573903741054 \n", - "22408 309796969 variable_label0000 1.0 \n", - "22409 309796969 variable_label0007 -1.5391004507505035 \n", + " tour_id alt_dest variable_label0000 variable_label0001 \\\n", + "0 1870 8 1.0 1.00 \n", + "1 1870 16 1.0 1.00 \n", + "2 1870 17 1.0 1.00 \n", + "3 1870 24 1.0 1.00 \n", + "4 1870 26 1.0 1.00 \n", + "... ... ... ... ... \n", + "712367 310220296 1428 1.0 1.00 \n", + "712368 310220296 1430 1.0 1.00 \n", + "712369 310220296 1436 1.0 1.00 \n", + "712370 310220296 1437 1.0 0.02 \n", + "712371 310220296 1438 1.0 1.00 \n", "\n", - " 2 3 4 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 1.0299999713897705 0.8499999046325684 1.190000057220459 \n", - "3 0.0 0.0 0.0 \n", - "4 7.294423493874009 5.752909090156044 7.026094604325162 \n", - "... ... ... ... \n", - "22405 7.5031529068855916 5.943363520428754 7.177433500369317 \n", - "22406 False False False \n", - "22407 5.344185216853384 6.89562358280515 5.647237616473043 \n", - "22408 1.0 1.0 1.0 \n", - "22409 -1.5110957206148612 -1.515112303709407 -1.4410914767289662 \n", + " variable_label0002 variable_label0003 variable_label0004 \\\n", + "0 2.06 0.0 0.0 \n", + "1 2.74 0.0 0.0 \n", + "2 3.00 0.1 0.0 \n", + "3 1.77 0.0 0.0 \n", + "4 1.78 0.0 0.0 \n", + "... ... ... ... \n", + "712367 1.02 0.0 0.0 \n", + "712368 0.90 0.0 0.0 \n", + "712369 0.05 0.0 0.0 \n", + "712370 0.00 0.0 0.0 \n", + "712371 0.12 0.0 0.0 \n", "\n", - " 5 6 7 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 1.0299999713897705 0.7799999713897705 0.8399999141693115 \n", - "3 0.0 0.0 0.0 \n", - "4 8.012728626482545 6.442966827027993 7.224737382332969 \n", - "... ... ... ... \n", - "22405 7.744893706655902 7.132142856175178 7.776358418630959 \n", - "22406 False False False \n", - "22407 5.057110403289843 5.668668226461269 5.005364682150095 \n", - "22408 1.0 1.0 1.0 \n", - "22409 -1.4214516815414362 -1.3281227091644512 -1.305374454701245 \n", + " variable_label0005 variable_label0006 variable_label0007 \\\n", + "0 7.492867 False -0.349936 \n", + "1 8.289751 False -0.487843 \n", + "2 7.651656 False -0.537413 \n", + "3 7.111745 False -0.401546 \n", + "4 6.132923 False -0.354362 \n", + "... ... ... ... \n", + "712367 7.202319 False -0.662897 \n", + "712368 7.344198 False -0.447759 \n", + "712369 6.819036 False -0.234562 \n", + "712370 7.407333 False 0.312912 \n", + "712371 7.404157 False -0.267253 \n", "\n", - " 8 ... 181 182 \\\n", - "0 1.0 ... 1.0 1.0 \n", - "1 0.0 ... 0.0 0.0 \n", - "2 0.9900000095367432 ... 3.0 3.0 \n", - "3 0.0 ... 0.17999982833862305 1.0900001525878906 \n", - "4 6.539973163879868 ... 4.866333729879064 5.1845549872093715 \n", - "... ... ... ... ... \n", - "22405 7.492867258990462 ... 6.295404368250281 6.542860933838223 \n", - "22406 False ... False False \n", - "22407 5.194710813754951 ... 6.636636760302007 6.2913541739318335 \n", - "22408 1.0 ... 1.0 1.0 \n", - "22409 -1.2231266453653264 ... -1.3908896863022484 -1.2171103795210079 \n", + " variable_label0008 \n", + "0 4.970833 \n", + "1 4.510890 \n", + "2 5.289744 \n", + "3 5.208261 \n", + "4 6.192038 \n", + "... ... \n", + "712367 3.354280 \n", + "712368 4.749178 \n", + "712369 3.150228 \n", + "712370 2.531655 \n", + "712371 3.706103 \n", "\n", - " 183 184 185 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 3.0 2.7800002098083496 2.25 \n", - "3 0.619999885559082 0.0 0.0 \n", - "4 5.945708525269778 6.047381635266343 6.06715626447492 \n", - "... ... ... ... \n", - "22405 7.009064302237333 6.995735936068004 7.245322332115837 \n", - "22406 False False False \n", - "22407 5.78578181451264 5.731482098740245 5.204415731979751 \n", - "22408 1.0 1.0 1.0 \n", - "22409 -1.1316699151863123 -1.027487960708256 -0.8599094598489491 \n", - "\n", - " 186 187 188 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 3.0 3.0 3.0 \n", - "3 0.36999988555908203 0.7699999809265137 0.880000114440918 \n", - "4 5.987948372605412 5.730242629913322 7.343549119396827 \n", - "... ... ... ... \n", - "22405 6.883649044438551 6.242536445981009 7.341552978800834 \n", - "22406 False False False \n", - "22407 5.650324057176968 6.038731661211121 4.657280162420779 \n", - "22408 1.0 1.0 1.0 \n", - "22409 -0.893210378354493 -0.8567540808188664 -0.739846345991969 \n", - "\n", - " 189 190 \n", - "0 1.0 1.0 \n", - "1 0.0 0.0 \n", - "2 3.0 3.0 \n", - "3 1.8299999237060547 1.9099998474121094 \n", - "4 3.6375335267623483 5.304200029706192 \n", - "... ... ... \n", - "22405 6.826019054785318 6.176073070133304 \n", - "22406 False False \n", - "22407 5.539483971790338 6.352944918087955 \n", - "22408 1.0 1.0 \n", - "22409 -0.9938403733030249 -1.1919534906357447 \n", - "\n", - "[22410 rows x 192 columns]" + "[712372 rows x 11 columns]" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -713,7 +595,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -738,148 +620,88 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", - " 8\n", - " ...\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", - " 190\n", + " alt_dest\n", + " variable_label0000\n", + " variable_label0001\n", + " variable_label0002\n", + " variable_label0003\n", + " variable_label0004\n", + " variable_label0005\n", + " variable_label0006\n", + " variable_label0007\n", + " variable_label0008\n", " \n", " \n", " \n", " \n", " 0\n", - " 7785298\n", - " variable_label0001\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 7853686\n", + " 5\n", " 1.0\n", " 1.0\n", + " 3.0\n", + " 5.42\n", + " 0.000000\n", + " 8.012729\n", + " False\n", + " -3.683188\n", + " 5.037499\n", " \n", " \n", " 1\n", - " 7785298\n", - " variable_label0004\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 7853686\n", + " 9\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 4.65\n", + " 0.000000\n", + " 7.841204\n", + " False\n", + " -3.477110\n", + " 4.420550\n", " \n", " \n", " 2\n", - " 7785298\n", - " variable_label0002\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 2.8600001335144043\n", - " ...\n", - " 3.0\n", + " 7853686\n", + " 14\n", + " 1.0\n", + " 1.0\n", " 3.0\n", - " 2.8299999237060547\n", - " 2.739999771118164\n", - " 2.179999828338623\n", - " 2.3499999046325684\n", - " 1.4000000953674316\n", - " 0.8399999141693115\n", - " 1.5699999332427979\n", - " 1.9100000858306885\n", + " 5.74\n", + " 0.000000\n", + " 6.755056\n", + " False\n", + " -3.777769\n", + " 5.641640\n", " \n", " \n", " 3\n", - " 7785298\n", - " variable_label0003\n", - " 0.6700000762939453\n", - " 0.6100001335144043\n", - " 0.5399999618530273\n", - " 0.4200000762939453\n", - " 0.2199997901916504\n", - " 0.2199997901916504\n", - " 0.059999942779541016\n", - " 0.0\n", - " ...\n", - " 0.940000057220459\n", - " 0.07000017166137695\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 7853686\n", + " 19\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 4.64\n", + " 0.000000\n", + " 6.889447\n", + " False\n", + " -3.279737\n", + " 5.371069\n", " \n", " \n", " 4\n", - " 7785298\n", - " variable_label0005\n", - " 6.577240859271166\n", - " 7.294423493874009\n", - " 5.752909090156044\n", - " 7.026094604325162\n", - " 8.012728626482545\n", - " 6.442966827027993\n", - " 7.224737382332969\n", - " 6.539973163879868\n", - " ...\n", - " 4.866333729879064\n", - " 5.1845549872093715\n", - " 5.945708525269778\n", - " 6.047381635266343\n", - " 6.06715626447492\n", - " 5.987948372605412\n", - " 5.730242629913322\n", - " 7.343549119396827\n", - " 3.6375335267623483\n", - " 5.304200029706192\n", + " 7853686\n", + " 29\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 5.56\n", + " 0.000000\n", + " 6.470564\n", + " False\n", + " -3.709382\n", + " 6.596995\n", " \n", " \n", " ...\n", @@ -894,238 +716,139 @@ " ...\n", " ...\n", " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", " \n", " \n", - " 814\n", - " 301810980\n", - " variable_label0005\n", - " 7.1032677847373105\n", - " 7.823256899589877\n", - " 6.287721004233\n", - " 7.524478114358913\n", - " 8.260705863875177\n", - " 7.010517622311502\n", - " 7.824700996306483\n", - " 6.949116008358706\n", - " ...\n", - " 4.686971346676491\n", - " 4.924888571639326\n", - " 6.1286361810072245\n", - " 6.008528132533862\n", - " 6.327743907987008\n", - " 6.145720935633594\n", - " 5.563462376541104\n", - " 7.432773706720803\n", - " 3.829901471825824\n", - " 5.955267258796094\n", - " \n", - " \n", - " 815\n", - " 301810980\n", - " variable_label0006\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " ...\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", + " 32626\n", + " 305246245\n", + " 940\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 10.00\n", + " 0.220000\n", + " 6.621308\n", " False\n", + " -0.893075\n", + " 7.328697\n", " \n", " \n", - " 816\n", - " 301810980\n", - " variable_label0008\n", - " 5.435061452848071\n", - " 4.708514344404673\n", - " 6.2363992236454076\n", - " 4.98543309636194\n", - " 4.2284383398225796\n", - " 5.478626581386255\n", - " 4.646955223240626\n", - " 5.500680232862738\n", - " ...\n", - " 5.932115933542424\n", - " 6.178598653123427\n", - " 4.696321042115209\n", - " 4.610559147685053\n", - " 4.291343372231907\n", - " 4.552081408216856\n", - " 5.61268490695845\n", - " 3.809978548664433\n", - " 7.98807577917251\n", - " 5.735554926665741\n", - " \n", - " \n", - " 817\n", - " 301810980\n", - " variable_label0000\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", + " 32627\n", + " 305246245\n", + " 971\n", " 1.0\n", " 1.0\n", + " 3.0\n", + " 9.43\n", + " 0.000000\n", + " 8.112977\n", + " False\n", + " -0.434306\n", + " 5.742782\n", + " \n", + " \n", + " 32628\n", + " 305246245\n", + " 1059\n", " 1.0\n", " 1.0\n", - " 0.9399999976158142\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 3.0\n", + " 10.00\n", + " 5.740000\n", + " 7.339134\n", + " False\n", + " -1.306979\n", + " 7.269407\n", + " \n", + " \n", + " 32629\n", + " 305246245\n", + " 1155\n", " 1.0\n", " 1.0\n", + " 3.0\n", + " 10.00\n", + " 6.820000\n", + " 5.311707\n", + " False\n", + " -1.512147\n", + " 9.425679\n", " \n", " \n", - " 818\n", - " 301810980\n", - " variable_label0007\n", - " -0.8924086549271812\n", - " -0.8596752541456291\n", - " -0.7887167508610915\n", - " -0.8239646807369198\n", - " -0.7776481658829295\n", - " -0.6851415905513534\n", - " -0.682423134247482\n", - " -0.6410852233787339\n", - " ...\n", - " -0.09090903171439692\n", - " -0.23708230600538932\n", - " -0.1763447711955836\n", - " 0.16355680008666837\n", - " 0.41059384524240944\n", - " -0.15526899236164834\n", - " -0.2398310223012045\n", - " -0.27770426926470554\n", - " -0.45370314739749773\n", - " -0.42464839165931\n", + " 32630\n", + " 305246245\n", + " 1441\n", + " 1.0\n", + " 1.0\n", + " 3.0\n", + " 10.00\n", + " 6.059999\n", + " 7.107612\n", + " False\n", + " -1.349290\n", + " 7.539106\n", " \n", " \n", "\n", - "

819 rows × 192 columns

\n", + "

32631 rows × 11 columns

\n", "" ], "text/plain": [ - " tour_id variable 1 2 \\\n", - "0 7785298 variable_label0001 1.0 1.0 \n", - "1 7785298 variable_label0004 0.0 0.0 \n", - "2 7785298 variable_label0002 3.0 3.0 \n", - "3 7785298 variable_label0003 0.6700000762939453 0.6100001335144043 \n", - "4 7785298 variable_label0005 6.577240859271166 7.294423493874009 \n", - ".. ... ... ... ... \n", - "814 301810980 variable_label0005 7.1032677847373105 7.823256899589877 \n", - "815 301810980 variable_label0006 False False \n", - "816 301810980 variable_label0008 5.435061452848071 4.708514344404673 \n", - "817 301810980 variable_label0000 1.0 1.0 \n", - "818 301810980 variable_label0007 -0.8924086549271812 -0.8596752541456291 \n", - "\n", - " 3 4 5 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 3.0 3.0 3.0 \n", - "3 0.5399999618530273 0.4200000762939453 0.2199997901916504 \n", - "4 5.752909090156044 7.026094604325162 8.012728626482545 \n", - ".. ... ... ... \n", - "814 6.287721004233 7.524478114358913 8.260705863875177 \n", - "815 False False False \n", - "816 6.2363992236454076 4.98543309636194 4.2284383398225796 \n", - "817 1.0 1.0 1.0 \n", - "818 -0.7887167508610915 -0.8239646807369198 -0.7776481658829295 \n", + " tour_id alt_dest variable_label0000 variable_label0001 \\\n", + "0 7853686 5 1.0 1.0 \n", + "1 7853686 9 1.0 1.0 \n", + "2 7853686 14 1.0 1.0 \n", + "3 7853686 19 1.0 1.0 \n", + "4 7853686 29 1.0 1.0 \n", + "... ... ... ... ... \n", + "32626 305246245 940 1.0 1.0 \n", + "32627 305246245 971 1.0 1.0 \n", + "32628 305246245 1059 1.0 1.0 \n", + "32629 305246245 1155 1.0 1.0 \n", + "32630 305246245 1441 1.0 1.0 \n", "\n", - " 6 7 8 ... \\\n", - "0 1.0 1.0 1.0 ... \n", - "1 0.0 0.0 0.0 ... \n", - "2 3.0 3.0 2.8600001335144043 ... \n", - "3 0.2199997901916504 0.059999942779541016 0.0 ... \n", - "4 6.442966827027993 7.224737382332969 6.539973163879868 ... \n", - ".. ... ... ... ... \n", - "814 7.010517622311502 7.824700996306483 6.949116008358706 ... \n", - "815 False False False ... \n", - "816 5.478626581386255 4.646955223240626 5.500680232862738 ... \n", - "817 1.0 1.0 1.0 ... \n", - "818 -0.6851415905513534 -0.682423134247482 -0.6410852233787339 ... \n", + " variable_label0002 variable_label0003 variable_label0004 \\\n", + "0 3.0 5.42 0.000000 \n", + "1 3.0 4.65 0.000000 \n", + "2 3.0 5.74 0.000000 \n", + "3 3.0 4.64 0.000000 \n", + "4 3.0 5.56 0.000000 \n", + "... ... ... ... \n", + "32626 3.0 10.00 0.220000 \n", + "32627 3.0 9.43 0.000000 \n", + "32628 3.0 10.00 5.740000 \n", + "32629 3.0 10.00 6.820000 \n", + "32630 3.0 10.00 6.059999 \n", "\n", - " 181 182 183 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 3.0 3.0 2.8299999237060547 \n", - "3 0.940000057220459 0.07000017166137695 0.0 \n", - "4 4.866333729879064 5.1845549872093715 5.945708525269778 \n", - ".. ... ... ... \n", - "814 4.686971346676491 4.924888571639326 6.1286361810072245 \n", - "815 False False False \n", - "816 5.932115933542424 6.178598653123427 4.696321042115209 \n", - "817 1.0 1.0 1.0 \n", - "818 -0.09090903171439692 -0.23708230600538932 -0.1763447711955836 \n", + " variable_label0005 variable_label0006 variable_label0007 \\\n", + "0 8.012729 False -3.683188 \n", + "1 7.841204 False -3.477110 \n", + "2 6.755056 False -3.777769 \n", + "3 6.889447 False -3.279737 \n", + "4 6.470564 False -3.709382 \n", + "... ... ... ... \n", + "32626 6.621308 False -0.893075 \n", + "32627 8.112977 False -0.434306 \n", + "32628 7.339134 False -1.306979 \n", + "32629 5.311707 False -1.512147 \n", + "32630 7.107612 False -1.349290 \n", "\n", - " 184 185 186 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 2.739999771118164 2.179999828338623 2.3499999046325684 \n", - "3 0.0 0.0 0.0 \n", - "4 6.047381635266343 6.06715626447492 5.987948372605412 \n", - ".. ... ... ... \n", - "814 6.008528132533862 6.327743907987008 6.145720935633594 \n", - "815 False False False \n", - "816 4.610559147685053 4.291343372231907 4.552081408216856 \n", - "817 1.0 0.9399999976158142 1.0 \n", - "818 0.16355680008666837 0.41059384524240944 -0.15526899236164834 \n", + " variable_label0008 \n", + "0 5.037499 \n", + "1 4.420550 \n", + "2 5.641640 \n", + "3 5.371069 \n", + "4 6.596995 \n", + "... ... \n", + "32626 7.328697 \n", + "32627 5.742782 \n", + "32628 7.269407 \n", + "32629 9.425679 \n", + "32630 7.539106 \n", "\n", - " 187 188 189 \\\n", - "0 1.0 1.0 1.0 \n", - "1 0.0 0.0 0.0 \n", - "2 1.4000000953674316 0.8399999141693115 1.5699999332427979 \n", - "3 0.0 0.0 0.0 \n", - "4 5.730242629913322 7.343549119396827 3.6375335267623483 \n", - ".. ... ... ... \n", - "814 5.563462376541104 7.432773706720803 3.829901471825824 \n", - "815 False False False \n", - "816 5.61268490695845 3.809978548664433 7.98807577917251 \n", - "817 1.0 1.0 1.0 \n", - "818 -0.2398310223012045 -0.27770426926470554 -0.45370314739749773 \n", - "\n", - " 190 \n", - "0 1.0 \n", - "1 0.0 \n", - "2 1.9100000858306885 \n", - "3 0.0 \n", - "4 5.304200029706192 \n", - ".. ... \n", - "814 5.955267258796094 \n", - "815 False \n", - "816 5.735554926665741 \n", - "817 1.0 \n", - "818 -0.42464839165931 \n", - "\n", - "[819 rows x 192 columns]" + "[32631 rows x 11 columns]" ] }, - "execution_count": 8, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -1143,7 +866,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -1178,48 +901,48 @@ " \n", " \n", " 0\n", - " 6812\n", - " 72\n", - " 72.0\n", - " 166\n", - " eatout\n", - " 71\n", + " 1870\n", + " 70\n", + " 26\n", + " 45\n", + " othdiscr\n", + " 52\n", " \n", " \n", " 1\n", - " 8110\n", - " 62\n", - " 47.0\n", - " 197\n", - " shopping\n", - " 80\n", + " 20468\n", + " 138\n", + " 161\n", + " 499\n", + " escort\n", + " 124\n", " \n", " \n", " 2\n", - " 11013\n", - " 33\n", - " 32.0\n", - " 268\n", - " othdiscr\n", - " 91\n", + " 27055\n", + " 133\n", + " 185\n", + " 659\n", + " social\n", + " 132\n", " \n", " \n", " 3\n", - " 11016\n", - " 71\n", - " 71.0\n", - " 268\n", - " othmaint\n", - " 91\n", + " 38877\n", + " 115\n", + " 147\n", + " 948\n", + " escort\n", + " 148\n", " \n", " \n", " 4\n", - " 15403\n", - " 67\n", - " 67.0\n", - " 375\n", - " othmaint\n", - " 105\n", + " 38904\n", + " 107\n", + " 104\n", + " 948\n", + " social\n", + " 148\n", " \n", " \n", " ...\n", @@ -1231,86 +954,86 @@ " ...\n", " \n", " \n", - " 2485\n", - " 309760814\n", - " 154\n", - " 154.0\n", - " 7555141\n", + " 29664\n", + " 310197956\n", + " 1374\n", + " 1384\n", + " 7565803\n", " shopping\n", - " 85\n", + " 1386\n", " \n", " \n", - " 2486\n", - " 309760815\n", - " 41\n", - " 41.0\n", - " 7555141\n", - " shopping\n", - " 85\n", + " 29665\n", + " 310202376\n", + " 1402\n", + " 1402\n", + " 7565911\n", + " othdiscr\n", + " 1402\n", " \n", " \n", - " 2487\n", - " 309790009\n", - " 36\n", - " 36.0\n", - " 7555853\n", - " social\n", - " 115\n", + " 29666\n", + " 310202384\n", + " 1402\n", + " 1402\n", + " 7565911\n", + " shopping\n", + " 1402\n", " \n", " \n", - " 2488\n", - " 309796968\n", - " 94\n", - " 94.0\n", - " 7556023\n", - " othdiscr\n", - " 136\n", + " 29667\n", + " 310212634\n", + " 1405\n", + " 1422\n", + " 7566161\n", + " shopping\n", + " 1421\n", " \n", " \n", - " 2489\n", - " 309796969\n", - " 129\n", - " 128.0\n", - " 7556023\n", - " othdiscr\n", - " 136\n", + " 29668\n", + " 310220296\n", + " 1156\n", + " 1430\n", + " 7566348\n", + " othmaint\n", + " 1437\n", " \n", " \n", "\n", - "

2490 rows × 6 columns

\n", + "

29669 rows × 6 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 6812 72 72.0 166 eatout \n", - "1 8110 62 47.0 197 shopping \n", - "2 11013 33 32.0 268 othdiscr \n", - "3 11016 71 71.0 268 othmaint \n", - "4 15403 67 67.0 375 othmaint \n", - "... ... ... ... ... ... \n", - "2485 309760814 154 154.0 7555141 shopping \n", - "2486 309760815 41 41.0 7555141 shopping \n", - "2487 309790009 36 36.0 7555853 social \n", - "2488 309796968 94 94.0 7556023 othdiscr \n", - "2489 309796969 129 128.0 7556023 othdiscr \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 1870 70 26 45 othdiscr \n", + "1 20468 138 161 499 escort \n", + "2 27055 133 185 659 social \n", + "3 38877 115 147 948 escort \n", + "4 38904 107 104 948 social \n", + "... ... ... ... ... ... \n", + "29664 310197956 1374 1384 7565803 shopping \n", + "29665 310202376 1402 1402 7565911 othdiscr \n", + "29666 310202384 1402 1402 7565911 shopping \n", + "29667 310212634 1405 1422 7566161 shopping \n", + "29668 310220296 1156 1430 7566348 othmaint \n", "\n", - " home_zone_id \n", - "0 71 \n", - "1 80 \n", - "2 91 \n", - "3 91 \n", - "4 105 \n", - "... ... \n", - "2485 85 \n", - "2486 85 \n", - "2487 115 \n", - "2488 136 \n", - "2489 136 \n", + " home_zone_id \n", + "0 52 \n", + "1 124 \n", + "2 132 \n", + "3 148 \n", + "4 148 \n", + "... ... \n", + "29664 1386 \n", + "29665 1402 \n", + "29666 1402 \n", + "29667 1421 \n", + "29668 1437 \n", "\n", - "[2490 rows x 6 columns]" + "[29669 rows x 6 columns]" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -1321,7 +1044,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -1356,48 +1079,48 @@ " \n", " \n", " 0\n", - " 7785298\n", - " 113\n", - " 103.0\n", - " 189885\n", + " 7853686\n", + " 131\n", + " 131\n", + " 191553\n", " eatout\n", - " 135\n", + " 217\n", " \n", " \n", " 1\n", - " 8708454\n", - " 103\n", - " 106.0\n", - " 212401\n", - " eatout\n", - " 8\n", + " 7902318\n", + " 321\n", + " 323\n", + " 192739\n", + " shopping\n", + " 322\n", " \n", " \n", " 2\n", - " 9715006\n", - " 188\n", - " 188.0\n", - " 236951\n", + " 7909776\n", + " 350\n", + " 320\n", + " 192921\n", " othdiscr\n", - " 183\n", + " 330\n", " \n", " \n", " 3\n", - " 10831112\n", - " 105\n", - " 105.0\n", - " 264173\n", - " shopping\n", - " 10\n", + " 7988742\n", + " 527\n", + " 637\n", + " 194847\n", + " othdiscr\n", + " 526\n", " \n", " \n", " 4\n", - " 20334787\n", - " 157\n", - " 157.0\n", - " 495970\n", - " othmaint\n", - " 140\n", + " 8103874\n", + " 591\n", + " 687\n", + " 197655\n", + " shopping\n", + " 683\n", " \n", " \n", " ...\n", @@ -1409,86 +1132,86 @@ " ...\n", " \n", " \n", - " 86\n", - " 283676518\n", - " 115\n", - " 115.0\n", - " 6918939\n", - " shopping\n", - " 121\n", + " 1272\n", + " 303771147\n", + " 484\n", + " 673\n", + " 7409052\n", + " othdiscr\n", + " 675\n", " \n", " \n", - " 87\n", - " 295260168\n", - " 7\n", - " 7.0\n", - " 7201469\n", + " 1273\n", + " 304144212\n", + " 796\n", + " 843\n", + " 7418154\n", " social\n", - " 114\n", + " 806\n", " \n", " \n", - " 88\n", - " 297646485\n", - " 90\n", - " 89.0\n", - " 7259670\n", + " 1274\n", + " 304463637\n", + " 9\n", + " 38\n", + " 7425942\n", " othdiscr\n", - " 25\n", + " 1043\n", " \n", " \n", - " 89\n", - " 298814741\n", - " 147\n", - " 147.0\n", - " 7288164\n", - " othmaint\n", - " 74\n", + " 1275\n", + " 305125582\n", + " 29\n", + " 98\n", + " 7442087\n", + " othdiscr\n", + " 50\n", " \n", " \n", - " 90\n", - " 301810980\n", - " 66\n", - " 66.0\n", - " 7361244\n", - " othmaint\n", - " 177\n", + " 1276\n", + " 305246245\n", + " 2\n", + " 149\n", + " 7445030\n", + " othdiscr\n", + " 149\n", " \n", " \n", "\n", - "

91 rows × 6 columns

\n", + "

1277 rows × 6 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 7785298 113 103.0 189885 eatout \n", - "1 8708454 103 106.0 212401 eatout \n", - "2 9715006 188 188.0 236951 othdiscr \n", - "3 10831112 105 105.0 264173 shopping \n", - "4 20334787 157 157.0 495970 othmaint \n", - ".. ... ... ... ... ... \n", - "86 283676518 115 115.0 6918939 shopping \n", - "87 295260168 7 7.0 7201469 social \n", - "88 297646485 90 89.0 7259670 othdiscr \n", - "89 298814741 147 147.0 7288164 othmaint \n", - "90 301810980 66 66.0 7361244 othmaint \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 7853686 131 131 191553 eatout \n", + "1 7902318 321 323 192739 shopping \n", + "2 7909776 350 320 192921 othdiscr \n", + "3 7988742 527 637 194847 othdiscr \n", + "4 8103874 591 687 197655 shopping \n", + "... ... ... ... ... ... \n", + "1272 303771147 484 673 7409052 othdiscr \n", + "1273 304144212 796 843 7418154 social \n", + "1274 304463637 9 38 7425942 othdiscr \n", + "1275 305125582 29 98 7442087 othdiscr \n", + "1276 305246245 2 149 7445030 othdiscr \n", "\n", - " home_zone_id \n", - "0 135 \n", - "1 8 \n", - "2 183 \n", - "3 10 \n", - "4 140 \n", - ".. ... \n", - "86 121 \n", - "87 114 \n", - "88 25 \n", - "89 74 \n", - "90 177 \n", + " home_zone_id \n", + "0 217 \n", + "1 322 \n", + "2 330 \n", + "3 526 \n", + "4 683 \n", + "... ... \n", + "1272 675 \n", + "1273 806 \n", + "1274 1043 \n", + "1275 50 \n", + "1276 149 \n", "\n", - "[91 rows x 6 columns]" + "[1277 rows x 6 columns]" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1506,7 +1229,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -1592,9 +1315,9 @@ " 7\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 3\n", " 5.89564\n", " 2.875000\n", @@ -1616,9 +1339,9 @@ " 19\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.84871\n", " 5.195214\n", @@ -1640,9 +1363,9 @@ " 38\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.53231\n", " 80.470405\n", @@ -1664,9 +1387,9 @@ " 20\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 2\n", " 5.64330\n", " 7.947368\n", @@ -1688,9 +1411,9 @@ " 86\n", " ...\n", " 0\n", - " 0.00000\n", + " 0.0\n", " 72.14684\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.52555\n", " 38.187500\n", @@ -1723,191 +1446,191 @@ " ...\n", " \n", " \n", - " 186\n", - " 4\n", - " 4\n", - " 1\n", - " 2779\n", - " 8062\n", - " 376.0\n", - " 172.0\n", - " 15.00000\n", - " 1760\n", - " 1178\n", + " 1450\n", + " 34\n", + " 34\n", + " 9\n", + " 2724\n", + " 6493\n", + " 1320.0\n", + " 630.0\n", + " 69.00000\n", + " 1046\n", + " 1013\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.04173\n", - " 14.860963\n", - " 9.411765\n", - " 5.762347\n", + " 1.12116\n", + " 3.896996\n", + " 1.496423\n", + " 1.081235\n", " False\n", " \n", " \n", - " 187\n", - " 4\n", - " 4\n", - " 1\n", - " 1492\n", - " 4139\n", - " 214.0\n", - " 116.0\n", - " 10.00000\n", - " 808\n", - " 603\n", + " 1451\n", + " 34\n", + " 34\n", + " 9\n", + " 2016\n", + " 4835\n", + " 664.0\n", + " 379.0\n", + " 43.00000\n", + " 757\n", + " 757\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", - " 2\n", - " 1.73676\n", - " 11.841270\n", - " 6.412698\n", - " 4.159890\n", + " 0.0\n", + " 1\n", + " 1.17116\n", + " 4.777251\n", + " 1.793839\n", + " 1.304140\n", " False\n", " \n", " \n", - " 188\n", - " 4\n", - " 4\n", - " 1\n", - " 753\n", - " 4072\n", - " 232.0\n", - " 11.0\n", - " 178.00000\n", - " 4502\n", - " 1117\n", + " 1452\n", + " 34\n", + " 34\n", + " 9\n", + " 2178\n", + " 5055\n", + " 1068.0\n", + " 602.0\n", + " 35.00000\n", + " 2110\n", + " 789\n", " ...\n", - " 2\n", - " 3961.04761\n", - " 17397.79102\n", - " 11152.93652\n", + " 4\n", + " 0.0\n", + " 0.00000\n", + " 0.0\n", " 1\n", - " 2.28992\n", - " 3.984127\n", - " 23.820106\n", - " 3.413233\n", + " 1.17587\n", + " 3.419152\n", + " 3.312402\n", + " 1.682465\n", " False\n", " \n", " \n", - " 189\n", - " 4\n", - " 4\n", - " 1\n", - " 3546\n", - " 8476\n", - " 201.0\n", - " 72.0\n", - " 6.00000\n", - " 226\n", - " 1057\n", + " 1453\n", + " 34\n", + " 34\n", + " 9\n", + " 298\n", + " 779\n", + " 14195.0\n", + " 429.0\n", + " 4.00000\n", + " 922\n", + " 88\n", " ...\n", - " 2\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.88773\n", - " 45.461538\n", - " 2.897436\n", - " 2.723836\n", + " 1.01972\n", + " 0.688222\n", + " 2.129330\n", + " 0.520115\n", " False\n", " \n", " \n", - " 190\n", - " 4\n", - " 4\n", - " 1\n", - " 968\n", - " 1647\n", - " 1381.0\n", - " 14.0\n", - " 28.00000\n", - " 1010\n", - " 114\n", + " 1454\n", + " 34\n", + " 34\n", + " 9\n", + " 1068\n", + " 2337\n", + " 10469.0\n", + " 1114.0\n", + " 27.00000\n", + " 607\n", + " 418\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.60309\n", - " 23.047619\n", - " 24.047619\n", - " 11.768501\n", + " 0.95542\n", + " 0.936021\n", + " 0.531989\n", + " 0.339203\n", " False\n", " \n", " \n", "\n", - "

190 rows × 28 columns

\n", + "

1454 rows × 28 columns

\n", "" ], "text/plain": [ - " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", - "zone_id \n", - "1 1 1 1 46 82 20.3 1.0 15.00000 \n", - "2 1 1 1 134 240 31.1 1.0 24.79297 \n", - "3 1 1 1 267 476 14.7 1.0 2.31799 \n", - "4 1 1 1 151 253 19.3 1.0 18.00000 \n", - "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", - "... ... .. ... ... ... ... ... ... \n", - "186 4 4 1 2779 8062 376.0 172.0 15.00000 \n", - "187 4 4 1 1492 4139 214.0 116.0 10.00000 \n", - "188 4 4 1 753 4072 232.0 11.0 178.00000 \n", - "189 4 4 1 3546 8476 201.0 72.0 6.00000 \n", - "190 4 4 1 968 1647 1381.0 14.0 28.00000 \n", + " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", + "zone_id \n", + "1 1 1 1 46 82 20.3 1.0 15.00000 \n", + "2 1 1 1 134 240 31.1 1.0 24.79297 \n", + "3 1 1 1 267 476 14.7 1.0 2.31799 \n", + "4 1 1 1 151 253 19.3 1.0 18.00000 \n", + "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", + "... ... .. ... ... ... ... ... ... \n", + "1450 34 34 9 2724 6493 1320.0 630.0 69.00000 \n", + "1451 34 34 9 2016 4835 664.0 379.0 43.00000 \n", + "1452 34 34 9 2178 5055 1068.0 602.0 35.00000 \n", + "1453 34 34 9 298 779 14195.0 429.0 4.00000 \n", + "1454 34 34 9 1068 2337 10469.0 1114.0 27.00000 \n", "\n", - " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE \\\n", - "zone_id ... \n", - "1 27318 7 ... 0 0.00000 0.00000 \n", - "2 42078 19 ... 0 0.00000 0.00000 \n", - "3 2445 38 ... 0 0.00000 0.00000 \n", - "4 22434 20 ... 0 0.00000 0.00000 \n", - "5 15662 86 ... 0 0.00000 72.14684 \n", - "... ... ... ... ... ... ... \n", - "186 1760 1178 ... 3 0.00000 0.00000 \n", - "187 808 603 ... 3 0.00000 0.00000 \n", - "188 4502 1117 ... 2 3961.04761 17397.79102 \n", - "189 226 1057 ... 2 0.00000 0.00000 \n", - "190 1010 114 ... 3 0.00000 0.00000 \n", + " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE COLLPTE \\\n", + "zone_id ... \n", + "1 27318 7 ... 0 0.0 0.00000 0.0 \n", + "2 42078 19 ... 0 0.0 0.00000 0.0 \n", + "3 2445 38 ... 0 0.0 0.00000 0.0 \n", + "4 22434 20 ... 0 0.0 0.00000 0.0 \n", + "5 15662 86 ... 0 0.0 72.14684 0.0 \n", + "... ... ... ... ... ... ... ... \n", + "1450 1046 1013 ... 4 0.0 0.00000 0.0 \n", + "1451 757 757 ... 4 0.0 0.00000 0.0 \n", + "1452 2110 789 ... 4 0.0 0.00000 0.0 \n", + "1453 922 88 ... 5 0.0 0.00000 0.0 \n", + "1454 607 418 ... 5 0.0 0.00000 0.0 \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "zone_id \n", - "1 0.00000 3 5.89564 2.875000 \n", - "2 0.00000 1 5.84871 5.195214 \n", - "3 0.00000 1 5.53231 80.470405 \n", - "4 0.00000 2 5.64330 7.947368 \n", - "5 0.00000 1 5.52555 38.187500 \n", - "... ... ... ... ... \n", - "186 0.00000 1 2.04173 14.860963 \n", - "187 0.00000 2 1.73676 11.841270 \n", - "188 11152.93652 1 2.28992 3.984127 \n", - "189 0.00000 1 2.88773 45.461538 \n", - "190 0.00000 1 2.60309 23.047619 \n", + " TOPOLOGY TERMINAL household_density employment_density \\\n", + "zone_id \n", + "1 3 5.89564 2.875000 1707.375000 \n", + "2 1 5.84871 5.195214 1631.374751 \n", + "3 1 5.53231 80.470405 736.891913 \n", + "4 2 5.64330 7.947368 1180.736842 \n", + "5 1 5.52555 38.187500 978.875000 \n", + "... ... ... ... ... \n", + "1450 1 1.12116 3.896996 1.496423 \n", + "1451 1 1.17116 4.777251 1.793839 \n", + "1452 1 1.17587 3.419152 3.312402 \n", + "1453 1 1.01972 0.688222 2.129330 \n", + "1454 1 0.95542 0.936021 0.531989 \n", "\n", - " employment_density density_index is_cbd \n", - "zone_id \n", - "1 1707.375000 2.870167 False \n", - "2 1631.374751 5.178722 False \n", - "3 736.891913 72.547987 False \n", - "4 1180.736842 7.894233 False \n", - "5 978.875000 36.753679 False \n", - "... ... ... ... \n", - "186 9.411765 5.762347 False \n", - "187 6.412698 4.159890 False \n", - "188 23.820106 3.413233 False \n", - "189 2.897436 2.723836 False \n", - "190 24.047619 11.768501 False \n", + " density_index is_cbd \n", + "zone_id \n", + "1 2.870167 False \n", + "2 5.178722 False \n", + "3 72.547987 False \n", + "4 7.894233 False \n", + "5 36.753679 False \n", + "... ... ... \n", + "1450 1.081235 False \n", + "1451 1.304140 False \n", + "1452 1.682465 False \n", + "1453 0.520115 False \n", + "1454 0.339203 False \n", "\n", - "[190 rows x 28 columns]" + "[1454 rows x 28 columns]" ] }, - "execution_count": 11, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1925,7 +1648,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -2141,7 +1864,7 @@ "7 1 " ] }, - "execution_count": 12, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -2159,7 +1882,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -2270,7 +1993,7 @@ "othdiscr 0.252 0.212 0.272 0.165 0.000 0.098" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -2290,21 +2013,13 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 029 [Optimization terminated successfully]

" + "

Iteration 046 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -2316,7 +2031,7 @@ { "data": { "text/html": [ - "

Best LL = -13268.709190928732

" + "

Best LL = -85747.12036028807

" ], "text/plain": [ "" @@ -2347,13 +2062,22 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -2361,465 +2085,432 @@ " -999\n", " -999.000000\n", " -999.000000\n", - " -999.0\n", - " -999.0\n", - " -999.0\n", - " 1\n", - " \n", " -999.000000\n", + " -999.000000\n", + " -999.000000\n", + " 0.0\n", + " 1\n", " \n", " \n", " 0\n", " 0.000000\n", " 0.000000\n", - " 0.0\n", - " 0.0\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " 1\n", " 1.000000\n", " 1.000000\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " \n", " 1.000000\n", + " 1.000000\n", + " 1.000000\n", + " 0.0\n", + " 1\n", " \n", " \n", " coef_eatout_dist_0_2\n", - " -0.767979\n", + " -0.959646\n", + " -0.959646\n", " -0.560900\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.767979\n", " \n", " \n", " coef_eatout_dist_2_5\n", - " -0.226448\n", + " -0.427890\n", + " -0.427890\n", " -0.319200\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.226448\n", " \n", " \n", " coef_eatout_dist_5_plus\n", - " -0.188137\n", + " -0.182199\n", + " -0.182199\n", " -0.123800\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.188137\n", " \n", " \n", " coef_escort_dist_0_2\n", - " 0.226691\n", + " -0.290871\n", + " -0.290871\n", " -0.149900\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.226691\n", " \n", " \n", " coef_escort_dist_2_5\n", - " -0.813494\n", + " -0.959038\n", + " -0.959038\n", " -0.867100\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.813494\n", " \n", " \n", " coef_escort_dist_5_plus\n", - " -0.255056\n", + " -0.264682\n", + " -0.264682\n", " -0.213700\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.255056\n", " \n", " \n", " coef_mode_logsum\n", - " 0.662937\n", + " 0.165346\n", + " 0.165346\n", " 0.675500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.662937\n", " \n", " \n", " coef_othdiscr_dist_0_2\n", - " -0.203187\n", + " -0.424399\n", + " -0.424399\n", " -0.167700\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.203187\n", " \n", " \n", " coef_othdiscr_dist_2_5\n", - " -0.550945\n", + " -0.615669\n", + " -0.615669\n", " -0.495500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.550945\n", " \n", " \n", " coef_othdiscr_dist_5_plus\n", - " -0.000141\n", + " -0.171387\n", + " -0.171387\n", " -0.119300\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.000141\n", " \n", " \n", " coef_othmaint_dist_2_5\n", - " -0.579932\n", + " -0.796780\n", + " -0.796780\n", " -0.605500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.579932\n", " \n", " \n", " coef_othmaint_dist_5_plus\n", - " -0.229655\n", + " -0.156745\n", + " -0.156745\n", " -0.109300\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.229655\n", " \n", " \n", " coef_shopping_dist_2_5\n", - " -0.629792\n", + " -0.704553\n", + " -0.704553\n", " -0.565500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.629792\n", " \n", " \n", " coef_shopping_dist_5_plus\n", - " -0.130649\n", + " -0.234821\n", + " -0.234821\n", " -0.183200\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.130649\n", " \n", " \n", " coef_social_dist_2_5\n", - " -0.245175\n", + " -0.464176\n", + " -0.464176\n", " -0.348500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.245175\n", " \n", " \n", " coef_social_dist_5_plus\n", - " -0.190239\n", + " -0.176446\n", + " -0.176446\n", " -0.130600\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.190239\n", " \n", " \n", " eatout_HEREMPN\n", - " -0.946877\n", + " -1.601448\n", + " -1.601448\n", " -1.354796\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.946877\n", " \n", " \n", " eatout_RETEMPN\n", " -0.298406\n", " -0.298406\n", + " -0.298406\n", + " -0.298406\n", + " -0.298406\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -0.298406\n", " \n", " \n", " escort_AGE0519\n", - " -1.171241\n", + " -0.765963\n", + " -0.765963\n", " -0.765718\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.171241\n", " \n", " \n", " escort_HEREMPN\n", - " -2.450057\n", + " -1.996310\n", + " -1.996310\n", " -1.937942\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.450057\n", " \n", " \n", " escort_HSENROLL\n", - " -3.304440\n", - " -1.795767\n", + " -1.872611\n", + " -1.872611\n", + " -1.795768\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -3.304440\n", " \n", " \n", " escort_RETEMPN\n", " -1.491655\n", " -1.491655\n", + " -1.491655\n", + " -1.491655\n", + " -1.491655\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -1.491655\n", " \n", " \n", " othdiscr_HEREMPN\n", - " -1.584964\n", + " -1.342128\n", + " -1.342128\n", " -1.301953\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.584964\n", " \n", " \n", " othdiscr_HSENROLL\n", - " -2.466750\n", + " -2.287886\n", + " -2.287886\n", " -2.322788\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.466750\n", " \n", " \n", " othdiscr_OTHEMPN\n", - " -2.370292\n", + " -1.905661\n", + " -1.905661\n", " -1.801810\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.370292\n", " \n", " \n", " othdiscr_RETEMPN\n", - " -1.238181\n", + " -1.550175\n", + " -1.550175\n", " -1.551169\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.238181\n", " \n", " \n", " othdiscr_TOTHH\n", " -1.378326\n", " -1.378326\n", + " -1.378326\n", + " -1.378326\n", + " -1.378326\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -1.378326\n", " \n", " \n", " othmaint_HEREMPN\n", - " -0.668952\n", + " -0.689025\n", + " -0.689025\n", " -0.657780\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.668952\n", " \n", " \n", " othmaint_RETEMPN\n", " -0.729811\n", " -0.729811\n", + " -0.729811\n", + " -0.729811\n", + " -0.729811\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -0.729811\n", " \n", " \n", " shopping_RETEMPN\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " social_HEREMPN\n", - " -0.302843\n", + " -0.831065\n", + " -0.831065\n", " -0.738145\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.302843\n", " \n", " \n", " social_RETEMPN\n", " -0.650088\n", " -0.650088\n", + " -0.650088\n", + " -0.650088\n", + " -0.650088\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -0.650088\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue nullvalue minimum \\\n", - "-999 -999.000000 -999.000000 -999.0 -999.0 \n", - "0 0.000000 0.000000 0.0 0.0 \n", - "1 1.000000 1.000000 1.0 1.0 \n", - "coef_eatout_dist_0_2 -0.767979 -0.560900 0.0 NaN \n", - "coef_eatout_dist_2_5 -0.226448 -0.319200 0.0 NaN \n", - "coef_eatout_dist_5_plus -0.188137 -0.123800 0.0 NaN \n", - "coef_escort_dist_0_2 0.226691 -0.149900 0.0 NaN \n", - "coef_escort_dist_2_5 -0.813494 -0.867100 0.0 NaN \n", - "coef_escort_dist_5_plus -0.255056 -0.213700 0.0 NaN \n", - "coef_mode_logsum 0.662937 0.675500 0.0 NaN \n", - "coef_othdiscr_dist_0_2 -0.203187 -0.167700 0.0 NaN \n", - "coef_othdiscr_dist_2_5 -0.550945 -0.495500 0.0 NaN \n", - "coef_othdiscr_dist_5_plus -0.000141 -0.119300 0.0 NaN \n", - "coef_othmaint_dist_2_5 -0.579932 -0.605500 0.0 NaN \n", - "coef_othmaint_dist_5_plus -0.229655 -0.109300 0.0 NaN \n", - "coef_shopping_dist_2_5 -0.629792 -0.565500 0.0 NaN \n", - "coef_shopping_dist_5_plus -0.130649 -0.183200 0.0 NaN \n", - "coef_social_dist_2_5 -0.245175 -0.348500 0.0 NaN \n", - "coef_social_dist_5_plus -0.190239 -0.130600 0.0 NaN \n", - "eatout_HEREMPN -0.946877 -1.354796 0.0 -6.0 \n", - "eatout_RETEMPN -0.298406 -0.298406 0.0 -6.0 \n", - "escort_AGE0519 -1.171241 -0.765718 0.0 -6.0 \n", - "escort_HEREMPN -2.450057 -1.937942 0.0 -6.0 \n", - "escort_HSENROLL -3.304440 -1.795767 0.0 -6.0 \n", - "escort_RETEMPN -1.491655 -1.491655 0.0 -6.0 \n", - "othdiscr_HEREMPN -1.584964 -1.301953 0.0 -6.0 \n", - "othdiscr_HSENROLL -2.466750 -2.322788 0.0 -6.0 \n", - "othdiscr_OTHEMPN -2.370292 -1.801810 0.0 -6.0 \n", - "othdiscr_RETEMPN -1.238181 -1.551169 0.0 -6.0 \n", - "othdiscr_TOTHH -1.378326 -1.378326 0.0 -6.0 \n", - "othmaint_HEREMPN -0.668952 -0.657780 0.0 -6.0 \n", - "othmaint_RETEMPN -0.729811 -0.729811 0.0 -6.0 \n", - "shopping_RETEMPN 0.000000 0.000000 0.0 -6.0 \n", - "social_HEREMPN -0.302843 -0.738145 0.0 -6.0 \n", - "social_RETEMPN -0.650088 -0.650088 0.0 -6.0 \n", + " value best initvalue minimum \\\n", + "param_name \n", + "-999 -999.000000 -999.000000 -999.000000 -999.000000 \n", + "0 0.000000 0.000000 0.000000 0.000000 \n", + "1 1.000000 1.000000 1.000000 1.000000 \n", + "coef_eatout_dist_0_2 -0.959646 -0.959646 -0.560900 -25.000000 \n", + "coef_eatout_dist_2_5 -0.427890 -0.427890 -0.319200 -25.000000 \n", + "coef_eatout_dist_5_plus -0.182199 -0.182199 -0.123800 -25.000000 \n", + "coef_escort_dist_0_2 -0.290871 -0.290871 -0.149900 -25.000000 \n", + "coef_escort_dist_2_5 -0.959038 -0.959038 -0.867100 -25.000000 \n", + "coef_escort_dist_5_plus -0.264682 -0.264682 -0.213700 -25.000000 \n", + "coef_mode_logsum 0.165346 0.165346 0.675500 -25.000000 \n", + "coef_othdiscr_dist_0_2 -0.424399 -0.424399 -0.167700 -25.000000 \n", + "coef_othdiscr_dist_2_5 -0.615669 -0.615669 -0.495500 -25.000000 \n", + "coef_othdiscr_dist_5_plus -0.171387 -0.171387 -0.119300 -25.000000 \n", + "coef_othmaint_dist_2_5 -0.796780 -0.796780 -0.605500 -25.000000 \n", + "coef_othmaint_dist_5_plus -0.156745 -0.156745 -0.109300 -25.000000 \n", + "coef_shopping_dist_2_5 -0.704553 -0.704553 -0.565500 -25.000000 \n", + "coef_shopping_dist_5_plus -0.234821 -0.234821 -0.183200 -25.000000 \n", + "coef_social_dist_2_5 -0.464176 -0.464176 -0.348500 -25.000000 \n", + "coef_social_dist_5_plus -0.176446 -0.176446 -0.130600 -25.000000 \n", + "eatout_HEREMPN -1.601448 -1.601448 -1.354796 -6.000000 \n", + "eatout_RETEMPN -0.298406 -0.298406 -0.298406 -0.298406 \n", + "escort_AGE0519 -0.765963 -0.765963 -0.765718 -6.000000 \n", + "escort_HEREMPN -1.996310 -1.996310 -1.937942 -6.000000 \n", + "escort_HSENROLL -1.872611 -1.872611 -1.795768 -6.000000 \n", + "escort_RETEMPN -1.491655 -1.491655 -1.491655 -1.491655 \n", + "othdiscr_HEREMPN -1.342128 -1.342128 -1.301953 -6.000000 \n", + "othdiscr_HSENROLL -2.287886 -2.287886 -2.322788 -6.000000 \n", + "othdiscr_OTHEMPN -1.905661 -1.905661 -1.801810 -6.000000 \n", + "othdiscr_RETEMPN -1.550175 -1.550175 -1.551169 -6.000000 \n", + "othdiscr_TOTHH -1.378326 -1.378326 -1.378326 -1.378326 \n", + "othmaint_HEREMPN -0.689025 -0.689025 -0.657780 -6.000000 \n", + "othmaint_RETEMPN -0.729811 -0.729811 -0.729811 -0.729811 \n", + "shopping_RETEMPN 0.000000 0.000000 0.000000 0.000000 \n", + "social_HEREMPN -0.831065 -0.831065 -0.738145 -6.000000 \n", + "social_RETEMPN -0.650088 -0.650088 -0.650088 -0.650088 \n", "\n", - " maximum holdfast note best \n", - "-999 -999.0 1 -999.000000 \n", - "0 0.0 1 0.000000 \n", - "1 1.0 1 1.000000 \n", - "coef_eatout_dist_0_2 NaN 0 -0.767979 \n", - "coef_eatout_dist_2_5 NaN 0 -0.226448 \n", - "coef_eatout_dist_5_plus NaN 0 -0.188137 \n", - "coef_escort_dist_0_2 NaN 0 0.226691 \n", - "coef_escort_dist_2_5 NaN 0 -0.813494 \n", - "coef_escort_dist_5_plus NaN 0 -0.255056 \n", - "coef_mode_logsum NaN 0 0.662937 \n", - "coef_othdiscr_dist_0_2 NaN 0 -0.203187 \n", - "coef_othdiscr_dist_2_5 NaN 0 -0.550945 \n", - "coef_othdiscr_dist_5_plus NaN 0 -0.000141 \n", - "coef_othmaint_dist_2_5 NaN 0 -0.579932 \n", - "coef_othmaint_dist_5_plus NaN 0 -0.229655 \n", - "coef_shopping_dist_2_5 NaN 0 -0.629792 \n", - "coef_shopping_dist_5_plus NaN 0 -0.130649 \n", - "coef_social_dist_2_5 NaN 0 -0.245175 \n", - "coef_social_dist_5_plus NaN 0 -0.190239 \n", - "eatout_HEREMPN 6.0 0 -0.946877 \n", - "eatout_RETEMPN 6.0 1 -0.298406 \n", - "escort_AGE0519 6.0 0 -1.171241 \n", - "escort_HEREMPN 6.0 0 -2.450057 \n", - "escort_HSENROLL 6.0 0 -3.304440 \n", - "escort_RETEMPN 6.0 1 -1.491655 \n", - "othdiscr_HEREMPN 6.0 0 -1.584964 \n", - "othdiscr_HSENROLL 6.0 0 -2.466750 \n", - "othdiscr_OTHEMPN 6.0 0 -2.370292 \n", - "othdiscr_RETEMPN 6.0 0 -1.238181 \n", - "othdiscr_TOTHH 6.0 1 -1.378326 \n", - "othmaint_HEREMPN 6.0 0 -0.668952 \n", - "othmaint_RETEMPN 6.0 1 -0.729811 \n", - "shopping_RETEMPN 6.0 1 0.000000 \n", - "social_HEREMPN 6.0 0 -0.302843 \n", - "social_RETEMPN 6.0 1 -0.650088 " + " maximum nullvalue holdfast \n", + "param_name \n", + "-999 -999.000000 0.0 1 \n", + "0 0.000000 0.0 1 \n", + "1 1.000000 0.0 1 \n", + "coef_eatout_dist_0_2 25.000000 0.0 0 \n", + "coef_eatout_dist_2_5 25.000000 0.0 0 \n", + "coef_eatout_dist_5_plus 25.000000 0.0 0 \n", + "coef_escort_dist_0_2 25.000000 0.0 0 \n", + "coef_escort_dist_2_5 25.000000 0.0 0 \n", + "coef_escort_dist_5_plus 25.000000 0.0 0 \n", + "coef_mode_logsum 25.000000 0.0 0 \n", + "coef_othdiscr_dist_0_2 25.000000 0.0 0 \n", + "coef_othdiscr_dist_2_5 25.000000 0.0 0 \n", + "coef_othdiscr_dist_5_plus 25.000000 0.0 0 \n", + "coef_othmaint_dist_2_5 25.000000 0.0 0 \n", + "coef_othmaint_dist_5_plus 25.000000 0.0 0 \n", + "coef_shopping_dist_2_5 25.000000 0.0 0 \n", + "coef_shopping_dist_5_plus 25.000000 0.0 0 \n", + "coef_social_dist_2_5 25.000000 0.0 0 \n", + "coef_social_dist_5_plus 25.000000 0.0 0 \n", + "eatout_HEREMPN 6.000000 0.0 0 \n", + "eatout_RETEMPN -0.298406 0.0 1 \n", + "escort_AGE0519 6.000000 0.0 0 \n", + "escort_HEREMPN 6.000000 0.0 0 \n", + "escort_HSENROLL 6.000000 0.0 0 \n", + "escort_RETEMPN -1.491655 0.0 1 \n", + "othdiscr_HEREMPN 6.000000 0.0 0 \n", + "othdiscr_HSENROLL 6.000000 0.0 0 \n", + "othdiscr_OTHEMPN 6.000000 0.0 0 \n", + "othdiscr_RETEMPN 6.000000 0.0 0 \n", + "othdiscr_TOTHH -1.378326 0.0 1 \n", + "othmaint_HEREMPN 6.000000 0.0 0 \n", + "othmaint_RETEMPN -0.729811 0.0 1 \n", + "shopping_RETEMPN 0.000000 0.0 1 \n", + "social_HEREMPN 6.000000 0.0 0 \n", + "social_RETEMPN -0.650088 0.0 1 " ] }, "metadata": {}, @@ -2850,71 +2541,71 @@ " \n", " \n", " coef_eatout_dist_0_2\n", - " -0.767979\n", + " -0.959646\n", " \n", " \n", " coef_eatout_dist_2_5\n", - " -0.226448\n", + " -0.427890\n", " \n", " \n", " coef_eatout_dist_5_plus\n", - " -0.188137\n", + " -0.182199\n", " \n", " \n", " coef_escort_dist_0_2\n", - " 0.226691\n", + " -0.290871\n", " \n", " \n", " coef_escort_dist_2_5\n", - " -0.813494\n", + " -0.959038\n", " \n", " \n", " coef_escort_dist_5_plus\n", - " -0.255056\n", + " -0.264682\n", " \n", " \n", " coef_mode_logsum\n", - " 0.662937\n", + " 0.165346\n", " \n", " \n", " coef_othdiscr_dist_0_2\n", - " -0.203187\n", + " -0.424399\n", " \n", " \n", " coef_othdiscr_dist_2_5\n", - " -0.550945\n", + " -0.615669\n", " \n", " \n", " coef_othdiscr_dist_5_plus\n", - " -0.000141\n", + " -0.171387\n", " \n", " \n", " coef_othmaint_dist_2_5\n", - " -0.579932\n", + " -0.796780\n", " \n", " \n", " coef_othmaint_dist_5_plus\n", - " -0.229655\n", + " -0.156745\n", " \n", " \n", " coef_shopping_dist_2_5\n", - " -0.629792\n", + " -0.704553\n", " \n", " \n", " coef_shopping_dist_5_plus\n", - " -0.130649\n", + " -0.234821\n", " \n", " \n", " coef_social_dist_2_5\n", - " -0.245175\n", + " -0.464176\n", " \n", " \n", " coef_social_dist_5_plus\n", - " -0.190239\n", + " -0.176446\n", " \n", " \n", " eatout_HEREMPN\n", - " -0.946877\n", + " -1.601448\n", " \n", " \n", " eatout_RETEMPN\n", @@ -2922,15 +2613,15 @@ " \n", " \n", " escort_AGE0519\n", - " -1.171241\n", + " -0.765963\n", " \n", " \n", " escort_HEREMPN\n", - " -2.450057\n", + " -1.996310\n", " \n", " \n", " escort_HSENROLL\n", - " -3.304440\n", + " -1.872611\n", " \n", " \n", " escort_RETEMPN\n", @@ -2938,19 +2629,19 @@ " \n", " \n", " othdiscr_HEREMPN\n", - " -1.584964\n", + " -1.342128\n", " \n", " \n", " othdiscr_HSENROLL\n", - " -2.466750\n", + " -2.287886\n", " \n", " \n", " othdiscr_OTHEMPN\n", - " -2.370292\n", + " -1.905661\n", " \n", " \n", " othdiscr_RETEMPN\n", - " -1.238181\n", + " -1.550175\n", " \n", " \n", " othdiscr_TOTHH\n", @@ -2958,7 +2649,7 @@ " \n", " \n", " othmaint_HEREMPN\n", - " -0.668952\n", + " -0.689025\n", " \n", " \n", " othmaint_RETEMPN\n", @@ -2970,14 +2661,14 @@ " \n", " \n", " social_HEREMPN\n", - " -0.302843\n", + " -0.831065\n", " \n", " \n", " social_RETEMPN\n", " -0.650088\n", " \n", " \n", - "loglike-13268.709190928732d_loglike\n", + "
logloss2.770862804895239d_logloss\n", " \n", " \n", " \n", @@ -2999,71 +2690,71 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3071,15 +2762,15 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3087,19 +2778,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3107,7 +2798,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3119,109 +2810,109 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - "
coef_eatout_dist_0_20.0003340.000068
coef_eatout_dist_2_50.0006060.000060
coef_eatout_dist_5_plus-0.0012540.000251
coef_escort_dist_0_20.0000040.000236
coef_escort_dist_2_5-0.001135-0.000043
coef_escort_dist_5_plus-0.0005190.000007
coef_mode_logsum0.000531-0.000027
coef_othdiscr_dist_0_2-0.001077-0.000193
coef_othdiscr_dist_2_5-0.001877-0.000067
coef_othdiscr_dist_5_plus-0.0013870.000015
coef_othmaint_dist_2_5-0.000112-0.000110
coef_othmaint_dist_5_plus-0.000787-0.000227
coef_shopping_dist_2_5-0.0002320.000147
coef_shopping_dist_5_plus-0.0007950.000482
coef_social_dist_2_5-0.000397-0.000027
coef_social_dist_5_plus0.000937-0.000062
eatout_HEREMPN-0.0002880.000078
eatout_RETEMPN
escort_AGE0519-0.000725-0.000137
escort_HEREMPN0.000389-0.000064
escort_HSENROLL-0.000033-0.000067
escort_RETEMPN
othdiscr_HEREMPN0.0013260.000065
othdiscr_HSENROLL0.0000250.000034
othdiscr_OTHEMPN0.000044-0.000049
othdiscr_RETEMPN-0.0002870.000009
othdiscr_TOTHH
othmaint_HEREMPN0.000035-0.000002
othmaint_RETEMPN
social_HEREMPN-0.000091-0.000084
social_RETEMPN0.000000
nit29nfev79njev29status0message'Optimization terminated successfully'successTrueelapsed_time0:00:07.087910method'SLSQP'n_cases2581iteration_number29logloss5.140917935268784" + "nit46nfev46njev46status0message'Optimization terminated successfully'successTrueelapsed_time0:00:06.714015method'slsqp'n_cases30946iteration_number46loglike-85747.12036028807" ], "text/plain": [ "┣ x: -999 -999.000000\n", "┃ 0 0.000000\n", "┃ 1 1.000000\n", - "┃ coef_eatout_dist_0_2 -0.767979\n", - "┃ coef_eatout_dist_2_5 -0.226448\n", - "┃ coef_eatout_dist_5_plus -0.188137\n", - "┃ coef_escort_dist_0_2 0.226691\n", - "┃ coef_escort_dist_2_5 -0.813494\n", - "┃ coef_escort_dist_5_plus -0.255056\n", - "┃ coef_mode_logsum 0.662937\n", - "┃ coef_othdiscr_dist_0_2 -0.203187\n", - "┃ coef_othdiscr_dist_2_5 -0.550945\n", - "┃ coef_othdiscr_dist_5_plus -0.000141\n", - "┃ coef_othmaint_dist_2_5 -0.579932\n", - "┃ coef_othmaint_dist_5_plus -0.229655\n", - "┃ coef_shopping_dist_2_5 -0.629792\n", - "┃ coef_shopping_dist_5_plus -0.130649\n", - "┃ coef_social_dist_2_5 -0.245175\n", - "┃ coef_social_dist_5_plus -0.190239\n", - "┃ eatout_HEREMPN -0.946877\n", + "┃ coef_eatout_dist_0_2 -0.959646\n", + "┃ coef_eatout_dist_2_5 -0.427890\n", + "┃ coef_eatout_dist_5_plus -0.182199\n", + "┃ coef_escort_dist_0_2 -0.290871\n", + "┃ coef_escort_dist_2_5 -0.959038\n", + "┃ coef_escort_dist_5_plus -0.264682\n", + "┃ coef_mode_logsum 0.165346\n", + "┃ coef_othdiscr_dist_0_2 -0.424399\n", + "┃ coef_othdiscr_dist_2_5 -0.615669\n", + "┃ coef_othdiscr_dist_5_plus -0.171387\n", + "┃ coef_othmaint_dist_2_5 -0.796780\n", + "┃ coef_othmaint_dist_5_plus -0.156745\n", + "┃ coef_shopping_dist_2_5 -0.704553\n", + "┃ coef_shopping_dist_5_plus -0.234821\n", + "┃ coef_social_dist_2_5 -0.464176\n", + "┃ coef_social_dist_5_plus -0.176446\n", + "┃ eatout_HEREMPN -1.601448\n", "┃ eatout_RETEMPN -0.298406\n", - "┃ escort_AGE0519 -1.171241\n", - "┃ escort_HEREMPN -2.450057\n", - "┃ escort_HSENROLL -3.304440\n", + "┃ escort_AGE0519 -0.765963\n", + "┃ escort_HEREMPN -1.996310\n", + "┃ escort_HSENROLL -1.872611\n", "┃ escort_RETEMPN -1.491655\n", - "┃ othdiscr_HEREMPN -1.584964\n", - "┃ othdiscr_HSENROLL -2.466750\n", - "┃ othdiscr_OTHEMPN -2.370292\n", - "┃ othdiscr_RETEMPN -1.238181\n", + "┃ othdiscr_HEREMPN -1.342128\n", + "┃ othdiscr_HSENROLL -2.287886\n", + "┃ othdiscr_OTHEMPN -1.905661\n", + "┃ othdiscr_RETEMPN -1.550175\n", "┃ othdiscr_TOTHH -1.378326\n", - "┃ othmaint_HEREMPN -0.668952\n", + "┃ othmaint_HEREMPN -0.689025\n", "┃ othmaint_RETEMPN -0.729811\n", "┃ shopping_RETEMPN 0.000000\n", - "┃ social_HEREMPN -0.302843\n", + "┃ social_HEREMPN -0.831065\n", "┃ social_RETEMPN -0.650088\n", "┃ dtype: float64\n", - "┣ loglike: -13268.709190928732\n", - "┣ d_loglike: -999 0.000000\n", + "┣ logloss: 2.770862804895239\n", + "┣ d_logloss: -999 0.000000\n", "┃ 0 0.000000\n", "┃ 1 0.000000\n", - "┃ coef_eatout_dist_0_2 0.000334\n", - "┃ coef_eatout_dist_2_5 0.000606\n", - "┃ coef_eatout_dist_5_plus -0.001254\n", - "┃ coef_escort_dist_0_2 0.000004\n", - "┃ coef_escort_dist_2_5 -0.001135\n", - "┃ coef_escort_dist_5_plus -0.000519\n", - "┃ coef_mode_logsum 0.000531\n", - "┃ coef_othdiscr_dist_0_2 -0.001077\n", - "┃ coef_othdiscr_dist_2_5 -0.001877\n", - "┃ coef_othdiscr_dist_5_plus -0.001387\n", - "┃ coef_othmaint_dist_2_5 -0.000112\n", - "┃ coef_othmaint_dist_5_plus -0.000787\n", - "┃ coef_shopping_dist_2_5 -0.000232\n", - "┃ coef_shopping_dist_5_plus -0.000795\n", - "┃ coef_social_dist_2_5 -0.000397\n", - "┃ coef_social_dist_5_plus 0.000937\n", - "┃ eatout_HEREMPN -0.000288\n", + "┃ coef_eatout_dist_0_2 0.000068\n", + "┃ coef_eatout_dist_2_5 0.000060\n", + "┃ coef_eatout_dist_5_plus 0.000251\n", + "┃ coef_escort_dist_0_2 0.000236\n", + "┃ coef_escort_dist_2_5 -0.000043\n", + "┃ coef_escort_dist_5_plus 0.000007\n", + "┃ coef_mode_logsum -0.000027\n", + "┃ coef_othdiscr_dist_0_2 -0.000193\n", + "┃ coef_othdiscr_dist_2_5 -0.000067\n", + "┃ coef_othdiscr_dist_5_plus 0.000015\n", + "┃ coef_othmaint_dist_2_5 -0.000110\n", + "┃ coef_othmaint_dist_5_plus -0.000227\n", + "┃ coef_shopping_dist_2_5 0.000147\n", + "┃ coef_shopping_dist_5_plus 0.000482\n", + "┃ coef_social_dist_2_5 -0.000027\n", + "┃ coef_social_dist_5_plus -0.000062\n", + "┃ eatout_HEREMPN 0.000078\n", "┃ eatout_RETEMPN 0.000000\n", - "┃ escort_AGE0519 -0.000725\n", - "┃ escort_HEREMPN 0.000389\n", - "┃ escort_HSENROLL -0.000033\n", + "┃ escort_AGE0519 -0.000137\n", + "┃ escort_HEREMPN -0.000064\n", + "┃ escort_HSENROLL -0.000067\n", "┃ escort_RETEMPN 0.000000\n", - "┃ othdiscr_HEREMPN 0.001326\n", - "┃ othdiscr_HSENROLL 0.000025\n", - "┃ othdiscr_OTHEMPN 0.000044\n", - "┃ othdiscr_RETEMPN -0.000287\n", + "┃ othdiscr_HEREMPN 0.000065\n", + "┃ othdiscr_HSENROLL 0.000034\n", + "┃ othdiscr_OTHEMPN -0.000049\n", + "┃ othdiscr_RETEMPN 0.000009\n", "┃ othdiscr_TOTHH 0.000000\n", - "┃ othmaint_HEREMPN 0.000035\n", + "┃ othmaint_HEREMPN -0.000002\n", "┃ othmaint_RETEMPN 0.000000\n", "┃ shopping_RETEMPN 0.000000\n", - "┃ social_HEREMPN -0.000091\n", + "┃ social_HEREMPN -0.000084\n", "┃ social_RETEMPN 0.000000\n", "┃ dtype: float64\n", - "┣ nit: 29\n", - "┣ nfev: 79\n", - "┣ njev: 29\n", + "┣ nit: 46\n", + "┣ nfev: 46\n", + "┣ njev: 46\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=7, microseconds=87910)\n", - "┣ method: 'SLSQP'\n", - "┣ n_cases: 2581\n", - "┣ iteration_number: 29\n", - "┣ logloss: 5.140917935268784" + "┣ elapsed_time: datetime.timedelta(seconds=6, microseconds=714015)\n", + "┣ method: 'slsqp'\n", + "┣ n_cases: 30946\n", + "┣ iteration_number: 46\n", + "┣ loglike: -85747.12036028807" ] }, - "execution_count": 14, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate(method='SLSQP')" + "model.estimate(maxiter=900)" ] }, { @@ -3233,309 +2924,333 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value
-999-999. 0.00 NA-999.00
0 0.00 0.00 NA 0.00
1 1.00 0.00 NA 1.00
coef_eatout_dist_0_2-0.768 0.138-5.58*** 0.00
coef_eatout_dist_2_5-0.226 0.0689-3.29** 0.00
coef_eatout_dist_5_plus-0.188 0.105-1.80 0.00
coef_escort_dist_0_2 0.227 0.197 1.15 0.00
coef_escort_dist_2_5-0.813 0.0600-13.57*** 0.00
coef_escort_dist_5_plus-0.255 0.0751-3.39*** 0.00
coef_mode_logsum 0.663 0.0562 11.80*** 0.00
coef_othdiscr_dist_0_2-0.203 0.127-1.61 0.00
coef_othdiscr_dist_2_5-0.551 0.0530-10.39*** 0.00
coef_othdiscr_dist_5_plus-0.000141 0.0704-0.00 0.00
coef_othmaint_dist_2_5-0.580 0.0552-10.51*** 0.00
coef_othmaint_dist_5_plus-0.230 0.0903-2.54* 0.00
coef_shopping_dist_2_5-0.630 0.0445-14.16*** 0.00
coef_shopping_dist_5_plus-0.131 0.0623-2.10* 0.00
coef_social_dist_2_5-0.245 0.0817-3.00** 0.00
coef_social_dist_5_plus-0.190 0.129-1.48 0.00
eatout_HEREMPN-0.947 0.265-3.57*** 0.00
eatout_RETEMPN-0.298 0.00 NA 0.00
escort_AGE0519-1.17 0.413-2.84** 0.00
escort_HEREMPN-2.45 0.502-4.88*** 0.00
escort_HSENROLL-3.30 1.25-2.64** 0.00
escort_RETEMPN-1.49 0.00 NA 0.00
othdiscr_HEREMPN-1.58 0.284-5.58*** 0.00
othdiscr_HSENROLL-2.47 0.962-2.56* 0.00
othdiscr_OTHEMPN-2.37 0.595-3.98*** 0.00
othdiscr_RETEMPN-1.24 0.836-1.48 0.00
othdiscr_TOTHH-1.38 0.00 NA 0.00
othmaint_HEREMPN-0.669 0.275-2.44* 0.00
othmaint_RETEMPN-0.730 0.00 NA 0.00
shopping_RETEMPN 0.00 0.00 NA 0.00
social_HEREMPN-0.303 0.458-0.66 0.00
social_RETEMPN-0.650 0.00 NA 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull Value
Parameter     
-999-999. 0.00 NA 0.00
0 0.00 0.00 NA 0.00
1 1.00 0.00 NA 0.00
coef_eatout_dist_0_2-0.960 0.0437-21.97*** 0.00
coef_eatout_dist_2_5-0.428 0.0207-20.70*** 0.00
coef_eatout_dist_5_plus-0.182 0.00484-37.68*** 0.00
coef_escort_dist_0_2-0.291 0.0329-8.85*** 0.00
coef_escort_dist_2_5-0.959 0.0161-59.53*** 0.00
coef_escort_dist_5_plus-0.265 0.00711-37.23*** 0.00
coef_mode_logsum 0.165 0.0124 13.36*** 0.00
coef_othdiscr_dist_0_2-0.424 0.0382-11.12*** 0.00
coef_othdiscr_dist_2_5-0.616 0.0146-42.26*** 0.00
coef_othdiscr_dist_5_plus-0.171 0.00349-49.12*** 0.00
coef_othmaint_dist_2_5-0.797 0.0158-50.41*** 0.00
coef_othmaint_dist_5_plus-0.157 0.00396-39.57*** 0.00
coef_shopping_dist_2_5-0.705 0.0120-58.52*** 0.00
coef_shopping_dist_5_plus-0.235 0.00446-52.69*** 0.00
coef_social_dist_2_5-0.464 0.0245-18.97*** 0.00
coef_social_dist_5_plus-0.176 0.00583-30.29*** 0.00
eatout_HEREMPN-1.60 0.0888-18.04*** 0.00
eatout_RETEMPN-0.298 0.00 NA 0.00
escort_AGE0519-0.766 0.185-4.15*** 0.00
escort_HEREMPN-2.00 0.229-8.71*** 0.00
escort_HSENROLL-1.87 0.200-9.36*** 0.00
escort_RETEMPN-1.49 0.00 NA 0.00
othdiscr_HEREMPN-1.34 0.0798-16.83*** 0.00
othdiscr_HSENROLL-2.29 0.182-12.56*** 0.00
othdiscr_OTHEMPN-1.91 0.128-14.93*** 0.00
othdiscr_RETEMPN-1.55 0.240-6.46*** 0.00
othdiscr_TOTHH-1.38 0.00 NA 0.00
othmaint_HEREMPN-0.689 0.0969-7.11*** 0.00
othmaint_RETEMPN-0.730 0.00 NA 0.00
shopping_RETEMPN 0.00 0.00 NA 0.00
social_HEREMPN-0.831 0.133-6.25*** 0.00
social_RETEMPN-0.650 0.00 NA 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 15, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -3556,7 +3271,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -3582,7 +3297,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -3591,7 +3306,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -3610,7 +3325,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -3767,14 +3482,14 @@ " escort\n", " non_mandatory\n", " 0.000000\n", - " 0.341950\n", + " 0.229722\n", " 0.000000\n", - " 0.131140\n", + " 0.138687\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.471104\n", - " 0.055806\n", + " 0.474643\n", + " 0.156948\n", " 0.000000\n", " 0.000000\n", " \n", @@ -3799,9 +3514,9 @@ " eatout\n", " non_mandatory\n", " 0.000000\n", - " 0.656666\n", + " 0.786346\n", " 0.000000\n", - " 0.343334\n", + " 0.213654\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -3815,9 +3530,9 @@ " othmaint\n", " non_mandatory\n", " 0.000000\n", - " 0.484790\n", + " 0.489805\n", " 0.000000\n", - " 0.515210\n", + " 0.510195\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -3831,9 +3546,9 @@ " social\n", " non_mandatory\n", " 0.000000\n", - " 0.414051\n", + " 0.545121\n", " 0.000000\n", - " 0.585949\n", + " 0.454879\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -3846,15 +3561,15 @@ " 12\n", " othdiscr\n", " non_mandatory\n", - " 0.272379\n", - " 0.313357\n", + " 0.258275\n", + " 0.217495\n", " 0.000000\n", - " 0.221530\n", - " 0.101011\n", + " 0.267795\n", + " 0.152428\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.091723\n", + " 0.104008\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4015,12 +3730,12 @@ "4 university school 0.000000 0.000000 0.000000 0.000000 \n", "5 gradeschool school 0.000000 0.000000 0.000000 0.000000 \n", "6 highschool school 0.000000 0.000000 0.000000 0.000000 \n", - "7 escort non_mandatory 0.000000 0.341950 0.000000 0.131140 \n", + "7 escort non_mandatory 0.000000 0.229722 0.000000 0.138687 \n", "8 shopping non_mandatory 0.000000 1.000000 0.000000 0.000000 \n", - "9 eatout non_mandatory 0.000000 0.656666 0.000000 0.343334 \n", - "10 othmaint non_mandatory 0.000000 0.484790 0.000000 0.515210 \n", - "11 social non_mandatory 0.000000 0.414051 0.000000 0.585949 \n", - "12 othdiscr non_mandatory 0.272379 0.313357 0.000000 0.221530 \n", + "9 eatout non_mandatory 0.000000 0.786346 0.000000 0.213654 \n", + "10 othmaint non_mandatory 0.000000 0.489805 0.000000 0.510195 \n", + "11 social non_mandatory 0.000000 0.545121 0.000000 0.454879 \n", + "12 othdiscr non_mandatory 0.258275 0.217495 0.000000 0.267795 \n", "13 atwork atwork 0.000000 0.742000 0.000000 0.258000 \n", "14 work trip 0.000000 0.166667 0.166667 0.166667 \n", "15 escort trip 0.001000 0.225000 0.000000 0.144000 \n", @@ -4039,12 +3754,12 @@ "4 0.000000 0.000000 0.000000 0.000000 0.000000 0.592000 0.408000 \n", "5 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 \n", "6 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 \n", - "7 0.000000 0.000000 0.000000 0.471104 0.055806 0.000000 0.000000 \n", + "7 0.000000 0.000000 0.000000 0.474643 0.156948 0.000000 0.000000 \n", "8 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "9 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "10 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "11 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "12 0.101011 0.000000 0.000000 0.000000 0.091723 0.000000 0.000000 \n", + "12 0.152428 0.000000 0.000000 0.000000 0.104008 0.000000 0.000000 \n", "13 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "14 0.166667 0.166667 0.166667 0.000000 0.000000 0.000000 0.000000 \n", "15 0.000000 0.000000 0.000000 0.464000 0.166000 0.000000 0.000000 \n", @@ -4056,7 +3771,7 @@ "21 0.000000 0.000000 0.000000 0.000000 0.000000 0.591409 0.407592 " ] }, - "execution_count": 19, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -4085,7 +3800,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -4113,7 +3828,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -4146,19 +3861,19 @@ " \n", " 0\n", " coef_mode_logsum\n", - " 0.662937\n", + " 0.165346\n", " F\n", " \n", " \n", " 1\n", " coef_escort_dist_0_2\n", - " 0.226691\n", + " -0.290871\n", " F\n", " \n", " \n", " 2\n", " coef_eatout_dist_0_2\n", - " -0.767979\n", + " -0.959646\n", " F\n", " \n", " \n", @@ -4170,79 +3885,79 @@ " \n", " 4\n", " coef_othdiscr_dist_0_2\n", - " -0.203187\n", + " -0.424399\n", " F\n", " \n", " \n", " 5\n", " coef_escort_dist_2_5\n", - " -0.813494\n", + " -0.959038\n", " F\n", " \n", " \n", " 6\n", " coef_shopping_dist_2_5\n", - " -0.629792\n", + " -0.704553\n", " F\n", " \n", " \n", " 7\n", " coef_eatout_dist_2_5\n", - " -0.226448\n", + " -0.427890\n", " F\n", " \n", " \n", " 8\n", " coef_othmaint_dist_2_5\n", - " -0.579932\n", + " -0.796780\n", " F\n", " \n", " \n", " 9\n", " coef_social_dist_2_5\n", - " -0.245175\n", + " -0.464176\n", " F\n", " \n", " \n", " 10\n", " coef_othdiscr_dist_2_5\n", - " -0.550945\n", + " -0.615669\n", " F\n", " \n", " \n", " 11\n", " coef_escort_dist_5_plus\n", - " -0.255056\n", + " -0.264682\n", " F\n", " \n", " \n", " 12\n", " coef_shopping_dist_5_plus\n", - " -0.130649\n", + " -0.234821\n", " F\n", " \n", " \n", " 13\n", " coef_eatout_dist_5_plus\n", - " -0.188137\n", + " -0.182199\n", " F\n", " \n", " \n", " 14\n", " coef_othmaint_dist_5_plus\n", - " -0.229655\n", + " -0.156745\n", " F\n", " \n", " \n", " 15\n", " coef_social_dist_5_plus\n", - " -0.190239\n", + " -0.176446\n", " F\n", " \n", " \n", " 16\n", " coef_othdiscr_dist_5_plus\n", - " -0.000141\n", + " -0.171387\n", " F\n", " \n", " \n", @@ -4251,26 +3966,26 @@ ], "text/plain": [ " coefficient_name value constrain\n", - "0 coef_mode_logsum 0.662937 F\n", - "1 coef_escort_dist_0_2 0.226691 F\n", - "2 coef_eatout_dist_0_2 -0.767979 F\n", + "0 coef_mode_logsum 0.165346 F\n", + "1 coef_escort_dist_0_2 -0.290871 F\n", + "2 coef_eatout_dist_0_2 -0.959646 F\n", "3 coef_eatout_social_0_2 -0.560900 F\n", - "4 coef_othdiscr_dist_0_2 -0.203187 F\n", - "5 coef_escort_dist_2_5 -0.813494 F\n", - "6 coef_shopping_dist_2_5 -0.629792 F\n", - "7 coef_eatout_dist_2_5 -0.226448 F\n", - "8 coef_othmaint_dist_2_5 -0.579932 F\n", - "9 coef_social_dist_2_5 -0.245175 F\n", - "10 coef_othdiscr_dist_2_5 -0.550945 F\n", - "11 coef_escort_dist_5_plus -0.255056 F\n", - "12 coef_shopping_dist_5_plus -0.130649 F\n", - "13 coef_eatout_dist_5_plus -0.188137 F\n", - "14 coef_othmaint_dist_5_plus -0.229655 F\n", - "15 coef_social_dist_5_plus -0.190239 F\n", - "16 coef_othdiscr_dist_5_plus -0.000141 F" + "4 coef_othdiscr_dist_0_2 -0.424399 F\n", + "5 coef_escort_dist_2_5 -0.959038 F\n", + "6 coef_shopping_dist_2_5 -0.704553 F\n", + "7 coef_eatout_dist_2_5 -0.427890 F\n", + "8 coef_othmaint_dist_2_5 -0.796780 F\n", + "9 coef_social_dist_2_5 -0.464176 F\n", + "10 coef_othdiscr_dist_2_5 -0.615669 F\n", + "11 coef_escort_dist_5_plus -0.264682 F\n", + "12 coef_shopping_dist_5_plus -0.234821 F\n", + "13 coef_eatout_dist_5_plus -0.182199 F\n", + "14 coef_othmaint_dist_5_plus -0.156745 F\n", + "15 coef_social_dist_5_plus -0.176446 F\n", + "16 coef_othdiscr_dist_5_plus -0.171387 F" ] }, - "execution_count": 21, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -4281,7 +3996,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -4447,14 +4162,14 @@ " escort\n", " non_mandatory\n", " 0.000000\n", - " 0.341950\n", + " 0.229722\n", " 0.000000\n", - " 0.131140\n", + " 0.138687\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.471104\n", - " 0.055806\n", + " 0.474643\n", + " 0.156948\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4481,9 +4196,9 @@ " eatout\n", " non_mandatory\n", " 0.000000\n", - " 0.656666\n", + " 0.786346\n", " 0.000000\n", - " 0.343334\n", + " 0.213654\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4498,9 +4213,9 @@ " othmaint\n", " non_mandatory\n", " 0.000000\n", - " 0.484790\n", + " 0.489805\n", " 0.000000\n", - " 0.515210\n", + " 0.510195\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4515,9 +4230,9 @@ " social\n", " non_mandatory\n", " 0.000000\n", - " 0.414051\n", + " 0.545121\n", " 0.000000\n", - " 0.585949\n", + " 0.454879\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4531,15 +4246,15 @@ " 12\n", " othdiscr\n", " non_mandatory\n", - " 0.272379\n", - " 0.313357\n", + " 0.258275\n", + " 0.217495\n", " 0.000000\n", - " 0.221530\n", - " 0.101011\n", + " 0.267795\n", + " 0.152428\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.091723\n", + " 0.104008\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4709,12 +4424,12 @@ "4 4 university school 0.000000 0.000000 0.000000 \n", "5 5 gradeschool school 0.000000 0.000000 0.000000 \n", "6 6 highschool school 0.000000 0.000000 0.000000 \n", - "7 7 escort non_mandatory 0.000000 0.341950 0.000000 \n", + "7 7 escort non_mandatory 0.000000 0.229722 0.000000 \n", "8 8 shopping non_mandatory 0.000000 1.000000 0.000000 \n", - "9 9 eatout non_mandatory 0.000000 0.656666 0.000000 \n", - "10 10 othmaint non_mandatory 0.000000 0.484790 0.000000 \n", - "11 11 social non_mandatory 0.000000 0.414051 0.000000 \n", - "12 12 othdiscr non_mandatory 0.272379 0.313357 0.000000 \n", + "9 9 eatout non_mandatory 0.000000 0.786346 0.000000 \n", + "10 10 othmaint non_mandatory 0.000000 0.489805 0.000000 \n", + "11 11 social non_mandatory 0.000000 0.545121 0.000000 \n", + "12 12 othdiscr non_mandatory 0.258275 0.217495 0.000000 \n", "13 13 atwork atwork 0.000000 0.742000 0.000000 \n", "14 14 work trip 0.000000 0.166667 0.166667 \n", "15 15 escort trip 0.001000 0.225000 0.000000 \n", @@ -4733,12 +4448,12 @@ "4 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.592000 \n", "5 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 \n", "6 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 \n", - "7 0.131140 0.000000 0.000000 0.000000 0.471104 0.055806 0.000000 \n", + "7 0.138687 0.000000 0.000000 0.000000 0.474643 0.156948 0.000000 \n", "8 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "9 0.343334 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "10 0.515210 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "11 0.585949 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "12 0.221530 0.101011 0.000000 0.000000 0.000000 0.091723 0.000000 \n", + "9 0.213654 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "10 0.510195 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "11 0.454879 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "12 0.267795 0.152428 0.000000 0.000000 0.000000 0.104008 0.000000 \n", "13 0.258000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "14 0.166667 0.166667 0.166667 0.166667 0.000000 0.000000 0.000000 \n", "15 0.144000 0.000000 0.000000 0.000000 0.464000 0.166000 0.000000 \n", @@ -4774,7 +4489,7 @@ "21 0.407592 " ] }, - "execution_count": 22, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -4791,7 +4506,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4805,7 +4520,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/14_joint_tour_scheduling.ipynb b/activitysim/examples/example_estimation/notebooks/14_joint_tour_scheduling.ipynb index c2973c29b1..b05d68490e 100644 --- a/activitysim/examples/example_estimation/notebooks/14_joint_tour_scheduling.ipynb +++ b/activitysim/examples/example_estimation/notebooks/14_joint_tour_scheduling.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +115,28 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/joint_tour_scheduling/tour_scheduling_joint_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_scheduling/joint_tour_scheduling_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_scheduling/joint_tour_scheduling_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/joint_tour_scheduling/joint_tour_scheduling_choosers_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"joint_tour_scheduling\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -746,28 +809,28 @@ " 30\n", " util_adjacent_window_exists_before_this_depart...\n", " Adjacent window exists before this departure h...\n", - " @(df.tour_type_count>1) & (df.tour_type_num ==...\n", + " @(df.tour_type_count>1) * (df.tour_type_num ==...\n", " coef_adjacent_window_exists_before_this_depart...\n", " \n", " \n", " 31\n", " util_adjacent_window_exists_after_this_arrival...\n", " Adjacent window exists after this arrival hour...\n", - " @(df.tour_type_count>1) & (df.tour_type_num ==...\n", + " @(df.tour_type_count>1) * (df.tour_type_num ==...\n", " coef_adjacent_window_exists_after_this_arrival...\n", " \n", " \n", " 32\n", " util_adjacent_window_exists_before_this_depart...\n", " Adjacent window exists before this departure h...\n", - " @(df.tour_type_num > 1) & _adjacent_window_before\n", + " @(df.tour_type_num > 1) * _adjacent_window_before\n", " coef_adjacent_window_exists_before_this_depart...\n", " \n", " \n", " 33\n", " util_adjacent_window_exists_after_this_arrival...\n", " Adjacent window exists after this arrival hour...\n", - " @(df.tour_type_num > 1) & _adjacent_window_after\n", + " @(df.tour_type_num > 1) * _adjacent_window_after\n", " coef_adjacent_window_exists_after_this_arrival...\n", " \n", " \n", @@ -1115,10 +1178,10 @@ "25 adult & (num_children > 0) & ( end > 18 ) & ( ... \n", "28 @tt.previous_tour_ends(df.tour_id, df.start) \n", "29 @tt.previous_tour_begins(df.tour_id, df.end) \n", - "30 @(df.tour_type_count>1) & (df.tour_type_num ==... \n", - "31 @(df.tour_type_count>1) & (df.tour_type_num ==... \n", - "32 @(df.tour_type_num > 1) & _adjacent_window_before \n", - "33 @(df.tour_type_num > 1) & _adjacent_window_after \n", + "30 @(df.tour_type_count>1) * (df.tour_type_num ==... \n", + "31 @(df.tour_type_count>1) * (df.tour_type_num ==... \n", + "32 @(df.tour_type_num > 1) * _adjacent_window_before \n", + "33 @(df.tour_type_num > 1) * _adjacent_window_after \n", "34 (tour_type != 'escort') & (start < 6) \n", "35 (tour_type != 'escort') & (start == 6) \n", "36 (tour_type != 'escort') & (start == 7) \n", @@ -1262,14 +1325,14 @@ " tour_count\n", " tour_category\n", " ...\n", - " COLLPTE\n", - " TOPOLOGY\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", - " tour_id.1\n", + " auOpRetail\n", + " auOpTotal\n", + " trPkRetail\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " start_previous\n", " end_previous\n", " \n", @@ -1277,10 +1340,10 @@ " \n", " \n", " 0\n", - " 7785298\n", - " 146\n", - " 146\n", - " 189885\n", + " 7853686\n", + " 115\n", + " 104\n", + " 191553\n", " eatout\n", " 1\n", " 1\n", @@ -1288,47 +1351,47 @@ " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 2.94885\n", - " 23.215385\n", - " 11.646154\n", - " 7.755537\n", - " False\n", - " 7785298\n", + " 10.032432\n", + " 12.426053\n", + " 4.842958\n", + " 6.577576\n", + " 4.825284\n", + " 6.554185\n", + " 5.384032\n", + " 6.267720\n", " 5\n", " 5\n", " \n", " \n", " 1\n", - " 8708454\n", - " 145\n", - " 145\n", - " 212401\n", - " eatout\n", + " 7902318\n", + " 127\n", + " 91\n", + " 192739\n", + " shopping\n", " 1\n", " 1\n", " 1\n", " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 2\n", - " 4.64648\n", - " 196.395950\n", - " 178.779465\n", - " 93.587057\n", - " False\n", - " 8708454\n", + " 9.804714\n", + " 12.378032\n", + " 2.085722\n", + " 3.940109\n", + " 2.097132\n", + " 3.946235\n", + " 4.015752\n", + " 6.526846\n", " 5\n", " 5\n", " \n", " \n", " 2\n", - " 9715006\n", - " 115\n", - " 115\n", - " 236951\n", + " 7909776\n", + " 90\n", + " 105\n", + " 192921\n", " othdiscr\n", " 1\n", " 1\n", @@ -1336,62 +1399,62 @@ " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 2.08699\n", - " 16.952703\n", - " 7.608108\n", - " 5.251374\n", - " False\n", - " 9715006\n", + " 9.924635\n", + " 12.521312\n", + " 1.451325\n", + " 3.811134\n", + " 1.458624\n", + " 3.813040\n", + " 4.422027\n", + " 6.644415\n", " 5\n", " 5\n", " \n", " \n", " 3\n", - " 10831112\n", - " 115\n", - " 115\n", - " 264173\n", - " shopping\n", + " 7988742\n", + " 101\n", + " 101\n", + " 194847\n", + " othdiscr\n", " 1\n", " 1\n", " 1\n", " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 3\n", - " 4.73802\n", - " 117.769796\n", - " 246.205869\n", - " 79.663609\n", - " False\n", - " 10831112\n", + " 10.124314\n", + " 12.525120\n", + " 2.760744\n", + " 4.989736\n", + " 2.749302\n", + " 4.964188\n", + " 4.106787\n", + " 6.259962\n", " 5\n", " 5\n", " \n", " \n", " 4\n", - " 20334787\n", - " 37\n", - " 37\n", - " 495970\n", - " othmaint\n", + " 8103874\n", + " 74\n", + " 74\n", + " 197655\n", + " shopping\n", " 1\n", " 1\n", " 1\n", " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 2.17734\n", - " 17.968750\n", - " 4.109375\n", - " 3.344502\n", - " False\n", - " 20334787\n", + " 9.966499\n", + " 12.292832\n", + " 2.097899\n", + " 4.282017\n", + " 0.920538\n", + " 2.790691\n", + " 5.043413\n", + " 6.194205\n", " 5\n", " 5\n", " \n", @@ -1420,35 +1483,35 @@ " ...\n", " \n", " \n", - " 86\n", - " 283676518\n", - " 145\n", - " 145\n", - " 6918939\n", - " shopping\n", + " 1272\n", + " 303771147\n", + " 171\n", + " 171\n", + " 7409052\n", + " othdiscr\n", " 1\n", " 1\n", " 1\n", " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 2.18894\n", - " 20.746032\n", - " 9.793651\n", - " 6.652963\n", - " False\n", - " 283676518\n", + " 9.795165\n", + " 12.124129\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 4.666818\n", + " 6.381846\n", " 5\n", " 5\n", " \n", " \n", - " 87\n", - " 295260168\n", - " 158\n", - " 158\n", - " 7201469\n", + " 1273\n", + " 304144212\n", + " 77\n", + " 126\n", + " 7418154\n", " social\n", " 1\n", " 1\n", @@ -1456,23 +1519,23 @@ " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 3.19780\n", - " 25.035085\n", - " 34.002224\n", - " 14.418824\n", - " False\n", - " 295260168\n", + " 9.808362\n", + " 12.224503\n", + " 0.198489\n", + " 0.838468\n", + " 0.197857\n", + " 0.826233\n", + " 5.214767\n", + " 7.781673\n", " 5\n", " 5\n", " \n", " \n", - " 88\n", - " 297646485\n", - " 104\n", - " 104\n", - " 7259670\n", + " 1274\n", + " 304463637\n", + " 138\n", + " 127\n", + " 7425942\n", " othdiscr\n", " 1\n", " 1\n", @@ -1480,124 +1543,124 @@ " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 4.89113\n", - " 193.875000\n", - " 201.000000\n", - " 98.686610\n", - " False\n", - " 297646485\n", + " 9.674598\n", + " 12.273909\n", + " 2.314454\n", + " 5.062339\n", + " 2.170577\n", + " 4.928170\n", + " 3.927607\n", + " 5.937753\n", " 5\n", " 5\n", " \n", " \n", - " 89\n", - " 298814741\n", - " 74\n", - " 74\n", - " 7288164\n", - " othmaint\n", + " 1275\n", + " 305125582\n", + " 156\n", + " 177\n", + " 7442087\n", + " othdiscr\n", " 1\n", " 1\n", " 1\n", " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 4.29646\n", - " 57.195122\n", - " 95.975610\n", - " 35.838026\n", - " True\n", - " 298814741\n", + " 10.150831\n", + " 12.839956\n", + " 6.746949\n", + " 9.644580\n", + " 6.245710\n", + " 8.925880\n", + " 6.393693\n", + " 8.676755\n", " 5\n", " 5\n", " \n", " \n", - " 90\n", - " 301810980\n", + " 1276\n", + " 305246245\n", " 54\n", " 54\n", - " 7361244\n", - " othmaint\n", + " 7445030\n", + " othdiscr\n", " 1\n", " 1\n", " 1\n", " 1\n", " joint\n", " ...\n", - " 0.0\n", - " 1\n", - " 2.47787\n", - " 23.993197\n", - " 11.945578\n", - " 7.975024\n", - " False\n", - " 301810980\n", + " 10.154352\n", + " 12.772396\n", + " 5.492171\n", + " 8.363419\n", + " 5.092918\n", + " 7.921567\n", + " 4.507081\n", + " 7.061687\n", " 5\n", " 5\n", " \n", " \n", "\n", - "

91 rows × 151 columns

\n", + "

1277 rows × 150 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 7785298 146 146 189885 eatout \n", - "1 8708454 145 145 212401 eatout \n", - "2 9715006 115 115 236951 othdiscr \n", - "3 10831112 115 115 264173 shopping \n", - "4 20334787 37 37 495970 othmaint \n", - ".. ... ... ... ... ... \n", - "86 283676518 145 145 6918939 shopping \n", - "87 295260168 158 158 7201469 social \n", - "88 297646485 104 104 7259670 othdiscr \n", - "89 298814741 74 74 7288164 othmaint \n", - "90 301810980 54 54 7361244 othmaint \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 7853686 115 104 191553 eatout \n", + "1 7902318 127 91 192739 shopping \n", + "2 7909776 90 105 192921 othdiscr \n", + "3 7988742 101 101 194847 othdiscr \n", + "4 8103874 74 74 197655 shopping \n", + "... ... ... ... ... ... \n", + "1272 303771147 171 171 7409052 othdiscr \n", + "1273 304144212 77 126 7418154 social \n", + "1274 304463637 138 127 7425942 othdiscr \n", + "1275 305125582 156 177 7442087 othdiscr \n", + "1276 305246245 54 54 7445030 othdiscr \n", "\n", - " tour_type_count tour_type_num tour_num tour_count tour_category ... \\\n", - "0 1 1 1 1 joint ... \n", - "1 1 1 1 1 joint ... \n", - "2 1 1 1 1 joint ... \n", - "3 1 1 1 1 joint ... \n", - "4 1 1 1 1 joint ... \n", - ".. ... ... ... ... ... ... \n", - "86 1 1 1 1 joint ... \n", - "87 1 1 1 1 joint ... \n", - "88 1 1 1 1 joint ... \n", - "89 1 1 1 1 joint ... \n", - "90 1 1 1 1 joint ... \n", + " tour_type_count tour_type_num tour_num tour_count tour_category ... \\\n", + "0 1 1 1 1 joint ... \n", + "1 1 1 1 1 joint ... \n", + "2 1 1 1 1 joint ... \n", + "3 1 1 1 1 joint ... \n", + "4 1 1 1 1 joint ... \n", + "... ... ... ... ... ... ... \n", + "1272 1 1 1 1 joint ... \n", + "1273 1 1 1 1 joint ... \n", + "1274 1 1 1 1 joint ... \n", + "1275 1 1 1 1 joint ... \n", + "1276 1 1 1 1 joint ... \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density employment_density \\\n", - "0 0.0 1 2.94885 23.215385 11.646154 \n", - "1 0.0 2 4.64648 196.395950 178.779465 \n", - "2 0.0 1 2.08699 16.952703 7.608108 \n", - "3 0.0 3 4.73802 117.769796 246.205869 \n", - "4 0.0 1 2.17734 17.968750 4.109375 \n", - ".. ... ... ... ... ... \n", - "86 0.0 1 2.18894 20.746032 9.793651 \n", - "87 0.0 1 3.19780 25.035085 34.002224 \n", - "88 0.0 1 4.89113 193.875000 201.000000 \n", - "89 0.0 1 4.29646 57.195122 95.975610 \n", - "90 0.0 1 2.47787 23.993197 11.945578 \n", + " auOpRetail auOpTotal trPkRetail trPkTotal trOpRetail trOpTotal \\\n", + "0 10.032432 12.426053 4.842958 6.577576 4.825284 6.554185 \n", + "1 9.804714 12.378032 2.085722 3.940109 2.097132 3.946235 \n", + "2 9.924635 12.521312 1.451325 3.811134 1.458624 3.813040 \n", + "3 10.124314 12.525120 2.760744 4.989736 2.749302 4.964188 \n", + "4 9.966499 12.292832 2.097899 4.282017 0.920538 2.790691 \n", + "... ... ... ... ... ... ... \n", + "1272 9.795165 12.124129 0.000000 0.000000 0.000000 0.000000 \n", + "1273 9.808362 12.224503 0.198489 0.838468 0.197857 0.826233 \n", + "1274 9.674598 12.273909 2.314454 5.062339 2.170577 4.928170 \n", + "1275 10.150831 12.839956 6.746949 9.644580 6.245710 8.925880 \n", + "1276 10.154352 12.772396 5.492171 8.363419 5.092918 7.921567 \n", "\n", - " density_index is_cbd tour_id.1 start_previous end_previous \n", - "0 7.755537 False 7785298 5 5 \n", - "1 93.587057 False 8708454 5 5 \n", - "2 5.251374 False 9715006 5 5 \n", - "3 79.663609 False 10831112 5 5 \n", - "4 3.344502 False 20334787 5 5 \n", - ".. ... ... ... ... ... \n", - "86 6.652963 False 283676518 5 5 \n", - "87 14.418824 False 295260168 5 5 \n", - "88 98.686610 False 297646485 5 5 \n", - "89 35.838026 True 298814741 5 5 \n", - "90 7.975024 False 301810980 5 5 \n", + " nmRetail nmTotal start_previous end_previous \n", + "0 5.384032 6.267720 5 5 \n", + "1 4.015752 6.526846 5 5 \n", + "2 4.422027 6.644415 5 5 \n", + "3 4.106787 6.259962 5 5 \n", + "4 5.043413 6.194205 5 5 \n", + "... ... ... ... ... \n", + "1272 4.666818 6.381846 5 5 \n", + "1273 5.214767 7.781673 5 5 \n", + "1274 3.927607 5.937753 5 5 \n", + "1275 6.393693 8.676755 5 5 \n", + "1276 4.507081 7.061687 5 5 \n", "\n", - "[91 rows x 151 columns]" + "[1277 rows x 150 columns]" ] }, "execution_count": 6, @@ -1643,135 +1706,135 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", + " start\n", + " end\n", + " duration\n", + " tdd\n", + " mode_choice_logsum\n", + " util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends\n", + " util_free_flow_round_trip_auto_time_shift_effects_duration\n", + " util_shopping_tour_departure_shift_effects\n", + " util_shopping_tour_duration_shift_effects\n", " ...\n", - " 180\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", + " util_arrival_constants_pm_peak_4\n", + " util_arrival_constants_evening\n", + " util_arrival_constants_late\n", + " util_duration_constants_0_to_1_hours\n", + " util_duration_constants_2_to_3_hours\n", + " util_duration_constants_4_to_5_hours\n", + " util_duration_constants_6_to_7_hours\n", + " util_duration_constants_8_to_10_hours\n", + " util_duration_constants_11_to_13_hours\n", + " util_duration_constants_14_to_18_hours\n", " \n", " \n", " \n", " \n", " 0\n", - " 7785298\n", - " duration\n", - " 0.0\n", - " 1.0\n", - " 2.0\n", + " 7853686\n", + " 5\n", + " 5\n", " 0\n", " 0\n", " 0\n", + " False\n", + " 0.000000\n", " 0\n", " 0\n", " ...\n", - " 0.0\n", - " 1.0\n", - " 2.0\n", - " 3.0\n", - " 0.0\n", - " 1.0\n", - " 2.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", + " False\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 1\n", - " 7785298\n", - " end\n", - " 5.0\n", - " 6.0\n", - " 7.0\n", - " 0\n", - " 0\n", + " 7853686\n", + " 5\n", + " 6\n", + " 1\n", + " 1\n", " 0\n", + " False\n", + " 24.259998\n", " 0\n", " 0\n", " ...\n", - " 20.0\n", - " 21.0\n", - " 22.0\n", - " 23.0\n", - " 21.0\n", - " 22.0\n", - " 23.0\n", - " 22.0\n", - " 23.0\n", - " 23.0\n", + " False\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 2\n", - " 7785298\n", - " mode_choice_logsum\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0\n", - " 0\n", + " 7853686\n", + " 5\n", + " 7\n", + " 2\n", + " 2\n", " 0\n", + " False\n", + " 48.519997\n", " 0\n", " 0\n", " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 3\n", - " 7785298\n", - " start\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " 0\n", - " 0\n", + " 7853686\n", + " 5\n", + " 8\n", + " 3\n", + " 3\n", " 0\n", + " False\n", + " 72.779999\n", " 0\n", " 0\n", " ...\n", - " 20.0\n", - " 20.0\n", - " 20.0\n", - " 20.0\n", - " 21.0\n", - " 21.0\n", - " 21.0\n", - " 22.0\n", - " 22.0\n", - " 23.0\n", - " \n", - " \n", - " 4\n", - " 7785298\n", - " util_adjacent_window_exists_after_this_arrival...\n", " False\n", " False\n", " False\n", + " False\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " \n", + " \n", + " 4\n", + " 7853686\n", + " 5\n", + " 9\n", + " 4\n", + " 4\n", " 0\n", - " 0\n", - " 0\n", + " False\n", + " 97.039993\n", " 0\n", " 0\n", " ...\n", @@ -1780,7 +1843,7 @@ " False\n", " False\n", " False\n", - " False\n", + " True\n", " False\n", " False\n", " False\n", @@ -1811,47 +1874,47 @@ " ...\n", " \n", " \n", - " 5728\n", - " 301810980\n", - " util_subsequent_of_2_plus_tours_for_same_purpo...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 107101\n", + " 305246245\n", + " 21\n", + " 22\n", + " 1\n", + " 185\n", " 0\n", + " False\n", + " 2.480000\n", " 0\n", " 0\n", " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " \n", - " \n", - " 5729\n", - " 301810980\n", - " util_subsequent_tour_must_start_after_previous...\n", + " False\n", + " False\n", + " True\n", + " True\n", " False\n", " False\n", " False\n", " False\n", + " False\n", + " False\n", + " \n", + " \n", + " 107102\n", + " 305246245\n", + " 21\n", + " 23\n", + " 2\n", + " 186\n", " 0\n", - " 0\n", + " False\n", + " 4.960000\n", " 0\n", " 0\n", " ...\n", " False\n", " False\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " False\n", " False\n", " False\n", @@ -1859,22 +1922,22 @@ " False\n", " \n", " \n", - " 5730\n", - " 301810980\n", - " util_university_student_arrive_after_22\n", - " False\n", - " False\n", - " False\n", - " False\n", + " 107103\n", + " 305246245\n", + " 22\n", + " 22\n", " 0\n", + " 187\n", " 0\n", + " False\n", + " 0.000000\n", " 0\n", " 0\n", " ...\n", " False\n", " False\n", - " False\n", - " False\n", + " True\n", + " True\n", " False\n", " False\n", " False\n", @@ -1883,99 +1946,229 @@ " False\n", " \n", " \n", - " 5731\n", - " 301810980\n", - " util_visit_tour_departure_shift_effects\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 107104\n", + " 305246245\n", + " 22\n", + " 23\n", + " 1\n", + " 188\n", " 0\n", + " False\n", + " 2.480000\n", " 0\n", " 0\n", " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " True\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 5732\n", - " 301810980\n", - " util_visit_tour_duration_shift_effects\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 107105\n", + " 305246245\n", + " 23\n", + " 23\n", " 0\n", + " 189\n", " 0\n", + " False\n", + " 0.000000\n", " 0\n", " 0\n", " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " True\n", + " True\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", "\n", - "

5733 rows × 192 columns

\n", + "

107106 rows × 65 columns

\n", "" ], "text/plain": [ - " tour_id variable 0 \\\n", - "0 7785298 duration 0.0 \n", - "1 7785298 end 5.0 \n", - "2 7785298 mode_choice_logsum 0.0 \n", - "3 7785298 start 5.0 \n", - "4 7785298 util_adjacent_window_exists_after_this_arrival... False \n", - "... ... ... ... \n", - "5728 301810980 util_subsequent_of_2_plus_tours_for_same_purpo... 0 \n", - "5729 301810980 util_subsequent_tour_must_start_after_previous... False \n", - "5730 301810980 util_university_student_arrive_after_22 False \n", - "5731 301810980 util_visit_tour_departure_shift_effects 0 \n", - "5732 301810980 util_visit_tour_duration_shift_effects 0 \n", + " tour_id start end duration tdd mode_choice_logsum \\\n", + "0 7853686 5 5 0 0 0 \n", + "1 7853686 5 6 1 1 0 \n", + "2 7853686 5 7 2 2 0 \n", + "3 7853686 5 8 3 3 0 \n", + "4 7853686 5 9 4 4 0 \n", + "... ... ... ... ... ... ... \n", + "107101 305246245 21 22 1 185 0 \n", + "107102 305246245 21 23 2 186 0 \n", + "107103 305246245 22 22 0 187 0 \n", + "107104 305246245 22 23 1 188 0 \n", + "107105 305246245 23 23 0 189 0 \n", + "\n", + " util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "107101 False \n", + "107102 False \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", + "\n", + " util_free_flow_round_trip_auto_time_shift_effects_duration \\\n", + "0 0.000000 \n", + "1 24.259998 \n", + "2 48.519997 \n", + "3 72.779999 \n", + "4 97.039993 \n", + "... ... \n", + "107101 2.480000 \n", + "107102 4.960000 \n", + "107103 0.000000 \n", + "107104 2.480000 \n", + "107105 0.000000 \n", + "\n", + " util_shopping_tour_departure_shift_effects \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "107101 0 \n", + "107102 0 \n", + "107103 0 \n", + "107104 0 \n", + "107105 0 \n", + "\n", + " util_shopping_tour_duration_shift_effects ... \\\n", + "0 0 ... \n", + "1 0 ... \n", + "2 0 ... \n", + "3 0 ... \n", + "4 0 ... \n", + "... ... ... \n", + "107101 0 ... \n", + "107102 0 ... \n", + "107103 0 ... \n", + "107104 0 ... \n", + "107105 0 ... \n", + "\n", + " util_arrival_constants_pm_peak_4 util_arrival_constants_evening \\\n", + "0 False False \n", + "1 False False \n", + "2 False False \n", + "3 False False \n", + "4 False False \n", + "... ... ... \n", + "107101 False False \n", + "107102 False False \n", + "107103 False False \n", + "107104 False False \n", + "107105 False False \n", + "\n", + " util_arrival_constants_late util_duration_constants_0_to_1_hours \\\n", + "0 False True \n", + "1 False True \n", + "2 False False \n", + "3 False False \n", + "4 False False \n", + "... ... ... \n", + "107101 True True \n", + "107102 True False \n", + "107103 True True \n", + "107104 True True \n", + "107105 True True \n", + "\n", + " util_duration_constants_2_to_3_hours \\\n", + "0 False \n", + "1 False \n", + "2 True \n", + "3 True \n", + "4 False \n", + "... ... \n", + "107101 False \n", + "107102 True \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", "\n", - " 1 2 3 4 5 6 7 ... 180 181 182 183 184 \\\n", - "0 1.0 2.0 0 0 0 0 0 ... 0.0 1.0 2.0 3.0 0.0 \n", - "1 6.0 7.0 0 0 0 0 0 ... 20.0 21.0 22.0 23.0 21.0 \n", - "2 0.0 0.0 0 0 0 0 0 ... 0.0 0.0 0.0 0.0 0.0 \n", - "3 5.0 5.0 0 0 0 0 0 ... 20.0 20.0 20.0 20.0 21.0 \n", - "4 False False 0 0 0 0 0 ... False False False False False \n", - "... ... ... ... .. .. .. .. ... ... ... ... ... ... \n", - "5728 0 0 0 0 0 0 0 ... 0 0 0 0 0 \n", - "5729 False False False 0 0 0 0 ... False False False False False \n", - "5730 False False False 0 0 0 0 ... False False False False False \n", - "5731 0 0 0 0 0 0 0 ... 0 0 0 0 0 \n", - "5732 0 0 0 0 0 0 0 ... 0 0 0 0 0 \n", + " util_duration_constants_4_to_5_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 True \n", + "... ... \n", + "107101 False \n", + "107102 False \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", "\n", - " 185 186 187 188 189 \n", - "0 1.0 2.0 0.0 1.0 0.0 \n", - "1 22.0 23.0 22.0 23.0 23.0 \n", - "2 0.0 0.0 0.0 0.0 0.0 \n", - "3 21.0 21.0 22.0 22.0 23.0 \n", - "4 False False False False False \n", - "... ... ... ... ... ... \n", - "5728 0 0 0 0 0 \n", - "5729 False False False False False \n", - "5730 False False False False False \n", - "5731 0 0 0 0 0 \n", - "5732 0 0 0 0 0 \n", + " util_duration_constants_6_to_7_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "107101 False \n", + "107102 False \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", "\n", - "[5733 rows x 192 columns]" + " util_duration_constants_8_to_10_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "107101 False \n", + "107102 False \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", + "\n", + " util_duration_constants_11_to_13_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "107101 False \n", + "107102 False \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", + "\n", + " util_duration_constants_14_to_18_hours \n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "107101 False \n", + "107102 False \n", + "107103 False \n", + "107104 False \n", + "107105 False \n", + "\n", + "[107106 rows x 65 columns]" ] }, "execution_count": 7, @@ -2005,13 +2198,36 @@ "name": "stderr", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "problem: chosen_but_not_available has (2 issues)\n" ] }, + { + "data": { + "text/plain": [ + "(,\n", + " ┣ chosen_but_not_available: altid n example rows\n", + " ┃ 0 115 1 356\n", + " ┃ 1 149 2 732, 1183)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.doctor(repair_ch_av=\"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "

Iteration 067 [Optimization terminated successfully]

" + "

Iteration 144 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -2023,7 +2239,7 @@ { "data": { "text/html": [ - "

Best LL = -173.82837615906058

" + "

Best LL = -2789.512559021124

" ], "text/plain": [ "" @@ -2054,913 +2270,867 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " -13.526580\n", + " 0.800851\n", + " 0.800851\n", " -0.025700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -13.526580\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction\n", - " -14.169341\n", + " 0.494438\n", + " 0.494438\n", " -0.027340\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -14.169341\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " -13.495922\n", + " 0.008839\n", + " 0.008839\n", " 0.008442\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -13.495922\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction\n", - " -7.716247\n", + " -0.549692\n", + " -0.549692\n", " -0.059300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -7.716247\n", " \n", " \n", " coef_adult_with_children_in_hh_arrive_19_21\n", - " -0.002541\n", + " -0.078997\n", + " -0.078997\n", " 0.336000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.002541\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " 4.647673\n", + " -8.413713\n", + " -8.413713\n", " -8.728880\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 4.647673\n", " \n", " \n", " coef_arrival_constants_early\n", - " 24.793142\n", + " -6.758955\n", + " -6.758955\n", " -8.728880\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 24.793142\n", " \n", " \n", " coef_arrival_constants_evening\n", - " -4.291783\n", + " -2.675953\n", + " -2.675953\n", " -2.748940\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -4.291783\n", " \n", " \n", " coef_arrival_constants_late\n", - " -9.617038\n", + " -4.194942\n", + " -4.194942\n", " -4.242530\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -9.617038\n", " \n", " \n", " coef_arrival_constants_midday_1\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_arrival_constants_midday_2\n", - " 2.692519\n", + " 1.416723\n", + " 1.416723\n", " 1.408040\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 2.692519\n", " \n", " \n", " coef_arrival_constants_pm_peak_1\n", - " 1.849237\n", + " 0.964024\n", + " 0.964024\n", " 1.020360\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.849237\n", " \n", " \n", " coef_arrival_constants_pm_peak_2\n", - " 1.518410\n", + " 1.200835\n", + " 1.200835\n", " 1.068630\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.518410\n", " \n", " \n", " coef_arrival_constants_pm_peak_3\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_arrival_constants_pm_peak_4\n", - " -1.182768\n", + " -0.725959\n", + " -0.725959\n", " -0.596260\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.182768\n", " \n", " \n", " coef_departure_constants_am_peak_1\n", - " -25.000000\n", + " -13.990759\n", + " -13.990759\n", " -11.595050\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -25.000000\n", " \n", " \n", " coef_departure_constants_am_peak_2\n", - " -4.236849\n", + " -10.163788\n", + " -10.163788\n", " -9.005190\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -4.236849\n", " \n", " \n", " coef_departure_constants_am_peak_3\n", - " 0.806223\n", + " -2.799430\n", + " -2.799430\n", " -2.733150\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.806223\n", " \n", " \n", " coef_departure_constants_am_peak_4\n", - " 1.408142\n", + " 0.514393\n", + " 0.514393\n", " 0.266540\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.408142\n", " \n", " \n", " coef_departure_constants_early\n", - " -24.418086\n", + " -17.865880\n", + " -17.865880\n", " -14.477080\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -24.418086\n", " \n", " \n", " coef_departure_constants_evening\n", - " -14.557517\n", + " -19.574287\n", + " -19.574287\n", " -18.987370\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -14.557517\n", " \n", " \n", " coef_departure_constants_late\n", - " -20.421814\n", + " -21.444922\n", + " -21.444922\n", " -20.278070\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -20.421814\n", " \n", " \n", " coef_departure_constants_midday_1\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_departure_constants_midday_2\n", - " -4.501238\n", + " -1.886316\n", + " -1.886316\n", " -1.602600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -4.501238\n", " \n", " \n", " coef_departure_constants_pm_peak\n", - " -12.638403\n", + " -18.238556\n", + " -18.238556\n", " -17.695980\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -12.638403\n", " \n", " \n", " coef_destination_in_cbd_duration_shift_effects\n", - " 0.572330\n", + " 0.130935\n", + " 0.130935\n", " 0.106700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.572330\n", " \n", " \n", " coef_discretionary_tour_duration_lt_2_hours\n", - " -1.022488\n", + " -0.772425\n", + " -0.772425\n", " -0.697400\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.022488\n", " \n", " \n", " coef_duration_constants_0_to_1_hours\n", - " -2.750481\n", + " -2.021348\n", + " -2.021348\n", " -2.228260\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.750481\n", " \n", " \n", " coef_duration_constants_11_to_13_hours\n", - " -6.162737\n", + " -1.608105\n", + " -1.608105\n", " -0.815190\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -6.162737\n", " \n", " \n", " coef_duration_constants_14_to_18_hours\n", - " -2.800706\n", + " -3.067613\n", + " -3.067613\n", " -2.738440\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.800706\n", " \n", " \n", " coef_duration_constants_2_to_3_hours\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_duration_constants_4_to_5_hours\n", - " 0.301145\n", + " -0.519561\n", + " -0.519561\n", " -0.561740\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.301145\n", " \n", " \n", " coef_duration_constants_6_to_7_hours\n", - " 0.144072\n", + " -0.868309\n", + " -0.868309\n", " -0.655470\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.144072\n", " \n", " \n", " coef_duration_constants_8_to_10_hours\n", - " -10.570858\n", + " -1.020095\n", + " -1.020095\n", " -0.740620\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -10.570858\n", " \n", " \n", " coef_eat_out_tour_departure_shift_effects\n", - " -0.024649\n", + " 0.056578\n", + " 0.056578\n", " 0.075490\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.024649\n", " \n", " \n", " coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect\n", - " -1.329351\n", + " -0.506782\n", + " -0.506782\n", " -0.236400\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.329351\n", " \n", " \n", " coef_free_flow_round_trip_auto_time_shift_effects_duration\n", - " 0.017752\n", + " 0.003622\n", + " 0.003622\n", " 0.003195\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.017752\n", " \n", " \n", " coef_maintenance_tour_depart_before_7\n", - " 1.154584\n", + " -0.523693\n", + " -0.523693\n", " -0.882600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.154584\n", " \n", " \n", " coef_maintenance_tour_departure_shift_effects\n", - " -0.159210\n", + " -0.135634\n", + " -0.135634\n", " -0.148900\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.159210\n", " \n", " \n", " coef_maintenance_tour_duration_shift_effects\n", - " -0.146459\n", + " -0.038428\n", + " -0.038428\n", " -0.083720\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.146459\n", " \n", " \n", " coef_number_of_joint_tours_departure_shift_effects\n", - " 1.356173\n", + " 0.128742\n", + " 0.128742\n", " 0.052080\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.356173\n", " \n", " \n", " coef_number_of_mandatory_tours_departure_shift_effects\n", - " 0.076326\n", + " -0.009788\n", + " -0.009788\n", " 0.046730\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.076326\n", " \n", " \n", " coef_school_child_age_16_plus_departure_shift_effects\n", + " 0.106395\n", + " 0.106395\n", " 0.072660\n", - " 0.072660\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.072660\n", " \n", " \n", " coef_school_child_age_16_plus_duration_shift_effects\n", + " 0.315781\n", + " 0.315781\n", " 0.209500\n", - " 0.209500\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.209500\n", " \n", " \n", " coef_school_child_age_under_16_departure_shift_effects\n", - " 0.239007\n", + " 0.015473\n", + " 0.015473\n", " 0.046570\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.239007\n", " \n", " \n", " coef_school_child_age_under_16_duration_shift_effects\n", - " -0.567863\n", + " 0.327527\n", + " 0.327527\n", " 0.327200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.567863\n", " \n", " \n", " coef_school_child_under_16_arrive_after_22\n", - " -6.147237\n", + " -5.038827\n", + " -5.038827\n", " -1.180000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -6.147237\n", " \n", " \n", " coef_shopping_tour_arrive_after_22\n", - " -7.221041\n", + " -0.033268\n", + " -0.033268\n", " -0.602700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -7.221041\n", " \n", " \n", " coef_shopping_tour_depart_before_8\n", - " 1.458488\n", + " -1.484109\n", + " -1.484109\n", " -1.037000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.458488\n", " \n", " \n", " coef_shopping_tour_departure_shift_effects\n", - " -0.045633\n", + " -0.099254\n", + " -0.099254\n", " -0.060150\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.045633\n", " \n", " \n", " coef_shopping_tour_duration_lt_2_hours\n", - " 0.189427\n", + " 0.699700\n", + " 0.699700\n", " 0.516800\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.189427\n", " \n", " \n", " coef_shopping_tour_duration_shift_effects\n", - " -0.359705\n", + " -0.101207\n", + " -0.101207\n", " -0.120800\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.359705\n", " \n", " \n", " coef_some_previously_scheduled_tour_begins_in_this_arrival_hour\n", - " 0.411979\n", + " -0.017681\n", + " -0.017681\n", " -0.399200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.411979\n", " \n", " \n", " coef_some_previously_scheduled_tour_ends_in_this_departure_hour\n", - " 0.282029\n", + " -0.288048\n", + " -0.288048\n", " -0.456200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.282029\n", " \n", " \n", " coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect\n", - " 0.191264\n", + " 0.062417\n", + " 0.062417\n", " -0.173100\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.191264\n", " \n", " \n", " coef_unavailable\n", " -999.000000\n", " -999.000000\n", + " -999.000000\n", + " -999.0\n", + " -999.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_university_student_arrive_after_22\n", - " -9.181095\n", + " 0.360948\n", + " 0.360948\n", " 0.546600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -9.181095\n", " \n", " \n", " coef_visit_tour_departure_shift_effects\n", - " -0.109515\n", + " 0.136717\n", + " 0.136717\n", " 0.096880\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.109515\n", " \n", " \n", " coef_visit_tour_duration_shift_effects\n", - " -0.123814\n", + " 0.172436\n", + " 0.172436\n", " 0.163800\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.123814\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_adjacent_window_exists_after_this_arrival_... -13.526580 -0.025700 \n", - "coef_adjacent_window_exists_after_this_arrival_... -14.169341 -0.027340 \n", - "coef_adjacent_window_exists_before_this_departu... -13.495922 0.008442 \n", - "coef_adjacent_window_exists_before_this_departu... -7.716247 -0.059300 \n", - "coef_adult_with_children_in_hh_arrive_19_21 -0.002541 0.336000 \n", - "coef_arrival_constants_am_peak 4.647673 -8.728880 \n", - "coef_arrival_constants_early 24.793142 -8.728880 \n", - "coef_arrival_constants_evening -4.291783 -2.748940 \n", - "coef_arrival_constants_late -9.617038 -4.242530 \n", + " value best \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0.800851 0.800851 \n", + "coef_adjacent_window_exists_after_this_arrival_... 0.494438 0.494438 \n", + "coef_adjacent_window_exists_before_this_departu... 0.008839 0.008839 \n", + "coef_adjacent_window_exists_before_this_departu... -0.549692 -0.549692 \n", + "coef_adult_with_children_in_hh_arrive_19_21 -0.078997 -0.078997 \n", + "coef_arrival_constants_am_peak -8.413713 -8.413713 \n", + "coef_arrival_constants_early -6.758955 -6.758955 \n", + "coef_arrival_constants_evening -2.675953 -2.675953 \n", + "coef_arrival_constants_late -4.194942 -4.194942 \n", "coef_arrival_constants_midday_1 0.000000 0.000000 \n", - "coef_arrival_constants_midday_2 2.692519 1.408040 \n", - "coef_arrival_constants_pm_peak_1 1.849237 1.020360 \n", - "coef_arrival_constants_pm_peak_2 1.518410 1.068630 \n", + "coef_arrival_constants_midday_2 1.416723 1.416723 \n", + "coef_arrival_constants_pm_peak_1 0.964024 0.964024 \n", + "coef_arrival_constants_pm_peak_2 1.200835 1.200835 \n", "coef_arrival_constants_pm_peak_3 0.000000 0.000000 \n", - "coef_arrival_constants_pm_peak_4 -1.182768 -0.596260 \n", - "coef_departure_constants_am_peak_1 -25.000000 -11.595050 \n", - "coef_departure_constants_am_peak_2 -4.236849 -9.005190 \n", - "coef_departure_constants_am_peak_3 0.806223 -2.733150 \n", - "coef_departure_constants_am_peak_4 1.408142 0.266540 \n", - "coef_departure_constants_early -24.418086 -14.477080 \n", - "coef_departure_constants_evening -14.557517 -18.987370 \n", - "coef_departure_constants_late -20.421814 -20.278070 \n", + "coef_arrival_constants_pm_peak_4 -0.725959 -0.725959 \n", + "coef_departure_constants_am_peak_1 -13.990759 -13.990759 \n", + "coef_departure_constants_am_peak_2 -10.163788 -10.163788 \n", + "coef_departure_constants_am_peak_3 -2.799430 -2.799430 \n", + "coef_departure_constants_am_peak_4 0.514393 0.514393 \n", + "coef_departure_constants_early -17.865880 -17.865880 \n", + "coef_departure_constants_evening -19.574287 -19.574287 \n", + "coef_departure_constants_late -21.444922 -21.444922 \n", "coef_departure_constants_midday_1 0.000000 0.000000 \n", - "coef_departure_constants_midday_2 -4.501238 -1.602600 \n", - "coef_departure_constants_pm_peak -12.638403 -17.695980 \n", - "coef_destination_in_cbd_duration_shift_effects 0.572330 0.106700 \n", - "coef_discretionary_tour_duration_lt_2_hours -1.022488 -0.697400 \n", - "coef_duration_constants_0_to_1_hours -2.750481 -2.228260 \n", - "coef_duration_constants_11_to_13_hours -6.162737 -0.815190 \n", - "coef_duration_constants_14_to_18_hours -2.800706 -2.738440 \n", + "coef_departure_constants_midday_2 -1.886316 -1.886316 \n", + "coef_departure_constants_pm_peak -18.238556 -18.238556 \n", + "coef_destination_in_cbd_duration_shift_effects 0.130935 0.130935 \n", + "coef_discretionary_tour_duration_lt_2_hours -0.772425 -0.772425 \n", + "coef_duration_constants_0_to_1_hours -2.021348 -2.021348 \n", + "coef_duration_constants_11_to_13_hours -1.608105 -1.608105 \n", + "coef_duration_constants_14_to_18_hours -3.067613 -3.067613 \n", "coef_duration_constants_2_to_3_hours 0.000000 0.000000 \n", - "coef_duration_constants_4_to_5_hours 0.301145 -0.561740 \n", - "coef_duration_constants_6_to_7_hours 0.144072 -0.655470 \n", - "coef_duration_constants_8_to_10_hours -10.570858 -0.740620 \n", - "coef_eat_out_tour_departure_shift_effects -0.024649 0.075490 \n", - "coef_first_of_2_plus_tours_for_same_purpose_dep... -1.329351 -0.236400 \n", - "coef_free_flow_round_trip_auto_time_shift_effec... 0.017752 0.003195 \n", - "coef_maintenance_tour_depart_before_7 1.154584 -0.882600 \n", - "coef_maintenance_tour_departure_shift_effects -0.159210 -0.148900 \n", - "coef_maintenance_tour_duration_shift_effects -0.146459 -0.083720 \n", - "coef_number_of_joint_tours_departure_shift_effects 1.356173 0.052080 \n", - "coef_number_of_mandatory_tours_departure_shift_... 0.076326 0.046730 \n", - "coef_school_child_age_16_plus_departure_shift_e... 0.072660 0.072660 \n", - "coef_school_child_age_16_plus_duration_shift_ef... 0.209500 0.209500 \n", - "coef_school_child_age_under_16_departure_shift_... 0.239007 0.046570 \n", - "coef_school_child_age_under_16_duration_shift_e... -0.567863 0.327200 \n", - "coef_school_child_under_16_arrive_after_22 -6.147237 -1.180000 \n", - "coef_shopping_tour_arrive_after_22 -7.221041 -0.602700 \n", - "coef_shopping_tour_depart_before_8 1.458488 -1.037000 \n", - "coef_shopping_tour_departure_shift_effects -0.045633 -0.060150 \n", - "coef_shopping_tour_duration_lt_2_hours 0.189427 0.516800 \n", - "coef_shopping_tour_duration_shift_effects -0.359705 -0.120800 \n", - "coef_some_previously_scheduled_tour_begins_in_t... 0.411979 -0.399200 \n", - "coef_some_previously_scheduled_tour_ends_in_thi... 0.282029 -0.456200 \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... 0.191264 -0.173100 \n", + "coef_duration_constants_4_to_5_hours -0.519561 -0.519561 \n", + "coef_duration_constants_6_to_7_hours -0.868309 -0.868309 \n", + "coef_duration_constants_8_to_10_hours -1.020095 -1.020095 \n", + "coef_eat_out_tour_departure_shift_effects 0.056578 0.056578 \n", + "coef_first_of_2_plus_tours_for_same_purpose_dep... -0.506782 -0.506782 \n", + "coef_free_flow_round_trip_auto_time_shift_effec... 0.003622 0.003622 \n", + "coef_maintenance_tour_depart_before_7 -0.523693 -0.523693 \n", + "coef_maintenance_tour_departure_shift_effects -0.135634 -0.135634 \n", + "coef_maintenance_tour_duration_shift_effects -0.038428 -0.038428 \n", + "coef_number_of_joint_tours_departure_shift_effects 0.128742 0.128742 \n", + "coef_number_of_mandatory_tours_departure_shift_... -0.009788 -0.009788 \n", + "coef_school_child_age_16_plus_departure_shift_e... 0.106395 0.106395 \n", + "coef_school_child_age_16_plus_duration_shift_ef... 0.315781 0.315781 \n", + "coef_school_child_age_under_16_departure_shift_... 0.015473 0.015473 \n", + "coef_school_child_age_under_16_duration_shift_e... 0.327527 0.327527 \n", + "coef_school_child_under_16_arrive_after_22 -5.038827 -5.038827 \n", + "coef_shopping_tour_arrive_after_22 -0.033268 -0.033268 \n", + "coef_shopping_tour_depart_before_8 -1.484109 -1.484109 \n", + "coef_shopping_tour_departure_shift_effects -0.099254 -0.099254 \n", + "coef_shopping_tour_duration_lt_2_hours 0.699700 0.699700 \n", + "coef_shopping_tour_duration_shift_effects -0.101207 -0.101207 \n", + "coef_some_previously_scheduled_tour_begins_in_t... -0.017681 -0.017681 \n", + "coef_some_previously_scheduled_tour_ends_in_thi... -0.288048 -0.288048 \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... 0.062417 0.062417 \n", "coef_unavailable -999.000000 -999.000000 \n", - "coef_university_student_arrive_after_22 -9.181095 0.546600 \n", - "coef_visit_tour_departure_shift_effects -0.109515 0.096880 \n", - "coef_visit_tour_duration_shift_effects -0.123814 0.163800 \n", + "coef_university_student_arrive_after_22 0.360948 0.360948 \n", + "coef_visit_tour_departure_shift_effects 0.136717 0.136717 \n", + "coef_visit_tour_duration_shift_effects 0.172436 0.172436 \n", "\n", - " nullvalue minimum \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_adult_with_children_in_hh_arrive_19_21 0.0 -25.0 \n", - "coef_arrival_constants_am_peak 0.0 -25.0 \n", - "coef_arrival_constants_early 0.0 -25.0 \n", - "coef_arrival_constants_evening 0.0 -25.0 \n", - "coef_arrival_constants_late 0.0 -25.0 \n", - "coef_arrival_constants_midday_1 0.0 -25.0 \n", - "coef_arrival_constants_midday_2 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_1 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_2 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_3 0.0 -25.0 \n", - "coef_arrival_constants_pm_peak_4 0.0 -25.0 \n", - "coef_departure_constants_am_peak_1 0.0 -25.0 \n", - "coef_departure_constants_am_peak_2 0.0 -25.0 \n", - "coef_departure_constants_am_peak_3 0.0 -25.0 \n", - "coef_departure_constants_am_peak_4 0.0 -25.0 \n", - "coef_departure_constants_early 0.0 -25.0 \n", - "coef_departure_constants_evening 0.0 -25.0 \n", - "coef_departure_constants_late 0.0 -25.0 \n", - "coef_departure_constants_midday_1 0.0 -25.0 \n", - "coef_departure_constants_midday_2 0.0 -25.0 \n", - "coef_departure_constants_pm_peak 0.0 -25.0 \n", - "coef_destination_in_cbd_duration_shift_effects 0.0 -25.0 \n", - "coef_discretionary_tour_duration_lt_2_hours 0.0 -25.0 \n", - "coef_duration_constants_0_to_1_hours 0.0 -25.0 \n", - "coef_duration_constants_11_to_13_hours 0.0 -25.0 \n", - "coef_duration_constants_14_to_18_hours 0.0 -25.0 \n", - "coef_duration_constants_2_to_3_hours 0.0 -25.0 \n", - "coef_duration_constants_4_to_5_hours 0.0 -25.0 \n", - "coef_duration_constants_6_to_7_hours 0.0 -25.0 \n", - "coef_duration_constants_8_to_10_hours 0.0 -25.0 \n", - "coef_eat_out_tour_departure_shift_effects 0.0 -25.0 \n", - "coef_first_of_2_plus_tours_for_same_purpose_dep... 0.0 -25.0 \n", - "coef_free_flow_round_trip_auto_time_shift_effec... 0.0 -25.0 \n", - "coef_maintenance_tour_depart_before_7 0.0 -25.0 \n", - "coef_maintenance_tour_departure_shift_effects 0.0 -25.0 \n", - "coef_maintenance_tour_duration_shift_effects 0.0 -25.0 \n", - "coef_number_of_joint_tours_departure_shift_effects 0.0 -25.0 \n", - "coef_number_of_mandatory_tours_departure_shift_... 0.0 -25.0 \n", - "coef_school_child_age_16_plus_departure_shift_e... 0.0 -25.0 \n", - "coef_school_child_age_16_plus_duration_shift_ef... 0.0 -25.0 \n", - "coef_school_child_age_under_16_departure_shift_... 0.0 -25.0 \n", - "coef_school_child_age_under_16_duration_shift_e... 0.0 -25.0 \n", - "coef_school_child_under_16_arrive_after_22 0.0 -25.0 \n", - "coef_shopping_tour_arrive_after_22 0.0 -25.0 \n", - "coef_shopping_tour_depart_before_8 0.0 -25.0 \n", - "coef_shopping_tour_departure_shift_effects 0.0 -25.0 \n", - "coef_shopping_tour_duration_lt_2_hours 0.0 -25.0 \n", - "coef_shopping_tour_duration_shift_effects 0.0 -25.0 \n", - "coef_some_previously_scheduled_tour_begins_in_t... 0.0 -25.0 \n", - "coef_some_previously_scheduled_tour_ends_in_thi... 0.0 -25.0 \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... 0.0 -25.0 \n", - "coef_unavailable 0.0 -25.0 \n", - "coef_university_student_arrive_after_22 0.0 -25.0 \n", - "coef_visit_tour_departure_shift_effects 0.0 -25.0 \n", - "coef_visit_tour_duration_shift_effects 0.0 -25.0 \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.025700 -25.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.027340 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... 0.008442 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... -0.059300 -25.0 \n", + "coef_adult_with_children_in_hh_arrive_19_21 0.336000 -25.0 \n", + "coef_arrival_constants_am_peak -8.728880 -25.0 \n", + "coef_arrival_constants_early -8.728880 -25.0 \n", + "coef_arrival_constants_evening -2.748940 -25.0 \n", + "coef_arrival_constants_late -4.242530 -25.0 \n", + "coef_arrival_constants_midday_1 0.000000 0.0 \n", + "coef_arrival_constants_midday_2 1.408040 -25.0 \n", + "coef_arrival_constants_pm_peak_1 1.020360 -25.0 \n", + "coef_arrival_constants_pm_peak_2 1.068630 -25.0 \n", + "coef_arrival_constants_pm_peak_3 0.000000 0.0 \n", + "coef_arrival_constants_pm_peak_4 -0.596260 -25.0 \n", + "coef_departure_constants_am_peak_1 -11.595050 -25.0 \n", + "coef_departure_constants_am_peak_2 -9.005190 -25.0 \n", + "coef_departure_constants_am_peak_3 -2.733150 -25.0 \n", + "coef_departure_constants_am_peak_4 0.266540 -25.0 \n", + "coef_departure_constants_early -14.477080 -25.0 \n", + "coef_departure_constants_evening -18.987370 -25.0 \n", + "coef_departure_constants_late -20.278070 -25.0 \n", + "coef_departure_constants_midday_1 0.000000 0.0 \n", + "coef_departure_constants_midday_2 -1.602600 -25.0 \n", + "coef_departure_constants_pm_peak -17.695980 -25.0 \n", + "coef_destination_in_cbd_duration_shift_effects 0.106700 -25.0 \n", + "coef_discretionary_tour_duration_lt_2_hours -0.697400 -25.0 \n", + "coef_duration_constants_0_to_1_hours -2.228260 -25.0 \n", + "coef_duration_constants_11_to_13_hours -0.815190 -25.0 \n", + "coef_duration_constants_14_to_18_hours -2.738440 -25.0 \n", + "coef_duration_constants_2_to_3_hours 0.000000 0.0 \n", + "coef_duration_constants_4_to_5_hours -0.561740 -25.0 \n", + "coef_duration_constants_6_to_7_hours -0.655470 -25.0 \n", + "coef_duration_constants_8_to_10_hours -0.740620 -25.0 \n", + "coef_eat_out_tour_departure_shift_effects 0.075490 -25.0 \n", + "coef_first_of_2_plus_tours_for_same_purpose_dep... -0.236400 -25.0 \n", + "coef_free_flow_round_trip_auto_time_shift_effec... 0.003195 -25.0 \n", + "coef_maintenance_tour_depart_before_7 -0.882600 -25.0 \n", + "coef_maintenance_tour_departure_shift_effects -0.148900 -25.0 \n", + "coef_maintenance_tour_duration_shift_effects -0.083720 -25.0 \n", + "coef_number_of_joint_tours_departure_shift_effects 0.052080 -25.0 \n", + "coef_number_of_mandatory_tours_departure_shift_... 0.046730 -25.0 \n", + "coef_school_child_age_16_plus_departure_shift_e... 0.072660 -25.0 \n", + "coef_school_child_age_16_plus_duration_shift_ef... 0.209500 -25.0 \n", + "coef_school_child_age_under_16_departure_shift_... 0.046570 -25.0 \n", + "coef_school_child_age_under_16_duration_shift_e... 0.327200 -25.0 \n", + "coef_school_child_under_16_arrive_after_22 -1.180000 -25.0 \n", + "coef_shopping_tour_arrive_after_22 -0.602700 -25.0 \n", + "coef_shopping_tour_depart_before_8 -1.037000 -25.0 \n", + "coef_shopping_tour_departure_shift_effects -0.060150 -25.0 \n", + "coef_shopping_tour_duration_lt_2_hours 0.516800 -25.0 \n", + "coef_shopping_tour_duration_shift_effects -0.120800 -25.0 \n", + "coef_some_previously_scheduled_tour_begins_in_t... -0.399200 -25.0 \n", + "coef_some_previously_scheduled_tour_ends_in_thi... -0.456200 -25.0 \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... -0.173100 -25.0 \n", + "coef_unavailable -999.000000 -999.0 \n", + "coef_university_student_arrive_after_22 0.546600 -25.0 \n", + "coef_visit_tour_departure_shift_effects 0.096880 -25.0 \n", + "coef_visit_tour_duration_shift_effects 0.163800 -25.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_adult_with_children_in_hh_arrive_19_21 25.0 0 \n", - "coef_arrival_constants_am_peak 25.0 0 \n", - "coef_arrival_constants_early 25.0 0 \n", - "coef_arrival_constants_evening 25.0 0 \n", - "coef_arrival_constants_late 25.0 0 \n", - "coef_arrival_constants_midday_1 25.0 1 \n", - "coef_arrival_constants_midday_2 25.0 0 \n", - "coef_arrival_constants_pm_peak_1 25.0 0 \n", - "coef_arrival_constants_pm_peak_2 25.0 0 \n", - "coef_arrival_constants_pm_peak_3 25.0 1 \n", - "coef_arrival_constants_pm_peak_4 25.0 0 \n", - "coef_departure_constants_am_peak_1 25.0 0 \n", - "coef_departure_constants_am_peak_2 25.0 0 \n", - "coef_departure_constants_am_peak_3 25.0 0 \n", - "coef_departure_constants_am_peak_4 25.0 0 \n", - "coef_departure_constants_early 25.0 0 \n", - "coef_departure_constants_evening 25.0 0 \n", - "coef_departure_constants_late 25.0 0 \n", - "coef_departure_constants_midday_1 25.0 1 \n", - "coef_departure_constants_midday_2 25.0 0 \n", - "coef_departure_constants_pm_peak 25.0 0 \n", - "coef_destination_in_cbd_duration_shift_effects 25.0 0 \n", - "coef_discretionary_tour_duration_lt_2_hours 25.0 0 \n", - "coef_duration_constants_0_to_1_hours 25.0 0 \n", - "coef_duration_constants_11_to_13_hours 25.0 0 \n", - "coef_duration_constants_14_to_18_hours 25.0 0 \n", - "coef_duration_constants_2_to_3_hours 25.0 1 \n", - "coef_duration_constants_4_to_5_hours 25.0 0 \n", - "coef_duration_constants_6_to_7_hours 25.0 0 \n", - "coef_duration_constants_8_to_10_hours 25.0 0 \n", - "coef_eat_out_tour_departure_shift_effects 25.0 0 \n", - "coef_first_of_2_plus_tours_for_same_purpose_dep... 25.0 0 \n", - "coef_free_flow_round_trip_auto_time_shift_effec... 25.0 0 \n", - "coef_maintenance_tour_depart_before_7 25.0 0 \n", - "coef_maintenance_tour_departure_shift_effects 25.0 0 \n", - "coef_maintenance_tour_duration_shift_effects 25.0 0 \n", - "coef_number_of_joint_tours_departure_shift_effects 25.0 0 \n", - "coef_number_of_mandatory_tours_departure_shift_... 25.0 0 \n", - "coef_school_child_age_16_plus_departure_shift_e... 25.0 0 \n", - "coef_school_child_age_16_plus_duration_shift_ef... 25.0 0 \n", - "coef_school_child_age_under_16_departure_shift_... 25.0 0 \n", - "coef_school_child_age_under_16_duration_shift_e... 25.0 0 \n", - "coef_school_child_under_16_arrive_after_22 25.0 0 \n", - "coef_shopping_tour_arrive_after_22 25.0 0 \n", - "coef_shopping_tour_depart_before_8 25.0 0 \n", - "coef_shopping_tour_departure_shift_effects 25.0 0 \n", - "coef_shopping_tour_duration_lt_2_hours 25.0 0 \n", - "coef_shopping_tour_duration_shift_effects 25.0 0 \n", - "coef_some_previously_scheduled_tour_begins_in_t... 25.0 0 \n", - "coef_some_previously_scheduled_tour_ends_in_thi... 25.0 0 \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... 25.0 0 \n", - "coef_unavailable 25.0 1 \n", - "coef_university_student_arrive_after_22 25.0 0 \n", - "coef_visit_tour_departure_shift_effects 25.0 0 \n", - "coef_visit_tour_duration_shift_effects 25.0 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_adult_with_children_in_hh_arrive_19_21 25.0 0.0 \n", + "coef_arrival_constants_am_peak 25.0 0.0 \n", + "coef_arrival_constants_early 25.0 0.0 \n", + "coef_arrival_constants_evening 25.0 0.0 \n", + "coef_arrival_constants_late 25.0 0.0 \n", + "coef_arrival_constants_midday_1 0.0 0.0 \n", + "coef_arrival_constants_midday_2 25.0 0.0 \n", + "coef_arrival_constants_pm_peak_1 25.0 0.0 \n", + "coef_arrival_constants_pm_peak_2 25.0 0.0 \n", + "coef_arrival_constants_pm_peak_3 0.0 0.0 \n", + "coef_arrival_constants_pm_peak_4 25.0 0.0 \n", + "coef_departure_constants_am_peak_1 25.0 0.0 \n", + "coef_departure_constants_am_peak_2 25.0 0.0 \n", + "coef_departure_constants_am_peak_3 25.0 0.0 \n", + "coef_departure_constants_am_peak_4 25.0 0.0 \n", + "coef_departure_constants_early 25.0 0.0 \n", + "coef_departure_constants_evening 25.0 0.0 \n", + "coef_departure_constants_late 25.0 0.0 \n", + "coef_departure_constants_midday_1 0.0 0.0 \n", + "coef_departure_constants_midday_2 25.0 0.0 \n", + "coef_departure_constants_pm_peak 25.0 0.0 \n", + "coef_destination_in_cbd_duration_shift_effects 25.0 0.0 \n", + "coef_discretionary_tour_duration_lt_2_hours 25.0 0.0 \n", + "coef_duration_constants_0_to_1_hours 25.0 0.0 \n", + "coef_duration_constants_11_to_13_hours 25.0 0.0 \n", + "coef_duration_constants_14_to_18_hours 25.0 0.0 \n", + "coef_duration_constants_2_to_3_hours 0.0 0.0 \n", + "coef_duration_constants_4_to_5_hours 25.0 0.0 \n", + "coef_duration_constants_6_to_7_hours 25.0 0.0 \n", + "coef_duration_constants_8_to_10_hours 25.0 0.0 \n", + "coef_eat_out_tour_departure_shift_effects 25.0 0.0 \n", + "coef_first_of_2_plus_tours_for_same_purpose_dep... 25.0 0.0 \n", + "coef_free_flow_round_trip_auto_time_shift_effec... 25.0 0.0 \n", + "coef_maintenance_tour_depart_before_7 25.0 0.0 \n", + "coef_maintenance_tour_departure_shift_effects 25.0 0.0 \n", + "coef_maintenance_tour_duration_shift_effects 25.0 0.0 \n", + "coef_number_of_joint_tours_departure_shift_effects 25.0 0.0 \n", + "coef_number_of_mandatory_tours_departure_shift_... 25.0 0.0 \n", + "coef_school_child_age_16_plus_departure_shift_e... 25.0 0.0 \n", + "coef_school_child_age_16_plus_duration_shift_ef... 25.0 0.0 \n", + "coef_school_child_age_under_16_departure_shift_... 25.0 0.0 \n", + "coef_school_child_age_under_16_duration_shift_e... 25.0 0.0 \n", + "coef_school_child_under_16_arrive_after_22 25.0 0.0 \n", + "coef_shopping_tour_arrive_after_22 25.0 0.0 \n", + "coef_shopping_tour_depart_before_8 25.0 0.0 \n", + "coef_shopping_tour_departure_shift_effects 25.0 0.0 \n", + "coef_shopping_tour_duration_lt_2_hours 25.0 0.0 \n", + "coef_shopping_tour_duration_shift_effects 25.0 0.0 \n", + "coef_some_previously_scheduled_tour_begins_in_t... 25.0 0.0 \n", + "coef_some_previously_scheduled_tour_ends_in_thi... 25.0 0.0 \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... 25.0 0.0 \n", + "coef_unavailable -999.0 0.0 \n", + "coef_university_student_arrive_after_22 25.0 0.0 \n", + "coef_visit_tour_departure_shift_effects 25.0 0.0 \n", + "coef_visit_tour_duration_shift_effects 25.0 0.0 \n", "\n", - " best \n", - "coef_adjacent_window_exists_after_this_arrival_... -13.526580 \n", - "coef_adjacent_window_exists_after_this_arrival_... -14.169341 \n", - "coef_adjacent_window_exists_before_this_departu... -13.495922 \n", - "coef_adjacent_window_exists_before_this_departu... -7.716247 \n", - "coef_adult_with_children_in_hh_arrive_19_21 -0.002541 \n", - "coef_arrival_constants_am_peak 4.647673 \n", - "coef_arrival_constants_early 24.793142 \n", - "coef_arrival_constants_evening -4.291783 \n", - "coef_arrival_constants_late -9.617038 \n", - "coef_arrival_constants_midday_1 0.000000 \n", - "coef_arrival_constants_midday_2 2.692519 \n", - "coef_arrival_constants_pm_peak_1 1.849237 \n", - "coef_arrival_constants_pm_peak_2 1.518410 \n", - "coef_arrival_constants_pm_peak_3 0.000000 \n", - "coef_arrival_constants_pm_peak_4 -1.182768 \n", - "coef_departure_constants_am_peak_1 -25.000000 \n", - "coef_departure_constants_am_peak_2 -4.236849 \n", - "coef_departure_constants_am_peak_3 0.806223 \n", - "coef_departure_constants_am_peak_4 1.408142 \n", - "coef_departure_constants_early -24.418086 \n", - "coef_departure_constants_evening -14.557517 \n", - "coef_departure_constants_late -20.421814 \n", - "coef_departure_constants_midday_1 0.000000 \n", - "coef_departure_constants_midday_2 -4.501238 \n", - "coef_departure_constants_pm_peak -12.638403 \n", - "coef_destination_in_cbd_duration_shift_effects 0.572330 \n", - "coef_discretionary_tour_duration_lt_2_hours -1.022488 \n", - "coef_duration_constants_0_to_1_hours -2.750481 \n", - "coef_duration_constants_11_to_13_hours -6.162737 \n", - "coef_duration_constants_14_to_18_hours -2.800706 \n", - "coef_duration_constants_2_to_3_hours 0.000000 \n", - "coef_duration_constants_4_to_5_hours 0.301145 \n", - "coef_duration_constants_6_to_7_hours 0.144072 \n", - "coef_duration_constants_8_to_10_hours -10.570858 \n", - "coef_eat_out_tour_departure_shift_effects -0.024649 \n", - "coef_first_of_2_plus_tours_for_same_purpose_dep... -1.329351 \n", - "coef_free_flow_round_trip_auto_time_shift_effec... 0.017752 \n", - "coef_maintenance_tour_depart_before_7 1.154584 \n", - "coef_maintenance_tour_departure_shift_effects -0.159210 \n", - "coef_maintenance_tour_duration_shift_effects -0.146459 \n", - "coef_number_of_joint_tours_departure_shift_effects 1.356173 \n", - "coef_number_of_mandatory_tours_departure_shift_... 0.076326 \n", - "coef_school_child_age_16_plus_departure_shift_e... 0.072660 \n", - "coef_school_child_age_16_plus_duration_shift_ef... 0.209500 \n", - "coef_school_child_age_under_16_departure_shift_... 0.239007 \n", - "coef_school_child_age_under_16_duration_shift_e... -0.567863 \n", - "coef_school_child_under_16_arrive_after_22 -6.147237 \n", - "coef_shopping_tour_arrive_after_22 -7.221041 \n", - "coef_shopping_tour_depart_before_8 1.458488 \n", - "coef_shopping_tour_departure_shift_effects -0.045633 \n", - "coef_shopping_tour_duration_lt_2_hours 0.189427 \n", - "coef_shopping_tour_duration_shift_effects -0.359705 \n", - "coef_some_previously_scheduled_tour_begins_in_t... 0.411979 \n", - "coef_some_previously_scheduled_tour_ends_in_thi... 0.282029 \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... 0.191264 \n", - "coef_unavailable -999.000000 \n", - "coef_university_student_arrive_after_22 -9.181095 \n", - "coef_visit_tour_departure_shift_effects -0.109515 \n", - "coef_visit_tour_duration_shift_effects -0.123814 " + " holdfast \n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_adult_with_children_in_hh_arrive_19_21 0 \n", + "coef_arrival_constants_am_peak 0 \n", + "coef_arrival_constants_early 0 \n", + "coef_arrival_constants_evening 0 \n", + "coef_arrival_constants_late 0 \n", + "coef_arrival_constants_midday_1 1 \n", + "coef_arrival_constants_midday_2 0 \n", + "coef_arrival_constants_pm_peak_1 0 \n", + "coef_arrival_constants_pm_peak_2 0 \n", + "coef_arrival_constants_pm_peak_3 1 \n", + "coef_arrival_constants_pm_peak_4 0 \n", + "coef_departure_constants_am_peak_1 0 \n", + "coef_departure_constants_am_peak_2 0 \n", + "coef_departure_constants_am_peak_3 0 \n", + "coef_departure_constants_am_peak_4 0 \n", + "coef_departure_constants_early 0 \n", + "coef_departure_constants_evening 0 \n", + "coef_departure_constants_late 0 \n", + "coef_departure_constants_midday_1 1 \n", + "coef_departure_constants_midday_2 0 \n", + "coef_departure_constants_pm_peak 0 \n", + "coef_destination_in_cbd_duration_shift_effects 0 \n", + "coef_discretionary_tour_duration_lt_2_hours 0 \n", + "coef_duration_constants_0_to_1_hours 0 \n", + "coef_duration_constants_11_to_13_hours 0 \n", + "coef_duration_constants_14_to_18_hours 0 \n", + "coef_duration_constants_2_to_3_hours 1 \n", + "coef_duration_constants_4_to_5_hours 0 \n", + "coef_duration_constants_6_to_7_hours 0 \n", + "coef_duration_constants_8_to_10_hours 0 \n", + "coef_eat_out_tour_departure_shift_effects 0 \n", + "coef_first_of_2_plus_tours_for_same_purpose_dep... 0 \n", + "coef_free_flow_round_trip_auto_time_shift_effec... 0 \n", + "coef_maintenance_tour_depart_before_7 0 \n", + "coef_maintenance_tour_departure_shift_effects 0 \n", + "coef_maintenance_tour_duration_shift_effects 0 \n", + "coef_number_of_joint_tours_departure_shift_effects 0 \n", + "coef_number_of_mandatory_tours_departure_shift_... 0 \n", + "coef_school_child_age_16_plus_departure_shift_e... 0 \n", + "coef_school_child_age_16_plus_duration_shift_ef... 0 \n", + "coef_school_child_age_under_16_departure_shift_... 0 \n", + "coef_school_child_age_under_16_duration_shift_e... 0 \n", + "coef_school_child_under_16_arrive_after_22 0 \n", + "coef_shopping_tour_arrive_after_22 0 \n", + "coef_shopping_tour_depart_before_8 0 \n", + "coef_shopping_tour_departure_shift_effects 0 \n", + "coef_shopping_tour_duration_lt_2_hours 0 \n", + "coef_shopping_tour_duration_shift_effects 0 \n", + "coef_some_previously_scheduled_tour_begins_in_t... 0 \n", + "coef_some_previously_scheduled_tour_ends_in_thi... 0 \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... 0 \n", + "coef_unavailable 1 \n", + "coef_university_student_arrive_after_22 0 \n", + "coef_visit_tour_departure_shift_effects 0 \n", + "coef_visit_tour_duration_shift_effects 0 " ] }, "metadata": {}, @@ -2970,10 +3140,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.472441734021349e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -2989,39 +3157,39 @@ " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " -13.526580\n", + " 0.800851\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction\n", - " -14.169341\n", + " 0.494438\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " -13.495922\n", + " 0.008839\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction\n", - " -7.716247\n", + " -0.549692\n", " \n", " \n", " coef_adult_with_children_in_hh_arrive_19_21\n", - " -0.002541\n", + " -0.078997\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " 4.647673\n", + " -8.413713\n", " \n", " \n", " coef_arrival_constants_early\n", - " 24.793142\n", + " -6.758955\n", " \n", " \n", " coef_arrival_constants_evening\n", - " -4.291783\n", + " -2.675953\n", " \n", " \n", " coef_arrival_constants_late\n", - " -9.617038\n", + " -4.194942\n", " \n", " \n", " coef_arrival_constants_midday_1\n", @@ -3029,15 +3197,15 @@ " \n", " \n", " coef_arrival_constants_midday_2\n", - " 2.692519\n", + " 1.416723\n", " \n", " \n", " coef_arrival_constants_pm_peak_1\n", - " 1.849237\n", + " 0.964024\n", " \n", " \n", " coef_arrival_constants_pm_peak_2\n", - " 1.518410\n", + " 1.200835\n", " \n", " \n", " coef_arrival_constants_pm_peak_3\n", @@ -3045,35 +3213,35 @@ " \n", " \n", " coef_arrival_constants_pm_peak_4\n", - " -1.182768\n", + " -0.725959\n", " \n", " \n", " coef_departure_constants_am_peak_1\n", - " -25.000000\n", + " -13.990759\n", " \n", " \n", " coef_departure_constants_am_peak_2\n", - " -4.236849\n", + " -10.163788\n", " \n", " \n", " coef_departure_constants_am_peak_3\n", - " 0.806223\n", + " -2.799430\n", " \n", " \n", " coef_departure_constants_am_peak_4\n", - " 1.408142\n", + " 0.514393\n", " \n", " \n", " coef_departure_constants_early\n", - " -24.418086\n", + " -17.865880\n", " \n", " \n", " coef_departure_constants_evening\n", - " -14.557517\n", + " -19.574287\n", " \n", " \n", " coef_departure_constants_late\n", - " -20.421814\n", + " -21.444922\n", " \n", " \n", " coef_departure_constants_midday_1\n", @@ -3081,31 +3249,31 @@ " \n", " \n", " coef_departure_constants_midday_2\n", - " -4.501238\n", + " -1.886316\n", " \n", " \n", " coef_departure_constants_pm_peak\n", - " -12.638403\n", + " -18.238556\n", " \n", " \n", " coef_destination_in_cbd_duration_shift_effects\n", - " 0.572330\n", + " 0.130935\n", " \n", " \n", " coef_discretionary_tour_duration_lt_2_hours\n", - " -1.022488\n", + " -0.772425\n", " \n", " \n", " coef_duration_constants_0_to_1_hours\n", - " -2.750481\n", + " -2.021348\n", " \n", " \n", " coef_duration_constants_11_to_13_hours\n", - " -6.162737\n", + " -1.608105\n", " \n", " \n", " coef_duration_constants_14_to_18_hours\n", - " -2.800706\n", + " -3.067613\n", " \n", " \n", " coef_duration_constants_2_to_3_hours\n", @@ -3113,118 +3281,118 @@ " \n", " \n", " coef_duration_constants_4_to_5_hours\n", - " 0.301145\n", + " -0.519561\n", " \n", " \n", " coef_duration_constants_6_to_7_hours\n", - " 0.144072\n", + " -0.868309\n", " \n", " \n", " coef_duration_constants_8_to_10_hours\n", - " -10.570858\n", + " -1.020095\n", " \n", " \n", " coef_eat_out_tour_departure_shift_effects\n", - " -0.024649\n", + " 0.056578\n", " \n", " \n", " coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect\n", - " -1.329351\n", + " -0.506782\n", " \n", " \n", " coef_free_flow_round_trip_auto_time_shift_effects_duration\n", - " 0.017752\n", + " 0.003622\n", " \n", " \n", " coef_maintenance_tour_depart_before_7\n", - " 1.154584\n", + " -0.523693\n", " \n", " \n", " coef_maintenance_tour_departure_shift_effects\n", - " -0.159210\n", + " -0.135634\n", " \n", " \n", " coef_maintenance_tour_duration_shift_effects\n", - " -0.146459\n", + " -0.038428\n", " \n", " \n", " coef_number_of_joint_tours_departure_shift_effects\n", - " 1.356173\n", + " 0.128742\n", " \n", " \n", " coef_number_of_mandatory_tours_departure_shift_effects\n", - " 0.076326\n", + " -0.009788\n", " \n", " \n", " coef_school_child_age_16_plus_departure_shift_effects\n", - " 0.072660\n", + " 0.106395\n", " \n", " \n", " coef_school_child_age_16_plus_duration_shift_effects\n", - " 0.209500\n", + " 0.315781\n", " \n", " \n", " coef_school_child_age_under_16_departure_shift_effects\n", - " 0.239007\n", + " 0.015473\n", " \n", " \n", " coef_school_child_age_under_16_duration_shift_effects\n", - " -0.567863\n", + " 0.327527\n", " \n", " \n", " coef_school_child_under_16_arrive_after_22\n", - " -6.147237\n", + " -5.038827\n", " \n", " \n", " coef_shopping_tour_arrive_after_22\n", - " -7.221041\n", + " -0.033268\n", " \n", " \n", " coef_shopping_tour_depart_before_8\n", - " 1.458488\n", + " -1.484109\n", " \n", " \n", " coef_shopping_tour_departure_shift_effects\n", - " -0.045633\n", + " -0.099254\n", " \n", " \n", " coef_shopping_tour_duration_lt_2_hours\n", - " 0.189427\n", + " 0.699700\n", " \n", " \n", " coef_shopping_tour_duration_shift_effects\n", - " -0.359705\n", + " -0.101207\n", " \n", " \n", " coef_some_previously_scheduled_tour_begins_in_this_arrival_hour\n", - " 0.411979\n", + " -0.017681\n", " \n", " \n", " coef_some_previously_scheduled_tour_ends_in_this_departure_hour\n", - " 0.282029\n", + " -0.288048\n", " \n", " \n", " coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect\n", - " 0.191264\n", + " 0.062417\n", " \n", " \n", " coef_unavailable\n", - " -25.000000\n", + " -999.000000\n", " \n", " \n", " coef_university_student_arrive_after_22\n", - " -9.181095\n", + " 0.360948\n", " \n", " \n", " coef_visit_tour_departure_shift_effects\n", - " -0.109515\n", + " 0.136717\n", " \n", " \n", " coef_visit_tour_duration_shift_effects\n", - " -0.123814\n", + " 0.172436\n", " \n", " \n", - "loglike-173.82837615906058d_loglike\n", + "
logloss2.1895702975048073d_logloss\n", " \n", " \n", " \n", @@ -3234,39 +3402,39 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3274,15 +3442,15 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3290,35 +3458,35 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3326,31 +3494,31 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3358,99 +3526,99 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3458,161 +3626,161 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction-9.350492e-076.340297e-05
coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction-3.831848e-074.838604e-05
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction-1.411114e-062.000787e-08
coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction-8.562988e-066.385755e-05
coef_adult_with_children_in_hh_arrive_19_219.515373e-051.672535e-04
coef_arrival_constants_am_peak-5.959256e-054.015659e-05
coef_arrival_constants_early-6.500054e-05-7.121334e-05
coef_arrival_constants_evening2.456794e-041.588972e-05
coef_arrival_constants_late-2.788545e-041.960950e-04
coef_arrival_constants_midday_1
coef_arrival_constants_midday_2-2.921253e-05-7.425169e-06
coef_arrival_constants_pm_peak_1-8.553639e-05-8.554627e-05
coef_arrival_constants_pm_peak_22.958919e-05-2.178755e-05
coef_arrival_constants_pm_peak_3
coef_arrival_constants_pm_peak_4-6.027051e-063.187347e-05
coef_departure_constants_am_peak_1-9.035869e-057.176011e-06
coef_departure_constants_am_peak_2-3.843278e-071.002541e-04
coef_departure_constants_am_peak_3-1.038927e-045.286380e-05
coef_departure_constants_am_peak_42.089562e-055.196924e-06
coef_departure_constants_early2.533008e-05-4.734722e-05
coef_departure_constants_evening9.169928e-06-5.250786e-05
coef_departure_constants_late-5.558022e-044.394692e-05
coef_departure_constants_midday_1
coef_departure_constants_midday_22.692412e-05-1.886914e-04
coef_departure_constants_pm_peak1.942225e-043.759255e-05
coef_destination_in_cbd_duration_shift_effects3.441152e-041.613685e-05
coef_discretionary_tour_duration_lt_2_hours7.722617e-05-2.070609e-04
coef_duration_constants_0_to_1_hours-1.588601e-044.953135e-05
coef_duration_constants_11_to_13_hours-3.605513e-042.382282e-05
coef_duration_constants_14_to_18_hours-1.774351e-04-3.488047e-05
coef_duration_constants_2_to_3_hours
coef_duration_constants_4_to_5_hours2.266202e-05-7.768694e-07
coef_duration_constants_6_to_7_hours-4.640922e-05-1.838870e-05
coef_duration_constants_8_to_10_hours-2.554467e-05-2.938670e-05
coef_eat_out_tour_departure_shift_effects-3.267677e-042.917206e-05
coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect-1.021958e-059.739371e-05
coef_free_flow_round_trip_auto_time_shift_effects_duration8.421848e-03-1.212989e-05
coef_maintenance_tour_depart_before_7-1.129004e-048.298165e-06
coef_maintenance_tour_departure_shift_effects-2.093211e-031.059914e-04
coef_maintenance_tour_duration_shift_effects2.786266e-042.022297e-05
coef_number_of_joint_tours_departure_shift_effects-2.856908e-03-1.252624e-04
coef_number_of_mandatory_tours_departure_shift_effects-2.687845e-03-1.288240e-04
coef_school_child_age_16_plus_departure_shift_effects0.000000e+001.808366e-04
coef_school_child_age_16_plus_duration_shift_effects0.000000e+004.559202e-05
coef_school_child_age_under_16_departure_shift_effects-1.932195e-04-1.455769e-05
coef_school_child_age_under_16_duration_shift_effects1.479815e-04-4.476322e-05
coef_school_child_under_16_arrive_after_22-9.565965e-05-4.170945e-05
coef_shopping_tour_arrive_after_22-7.152259e-05-8.668123e-05
coef_shopping_tour_depart_before_8-3.306479e-056.613654e-05
coef_shopping_tour_departure_shift_effects-2.740920e-049.925783e-05
coef_shopping_tour_duration_lt_2_hours3.816925e-058.629531e-05
coef_shopping_tour_duration_shift_effects1.258312e-041.970358e-05
coef_some_previously_scheduled_tour_begins_in_this_arrival_hour3.226289e-056.069742e-05
coef_some_previously_scheduled_tour_ends_in_this_departure_hour3.161563e-043.334213e-05
coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect1.181360e-05-1.230984e-04
coef_unavailable
coef_university_student_arrive_after_22-2.193359e-06-5.714988e-05
coef_visit_tour_departure_shift_effects-4.986513e-04-1.378200e-04
coef_visit_tour_duration_shift_effects2.469947e-04-2.132350e-05
nit67nfev106njev67status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.587568method'slsqp'n_cases91iteration_number67logloss1.9102019358138524" + "nit144nfev148njev144status0message'Optimization terminated successfully'successTrueelapsed_time0:00:03.104941method'slsqp'n_cases1277iteration_number144loglike-2789.5125590211246" ], "text/plain": [ - "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -13.526580\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction -14.169341\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -13.495922\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction -7.716247\n", - "┃ coef_adult_with_children_in_hh_arrive_19_21 -0.002541\n", - "┃ coef_arrival_constants_am_peak 4.647673\n", - "┃ coef_arrival_constants_early 24.793142\n", - "┃ coef_arrival_constants_evening -4.291783\n", - "┃ coef_arrival_constants_late -9.617038\n", - "┃ coef_arrival_constants_midday_1 0.000000\n", - "┃ coef_arrival_constants_midday_2 2.692519\n", - "┃ coef_arrival_constants_pm_peak_1 1.849237\n", - "┃ coef_arrival_constants_pm_peak_2 1.518410\n", - "┃ coef_arrival_constants_pm_peak_3 0.000000\n", - "┃ coef_arrival_constants_pm_peak_4 -1.182768\n", - "┃ coef_departure_constants_am_peak_1 -25.000000\n", - "┃ coef_departure_constants_am_peak_2 -4.236849\n", - "┃ coef_departure_constants_am_peak_3 0.806223\n", - "┃ coef_departure_constants_am_peak_4 1.408142\n", - "┃ coef_departure_constants_early -24.418086\n", - "┃ coef_departure_constants_evening -14.557517\n", - "┃ coef_departure_constants_late -20.421814\n", - "┃ coef_departure_constants_midday_1 0.000000\n", - "┃ coef_departure_constants_midday_2 -4.501238\n", - "┃ coef_departure_constants_pm_peak -12.638403\n", - "┃ coef_destination_in_cbd_duration_shift_effects 0.572330\n", - "┃ coef_discretionary_tour_duration_lt_2_hours -1.022488\n", - "┃ coef_duration_constants_0_to_1_hours -2.750481\n", - "┃ coef_duration_constants_11_to_13_hours -6.162737\n", - "┃ coef_duration_constants_14_to_18_hours -2.800706\n", - "┃ coef_duration_constants_2_to_3_hours 0.000000\n", - "┃ coef_duration_constants_4_to_5_hours 0.301145\n", - "┃ coef_duration_constants_6_to_7_hours 0.144072\n", - "┃ coef_duration_constants_8_to_10_hours -10.570858\n", - "┃ coef_eat_out_tour_departure_shift_effects -0.024649\n", - "┃ coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -1.329351\n", - "┃ coef_free_flow_round_trip_auto_time_shift_effects_duration 0.017752\n", - "┃ coef_maintenance_tour_depart_before_7 1.154584\n", - "┃ coef_maintenance_tour_departure_shift_effects -0.159210\n", - "┃ coef_maintenance_tour_duration_shift_effects -0.146459\n", - "┃ coef_number_of_joint_tours_departure_shift_effects 1.356173\n", - "┃ coef_number_of_mandatory_tours_departure_shift_effects 0.076326\n", - "┃ coef_school_child_age_16_plus_departure_shift_effects 0.072660\n", - "┃ coef_school_child_age_16_plus_duration_shift_effects 0.209500\n", - "┃ coef_school_child_age_under_16_departure_shift_effects 0.239007\n", - "┃ coef_school_child_age_under_16_duration_shift_effects -0.567863\n", - "┃ coef_school_child_under_16_arrive_after_22 -6.147237\n", - "┃ coef_shopping_tour_arrive_after_22 -7.221041\n", - "┃ coef_shopping_tour_depart_before_8 1.458488\n", - "┃ coef_shopping_tour_departure_shift_effects -0.045633\n", - "┃ coef_shopping_tour_duration_lt_2_hours 0.189427\n", - "┃ coef_shopping_tour_duration_shift_effects -0.359705\n", - "┃ coef_some_previously_scheduled_tour_begins_in_this_arrival_hour 0.411979\n", - "┃ coef_some_previously_scheduled_tour_ends_in_this_departure_hour 0.282029\n", - "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 0.191264\n", - "┃ coef_unavailable -25.000000\n", - "┃ coef_university_student_arrive_after_22 -9.181095\n", - "┃ coef_visit_tour_departure_shift_effects -0.109515\n", - "┃ coef_visit_tour_duration_shift_effects -0.123814\n", + "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.800851\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction 0.494438\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.008839\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction -0.549692\n", + "┃ coef_adult_with_children_in_hh_arrive_19_21 -0.078997\n", + "┃ coef_arrival_constants_am_peak -8.413713\n", + "┃ coef_arrival_constants_early -6.758955\n", + "┃ coef_arrival_constants_evening -2.675953\n", + "┃ coef_arrival_constants_late -4.194942\n", + "┃ coef_arrival_constants_midday_1 0.000000\n", + "┃ coef_arrival_constants_midday_2 1.416723\n", + "┃ coef_arrival_constants_pm_peak_1 0.964024\n", + "┃ coef_arrival_constants_pm_peak_2 1.200835\n", + "┃ coef_arrival_constants_pm_peak_3 0.000000\n", + "┃ coef_arrival_constants_pm_peak_4 -0.725959\n", + "┃ coef_departure_constants_am_peak_1 -13.990759\n", + "┃ coef_departure_constants_am_peak_2 -10.163788\n", + "┃ coef_departure_constants_am_peak_3 -2.799430\n", + "┃ coef_departure_constants_am_peak_4 0.514393\n", + "┃ coef_departure_constants_early -17.865880\n", + "┃ coef_departure_constants_evening -19.574287\n", + "┃ coef_departure_constants_late -21.444922\n", + "┃ coef_departure_constants_midday_1 0.000000\n", + "┃ coef_departure_constants_midday_2 -1.886316\n", + "┃ coef_departure_constants_pm_peak -18.238556\n", + "┃ coef_destination_in_cbd_duration_shift_effects 0.130935\n", + "┃ coef_discretionary_tour_duration_lt_2_hours -0.772425\n", + "┃ coef_duration_constants_0_to_1_hours -2.021348\n", + "┃ coef_duration_constants_11_to_13_hours -1.608105\n", + "┃ coef_duration_constants_14_to_18_hours -3.067613\n", + "┃ coef_duration_constants_2_to_3_hours 0.000000\n", + "┃ coef_duration_constants_4_to_5_hours -0.519561\n", + "┃ coef_duration_constants_6_to_7_hours -0.868309\n", + "┃ coef_duration_constants_8_to_10_hours -1.020095\n", + "┃ coef_eat_out_tour_departure_shift_effects 0.056578\n", + "┃ coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -0.506782\n", + "┃ coef_free_flow_round_trip_auto_time_shift_effects_duration 0.003622\n", + "┃ coef_maintenance_tour_depart_before_7 -0.523693\n", + "┃ coef_maintenance_tour_departure_shift_effects -0.135634\n", + "┃ coef_maintenance_tour_duration_shift_effects -0.038428\n", + "┃ coef_number_of_joint_tours_departure_shift_effects 0.128742\n", + "┃ coef_number_of_mandatory_tours_departure_shift_effects -0.009788\n", + "┃ coef_school_child_age_16_plus_departure_shift_effects 0.106395\n", + "┃ coef_school_child_age_16_plus_duration_shift_effects 0.315781\n", + "┃ coef_school_child_age_under_16_departure_shift_effects 0.015473\n", + "┃ coef_school_child_age_under_16_duration_shift_effects 0.327527\n", + "┃ coef_school_child_under_16_arrive_after_22 -5.038827\n", + "┃ coef_shopping_tour_arrive_after_22 -0.033268\n", + "┃ coef_shopping_tour_depart_before_8 -1.484109\n", + "┃ coef_shopping_tour_departure_shift_effects -0.099254\n", + "┃ coef_shopping_tour_duration_lt_2_hours 0.699700\n", + "┃ coef_shopping_tour_duration_shift_effects -0.101207\n", + "┃ coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -0.017681\n", + "┃ coef_some_previously_scheduled_tour_ends_in_this_departure_hour -0.288048\n", + "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 0.062417\n", + "┃ coef_unavailable -999.000000\n", + "┃ coef_university_student_arrive_after_22 0.360948\n", + "┃ coef_visit_tour_departure_shift_effects 0.136717\n", + "┃ coef_visit_tour_duration_shift_effects 0.172436\n", "┃ dtype: float64\n", - "┣ loglike: -173.82837615906058\n", - "┣ d_loglike: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -9.350492e-07\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction -3.831848e-07\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -1.411114e-06\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction -8.562988e-06\n", - "┃ coef_adult_with_children_in_hh_arrive_19_21 9.515373e-05\n", - "┃ coef_arrival_constants_am_peak -5.959256e-05\n", - "┃ coef_arrival_constants_early -6.500054e-05\n", - "┃ coef_arrival_constants_evening 2.456794e-04\n", - "┃ coef_arrival_constants_late -2.788545e-04\n", + "┣ logloss: 2.1895702975048073\n", + "┣ d_logloss: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 6.340297e-05\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction 4.838604e-05\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 2.000787e-08\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction 6.385755e-05\n", + "┃ coef_adult_with_children_in_hh_arrive_19_21 1.672535e-04\n", + "┃ coef_arrival_constants_am_peak 4.015659e-05\n", + "┃ coef_arrival_constants_early -7.121334e-05\n", + "┃ coef_arrival_constants_evening 1.588972e-05\n", + "┃ coef_arrival_constants_late 1.960950e-04\n", "┃ coef_arrival_constants_midday_1 0.000000e+00\n", - "┃ coef_arrival_constants_midday_2 -2.921253e-05\n", - "┃ coef_arrival_constants_pm_peak_1 -8.553639e-05\n", - "┃ coef_arrival_constants_pm_peak_2 2.958919e-05\n", + "┃ coef_arrival_constants_midday_2 -7.425169e-06\n", + "┃ coef_arrival_constants_pm_peak_1 -8.554627e-05\n", + "┃ coef_arrival_constants_pm_peak_2 -2.178755e-05\n", "┃ coef_arrival_constants_pm_peak_3 0.000000e+00\n", - "┃ coef_arrival_constants_pm_peak_4 -6.027051e-06\n", - "┃ coef_departure_constants_am_peak_1 -9.035869e-05\n", - "┃ coef_departure_constants_am_peak_2 -3.843278e-07\n", - "┃ coef_departure_constants_am_peak_3 -1.038927e-04\n", - "┃ coef_departure_constants_am_peak_4 2.089562e-05\n", - "┃ coef_departure_constants_early 2.533008e-05\n", - "┃ coef_departure_constants_evening 9.169928e-06\n", - "┃ coef_departure_constants_late -5.558022e-04\n", + "┃ coef_arrival_constants_pm_peak_4 3.187347e-05\n", + "┃ coef_departure_constants_am_peak_1 7.176011e-06\n", + "┃ coef_departure_constants_am_peak_2 1.002541e-04\n", + "┃ coef_departure_constants_am_peak_3 5.286380e-05\n", + "┃ coef_departure_constants_am_peak_4 5.196924e-06\n", + "┃ coef_departure_constants_early -4.734722e-05\n", + "┃ coef_departure_constants_evening -5.250786e-05\n", + "┃ coef_departure_constants_late 4.394692e-05\n", "┃ coef_departure_constants_midday_1 0.000000e+00\n", - "┃ coef_departure_constants_midday_2 2.692412e-05\n", - "┃ coef_departure_constants_pm_peak 1.942225e-04\n", - "┃ coef_destination_in_cbd_duration_shift_effects 3.441152e-04\n", - "┃ coef_discretionary_tour_duration_lt_2_hours 7.722617e-05\n", - "┃ coef_duration_constants_0_to_1_hours -1.588601e-04\n", - "┃ coef_duration_constants_11_to_13_hours -3.605513e-04\n", - "┃ coef_duration_constants_14_to_18_hours -1.774351e-04\n", + "┃ coef_departure_constants_midday_2 -1.886914e-04\n", + "┃ coef_departure_constants_pm_peak 3.759255e-05\n", + "┃ coef_destination_in_cbd_duration_shift_effects 1.613685e-05\n", + "┃ coef_discretionary_tour_duration_lt_2_hours -2.070609e-04\n", + "┃ coef_duration_constants_0_to_1_hours 4.953135e-05\n", + "┃ coef_duration_constants_11_to_13_hours 2.382282e-05\n", + "┃ coef_duration_constants_14_to_18_hours -3.488047e-05\n", "┃ coef_duration_constants_2_to_3_hours 0.000000e+00\n", - "┃ coef_duration_constants_4_to_5_hours 2.266202e-05\n", - "┃ coef_duration_constants_6_to_7_hours -4.640922e-05\n", - "┃ coef_duration_constants_8_to_10_hours -2.554467e-05\n", - "┃ coef_eat_out_tour_departure_shift_effects -3.267677e-04\n", - "┃ coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -1.021958e-05\n", - "┃ coef_free_flow_round_trip_auto_time_shift_effects_duration 8.421848e-03\n", - "┃ coef_maintenance_tour_depart_before_7 -1.129004e-04\n", - "┃ coef_maintenance_tour_departure_shift_effects -2.093211e-03\n", - "┃ coef_maintenance_tour_duration_shift_effects 2.786266e-04\n", - "┃ coef_number_of_joint_tours_departure_shift_effects -2.856908e-03\n", - "┃ coef_number_of_mandatory_tours_departure_shift_effects -2.687845e-03\n", - "┃ coef_school_child_age_16_plus_departure_shift_effects 0.000000e+00\n", - "┃ coef_school_child_age_16_plus_duration_shift_effects 0.000000e+00\n", - "┃ coef_school_child_age_under_16_departure_shift_effects -1.932195e-04\n", - "┃ coef_school_child_age_under_16_duration_shift_effects 1.479815e-04\n", - "┃ coef_school_child_under_16_arrive_after_22 -9.565965e-05\n", - "┃ coef_shopping_tour_arrive_after_22 -7.152259e-05\n", - "┃ coef_shopping_tour_depart_before_8 -3.306479e-05\n", - "┃ coef_shopping_tour_departure_shift_effects -2.740920e-04\n", - "┃ coef_shopping_tour_duration_lt_2_hours 3.816925e-05\n", - "┃ coef_shopping_tour_duration_shift_effects 1.258312e-04\n", - "┃ coef_some_previously_scheduled_tour_begins_in_this_arrival_hour 3.226289e-05\n", - "┃ coef_some_previously_scheduled_tour_ends_in_this_departure_hour 3.161563e-04\n", - "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 1.181360e-05\n", + "┃ coef_duration_constants_4_to_5_hours -7.768694e-07\n", + "┃ coef_duration_constants_6_to_7_hours -1.838870e-05\n", + "┃ coef_duration_constants_8_to_10_hours -2.938670e-05\n", + "┃ coef_eat_out_tour_departure_shift_effects 2.917206e-05\n", + "┃ coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect 9.739371e-05\n", + "┃ coef_free_flow_round_trip_auto_time_shift_effects_duration -1.212989e-05\n", + "┃ coef_maintenance_tour_depart_before_7 8.298165e-06\n", + "┃ coef_maintenance_tour_departure_shift_effects 1.059914e-04\n", + "┃ coef_maintenance_tour_duration_shift_effects 2.022297e-05\n", + "┃ coef_number_of_joint_tours_departure_shift_effects -1.252624e-04\n", + "┃ coef_number_of_mandatory_tours_departure_shift_effects -1.288240e-04\n", + "┃ coef_school_child_age_16_plus_departure_shift_effects 1.808366e-04\n", + "┃ coef_school_child_age_16_plus_duration_shift_effects 4.559202e-05\n", + "┃ coef_school_child_age_under_16_departure_shift_effects -1.455769e-05\n", + "┃ coef_school_child_age_under_16_duration_shift_effects -4.476322e-05\n", + "┃ coef_school_child_under_16_arrive_after_22 -4.170945e-05\n", + "┃ coef_shopping_tour_arrive_after_22 -8.668123e-05\n", + "┃ coef_shopping_tour_depart_before_8 6.613654e-05\n", + "┃ coef_shopping_tour_departure_shift_effects 9.925783e-05\n", + "┃ coef_shopping_tour_duration_lt_2_hours 8.629531e-05\n", + "┃ coef_shopping_tour_duration_shift_effects 1.970358e-05\n", + "┃ coef_some_previously_scheduled_tour_begins_in_this_arrival_hour 6.069742e-05\n", + "┃ coef_some_previously_scheduled_tour_ends_in_this_departure_hour 3.334213e-05\n", + "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -1.230984e-04\n", "┃ coef_unavailable 0.000000e+00\n", - "┃ coef_university_student_arrive_after_22 -2.193359e-06\n", - "┃ coef_visit_tour_departure_shift_effects -4.986513e-04\n", - "┃ coef_visit_tour_duration_shift_effects 2.469947e-04\n", + "┃ coef_university_student_arrive_after_22 -5.714988e-05\n", + "┃ coef_visit_tour_departure_shift_effects -1.378200e-04\n", + "┃ coef_visit_tour_duration_shift_effects -2.132350e-05\n", "┃ dtype: float64\n", - "┣ nit: 67\n", - "┣ nfev: 106\n", - "┣ njev: 67\n", + "┣ nit: 144\n", + "┣ nfev: 148\n", + "┣ njev: 144\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(microseconds=587568)\n", + "┣ elapsed_time: datetime.timedelta(seconds=3, microseconds=104941)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 91\n", - "┣ iteration_number: 67\n", - "┣ logloss: 1.9102019358138524" + "┣ n_cases: 1277\n", + "┣ iteration_number: 144\n", + "┣ loglike: -2789.5125590211246" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate()" + "model.estimate(maxiter=900)" ] }, { @@ -3624,619 +3792,586 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction-13.5 1.03e+03-0.01 NA 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction-14.2 1.62e+03-0.01 NA 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction-13.5 842.-0.02 NA 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction-7.72 342.-0.02 NA 0.00
coef_adult_with_children_in_hh_arrive_19_21-0.00254 0.815-0.00 NA 0.00
coef_arrival_constants_am_peak 4.65 1.75 2.66** NA 0.00
coef_arrival_constants_early 24.8 1.71 14.53*** NA 0.00
coef_arrival_constants_evening-4.29 0.931-4.61*** NA 0.00
coef_arrival_constants_late-9.62 1.70-5.65*** NA 0.00
coef_arrival_constants_midday_1 0.00 NA NA NA 0.00fixed value
coef_arrival_constants_midday_2 2.69 0.752 3.58*** NA 0.00
coef_arrival_constants_pm_peak_1 1.85 0.647 2.86** NA 0.00
coef_arrival_constants_pm_peak_2 1.52 0.532 2.85** NA 0.00
coef_arrival_constants_pm_peak_3 0.00 NA NA NA 0.00fixed value
coef_arrival_constants_pm_peak_4-1.18 0.567-2.08* NA 0.00
coef_departure_constants_am_peak_1-25.0 NA NA[***] BIG 0.00coef_departure_constants_am_peak_1 ≥ -25.0
coef_departure_constants_am_peak_2-4.24 1.90-2.23* NA 0.00
coef_departure_constants_am_peak_3 0.806 1.29 0.62 NA 0.00
coef_departure_constants_am_peak_4 1.41 0.775 1.82 NA 0.00
coef_departure_constants_early-24.4 1.04-23.39*** NA 0.00
coef_departure_constants_evening-14.6 2.93-4.96*** NA 0.00
coef_departure_constants_late-20.4 42.5-0.48 NA 0.00
coef_departure_constants_midday_1 0.00 NA NA NA 0.00fixed value
coef_departure_constants_midday_2-4.50 1.17-3.85*** NA 0.00
coef_departure_constants_pm_peak-12.6 2.65-4.77*** NA 0.00
coef_destination_in_cbd_duration_shift_effects 0.572 0.222 2.58** NA 0.00
coef_discretionary_tour_duration_lt_2_hours-1.02 1.10-0.93 NA 0.00
coef_duration_constants_0_to_1_hours-2.75 0.678-4.05*** NA 0.00
coef_duration_constants_11_to_13_hours-6.16 52.7-0.12 NA 0.00
coef_duration_constants_14_to_18_hours-2.80 75.2-0.04 NA 0.00
coef_duration_constants_2_to_3_hours 0.00 NA NA NA 0.00fixed value
coef_duration_constants_4_to_5_hours 0.301 0.552 0.55 NA 0.00
coef_duration_constants_6_to_7_hours 0.144 1.03 0.14 NA 0.00
coef_duration_constants_8_to_10_hours-10.6 198.-0.05 NA 0.00
coef_eat_out_tour_departure_shift_effects-0.0246 0.146-0.17 NA 0.00
coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect-1.33 0.662-2.01* NA 0.00
coef_free_flow_round_trip_auto_time_shift_effects_duration 0.0178 0.00963 1.84 NA 0.00
coef_maintenance_tour_depart_before_7 1.15 1.69 0.68 NA 0.00
coef_maintenance_tour_departure_shift_effects-0.159 0.129-1.23 NA 0.00
coef_maintenance_tour_duration_shift_effects-0.146 0.234-0.62 NA 0.00
coef_number_of_joint_tours_departure_shift_effects 1.36 0.199 6.82*** NA 0.00
coef_number_of_mandatory_tours_departure_shift_effects 0.0763 0.0738 1.03 NA 0.00
coef_school_child_age_16_plus_departure_shift_effects 0.0727 6.26e-07 BIG*** NA 0.00
coef_school_child_age_16_plus_duration_shift_effects 0.209 2.94e-07 BIG*** NA 0.00
coef_school_child_age_under_16_departure_shift_effects 0.239 0.289 0.83 NA 0.00
coef_school_child_age_under_16_duration_shift_effects-0.568 0.535-1.06 NA 0.00
coef_school_child_under_16_arrive_after_22-6.15 102.-0.06 NA 0.00
coef_shopping_tour_arrive_after_22-7.22 118.-0.06 NA 0.00
coef_shopping_tour_depart_before_8 1.46 2.09 0.70 NA 0.00
coef_shopping_tour_departure_shift_effects-0.0456 0.177-0.26 NA 0.00
coef_shopping_tour_duration_lt_2_hours 0.189 1.14 0.17 NA 0.00
coef_shopping_tour_duration_shift_effects-0.360 0.344-1.04 NA 0.00
coef_some_previously_scheduled_tour_begins_in_this_arrival_hour 0.412 0.861 0.48 NA 0.00
coef_some_previously_scheduled_tour_ends_in_this_departure_hour 0.282 0.440 0.64 NA 0.00
coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 0.191 0.745 0.26 NA 0.00
coef_unavailable-999. NA NA NA 0.00fixed value
coef_university_student_arrive_after_22-9.18 675.-0.01 NA 0.00
coef_visit_tour_departure_shift_effects-0.110 0.135-0.81 NA 0.00
coef_visit_tour_duration_shift_effects-0.124 0.317-0.39 NA 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.801 3.59 0.22 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction 0.494 4.24 0.12 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.00884 198. 0.00 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction-0.550 1.32-0.42 0.00
coef_adult_with_children_in_hh_arrive_19_21-0.0790 0.205-0.39 0.00
coef_arrival_constants_am_peak-8.41 19.7-0.43 0.00
coef_arrival_constants_early-6.76 19.7-0.34 0.00
coef_arrival_constants_evening-2.68 0.227-11.78*** 0.00
coef_arrival_constants_late-4.19 0.286-14.65*** 0.00
coef_arrival_constants_midday_1 0.00 0.00 NA 0.00fixed value
coef_arrival_constants_midday_2 1.42 0.133 10.62*** 0.00
coef_arrival_constants_pm_peak_1 0.964 0.146 6.59*** 0.00
coef_arrival_constants_pm_peak_2 1.20 0.131 9.17*** 0.00
coef_arrival_constants_pm_peak_3 0.00 0.00 NA 0.00fixed value
coef_arrival_constants_pm_peak_4-0.726 0.157-4.63*** 0.00
coef_departure_constants_am_peak_1-14.0 1.35-10.33*** 0.00
coef_departure_constants_am_peak_2-10.2 0.850-11.96*** 0.00
coef_departure_constants_am_peak_3-2.80 0.381-7.35*** 0.00
coef_departure_constants_am_peak_4 0.514 0.155 3.32*** 0.00
coef_departure_constants_early-17.9 1.63-10.95*** 0.00
coef_departure_constants_evening-19.6 19.7-0.99 0.00
coef_departure_constants_late-21.4 19.7-1.09 0.00
coef_departure_constants_midday_1 0.00 0.00 NA 0.00fixed value
coef_departure_constants_midday_2-1.89 0.244-7.72*** 0.00
coef_departure_constants_pm_peak-18.2 19.7-0.93 0.00
coef_destination_in_cbd_duration_shift_effects 0.131 0.0653 2.01* 0.00
coef_discretionary_tour_duration_lt_2_hours-0.772 0.233-3.32*** 0.00
coef_duration_constants_0_to_1_hours-2.02 0.171-11.83*** 0.00
coef_duration_constants_11_to_13_hours-1.61 0.861-1.87 0.00
coef_duration_constants_14_to_18_hours-3.07 4.80-0.64 0.00
coef_duration_constants_2_to_3_hours 0.00 0.00 NA 0.00fixed value
coef_duration_constants_4_to_5_hours-0.520 0.116-4.49*** 0.00
coef_duration_constants_6_to_7_hours-0.868 0.210-4.13*** 0.00
coef_duration_constants_8_to_10_hours-1.02 0.359-2.84** 0.00
coef_eat_out_tour_departure_shift_effects 0.0566 0.0437 1.29 0.00
coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect-0.507 0.511-0.99 0.00
coef_free_flow_round_trip_auto_time_shift_effects_duration 0.00362 0.00112 3.25** 0.00
coef_maintenance_tour_depart_before_7-0.524 0.819-0.64 0.00
coef_maintenance_tour_departure_shift_effects-0.136 0.0418-3.24** 0.00
coef_maintenance_tour_duration_shift_effects-0.0384 0.0575-0.67 0.00
coef_number_of_joint_tours_departure_shift_effects 0.129 0.0651 1.98* 0.00
coef_number_of_mandatory_tours_departure_shift_effects-0.00979 0.0303-0.32 0.00
coef_school_child_age_16_plus_departure_shift_effects 0.106 0.110 0.96 0.00
coef_school_child_age_16_plus_duration_shift_effects 0.316 0.131 2.40* 0.00
coef_school_child_age_under_16_departure_shift_effects 0.0155 0.0681 0.23 0.00
coef_school_child_age_under_16_duration_shift_effects 0.328 0.0792 4.13*** 0.00
coef_school_child_under_16_arrive_after_22-5.04 4.37-1.15 0.00
coef_shopping_tour_arrive_after_22-0.0333 0.576-0.06 0.00
coef_shopping_tour_depart_before_8-1.48 1.11-1.34 0.00
coef_shopping_tour_departure_shift_effects-0.0993 0.0762-1.30 0.00
coef_shopping_tour_duration_lt_2_hours 0.700 0.275 2.54* 0.00
coef_shopping_tour_duration_shift_effects-0.101 0.0665-1.52 0.00
coef_some_previously_scheduled_tour_begins_in_this_arrival_hour-0.0177 0.224-0.08 0.00
coef_some_previously_scheduled_tour_ends_in_this_departure_hour-0.288 0.121-2.38* 0.00
coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 0.0624 0.340 0.18 0.00
coef_unavailable-999. 0.00 NA 0.00fixed value
coef_university_student_arrive_after_22 0.361 0.694 0.52 0.00
coef_visit_tour_departure_shift_effects 0.137 0.0492 2.78** 0.00
coef_visit_tour_duration_shift_effects 0.172 0.0622 2.77** 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -4257,7 +4392,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -4278,20 +4413,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -4310,7 +4434,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -4355,217 +4479,217 @@ " \n", " 2\n", " coef_free_flow_round_trip_auto_time_shift_effe...\n", - " 0.017752\n", + " 0.003622\n", " F\n", " \n", " \n", " 3\n", " coef_shopping_tour_departure_shift_effects\n", - " -0.045633\n", + " -0.099254\n", " F\n", " \n", " \n", " 4\n", " coef_shopping_tour_duration_shift_effects\n", - " -0.359705\n", + " -0.101207\n", " F\n", " \n", " \n", " 5\n", " coef_maintenance_tour_departure_shift_effects\n", - " -0.159210\n", + " -0.135634\n", " F\n", " \n", " \n", " 6\n", " coef_maintenance_tour_duration_shift_effects\n", - " -0.146459\n", + " -0.038428\n", " F\n", " \n", " \n", " 7\n", " coef_visit_tour_departure_shift_effects\n", - " -0.109515\n", + " 0.136717\n", " F\n", " \n", " \n", " 8\n", " coef_visit_tour_duration_shift_effects\n", - " -0.123814\n", + " 0.172436\n", " F\n", " \n", " \n", " 9\n", " coef_eat_out_tour_departure_shift_effects\n", - " -0.024649\n", + " 0.056578\n", " F\n", " \n", " \n", " 10\n", " coef_school_child_age_16_plus_departure_shift_...\n", - " 0.072660\n", + " 0.106395\n", " F\n", " \n", " \n", " 11\n", " coef_school_child_age_16_plus_duration_shift_e...\n", - " 0.209500\n", + " 0.315781\n", " F\n", " \n", " \n", " 12\n", " coef_school_child_age_under_16_departure_shift...\n", - " 0.239007\n", + " 0.015473\n", " F\n", " \n", " \n", " 13\n", " coef_school_child_age_under_16_duration_shift_...\n", - " -0.567863\n", + " 0.327527\n", " F\n", " \n", " \n", " 14\n", " coef_destination_in_cbd_duration_shift_effects\n", - " 0.572330\n", + " 0.130935\n", " F\n", " \n", " \n", " 15\n", " coef_number_of_mandatory_tours_departure_shift...\n", - " 0.076326\n", + " -0.009788\n", " F\n", " \n", " \n", " 16\n", " coef_number_of_joint_tours_departure_shift_eff...\n", - " 1.356173\n", + " 0.128742\n", " F\n", " \n", " \n", " 17\n", " coef_first_of_2_plus_tours_for_same_purpose_de...\n", - " -1.329351\n", + " -0.506782\n", " F\n", " \n", " \n", " 18\n", " coef_subsequent_of_2_plus_tours_for_same_purpo...\n", - " 0.191264\n", + " 0.062417\n", " F\n", " \n", " \n", " 19\n", " coef_maintenance_tour_depart_before_7\n", - " 1.154584\n", + " -0.523693\n", " F\n", " \n", " \n", " 20\n", " coef_shopping_tour_depart_before_8\n", - " 1.458488\n", + " -1.484109\n", " F\n", " \n", " \n", " 21\n", " coef_shopping_tour_arrive_after_22\n", - " -7.221041\n", + " -0.033268\n", " F\n", " \n", " \n", " 22\n", " coef_school_child_under_16_arrive_after_22\n", - " -6.147237\n", + " -5.038827\n", " F\n", " \n", " \n", " 23\n", " coef_university_student_arrive_after_22\n", - " -9.181095\n", + " 0.360948\n", " F\n", " \n", " \n", " 24\n", " coef_shopping_tour_duration_lt_2_hours\n", - " 0.189427\n", + " 0.699700\n", " F\n", " \n", " \n", " 25\n", " coef_discretionary_tour_duration_lt_2_hours\n", - " -1.022488\n", + " -0.772425\n", " F\n", " \n", " \n", " 26\n", " coef_adult_with_children_in_hh_arrive_19_21\n", - " -0.002541\n", + " -0.078997\n", " F\n", " \n", " \n", " 27\n", " coef_some_previously_scheduled_tour_ends_in_th...\n", - " 0.282029\n", + " -0.288048\n", " F\n", " \n", " \n", " 28\n", " coef_some_previously_scheduled_tour_begins_in_...\n", - " 0.411979\n", + " -0.017681\n", " F\n", " \n", " \n", " 29\n", " coef_adjacent_window_exists_before_this_depart...\n", - " -13.495922\n", + " 0.008839\n", " F\n", " \n", " \n", " 30\n", " coef_adjacent_window_exists_after_this_arrival...\n", - " -13.526580\n", + " 0.800851\n", " F\n", " \n", " \n", " 31\n", " coef_adjacent_window_exists_before_this_depart...\n", - " -7.716247\n", + " -0.549692\n", " F\n", " \n", " \n", " 32\n", " coef_adjacent_window_exists_after_this_arrival...\n", - " -14.169341\n", + " 0.494438\n", " F\n", " \n", " \n", " 33\n", " coef_departure_constants_early\n", - " -24.418086\n", + " -17.865880\n", " F\n", " \n", " \n", " 34\n", " coef_departure_constants_am_peak_1\n", - " -25.000000\n", + " -13.990759\n", " F\n", " \n", " \n", " 35\n", " coef_departure_constants_am_peak_2\n", - " -4.236849\n", + " -10.163788\n", " F\n", " \n", " \n", " 36\n", " coef_departure_constants_am_peak_3\n", - " 0.806223\n", + " -2.799430\n", " F\n", " \n", " \n", " 37\n", " coef_departure_constants_am_peak_4\n", - " 1.408142\n", + " 0.514393\n", " F\n", " \n", " \n", @@ -4577,37 +4701,37 @@ " \n", " 39\n", " coef_departure_constants_midday_2\n", - " -4.501238\n", + " -1.886316\n", " F\n", " \n", " \n", " 40\n", " coef_departure_constants_pm_peak\n", - " -12.638403\n", + " -18.238556\n", " F\n", " \n", " \n", " 41\n", " coef_departure_constants_evening\n", - " -14.557517\n", + " -19.574287\n", " F\n", " \n", " \n", " 42\n", " coef_departure_constants_late\n", - " -20.421814\n", + " -21.444922\n", " F\n", " \n", " \n", " 43\n", " coef_arrival_constants_early\n", - " 24.793142\n", + " -6.758955\n", " F\n", " \n", " \n", " 44\n", " coef_arrival_constants_am_peak\n", - " 4.647673\n", + " -8.413713\n", " F\n", " \n", " \n", @@ -4619,19 +4743,19 @@ " \n", " 46\n", " coef_arrival_constants_midday_2\n", - " 2.692519\n", + " 1.416723\n", " F\n", " \n", " \n", " 47\n", " coef_arrival_constants_pm_peak_1\n", - " 1.849237\n", + " 0.964024\n", " F\n", " \n", " \n", " 48\n", " coef_arrival_constants_pm_peak_2\n", - " 1.518410\n", + " 1.200835\n", " F\n", " \n", " \n", @@ -4643,25 +4767,25 @@ " \n", " 50\n", " coef_arrival_constants_pm_peak_4\n", - " -1.182768\n", + " -0.725959\n", " F\n", " \n", " \n", " 51\n", " coef_arrival_constants_evening\n", - " -4.291783\n", + " -2.675953\n", " F\n", " \n", " \n", " 52\n", " coef_arrival_constants_late\n", - " -9.617038\n", + " -4.194942\n", " F\n", " \n", " \n", " 53\n", " coef_duration_constants_0_to_1_hours\n", - " -2.750481\n", + " -2.021348\n", " F\n", " \n", " \n", @@ -4673,31 +4797,31 @@ " \n", " 55\n", " coef_duration_constants_4_to_5_hours\n", - " 0.301145\n", + " -0.519561\n", " F\n", " \n", " \n", " 56\n", " coef_duration_constants_6_to_7_hours\n", - " 0.144072\n", + " -0.868309\n", " F\n", " \n", " \n", " 57\n", " coef_duration_constants_8_to_10_hours\n", - " -10.570858\n", + " -1.020095\n", " F\n", " \n", " \n", " 58\n", " coef_duration_constants_11_to_13_hours\n", - " -6.162737\n", + " -1.608105\n", " F\n", " \n", " \n", " 59\n", " coef_duration_constants_14_to_18_hours\n", - " -2.800706\n", + " -3.067613\n", " F\n", " \n", " \n", @@ -4708,67 +4832,67 @@ " coefficient_name value constrain\n", "0 coef_dummy 1.000000 T\n", "1 coef_unavailable -999.000000 T\n", - "2 coef_free_flow_round_trip_auto_time_shift_effe... 0.017752 F\n", - "3 coef_shopping_tour_departure_shift_effects -0.045633 F\n", - "4 coef_shopping_tour_duration_shift_effects -0.359705 F\n", - "5 coef_maintenance_tour_departure_shift_effects -0.159210 F\n", - "6 coef_maintenance_tour_duration_shift_effects -0.146459 F\n", - "7 coef_visit_tour_departure_shift_effects -0.109515 F\n", - "8 coef_visit_tour_duration_shift_effects -0.123814 F\n", - "9 coef_eat_out_tour_departure_shift_effects -0.024649 F\n", - "10 coef_school_child_age_16_plus_departure_shift_... 0.072660 F\n", - "11 coef_school_child_age_16_plus_duration_shift_e... 0.209500 F\n", - "12 coef_school_child_age_under_16_departure_shift... 0.239007 F\n", - "13 coef_school_child_age_under_16_duration_shift_... -0.567863 F\n", - "14 coef_destination_in_cbd_duration_shift_effects 0.572330 F\n", - "15 coef_number_of_mandatory_tours_departure_shift... 0.076326 F\n", - "16 coef_number_of_joint_tours_departure_shift_eff... 1.356173 F\n", - "17 coef_first_of_2_plus_tours_for_same_purpose_de... -1.329351 F\n", - "18 coef_subsequent_of_2_plus_tours_for_same_purpo... 0.191264 F\n", - "19 coef_maintenance_tour_depart_before_7 1.154584 F\n", - "20 coef_shopping_tour_depart_before_8 1.458488 F\n", - "21 coef_shopping_tour_arrive_after_22 -7.221041 F\n", - "22 coef_school_child_under_16_arrive_after_22 -6.147237 F\n", - "23 coef_university_student_arrive_after_22 -9.181095 F\n", - "24 coef_shopping_tour_duration_lt_2_hours 0.189427 F\n", - "25 coef_discretionary_tour_duration_lt_2_hours -1.022488 F\n", - "26 coef_adult_with_children_in_hh_arrive_19_21 -0.002541 F\n", - "27 coef_some_previously_scheduled_tour_ends_in_th... 0.282029 F\n", - "28 coef_some_previously_scheduled_tour_begins_in_... 0.411979 F\n", - "29 coef_adjacent_window_exists_before_this_depart... -13.495922 F\n", - "30 coef_adjacent_window_exists_after_this_arrival... -13.526580 F\n", - "31 coef_adjacent_window_exists_before_this_depart... -7.716247 F\n", - "32 coef_adjacent_window_exists_after_this_arrival... -14.169341 F\n", - "33 coef_departure_constants_early -24.418086 F\n", - "34 coef_departure_constants_am_peak_1 -25.000000 F\n", - "35 coef_departure_constants_am_peak_2 -4.236849 F\n", - "36 coef_departure_constants_am_peak_3 0.806223 F\n", - "37 coef_departure_constants_am_peak_4 1.408142 F\n", + "2 coef_free_flow_round_trip_auto_time_shift_effe... 0.003622 F\n", + "3 coef_shopping_tour_departure_shift_effects -0.099254 F\n", + "4 coef_shopping_tour_duration_shift_effects -0.101207 F\n", + "5 coef_maintenance_tour_departure_shift_effects -0.135634 F\n", + "6 coef_maintenance_tour_duration_shift_effects -0.038428 F\n", + "7 coef_visit_tour_departure_shift_effects 0.136717 F\n", + "8 coef_visit_tour_duration_shift_effects 0.172436 F\n", + "9 coef_eat_out_tour_departure_shift_effects 0.056578 F\n", + "10 coef_school_child_age_16_plus_departure_shift_... 0.106395 F\n", + "11 coef_school_child_age_16_plus_duration_shift_e... 0.315781 F\n", + "12 coef_school_child_age_under_16_departure_shift... 0.015473 F\n", + "13 coef_school_child_age_under_16_duration_shift_... 0.327527 F\n", + "14 coef_destination_in_cbd_duration_shift_effects 0.130935 F\n", + "15 coef_number_of_mandatory_tours_departure_shift... -0.009788 F\n", + "16 coef_number_of_joint_tours_departure_shift_eff... 0.128742 F\n", + "17 coef_first_of_2_plus_tours_for_same_purpose_de... -0.506782 F\n", + "18 coef_subsequent_of_2_plus_tours_for_same_purpo... 0.062417 F\n", + "19 coef_maintenance_tour_depart_before_7 -0.523693 F\n", + "20 coef_shopping_tour_depart_before_8 -1.484109 F\n", + "21 coef_shopping_tour_arrive_after_22 -0.033268 F\n", + "22 coef_school_child_under_16_arrive_after_22 -5.038827 F\n", + "23 coef_university_student_arrive_after_22 0.360948 F\n", + "24 coef_shopping_tour_duration_lt_2_hours 0.699700 F\n", + "25 coef_discretionary_tour_duration_lt_2_hours -0.772425 F\n", + "26 coef_adult_with_children_in_hh_arrive_19_21 -0.078997 F\n", + "27 coef_some_previously_scheduled_tour_ends_in_th... -0.288048 F\n", + "28 coef_some_previously_scheduled_tour_begins_in_... -0.017681 F\n", + "29 coef_adjacent_window_exists_before_this_depart... 0.008839 F\n", + "30 coef_adjacent_window_exists_after_this_arrival... 0.800851 F\n", + "31 coef_adjacent_window_exists_before_this_depart... -0.549692 F\n", + "32 coef_adjacent_window_exists_after_this_arrival... 0.494438 F\n", + "33 coef_departure_constants_early -17.865880 F\n", + "34 coef_departure_constants_am_peak_1 -13.990759 F\n", + "35 coef_departure_constants_am_peak_2 -10.163788 F\n", + "36 coef_departure_constants_am_peak_3 -2.799430 F\n", + "37 coef_departure_constants_am_peak_4 0.514393 F\n", "38 coef_departure_constants_midday_1 0.000000 T\n", - "39 coef_departure_constants_midday_2 -4.501238 F\n", - "40 coef_departure_constants_pm_peak -12.638403 F\n", - "41 coef_departure_constants_evening -14.557517 F\n", - "42 coef_departure_constants_late -20.421814 F\n", - "43 coef_arrival_constants_early 24.793142 F\n", - "44 coef_arrival_constants_am_peak 4.647673 F\n", + "39 coef_departure_constants_midday_2 -1.886316 F\n", + "40 coef_departure_constants_pm_peak -18.238556 F\n", + "41 coef_departure_constants_evening -19.574287 F\n", + "42 coef_departure_constants_late -21.444922 F\n", + "43 coef_arrival_constants_early -6.758955 F\n", + "44 coef_arrival_constants_am_peak -8.413713 F\n", "45 coef_arrival_constants_midday_1 0.000000 T\n", - "46 coef_arrival_constants_midday_2 2.692519 F\n", - "47 coef_arrival_constants_pm_peak_1 1.849237 F\n", - "48 coef_arrival_constants_pm_peak_2 1.518410 F\n", + "46 coef_arrival_constants_midday_2 1.416723 F\n", + "47 coef_arrival_constants_pm_peak_1 0.964024 F\n", + "48 coef_arrival_constants_pm_peak_2 1.200835 F\n", "49 coef_arrival_constants_pm_peak_3 0.000000 T\n", - "50 coef_arrival_constants_pm_peak_4 -1.182768 F\n", - "51 coef_arrival_constants_evening -4.291783 F\n", - "52 coef_arrival_constants_late -9.617038 F\n", - "53 coef_duration_constants_0_to_1_hours -2.750481 F\n", + "50 coef_arrival_constants_pm_peak_4 -0.725959 F\n", + "51 coef_arrival_constants_evening -2.675953 F\n", + "52 coef_arrival_constants_late -4.194942 F\n", + "53 coef_duration_constants_0_to_1_hours -2.021348 F\n", "54 coef_duration_constants_2_to_3_hours 0.000000 T\n", - "55 coef_duration_constants_4_to_5_hours 0.301145 F\n", - "56 coef_duration_constants_6_to_7_hours 0.144072 F\n", - "57 coef_duration_constants_8_to_10_hours -10.570858 F\n", - "58 coef_duration_constants_11_to_13_hours -6.162737 F\n", - "59 coef_duration_constants_14_to_18_hours -2.800706 F" + "55 coef_duration_constants_4_to_5_hours -0.519561 F\n", + "56 coef_duration_constants_6_to_7_hours -0.868309 F\n", + "57 coef_duration_constants_8_to_10_hours -1.020095 F\n", + "58 coef_duration_constants_11_to_13_hours -1.608105 F\n", + "59 coef_duration_constants_14_to_18_hours -3.067613 F" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -4785,7 +4909,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4799,7 +4923,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/15_non_mand_tour_freq.ipynb b/activitysim/examples/example_estimation/notebooks/15_non_mand_tour_freq.ipynb index 81092083fc..933656370f 100644 --- a/activitysim/examples/example_estimation/notebooks/15_non_mand_tour_freq.ipynb +++ b/activitysim/examples/example_estimation/notebooks/15_non_mand_tour_freq.ipynb @@ -35,10 +35,22 @@ "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, { "data": { "text/plain": [ - "'1.1.0'" + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" ] }, "execution_count": 1, @@ -47,27 +59,49 @@ } ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", + "import larch as lx\n", "import pandas as pd\n", - "import activitysim\n", - "activitysim.__version__" + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -81,12 +115,67 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading EDB for PTYPE_FULL segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_FULL/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_FULL/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_FULL/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_PART segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_PART/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_PART/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_PART/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_UNIVERSITY segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_UNIVERSITY/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_UNIVERSITY/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_UNIVERSITY/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_NONWORK segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_NONWORK/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_NONWORK/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_NONWORK/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_RETIRED segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_RETIRED/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_RETIRED/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_RETIRED/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_DRIVING segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_DRIVING/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_DRIVING/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_DRIVING/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_SCHOOL segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_SCHOOL/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_SCHOOL/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_SCHOOL/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "Loading EDB for PTYPE_PRESCHOOL segment\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_PRESCHOOL/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_PRESCHOOL/non_mandatory_tour_frequency_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_PRESCHOOL/non_mandatory_tour_frequency_interaction_expression_values.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_FULL/non_mandatory_tour_frequency_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/PTYPE_FULL/non_mandatory_tour_frequency_alternatives.csv\n", + "Creating larch model for PTYPE_FULL\n", + "Creating larch model for PTYPE_PART\n", + "Creating larch model for PTYPE_UNIVERSITY\n", + "Creating larch model for PTYPE_NONWORK\n", + "Creating larch model for PTYPE_RETIRED\n", + "Creating larch model for PTYPE_DRIVING\n", + "Creating larch model for PTYPE_SCHOOL\n", + "Creating larch model for PTYPE_PRESCHOOL\n" + ] + } + ], "source": [ "modelname = \"nonmand_tour_freq\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True, condense_parameters=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/non_mandatory_tour_frequency/\",\n", + " return_data=True,\n", + " condense_parameters=True,\n", + ")" ] }, { @@ -383,20 +472,20 @@ " \n", " \n", " 0\n", - " 72241\n", + " 72355\n", " 0\n", " 0\n", - " 72241\n", - " 56\n", - " 1\n", + " 72355\n", + " 52\n", " 1\n", + " 2\n", " 1\n", " 3\n", " 1\n", " ...\n", " False\n", " False\n", - " 0\n", + " 1\n", " 0\n", " 0\n", " 0\n", @@ -407,13 +496,13 @@ " \n", " \n", " 1\n", - " 72441\n", + " 72384\n", " 0\n", " 0\n", - " 72441\n", - " 49\n", - " 1\n", + " 72384\n", + " 28\n", " 1\n", + " 2\n", " 1\n", " 3\n", " 1\n", @@ -431,11 +520,11 @@ " \n", " \n", " 2\n", - " 73144\n", - " 0\n", + " 72407\n", + " 1\n", " 0\n", - " 73144\n", - " 31\n", + " 72407\n", + " 52\n", " 1\n", " 2\n", " 1\n", @@ -443,8 +532,8 @@ " 1\n", " ...\n", " False\n", - " True\n", - " -1\n", + " False\n", + " 0\n", " 0\n", " 0\n", " 0\n", @@ -455,20 +544,20 @@ " \n", " \n", " 3\n", - " 73493\n", + " 72459\n", " 0\n", " 0\n", - " 73493\n", - " 31\n", + " 72459\n", + " 38\n", + " 1\n", " 1\n", - " 2\n", " 1\n", " 3\n", " 1\n", " ...\n", " False\n", - " False\n", - " 0\n", + " True\n", + " -1\n", " 0\n", " 0\n", " 0\n", @@ -479,11 +568,11 @@ " \n", " \n", " 4\n", - " 73706\n", - " 0\n", - " 0\n", - " 73706\n", - " 26\n", + " 72569\n", + " 1\n", + " 20\n", + " 72569\n", + " 49\n", " 1\n", " 1\n", " 1\n", @@ -491,14 +580,14 @@ " 1\n", " ...\n", " False\n", - " False\n", + " True\n", + " -1\n", " 0\n", " 0\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 1\n", " 0\n", " \n", " \n", @@ -526,14 +615,14 @@ " ...\n", " \n", " \n", - " 1759\n", - " 7512288\n", - " 5\n", - " 5\n", - " 2820953\n", - " 28\n", - " 1\n", + " 19354\n", + " 7538573\n", + " 0\n", + " 0\n", + " 2847238\n", + " 67\n", " 1\n", + " 2\n", " 1\n", " 3\n", " 1\n", @@ -546,18 +635,18 @@ " 0\n", " 0\n", " 0\n", - " 0\n", + " 1\n", " 0\n", " \n", " \n", - " 1760\n", - " 7512469\n", + " 19355\n", + " 7538990\n", " 1\n", + " 19\n", + " 2847655\n", + " 72\n", " 1\n", - " 2821134\n", - " 34\n", " 1\n", - " 2\n", " 1\n", " 3\n", " 1\n", @@ -570,16 +659,16 @@ " 0\n", " 0\n", " 0\n", - " 1\n", + " 0\n", " 0\n", " \n", " \n", - " 1761\n", - " 7513117\n", + " 19356\n", + " 7539071\n", " 0\n", " 0\n", - " 2821782\n", - " 16\n", + " 2847736\n", + " 70\n", " 1\n", " 1\n", " 1\n", @@ -587,8 +676,8 @@ " 1\n", " ...\n", " False\n", - " True\n", - " -1\n", + " False\n", + " 1\n", " 0\n", " 0\n", " 0\n", @@ -598,12 +687,12 @@ " 0\n", " \n", " \n", - " 1762\n", - " 7513996\n", + " 19357\n", + " 7539203\n", " 0\n", " 0\n", - " 2822661\n", - " 24\n", + " 2847868\n", + " 87\n", " 1\n", " 1\n", " 1\n", @@ -622,21 +711,21 @@ " 0\n", " \n", " \n", - " 1763\n", - " 7514404\n", + " 19358\n", + " 7539317\n", " 0\n", " 0\n", - " 2823069\n", - " 30\n", + " 2847982\n", + " 70\n", + " 1\n", " 1\n", - " 2\n", " 1\n", " 3\n", " 1\n", " ...\n", " False\n", - " True\n", - " -1\n", + " False\n", + " 0\n", " 0\n", " 0\n", " 0\n", @@ -647,76 +736,76 @@ " \n", " \n", "\n", - "

1764 rows × 142 columns

\n", + "

19359 rows × 142 columns

\n", "" ], "text/plain": [ - " person_id model_choice override_choice household_id age PNUM sex \\\n", - "0 72241 0 0 72241 56 1 1 \n", - "1 72441 0 0 72441 49 1 1 \n", - "2 73144 0 0 73144 31 1 2 \n", - "3 73493 0 0 73493 31 1 2 \n", - "4 73706 0 0 73706 26 1 1 \n", - "... ... ... ... ... ... ... ... \n", - "1759 7512288 5 5 2820953 28 1 1 \n", - "1760 7512469 1 1 2821134 34 1 2 \n", - "1761 7513117 0 0 2821782 16 1 1 \n", - "1762 7513996 0 0 2822661 24 1 1 \n", - "1763 7514404 0 0 2823069 30 1 2 \n", - "\n", - " pemploy pstudent ptype ... high_income no_cars car_sufficiency \\\n", - "0 1 3 1 ... False False 0 \n", - "1 1 3 1 ... False False 0 \n", - "2 1 3 1 ... False True -1 \n", - "3 1 3 1 ... False False 0 \n", - "4 1 3 1 ... False False 0 \n", - "... ... ... ... ... ... ... ... \n", - "1759 1 3 1 ... False True -1 \n", - "1760 1 3 1 ... False True -1 \n", - "1761 1 3 1 ... False True -1 \n", - "1762 1 3 1 ... False False 0 \n", - "1763 1 3 1 ... False True -1 \n", + " person_id model_choice override_choice household_id age PNUM sex \\\n", + "0 72355 0 0 72355 52 1 2 \n", + "1 72384 0 0 72384 28 1 2 \n", + "2 72407 1 0 72407 52 1 2 \n", + "3 72459 0 0 72459 38 1 1 \n", + "4 72569 1 20 72569 49 1 1 \n", + "... ... ... ... ... ... ... ... \n", + "19354 7538573 0 0 2847238 67 1 2 \n", + "19355 7538990 1 19 2847655 72 1 1 \n", + "19356 7539071 0 0 2847736 70 1 1 \n", + "19357 7539203 0 0 2847868 87 1 1 \n", + "19358 7539317 0 0 2847982 70 1 1 \n", "\n", - " num_hh_joint_shop_tours num_hh_joint_eatout_tours \\\n", - "0 0 0 \n", - "1 0 0 \n", - "2 0 0 \n", - "3 0 0 \n", - "4 0 0 \n", - "... ... ... \n", - "1759 0 0 \n", - "1760 0 0 \n", - "1761 0 0 \n", - "1762 0 0 \n", - "1763 0 0 \n", + " pemploy pstudent ptype ... high_income no_cars car_sufficiency \\\n", + "0 1 3 1 ... False False 1 \n", + "1 1 3 1 ... False False 0 \n", + "2 1 3 1 ... False False 0 \n", + "3 1 3 1 ... False True -1 \n", + "4 1 3 1 ... False True -1 \n", + "... ... ... ... ... ... ... ... \n", + "19354 1 3 1 ... False True -1 \n", + "19355 1 3 1 ... False True -1 \n", + "19356 1 3 1 ... False False 1 \n", + "19357 1 3 1 ... False False 0 \n", + "19358 1 3 1 ... False False 0 \n", "\n", - " num_hh_joint_maint_tours num_hh_joint_social_tours \\\n", + " num_hh_joint_shop_tours num_hh_joint_eatout_tours \\\n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 \n", "... ... ... \n", - "1759 0 0 \n", - "1760 0 0 \n", - "1761 0 0 \n", - "1762 0 0 \n", - "1763 0 0 \n", + "19354 0 0 \n", + "19355 0 0 \n", + "19356 0 0 \n", + "19357 0 0 \n", + "19358 0 0 \n", "\n", - " num_hh_joint_othdiscr_tours has_mandatory_tour has_joint_tour \n", - "0 0 1 0 \n", - "1 0 1 0 \n", - "2 0 1 0 \n", - "3 0 1 0 \n", - "4 0 1 0 \n", - "... ... ... ... \n", - "1759 0 0 0 \n", - "1760 0 1 0 \n", - "1761 0 1 0 \n", - "1762 0 1 0 \n", - "1763 0 1 0 \n", + " num_hh_joint_maint_tours num_hh_joint_social_tours \\\n", + "0 0 0 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 \n", + "... ... ... \n", + "19354 0 0 \n", + "19355 0 0 \n", + "19356 0 0 \n", + "19357 0 0 \n", + "19358 0 0 \n", "\n", - "[1764 rows x 142 columns]" + " num_hh_joint_othdiscr_tours has_mandatory_tour has_joint_tour \n", + "0 0 1 0 \n", + "1 0 1 0 \n", + "2 0 1 0 \n", + "3 0 1 0 \n", + "4 0 0 0 \n", + "... ... ... ... \n", + "19354 0 1 0 \n", + "19355 0 0 0 \n", + "19356 0 1 0 \n", + "19357 0 1 0 \n", + "19358 0 1 0 \n", + "\n", + "[19359 rows x 142 columns]" ] }, "execution_count": 8, @@ -741,6 +830,1896 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset> Size: 2GB\n",
+       "Dimensions:                                                                      (\n",
+       "                                                                                  person_id: 19359,\n",
+       "                                                                                  alt_id: 96)\n",
+       "Coordinates:\n",
+       "  * person_id                                                                    (person_id) int64 155kB ...\n",
+       "  * alt_id                                                                       (alt_id) int64 768B ...\n",
+       "Data variables: (12/353)\n",
+       "    index                                                                        (person_id, alt_id) int64 15MB ...\n",
+       "    util_escorting_tour                                                          (person_id, alt_id) int64 15MB ...\n",
+       "    util_discretionary_tour                                                      (person_id, alt_id) int64 15MB ...\n",
+       "    util_shopping_tour                                                           (person_id, alt_id) int64 15MB ...\n",
+       "    util_maintenance_tour                                                        (person_id, alt_id) int64 15MB ...\n",
+       "    util_visiting_or_social_tour                                                 (person_id, alt_id) int64 15MB ...\n",
+       "    ...                                                                           ...\n",
+       "    num_hh_joint_eatout_tours                                                    (person_id) int8 19kB ...\n",
+       "    num_hh_joint_maint_tours                                                     (person_id) int8 19kB ...\n",
+       "    num_hh_joint_social_tours                                                    (person_id) int8 19kB ...\n",
+       "    num_hh_joint_othdiscr_tours                                                  (person_id) int8 19kB ...\n",
+       "    has_mandatory_tour                                                           (person_id) int64 155kB ...\n",
+       "    has_joint_tour                                                               (person_id) int64 155kB ...\n",
+       "Attributes:\n",
+       "    _caseid_:  person_id\n",
+       "    _altid_:   alt_id
" + ], + "text/plain": [ + " Size: 2GB\n", + "Dimensions: (\n", + " person_id: 19359,\n", + " alt_id: 96)\n", + "Coordinates:\n", + " * person_id (person_id) int64 155kB ...\n", + " * alt_id (alt_id) int64 768B ...\n", + "Data variables: (12/353)\n", + " index (person_id, alt_id) int64 15MB ...\n", + " util_escorting_tour (person_id, alt_id) int64 15MB ...\n", + " util_discretionary_tour (person_id, alt_id) int64 15MB ...\n", + " util_shopping_tour (person_id, alt_id) int64 15MB ...\n", + " util_maintenance_tour (person_id, alt_id) int64 15MB ...\n", + " util_visiting_or_social_tour (person_id, alt_id) int64 15MB ...\n", + " ... ...\n", + " num_hh_joint_eatout_tours (person_id) int8 19kB ...\n", + " num_hh_joint_maint_tours (person_id) int8 19kB ...\n", + " num_hh_joint_social_tours (person_id) int8 19kB ...\n", + " num_hh_joint_othdiscr_tours (person_id) int8 19kB ...\n", + " has_mandatory_tour (person_id) int64 155kB ...\n", + " has_joint_tour (person_id) int64 155kB ...\n", + "Attributes:\n", + " _caseid_: person_id\n", + " _altid_: alt_id" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model['PTYPE_FULL'].datatree.root_dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -768,27 +2747,29 @@ "source": [ "For future estimation work, parameters can be intelligently named and applied to match the model developer's desired structure (by using the same named parameter for multiple rows of the spec file). If this is done, the \"short cut\" should be disabled by setting `condense_parameters=False` in the loading step above.\n", "\n", - "Larch has a built-in estimation methods including BHHH, and also offers access to more advanced general purpose non-linear optimizers in the `scipy` package, including SLSQP, which allows for bounds and constraints on parameters. BHHH is the default and typically runs faster, but does not follow constraints on parameters." + "Larch has a built-in estimation methods including BHHH, and also offers access to more advanced general purpose non-linear optimizers in the `scipy` package, including SLSQP, which allows for bounds and constraints on parameters. BHHH is the default and typically runs faster, but does not follow constraints on parameters.\n", + "\n", + "For this model, we will sequentially estimate the models by person type and then save and clear the results, to avoid running out of memory, as the models are large and use a lot of resources. " ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": { "scrolled": false }, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "Model PTYPE_FULL\n" ] }, { "data": { "text/html": [ - "

Iteration 070 [Optimization terminated successfully]

" + "

Iteration 049 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -800,7 +2781,7 @@ { "data": { "text/html": [ - "

Best LL = -1831.0744991680774

" + "

Best LL = -19916.199393036724

" ], "text/plain": [ "" @@ -831,70 +2812,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", + " -2.000000\n", " -2.0000\n", - " 0.0\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " 0.319037\n", + " -0.065728\n", + " -0.065728\n", " 0.0298\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.319037\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " -1.012856\n", + " 0.047768\n", + " 0.047768\n", " 0.0097\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.012856\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " -2.842643\n", + " 0.079776\n", + " 0.079776\n", " 0.1202\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.842643\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " 10.543979\n", + " 0.733799\n", + " 0.733799\n", " 0.7412\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 10.543979\n", " \n", " \n", " ...\n", @@ -905,122 +2890,120 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_walk_access_to_retail_and_discretionary\n", - " 0.160520\n", + " 0.060958\n", + " 0.060958\n", " 0.0567\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.160520\n", " \n", " \n", " coef_walk_access_to_retail_and_eating_out\n", - " 0.211289\n", + " 0.156964\n", + " 0.156964\n", " 0.1450\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.211289\n", " \n", " \n", " coef_walk_access_to_retail_and_escorting\n", - " -0.105285\n", + " 0.066031\n", + " 0.066031\n", " 0.0451\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.105285\n", " \n", " \n", " coef_walk_access_to_retail_and_shopping\n", - " 0.030182\n", + " 0.031695\n", + " 0.031695\n", " 0.0330\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.030182\n", " \n", " \n", " coef_zero_car_ownership_and_tour_frequency_is_5_plus\n", - " -0.227492\n", + " -0.239893\n", + " -0.239893\n", " -0.3486\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.227492\n", " \n", " \n", "\n", - "

72 rows × 8 columns

\n", + "

72 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant 0.319037 0.0298 \n", - "coef_1_plus_eating_out_tours_constant -1.012856 0.0097 \n", - "coef_1_plus_maintenance_tours_constant -2.842643 0.1202 \n", - "coef_1_plus_other_discretionary_tours_constant 10.543979 0.7412 \n", - "... ... ... \n", - "coef_walk_access_to_retail_and_discretionary 0.160520 0.0567 \n", - "coef_walk_access_to_retail_and_eating_out 0.211289 0.1450 \n", - "coef_walk_access_to_retail_and_escorting -0.105285 0.0451 \n", - "coef_walk_access_to_retail_and_shopping 0.030182 0.0330 \n", - "coef_zero_car_ownership_and_tour_frequency_is_5... -0.227492 -0.3486 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 \n", + "coef_1_escort_tour_constant -0.065728 -0.065728 \n", + "coef_1_plus_eating_out_tours_constant 0.047768 0.047768 \n", + "coef_1_plus_maintenance_tours_constant 0.079776 0.079776 \n", + "coef_1_plus_other_discretionary_tours_constant 0.733799 0.733799 \n", + "... ... ... \n", + "coef_walk_access_to_retail_and_discretionary 0.060958 0.060958 \n", + "coef_walk_access_to_retail_and_eating_out 0.156964 0.156964 \n", + "coef_walk_access_to_retail_and_escorting 0.066031 0.066031 \n", + "coef_walk_access_to_retail_and_shopping 0.031695 0.031695 \n", + "coef_zero_car_ownership_and_tour_frequency_is_5... -0.239893 -0.239893 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0000 -2.0 \n", + "coef_1_escort_tour_constant 0.0298 -20.0 \n", + "coef_1_plus_eating_out_tours_constant 0.0097 -20.0 \n", + "coef_1_plus_maintenance_tours_constant 0.1202 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant 0.7412 -20.0 \n", "... ... ... \n", - "coef_walk_access_to_retail_and_discretionary 0.0 NaN \n", - "coef_walk_access_to_retail_and_eating_out 0.0 NaN \n", - "coef_walk_access_to_retail_and_escorting 0.0 NaN \n", - "coef_walk_access_to_retail_and_shopping 0.0 NaN \n", - "coef_zero_car_ownership_and_tour_frequency_is_5... 0.0 NaN \n", + "coef_walk_access_to_retail_and_discretionary 0.0567 -20.0 \n", + "coef_walk_access_to_retail_and_eating_out 0.1450 -20.0 \n", + "coef_walk_access_to_retail_and_escorting 0.0451 -20.0 \n", + "coef_walk_access_to_retail_and_shopping 0.0330 -20.0 \n", + "coef_zero_car_ownership_and_tour_frequency_is_5... -0.3486 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour -2.0 1 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "... ... ... ... \n", - "coef_walk_access_to_retail_and_discretionary NaN 0 \n", - "coef_walk_access_to_retail_and_eating_out NaN 0 \n", - "coef_walk_access_to_retail_and_escorting NaN 0 \n", - "coef_walk_access_to_retail_and_shopping NaN 0 \n", - "coef_zero_car_ownership_and_tour_frequency_is_5... NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "... ... ... \n", + "coef_walk_access_to_retail_and_discretionary 20.0 0.0 \n", + "coef_walk_access_to_retail_and_eating_out 20.0 0.0 \n", + "coef_walk_access_to_retail_and_escorting 20.0 0.0 \n", + "coef_walk_access_to_retail_and_shopping 20.0 0.0 \n", + "coef_zero_car_ownership_and_tour_frequency_is_5... 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -2.000000 \n", - "coef_1_escort_tour_constant 0.319037 \n", - "coef_1_plus_eating_out_tours_constant -1.012856 \n", - "coef_1_plus_maintenance_tours_constant -2.842643 \n", - "coef_1_plus_other_discretionary_tours_constant 10.543979 \n", - "... ... \n", - "coef_walk_access_to_retail_and_discretionary 0.160520 \n", - "coef_walk_access_to_retail_and_eating_out 0.211289 \n", - "coef_walk_access_to_retail_and_escorting -0.105285 \n", - "coef_walk_access_to_retail_and_shopping 0.030182 \n", - "coef_zero_car_ownership_and_tour_frequency_is_5... -0.227492 \n", + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "... ... \n", + "coef_walk_access_to_retail_and_discretionary 0 \n", + "coef_walk_access_to_retail_and_eating_out 0 \n", + "coef_walk_access_to_retail_and_escorting 0 \n", + "coef_walk_access_to_retail_and_shopping 0 \n", + "coef_zero_car_ownership_and_tour_frequency_is_5... 0 \n", "\n", - "[72 rows x 8 columns]" + "[72 rows x 7 columns]" ] }, "metadata": {}, @@ -1030,24 +3013,717 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.456681257677148e-07 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 3 parameter estimators with negative variance\n", - "- coef_1_escort_tour_constant\n", - "- coef_2_plus_escort_tours_constant\n", - "- coef_urban_and_escorting_tour\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { "data": { "text/html": [ - "

Iteration 039 [Optimization terminated successfully]

" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant-0.0657 49.6-0.00 0.00
coef_1_plus_eating_out_tours_constant 0.0478 49.6 0.00 0.00
coef_1_plus_maintenance_tours_constant 0.0798 49.6 0.00 0.00
coef_1_plus_other_discretionary_tours_constant 0.734 49.6 0.01 0.00
coef_1_plus_shopping_tours_constant 0.360 49.6 0.01 0.00
coef_1_plus_visting_tours_constant-0.0190 49.6-0.00 0.00
coef_2_plus_escort_tours_constant 0.688 99.2 0.01 0.00
coef_at_home_pre_driving_school_kid_and_escorting_tour-0.471 0.160-2.94** 0.00
coef_at_home_pre_school_kid_and_discretionary_tour-0.223 0.186-1.20 0.00
coef_at_home_pre_school_kid_and_escorting_tour-1.53 0.227-6.75*** 0.00
coef_auto_access_to_retail_and_discretionary 0.0857 0.0630 1.36 0.00
coef_auto_access_to_retail_and_maintenance 0.0843 0.0587 1.44 0.00
coef_auto_access_to_retail_and_shopping 0.103 0.0604 1.71 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus 0.120 0.0470 2.55* 0.00
coef_female_and_escorting_tour 0.177 0.0645 2.74** 0.00
coef_female_and_tour_frequency_is_1-0.0844 0.0430-1.96* 0.00
coef_female_and_tour_frequency_is_2-0.0975 0.0857-1.14 0.00
coef_female_and_tour_frequency_is_5-0.446 0.180-2.47* 0.00
coef_high_income_group_and_discretionary_tour 0.213 0.0780 2.74** 0.00
coef_high_income_group_and_eating_out_tour 0.384 0.0963 3.99*** 0.00
coef_high_income_group_and_tour_frequency_is_1 0.355 0.114 3.12** 0.00
coef_high_income_group_and_tour_frequency_is_2 0.990 0.240 4.12*** 0.00
coef_high_income_group_and_tour_frequency_is_5_plus 1.29 0.555 2.32* 0.00
coef_high_income_group_and_visiting_tour-0.228 0.122-1.87 0.00
coef_logged_maximum_residual_window_tour_frequency_is_1 1.28 0.0731 17.53*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_2 1.45 0.0918 15.83*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 1.43 0.142 10.06*** 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_1 0.376 0.110 3.42*** 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_2 0.794 0.235 3.38*** 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_5_plus 1.03 0.548 1.88 0.00
coef_number_of_joint_eating_out_tours-0.618 0.529-1.17 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_2-1.07 0.158-6.75*** 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus-2.50 0.307-8.15*** 0.00
coef_presence_of_driving_school_kid_and_discretionary_tour-0.364 0.128-2.84** 0.00
coef_presence_of_driving_school_kid_and_escorting_tour 0.429 0.0738 5.81*** 0.00
coef_presence_of_full_time_worker_and_discretionary_tour-0.601 0.0679-8.86*** 0.00
coef_presence_of_full_time_worker_and_eating_out_tour-0.280 0.0777-3.60*** 0.00
coef_presence_of_full_time_worker_and_maintenance_tour-0.264 0.0767-3.45*** 0.00
coef_presence_of_full_time_worker_and_shopping_tour-0.175 0.0618-2.83** 0.00
coef_presence_of_non_worker_and_discretionary_tour-0.484 0.0844-5.73*** 0.00
coef_presence_of_non_worker_and_eating_out_tour-0.172 0.0913-1.88 0.00
coef_presence_of_non_worker_and_escorting_tour-0.476 0.0747-6.37*** 0.00
coef_presence_of_non_worker_and_maintenance_tour-0.279 0.0939-2.97** 0.00
coef_presence_of_non_worker_and_shopping_tour-0.419 0.0783-5.35*** 0.00
coef_presence_of_part_time_worker_and_discretionary_tour-0.252 0.0806-3.13** 0.00
coef_presence_of_part_time_worker_and_maintenance_tour-0.0951 0.0856-1.11 0.00
coef_presence_of_part_time_worker_and_shopping_tour-0.150 0.0686-2.19* 0.00
coef_presence_of_pre_driving_school_kid_and_discretionary_tour-0.401 0.0837-4.79*** 0.00
coef_presence_of_pre_driving_school_kid_and_escorting_tour 1.38 0.0611 22.52*** 0.00
coef_presence_of_pre_school_kid_and_discretionary_tour-0.509 0.100-5.09*** 0.00
coef_presence_of_pre_school_kid_and_eating_out_tour-0.481 0.108-4.44*** 0.00
coef_presence_of_pre_school_kid_and_escorting_tour 0.654 0.0634 10.32*** 0.00
coef_presence_of_pre_school_kid_and_shopping_tour-0.0802 0.0795-1.01 0.00
coef_presence_of_retiree_and_discretionary_tour-1.05 0.154-6.82*** 0.00
coef_presence_of_retiree_and_eating_out_tour-0.430 0.147-2.92** 0.00
coef_presence_of_retiree_and_escorting_tour-0.694 0.143-4.86*** 0.00
coef_presence_of_university_student_and_discretionary_tour-0.532 0.114-4.67*** 0.00
coef_total_number_of_tours_is_1-7.26 49.6-0.15 0.00
coef_total_number_of_tours_is_2-10.7 99.2-0.11 0.00
coef_total_number_of_tours_is_3-13.4 149.-0.09 0.00
coef_total_number_of_tours_is_4-16.5 198.-0.08 0.00
coef_total_number_of_tours_is_5-19.7 248.-0.08 0.00
coef_total_number_of_tours_is_6_plus-999. 0.00 NA 0.00fixed value
coef_transit_access_to_retail_and_tour_frequency_is_5_plus 0.0132 0.0114 1.15 0.00
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_urban_and_escorting_tour-0.486 0.0782-6.21*** 0.00
coef_walk_access_to_retail_and_discretionary 0.0610 0.0251 2.42* 0.00
coef_walk_access_to_retail_and_eating_out 0.157 0.0243 6.47*** 0.00
coef_walk_access_to_retail_and_escorting 0.0660 0.0200 3.30*** 0.00
coef_walk_access_to_retail_and_shopping 0.0317 0.0241 1.31 0.00
coef_zero_car_ownership_and_tour_frequency_is_5_plus-0.240 0.109-2.19* 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_PART\n" + ] + }, + { + "data": { + "text/html": [ + "

Iteration 060 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1059,7 +3735,7 @@ { "data": { "text/html": [ - "

Best LL = -856.8595081667797

" + "

Best LL = -9327.08229602112

" ], "text/plain": [ "" @@ -1090,793 +3766,755 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", - " -2.0000\n", - " 0.0\n", + " -2.000000\n", + " -2.000000\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " 0.777927\n", - " 0.5272\n", + " 0.430423\n", + " 0.430423\n", + " 0.527200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.777927\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " 1.665075\n", - " 0.6914\n", + " 0.732307\n", + " 0.732307\n", + " 0.691400\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.665075\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " 1.214734\n", - " 0.5533\n", + " 0.480847\n", + " 0.480847\n", + " 0.553300\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.214734\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " 1.783871\n", - " 0.7989\n", + " 0.900550\n", + " 0.900550\n", + " 0.798900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.783871\n", " \n", " \n", " coef_1_plus_shopping_tours_constant\n", - " 1.521613\n", - " 0.7569\n", + " 0.731723\n", + " 0.731723\n", + " 0.756900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.521613\n", " \n", " \n", " coef_1_plus_visting_tours_constant\n", - " 1.045482\n", - " 0.1405\n", + " 0.250360\n", + " 0.250360\n", + " 0.140500\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.045482\n", " \n", " \n", " coef_2_plus_escort_tours_constant\n", - " 1.882661\n", - " 1.5987\n", + " 1.457716\n", + " 1.457716\n", + " 1.598700\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.882661\n", " \n", " \n", " coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus\n", - " 0.049232\n", - " -0.5498\n", + " -0.400969\n", + " -0.400969\n", + " -0.549800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.049232\n", " \n", " \n", " coef_female_and_discretionary_tour\n", - " 0.439252\n", - " 0.3072\n", + " 0.316191\n", + " 0.316191\n", + " 0.307200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.439252\n", " \n", " \n", " coef_female_and_shopping_tour\n", - " 0.753133\n", - " 0.4524\n", + " 0.352178\n", + " 0.352178\n", + " 0.452400\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.753133\n", " \n", " \n", " coef_high_income_group_and_discretionary_tour\n", - " 0.236506\n", - " 0.2960\n", + " 0.245706\n", + " 0.245706\n", + " 0.296000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.236506\n", " \n", " \n", " coef_high_income_group_and_maintenance_tour\n", - " 1.385100\n", - " 0.6763\n", + " 0.828693\n", + " 0.828693\n", + " 0.676300\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.385100\n", " \n", " \n", " coef_high_income_group_and_shopping_tour\n", - " 0.819417\n", - " 0.7066\n", + " 0.846024\n", + " 0.846024\n", + " 0.706600\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.819417\n", " \n", " \n", " coef_high_income_group_and_tour_frequency_is_1\n", - " 1.145715\n", - " 0.8682\n", + " 0.809721\n", + " 0.809721\n", + " 0.868200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.145715\n", " \n", " \n", " coef_high_income_group_and_tour_frequency_is_2\n", - " 1.347519\n", - " 1.5362\n", + " 1.223360\n", + " 1.223360\n", + " 1.536200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.347519\n", " \n", " \n", " coef_high_income_group_and_tour_frequency_is_5_plus\n", - " 1.498903\n", - " 1.9331\n", + " 1.571734\n", + " 1.571734\n", + " 1.933100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.498903\n", " \n", " \n", " coef_high_income_group_and_visiting_tour\n", - " -0.517316\n", - " -0.6868\n", + " -0.714757\n", + " -0.714757\n", + " -0.686800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.517316\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_1\n", - " 0.768519\n", - " 1.5748\n", + " 1.659306\n", + " 1.659306\n", + " 1.574800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.768519\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_5_plus\n", - " 1.243995\n", - " 2.0026\n", + " 1.957087\n", + " 1.957087\n", + " 2.002600\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.243995\n", " \n", " \n", " coef_mediumhigh_income_group_and_shopping_tour\n", - " 0.605047\n", - " 0.4421\n", + " 0.573217\n", + " 0.573217\n", + " 0.442100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.605047\n", " \n", " \n", " coef_mediumlow_income_group_and_tour_frequency_is_1\n", - " 0.784377\n", - " 0.5981\n", + " 0.685180\n", + " 0.685180\n", + " 0.598100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.784377\n", " \n", " \n", " coef_mediumlow_income_group_and_tour_frequency_is_2\n", - " 0.776466\n", - " 0.9178\n", + " 0.592898\n", + " 0.592898\n", + " 0.917800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.776466\n", " \n", " \n", " coef_mediumlow_income_group_and_tour_frequency_is_5_plus\n", - " 0.850898\n", - " 1.7539\n", + " 1.597675\n", + " 1.597675\n", + " 1.753900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.850898\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_4\n", - " -1.347657\n", - " -1.1986\n", + " -0.760824\n", + " -0.760824\n", + " -1.198600\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.347657\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_5_plus\n", " -999.000000\n", - " -999.0000\n", - " 0.0\n", + " -999.000000\n", + " -999.000000\n", " -999.0\n", " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_1\n", - " -0.989069\n", - " -0.2390\n", + " -0.358322\n", + " -0.358322\n", + " -0.239000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.989069\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_2\n", - " -2.829794\n", - " -1.8208\n", + " -1.622848\n", + " -1.622848\n", + " -1.820800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.829794\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus\n", - " -2.785677\n", - " -2.5923\n", + " -2.631492\n", + " -2.631492\n", + " -2.592300\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.785677\n", " \n", " \n", " coef_presence_of_driving_school_kid_and_escorting_tour\n", - " 1.029447\n", - " 0.4164\n", + " 0.367517\n", + " 0.367517\n", + " 0.416400\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.029447\n", " \n", " \n", " coef_presence_of_full_time_worker_and_maintenance_tour\n", - " -0.484999\n", - " -0.3131\n", + " -0.254950\n", + " -0.254950\n", + " -0.313100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.484999\n", " \n", " \n", " coef_presence_of_non_worker_and_discretionary_tour\n", - " -0.556803\n", - " -1.0371\n", + " -0.828046\n", + " -0.828046\n", + " -1.037100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.556803\n", " \n", " \n", " coef_presence_of_non_worker_and_eating_out_tour\n", - " -0.231608\n", - " -0.6545\n", + " -0.660344\n", + " -0.660344\n", + " -0.654500\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.231608\n", " \n", " \n", " coef_presence_of_non_worker_and_escorting_tour\n", - " -0.617113\n", - " -0.5263\n", + " -0.530905\n", + " -0.530905\n", + " -0.526300\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.617113\n", " \n", " \n", " coef_presence_of_part_time_worker_and_maintenance_tour\n", - " -1.034909\n", - " -0.5621\n", + " -0.576071\n", + " -0.576071\n", + " -0.562100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.034909\n", " \n", " \n", " coef_presence_of_pre_driving_school_kid_and_escorting_tour\n", - " 1.808890\n", - " 1.5795\n", + " 1.756066\n", + " 1.756066\n", + " 1.579500\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.808890\n", " \n", " \n", " coef_presence_of_pre_school_kid_and_escorting_tour\n", - " 0.291702\n", - " 0.5414\n", + " 0.549515\n", + " 0.549515\n", + " 0.541400\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.291702\n", " \n", " \n", " coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1\n", - " 0.308611\n", - " -0.1559\n", + " -0.340060\n", + " -0.340060\n", + " -0.155900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.308611\n", " \n", " \n", " coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5\n", - " -0.530685\n", - " -0.5681\n", + " -0.650421\n", + " -0.650421\n", + " -0.568100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.530685\n", " \n", " \n", " coef_presence_of_retiree_and_eating_out_tour\n", - " 0.109209\n", - " -1.3890\n", + " -1.202708\n", + " -1.202708\n", + " -1.389000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.109209\n", " \n", " \n", " coef_presence_of_retiree_and_escorting_tour\n", - " -0.461150\n", - " -0.7516\n", + " -0.801304\n", + " -0.801304\n", + " -0.751600\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.461150\n", " \n", " \n", " coef_presence_of_university_student_and_eating_out_tour\n", - " -1.759323\n", - " -1.4318\n", + " -1.695822\n", + " -1.695822\n", + " -1.431800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.759323\n", " \n", " \n", " coef_total_number_of_tours_is_1\n", - " -6.812615\n", - " -7.6391\n", + " -7.835780\n", + " -7.835780\n", + " -7.639100\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -6.812615\n", " \n", " \n", " coef_total_number_of_tours_is_2\n", - " -9.848060\n", - " -10.4557\n", + " -10.277923\n", + " -10.277923\n", + " -10.455700\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -9.848060\n", " \n", " \n", " coef_total_number_of_tours_is_3\n", - " -12.828277\n", - " -14.0176\n", + " -14.048815\n", + " -14.048815\n", + " -14.017600\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -12.828277\n", " \n", " \n", " coef_total_number_of_tours_is_4\n", - " -17.097027\n", - " -16.9717\n", + " -17.043997\n", + " -17.043997\n", + " -16.971701\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -17.097027\n", " \n", " \n", " coef_urban_and_discretionary_tour\n", " 0.000000\n", - " 0.0000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_urban_and_escorting_tour\n", - " 0.425750\n", - " -0.3929\n", + " -0.503217\n", + " -0.503217\n", + " -0.392900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.425750\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_1\n", - " 0.080140\n", - " 0.0899\n", + " 0.108136\n", + " 0.108136\n", + " 0.089900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.080140\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_2\n", - " 0.103820\n", - " 0.1447\n", + " 0.128901\n", + " 0.128901\n", + " 0.144700\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.103820\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_5_plus\n", - " 0.050631\n", - " 0.3479\n", + " 0.385133\n", + " 0.385133\n", + " 0.347900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.050631\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant 0.777927 0.5272 \n", - "coef_1_plus_eating_out_tours_constant 1.665075 0.6914 \n", - "coef_1_plus_maintenance_tours_constant 1.214734 0.5533 \n", - "coef_1_plus_other_discretionary_tours_constant 1.783871 0.7989 \n", - "coef_1_plus_shopping_tours_constant 1.521613 0.7569 \n", - "coef_1_plus_visting_tours_constant 1.045482 0.1405 \n", - "coef_2_plus_escort_tours_constant 1.882661 1.5987 \n", - "coef_car_shortage_vs_workers_and_tour_frequency... 0.049232 -0.5498 \n", - "coef_female_and_discretionary_tour 0.439252 0.3072 \n", - "coef_female_and_shopping_tour 0.753133 0.4524 \n", - "coef_high_income_group_and_discretionary_tour 0.236506 0.2960 \n", - "coef_high_income_group_and_maintenance_tour 1.385100 0.6763 \n", - "coef_high_income_group_and_shopping_tour 0.819417 0.7066 \n", - "coef_high_income_group_and_tour_frequency_is_1 1.145715 0.8682 \n", - "coef_high_income_group_and_tour_frequency_is_2 1.347519 1.5362 \n", - "coef_high_income_group_and_tour_frequency_is_5_... 1.498903 1.9331 \n", - "coef_high_income_group_and_visiting_tour -0.517316 -0.6868 \n", - "coef_logged_maximum_residual_window_tour_freque... 0.768519 1.5748 \n", - "coef_logged_maximum_residual_window_tour_freque... 1.243995 2.0026 \n", - "coef_mediumhigh_income_group_and_shopping_tour 0.605047 0.4421 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.784377 0.5981 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.776466 0.9178 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.850898 1.7539 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_4 -1.347657 -1.1986 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.0000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -0.989069 -0.2390 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -2.829794 -1.8208 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -2.785677 -2.5923 \n", - "coef_presence_of_driving_school_kid_and_escorti... 1.029447 0.4164 \n", - "coef_presence_of_full_time_worker_and_maintenan... -0.484999 -0.3131 \n", - "coef_presence_of_non_worker_and_discretionary_tour -0.556803 -1.0371 \n", - "coef_presence_of_non_worker_and_eating_out_tour -0.231608 -0.6545 \n", - "coef_presence_of_non_worker_and_escorting_tour -0.617113 -0.5263 \n", - "coef_presence_of_part_time_worker_and_maintenan... -1.034909 -0.5621 \n", - "coef_presence_of_pre_driving_school_kid_and_esc... 1.808890 1.5795 \n", - "coef_presence_of_pre_school_kid_and_escorting_tour 0.291702 0.5414 \n", - "coef_presence_of_preschool_kid_in_household_and... 0.308611 -0.1559 \n", - "coef_presence_of_preschool_kid_in_household_and... -0.530685 -0.5681 \n", - "coef_presence_of_retiree_and_eating_out_tour 0.109209 -1.3890 \n", - "coef_presence_of_retiree_and_escorting_tour -0.461150 -0.7516 \n", - "coef_presence_of_university_student_and_eating_... -1.759323 -1.4318 \n", - "coef_total_number_of_tours_is_1 -6.812615 -7.6391 \n", - "coef_total_number_of_tours_is_2 -9.848060 -10.4557 \n", - "coef_total_number_of_tours_is_3 -12.828277 -14.0176 \n", - "coef_total_number_of_tours_is_4 -17.097027 -16.9717 \n", - "coef_urban_and_discretionary_tour 0.000000 0.0000 \n", - "coef_urban_and_escorting_tour 0.425750 -0.3929 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 0.080140 0.0899 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 0.103820 0.1447 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.050631 0.3479 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 \n", + "coef_1_escort_tour_constant 0.430423 0.430423 \n", + "coef_1_plus_eating_out_tours_constant 0.732307 0.732307 \n", + "coef_1_plus_maintenance_tours_constant 0.480847 0.480847 \n", + "coef_1_plus_other_discretionary_tours_constant 0.900550 0.900550 \n", + "coef_1_plus_shopping_tours_constant 0.731723 0.731723 \n", + "coef_1_plus_visting_tours_constant 0.250360 0.250360 \n", + "coef_2_plus_escort_tours_constant 1.457716 1.457716 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... -0.400969 -0.400969 \n", + "coef_female_and_discretionary_tour 0.316191 0.316191 \n", + "coef_female_and_shopping_tour 0.352178 0.352178 \n", + "coef_high_income_group_and_discretionary_tour 0.245706 0.245706 \n", + "coef_high_income_group_and_maintenance_tour 0.828693 0.828693 \n", + "coef_high_income_group_and_shopping_tour 0.846024 0.846024 \n", + "coef_high_income_group_and_tour_frequency_is_1 0.809721 0.809721 \n", + "coef_high_income_group_and_tour_frequency_is_2 1.223360 1.223360 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 1.571734 1.571734 \n", + "coef_high_income_group_and_visiting_tour -0.714757 -0.714757 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.659306 1.659306 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.957087 1.957087 \n", + "coef_mediumhigh_income_group_and_shopping_tour 0.573217 0.573217 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0.685180 0.685180 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0.592898 0.592898 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 1.597675 1.597675 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_4 -0.760824 -0.760824 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.000000 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -0.358322 -0.358322 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -1.622848 -1.622848 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -2.631492 -2.631492 \n", + "coef_presence_of_driving_school_kid_and_escorti... 0.367517 0.367517 \n", + "coef_presence_of_full_time_worker_and_maintenan... -0.254950 -0.254950 \n", + "coef_presence_of_non_worker_and_discretionary_tour -0.828046 -0.828046 \n", + "coef_presence_of_non_worker_and_eating_out_tour -0.660344 -0.660344 \n", + "coef_presence_of_non_worker_and_escorting_tour -0.530905 -0.530905 \n", + "coef_presence_of_part_time_worker_and_maintenan... -0.576071 -0.576071 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 1.756066 1.756066 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 0.549515 0.549515 \n", + "coef_presence_of_preschool_kid_in_household_and... -0.340060 -0.340060 \n", + "coef_presence_of_preschool_kid_in_household_and... -0.650421 -0.650421 \n", + "coef_presence_of_retiree_and_eating_out_tour -1.202708 -1.202708 \n", + "coef_presence_of_retiree_and_escorting_tour -0.801304 -0.801304 \n", + "coef_presence_of_university_student_and_eating_... -1.695822 -1.695822 \n", + "coef_total_number_of_tours_is_1 -7.835780 -7.835780 \n", + "coef_total_number_of_tours_is_2 -10.277923 -10.277923 \n", + "coef_total_number_of_tours_is_3 -14.048815 -14.048815 \n", + "coef_total_number_of_tours_is_4 -17.043997 -17.043997 \n", + "coef_urban_and_discretionary_tour 0.000000 0.000000 \n", + "coef_urban_and_escorting_tour -0.503217 -0.503217 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 0.108136 0.108136 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 0.128901 0.128901 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0.385133 0.385133 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", - "coef_1_plus_shopping_tours_constant 0.0 NaN \n", - "coef_1_plus_visting_tours_constant 0.0 NaN \n", - "coef_2_plus_escort_tours_constant 0.0 NaN \n", - "coef_car_shortage_vs_workers_and_tour_frequency... 0.0 NaN \n", - "coef_female_and_discretionary_tour 0.0 NaN \n", - "coef_female_and_shopping_tour 0.0 NaN \n", - "coef_high_income_group_and_discretionary_tour 0.0 NaN \n", - "coef_high_income_group_and_maintenance_tour 0.0 NaN \n", - "coef_high_income_group_and_shopping_tour 0.0 NaN \n", - "coef_high_income_group_and_tour_frequency_is_1 0.0 NaN \n", - "coef_high_income_group_and_tour_frequency_is_2 0.0 NaN \n", - "coef_high_income_group_and_tour_frequency_is_5_... 0.0 NaN \n", - "coef_high_income_group_and_visiting_tour 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_mediumhigh_income_group_and_shopping_tour 0.0 NaN \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.0 NaN \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.0 NaN \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_4 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_i... 0.0 -999.0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_presence_of_driving_school_kid_and_escorti... 0.0 NaN \n", - "coef_presence_of_full_time_worker_and_maintenan... 0.0 NaN \n", - "coef_presence_of_non_worker_and_discretionary_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_eating_out_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_escorting_tour 0.0 NaN \n", - "coef_presence_of_part_time_worker_and_maintenan... 0.0 NaN \n", - "coef_presence_of_pre_driving_school_kid_and_esc... 0.0 NaN \n", - "coef_presence_of_pre_school_kid_and_escorting_tour 0.0 NaN \n", - "coef_presence_of_preschool_kid_in_household_and... 0.0 NaN \n", - "coef_presence_of_preschool_kid_in_household_and... 0.0 NaN \n", - "coef_presence_of_retiree_and_eating_out_tour 0.0 NaN \n", - "coef_presence_of_retiree_and_escorting_tour 0.0 NaN \n", - "coef_presence_of_university_student_and_eating_... 0.0 NaN \n", - "coef_total_number_of_tours_is_1 0.0 NaN \n", - "coef_total_number_of_tours_is_2 0.0 NaN \n", - "coef_total_number_of_tours_is_3 0.0 NaN \n", - "coef_total_number_of_tours_is_4 0.0 NaN \n", - "coef_urban_and_discretionary_tour 0.0 0.0 \n", - "coef_urban_and_escorting_tour 0.0 NaN \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 0.0 NaN \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 0.0 NaN \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.0 \n", + "coef_1_escort_tour_constant 0.527200 -20.0 \n", + "coef_1_plus_eating_out_tours_constant 0.691400 -20.0 \n", + "coef_1_plus_maintenance_tours_constant 0.553300 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant 0.798900 -20.0 \n", + "coef_1_plus_shopping_tours_constant 0.756900 -20.0 \n", + "coef_1_plus_visting_tours_constant 0.140500 -20.0 \n", + "coef_2_plus_escort_tours_constant 1.598700 -20.0 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... -0.549800 -20.0 \n", + "coef_female_and_discretionary_tour 0.307200 -20.0 \n", + "coef_female_and_shopping_tour 0.452400 -20.0 \n", + "coef_high_income_group_and_discretionary_tour 0.296000 -20.0 \n", + "coef_high_income_group_and_maintenance_tour 0.676300 -20.0 \n", + "coef_high_income_group_and_shopping_tour 0.706600 -20.0 \n", + "coef_high_income_group_and_tour_frequency_is_1 0.868200 -20.0 \n", + "coef_high_income_group_and_tour_frequency_is_2 1.536200 -20.0 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 1.933100 -20.0 \n", + "coef_high_income_group_and_visiting_tour -0.686800 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.574800 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 2.002600 -20.0 \n", + "coef_mediumhigh_income_group_and_shopping_tour 0.442100 -20.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0.598100 -20.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0.917800 -20.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 1.753900 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_4 -1.198600 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -0.239000 -20.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -1.820800 -20.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -2.592300 -20.0 \n", + "coef_presence_of_driving_school_kid_and_escorti... 0.416400 -20.0 \n", + "coef_presence_of_full_time_worker_and_maintenan... -0.313100 -20.0 \n", + "coef_presence_of_non_worker_and_discretionary_tour -1.037100 -20.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour -0.654500 -20.0 \n", + "coef_presence_of_non_worker_and_escorting_tour -0.526300 -20.0 \n", + "coef_presence_of_part_time_worker_and_maintenan... -0.562100 -20.0 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 1.579500 -20.0 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 0.541400 -20.0 \n", + "coef_presence_of_preschool_kid_in_household_and... -0.155900 -20.0 \n", + "coef_presence_of_preschool_kid_in_household_and... -0.568100 -20.0 \n", + "coef_presence_of_retiree_and_eating_out_tour -1.389000 -20.0 \n", + "coef_presence_of_retiree_and_escorting_tour -0.751600 -20.0 \n", + "coef_presence_of_university_student_and_eating_... -1.431800 -20.0 \n", + "coef_total_number_of_tours_is_1 -7.639100 -20.0 \n", + "coef_total_number_of_tours_is_2 -10.455700 -20.0 \n", + "coef_total_number_of_tours_is_3 -14.017600 -20.0 \n", + "coef_total_number_of_tours_is_4 -16.971701 -20.0 \n", + "coef_urban_and_discretionary_tour 0.000000 0.0 \n", + "coef_urban_and_escorting_tour -0.392900 -20.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 0.089900 -20.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 0.144700 -20.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0.347900 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour -2.0 1 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "coef_1_plus_shopping_tours_constant NaN 0 \n", - "coef_1_plus_visting_tours_constant NaN 0 \n", - "coef_2_plus_escort_tours_constant NaN 0 \n", - "coef_car_shortage_vs_workers_and_tour_frequency... NaN 0 \n", - "coef_female_and_discretionary_tour NaN 0 \n", - "coef_female_and_shopping_tour NaN 0 \n", - "coef_high_income_group_and_discretionary_tour NaN 0 \n", - "coef_high_income_group_and_maintenance_tour NaN 0 \n", - "coef_high_income_group_and_shopping_tour NaN 0 \n", - "coef_high_income_group_and_tour_frequency_is_1 NaN 0 \n", - "coef_high_income_group_and_tour_frequency_is_2 NaN 0 \n", - "coef_high_income_group_and_tour_frequency_is_5_... NaN 0 \n", - "coef_high_income_group_and_visiting_tour NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_mediumhigh_income_group_and_shopping_tour NaN 0 \n", - "coef_mediumlow_income_group_and_tour_frequency_... NaN 0 \n", - "coef_mediumlow_income_group_and_tour_frequency_... NaN 0 \n", - "coef_mediumlow_income_group_and_tour_frequency_... NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_4 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 1 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_presence_of_driving_school_kid_and_escorti... NaN 0 \n", - "coef_presence_of_full_time_worker_and_maintenan... NaN 0 \n", - "coef_presence_of_non_worker_and_discretionary_tour NaN 0 \n", - "coef_presence_of_non_worker_and_eating_out_tour NaN 0 \n", - "coef_presence_of_non_worker_and_escorting_tour NaN 0 \n", - "coef_presence_of_part_time_worker_and_maintenan... NaN 0 \n", - "coef_presence_of_pre_driving_school_kid_and_esc... NaN 0 \n", - "coef_presence_of_pre_school_kid_and_escorting_tour NaN 0 \n", - "coef_presence_of_preschool_kid_in_household_and... NaN 0 \n", - "coef_presence_of_preschool_kid_in_household_and... NaN 0 \n", - "coef_presence_of_retiree_and_eating_out_tour NaN 0 \n", - "coef_presence_of_retiree_and_escorting_tour NaN 0 \n", - "coef_presence_of_university_student_and_eating_... NaN 0 \n", - "coef_total_number_of_tours_is_1 NaN 0 \n", - "coef_total_number_of_tours_is_2 NaN 0 \n", - "coef_total_number_of_tours_is_3 NaN 0 \n", - "coef_total_number_of_tours_is_4 NaN 0 \n", - "coef_urban_and_discretionary_tour 0.0 1 \n", - "coef_urban_and_escorting_tour NaN 0 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 NaN 0 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 NaN 0 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "coef_1_plus_shopping_tours_constant 20.0 0.0 \n", + "coef_1_plus_visting_tours_constant 20.0 0.0 \n", + "coef_2_plus_escort_tours_constant 20.0 0.0 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... 20.0 0.0 \n", + "coef_female_and_discretionary_tour 20.0 0.0 \n", + "coef_female_and_shopping_tour 20.0 0.0 \n", + "coef_high_income_group_and_discretionary_tour 20.0 0.0 \n", + "coef_high_income_group_and_maintenance_tour 20.0 0.0 \n", + "coef_high_income_group_and_shopping_tour 20.0 0.0 \n", + "coef_high_income_group_and_tour_frequency_is_1 20.0 0.0 \n", + "coef_high_income_group_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 20.0 0.0 \n", + "coef_high_income_group_and_visiting_tour 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_mediumhigh_income_group_and_shopping_tour 20.0 0.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 20.0 0.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 20.0 0.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_4 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_presence_of_driving_school_kid_and_escorti... 20.0 0.0 \n", + "coef_presence_of_full_time_worker_and_maintenan... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_escorting_tour 20.0 0.0 \n", + "coef_presence_of_part_time_worker_and_maintenan... 20.0 0.0 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 20.0 0.0 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 20.0 0.0 \n", + "coef_presence_of_preschool_kid_in_household_and... 20.0 0.0 \n", + "coef_presence_of_preschool_kid_in_household_and... 20.0 0.0 \n", + "coef_presence_of_retiree_and_eating_out_tour 20.0 0.0 \n", + "coef_presence_of_retiree_and_escorting_tour 20.0 0.0 \n", + "coef_presence_of_university_student_and_eating_... 20.0 0.0 \n", + "coef_total_number_of_tours_is_1 20.0 0.0 \n", + "coef_total_number_of_tours_is_2 20.0 0.0 \n", + "coef_total_number_of_tours_is_3 20.0 0.0 \n", + "coef_total_number_of_tours_is_4 20.0 0.0 \n", + "coef_urban_and_discretionary_tour 0.0 0.0 \n", + "coef_urban_and_escorting_tour 20.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 20.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -2.000000 \n", - "coef_1_escort_tour_constant 0.777927 \n", - "coef_1_plus_eating_out_tours_constant 1.665075 \n", - "coef_1_plus_maintenance_tours_constant 1.214734 \n", - "coef_1_plus_other_discretionary_tours_constant 1.783871 \n", - "coef_1_plus_shopping_tours_constant 1.521613 \n", - "coef_1_plus_visting_tours_constant 1.045482 \n", - "coef_2_plus_escort_tours_constant 1.882661 \n", - "coef_car_shortage_vs_workers_and_tour_frequency... 0.049232 \n", - "coef_female_and_discretionary_tour 0.439252 \n", - "coef_female_and_shopping_tour 0.753133 \n", - "coef_high_income_group_and_discretionary_tour 0.236506 \n", - "coef_high_income_group_and_maintenance_tour 1.385100 \n", - "coef_high_income_group_and_shopping_tour 0.819417 \n", - "coef_high_income_group_and_tour_frequency_is_1 1.145715 \n", - "coef_high_income_group_and_tour_frequency_is_2 1.347519 \n", - "coef_high_income_group_and_tour_frequency_is_5_... 1.498903 \n", - "coef_high_income_group_and_visiting_tour -0.517316 \n", - "coef_logged_maximum_residual_window_tour_freque... 0.768519 \n", - "coef_logged_maximum_residual_window_tour_freque... 1.243995 \n", - "coef_mediumhigh_income_group_and_shopping_tour 0.605047 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.784377 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.776466 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.850898 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_4 -1.347657 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -0.989069 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -2.829794 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -2.785677 \n", - "coef_presence_of_driving_school_kid_and_escorti... 1.029447 \n", - "coef_presence_of_full_time_worker_and_maintenan... -0.484999 \n", - "coef_presence_of_non_worker_and_discretionary_tour -0.556803 \n", - "coef_presence_of_non_worker_and_eating_out_tour -0.231608 \n", - "coef_presence_of_non_worker_and_escorting_tour -0.617113 \n", - "coef_presence_of_part_time_worker_and_maintenan... -1.034909 \n", - "coef_presence_of_pre_driving_school_kid_and_esc... 1.808890 \n", - "coef_presence_of_pre_school_kid_and_escorting_tour 0.291702 \n", - "coef_presence_of_preschool_kid_in_household_and... 0.308611 \n", - "coef_presence_of_preschool_kid_in_household_and... -0.530685 \n", - "coef_presence_of_retiree_and_eating_out_tour 0.109209 \n", - "coef_presence_of_retiree_and_escorting_tour -0.461150 \n", - "coef_presence_of_university_student_and_eating_... -1.759323 \n", - "coef_total_number_of_tours_is_1 -6.812615 \n", - "coef_total_number_of_tours_is_2 -9.848060 \n", - "coef_total_number_of_tours_is_3 -12.828277 \n", - "coef_total_number_of_tours_is_4 -17.097027 \n", - "coef_urban_and_discretionary_tour 0.000000 \n", - "coef_urban_and_escorting_tour 0.425750 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 0.080140 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 0.103820 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.050631 " + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "coef_1_plus_shopping_tours_constant 0 \n", + "coef_1_plus_visting_tours_constant 0 \n", + "coef_2_plus_escort_tours_constant 0 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... 0 \n", + "coef_female_and_discretionary_tour 0 \n", + "coef_female_and_shopping_tour 0 \n", + "coef_high_income_group_and_discretionary_tour 0 \n", + "coef_high_income_group_and_maintenance_tour 0 \n", + "coef_high_income_group_and_shopping_tour 0 \n", + "coef_high_income_group_and_tour_frequency_is_1 0 \n", + "coef_high_income_group_and_tour_frequency_is_2 0 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 0 \n", + "coef_high_income_group_and_visiting_tour 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_mediumhigh_income_group_and_shopping_tour 0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_4 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... 1 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_presence_of_driving_school_kid_and_escorti... 0 \n", + "coef_presence_of_full_time_worker_and_maintenan... 0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 0 \n", + "coef_presence_of_non_worker_and_escorting_tour 0 \n", + "coef_presence_of_part_time_worker_and_maintenan... 0 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 0 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 0 \n", + "coef_presence_of_preschool_kid_in_household_and... 0 \n", + "coef_presence_of_preschool_kid_in_household_and... 0 \n", + "coef_presence_of_retiree_and_eating_out_tour 0 \n", + "coef_presence_of_retiree_and_escorting_tour 0 \n", + "coef_presence_of_university_student_and_eating_... 0 \n", + "coef_total_number_of_tours_is_1 0 \n", + "coef_total_number_of_tours_is_2 0 \n", + "coef_total_number_of_tours_is_3 0 \n", + "coef_total_number_of_tours_is_4 0 \n", + "coef_urban_and_discretionary_tour 1 \n", + "coef_urban_and_escorting_tour 0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0 " ] }, "metadata": {}, @@ -1886,23 +4524,528 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.818666298527715e-07 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 2 parameter estimators with negative variance\n", - "- coef_1_escort_tour_constant\n", - "- coef_2_plus_escort_tours_constant\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { "data": { "text/html": [ - "

Iteration 076 [Optimization terminated successfully]

" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant 0.430 NA NA 0.00
coef_1_plus_eating_out_tours_constant 0.732 NA NA 0.00
coef_1_plus_maintenance_tours_constant 0.481 NA NA 0.00
coef_1_plus_other_discretionary_tours_constant 0.901 NA NA 0.00
coef_1_plus_shopping_tours_constant 0.732 NA NA 0.00
coef_1_plus_visting_tours_constant 0.250 NA NA 0.00
coef_2_plus_escort_tours_constant 1.46 NA NA 0.00
coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus-0.401 0.0883-4.54*** 0.00
coef_female_and_discretionary_tour 0.316 0.0881 3.59*** 0.00
coef_female_and_shopping_tour 0.352 0.0792 4.45*** 0.00
coef_high_income_group_and_discretionary_tour 0.246 0.163 1.50 0.00
coef_high_income_group_and_maintenance_tour 0.829 0.195 4.25*** 0.00
coef_high_income_group_and_shopping_tour 0.846 0.170 4.98*** 0.00
coef_high_income_group_and_tour_frequency_is_1 0.810 0.162 5.00*** 0.00
coef_high_income_group_and_tour_frequency_is_2 1.22 0.228 5.37*** 0.00
coef_high_income_group_and_tour_frequency_is_5_plus 1.57 0.350 4.49*** 0.00
coef_high_income_group_and_visiting_tour-0.715 0.204-3.50*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_1 1.66 0.131 12.64*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 1.96 0.141 13.90*** 0.00
coef_mediumhigh_income_group_and_shopping_tour 0.573 0.164 3.49*** 0.00
coef_mediumlow_income_group_and_tour_frequency_is_1 0.685 0.171 4.01*** 0.00
coef_mediumlow_income_group_and_tour_frequency_is_2 0.593 0.242 2.45* 0.00
coef_mediumlow_income_group_and_tour_frequency_is_5_plus 1.60 0.362 4.41*** 0.00
coef_number_of_joint_tours_and_tour_frequency_is_4-0.761 0.227-3.36*** 0.00
coef_number_of_joint_tours_and_tour_frequency_is_5_plus-999. 0.00 NA 0.00fixed value
coef_number_of_mandatory_tours_and_tour_frequency_is_1-0.358 0.150-2.39* 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_2-1.62 0.237-6.86*** 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus-2.63 0.260-10.11*** 0.00
coef_presence_of_driving_school_kid_and_escorting_tour 0.368 0.0942 3.90*** 0.00
coef_presence_of_full_time_worker_and_maintenance_tour-0.255 0.0976-2.61** 0.00
coef_presence_of_non_worker_and_discretionary_tour-0.828 0.122-6.79*** 0.00
coef_presence_of_non_worker_and_eating_out_tour-0.660 0.155-4.26*** 0.00
coef_presence_of_non_worker_and_escorting_tour-0.531 0.0850-6.24*** 0.00
coef_presence_of_part_time_worker_and_maintenance_tour-0.576 0.109-5.30*** 0.00
coef_presence_of_pre_driving_school_kid_and_escorting_tour 1.76 0.0737 23.84*** 0.00
coef_presence_of_pre_school_kid_and_escorting_tour 0.550 0.0912 6.02*** 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1-0.340 0.112-3.02** 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5-0.650 0.151-4.31*** 0.00
coef_presence_of_retiree_and_eating_out_tour-1.20 0.245-4.90*** 0.00
coef_presence_of_retiree_and_escorting_tour-0.801 0.136-5.90*** 0.00
coef_presence_of_university_student_and_eating_out_tour-1.70 0.334-5.08*** 0.00
coef_total_number_of_tours_is_1-7.84 NA NA 0.00
coef_total_number_of_tours_is_2-10.3 NA NA 0.00
coef_total_number_of_tours_is_3-14.0 NA NA 0.00
coef_total_number_of_tours_is_4-17.0 NA NA 0.00
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_urban_and_escorting_tour-0.503 0.0816-6.17*** 0.00
coef_walk_access_to_retail_and_tour_frequency_is_1 0.108 0.0253 4.28*** 0.00
coef_walk_access_to_retail_and_tour_frequency_is_2 0.129 0.0303 4.25*** 0.00
coef_walk_access_to_retail_and_tour_frequency_is_5_plus 0.385 0.0468 8.23*** 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_UNIVERSITY\n" + ] + }, + { + "data": { + "text/html": [ + "

Iteration 074 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1914,7 +5057,7 @@ { "data": { "text/html": [ - "

Best LL = -324.8584172756779

" + "

Best LL = -3512.6973954855457

" ], "text/plain": [ "" @@ -1945,70 +5088,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", + " -2.000000\n", " -2.0000\n", - " 0.0\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " 1.851506\n", + " 1.761998\n", + " 1.761998\n", " 1.7028\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.851506\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " -13.970901\n", + " 2.214614\n", + " 2.214614\n", " 2.0723\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -13.970901\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " -0.338031\n", + " 0.085206\n", + " 0.085206\n", " 0.3348\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.338031\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " -1.473992\n", + " 1.308003\n", + " 1.308003\n", " 1.3389\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.473992\n", " \n", " \n", " ...\n", @@ -2019,109 +5166,106 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_urban_and_shopping_tour\n", - " 0.711573\n", + " 0.637185\n", + " 0.637185\n", " 0.5330\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.711573\n", " \n", " \n", " coef_urban_and_tour_frequency_is_1\n", - " -3.537340\n", + " -0.924987\n", + " -0.924987\n", " -1.1648\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3.537340\n", " \n", " \n", " coef_urban_and_tour_frequency_is_2\n", - " -4.729195\n", + " -2.118276\n", + " -2.118276\n", " -2.3177\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.729195\n", " \n", " \n", " coef_urban_and_tour_frequency_is_5_plus\n", - " -6.020888\n", + " -2.502952\n", + " -2.502952\n", " -2.5027\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -6.020888\n", " \n", " \n", " coef_walk_access_to_retail_and_shopping\n", - " 0.102379\n", + " 0.072376\n", + " 0.072376\n", " 0.0972\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.102379\n", " \n", " \n", "\n", - "

70 rows × 8 columns

\n", + "

70 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant 1.851506 1.7028 \n", - "coef_1_plus_eating_out_tours_constant -13.970901 2.0723 \n", - "coef_1_plus_maintenance_tours_constant -0.338031 0.3348 \n", - "coef_1_plus_other_discretionary_tours_constant -1.473992 1.3389 \n", - "... ... ... \n", - "coef_urban_and_shopping_tour 0.711573 0.5330 \n", - "coef_urban_and_tour_frequency_is_1 -3.537340 -1.1648 \n", - "coef_urban_and_tour_frequency_is_2 -4.729195 -2.3177 \n", - "coef_urban_and_tour_frequency_is_5_plus -6.020888 -2.5027 \n", - "coef_walk_access_to_retail_and_shopping 0.102379 0.0972 \n", + " value best initvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 -2.0000 \n", + "coef_1_escort_tour_constant 1.761998 1.761998 1.7028 \n", + "coef_1_plus_eating_out_tours_constant 2.214614 2.214614 2.0723 \n", + "coef_1_plus_maintenance_tours_constant 0.085206 0.085206 0.3348 \n", + "coef_1_plus_other_discretionary_tours_constant 1.308003 1.308003 1.3389 \n", + "... ... ... ... \n", + "coef_urban_and_shopping_tour 0.637185 0.637185 0.5330 \n", + "coef_urban_and_tour_frequency_is_1 -0.924987 -0.924987 -1.1648 \n", + "coef_urban_and_tour_frequency_is_2 -2.118276 -2.118276 -2.3177 \n", + "coef_urban_and_tour_frequency_is_5_plus -2.502952 -2.502952 -2.5027 \n", + "coef_walk_access_to_retail_and_shopping 0.072376 0.072376 0.0972 \n", "\n", - " nullvalue minimum maximum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN NaN \n", - "... ... ... ... \n", - "coef_urban_and_shopping_tour 0.0 NaN NaN \n", - "coef_urban_and_tour_frequency_is_1 0.0 NaN NaN \n", - "coef_urban_and_tour_frequency_is_2 0.0 NaN NaN \n", - "coef_urban_and_tour_frequency_is_5_plus 0.0 NaN NaN \n", - "coef_walk_access_to_retail_and_shopping 0.0 NaN NaN \n", + " minimum maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 -2.0 0.0 \n", + "coef_1_escort_tour_constant -20.0 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant -20.0 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant -20.0 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant -20.0 20.0 0.0 \n", + "... ... ... ... \n", + "coef_urban_and_shopping_tour -20.0 20.0 0.0 \n", + "coef_urban_and_tour_frequency_is_1 -20.0 20.0 0.0 \n", + "coef_urban_and_tour_frequency_is_2 -20.0 20.0 0.0 \n", + "coef_urban_and_tour_frequency_is_5_plus -20.0 20.0 0.0 \n", + "coef_walk_access_to_retail_and_shopping -20.0 20.0 0.0 \n", "\n", - " holdfast note best \n", - "coef_0_auto_household_and_escorting_tour 1 -2.000000 \n", - "coef_1_escort_tour_constant 0 1.851506 \n", - "coef_1_plus_eating_out_tours_constant 0 -13.970901 \n", - "coef_1_plus_maintenance_tours_constant 0 -0.338031 \n", - "coef_1_plus_other_discretionary_tours_constant 0 -1.473992 \n", - "... ... ... ... \n", - "coef_urban_and_shopping_tour 0 0.711573 \n", - "coef_urban_and_tour_frequency_is_1 0 -3.537340 \n", - "coef_urban_and_tour_frequency_is_2 0 -4.729195 \n", - "coef_urban_and_tour_frequency_is_5_plus 0 -6.020888 \n", - "coef_walk_access_to_retail_and_shopping 0 0.102379 \n", + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "... ... \n", + "coef_urban_and_shopping_tour 0 \n", + "coef_urban_and_tour_frequency_is_1 0 \n", + "coef_urban_and_tour_frequency_is_2 0 \n", + "coef_urban_and_tour_frequency_is_5_plus 0 \n", + "coef_walk_access_to_retail_and_shopping 0 \n", "\n", - "[70 rows x 8 columns]" + "[70 rows x 7 columns]" ] }, "metadata": {}, @@ -2131,26 +5275,699 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.8717456834857003e-13 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 13 parameter estimators with negative variance\n", - "- coef_1_plus_eating_out_tours_constant\n", - "- coef_1_plus_shopping_tours_constant\n", - "- coef_1_plus_visting_tours_constant\n", - "- coef_logged_maximum_residual_window_tour_frequency_is_0\n", - "- and 9 more\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { "data": { "text/html": [ - "

Iteration 100 [Iteration limit reached]

" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant 1.76 185. 0.01 0.00
coef_1_plus_eating_out_tours_constant 2.21 185. 0.01 0.00
coef_1_plus_maintenance_tours_constant 0.0852 185. 0.00 0.00
coef_1_plus_other_discretionary_tours_constant 1.31 185. 0.01 0.00
coef_1_plus_shopping_tours_constant 1.84 185. 0.01 0.00
coef_1_plus_visting_tours_constant 1.17 185. 0.01 0.00
coef_2_plus_escort_tours_constant 3.01 371. 0.01 0.00
coef_auto_access_to_retail_and_discretionary 0.0900 0.138 0.65 0.00
coef_auto_access_to_retail_and_eating_out 0.0731 0.147 0.50 0.00
coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus-0.790 0.187-4.23*** 0.00
coef_female_and_discretionary_tour-0.393 0.156-2.52* 0.00
coef_female_and_eatingout_tour-0.727 0.176-4.14*** 0.00
coef_female_and_tour_frequency_is_1-0.0110 0.151-0.07 0.00
coef_female_and_tour_frequency_is_2 0.140 0.188 0.74 0.00
coef_female_and_tour_frequency_is_5 1.41 0.250 5.62*** 0.00
coef_high_income_group_and_eating_out_tour-0.130 0.215-0.60 0.00
coef_high_income_group_and_shopping_tour 0.648 0.180 3.60*** 0.00
coef_high_income_group_and_tour_frequency_is_1 0.192 0.180 1.07 0.00
coef_high_income_group_and_tour_frequency_is_2 0.658 0.215 3.07** 0.00
coef_high_income_group_and_tour_frequency_is_5_plus 0.540 0.282 1.92 0.00
coef_high_income_group_and_visiting_tour-0.536 0.215-2.50* 0.00
coef_logged_maximum_residual_window_tour_frequency_is_0 1.14 NA NA 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 1.53 NA NA 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_1-0.0200 0.180-0.11 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_2 0.0675 0.226 0.30 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_5_plus 0.530 0.268 1.98* 0.00
coef_number_of_joint_discretionary_tours 1.21 0.353 3.43*** 0.00
coef_number_of_joint_shopping_tours-0.600 0.791-0.76 0.00
coef_number_of_joint_tours_and_tour_frequency_is_2-0.543 0.347-1.57 0.00
coef_number_of_joint_tours_and_tour_frequency_is_3-0.800 0.423-1.89 0.00
coef_number_of_joint_tours_and_tour_frequency_is_5_plus-999. 0.00 NA 0.00fixed value
coef_number_of_mandatory_tours_and_tour_frequency_is_1-0.0978 0.170-0.58 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_2-0.496 0.194-2.55* 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_3-1.55 0.250-6.21*** 0.00
coef_presence_of_full_time_worker_and_discretionary_tour-0.576 0.145-3.98*** 0.00
coef_presence_of_full_time_worker_and_eating_out_tour-0.770 0.198-3.89*** 0.00
coef_presence_of_full_time_worker_and_shopping_tour-0.732 0.158-4.63*** 0.00
coef_presence_of_non_worker_and_discretionary_tour 1.12 0.179 6.23*** 0.00
coef_presence_of_non_worker_and_tour_frequency_is_1-0.653 0.180-3.64*** 0.00
coef_presence_of_non_worker_and_tour_frequency_is_5-1.46 0.214-6.82*** 0.00
coef_presence_of_part_time_worker_and_eating_out_tour-2.81 0.388-7.24*** 0.00
coef_presence_of_part_time_worker_and_escorting_tour-1.59 0.172-9.21*** 0.00
coef_presence_of_part_time_worker_and_shopping_tour-0.486 0.156-3.11** 0.00
coef_presence_of_pre_driving_school_kid_and_escorting_tour 0.992 0.114 8.69*** 0.00
coef_presence_of_pre_driving_school_kid_and_maintenance_tour 0.880 0.221 3.98*** 0.00
coef_presence_of_pre_school_kid_and_escorting_tour 1.88 0.216 8.71*** 0.00
coef_presence_of_pre_school_kid_and_maintenance_tour 0.753 0.317 2.38* 0.00
coef_presence_of_pre_school_kid_and_shopping_tour 1.06 0.245 4.32*** 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1-1.00 0.269-3.71*** 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2-1.76 0.389-4.53*** 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5-2.20 0.521-4.23*** 0.00
coef_presence_of_university_student_and_discretionary_tour-0.735 0.169-4.35*** 0.00
coef_presence_of_university_student_and_eating_out_tour-0.545 0.227-2.41* 0.00
coef_total_number_of_tours_is_1-6.46 185.-0.03 0.00
coef_total_number_of_tours_is_2-9.07 371.-0.02 0.00
coef_total_number_of_tours_is_3-12.0 556.-0.02 0.00
coef_total_number_of_tours_is_4-15.8 741.-0.02 0.00
coef_transit_access_to_retail_and_discretionary 0.00 0.00 NA 0.00fixed value
coef_transit_access_to_retail_and_maintenance 0.100 0.0621 1.61 0.00
coef_transit_access_to_retail_and_tour_frequency_is_5_plus 0.0272 0.0421 0.65 0.00
coef_urban_and_discretionary_tour 1.25 0.258 4.83*** 0.00
coef_urban_and_eatingout_tour 0.594 0.274 2.17* 0.00
coef_urban_and_escorting_tour 0.778 0.233 3.35*** 0.00
coef_urban_and_maintenance_tour 0.853 0.339 2.52* 0.00
coef_urban_and_shopping_tour 0.637 0.262 2.43* 0.00
coef_urban_and_tour_frequency_is_1-0.925 0.280-3.30*** 0.00
coef_urban_and_tour_frequency_is_2-2.12 0.455-4.66*** 0.00
coef_urban_and_tour_frequency_is_5_plus-2.50 0.659-3.80*** 0.00
coef_walk_access_to_retail_and_shopping 0.0724 0.0523 1.38 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_NONWORK\n" + ] + }, + { + "data": { + "text/html": [ + "

Iteration 152 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -2162,7 +5979,7 @@ { "data": { "text/html": [ - "

Best LL = -1038.9605658891858

" + "

Best LL = -15004.401530353549

" ], "text/plain": [ "" @@ -2193,70 +6010,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", + " -2.000000\n", " -2.0000\n", - " 0.0\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " -4.317862\n", + " -0.539501\n", + " -0.539501\n", " -0.0629\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.317862\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " -4.459267\n", + " -0.520038\n", + " -0.520038\n", " -0.1429\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.459267\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " -9.609591\n", + " -0.627098\n", + " -0.627098\n", " -0.0653\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -9.609591\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " -4.488178\n", + " -0.154697\n", + " -0.154697\n", " 0.3334\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.488178\n", " \n", " \n", " ...\n", @@ -2267,122 +6088,120 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_walk_access_to_retail_and_discretionary\n", - " 0.214072\n", + " 0.089664\n", + " 0.089664\n", " 0.0772\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.214072\n", " \n", " \n", " coef_walk_access_to_retail_and_shopping\n", - " 0.039849\n", + " 0.080837\n", + " 0.080837\n", " 0.0598\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.039849\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_1\n", - " -0.507092\n", + " 0.126334\n", + " 0.126334\n", " 0.0713\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.507092\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_2\n", - " -0.403984\n", + " 0.186292\n", + " 0.186292\n", " 0.1256\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.403984\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_5_plus\n", - " -0.260693\n", + " 0.163397\n", + " 0.163397\n", " 0.1508\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.260693\n", " \n", " \n", "\n", - "

77 rows × 8 columns

\n", + "

77 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant -4.317862 -0.0629 \n", - "coef_1_plus_eating_out_tours_constant -4.459267 -0.1429 \n", - "coef_1_plus_maintenance_tours_constant -9.609591 -0.0653 \n", - "coef_1_plus_other_discretionary_tours_constant -4.488178 0.3334 \n", - "... ... ... \n", - "coef_walk_access_to_retail_and_discretionary 0.214072 0.0772 \n", - "coef_walk_access_to_retail_and_shopping 0.039849 0.0598 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 -0.507092 0.0713 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 -0.403984 0.1256 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... -0.260693 0.1508 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 \n", + "coef_1_escort_tour_constant -0.539501 -0.539501 \n", + "coef_1_plus_eating_out_tours_constant -0.520038 -0.520038 \n", + "coef_1_plus_maintenance_tours_constant -0.627098 -0.627098 \n", + "coef_1_plus_other_discretionary_tours_constant -0.154697 -0.154697 \n", + "... ... ... \n", + "coef_walk_access_to_retail_and_discretionary 0.089664 0.089664 \n", + "coef_walk_access_to_retail_and_shopping 0.080837 0.080837 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 0.126334 0.126334 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 0.186292 0.186292 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0.163397 0.163397 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0000 -2.0 \n", + "coef_1_escort_tour_constant -0.0629 -20.0 \n", + "coef_1_plus_eating_out_tours_constant -0.1429 -20.0 \n", + "coef_1_plus_maintenance_tours_constant -0.0653 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant 0.3334 -20.0 \n", "... ... ... \n", - "coef_walk_access_to_retail_and_discretionary 0.0 NaN \n", - "coef_walk_access_to_retail_and_shopping 0.0 NaN \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 0.0 NaN \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 0.0 NaN \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.0 NaN \n", + "coef_walk_access_to_retail_and_discretionary 0.0772 -20.0 \n", + "coef_walk_access_to_retail_and_shopping 0.0598 -20.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 0.0713 -20.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 0.1256 -20.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0.1508 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour -2.0 1 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "... ... ... ... \n", - "coef_walk_access_to_retail_and_discretionary NaN 0 \n", - "coef_walk_access_to_retail_and_shopping NaN 0 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 NaN 0 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 NaN 0 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "... ... ... \n", + "coef_walk_access_to_retail_and_discretionary 20.0 0.0 \n", + "coef_walk_access_to_retail_and_shopping 20.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 20.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -2.000000 \n", - "coef_1_escort_tour_constant -4.317862 \n", - "coef_1_plus_eating_out_tours_constant -4.459267 \n", - "coef_1_plus_maintenance_tours_constant -9.609591 \n", - "coef_1_plus_other_discretionary_tours_constant -4.488178 \n", + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", "... ... \n", - "coef_walk_access_to_retail_and_discretionary 0.214072 \n", - "coef_walk_access_to_retail_and_shopping 0.039849 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_1 -0.507092 \n", - "coef_walk_access_to_retail_and_tour_frequency_is_2 -0.403984 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... -0.260693 \n", + "coef_walk_access_to_retail_and_discretionary 0 \n", + "coef_walk_access_to_retail_and_shopping 0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_1 0 \n", + "coef_walk_access_to_retail_and_tour_frequency_is_2 0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0 \n", "\n", - "[77 rows x 8 columns]" + "[77 rows x 7 columns]" ] }, "metadata": {}, @@ -2392,26 +6211,762 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.673077519570165e-16 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 21 parameter estimators with negative variance\n", - "- coef_1_escort_tour_constant\n", - "- coef_1_plus_eating_out_tours_constant\n", - "- coef_1_plus_maintenance_tours_constant\n", - "- coef_1_plus_other_discretionary_tours_constant\n", - "- and 17 more\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { "data": { "text/html": [ - "

Iteration 074 [Optimization terminated successfully]

" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant-0.540 102.-0.01 0.00
coef_1_plus_eating_out_tours_constant-0.520 102.-0.01 0.00
coef_1_plus_maintenance_tours_constant-0.627 102.-0.01 0.00
coef_1_plus_other_discretionary_tours_constant-0.155 102.-0.00 0.00
coef_1_plus_shopping_tours_constant-0.0544 102.-0.00 0.00
coef_1_plus_visting_tours_constant-0.452 102.-0.00 0.00
coef_2_plus_escort_tours_constant-0.0628 203.-0.00 0.00
coef_at_home_pre_driving_school_kid_and_escorting_tour-1.18 0.154-7.67*** 0.00
coef_at_home_pre_school_kid_and_eating_out_tour-0.368 0.216-1.70 0.00
coef_at_home_pre_school_kid_and_escorting_tour-0.332 0.105-3.18** 0.00
coef_auto_access_to_retail_and_maintenance 0.108 0.0554 1.94 0.00
coef_car_shortage_vs_workers_and_tour_frequency_is_1-0.160 0.414-0.39 0.00
coef_car_shortage_vs_workers_and_tour_frequency_is_2-1.15 0.428-2.70** 0.00
coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus-1.52 0.484-3.14** 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus 0.878 0.240 3.65*** 0.00
coef_female_and_maintenance_tour-0.350 0.0674-5.19*** 0.00
coef_female_and_tour_frequency_is_1 0.509 0.192 2.65** 0.00
coef_female_and_tour_frequency_is_2 0.461 0.198 2.33* 0.00
coef_female_and_tour_frequency_is_3 0.637 0.220 2.89** 0.00
coef_female_and_tour_frequency_is_5 0.996 0.304 3.28** 0.00
coef_high_income_group_and_discretionary_tour 0.831 0.107 7.78*** 0.00
coef_high_income_group_and_eating_out_tour 0.589 0.153 3.86*** 0.00
coef_high_income_group_and_shopping_tour 0.913 0.0932 9.79*** 0.00
coef_high_income_group_and_tour_frequency_is_2 1.24 0.312 3.99*** 0.00
coef_high_income_group_and_tour_frequency_is_3 1.94 0.340 5.71*** 0.00
coef_high_income_group_and_tour_frequency_is_5_plus 2.71 0.384 7.04*** 0.00
coef_high_income_group_and_visiting_tour-1.12 0.169-6.63*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_1 3.58 0.342 10.47*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 2.85 0.387 7.37*** 0.00
coef_mediumhigh_income_group_and_discretionary_tour 0.511 0.103 4.96*** 0.00
coef_mediumhigh_income_group_and_eating_out_tour 0.441 0.147 3.00** 0.00
coef_mediumhigh_income_group_and_shopping_tour 0.942 0.0888 10.61*** 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_1 0.690 0.282 2.44* 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_2 0.681 0.291 2.34* 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_5_plus 0.625 0.314 1.99* 0.00
coef_mediumhigh_income_group_and_visiting_tour-0.429 0.112-3.83*** 0.00
coef_mediumlow_income_group_and_discretionary_tour 0.141 0.101 1.40 0.00
coef_mediumlow_income_group_and_eating_out_tour 0.125 0.142 0.88 0.00
coef_mediumlow_income_group_and_shopping_tour 0.698 0.0888 7.86*** 0.00
coef_mediumlow_income_group_and_tour_frequency_is_1 0.934 0.288 3.24** 0.00
coef_mediumlow_income_group_and_tour_frequency_is_5_plus 1.11 0.296 3.77*** 0.00
coef_number_of_joint_eating_out_tours-0.263 0.580-0.45 0.00
coef_number_of_joint_shopping_tours-0.612 0.233-2.62** 0.00
coef_number_of_joint_tours_and_tour_frequency_is_1-3.09 1.93-1.60 0.00
coef_number_of_joint_tours_and_tour_frequency_is_2-1.35 1.65-0.81 0.00
coef_number_of_joint_tours_and_tour_frequency_is_3-1.20 1.65-0.73 0.00
coef_number_of_joint_tours_and_tour_frequency_is_5_plus-1.39 1.67-0.83 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_1-0.677 1.06e-09-BIG*** 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_3-1.05 1.80e-09-BIG*** 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus-999. 0.00 NA 0.00fixed value
coef_presence_of_full_time_worker_and_eating_out_tour-0.429 0.109-3.93*** 0.00
coef_presence_of_full_time_worker_and_escorting_tour 0.436 0.0527 8.26*** 0.00
coef_presence_of_non_worker_and_eating_out_tour-0.413 0.107-3.86*** 0.00
coef_presence_of_non_worker_and_tour_frequency_is_1-0.162 0.185-0.87 0.00
coef_presence_of_non_worker_and_tour_frequency_is_2-0.633 0.192-3.30*** 0.00
coef_presence_of_non_worker_and_tour_frequency_is_5-1.03 0.212-4.86*** 0.00
coef_presence_of_part_time_worker_and_discretionary_tour-0.381 0.0565-6.74*** 0.00
coef_presence_of_part_time_worker_and_escorting_tour-0.642 0.0637-10.08*** 0.00
coef_presence_of_pre_driving_school_kid_and_escorting_tour 1.35 0.0589 22.99*** 0.00
coef_presence_of_pre_school_kid_and_escorting_tour 0.820 0.0530 15.45*** 0.00
coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 0.0317 0.189 0.17 0.00
coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 0.573 0.200 2.86** 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5-0.739 0.186-3.98*** 0.00
coef_presence_of_retiree_and_eating_out_tour-0.778 0.186-4.19*** 0.00
coef_presence_of_retiree_and_tour_frequency_is_1-0.223 0.223-1.00 0.00
coef_presence_of_retiree_and_tour_frequency_is_5-0.225 0.230-0.98 0.00
coef_total_number_of_tours_is_1-10.6 102.-0.10 0.00
coef_total_number_of_tours_is_2-13.0 203.-0.06 0.00
coef_total_number_of_tours_is_3-15.2 305.-0.05 0.00
coef_total_number_of_tours_is_4-17.7 407.-0.04 0.00
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_walk_access_to_retail_and_discretionary 0.0897 0.0225 3.98*** 0.00
coef_walk_access_to_retail_and_shopping 0.0808 0.0199 4.07*** 0.00
coef_walk_access_to_retail_and_tour_frequency_is_1 0.126 0.0653 1.93 0.00
coef_walk_access_to_retail_and_tour_frequency_is_2 0.186 0.0679 2.74** 0.00
coef_walk_access_to_retail_and_tour_frequency_is_5_plus 0.163 0.0735 2.22* 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_RETIRED\n" + ] + }, + { + "data": { + "text/html": [ + "

Iteration 076 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -2423,7 +6978,7 @@ { "data": { "text/html": [ - "

Best LL = -787.4000431560225

" + "

Best LL = -7936.229778686792

" ], "text/plain": [ "" @@ -2454,823 +7009,783 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", + " -2.000000\n", " -2.0000\n", - " 0.0\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " -2.730596\n", + " -0.420225\n", + " -0.420225\n", " -0.3992\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.730596\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " -2.583305\n", + " -0.040375\n", + " -0.040375\n", " 0.0245\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.583305\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " -2.299219\n", + " 0.008956\n", + " 0.008956\n", " 0.1046\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.299219\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " -2.243196\n", + " 0.373522\n", + " 0.373522\n", " 0.4282\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.243196\n", " \n", " \n", " coef_1_plus_shopping_tours_constant\n", - " -1.916643\n", + " 0.512414\n", + " 0.512414\n", " 0.5947\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.916643\n", " \n", " \n", " coef_1_plus_visting_tours_constant\n", - " -2.344018\n", + " 0.079465\n", + " 0.079465\n", " 0.2789\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.344018\n", " \n", " \n", " coef_2_plus_escort_tours_constant\n", - " -4.935937\n", + " 0.307462\n", + " 0.307462\n", " 0.5175\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.935937\n", " \n", " \n", " coef_car_surplus_vs_workers_and_tour_frequency_is_1\n", - " 3.094754\n", + " 1.243116\n", + " 1.243116\n", " 0.7965\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3.094754\n", " \n", " \n", " coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus\n", - " 3.475854\n", + " 2.463002\n", + " 2.463002\n", " 2.1302\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3.475854\n", " \n", " \n", " coef_female_and_discretionary_tour\n", - " 0.541528\n", + " 0.503760\n", + " 0.503760\n", " 0.4954\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.541528\n", " \n", " \n", " coef_female_and_maintenance_tour\n", - " 0.708328\n", + " 0.726465\n", + " 0.726465\n", " 0.7424\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.708328\n", " \n", " \n", " coef_female_and_shopping_tour\n", - " 0.609316\n", + " 0.951849\n", + " 0.951849\n", " 0.9688\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.609316\n", " \n", " \n", " coef_female_and_tour_frequency_is_1\n", - " -2.519155\n", + " -0.637595\n", + " -0.637595\n", " -0.9348\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.519155\n", " \n", " \n", " coef_female_and_tour_frequency_is_2\n", - " -2.727169\n", + " -0.922030\n", + " -0.922030\n", " -1.3028\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.727169\n", " \n", " \n", " coef_female_and_tour_frequency_is_5\n", - " -4.160203\n", + " -1.995909\n", + " -1.995909\n", " -2.2660\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.160203\n", " \n", " \n", " coef_high_income_group_and_discretionary_tour\n", - " 0.925884\n", + " 0.912572\n", + " 0.912572\n", " 1.0095\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.925884\n", " \n", " \n", " coef_high_income_group_and_eating_out_tour\n", - " 1.624493\n", + " 1.333766\n", + " 1.333766\n", " 1.4842\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.624493\n", " \n", " \n", " coef_high_income_group_and_maintenance_tour\n", - " 1.006105\n", + " 1.269533\n", + " 1.269533\n", " 1.3795\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.006105\n", " \n", " \n", " coef_high_income_group_and_shopping_tour\n", - " 1.105171\n", + " 0.999823\n", + " 0.999823\n", " 1.0949\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.105171\n", " \n", " \n", " coef_high_income_group_and_visiting_tour\n", - " -0.656664\n", + " -0.187117\n", + " -0.187117\n", " -0.5137\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.656664\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_1\n", - " 2.966557\n", + " 2.036712\n", + " 2.036712\n", " 1.8357\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.966557\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_2\n", - " 5.581416\n", + " 2.413288\n", + " 2.413288\n", " 2.2707\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 5.581416\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_5_plus\n", - " 31.909531\n", + " 4.720353\n", + " 4.720353\n", " 4.4023\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 31.909531\n", " \n", " \n", " coef_mediumhigh_income_group_and_eating_out_tour\n", - " 0.964279\n", + " 0.944127\n", + " 0.944127\n", " 1.1810\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.964279\n", " \n", " \n", " coef_mediumhigh_income_group_and_maintenance_tour\n", - " 0.465351\n", + " 0.688701\n", + " 0.688701\n", " 0.7648\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.465351\n", " \n", " \n", " coef_mediumhigh_income_group_and_visiting_tour\n", - " -0.478169\n", + " -0.370854\n", + " -0.370854\n", " -0.4368\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.478169\n", " \n", " \n", " coef_mediumlow_income_group_and_eating_out_tour\n", - " 0.877486\n", + " 0.937822\n", + " 0.937822\n", " 0.9769\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.877486\n", " \n", " \n", " coef_number_of_joint_shopping_tours\n", - " -0.290998\n", + " -1.313333\n", + " -1.313333\n", " -0.8072\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.290998\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_2\n", - " -6.327143\n", + " -1.010634\n", + " -1.010634\n", " -0.9500\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -6.327143\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_3\n", - " -85.627389\n", + " -7.212476\n", + " -7.212476\n", " -7.1430\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -85.627389\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_5_plus\n", " -999.000000\n", + " -999.000000\n", " -999.0000\n", - " 0.0\n", " -999.0\n", " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_3\n", " -5.019600\n", + " -5.019600\n", " -5.0196\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5.019600\n", " \n", " \n", " coef_presence_of_full_time_worker_and_discretionary_tour\n", - " -0.331984\n", + " -0.657085\n", + " -0.657085\n", " -0.4835\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.331984\n", " \n", " \n", " coef_presence_of_full_time_worker_and_shopping_tour\n", - " -0.207325\n", + " -0.421774\n", + " -0.421774\n", " -0.3609\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.207325\n", " \n", " \n", " coef_presence_of_non_worker_and_discretionary_tour\n", - " -0.084104\n", + " -0.575662\n", + " -0.575662\n", " -0.5603\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.084104\n", " \n", " \n", " coef_presence_of_non_worker_and_eating_out_tour\n", - " -0.701536\n", + " -0.905311\n", + " -0.905311\n", " -0.7880\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.701536\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_1\n", - " 1.190681\n", + " -0.017018\n", + " -0.017018\n", " 0.2240\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.190681\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_2\n", - " 1.374195\n", + " 0.067997\n", + " 0.067997\n", " 0.2436\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.374195\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_3\n", - " 2.156822\n", + " 0.258114\n", + " 0.258114\n", " 0.6200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 2.156822\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_5\n", - " 3.694303\n", + " 3.203479\n", + " 3.203479\n", " 3.3742\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3.694303\n", " \n", " \n", " coef_presence_of_pre_driving_school_kid_and_escorting_tour\n", - " 1.682880\n", + " 1.424066\n", + " 1.424066\n", " 1.4903\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.682880\n", " \n", " \n", " coef_presence_of_pre_school_kid_and_escorting_tour\n", - " 0.641813\n", + " 0.393961\n", + " 0.393961\n", " 0.5027\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.641813\n", " \n", " \n", " coef_presence_of_retiree_and_eating_out_tour\n", - " -0.944680\n", + " -0.793588\n", + " -0.793588\n", " -0.9282\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.944680\n", " \n", " \n", " coef_presence_of_retiree_and_tour_frequency_is_1\n", - " 0.321424\n", + " -0.721457\n", + " -0.721457\n", " -0.4458\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.321424\n", " \n", " \n", " coef_presence_of_retiree_and_tour_frequency_is_5\n", - " -0.051242\n", + " -0.751932\n", + " -0.751932\n", " -0.5315\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.051242\n", " \n", " \n", " coef_total_number_of_tours_is_1\n", - " -14.532345\n", + " -8.702153\n", + " -8.702153\n", " -8.5684\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -14.532345\n", " \n", " \n", " coef_total_number_of_tours_is_2\n", - " -15.267480\n", + " -12.664662\n", + " -12.664662\n", " -12.7416\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -15.267480\n", " \n", " \n", " coef_total_number_of_tours_is_3\n", - " -15.029318\n", + " -14.734677\n", + " -14.734677\n", " -15.0978\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -15.029318\n", " \n", " \n", " coef_total_number_of_tours_is_4\n", - " -14.905140\n", + " -19.432621\n", + " -19.432621\n", " -19.5439\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -14.905140\n", " \n", " \n", " coef_total_number_of_tours_is_5\n", - " -27.549766\n", + " -19.999982\n", + " -19.999982\n", " -20.7897\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -27.549766\n", " \n", " \n", " coef_urban_and_discretionary_tour\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_walk_access_to_retail_and_tour_frequency_is_5_plus\n", - " 0.691082\n", + " -0.010167\n", + " -0.010167\n", " 0.0616\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.691082\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant -2.730596 -0.3992 \n", - "coef_1_plus_eating_out_tours_constant -2.583305 0.0245 \n", - "coef_1_plus_maintenance_tours_constant -2.299219 0.1046 \n", - "coef_1_plus_other_discretionary_tours_constant -2.243196 0.4282 \n", - "coef_1_plus_shopping_tours_constant -1.916643 0.5947 \n", - "coef_1_plus_visting_tours_constant -2.344018 0.2789 \n", - "coef_2_plus_escort_tours_constant -4.935937 0.5175 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 3.094754 0.7965 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 3.475854 2.1302 \n", - "coef_female_and_discretionary_tour 0.541528 0.4954 \n", - "coef_female_and_maintenance_tour 0.708328 0.7424 \n", - "coef_female_and_shopping_tour 0.609316 0.9688 \n", - "coef_female_and_tour_frequency_is_1 -2.519155 -0.9348 \n", - "coef_female_and_tour_frequency_is_2 -2.727169 -1.3028 \n", - "coef_female_and_tour_frequency_is_5 -4.160203 -2.2660 \n", - "coef_high_income_group_and_discretionary_tour 0.925884 1.0095 \n", - "coef_high_income_group_and_eating_out_tour 1.624493 1.4842 \n", - "coef_high_income_group_and_maintenance_tour 1.006105 1.3795 \n", - "coef_high_income_group_and_shopping_tour 1.105171 1.0949 \n", - "coef_high_income_group_and_visiting_tour -0.656664 -0.5137 \n", - "coef_logged_maximum_residual_window_tour_freque... 2.966557 1.8357 \n", - "coef_logged_maximum_residual_window_tour_freque... 5.581416 2.2707 \n", - "coef_logged_maximum_residual_window_tour_freque... 31.909531 4.4023 \n", - "coef_mediumhigh_income_group_and_eating_out_tour 0.964279 1.1810 \n", - "coef_mediumhigh_income_group_and_maintenance_tour 0.465351 0.7648 \n", - "coef_mediumhigh_income_group_and_visiting_tour -0.478169 -0.4368 \n", - "coef_mediumlow_income_group_and_eating_out_tour 0.877486 0.9769 \n", - "coef_number_of_joint_shopping_tours -0.290998 -0.8072 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 -6.327143 -0.9500 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 -85.627389 -7.1430 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.0000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -5.019600 -5.0196 \n", - "coef_presence_of_full_time_worker_and_discretio... -0.331984 -0.4835 \n", - "coef_presence_of_full_time_worker_and_shopping_... -0.207325 -0.3609 \n", - "coef_presence_of_non_worker_and_discretionary_tour -0.084104 -0.5603 \n", - "coef_presence_of_non_worker_and_eating_out_tour -0.701536 -0.7880 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 1.190681 0.2240 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 1.374195 0.2436 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 2.156822 0.6200 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 3.694303 3.3742 \n", - "coef_presence_of_pre_driving_school_kid_and_esc... 1.682880 1.4903 \n", - "coef_presence_of_pre_school_kid_and_escorting_tour 0.641813 0.5027 \n", - "coef_presence_of_retiree_and_eating_out_tour -0.944680 -0.9282 \n", - "coef_presence_of_retiree_and_tour_frequency_is_1 0.321424 -0.4458 \n", - "coef_presence_of_retiree_and_tour_frequency_is_5 -0.051242 -0.5315 \n", - "coef_total_number_of_tours_is_1 -14.532345 -8.5684 \n", - "coef_total_number_of_tours_is_2 -15.267480 -12.7416 \n", - "coef_total_number_of_tours_is_3 -15.029318 -15.0978 \n", - "coef_total_number_of_tours_is_4 -14.905140 -19.5439 \n", - "coef_total_number_of_tours_is_5 -27.549766 -20.7897 \n", - "coef_urban_and_discretionary_tour 0.000000 0.0000 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.691082 0.0616 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 \n", + "coef_1_escort_tour_constant -0.420225 -0.420225 \n", + "coef_1_plus_eating_out_tours_constant -0.040375 -0.040375 \n", + "coef_1_plus_maintenance_tours_constant 0.008956 0.008956 \n", + "coef_1_plus_other_discretionary_tours_constant 0.373522 0.373522 \n", + "coef_1_plus_shopping_tours_constant 0.512414 0.512414 \n", + "coef_1_plus_visting_tours_constant 0.079465 0.079465 \n", + "coef_2_plus_escort_tours_constant 0.307462 0.307462 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 1.243116 1.243116 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 2.463002 2.463002 \n", + "coef_female_and_discretionary_tour 0.503760 0.503760 \n", + "coef_female_and_maintenance_tour 0.726465 0.726465 \n", + "coef_female_and_shopping_tour 0.951849 0.951849 \n", + "coef_female_and_tour_frequency_is_1 -0.637595 -0.637595 \n", + "coef_female_and_tour_frequency_is_2 -0.922030 -0.922030 \n", + "coef_female_and_tour_frequency_is_5 -1.995909 -1.995909 \n", + "coef_high_income_group_and_discretionary_tour 0.912572 0.912572 \n", + "coef_high_income_group_and_eating_out_tour 1.333766 1.333766 \n", + "coef_high_income_group_and_maintenance_tour 1.269533 1.269533 \n", + "coef_high_income_group_and_shopping_tour 0.999823 0.999823 \n", + "coef_high_income_group_and_visiting_tour -0.187117 -0.187117 \n", + "coef_logged_maximum_residual_window_tour_freque... 2.036712 2.036712 \n", + "coef_logged_maximum_residual_window_tour_freque... 2.413288 2.413288 \n", + "coef_logged_maximum_residual_window_tour_freque... 4.720353 4.720353 \n", + "coef_mediumhigh_income_group_and_eating_out_tour 0.944127 0.944127 \n", + "coef_mediumhigh_income_group_and_maintenance_tour 0.688701 0.688701 \n", + "coef_mediumhigh_income_group_and_visiting_tour -0.370854 -0.370854 \n", + "coef_mediumlow_income_group_and_eating_out_tour 0.937822 0.937822 \n", + "coef_number_of_joint_shopping_tours -1.313333 -1.313333 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 -1.010634 -1.010634 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 -7.212476 -7.212476 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.000000 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -5.019600 -5.019600 \n", + "coef_presence_of_full_time_worker_and_discretio... -0.657085 -0.657085 \n", + "coef_presence_of_full_time_worker_and_shopping_... -0.421774 -0.421774 \n", + "coef_presence_of_non_worker_and_discretionary_tour -0.575662 -0.575662 \n", + "coef_presence_of_non_worker_and_eating_out_tour -0.905311 -0.905311 \n", + "coef_presence_of_non_worker_and_tour_frequency_... -0.017018 -0.017018 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.067997 0.067997 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.258114 0.258114 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 3.203479 3.203479 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 1.424066 1.424066 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 0.393961 0.393961 \n", + "coef_presence_of_retiree_and_eating_out_tour -0.793588 -0.793588 \n", + "coef_presence_of_retiree_and_tour_frequency_is_1 -0.721457 -0.721457 \n", + "coef_presence_of_retiree_and_tour_frequency_is_5 -0.751932 -0.751932 \n", + "coef_total_number_of_tours_is_1 -8.702153 -8.702153 \n", + "coef_total_number_of_tours_is_2 -12.664662 -12.664662 \n", + "coef_total_number_of_tours_is_3 -14.734677 -14.734677 \n", + "coef_total_number_of_tours_is_4 -19.432621 -19.432621 \n", + "coef_total_number_of_tours_is_5 -19.999982 -19.999982 \n", + "coef_urban_and_discretionary_tour 0.000000 0.000000 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... -0.010167 -0.010167 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", - "coef_1_plus_shopping_tours_constant 0.0 NaN \n", - "coef_1_plus_visting_tours_constant 0.0 NaN \n", - "coef_2_plus_escort_tours_constant 0.0 NaN \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 0.0 NaN \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 0.0 NaN \n", - "coef_female_and_discretionary_tour 0.0 NaN \n", - "coef_female_and_maintenance_tour 0.0 NaN \n", - "coef_female_and_shopping_tour 0.0 NaN \n", - "coef_female_and_tour_frequency_is_1 0.0 NaN \n", - "coef_female_and_tour_frequency_is_2 0.0 NaN \n", - "coef_female_and_tour_frequency_is_5 0.0 NaN \n", - "coef_high_income_group_and_discretionary_tour 0.0 NaN \n", - "coef_high_income_group_and_eating_out_tour 0.0 NaN \n", - "coef_high_income_group_and_maintenance_tour 0.0 NaN \n", - "coef_high_income_group_and_shopping_tour 0.0 NaN \n", - "coef_high_income_group_and_visiting_tour 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_mediumhigh_income_group_and_eating_out_tour 0.0 NaN \n", - "coef_mediumhigh_income_group_and_maintenance_tour 0.0 NaN \n", - "coef_mediumhigh_income_group_and_visiting_tour 0.0 NaN \n", - "coef_mediumlow_income_group_and_eating_out_tour 0.0 NaN \n", - "coef_number_of_joint_shopping_tours 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_i... 0.0 -999.0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_presence_of_full_time_worker_and_discretio... 0.0 NaN \n", - "coef_presence_of_full_time_worker_and_shopping_... 0.0 NaN \n", - "coef_presence_of_non_worker_and_discretionary_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_eating_out_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_pre_driving_school_kid_and_esc... 0.0 NaN \n", - "coef_presence_of_pre_school_kid_and_escorting_tour 0.0 NaN \n", - "coef_presence_of_retiree_and_eating_out_tour 0.0 NaN \n", - "coef_presence_of_retiree_and_tour_frequency_is_1 0.0 NaN \n", - "coef_presence_of_retiree_and_tour_frequency_is_5 0.0 NaN \n", - "coef_total_number_of_tours_is_1 0.0 NaN \n", - "coef_total_number_of_tours_is_2 0.0 NaN \n", - "coef_total_number_of_tours_is_3 0.0 NaN \n", - "coef_total_number_of_tours_is_4 0.0 NaN \n", - "coef_total_number_of_tours_is_5 0.0 NaN \n", - "coef_urban_and_discretionary_tour 0.0 0.0 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0000 -2.0 \n", + "coef_1_escort_tour_constant -0.3992 -20.0 \n", + "coef_1_plus_eating_out_tours_constant 0.0245 -20.0 \n", + "coef_1_plus_maintenance_tours_constant 0.1046 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant 0.4282 -20.0 \n", + "coef_1_plus_shopping_tours_constant 0.5947 -20.0 \n", + "coef_1_plus_visting_tours_constant 0.2789 -20.0 \n", + "coef_2_plus_escort_tours_constant 0.5175 -20.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0.7965 -20.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 2.1302 -20.0 \n", + "coef_female_and_discretionary_tour 0.4954 -20.0 \n", + "coef_female_and_maintenance_tour 0.7424 -20.0 \n", + "coef_female_and_shopping_tour 0.9688 -20.0 \n", + "coef_female_and_tour_frequency_is_1 -0.9348 -20.0 \n", + "coef_female_and_tour_frequency_is_2 -1.3028 -20.0 \n", + "coef_female_and_tour_frequency_is_5 -2.2660 -20.0 \n", + "coef_high_income_group_and_discretionary_tour 1.0095 -20.0 \n", + "coef_high_income_group_and_eating_out_tour 1.4842 -20.0 \n", + "coef_high_income_group_and_maintenance_tour 1.3795 -20.0 \n", + "coef_high_income_group_and_shopping_tour 1.0949 -20.0 \n", + "coef_high_income_group_and_visiting_tour -0.5137 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.8357 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 2.2707 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 4.4023 -20.0 \n", + "coef_mediumhigh_income_group_and_eating_out_tour 1.1810 -20.0 \n", + "coef_mediumhigh_income_group_and_maintenance_tour 0.7648 -20.0 \n", + "coef_mediumhigh_income_group_and_visiting_tour -0.4368 -20.0 \n", + "coef_mediumlow_income_group_and_eating_out_tour 0.9769 -20.0 \n", + "coef_number_of_joint_shopping_tours -0.8072 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 -0.9500 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 -7.1430 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0000 -999.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -5.0196 -20.0 \n", + "coef_presence_of_full_time_worker_and_discretio... -0.4835 -20.0 \n", + "coef_presence_of_full_time_worker_and_shopping_... -0.3609 -20.0 \n", + "coef_presence_of_non_worker_and_discretionary_tour -0.5603 -20.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour -0.7880 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.2240 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.2436 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.6200 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 3.3742 -20.0 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 1.4903 -20.0 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 0.5027 -20.0 \n", + "coef_presence_of_retiree_and_eating_out_tour -0.9282 -20.0 \n", + "coef_presence_of_retiree_and_tour_frequency_is_1 -0.4458 -20.0 \n", + "coef_presence_of_retiree_and_tour_frequency_is_5 -0.5315 -20.0 \n", + "coef_total_number_of_tours_is_1 -8.5684 -20.0 \n", + "coef_total_number_of_tours_is_2 -12.7416 -20.0 \n", + "coef_total_number_of_tours_is_3 -15.0978 -20.0 \n", + "coef_total_number_of_tours_is_4 -19.5439 -20.0 \n", + "coef_total_number_of_tours_is_5 -20.7897 -20.0 \n", + "coef_urban_and_discretionary_tour 0.0000 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0.0616 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour -2.0 1 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "coef_1_plus_shopping_tours_constant NaN 0 \n", - "coef_1_plus_visting_tours_constant NaN 0 \n", - "coef_2_plus_escort_tours_constant NaN 0 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... NaN 0 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... NaN 0 \n", - "coef_female_and_discretionary_tour NaN 0 \n", - "coef_female_and_maintenance_tour NaN 0 \n", - "coef_female_and_shopping_tour NaN 0 \n", - "coef_female_and_tour_frequency_is_1 NaN 0 \n", - "coef_female_and_tour_frequency_is_2 NaN 0 \n", - "coef_female_and_tour_frequency_is_5 NaN 0 \n", - "coef_high_income_group_and_discretionary_tour NaN 0 \n", - "coef_high_income_group_and_eating_out_tour NaN 0 \n", - "coef_high_income_group_and_maintenance_tour NaN 0 \n", - "coef_high_income_group_and_shopping_tour NaN 0 \n", - "coef_high_income_group_and_visiting_tour NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_mediumhigh_income_group_and_eating_out_tour NaN 0 \n", - "coef_mediumhigh_income_group_and_maintenance_tour NaN 0 \n", - "coef_mediumhigh_income_group_and_visiting_tour NaN 0 \n", - "coef_mediumlow_income_group_and_eating_out_tour NaN 0 \n", - "coef_number_of_joint_shopping_tours NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 1 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_presence_of_full_time_worker_and_discretio... NaN 0 \n", - "coef_presence_of_full_time_worker_and_shopping_... NaN 0 \n", - "coef_presence_of_non_worker_and_discretionary_tour NaN 0 \n", - "coef_presence_of_non_worker_and_eating_out_tour NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_pre_driving_school_kid_and_esc... NaN 0 \n", - "coef_presence_of_pre_school_kid_and_escorting_tour NaN 0 \n", - "coef_presence_of_retiree_and_eating_out_tour NaN 0 \n", - "coef_presence_of_retiree_and_tour_frequency_is_1 NaN 0 \n", - "coef_presence_of_retiree_and_tour_frequency_is_5 NaN 0 \n", - "coef_total_number_of_tours_is_1 NaN 0 \n", - "coef_total_number_of_tours_is_2 NaN 0 \n", - "coef_total_number_of_tours_is_3 NaN 0 \n", - "coef_total_number_of_tours_is_4 NaN 0 \n", - "coef_total_number_of_tours_is_5 NaN 0 \n", - "coef_urban_and_discretionary_tour 0.0 1 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "coef_1_plus_shopping_tours_constant 20.0 0.0 \n", + "coef_1_plus_visting_tours_constant 20.0 0.0 \n", + "coef_2_plus_escort_tours_constant 20.0 0.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 20.0 0.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 20.0 0.0 \n", + "coef_female_and_discretionary_tour 20.0 0.0 \n", + "coef_female_and_maintenance_tour 20.0 0.0 \n", + "coef_female_and_shopping_tour 20.0 0.0 \n", + "coef_female_and_tour_frequency_is_1 20.0 0.0 \n", + "coef_female_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_female_and_tour_frequency_is_5 20.0 0.0 \n", + "coef_high_income_group_and_discretionary_tour 20.0 0.0 \n", + "coef_high_income_group_and_eating_out_tour 20.0 0.0 \n", + "coef_high_income_group_and_maintenance_tour 20.0 0.0 \n", + "coef_high_income_group_and_shopping_tour 20.0 0.0 \n", + "coef_high_income_group_and_visiting_tour 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_mediumhigh_income_group_and_eating_out_tour 20.0 0.0 \n", + "coef_mediumhigh_income_group_and_maintenance_tour 20.0 0.0 \n", + "coef_mediumhigh_income_group_and_visiting_tour 20.0 0.0 \n", + "coef_mediumlow_income_group_and_eating_out_tour 20.0 0.0 \n", + "coef_number_of_joint_shopping_tours 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_presence_of_full_time_worker_and_discretio... 20.0 0.0 \n", + "coef_presence_of_full_time_worker_and_shopping_... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 20.0 0.0 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 20.0 0.0 \n", + "coef_presence_of_retiree_and_eating_out_tour 20.0 0.0 \n", + "coef_presence_of_retiree_and_tour_frequency_is_1 20.0 0.0 \n", + "coef_presence_of_retiree_and_tour_frequency_is_5 20.0 0.0 \n", + "coef_total_number_of_tours_is_1 20.0 0.0 \n", + "coef_total_number_of_tours_is_2 20.0 0.0 \n", + "coef_total_number_of_tours_is_3 20.0 0.0 \n", + "coef_total_number_of_tours_is_4 20.0 0.0 \n", + "coef_total_number_of_tours_is_5 20.0 0.0 \n", + "coef_urban_and_discretionary_tour 0.0 0.0 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -2.000000 \n", - "coef_1_escort_tour_constant -2.730596 \n", - "coef_1_plus_eating_out_tours_constant -2.583305 \n", - "coef_1_plus_maintenance_tours_constant -2.299219 \n", - "coef_1_plus_other_discretionary_tours_constant -2.243196 \n", - "coef_1_plus_shopping_tours_constant -1.916643 \n", - "coef_1_plus_visting_tours_constant -2.344018 \n", - "coef_2_plus_escort_tours_constant -4.935937 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 3.094754 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 3.475854 \n", - "coef_female_and_discretionary_tour 0.541528 \n", - "coef_female_and_maintenance_tour 0.708328 \n", - "coef_female_and_shopping_tour 0.609316 \n", - "coef_female_and_tour_frequency_is_1 -2.519155 \n", - "coef_female_and_tour_frequency_is_2 -2.727169 \n", - "coef_female_and_tour_frequency_is_5 -4.160203 \n", - "coef_high_income_group_and_discretionary_tour 0.925884 \n", - "coef_high_income_group_and_eating_out_tour 1.624493 \n", - "coef_high_income_group_and_maintenance_tour 1.006105 \n", - "coef_high_income_group_and_shopping_tour 1.105171 \n", - "coef_high_income_group_and_visiting_tour -0.656664 \n", - "coef_logged_maximum_residual_window_tour_freque... 2.966557 \n", - "coef_logged_maximum_residual_window_tour_freque... 5.581416 \n", - "coef_logged_maximum_residual_window_tour_freque... 31.909531 \n", - "coef_mediumhigh_income_group_and_eating_out_tour 0.964279 \n", - "coef_mediumhigh_income_group_and_maintenance_tour 0.465351 \n", - "coef_mediumhigh_income_group_and_visiting_tour -0.478169 \n", - "coef_mediumlow_income_group_and_eating_out_tour 0.877486 \n", - "coef_number_of_joint_shopping_tours -0.290998 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 -6.327143 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 -85.627389 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -5.019600 \n", - "coef_presence_of_full_time_worker_and_discretio... -0.331984 \n", - "coef_presence_of_full_time_worker_and_shopping_... -0.207325 \n", - "coef_presence_of_non_worker_and_discretionary_tour -0.084104 \n", - "coef_presence_of_non_worker_and_eating_out_tour -0.701536 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 1.190681 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 1.374195 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 2.156822 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 3.694303 \n", - "coef_presence_of_pre_driving_school_kid_and_esc... 1.682880 \n", - "coef_presence_of_pre_school_kid_and_escorting_tour 0.641813 \n", - "coef_presence_of_retiree_and_eating_out_tour -0.944680 \n", - "coef_presence_of_retiree_and_tour_frequency_is_1 0.321424 \n", - "coef_presence_of_retiree_and_tour_frequency_is_5 -0.051242 \n", - "coef_total_number_of_tours_is_1 -14.532345 \n", - "coef_total_number_of_tours_is_2 -15.267480 \n", - "coef_total_number_of_tours_is_3 -15.029318 \n", - "coef_total_number_of_tours_is_4 -14.905140 \n", - "coef_total_number_of_tours_is_5 -27.549766 \n", - "coef_urban_and_discretionary_tour 0.000000 \n", - "coef_walk_access_to_retail_and_tour_frequency_i... 0.691082 " + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "coef_1_plus_shopping_tours_constant 0 \n", + "coef_1_plus_visting_tours_constant 0 \n", + "coef_2_plus_escort_tours_constant 0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0 \n", + "coef_female_and_discretionary_tour 0 \n", + "coef_female_and_maintenance_tour 0 \n", + "coef_female_and_shopping_tour 0 \n", + "coef_female_and_tour_frequency_is_1 0 \n", + "coef_female_and_tour_frequency_is_2 0 \n", + "coef_female_and_tour_frequency_is_5 0 \n", + "coef_high_income_group_and_discretionary_tour 0 \n", + "coef_high_income_group_and_eating_out_tour 0 \n", + "coef_high_income_group_and_maintenance_tour 0 \n", + "coef_high_income_group_and_shopping_tour 0 \n", + "coef_high_income_group_and_visiting_tour 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_mediumhigh_income_group_and_eating_out_tour 0 \n", + "coef_mediumhigh_income_group_and_maintenance_tour 0 \n", + "coef_mediumhigh_income_group_and_visiting_tour 0 \n", + "coef_mediumlow_income_group_and_eating_out_tour 0 \n", + "coef_number_of_joint_shopping_tours 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... 1 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_presence_of_full_time_worker_and_discretio... 0 \n", + "coef_presence_of_full_time_worker_and_shopping_... 0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_pre_driving_school_kid_and_esc... 0 \n", + "coef_presence_of_pre_school_kid_and_escorting_tour 0 \n", + "coef_presence_of_retiree_and_eating_out_tour 0 \n", + "coef_presence_of_retiree_and_tour_frequency_is_1 0 \n", + "coef_presence_of_retiree_and_tour_frequency_is_5 0 \n", + "coef_total_number_of_tours_is_1 0 \n", + "coef_total_number_of_tours_is_2 0 \n", + "coef_total_number_of_tours_is_3 0 \n", + "coef_total_number_of_tours_is_4 0 \n", + "coef_total_number_of_tours_is_5 0 \n", + "coef_urban_and_discretionary_tour 1 \n", + "coef_walk_access_to_retail_and_tour_frequency_i... 0 " ] }, "metadata": {}, @@ -3280,26 +7795,546 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7375419460797773e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 11 parameter estimators with negative variance\n", - "- coef_1_escort_tour_constant\n", - "- coef_1_plus_eating_out_tours_constant\n", - "- coef_1_plus_maintenance_tours_constant\n", - "- coef_1_plus_other_discretionary_tours_constant\n", - "- and 7 more\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant-0.420 NA NA 0.00
coef_1_plus_eating_out_tours_constant-0.0404 NA NA 0.00
coef_1_plus_maintenance_tours_constant 0.00896 NA NA 0.00
coef_1_plus_other_discretionary_tours_constant 0.374 NA NA 0.00
coef_1_plus_shopping_tours_constant 0.512 NA NA 0.00
coef_1_plus_visting_tours_constant 0.0795 NA NA 0.00
coef_2_plus_escort_tours_constant 0.307 NA NA 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_1 1.24 0.325 3.82*** 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus 2.46 0.352 7.00*** 0.00
coef_female_and_discretionary_tour 0.504 0.0998 5.05*** 0.00
coef_female_and_maintenance_tour 0.726 0.101 7.19*** 0.00
coef_female_and_shopping_tour 0.952 0.0924 10.30*** 0.00
coef_female_and_tour_frequency_is_1-0.638 0.212-3.00** 0.00
coef_female_and_tour_frequency_is_2-0.922 0.243-3.79*** 0.00
coef_female_and_tour_frequency_is_5-2.00 0.299-6.67*** 0.00
coef_high_income_group_and_discretionary_tour 0.913 0.110 8.32*** 0.00
coef_high_income_group_and_eating_out_tour 1.33 0.218 6.13*** 0.00
coef_high_income_group_and_maintenance_tour 1.27 0.137 9.27*** 0.00
coef_high_income_group_and_shopping_tour 1.00 0.102 9.82*** 0.00
coef_high_income_group_and_visiting_tour-0.187 0.184-1.02 0.00
coef_logged_maximum_residual_window_tour_frequency_is_1 2.04 0.397 5.13*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_2 2.41 0.555 4.35*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 4.72 1.20 3.94*** 0.00
coef_mediumhigh_income_group_and_eating_out_tour 0.944 0.193 4.88*** 0.00
coef_mediumhigh_income_group_and_maintenance_tour 0.689 0.112 6.16*** 0.00
coef_mediumhigh_income_group_and_visiting_tour-0.371 0.155-2.40* 0.00
coef_mediumlow_income_group_and_eating_out_tour 0.938 0.162 5.79*** 0.00
coef_number_of_joint_shopping_tours-1.31 0.343-3.83*** 0.00
coef_number_of_joint_tours_and_tour_frequency_is_2-1.01 1.37-0.74 0.00
coef_number_of_joint_tours_and_tour_frequency_is_3-7.21 3.36-2.15* 0.00
coef_number_of_joint_tours_and_tour_frequency_is_5_plus-999. 0.00 NA 0.00fixed value
coef_number_of_mandatory_tours_and_tour_frequency_is_3-5.02 1.36e-09-BIG*** 0.00
coef_presence_of_full_time_worker_and_discretionary_tour-0.657 0.104-6.31*** 0.00
coef_presence_of_full_time_worker_and_shopping_tour-0.422 0.0891-4.73*** 0.00
coef_presence_of_non_worker_and_discretionary_tour-0.576 0.128-4.50*** 0.00
coef_presence_of_non_worker_and_eating_out_tour-0.905 0.113-8.00*** 0.00
coef_presence_of_non_worker_and_tour_frequency_is_1-0.0170 0.239-0.07 0.00
coef_presence_of_non_worker_and_tour_frequency_is_2 0.0680 0.262 0.26 0.00
coef_presence_of_non_worker_and_tour_frequency_is_3 0.258 0.330 0.78 0.00
coef_presence_of_non_worker_and_tour_frequency_is_5 3.20 0.707 4.53*** 0.00
coef_presence_of_pre_driving_school_kid_and_escorting_tour 1.42 0.127 11.20*** 0.00
coef_presence_of_pre_school_kid_and_escorting_tour 0.394 0.177 2.22* 0.00
coef_presence_of_retiree_and_eating_out_tour-0.794 0.140-5.65*** 0.00
coef_presence_of_retiree_and_tour_frequency_is_1-0.721 0.238-3.03** 0.00
coef_presence_of_retiree_and_tour_frequency_is_5-0.752 0.248-3.03** 0.00
coef_total_number_of_tours_is_1-8.70 NA NA 0.00
coef_total_number_of_tours_is_2-12.7 NA NA 0.00
coef_total_number_of_tours_is_3-14.7 NA NA 0.00
coef_total_number_of_tours_is_4-19.4 NA NA 0.00
coef_total_number_of_tours_is_5-20.0 NA NA 0.00
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_walk_access_to_retail_and_tour_frequency_is_5_plus-0.0102 0.0639-0.16 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_DRIVING\n" ] }, { "data": { "text/html": [ - "

Iteration 078 [Optimization terminated successfully]

" + "

Iteration 111 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -3311,7 +8346,7 @@ { "data": { "text/html": [ - "

Best LL = -13.427352167831913

" + "

Best LL = -1410.7703396627119

" ], "text/plain": [ "" @@ -3342,673 +8377,643 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", - " -289.819438\n", + " -2.355904\n", + " -2.355904\n", " -2.0000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -289.819438\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " -6434.961317\n", + " -0.591707\n", + " -0.591707\n", " -0.4934\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -6434.961317\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " -3885.411913\n", + " -0.530705\n", + " -0.530705\n", " -0.0242\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3885.411913\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " -1195.807014\n", + " -0.478676\n", + " -0.478676\n", " -0.4344\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1195.807014\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " -2406.806121\n", + " 0.075144\n", + " 0.075144\n", " -0.2602\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2406.806121\n", " \n", " \n", " coef_1_plus_shopping_tours_constant\n", - " -2389.305945\n", + " 0.278338\n", + " 0.278338\n", " 0.5320\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2389.305945\n", " \n", " \n", " coef_1_plus_visting_tours_constant\n", - " -2389.305996\n", + " 0.074734\n", + " 0.074734\n", " 0.2367\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2389.305996\n", " \n", " \n", " coef_2_plus_escort_tours_constant\n", - " -5667.685401\n", + " 0.538812\n", + " 0.538812\n", " 1.4155\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5667.685401\n", " \n", " \n", " coef_auto_access_to_retail_and_tour_frequency_is_5_plus\n", - " -44.188373\n", + " 0.120695\n", + " 0.120695\n", " 0.1004\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -44.188373\n", " \n", " \n", " coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus\n", - " -17232.832071\n", + " -0.895829\n", + " -0.895829\n", " -0.6369\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -17232.832071\n", " \n", " \n", " coef_car_surplus_vs_workers_and_tour_frequency_is_1\n", - " -4035.619542\n", + " 0.384556\n", + " 0.384556\n", " 0.2902\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4035.619542\n", " \n", " \n", " coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus\n", - " 15225.992542\n", + " 1.915045\n", + " 1.915045\n", " 2.0352\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 15225.992542\n", " \n", " \n", " coef_high_income_group_and_discretionary_tour\n", - " 4481.084393\n", + " 1.973678\n", + " 1.973678\n", " 2.3270\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4481.084393\n", " \n", " \n", " coef_high_income_group_and_eating_out_tour\n", - " -3157.273834\n", + " 1.115882\n", + " 1.115882\n", " 0.4916\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3157.273834\n", " \n", " \n", " coef_high_income_group_and_maintenance_tour\n", - " 4461.484862\n", + " 0.535657\n", + " 0.535657\n", " 0.3982\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4461.484862\n", " \n", " \n", " coef_high_income_group_and_shopping_tour\n", - " 4461.390803\n", + " 0.297949\n", + " 0.297949\n", " 0.2443\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4461.390803\n", " \n", " \n", " coef_high_income_group_and_visiting_tour\n", - " 4461.390852\n", + " 0.657170\n", + " 0.657170\n", " 0.2858\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4461.390852\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_1\n", - " 16.594329\n", + " 1.842413\n", + " 1.842413\n", " 1.3298\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 16.594329\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_2\n", - " -19742.937757\n", + " 2.746659\n", + " 2.746659\n", " 1.3759\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -19742.937757\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_5_plus\n", - " -11491.665678\n", + " 3.207837\n", + " 3.207837\n", " 3.2808\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -11491.665678\n", " \n", " \n", " coef_mediumhigh_income_group_and_discretionary_tour\n", - " 572.847509\n", + " 0.785646\n", + " 0.785646\n", " 1.4050\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 572.847509\n", " \n", " \n", " coef_mediumlow_income_group_and_discretionary_tour\n", - " -4429.942211\n", + " 0.715806\n", + " 0.715806\n", " 0.9169\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4429.942211\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_1\n", - " -4180.353968\n", + " -0.076456\n", + " -0.076456\n", " -0.2162\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4180.353968\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_2\n", - " -1606.502880\n", + " -2.349128\n", + " -2.349128\n", " -0.3587\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1606.502880\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_3\n", - " -109.819329\n", + " -4.951681\n", + " -4.951681\n", " -4.2701\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -109.819329\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_5_plus\n", " -999.000000\n", + " -999.000000\n", " -999.0000\n", - " 0.0\n", " -999.0\n", " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_1\n", - " -16877.023970\n", + " -0.717100\n", + " -0.717100\n", " -0.2340\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -16877.023970\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_2\n", - " 12620.764595\n", + " -2.894440\n", + " -2.894440\n", " -0.9231\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 12620.764595\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_3\n", - " -4861.997912\n", + " -6.487708\n", + " -6.487708\n", " -6.5835\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4861.997912\n", " \n", " \n", " coef_presence_of_driving_school_kid_and_discretionary_tour\n", - " -578.872073\n", + " -0.825813\n", + " -0.825813\n", " -0.9202\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -578.872073\n", " \n", " \n", " coef_presence_of_driving_school_kid_and_eating_out_tour\n", - " 6.381728\n", + " -0.605776\n", + " -0.605776\n", " -0.6377\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 6.381728\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_2\n", - " 878.008827\n", + " -0.268732\n", + " -0.268732\n", " -0.6571\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 878.008827\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_5\n", - " -1944.922644\n", + " -3.177667\n", + " -3.177667\n", " -1.4044\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1944.922644\n", " \n", " \n", " coef_presence_of_pre_driving_school_kid_and_eating_out_tour\n", - " -164.906255\n", + " -1.449331\n", + " -1.449331\n", " -1.5698\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -164.906255\n", " \n", " \n", " coef_presence_of_pre_school_kid_and_eating_out_tour\n", - " 313.476309\n", + " -1.804988\n", + " -1.804988\n", " -0.2987\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 313.476309\n", " \n", " \n", " coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1\n", - " 4033.566871\n", + " -0.395397\n", + " -0.395397\n", " -0.3219\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 4033.566871\n", " \n", " \n", " coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5\n", - " 10149.331976\n", + " -1.985303\n", + " -1.985303\n", " -1.0874\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 10149.331976\n", " \n", " \n", " coef_presence_of_university_student_and_discretionary_tour\n", - " 3906.378403\n", + " -1.663216\n", + " -1.663216\n", " -1.2834\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 3906.378403\n", " \n", " \n", " coef_total_number_of_tours_is_1\n", - " 15200.662337\n", + " -7.917385\n", + " -7.917385\n", " -7.1506\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 15200.662337\n", " \n", " \n", " coef_total_number_of_tours_is_2\n", - " -1638.556186\n", + " -11.926451\n", + " -11.926451\n", " -11.1214\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1638.556186\n", " \n", " \n", " coef_total_number_of_tours_is_3\n", - " -14010.608324\n", + " -13.210287\n", + " -13.210287\n", " -13.1750\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -14010.608324\n", " \n", " \n", " coef_urban_and_discretionary_tour\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_urban_and_maintenance_tour\n", - " -1194.333214\n", + " 1.131129\n", + " 1.131129\n", " 1.0394\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1194.333214\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -289.819438 -2.0000 \n", - "coef_1_escort_tour_constant -6434.961317 -0.4934 \n", - "coef_1_plus_eating_out_tours_constant -3885.411913 -0.0242 \n", - "coef_1_plus_maintenance_tours_constant -1195.807014 -0.4344 \n", - "coef_1_plus_other_discretionary_tours_constant -2406.806121 -0.2602 \n", - "coef_1_plus_shopping_tours_constant -2389.305945 0.5320 \n", - "coef_1_plus_visting_tours_constant -2389.305996 0.2367 \n", - "coef_2_plus_escort_tours_constant -5667.685401 1.4155 \n", - "coef_auto_access_to_retail_and_tour_frequency_i... -44.188373 0.1004 \n", - "coef_car_shortage_vs_workers_and_tour_frequency... -17232.832071 -0.6369 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... -4035.619542 0.2902 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 15225.992542 2.0352 \n", - "coef_high_income_group_and_discretionary_tour 4481.084393 2.3270 \n", - "coef_high_income_group_and_eating_out_tour -3157.273834 0.4916 \n", - "coef_high_income_group_and_maintenance_tour 4461.484862 0.3982 \n", - "coef_high_income_group_and_shopping_tour 4461.390803 0.2443 \n", - "coef_high_income_group_and_visiting_tour 4461.390852 0.2858 \n", - "coef_logged_maximum_residual_window_tour_freque... 16.594329 1.3298 \n", - "coef_logged_maximum_residual_window_tour_freque... -19742.937757 1.3759 \n", - "coef_logged_maximum_residual_window_tour_freque... -11491.665678 3.2808 \n", - "coef_mediumhigh_income_group_and_discretionary_... 572.847509 1.4050 \n", - "coef_mediumlow_income_group_and_discretionary_tour -4429.942211 0.9169 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_1 -4180.353968 -0.2162 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 -1606.502880 -0.3587 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 -109.819329 -4.2701 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.0000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -16877.023970 -0.2340 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 12620.764595 -0.9231 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -4861.997912 -6.5835 \n", - "coef_presence_of_driving_school_kid_and_discret... -578.872073 -0.9202 \n", - "coef_presence_of_driving_school_kid_and_eating_... 6.381728 -0.6377 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 878.008827 -0.6571 \n", - "coef_presence_of_non_worker_and_tour_frequency_... -1944.922644 -1.4044 \n", - "coef_presence_of_pre_driving_school_kid_and_eat... -164.906255 -1.5698 \n", - "coef_presence_of_pre_school_kid_and_eating_out_... 313.476309 -0.2987 \n", - "coef_presence_of_predriving_school_kid_in_house... 4033.566871 -0.3219 \n", - "coef_presence_of_predriving_school_kid_in_house... 10149.331976 -1.0874 \n", - "coef_presence_of_university_student_and_discret... 3906.378403 -1.2834 \n", - "coef_total_number_of_tours_is_1 15200.662337 -7.1506 \n", - "coef_total_number_of_tours_is_2 -1638.556186 -11.1214 \n", - "coef_total_number_of_tours_is_3 -14010.608324 -13.1750 \n", - "coef_urban_and_discretionary_tour 0.000000 0.0000 \n", - "coef_urban_and_maintenance_tour -1194.333214 1.0394 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.355904 -2.355904 \n", + "coef_1_escort_tour_constant -0.591707 -0.591707 \n", + "coef_1_plus_eating_out_tours_constant -0.530705 -0.530705 \n", + "coef_1_plus_maintenance_tours_constant -0.478676 -0.478676 \n", + "coef_1_plus_other_discretionary_tours_constant 0.075144 0.075144 \n", + "coef_1_plus_shopping_tours_constant 0.278338 0.278338 \n", + "coef_1_plus_visting_tours_constant 0.074734 0.074734 \n", + "coef_2_plus_escort_tours_constant 0.538812 0.538812 \n", + "coef_auto_access_to_retail_and_tour_frequency_i... 0.120695 0.120695 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... -0.895829 -0.895829 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0.384556 0.384556 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 1.915045 1.915045 \n", + "coef_high_income_group_and_discretionary_tour 1.973678 1.973678 \n", + "coef_high_income_group_and_eating_out_tour 1.115882 1.115882 \n", + "coef_high_income_group_and_maintenance_tour 0.535657 0.535657 \n", + "coef_high_income_group_and_shopping_tour 0.297949 0.297949 \n", + "coef_high_income_group_and_visiting_tour 0.657170 0.657170 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.842413 1.842413 \n", + "coef_logged_maximum_residual_window_tour_freque... 2.746659 2.746659 \n", + "coef_logged_maximum_residual_window_tour_freque... 3.207837 3.207837 \n", + "coef_mediumhigh_income_group_and_discretionary_... 0.785646 0.785646 \n", + "coef_mediumlow_income_group_and_discretionary_tour 0.715806 0.715806 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_1 -0.076456 -0.076456 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 -2.349128 -2.349128 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 -4.951681 -4.951681 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.000000 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -0.717100 -0.717100 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -2.894440 -2.894440 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -6.487708 -6.487708 \n", + "coef_presence_of_driving_school_kid_and_discret... -0.825813 -0.825813 \n", + "coef_presence_of_driving_school_kid_and_eating_... -0.605776 -0.605776 \n", + "coef_presence_of_non_worker_and_tour_frequency_... -0.268732 -0.268732 \n", + "coef_presence_of_non_worker_and_tour_frequency_... -3.177667 -3.177667 \n", + "coef_presence_of_pre_driving_school_kid_and_eat... -1.449331 -1.449331 \n", + "coef_presence_of_pre_school_kid_and_eating_out_... -1.804988 -1.804988 \n", + "coef_presence_of_predriving_school_kid_in_house... -0.395397 -0.395397 \n", + "coef_presence_of_predriving_school_kid_in_house... -1.985303 -1.985303 \n", + "coef_presence_of_university_student_and_discret... -1.663216 -1.663216 \n", + "coef_total_number_of_tours_is_1 -7.917385 -7.917385 \n", + "coef_total_number_of_tours_is_2 -11.926451 -11.926451 \n", + "coef_total_number_of_tours_is_3 -13.210287 -13.210287 \n", + "coef_urban_and_discretionary_tour 0.000000 0.000000 \n", + "coef_urban_and_maintenance_tour 1.131129 1.131129 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 NaN \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", - "coef_1_plus_shopping_tours_constant 0.0 NaN \n", - "coef_1_plus_visting_tours_constant 0.0 NaN \n", - "coef_2_plus_escort_tours_constant 0.0 NaN \n", - "coef_auto_access_to_retail_and_tour_frequency_i... 0.0 NaN \n", - "coef_car_shortage_vs_workers_and_tour_frequency... 0.0 NaN \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 0.0 NaN \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 0.0 NaN \n", - "coef_high_income_group_and_discretionary_tour 0.0 NaN \n", - "coef_high_income_group_and_eating_out_tour 0.0 NaN \n", - "coef_high_income_group_and_maintenance_tour 0.0 NaN \n", - "coef_high_income_group_and_shopping_tour 0.0 NaN \n", - "coef_high_income_group_and_visiting_tour 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_mediumhigh_income_group_and_discretionary_... 0.0 NaN \n", - "coef_mediumlow_income_group_and_discretionary_tour 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_1 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_i... 0.0 -999.0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_presence_of_driving_school_kid_and_discret... 0.0 NaN \n", - "coef_presence_of_driving_school_kid_and_eating_... 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_pre_driving_school_kid_and_eat... 0.0 NaN \n", - "coef_presence_of_pre_school_kid_and_eating_out_... 0.0 NaN \n", - "coef_presence_of_predriving_school_kid_in_house... 0.0 NaN \n", - "coef_presence_of_predriving_school_kid_in_house... 0.0 NaN \n", - "coef_presence_of_university_student_and_discret... 0.0 NaN \n", - "coef_total_number_of_tours_is_1 0.0 NaN \n", - "coef_total_number_of_tours_is_2 0.0 NaN \n", - "coef_total_number_of_tours_is_3 0.0 NaN \n", - "coef_urban_and_discretionary_tour 0.0 0.0 \n", - "coef_urban_and_maintenance_tour 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0000 -20.0 \n", + "coef_1_escort_tour_constant -0.4934 -20.0 \n", + "coef_1_plus_eating_out_tours_constant -0.0242 -20.0 \n", + "coef_1_plus_maintenance_tours_constant -0.4344 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant -0.2602 -20.0 \n", + "coef_1_plus_shopping_tours_constant 0.5320 -20.0 \n", + "coef_1_plus_visting_tours_constant 0.2367 -20.0 \n", + "coef_2_plus_escort_tours_constant 1.4155 -20.0 \n", + "coef_auto_access_to_retail_and_tour_frequency_i... 0.1004 -20.0 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... -0.6369 -20.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0.2902 -20.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 2.0352 -20.0 \n", + "coef_high_income_group_and_discretionary_tour 2.3270 -20.0 \n", + "coef_high_income_group_and_eating_out_tour 0.4916 -20.0 \n", + "coef_high_income_group_and_maintenance_tour 0.3982 -20.0 \n", + "coef_high_income_group_and_shopping_tour 0.2443 -20.0 \n", + "coef_high_income_group_and_visiting_tour 0.2858 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.3298 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.3759 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 3.2808 -20.0 \n", + "coef_mediumhigh_income_group_and_discretionary_... 1.4050 -20.0 \n", + "coef_mediumlow_income_group_and_discretionary_tour 0.9169 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_1 -0.2162 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 -0.3587 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 -4.2701 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0000 -999.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -0.2340 -20.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -0.9231 -20.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -6.5835 -20.0 \n", + "coef_presence_of_driving_school_kid_and_discret... -0.9202 -20.0 \n", + "coef_presence_of_driving_school_kid_and_eating_... -0.6377 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... -0.6571 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... -1.4044 -20.0 \n", + "coef_presence_of_pre_driving_school_kid_and_eat... -1.5698 -20.0 \n", + "coef_presence_of_pre_school_kid_and_eating_out_... -0.2987 -20.0 \n", + "coef_presence_of_predriving_school_kid_in_house... -0.3219 -20.0 \n", + "coef_presence_of_predriving_school_kid_in_house... -1.0874 -20.0 \n", + "coef_presence_of_university_student_and_discret... -1.2834 -20.0 \n", + "coef_total_number_of_tours_is_1 -7.1506 -20.0 \n", + "coef_total_number_of_tours_is_2 -11.1214 -20.0 \n", + "coef_total_number_of_tours_is_3 -13.1750 -20.0 \n", + "coef_urban_and_discretionary_tour 0.0000 0.0 \n", + "coef_urban_and_maintenance_tour 1.0394 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour NaN 0 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "coef_1_plus_shopping_tours_constant NaN 0 \n", - "coef_1_plus_visting_tours_constant NaN 0 \n", - "coef_2_plus_escort_tours_constant NaN 0 \n", - "coef_auto_access_to_retail_and_tour_frequency_i... NaN 0 \n", - "coef_car_shortage_vs_workers_and_tour_frequency... NaN 0 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... NaN 0 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... NaN 0 \n", - "coef_high_income_group_and_discretionary_tour NaN 0 \n", - "coef_high_income_group_and_eating_out_tour NaN 0 \n", - "coef_high_income_group_and_maintenance_tour NaN 0 \n", - "coef_high_income_group_and_shopping_tour NaN 0 \n", - "coef_high_income_group_and_visiting_tour NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_mediumhigh_income_group_and_discretionary_... NaN 0 \n", - "coef_mediumlow_income_group_and_discretionary_tour NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_1 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 1 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_presence_of_driving_school_kid_and_discret... NaN 0 \n", - "coef_presence_of_driving_school_kid_and_eating_... NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_pre_driving_school_kid_and_eat... NaN 0 \n", - "coef_presence_of_pre_school_kid_and_eating_out_... NaN 0 \n", - "coef_presence_of_predriving_school_kid_in_house... NaN 0 \n", - "coef_presence_of_predriving_school_kid_in_house... NaN 0 \n", - "coef_presence_of_university_student_and_discret... NaN 0 \n", - "coef_total_number_of_tours_is_1 NaN 0 \n", - "coef_total_number_of_tours_is_2 NaN 0 \n", - "coef_total_number_of_tours_is_3 NaN 0 \n", - "coef_urban_and_discretionary_tour 0.0 1 \n", - "coef_urban_and_maintenance_tour NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 20.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "coef_1_plus_shopping_tours_constant 20.0 0.0 \n", + "coef_1_plus_visting_tours_constant 20.0 0.0 \n", + "coef_2_plus_escort_tours_constant 20.0 0.0 \n", + "coef_auto_access_to_retail_and_tour_frequency_i... 20.0 0.0 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... 20.0 0.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 20.0 0.0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 20.0 0.0 \n", + "coef_high_income_group_and_discretionary_tour 20.0 0.0 \n", + "coef_high_income_group_and_eating_out_tour 20.0 0.0 \n", + "coef_high_income_group_and_maintenance_tour 20.0 0.0 \n", + "coef_high_income_group_and_shopping_tour 20.0 0.0 \n", + "coef_high_income_group_and_visiting_tour 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_mediumhigh_income_group_and_discretionary_... 20.0 0.0 \n", + "coef_mediumlow_income_group_and_discretionary_tour 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_1 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_presence_of_driving_school_kid_and_discret... 20.0 0.0 \n", + "coef_presence_of_driving_school_kid_and_eating_... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_pre_driving_school_kid_and_eat... 20.0 0.0 \n", + "coef_presence_of_pre_school_kid_and_eating_out_... 20.0 0.0 \n", + "coef_presence_of_predriving_school_kid_in_house... 20.0 0.0 \n", + "coef_presence_of_predriving_school_kid_in_house... 20.0 0.0 \n", + "coef_presence_of_university_student_and_discret... 20.0 0.0 \n", + "coef_total_number_of_tours_is_1 20.0 0.0 \n", + "coef_total_number_of_tours_is_2 20.0 0.0 \n", + "coef_total_number_of_tours_is_3 20.0 0.0 \n", + "coef_urban_and_discretionary_tour 0.0 0.0 \n", + "coef_urban_and_maintenance_tour 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -289.819438 \n", - "coef_1_escort_tour_constant -6434.961317 \n", - "coef_1_plus_eating_out_tours_constant -3885.411913 \n", - "coef_1_plus_maintenance_tours_constant -1195.807014 \n", - "coef_1_plus_other_discretionary_tours_constant -2406.806121 \n", - "coef_1_plus_shopping_tours_constant -2389.305945 \n", - "coef_1_plus_visting_tours_constant -2389.305996 \n", - "coef_2_plus_escort_tours_constant -5667.685401 \n", - "coef_auto_access_to_retail_and_tour_frequency_i... -44.188373 \n", - "coef_car_shortage_vs_workers_and_tour_frequency... -17232.832071 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... -4035.619542 \n", - "coef_car_surplus_vs_workers_and_tour_frequency_... 15225.992542 \n", - "coef_high_income_group_and_discretionary_tour 4481.084393 \n", - "coef_high_income_group_and_eating_out_tour -3157.273834 \n", - "coef_high_income_group_and_maintenance_tour 4461.484862 \n", - "coef_high_income_group_and_shopping_tour 4461.390803 \n", - "coef_high_income_group_and_visiting_tour 4461.390852 \n", - "coef_logged_maximum_residual_window_tour_freque... 16.594329 \n", - "coef_logged_maximum_residual_window_tour_freque... -19742.937757 \n", - "coef_logged_maximum_residual_window_tour_freque... -11491.665678 \n", - "coef_mediumhigh_income_group_and_discretionary_... 572.847509 \n", - "coef_mediumlow_income_group_and_discretionary_tour -4429.942211 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_1 -4180.353968 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 -1606.502880 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_3 -109.819329 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -16877.023970 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 12620.764595 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -4861.997912 \n", - "coef_presence_of_driving_school_kid_and_discret... -578.872073 \n", - "coef_presence_of_driving_school_kid_and_eating_... 6.381728 \n", - "coef_presence_of_non_worker_and_tour_frequency_... 878.008827 \n", - "coef_presence_of_non_worker_and_tour_frequency_... -1944.922644 \n", - "coef_presence_of_pre_driving_school_kid_and_eat... -164.906255 \n", - "coef_presence_of_pre_school_kid_and_eating_out_... 313.476309 \n", - "coef_presence_of_predriving_school_kid_in_house... 4033.566871 \n", - "coef_presence_of_predriving_school_kid_in_house... 10149.331976 \n", - "coef_presence_of_university_student_and_discret... 3906.378403 \n", - "coef_total_number_of_tours_is_1 15200.662337 \n", - "coef_total_number_of_tours_is_2 -1638.556186 \n", - "coef_total_number_of_tours_is_3 -14010.608324 \n", - "coef_urban_and_discretionary_tour 0.000000 \n", - "coef_urban_and_maintenance_tour -1194.333214 " + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 0 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "coef_1_plus_shopping_tours_constant 0 \n", + "coef_1_plus_visting_tours_constant 0 \n", + "coef_2_plus_escort_tours_constant 0 \n", + "coef_auto_access_to_retail_and_tour_frequency_i... 0 \n", + "coef_car_shortage_vs_workers_and_tour_frequency... 0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0 \n", + "coef_car_surplus_vs_workers_and_tour_frequency_... 0 \n", + "coef_high_income_group_and_discretionary_tour 0 \n", + "coef_high_income_group_and_eating_out_tour 0 \n", + "coef_high_income_group_and_maintenance_tour 0 \n", + "coef_high_income_group_and_shopping_tour 0 \n", + "coef_high_income_group_and_visiting_tour 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_mediumhigh_income_group_and_discretionary_... 0 \n", + "coef_mediumlow_income_group_and_discretionary_tour 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_1 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_3 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... 1 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_presence_of_driving_school_kid_and_discret... 0 \n", + "coef_presence_of_driving_school_kid_and_eating_... 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_pre_driving_school_kid_and_eat... 0 \n", + "coef_presence_of_pre_school_kid_and_eating_out_... 0 \n", + "coef_presence_of_predriving_school_kid_in_house... 0 \n", + "coef_presence_of_predriving_school_kid_in_house... 0 \n", + "coef_presence_of_university_student_and_discret... 0 \n", + "coef_total_number_of_tours_is_1 0 \n", + "coef_total_number_of_tours_is_2 0 \n", + "coef_total_number_of_tours_is_3 0 \n", + "coef_urban_and_discretionary_tour 1 \n", + "coef_urban_and_maintenance_tour 0 " ] }, "metadata": {}, @@ -4018,26 +9023,456 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 0.0 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 14 parameter estimators with negative variance\n", - "- coef_1_plus_maintenance_tours_constant\n", - "- coef_1_plus_other_discretionary_tours_constant\n", - "- coef_1_plus_shopping_tours_constant\n", - "- coef_1_plus_visting_tours_constant\n", - "- and 10 more\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.36 3.76-0.63 0.00
coef_1_escort_tour_constant-0.592 NA NA 0.00
coef_1_plus_eating_out_tours_constant-0.531 NA NA 0.00
coef_1_plus_maintenance_tours_constant-0.479 NA NA 0.00
coef_1_plus_other_discretionary_tours_constant 0.0751 NA NA 0.00
coef_1_plus_shopping_tours_constant 0.278 NA NA 0.00
coef_1_plus_visting_tours_constant 0.0747 NA NA 0.00
coef_2_plus_escort_tours_constant 0.539 NA NA 0.00
coef_auto_access_to_retail_and_tour_frequency_is_5_plus 0.121 0.110 1.10 0.00
coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus-0.896 0.225-3.98*** 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_1 0.385 0.160 2.40* 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus 1.92 0.421 4.55*** 0.00
coef_high_income_group_and_discretionary_tour 1.97 0.433 4.56*** 0.00
coef_high_income_group_and_eating_out_tour 1.12 0.412 2.71** 0.00
coef_high_income_group_and_maintenance_tour 0.536 0.283 1.89 0.00
coef_high_income_group_and_shopping_tour 0.298 0.256 1.17 0.00
coef_high_income_group_and_visiting_tour 0.657 0.266 2.47* 0.00
coef_logged_maximum_residual_window_tour_frequency_is_1 1.84 0.280 6.58*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_2 2.75 0.544 5.05*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 3.21 3.57 0.90 0.00
coef_mediumhigh_income_group_and_discretionary_tour 0.786 0.459 1.71 0.00
coef_mediumlow_income_group_and_discretionary_tour 0.716 0.472 1.52 0.00
coef_number_of_joint_tours_and_tour_frequency_is_1-0.0765 0.227-0.34 0.00
coef_number_of_joint_tours_and_tour_frequency_is_2-2.35 1.41-1.66 0.00
coef_number_of_joint_tours_and_tour_frequency_is_3-4.95 10.5-0.47 0.00
coef_number_of_joint_tours_and_tour_frequency_is_5_plus-999. 0.00 NA 0.00fixed value
coef_number_of_mandatory_tours_and_tour_frequency_is_1-0.717 0.256-2.80** 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_2-2.89 1.19-2.44* 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_3-6.49 8.76-0.74 0.00
coef_presence_of_driving_school_kid_and_discretionary_tour-0.826 0.330-2.50* 0.00
coef_presence_of_driving_school_kid_and_eating_out_tour-0.606 0.545-1.11 0.00
coef_presence_of_non_worker_and_tour_frequency_is_2-0.269 0.382-0.70 0.00
coef_presence_of_non_worker_and_tour_frequency_is_5-3.18 2.64-1.21 0.00
coef_presence_of_pre_driving_school_kid_and_eating_out_tour-1.45 0.500-2.90** 0.00
coef_presence_of_pre_school_kid_and_eating_out_tour-1.80 1.09-1.65 0.00
coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1-0.395 0.149-2.65** 0.00
coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5-1.99 0.501-3.96*** 0.00
coef_presence_of_university_student_and_discretionary_tour-1.66 0.377-4.42*** 0.00
coef_total_number_of_tours_is_1-7.92 NA NA 0.00
coef_total_number_of_tours_is_2-11.9 NA NA 0.00
coef_total_number_of_tours_is_3-13.2 NA NA 0.00
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_urban_and_maintenance_tour 1.13 0.259 4.36*** 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_SCHOOL\n" ] }, { "data": { "text/html": [ - "

Iteration 037 [Optimization terminated successfully]

" + "

Iteration 055 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -4049,7 +9484,7 @@ { "data": { "text/html": [ - "

Best LL = -256.78783276592117

" + "

Best LL = -5118.870584262372

" ], "text/plain": [ "" @@ -4080,538 +9515,517 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", + " -2.000000\n", " -2.0000\n", - " 0.0\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " -1.572081\n", + " -0.710427\n", + " -0.710427\n", " -0.7551\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.572081\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " -2.222210\n", + " 1.267594\n", + " 1.267594\n", " 1.1145\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.222210\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " -1.497135\n", + " -0.580534\n", + " -0.580534\n", " -0.5060\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.497135\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " 0.090818\n", + " 0.614538\n", + " 0.614538\n", " 0.4634\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.090818\n", " \n", " \n", " coef_1_plus_shopping_tours_constant\n", - " 1.474688\n", + " 1.037830\n", + " 1.037830\n", " 0.4783\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.474688\n", " \n", " \n", " coef_1_plus_visting_tours_constant\n", - " -1.792608\n", + " -0.445905\n", + " -0.445905\n", " -0.4006\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.792608\n", " \n", " \n", " coef_2_plus_escort_tours_constant\n", - " -2.059623\n", + " -0.076053\n", + " -0.076053\n", " -0.0086\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -2.059623\n", " \n", " \n", " coef_auto_access_to_retail_and_escorting\n", - " 0.555108\n", + " 0.063236\n", + " 0.063236\n", " 0.0629\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.555108\n", " \n", " \n", " coef_high_income_group_and_eating_out_tour\n", - " -1.361980\n", + " -0.810212\n", + " -0.810212\n", " -0.7010\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.361980\n", " \n", " \n", " coef_high_income_group_and_shopping_tour\n", - " -3.736670\n", + " -0.945693\n", + " -0.945693\n", " -0.6506\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -3.736670\n", " \n", " \n", " coef_high_income_group_and_tour_frequency_is_5_plus\n", - " 16.017262\n", + " 2.304674\n", + " 2.304674\n", " 2.0175\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 16.017262\n", " \n", " \n", " coef_logged_maximum_residual_window_tour_frequency_is_5_plus\n", - " 1.526025\n", + " 1.353636\n", + " 1.353636\n", " 1.5603\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.526025\n", " \n", " \n", " coef_mediumhigh_income_group_and_tour_frequency_is_5_plus\n", - " 15.096814\n", + " 1.811428\n", + " 1.811428\n", " 1.5197\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 15.096814\n", " \n", " \n", " coef_mediumlow_income_group_and_tour_frequency_is_5_plus\n", - " 14.227759\n", + " 1.143302\n", + " 1.143302\n", " 1.0873\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 14.227759\n", " \n", " \n", " coef_number_of_joint_maintenance_tours\n", " -1.347600\n", + " -1.347600\n", " -1.3476\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.347600\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_2\n", - " -1.197115\n", + " -0.540183\n", + " -0.540183\n", " -0.6149\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.197115\n", " \n", " \n", " coef_number_of_joint_tours_and_tour_frequency_is_5_plus\n", " -999.000000\n", + " -999.000000\n", " -999.0000\n", - " 0.0\n", " -999.0\n", " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_1\n", - " -9.889679\n", + " -1.256737\n", + " -1.256737\n", " -1.0331\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -9.889679\n", " \n", " \n", " coef_number_of_mandatory_tours_and_tour_frequency_is_3\n", - " -10.675107\n", + " -3.162364\n", + " -3.162364\n", " -2.7445\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -10.675107\n", " \n", " \n", " coef_presence_of_full_time_worker_and_discretionary_tour\n", - " 0.167217\n", + " 0.646457\n", + " 0.646457\n", " 0.7526\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.167217\n", " \n", " \n", " coef_presence_of_non_worker_and_eating_out_tour\n", - " -1.295662\n", + " -1.533575\n", + " -1.533575\n", " -1.3074\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.295662\n", " \n", " \n", " coef_presence_of_non_worker_and_shopping_tour\n", - " -1.353670\n", + " -0.760303\n", + " -0.760303\n", " -0.6450\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.353670\n", " \n", " \n", " coef_presence_of_non_worker_and_tour_frequency_is_5\n", - " -0.434686\n", + " 0.353557\n", + " 0.353557\n", " 0.2177\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.434686\n", " \n", " \n", " coef_presence_of_part_time_worker_and_discretionary_tour\n", - " -0.342155\n", + " 0.436183\n", + " 0.436183\n", " 0.3721\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.342155\n", " \n", " \n", " coef_presence_of_pre_driving_school_kid_and_shopping_tour\n", - " 1.415379\n", + " 0.745895\n", + " 0.745895\n", " 0.9365\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.415379\n", " \n", " \n", " coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5\n", - " 0.290181\n", + " -0.086497\n", + " -0.086497\n", " -0.2264\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.290181\n", " \n", " \n", " coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5\n", - " 0.328944\n", + " -0.357691\n", + " -0.357691\n", " -0.4439\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.328944\n", " \n", " \n", " coef_total_number_of_tours_is_1\n", - " -11.291182\n", + " -7.203758\n", + " -7.203758\n", " -7.4863\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -11.291182\n", " \n", " \n", " coef_total_number_of_tours_is_2\n", - " -13.228339\n", + " -10.489540\n", + " -10.489540\n", " -10.7180\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -13.228339\n", " \n", " \n", " coef_total_number_of_tours_is_3\n", - " -14.184905\n", + " -13.816990\n", + " -13.816990\n", " -13.7884\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -14.184905\n", " \n", " \n", " coef_urban_and_discretionary_tour\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_urban_and_escorting_tour\n", - " -4.483827\n", + " 0.728596\n", + " 0.728596\n", " 0.4352\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.483827\n", " \n", " \n", " coef_walk_access_to_retail_and_eating_out\n", - " 0.400103\n", + " 0.099568\n", + " 0.099568\n", " 0.0738\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.400103\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant -1.572081 -0.7551 \n", - "coef_1_plus_eating_out_tours_constant -2.222210 1.1145 \n", - "coef_1_plus_maintenance_tours_constant -1.497135 -0.5060 \n", - "coef_1_plus_other_discretionary_tours_constant 0.090818 0.4634 \n", - "coef_1_plus_shopping_tours_constant 1.474688 0.4783 \n", - "coef_1_plus_visting_tours_constant -1.792608 -0.4006 \n", - "coef_2_plus_escort_tours_constant -2.059623 -0.0086 \n", - "coef_auto_access_to_retail_and_escorting 0.555108 0.0629 \n", - "coef_high_income_group_and_eating_out_tour -1.361980 -0.7010 \n", - "coef_high_income_group_and_shopping_tour -3.736670 -0.6506 \n", - "coef_high_income_group_and_tour_frequency_is_5_... 16.017262 2.0175 \n", - "coef_logged_maximum_residual_window_tour_freque... 1.526025 1.5603 \n", - "coef_mediumhigh_income_group_and_tour_frequency... 15.096814 1.5197 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 14.227759 1.0873 \n", - "coef_number_of_joint_maintenance_tours -1.347600 -1.3476 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 -1.197115 -0.6149 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.0000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -9.889679 -1.0331 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -10.675107 -2.7445 \n", - "coef_presence_of_full_time_worker_and_discretio... 0.167217 0.7526 \n", - "coef_presence_of_non_worker_and_eating_out_tour -1.295662 -1.3074 \n", - "coef_presence_of_non_worker_and_shopping_tour -1.353670 -0.6450 \n", - "coef_presence_of_non_worker_and_tour_frequency_... -0.434686 0.2177 \n", - "coef_presence_of_part_time_worker_and_discretio... -0.342155 0.3721 \n", - "coef_presence_of_pre_driving_school_kid_and_sho... 1.415379 0.9365 \n", - "coef_presence_of_predriving_school_kid_in_house... 0.290181 -0.2264 \n", - "coef_presence_of_preschool_kid_in_household_and... 0.328944 -0.4439 \n", - "coef_total_number_of_tours_is_1 -11.291182 -7.4863 \n", - "coef_total_number_of_tours_is_2 -13.228339 -10.7180 \n", - "coef_total_number_of_tours_is_3 -14.184905 -13.7884 \n", - "coef_urban_and_discretionary_tour 0.000000 0.0000 \n", - "coef_urban_and_escorting_tour -4.483827 0.4352 \n", - "coef_walk_access_to_retail_and_eating_out 0.400103 0.0738 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 \n", + "coef_1_escort_tour_constant -0.710427 -0.710427 \n", + "coef_1_plus_eating_out_tours_constant 1.267594 1.267594 \n", + "coef_1_plus_maintenance_tours_constant -0.580534 -0.580534 \n", + "coef_1_plus_other_discretionary_tours_constant 0.614538 0.614538 \n", + "coef_1_plus_shopping_tours_constant 1.037830 1.037830 \n", + "coef_1_plus_visting_tours_constant -0.445905 -0.445905 \n", + "coef_2_plus_escort_tours_constant -0.076053 -0.076053 \n", + "coef_auto_access_to_retail_and_escorting 0.063236 0.063236 \n", + "coef_high_income_group_and_eating_out_tour -0.810212 -0.810212 \n", + "coef_high_income_group_and_shopping_tour -0.945693 -0.945693 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 2.304674 2.304674 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.353636 1.353636 \n", + "coef_mediumhigh_income_group_and_tour_frequency... 1.811428 1.811428 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 1.143302 1.143302 \n", + "coef_number_of_joint_maintenance_tours -1.347600 -1.347600 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 -0.540183 -0.540183 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 -999.000000 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -1.256737 -1.256737 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -3.162364 -3.162364 \n", + "coef_presence_of_full_time_worker_and_discretio... 0.646457 0.646457 \n", + "coef_presence_of_non_worker_and_eating_out_tour -1.533575 -1.533575 \n", + "coef_presence_of_non_worker_and_shopping_tour -0.760303 -0.760303 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.353557 0.353557 \n", + "coef_presence_of_part_time_worker_and_discretio... 0.436183 0.436183 \n", + "coef_presence_of_pre_driving_school_kid_and_sho... 0.745895 0.745895 \n", + "coef_presence_of_predriving_school_kid_in_house... -0.086497 -0.086497 \n", + "coef_presence_of_preschool_kid_in_household_and... -0.357691 -0.357691 \n", + "coef_total_number_of_tours_is_1 -7.203758 -7.203758 \n", + "coef_total_number_of_tours_is_2 -10.489540 -10.489540 \n", + "coef_total_number_of_tours_is_3 -13.816990 -13.816990 \n", + "coef_urban_and_discretionary_tour 0.000000 0.000000 \n", + "coef_urban_and_escorting_tour 0.728596 0.728596 \n", + "coef_walk_access_to_retail_and_eating_out 0.099568 0.099568 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", - "coef_1_plus_shopping_tours_constant 0.0 NaN \n", - "coef_1_plus_visting_tours_constant 0.0 NaN \n", - "coef_2_plus_escort_tours_constant 0.0 NaN \n", - "coef_auto_access_to_retail_and_escorting 0.0 NaN \n", - "coef_high_income_group_and_eating_out_tour 0.0 NaN \n", - "coef_high_income_group_and_shopping_tour 0.0 NaN \n", - "coef_high_income_group_and_tour_frequency_is_5_... 0.0 NaN \n", - "coef_logged_maximum_residual_window_tour_freque... 0.0 NaN \n", - "coef_mediumhigh_income_group_and_tour_frequency... 0.0 NaN \n", - "coef_mediumlow_income_group_and_tour_frequency_... 0.0 NaN \n", - "coef_number_of_joint_maintenance_tours 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 0.0 NaN \n", - "coef_number_of_joint_tours_and_tour_frequency_i... 0.0 -999.0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_number_of_mandatory_tours_and_tour_frequen... 0.0 NaN \n", - "coef_presence_of_full_time_worker_and_discretio... 0.0 NaN \n", - "coef_presence_of_non_worker_and_eating_out_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_shopping_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_tour_frequency_... 0.0 NaN \n", - "coef_presence_of_part_time_worker_and_discretio... 0.0 NaN \n", - "coef_presence_of_pre_driving_school_kid_and_sho... 0.0 NaN \n", - "coef_presence_of_predriving_school_kid_in_house... 0.0 NaN \n", - "coef_presence_of_preschool_kid_in_household_and... 0.0 NaN \n", - "coef_total_number_of_tours_is_1 0.0 NaN \n", - "coef_total_number_of_tours_is_2 0.0 NaN \n", - "coef_total_number_of_tours_is_3 0.0 NaN \n", - "coef_urban_and_discretionary_tour 0.0 0.0 \n", - "coef_urban_and_escorting_tour 0.0 NaN \n", - "coef_walk_access_to_retail_and_eating_out 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0000 -2.0 \n", + "coef_1_escort_tour_constant -0.7551 -20.0 \n", + "coef_1_plus_eating_out_tours_constant 1.1145 -20.0 \n", + "coef_1_plus_maintenance_tours_constant -0.5060 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant 0.4634 -20.0 \n", + "coef_1_plus_shopping_tours_constant 0.4783 -20.0 \n", + "coef_1_plus_visting_tours_constant -0.4006 -20.0 \n", + "coef_2_plus_escort_tours_constant -0.0086 -20.0 \n", + "coef_auto_access_to_retail_and_escorting 0.0629 -20.0 \n", + "coef_high_income_group_and_eating_out_tour -0.7010 -20.0 \n", + "coef_high_income_group_and_shopping_tour -0.6506 -20.0 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 2.0175 -20.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 1.5603 -20.0 \n", + "coef_mediumhigh_income_group_and_tour_frequency... 1.5197 -20.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 1.0873 -20.0 \n", + "coef_number_of_joint_maintenance_tours -1.3476 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 -0.6149 -20.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0000 -999.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -1.0331 -20.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... -2.7445 -20.0 \n", + "coef_presence_of_full_time_worker_and_discretio... 0.7526 -20.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour -1.3074 -20.0 \n", + "coef_presence_of_non_worker_and_shopping_tour -0.6450 -20.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0.2177 -20.0 \n", + "coef_presence_of_part_time_worker_and_discretio... 0.3721 -20.0 \n", + "coef_presence_of_pre_driving_school_kid_and_sho... 0.9365 -20.0 \n", + "coef_presence_of_predriving_school_kid_in_house... -0.2264 -20.0 \n", + "coef_presence_of_preschool_kid_in_household_and... -0.4439 -20.0 \n", + "coef_total_number_of_tours_is_1 -7.4863 -20.0 \n", + "coef_total_number_of_tours_is_2 -10.7180 -20.0 \n", + "coef_total_number_of_tours_is_3 -13.7884 -20.0 \n", + "coef_urban_and_discretionary_tour 0.0000 0.0 \n", + "coef_urban_and_escorting_tour 0.4352 -20.0 \n", + "coef_walk_access_to_retail_and_eating_out 0.0738 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour -2.0 1 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "coef_1_plus_shopping_tours_constant NaN 0 \n", - "coef_1_plus_visting_tours_constant NaN 0 \n", - "coef_2_plus_escort_tours_constant NaN 0 \n", - "coef_auto_access_to_retail_and_escorting NaN 0 \n", - "coef_high_income_group_and_eating_out_tour NaN 0 \n", - "coef_high_income_group_and_shopping_tour NaN 0 \n", - "coef_high_income_group_and_tour_frequency_is_5_... NaN 0 \n", - "coef_logged_maximum_residual_window_tour_freque... NaN 0 \n", - "coef_mediumhigh_income_group_and_tour_frequency... NaN 0 \n", - "coef_mediumlow_income_group_and_tour_frequency_... NaN 0 \n", - "coef_number_of_joint_maintenance_tours NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 NaN 0 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 1 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... NaN 0 \n", - "coef_presence_of_full_time_worker_and_discretio... NaN 0 \n", - "coef_presence_of_non_worker_and_eating_out_tour NaN 0 \n", - "coef_presence_of_non_worker_and_shopping_tour NaN 0 \n", - "coef_presence_of_non_worker_and_tour_frequency_... NaN 0 \n", - "coef_presence_of_part_time_worker_and_discretio... NaN 0 \n", - "coef_presence_of_pre_driving_school_kid_and_sho... NaN 0 \n", - "coef_presence_of_predriving_school_kid_in_house... NaN 0 \n", - "coef_presence_of_preschool_kid_in_household_and... NaN 0 \n", - "coef_total_number_of_tours_is_1 NaN 0 \n", - "coef_total_number_of_tours_is_2 NaN 0 \n", - "coef_total_number_of_tours_is_3 NaN 0 \n", - "coef_urban_and_discretionary_tour 0.0 1 \n", - "coef_urban_and_escorting_tour NaN 0 \n", - "coef_walk_access_to_retail_and_eating_out NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "coef_1_plus_shopping_tours_constant 20.0 0.0 \n", + "coef_1_plus_visting_tours_constant 20.0 0.0 \n", + "coef_2_plus_escort_tours_constant 20.0 0.0 \n", + "coef_auto_access_to_retail_and_escorting 20.0 0.0 \n", + "coef_high_income_group_and_eating_out_tour 20.0 0.0 \n", + "coef_high_income_group_and_shopping_tour 20.0 0.0 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 20.0 0.0 \n", + "coef_logged_maximum_residual_window_tour_freque... 20.0 0.0 \n", + "coef_mediumhigh_income_group_and_tour_frequency... 20.0 0.0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 20.0 0.0 \n", + "coef_number_of_joint_maintenance_tours 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 20.0 0.0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... -999.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 20.0 0.0 \n", + "coef_presence_of_full_time_worker_and_discretio... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_shopping_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 20.0 0.0 \n", + "coef_presence_of_part_time_worker_and_discretio... 20.0 0.0 \n", + "coef_presence_of_pre_driving_school_kid_and_sho... 20.0 0.0 \n", + "coef_presence_of_predriving_school_kid_in_house... 20.0 0.0 \n", + "coef_presence_of_preschool_kid_in_household_and... 20.0 0.0 \n", + "coef_total_number_of_tours_is_1 20.0 0.0 \n", + "coef_total_number_of_tours_is_2 20.0 0.0 \n", + "coef_total_number_of_tours_is_3 20.0 0.0 \n", + "coef_urban_and_discretionary_tour 0.0 0.0 \n", + "coef_urban_and_escorting_tour 20.0 0.0 \n", + "coef_walk_access_to_retail_and_eating_out 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -2.000000 \n", - "coef_1_escort_tour_constant -1.572081 \n", - "coef_1_plus_eating_out_tours_constant -2.222210 \n", - "coef_1_plus_maintenance_tours_constant -1.497135 \n", - "coef_1_plus_other_discretionary_tours_constant 0.090818 \n", - "coef_1_plus_shopping_tours_constant 1.474688 \n", - "coef_1_plus_visting_tours_constant -1.792608 \n", - "coef_2_plus_escort_tours_constant -2.059623 \n", - "coef_auto_access_to_retail_and_escorting 0.555108 \n", - "coef_high_income_group_and_eating_out_tour -1.361980 \n", - "coef_high_income_group_and_shopping_tour -3.736670 \n", - "coef_high_income_group_and_tour_frequency_is_5_... 16.017262 \n", - "coef_logged_maximum_residual_window_tour_freque... 1.526025 \n", - "coef_mediumhigh_income_group_and_tour_frequency... 15.096814 \n", - "coef_mediumlow_income_group_and_tour_frequency_... 14.227759 \n", - "coef_number_of_joint_maintenance_tours -1.347600 \n", - "coef_number_of_joint_tours_and_tour_frequency_is_2 -1.197115 \n", - "coef_number_of_joint_tours_and_tour_frequency_i... -999.000000 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -9.889679 \n", - "coef_number_of_mandatory_tours_and_tour_frequen... -10.675107 \n", - "coef_presence_of_full_time_worker_and_discretio... 0.167217 \n", - "coef_presence_of_non_worker_and_eating_out_tour -1.295662 \n", - "coef_presence_of_non_worker_and_shopping_tour -1.353670 \n", - "coef_presence_of_non_worker_and_tour_frequency_... -0.434686 \n", - "coef_presence_of_part_time_worker_and_discretio... -0.342155 \n", - "coef_presence_of_pre_driving_school_kid_and_sho... 1.415379 \n", - "coef_presence_of_predriving_school_kid_in_house... 0.290181 \n", - "coef_presence_of_preschool_kid_in_household_and... 0.328944 \n", - "coef_total_number_of_tours_is_1 -11.291182 \n", - "coef_total_number_of_tours_is_2 -13.228339 \n", - "coef_total_number_of_tours_is_3 -14.184905 \n", - "coef_urban_and_discretionary_tour 0.000000 \n", - "coef_urban_and_escorting_tour -4.483827 \n", - "coef_walk_access_to_retail_and_eating_out 0.400103 " + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "coef_1_plus_shopping_tours_constant 0 \n", + "coef_1_plus_visting_tours_constant 0 \n", + "coef_2_plus_escort_tours_constant 0 \n", + "coef_auto_access_to_retail_and_escorting 0 \n", + "coef_high_income_group_and_eating_out_tour 0 \n", + "coef_high_income_group_and_shopping_tour 0 \n", + "coef_high_income_group_and_tour_frequency_is_5_... 0 \n", + "coef_logged_maximum_residual_window_tour_freque... 0 \n", + "coef_mediumhigh_income_group_and_tour_frequency... 0 \n", + "coef_mediumlow_income_group_and_tour_frequency_... 0 \n", + "coef_number_of_joint_maintenance_tours 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_is_2 0 \n", + "coef_number_of_joint_tours_and_tour_frequency_i... 1 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_number_of_mandatory_tours_and_tour_frequen... 0 \n", + "coef_presence_of_full_time_worker_and_discretio... 0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 0 \n", + "coef_presence_of_non_worker_and_shopping_tour 0 \n", + "coef_presence_of_non_worker_and_tour_frequency_... 0 \n", + "coef_presence_of_part_time_worker_and_discretio... 0 \n", + "coef_presence_of_pre_driving_school_kid_and_sho... 0 \n", + "coef_presence_of_predriving_school_kid_in_house... 0 \n", + "coef_presence_of_preschool_kid_in_household_and... 0 \n", + "coef_total_number_of_tours_is_1 0 \n", + "coef_total_number_of_tours_is_2 0 \n", + "coef_total_number_of_tours_is_3 0 \n", + "coef_urban_and_discretionary_tour 1 \n", + "coef_urban_and_escorting_tour 0 \n", + "coef_walk_access_to_retail_and_eating_out 0 " ] }, "metadata": {}, @@ -4621,24 +10035,375 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.064162929131762e-17 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 3 parameter estimators with negative variance\n", - "- coef_1_escort_tour_constant\n", - "- coef_2_plus_escort_tours_constant\n", - "- coef_urban_and_escorting_tour\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant-0.710 191.-0.00 0.00
coef_1_plus_eating_out_tours_constant 1.27 191. 0.01 0.00
coef_1_plus_maintenance_tours_constant-0.581 191.-0.00 0.00
coef_1_plus_other_discretionary_tours_constant 0.615 191. 0.00 0.00
coef_1_plus_shopping_tours_constant 1.04 191. 0.01 0.00
coef_1_plus_visting_tours_constant-0.446 191.-0.00 0.00
coef_2_plus_escort_tours_constant-0.0761 382.-0.00 0.00
coef_auto_access_to_retail_and_escorting 0.0632 0.112 0.56 0.00
coef_high_income_group_and_eating_out_tour-0.810 0.242-3.35*** 0.00
coef_high_income_group_and_shopping_tour-0.946 0.239-3.95*** 0.00
coef_high_income_group_and_tour_frequency_is_5_plus 2.30 0.217 10.62*** 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 1.35 0.147 9.23*** 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_5_plus 1.81 0.217 8.33*** 0.00
coef_mediumlow_income_group_and_tour_frequency_is_5_plus 1.14 0.225 5.08*** 0.00
coef_number_of_joint_maintenance_tours-1.35 NA NA 0.00
coef_number_of_joint_tours_and_tour_frequency_is_2-0.540 0.138-3.92*** 0.00
coef_number_of_joint_tours_and_tour_frequency_is_5_plus-999. 0.00 NA 0.00fixed value
coef_number_of_mandatory_tours_and_tour_frequency_is_1-1.26 0.206-6.10*** 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_3-3.16 0.312-10.14*** 0.00
coef_presence_of_full_time_worker_and_discretionary_tour 0.646 0.148 4.36*** 0.00
coef_presence_of_non_worker_and_eating_out_tour-1.53 0.168-9.11*** 0.00
coef_presence_of_non_worker_and_shopping_tour-0.760 0.151-5.05*** 0.00
coef_presence_of_non_worker_and_tour_frequency_is_5 0.354 0.0883 4.01*** 0.00
coef_presence_of_part_time_worker_and_discretionary_tour 0.436 0.0926 4.71*** 0.00
coef_presence_of_pre_driving_school_kid_and_shopping_tour 0.746 0.150 4.98*** 0.00
coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5-0.0865 0.0791-1.09 0.00
coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5-0.358 0.0910-3.93*** 0.00
coef_total_number_of_tours_is_1-7.20 191.-0.04 0.00
coef_total_number_of_tours_is_2-10.5 382.-0.03 0.00
coef_total_number_of_tours_is_3-13.8 574.-0.02 0.00
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_urban_and_escorting_tour 0.729 0.147 4.97*** 0.00
coef_walk_access_to_retail_and_eating_out 0.0996 0.0402 2.47* 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model PTYPE_PRESCHOOL\n" ] }, { "data": { "text/html": [ - "

Iteration 030 [Optimization terminated successfully]

" + "

Iteration 074 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -4650,7 +10415,7 @@ { "data": { "text/html": [ - "

Best LL = -225.00971520122772

" + "

Best LL = -3515.750312068413

" ], "text/plain": [ "" @@ -4681,403 +10446,391 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_0_auto_household_and_escorting_tour\n", " -2.000000\n", - " -2.0000\n", - " 0.0\n", + " -2.000000\n", + " -2.000000\n", " -2.0\n", " -2.0\n", + " 0.0\n", " 1\n", - " \n", - " -2.000000\n", " \n", " \n", " coef_1_escort_tour_constant\n", - " 0.179651\n", - " 0.3622\n", + " 0.274841\n", + " 0.274841\n", + " 0.362200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.179651\n", " \n", " \n", " coef_1_plus_eating_out_tours_constant\n", - " 0.204827\n", - " 0.9612\n", + " -0.253387\n", + " -0.253387\n", + " 0.961200\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.204827\n", " \n", " \n", " coef_1_plus_maintenance_tours_constant\n", - " 0.073169\n", - " 0.6788\n", + " 0.316648\n", + " 0.316648\n", + " 0.678800\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.073169\n", " \n", " \n", " coef_1_plus_other_discretionary_tours_constant\n", - " 1.133662\n", - " 1.4935\n", + " 1.168896\n", + " 1.168896\n", + " 1.493500\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.133662\n", " \n", " \n", " coef_1_plus_shopping_tours_constant\n", - " 0.785367\n", - " 1.6919\n", + " 1.139680\n", + " 1.139680\n", + " 1.691900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.785367\n", " \n", " \n", " coef_1_plus_visting_tours_constant\n", - " -0.011286\n", - " 0.4424\n", + " 0.059049\n", + " 0.059049\n", + " 0.442400\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.011286\n", " \n", " \n", " coef_2_plus_escort_tours_constant\n", - " 1.744429\n", - " 2.2219\n", + " 1.941139\n", + " 1.941139\n", + " 2.221900\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.744429\n", " \n", " \n", " coef_discretionary_tour\n", - " 0.543162\n", - " 0.9030\n", + " 0.578396\n", + " 0.578396\n", + " 0.903000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.543162\n", " \n", " \n", " coef_escorting_tour\n", - " 1.353509\n", - " 2.4910\n", + " 1.842119\n", + " 1.842119\n", + " 2.491000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.353509\n", " \n", " \n", " coef_maintenance_tour\n", - " 0.416369\n", - " 1.0220\n", + " 0.659848\n", + " 0.659848\n", + " 1.022000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.416369\n", " \n", " \n", " coef_presence_of_full_time_worker_and_escorting_tour\n", - " -0.613492\n", - " -0.8930\n", + " -0.928522\n", + " -0.928522\n", + " -0.893000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.613492\n", " \n", " \n", " coef_presence_of_non_worker_and_discretionary_tour\n", - " 0.013879\n", - " 0.7910\n", + " 0.693868\n", + " 0.693868\n", + " 0.791000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.013879\n", " \n", " \n", " coef_presence_of_non_worker_and_eating_out_tour\n", - " 1.115052\n", - " 1.1570\n", + " 1.549677\n", + " 1.549677\n", + " 1.157000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.115052\n", " \n", " \n", " coef_presence_of_non_worker_and_escorting_tour\n", - " 0.890993\n", - " 0.8900\n", + " 0.960167\n", + " 0.960167\n", + " 0.890000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.890993\n", " \n", " \n", " coef_presence_of_non_worker_and_shopping_tour\n", - " 0.231053\n", - " 0.8080\n", + " 0.669579\n", + " 0.669579\n", + " 0.808000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.231053\n", " \n", " \n", " coef_presence_of_part_time_worker_and_eating_out_tour\n", - " 1.392675\n", - " 1.0370\n", + " 1.135686\n", + " 1.135686\n", + " 1.037000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.392675\n", " \n", " \n", " coef_presence_of_part_time_worker_and_shopping_tour\n", - " 1.044044\n", - " 1.1550\n", + " 1.013348\n", + " 1.013348\n", + " 1.155000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.044044\n", " \n", " \n", " coef_total_number_of_tours_is_1\n", - " -4.436747\n", - " -5.7590\n", + " -4.911268\n", + " -4.911268\n", + " -5.759000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -4.436747\n", " \n", " \n", " coef_total_number_of_tours_is_2\n", - " -9.039558\n", - " -11.5170\n", + " -9.965345\n", + " -9.965345\n", + " -11.517000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -9.039558\n", " \n", " \n", " coef_total_number_of_tours_is_3\n", - " -12.714429\n", - " -17.2760\n", + " -15.118161\n", + " -15.118161\n", + " -17.275999\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -12.714429\n", " \n", " \n", " coef_total_number_of_tours_is_4\n", - " -29.080351\n", - " -23.0350\n", + " -19.999999\n", + " -19.999999\n", + " -23.035000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -29.080351\n", " \n", " \n", " coef_total_number_of_tours_is_6_plus\n", " -999.000000\n", - " -999.0000\n", - " 0.0\n", + " -999.000000\n", + " -999.000000\n", " -999.0\n", " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_urban_and_discretionary_tour\n", " 0.000000\n", - " 0.0000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_visiting_or_social_tour\n", - " 0.315314\n", - " 0.7690\n", + " 0.385649\n", + " 0.385649\n", + " 0.769000\n", + " -20.0\n", + " 20.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.315314\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_0_auto_household_and_escorting_tour -2.000000 -2.0000 \n", - "coef_1_escort_tour_constant 0.179651 0.3622 \n", - "coef_1_plus_eating_out_tours_constant 0.204827 0.9612 \n", - "coef_1_plus_maintenance_tours_constant 0.073169 0.6788 \n", - "coef_1_plus_other_discretionary_tours_constant 1.133662 1.4935 \n", - "coef_1_plus_shopping_tours_constant 0.785367 1.6919 \n", - "coef_1_plus_visting_tours_constant -0.011286 0.4424 \n", - "coef_2_plus_escort_tours_constant 1.744429 2.2219 \n", - "coef_discretionary_tour 0.543162 0.9030 \n", - "coef_escorting_tour 1.353509 2.4910 \n", - "coef_maintenance_tour 0.416369 1.0220 \n", - "coef_presence_of_full_time_worker_and_escorting... -0.613492 -0.8930 \n", - "coef_presence_of_non_worker_and_discretionary_tour 0.013879 0.7910 \n", - "coef_presence_of_non_worker_and_eating_out_tour 1.115052 1.1570 \n", - "coef_presence_of_non_worker_and_escorting_tour 0.890993 0.8900 \n", - "coef_presence_of_non_worker_and_shopping_tour 0.231053 0.8080 \n", - "coef_presence_of_part_time_worker_and_eating_ou... 1.392675 1.0370 \n", - "coef_presence_of_part_time_worker_and_shopping_... 1.044044 1.1550 \n", - "coef_total_number_of_tours_is_1 -4.436747 -5.7590 \n", - "coef_total_number_of_tours_is_2 -9.039558 -11.5170 \n", - "coef_total_number_of_tours_is_3 -12.714429 -17.2760 \n", - "coef_total_number_of_tours_is_4 -29.080351 -23.0350 \n", - "coef_total_number_of_tours_is_6_plus -999.000000 -999.0000 \n", - "coef_urban_and_discretionary_tour 0.000000 0.0000 \n", - "coef_visiting_or_social_tour 0.315314 0.7690 \n", + " value best \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.000000 \n", + "coef_1_escort_tour_constant 0.274841 0.274841 \n", + "coef_1_plus_eating_out_tours_constant -0.253387 -0.253387 \n", + "coef_1_plus_maintenance_tours_constant 0.316648 0.316648 \n", + "coef_1_plus_other_discretionary_tours_constant 1.168896 1.168896 \n", + "coef_1_plus_shopping_tours_constant 1.139680 1.139680 \n", + "coef_1_plus_visting_tours_constant 0.059049 0.059049 \n", + "coef_2_plus_escort_tours_constant 1.941139 1.941139 \n", + "coef_discretionary_tour 0.578396 0.578396 \n", + "coef_escorting_tour 1.842119 1.842119 \n", + "coef_maintenance_tour 0.659848 0.659848 \n", + "coef_presence_of_full_time_worker_and_escorting... -0.928522 -0.928522 \n", + "coef_presence_of_non_worker_and_discretionary_tour 0.693868 0.693868 \n", + "coef_presence_of_non_worker_and_eating_out_tour 1.549677 1.549677 \n", + "coef_presence_of_non_worker_and_escorting_tour 0.960167 0.960167 \n", + "coef_presence_of_non_worker_and_shopping_tour 0.669579 0.669579 \n", + "coef_presence_of_part_time_worker_and_eating_ou... 1.135686 1.135686 \n", + "coef_presence_of_part_time_worker_and_shopping_... 1.013348 1.013348 \n", + "coef_total_number_of_tours_is_1 -4.911268 -4.911268 \n", + "coef_total_number_of_tours_is_2 -9.965345 -9.965345 \n", + "coef_total_number_of_tours_is_3 -15.118161 -15.118161 \n", + "coef_total_number_of_tours_is_4 -19.999999 -19.999999 \n", + "coef_total_number_of_tours_is_6_plus -999.000000 -999.000000 \n", + "coef_urban_and_discretionary_tour 0.000000 0.000000 \n", + "coef_visiting_or_social_tour 0.385649 0.385649 \n", "\n", - " nullvalue minimum \\\n", - "coef_0_auto_household_and_escorting_tour 0.0 -2.0 \n", - "coef_1_escort_tour_constant 0.0 NaN \n", - "coef_1_plus_eating_out_tours_constant 0.0 NaN \n", - "coef_1_plus_maintenance_tours_constant 0.0 NaN \n", - "coef_1_plus_other_discretionary_tours_constant 0.0 NaN \n", - "coef_1_plus_shopping_tours_constant 0.0 NaN \n", - "coef_1_plus_visting_tours_constant 0.0 NaN \n", - "coef_2_plus_escort_tours_constant 0.0 NaN \n", - "coef_discretionary_tour 0.0 NaN \n", - "coef_escorting_tour 0.0 NaN \n", - "coef_maintenance_tour 0.0 NaN \n", - "coef_presence_of_full_time_worker_and_escorting... 0.0 NaN \n", - "coef_presence_of_non_worker_and_discretionary_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_eating_out_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_escorting_tour 0.0 NaN \n", - "coef_presence_of_non_worker_and_shopping_tour 0.0 NaN \n", - "coef_presence_of_part_time_worker_and_eating_ou... 0.0 NaN \n", - "coef_presence_of_part_time_worker_and_shopping_... 0.0 NaN \n", - "coef_total_number_of_tours_is_1 0.0 NaN \n", - "coef_total_number_of_tours_is_2 0.0 NaN \n", - "coef_total_number_of_tours_is_3 0.0 NaN \n", - "coef_total_number_of_tours_is_4 0.0 NaN \n", - "coef_total_number_of_tours_is_6_plus 0.0 -999.0 \n", - "coef_urban_and_discretionary_tour 0.0 0.0 \n", - "coef_visiting_or_social_tour 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.000000 -2.0 \n", + "coef_1_escort_tour_constant 0.362200 -20.0 \n", + "coef_1_plus_eating_out_tours_constant 0.961200 -20.0 \n", + "coef_1_plus_maintenance_tours_constant 0.678800 -20.0 \n", + "coef_1_plus_other_discretionary_tours_constant 1.493500 -20.0 \n", + "coef_1_plus_shopping_tours_constant 1.691900 -20.0 \n", + "coef_1_plus_visting_tours_constant 0.442400 -20.0 \n", + "coef_2_plus_escort_tours_constant 2.221900 -20.0 \n", + "coef_discretionary_tour 0.903000 -20.0 \n", + "coef_escorting_tour 2.491000 -20.0 \n", + "coef_maintenance_tour 1.022000 -20.0 \n", + "coef_presence_of_full_time_worker_and_escorting... -0.893000 -20.0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 0.791000 -20.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 1.157000 -20.0 \n", + "coef_presence_of_non_worker_and_escorting_tour 0.890000 -20.0 \n", + "coef_presence_of_non_worker_and_shopping_tour 0.808000 -20.0 \n", + "coef_presence_of_part_time_worker_and_eating_ou... 1.037000 -20.0 \n", + "coef_presence_of_part_time_worker_and_shopping_... 1.155000 -20.0 \n", + "coef_total_number_of_tours_is_1 -5.759000 -20.0 \n", + "coef_total_number_of_tours_is_2 -11.517000 -20.0 \n", + "coef_total_number_of_tours_is_3 -17.275999 -20.0 \n", + "coef_total_number_of_tours_is_4 -23.035000 -20.0 \n", + "coef_total_number_of_tours_is_6_plus -999.000000 -999.0 \n", + "coef_urban_and_discretionary_tour 0.000000 0.0 \n", + "coef_visiting_or_social_tour 0.769000 -20.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_0_auto_household_and_escorting_tour -2.0 1 \n", - "coef_1_escort_tour_constant NaN 0 \n", - "coef_1_plus_eating_out_tours_constant NaN 0 \n", - "coef_1_plus_maintenance_tours_constant NaN 0 \n", - "coef_1_plus_other_discretionary_tours_constant NaN 0 \n", - "coef_1_plus_shopping_tours_constant NaN 0 \n", - "coef_1_plus_visting_tours_constant NaN 0 \n", - "coef_2_plus_escort_tours_constant NaN 0 \n", - "coef_discretionary_tour NaN 0 \n", - "coef_escorting_tour NaN 0 \n", - "coef_maintenance_tour NaN 0 \n", - "coef_presence_of_full_time_worker_and_escorting... NaN 0 \n", - "coef_presence_of_non_worker_and_discretionary_tour NaN 0 \n", - "coef_presence_of_non_worker_and_eating_out_tour NaN 0 \n", - "coef_presence_of_non_worker_and_escorting_tour NaN 0 \n", - "coef_presence_of_non_worker_and_shopping_tour NaN 0 \n", - "coef_presence_of_part_time_worker_and_eating_ou... NaN 0 \n", - "coef_presence_of_part_time_worker_and_shopping_... NaN 0 \n", - "coef_total_number_of_tours_is_1 NaN 0 \n", - "coef_total_number_of_tours_is_2 NaN 0 \n", - "coef_total_number_of_tours_is_3 NaN 0 \n", - "coef_total_number_of_tours_is_4 NaN 0 \n", - "coef_total_number_of_tours_is_6_plus -999.0 1 \n", - "coef_urban_and_discretionary_tour 0.0 1 \n", - "coef_visiting_or_social_tour NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour -2.0 0.0 \n", + "coef_1_escort_tour_constant 20.0 0.0 \n", + "coef_1_plus_eating_out_tours_constant 20.0 0.0 \n", + "coef_1_plus_maintenance_tours_constant 20.0 0.0 \n", + "coef_1_plus_other_discretionary_tours_constant 20.0 0.0 \n", + "coef_1_plus_shopping_tours_constant 20.0 0.0 \n", + "coef_1_plus_visting_tours_constant 20.0 0.0 \n", + "coef_2_plus_escort_tours_constant 20.0 0.0 \n", + "coef_discretionary_tour 20.0 0.0 \n", + "coef_escorting_tour 20.0 0.0 \n", + "coef_maintenance_tour 20.0 0.0 \n", + "coef_presence_of_full_time_worker_and_escorting... 20.0 0.0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_escorting_tour 20.0 0.0 \n", + "coef_presence_of_non_worker_and_shopping_tour 20.0 0.0 \n", + "coef_presence_of_part_time_worker_and_eating_ou... 20.0 0.0 \n", + "coef_presence_of_part_time_worker_and_shopping_... 20.0 0.0 \n", + "coef_total_number_of_tours_is_1 20.0 0.0 \n", + "coef_total_number_of_tours_is_2 20.0 0.0 \n", + "coef_total_number_of_tours_is_3 20.0 0.0 \n", + "coef_total_number_of_tours_is_4 20.0 0.0 \n", + "coef_total_number_of_tours_is_6_plus -999.0 0.0 \n", + "coef_urban_and_discretionary_tour 0.0 0.0 \n", + "coef_visiting_or_social_tour 20.0 0.0 \n", "\n", - " best \n", - "coef_0_auto_household_and_escorting_tour -2.000000 \n", - "coef_1_escort_tour_constant 0.179651 \n", - "coef_1_plus_eating_out_tours_constant 0.204827 \n", - "coef_1_plus_maintenance_tours_constant 0.073169 \n", - "coef_1_plus_other_discretionary_tours_constant 1.133662 \n", - "coef_1_plus_shopping_tours_constant 0.785367 \n", - "coef_1_plus_visting_tours_constant -0.011286 \n", - "coef_2_plus_escort_tours_constant 1.744429 \n", - "coef_discretionary_tour 0.543162 \n", - "coef_escorting_tour 1.353509 \n", - "coef_maintenance_tour 0.416369 \n", - "coef_presence_of_full_time_worker_and_escorting... -0.613492 \n", - "coef_presence_of_non_worker_and_discretionary_tour 0.013879 \n", - "coef_presence_of_non_worker_and_eating_out_tour 1.115052 \n", - "coef_presence_of_non_worker_and_escorting_tour 0.890993 \n", - "coef_presence_of_non_worker_and_shopping_tour 0.231053 \n", - "coef_presence_of_part_time_worker_and_eating_ou... 1.392675 \n", - "coef_presence_of_part_time_worker_and_shopping_... 1.044044 \n", - "coef_total_number_of_tours_is_1 -4.436747 \n", - "coef_total_number_of_tours_is_2 -9.039558 \n", - "coef_total_number_of_tours_is_3 -12.714429 \n", - "coef_total_number_of_tours_is_4 -29.080351 \n", - "coef_total_number_of_tours_is_6_plus -999.000000 \n", - "coef_urban_and_discretionary_tour 0.000000 \n", - "coef_visiting_or_social_tour 0.315314 " + " holdfast \n", + "param_name \n", + "coef_0_auto_household_and_escorting_tour 1 \n", + "coef_1_escort_tour_constant 0 \n", + "coef_1_plus_eating_out_tours_constant 0 \n", + "coef_1_plus_maintenance_tours_constant 0 \n", + "coef_1_plus_other_discretionary_tours_constant 0 \n", + "coef_1_plus_shopping_tours_constant 0 \n", + "coef_1_plus_visting_tours_constant 0 \n", + "coef_2_plus_escort_tours_constant 0 \n", + "coef_discretionary_tour 0 \n", + "coef_escorting_tour 0 \n", + "coef_maintenance_tour 0 \n", + "coef_presence_of_full_time_worker_and_escorting... 0 \n", + "coef_presence_of_non_worker_and_discretionary_tour 0 \n", + "coef_presence_of_non_worker_and_eating_out_tour 0 \n", + "coef_presence_of_non_worker_and_escorting_tour 0 \n", + "coef_presence_of_non_worker_and_shopping_tour 0 \n", + "coef_presence_of_part_time_worker_and_eating_ou... 0 \n", + "coef_presence_of_part_time_worker_and_shopping_... 0 \n", + "coef_total_number_of_tours_is_1 0 \n", + "coef_total_number_of_tours_is_2 0 \n", + "coef_total_number_of_tours_is_3 0 \n", + "coef_total_number_of_tours_is_4 0 \n", + "coef_total_number_of_tours_is_6_plus 1 \n", + "coef_urban_and_discretionary_tour 1 \n", + "coef_visiting_or_social_tour 0 " ] }, "metadata": {}, @@ -5087,873 +10840,307 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " m.estimate(method='SLSQP')\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/linalg/__init__.py:18: UserWarning: minimum eig 2.8528068249273466e-08 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: PossibleOverspecification: WARNING: Model seems to have 14 parameter estimators with negative variance\n", - "- coef_1_escort_tour_constant\n", - "- coef_1_plus_eating_out_tours_constant\n", - "- coef_1_plus_maintenance_tours_constant\n", - "- coef_1_plus_shopping_tours_constant\n", - "- and 10 more\n", - " m.estimate(method='SLSQP')\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_48972/89088409.py:2: RuntimeWarning: invalid value encountered in sqrt\n", - " m.estimate(method='SLSQP')\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] - } - ], - "source": [ - "for k, m in model.items():\n", - " m.estimate(method='SLSQP')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Estimated coefficients" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + }, { "data": { "text/html": [ "\n", - "\n", + "
\n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
 ValueStd Errt StatSignifLike RatioNull ValueConstrainedValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_0_auto_household_and_escorting_tour-2.00 NA NA NA 0.00fixed value
coef_1_escort_tour_constant 0.319 NA NA[*] 2.36 0.00
coef_1_plus_eating_out_tours_constant-1.01 124.-0.01 NA 0.00
coef_1_plus_maintenance_tours_constant-2.84 124.-0.02 NA 0.00
coef_1_plus_other_discretionary_tours_constant 10.5 123. 0.09 NA 0.00
coef_1_plus_shopping_tours_constant 7.18 124. 0.06 NA 0.00
coef_1_plus_visting_tours_constant-0.321 124.-0.00 NA 0.00
coef_2_plus_escort_tours_constant 0.607 NA NA[] 0.97 0.00
coef_at_home_pre_driving_school_kid_and_escorting_tour-0.926 1.05-0.89 NA 0.00
coef_at_home_pre_school_kid_and_discretionary_tour-0.656 0.743-0.88 NA 0.00
coef_at_home_pre_school_kid_and_escorting_tour-0.793 0.821-0.97 NA 0.00
coef_auto_access_to_retail_and_discretionary-1.05 0.957-1.10 NA 0.00
coef_auto_access_to_retail_and_maintenance 0.279 0.886 0.31 NA 0.00
coef_auto_access_to_retail_and_shopping-0.631 0.855-0.74 NA 0.00
coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus 0.168 0.233 0.72 NA 0.00
coef_female_and_escorting_tour 0.601 0.266 2.26* NA 0.00
coef_female_and_tour_frequency_is_1-0.316 0.137-2.31* NA 0.00
coef_female_and_tour_frequency_is_2-0.583 0.277-2.11* NA 0.00
coef_female_and_tour_frequency_is_5 0.0227 0.671 0.03 NA 0.00
coef_high_income_group_and_discretionary_tour-0.0604 0.241-0.25 NA 0.00
coef_high_income_group_and_eating_out_tour 0.726 0.282 2.58** NA 0.00
coef_high_income_group_and_tour_frequency_is_1 1.14 0.408 2.79** NA 0.00
coef_high_income_group_and_tour_frequency_is_2 2.22 0.869 2.55* NA 0.00
coef_high_income_group_and_tour_frequency_is_5_plus 0.105 1.42 0.07 NA 0.00
coef_high_income_group_and_visiting_tour-0.863 0.350-2.46* NA 0.00
coef_logged_maximum_residual_window_tour_frequency_is_1 1.34 0.232 5.76*** NA 0.00
coef_logged_maximum_residual_window_tour_frequency_is_2 1.43 0.289 4.94*** NA 0.00
coef_logged_maximum_residual_window_tour_frequency_is_5_plus 0.640 1.09 0.59 NA 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_1 1.09 0.394 2.77** NA 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_2 1.81 0.850 2.13* NA 0.00
coef_mediumhigh_income_group_and_tour_frequency_is_5_plus 1.04 1.25 0.83 NA 0.00
coef_number_of_joint_eating_out_tours-9.98 147.-0.07 NA 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_2-1.43 0.489-2.93** NA 0.00
coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus-1.64 2.28-0.72 NA 0.00
coef_presence_of_driving_school_kid_and_discretionary_tour 0.384 0.452 0.85 NA 0.00
coef_presence_of_driving_school_kid_and_escorting_tour-0.211 0.529-0.40 NA 0.00
coef_presence_of_full_time_worker_and_discretionary_tour-0.783 0.222-3.53*** NA 0.00
coef_presence_of_full_time_worker_and_eating_out_tour-0.748 0.221-3.38*** NA 0.00
coef_presence_of_full_time_worker_and_maintenance_tour-0.342 0.271-1.27 NA 0.00
coef_presence_of_full_time_worker_and_shopping_tour-0.631 0.190-3.32*** NA 0.00
coef_presence_of_non_worker_and_discretionary_tour-1.27 0.384-3.30*** NA 0.00
coef_presence_of_non_worker_and_eating_out_tour-0.445 0.327-1.36 NA 0.00
coef_presence_of_non_worker_and_escorting_tour-0.854 0.404-2.11* NA 0.00
coef_presence_of_non_worker_and_maintenance_tour-0.209 0.364-0.58 NA 0.00
coef_presence_of_non_worker_and_shopping_tour-0.844 0.301-2.80** NA 0.00
coef_presence_of_part_time_worker_and_discretionary_tour-0.0412 0.265-0.16 NA 0.00
coef_presence_of_part_time_worker_and_maintenance_tour-0.183 0.328-0.56 NA 0.00
coef_presence_of_part_time_worker_and_shopping_tour-0.149 0.224-0.66 NA 0.00
coef_presence_of_pre_driving_school_kid_and_discretionary_tour-0.126 0.314-0.40 NA 0.00
coef_presence_of_pre_driving_school_kid_and_escorting_tour 1.40 0.268 5.23*** NA 0.00
coef_presence_of_pre_school_kid_and_discretionary_tour-0.0171 0.349-0.05 NA 0.00
coef_presence_of_pre_school_kid_and_eating_out_tour-0.845 0.421-2.01* NA 0.00
coef_presence_of_pre_school_kid_and_escorting_tour 0.748 0.309 2.42* NA 0.00
coef_presence_of_pre_school_kid_and_shopping_tour-0.00614 0.294-0.02 NA 0.00
coef_presence_of_retiree_and_discretionary_tour-0.597 0.461-1.29 NA 0.00
coef_presence_of_retiree_and_eating_out_tour-1.29 0.618-2.08* NA 0.00
coef_presence_of_retiree_and_escorting_tour-12.9 250.-0.05 NA 0.00
coef_presence_of_university_student_and_discretionary_tour-0.407 0.376-1.08 NA 0.00
coef_total_number_of_tours_is_1-7.52 124.-0.06 NA 0.00
coef_total_number_of_tours_is_2-10.1 247.-0.04 NA 0.00
coef_total_number_of_tours_is_3-11.1 371.-0.03 NA 0.00
coef_total_number_of_tours_is_4-12.8 494.-0.03 NA 0.00
coef_total_number_of_tours_is_5-21.8 623.-0.03 NA 0.00
coef_total_number_of_tours_is_6_plus-999. NA NA NA 0.00fixed value
coef_transit_access_to_retail_and_tour_frequency_is_5_plus 0.0745 0.114 0.65 NA 0.00
coef_urban_and_discretionary_tour 0.00 NA NA NA 0.00fixed value
coef_urban_and_escorting_tour-0.409 NA NA[***] 6.54 0.00
coef_walk_access_to_retail_and_discretionary 0.161 0.169 0.95 NA 0.00
coef_walk_access_to_retail_and_eating_out 0.211 0.128 1.65 NA 0.00
coef_walk_access_to_retail_and_escorting-0.105 0.147-0.72 NA 0.00
coef_walk_access_to_retail_and_shopping 0.0302 0.146 0.21 NA 0.00
coef_zero_car_ownership_and_tour_frequency_is_5_plus-0.227 0.175-1.30 NA 0.00coef_0_auto_household_and_escorting_tour-2.00 0.00 NA 0.00fixed value
coef_1_escort_tour_constant 0.275 211. 0.00 0.00
coef_1_plus_eating_out_tours_constant-0.253 0.215-1.18 0.00
coef_1_plus_maintenance_tours_constant 0.317 9.89e+13 0.00 0.00
coef_1_plus_other_discretionary_tours_constant 1.17 2.63e+06 0.00 0.00
coef_1_plus_shopping_tours_constant 1.14 0.0702 16.23*** 0.00
coef_1_plus_visting_tours_constant 0.0590 NA NA 0.00
coef_2_plus_escort_tours_constant 1.94 421. 0.00 0.00
coef_discretionary_tour 0.578 NA NA 0.00
coef_escorting_tour 1.84 212. 0.01 0.00
coef_maintenance_tour 0.660 9.89e+13 0.00 0.00
coef_presence_of_full_time_worker_and_escorting_tour-0.929 0.105-8.82*** 0.00
coef_presence_of_non_worker_and_discretionary_tour 0.694 0.129 5.36*** 0.00
coef_presence_of_non_worker_and_eating_out_tour 1.55 0.222 6.97*** 0.00
coef_presence_of_non_worker_and_escorting_tour 0.960 0.127 7.56*** 0.00
coef_presence_of_non_worker_and_shopping_tour 0.670 0.151 4.44*** 0.00
coef_presence_of_part_time_worker_and_eating_out_tour 1.14 0.195 5.81*** 0.00
coef_presence_of_part_time_worker_and_shopping_tour 1.01 0.142 7.12*** 0.00
coef_total_number_of_tours_is_1-4.91 NA NA 0.00
coef_total_number_of_tours_is_2-9.97 NA NA 0.00
coef_total_number_of_tours_is_3-15.1 0.239-63.27*** 0.00
coef_total_number_of_tours_is_4-20.0 0.00 NA 0.00coef_total_number_of_tours_is_4 ≥ -20.0
coef_total_number_of_tours_is_6_plus-999. 0.00 NA 0.00fixed value
coef_urban_and_discretionary_tour 0.00 0.00 NA 0.00fixed value
coef_visiting_or_social_tour 0.386 NA NA 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 11, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], - "source": [ - "model['PTYPE_FULL'].parameter_summary()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "TojXWivZsx7M" - }, - "source": [ - "# Output Estimation Results" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], "source": [ "from activitysim.estimation.larch import update_coefficients\n", + "\n", "for k, m in model.items():\n", + " print(f\"Model {k}\")\n", + " m.set_cap(20)\n", + " m.estimate(method='SLSQP', maxiter=900)\n", + "\n", + " display(m.parameter_summary())\n", + "\n", " result_dir = data.edb_directory/k/\"estimated\"\n", " update_coefficients(\n", " m, data.coefficients[k], result_dir,\n", " output_file=f\"{modelname}_{k}_coefficients_revised.csv\",\n", " relabel_coef=data.relabel_coef.get(k),\n", - " );" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Write the model estimation report, including coefficient t-statistic and log likelihood" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n", - "/Users/jeffnewman/LocalGit/asim-larch/activitysim-larch/conda-environments/AL-ENV/lib/python3.9/site-packages/larch/util/excel.py:523: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n" - ] - } - ], - "source": [ - "for k, m in model.items():\n", - " result_dir = data.edb_directory/k/\"estimated\"\n", + " )\n", + "\n", " m.to_xlsx(\n", " result_dir/f\"{modelname}_{k}_model_estimation.xlsx\", \n", " data_statistics=False,\n", - " )" + " )\n", + "\n", + " m.release_memory()\n" ] }, { @@ -5967,7 +11154,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -6036,25 +11223,25 @@ " \n", " 205\n", " coef_1_plus_maintenance_tours_constant\n", - " -2.842643\n", + " 0.079776\n", " F\n", " \n", " \n", " 206\n", " coef_1_plus_eating_out_tours_constant\n", - " -1.012856\n", + " 0.047768\n", " F\n", " \n", " \n", " 207\n", " coef_1_plus_visting_tours_constant\n", - " -0.320820\n", + " -0.019022\n", " F\n", " \n", " \n", " 208\n", " coef_1_plus_other_discretionary_tours_constant\n", - " 10.543979\n", + " 0.733799\n", " F\n", " \n", " \n", @@ -6069,23 +11256,23 @@ "" ], "text/plain": [ - " coefficient_name value constrain\n", - "0 coef_escorting_tour 0.000000 T\n", - "1 coef_discretionary_tour 0.000000 T\n", - "2 coef_shopping_tour 0.000000 T\n", - "3 coef_maintenance_tour 0.000000 T\n", - "4 coef_visiting_or_social_tour 0.000000 T\n", - ".. ... ... ...\n", - "205 coef_1_plus_maintenance_tours_constant -2.842643 F\n", - "206 coef_1_plus_eating_out_tours_constant -1.012856 F\n", - "207 coef_1_plus_visting_tours_constant -0.320820 F\n", - "208 coef_1_plus_other_discretionary_tours_constant 10.543979 F\n", - "209 coef_0_auto_household_and_escorting_tour -2.000000 T\n", + " coefficient_name value constrain\n", + "0 coef_escorting_tour 0.000000 T\n", + "1 coef_discretionary_tour 0.000000 T\n", + "2 coef_shopping_tour 0.000000 T\n", + "3 coef_maintenance_tour 0.000000 T\n", + "4 coef_visiting_or_social_tour 0.000000 T\n", + ".. ... ... ...\n", + "205 coef_1_plus_maintenance_tours_constant 0.079776 F\n", + "206 coef_1_plus_eating_out_tours_constant 0.047768 F\n", + "207 coef_1_plus_visting_tours_constant -0.019022 F\n", + "208 coef_1_plus_other_discretionary_tours_constant 0.733799 F\n", + "209 coef_0_auto_household_and_escorting_tour -2.000000 T\n", "\n", "[210 rows x 3 columns]" ] }, - "execution_count": 14, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -6103,7 +11290,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -6117,7 +11304,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.10.15" }, "toc": { "base_numbering": 1, @@ -6135,4 +11322,4 @@ }, "nbformat": 4, "nbformat_minor": 1 -} \ No newline at end of file +} diff --git a/activitysim/examples/example_estimation/notebooks/16_nonmand_tour_scheduling.ipynb b/activitysim/examples/example_estimation/notebooks/16_nonmand_tour_scheduling.ipynb index 3d7a8214f7..522ff71ca3 100644 --- a/activitysim/examples/example_estimation/notebooks/16_nonmand_tour_scheduling.ipynb +++ b/activitysim/examples/example_estimation/notebooks/16_nonmand_tour_scheduling.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +115,28 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_scheduling/tour_scheduling_nonmandatory_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_scheduling/non_mandatory_tour_scheduling_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_scheduling/non_mandatory_tour_scheduling_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/non_mandatory_tour_scheduling/non_mandatory_tour_scheduling_choosers_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"non_mandatory_tour_scheduling\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -256,38 +319,38 @@ " \n", " \n", " \n", - " 0\n", + " 5\n", " util_subsequent_tour_must_start_after_previous...\n", " Subsequent tour must start after previous tour...\n", " (start < end_previous) & (tour_type_num > 1)\n", " coef_subsequent_tour_must_start_after_previous...\n", " \n", " \n", - " 1\n", + " 6\n", " util_free_flow_round_trip_auto_time_shift_effe...\n", " Free-flow round trip auto time shift effects -...\n", " roundtrip_auto_time_to_work * duration\n", " coef_free_flow_round_trip_auto_time_shift_effe...\n", " \n", " \n", - " 2\n", + " 7\n", " util_shopping_tour_departure_shift_effects\n", " Shopping tour - departure shift effects\n", - " (tour_type == 'shopping') * start\n", + " @(_is_shopping) * df.start\n", " coef_shopping_tour_departure_shift_effects\n", " \n", " \n", - " 3\n", + " 8\n", " util_shopping_tour_duration_shift_effects\n", " Shopping tour - duration shift effects\n", - " (tour_type == 'shopping') * duration\n", + " @(_is_shopping) * df.duration\n", " coef_shopping_tour_duration_shift_effects\n", " \n", " \n", - " 4\n", + " 9\n", " util_maintenance_tour_departure_shift_effects\n", " Maintenance tour - departure shift effects\n", - " (tour_type == 'othmaint') * start\n", + " @(_is_othmaint) * df.start\n", " coef_maintenance_tour_departure_shift_effects\n", " \n", " \n", @@ -298,38 +361,38 @@ " ...\n", " \n", " \n", - " 86\n", + " 91\n", " util_escort_tour_duration_constants_4_to_5_hours\n", " Escort Tour Duration Constants -- 4 to 5 hours\n", - " (tour_type == 'escort') & (duration > 3) & (du...\n", + " @(_is_escort) * (df.duration > 3) * (df.durati...\n", " coef_escort_tour_duration_constants_4_to_5_hours\n", " \n", " \n", - " 87\n", + " 92\n", " util_escort_tour_duration_constants_6_to_7_hours\n", " Escort Tour Duration Constants -- 6 to 7 hours\n", - " (tour_type == 'escort') & (duration > 5) & (du...\n", + " @(_is_escort) * (df.duration > 5) * (df.durati...\n", " coef_escort_tour_duration_constants_6_to_7_hours\n", " \n", " \n", - " 88\n", + " 93\n", " util_escort_tour_duration_constants_8_to_10_hours\n", " Escort Tour Duration Constants -- 8 to 10 hours\n", - " (tour_type == 'escort') & (duration > 7) & (du...\n", + " @(_is_escort) * (df.duration > 7) * (df.durati...\n", " coef_escort_tour_duration_constants_8_to_10_hours\n", " \n", " \n", - " 89\n", + " 94\n", " util_escort_tour_duration_constants_11_to_13_h...\n", " Escort Tour Duration Constants -- 11 to 13 hours\n", - " (tour_type == 'escort') & (duration > 10) & (d...\n", + " @(_is_escort) * (df.duration > 10) * (df.durat...\n", " coef_escort_tour_duration_constants_11_to_13_h...\n", " \n", " \n", - " 90\n", + " 95\n", " util_escort_tour_duration_constants_14_to_18_h...\n", " Escort Tour Duration Constants -- 14 to 18 hours\n", - " (tour_type == 'escort') & (duration > 13) & (d...\n", + " @(_is_escort) * (df.duration > 13) * (df.durat...\n", " coef_escort_tour_duration_constants_14_to_18_h...\n", " \n", " \n", @@ -339,56 +402,56 @@ ], "text/plain": [ " Label \\\n", - "0 util_subsequent_tour_must_start_after_previous... \n", - "1 util_free_flow_round_trip_auto_time_shift_effe... \n", - "2 util_shopping_tour_departure_shift_effects \n", - "3 util_shopping_tour_duration_shift_effects \n", - "4 util_maintenance_tour_departure_shift_effects \n", + "5 util_subsequent_tour_must_start_after_previous... \n", + "6 util_free_flow_round_trip_auto_time_shift_effe... \n", + "7 util_shopping_tour_departure_shift_effects \n", + "8 util_shopping_tour_duration_shift_effects \n", + "9 util_maintenance_tour_departure_shift_effects \n", ".. ... \n", - "86 util_escort_tour_duration_constants_4_to_5_hours \n", - "87 util_escort_tour_duration_constants_6_to_7_hours \n", - "88 util_escort_tour_duration_constants_8_to_10_hours \n", - "89 util_escort_tour_duration_constants_11_to_13_h... \n", - "90 util_escort_tour_duration_constants_14_to_18_h... \n", + "91 util_escort_tour_duration_constants_4_to_5_hours \n", + "92 util_escort_tour_duration_constants_6_to_7_hours \n", + "93 util_escort_tour_duration_constants_8_to_10_hours \n", + "94 util_escort_tour_duration_constants_11_to_13_h... \n", + "95 util_escort_tour_duration_constants_14_to_18_h... \n", "\n", " Description \\\n", - "0 Subsequent tour must start after previous tour... \n", - "1 Free-flow round trip auto time shift effects -... \n", - "2 Shopping tour - departure shift effects \n", - "3 Shopping tour - duration shift effects \n", - "4 Maintenance tour - departure shift effects \n", + "5 Subsequent tour must start after previous tour... \n", + "6 Free-flow round trip auto time shift effects -... \n", + "7 Shopping tour - departure shift effects \n", + "8 Shopping tour - duration shift effects \n", + "9 Maintenance tour - departure shift effects \n", ".. ... \n", - "86 Escort Tour Duration Constants -- 4 to 5 hours \n", - "87 Escort Tour Duration Constants -- 6 to 7 hours \n", - "88 Escort Tour Duration Constants -- 8 to 10 hours \n", - "89 Escort Tour Duration Constants -- 11 to 13 hours \n", - "90 Escort Tour Duration Constants -- 14 to 18 hours \n", + "91 Escort Tour Duration Constants -- 4 to 5 hours \n", + "92 Escort Tour Duration Constants -- 6 to 7 hours \n", + "93 Escort Tour Duration Constants -- 8 to 10 hours \n", + "94 Escort Tour Duration Constants -- 11 to 13 hours \n", + "95 Escort Tour Duration Constants -- 14 to 18 hours \n", "\n", " Expression \\\n", - "0 (start < end_previous) & (tour_type_num > 1) \n", - "1 roundtrip_auto_time_to_work * duration \n", - "2 (tour_type == 'shopping') * start \n", - "3 (tour_type == 'shopping') * duration \n", - "4 (tour_type == 'othmaint') * start \n", + "5 (start < end_previous) & (tour_type_num > 1) \n", + "6 roundtrip_auto_time_to_work * duration \n", + "7 @(_is_shopping) * df.start \n", + "8 @(_is_shopping) * df.duration \n", + "9 @(_is_othmaint) * df.start \n", ".. ... \n", - "86 (tour_type == 'escort') & (duration > 3) & (du... \n", - "87 (tour_type == 'escort') & (duration > 5) & (du... \n", - "88 (tour_type == 'escort') & (duration > 7) & (du... \n", - "89 (tour_type == 'escort') & (duration > 10) & (d... \n", - "90 (tour_type == 'escort') & (duration > 13) & (d... \n", + "91 @(_is_escort) * (df.duration > 3) * (df.durati... \n", + "92 @(_is_escort) * (df.duration > 5) * (df.durati... \n", + "93 @(_is_escort) * (df.duration > 7) * (df.durati... \n", + "94 @(_is_escort) * (df.duration > 10) * (df.durat... \n", + "95 @(_is_escort) * (df.duration > 13) * (df.durat... \n", "\n", " Coefficient \n", - "0 coef_subsequent_tour_must_start_after_previous... \n", - "1 coef_free_flow_round_trip_auto_time_shift_effe... \n", - "2 coef_shopping_tour_departure_shift_effects \n", - "3 coef_shopping_tour_duration_shift_effects \n", - "4 coef_maintenance_tour_departure_shift_effects \n", + "5 coef_subsequent_tour_must_start_after_previous... \n", + "6 coef_free_flow_round_trip_auto_time_shift_effe... \n", + "7 coef_shopping_tour_departure_shift_effects \n", + "8 coef_shopping_tour_duration_shift_effects \n", + "9 coef_maintenance_tour_departure_shift_effects \n", ".. ... \n", - "86 coef_escort_tour_duration_constants_4_to_5_hours \n", - "87 coef_escort_tour_duration_constants_6_to_7_hours \n", - "88 coef_escort_tour_duration_constants_8_to_10_hours \n", - "89 coef_escort_tour_duration_constants_11_to_13_h... \n", - "90 coef_escort_tour_duration_constants_14_to_18_h... \n", + "91 coef_escort_tour_duration_constants_4_to_5_hours \n", + "92 coef_escort_tour_duration_constants_6_to_7_hours \n", + "93 coef_escort_tour_duration_constants_8_to_10_hours \n", + "94 coef_escort_tour_duration_constants_11_to_13_h... \n", + "95 coef_escort_tour_duration_constants_14_to_18_h... \n", "\n", "[89 rows x 4 columns]" ] @@ -461,11 +524,11 @@ " \n", " \n", " 0\n", - " 6812\n", - " 118\n", - " 118\n", - " 166\n", - " eatout\n", + " 1870\n", + " 73\n", + " 137\n", + " 45\n", + " othdiscr\n", " 1\n", " 1\n", " 1\n", @@ -485,11 +548,11 @@ " \n", " \n", " 1\n", - " 8110\n", - " 112\n", - " 112\n", - " 197\n", - " shopping\n", + " 20468\n", + " 99\n", + " 124\n", + " 499\n", + " escort\n", " 1\n", " 1\n", " 1\n", @@ -501,23 +564,23 @@ " 0\n", " 0.0\n", " 0\n", - " 0\n", " 1\n", + " 0\n", " True\n", " 5\n", " 5\n", " \n", " \n", " 2\n", - " 11013\n", - " 169\n", + " 27055\n", + " 146\n", " 169\n", - " 268\n", - " othdiscr\n", + " 659\n", + " social\n", + " 1\n", + " 1\n", " 1\n", " 1\n", - " 2\n", - " 2\n", " non_mandatory\n", " ...\n", " 0\n", @@ -526,18 +589,18 @@ " 0.0\n", " 0\n", " 0\n", - " 2\n", + " 1\n", " True\n", - " 12\n", - " 15\n", + " 5\n", + " 5\n", " \n", " \n", " 3\n", - " 11016\n", - " 115\n", - " 115\n", - " 268\n", - " othmaint\n", + " 38877\n", + " 37\n", + " 125\n", + " 948\n", + " escort\n", " 1\n", " 1\n", " 1\n", @@ -549,23 +612,23 @@ " 0\n", " 0.0\n", " 0\n", - " 0\n", - " 2\n", + " 1\n", + " 1\n", " True\n", " 5\n", " 5\n", " \n", " \n", " 4\n", - " 15403\n", - " 99\n", - " 99\n", - " 375\n", - " othmaint\n", - " 1\n", - " 1\n", + " 38904\n", + " 95\n", + " 172\n", + " 948\n", + " social\n", " 1\n", " 1\n", + " 2\n", + " 2\n", " non_mandatory\n", " ...\n", " 0\n", @@ -573,11 +636,11 @@ " 0\n", " 0.0\n", " 0\n", - " 0\n", + " 1\n", " 1\n", " True\n", - " 5\n", - " 5\n", + " 7\n", + " 7\n", " \n", " \n", " ...\n", @@ -604,16 +667,16 @@ " ...\n", " \n", " \n", - " 2485\n", - " 309760814\n", - " 71\n", - " 71\n", - " 7555141\n", + " 29664\n", + " 310197956\n", + " 125\n", + " 127\n", + " 7565803\n", " shopping\n", - " 2\n", " 1\n", " 1\n", - " 3\n", + " 1\n", + " 1\n", " non_mandatory\n", " ...\n", " 0\n", @@ -622,22 +685,22 @@ " 0.0\n", " 0\n", " 0\n", - " 3\n", + " 1\n", " True\n", " 5\n", " 5\n", " \n", " \n", - " 2486\n", - " 309760815\n", - " 137\n", - " 137\n", - " 7555141\n", - " shopping\n", - " 2\n", + " 29665\n", + " 310202376\n", + " 126\n", + " 5\n", + " 7565911\n", + " othdiscr\n", + " 1\n", + " 1\n", " 2\n", " 2\n", - " 3\n", " non_mandatory\n", " ...\n", " 0\n", @@ -646,22 +709,22 @@ " 0.0\n", " 0\n", " 0\n", - " 3\n", + " 2\n", " True\n", - " 9\n", - " 10\n", + " 15\n", + " 19\n", " \n", " \n", - " 2487\n", - " 309790009\n", - " 109\n", - " 109\n", - " 7555853\n", - " social\n", - " 1\n", + " 29666\n", + " 310202384\n", + " 149\n", + " 129\n", + " 7565911\n", + " shopping\n", " 1\n", " 1\n", " 1\n", + " 2\n", " non_mandatory\n", " ...\n", " 0\n", @@ -670,22 +733,22 @@ " 0.0\n", " 0\n", " 0\n", - " 1\n", + " 2\n", " True\n", " 5\n", " 5\n", " \n", " \n", - " 2488\n", - " 309796968\n", - " 146\n", + " 29667\n", + " 310212634\n", + " 86\n", " 146\n", - " 7556023\n", - " othdiscr\n", - " 2\n", + " 7566161\n", + " shopping\n", + " 1\n", + " 1\n", " 1\n", " 1\n", - " 2\n", " non_mandatory\n", " ...\n", " 0\n", @@ -694,22 +757,22 @@ " 0.0\n", " 0\n", " 0\n", - " 2\n", + " 1\n", " True\n", " 5\n", " 5\n", " \n", " \n", - " 2489\n", - " 309796969\n", - " 180\n", - " 180\n", - " 7556023\n", - " othdiscr\n", - " 2\n", - " 2\n", - " 2\n", - " 2\n", + " 29668\n", + " 310220296\n", + " 74\n", + " 126\n", + " 7566348\n", + " othmaint\n", + " 1\n", + " 1\n", + " 1\n", + " 1\n", " non_mandatory\n", " ...\n", " 0\n", @@ -718,83 +781,83 @@ " 0.0\n", " 0\n", " 0\n", - " 2\n", + " 1\n", " True\n", - " 15\n", - " 16\n", + " 5\n", + " 5\n", " \n", " \n", "\n", - "

2490 rows × 31 columns

\n", + "

29669 rows × 31 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 6812 118 118 166 eatout \n", - "1 8110 112 112 197 shopping \n", - "2 11013 169 169 268 othdiscr \n", - "3 11016 115 115 268 othmaint \n", - "4 15403 99 99 375 othmaint \n", - "... ... ... ... ... ... \n", - "2485 309760814 71 71 7555141 shopping \n", - "2486 309760815 137 137 7555141 shopping \n", - "2487 309790009 109 109 7555853 social \n", - "2488 309796968 146 146 7556023 othdiscr \n", - "2489 309796969 180 180 7556023 othdiscr \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 1870 73 137 45 othdiscr \n", + "1 20468 99 124 499 escort \n", + "2 27055 146 169 659 social \n", + "3 38877 37 125 948 escort \n", + "4 38904 95 172 948 social \n", + "... ... ... ... ... ... \n", + "29664 310197956 125 127 7565803 shopping \n", + "29665 310202376 126 5 7565911 othdiscr \n", + "29666 310202384 149 129 7565911 shopping \n", + "29667 310212634 86 146 7566161 shopping \n", + "29668 310220296 74 126 7566348 othmaint \n", "\n", - " tour_type_count tour_type_num tour_num tour_count tour_category \\\n", - "0 1 1 1 1 non_mandatory \n", - "1 1 1 1 1 non_mandatory \n", - "2 1 1 2 2 non_mandatory \n", - "3 1 1 1 2 non_mandatory \n", - "4 1 1 1 1 non_mandatory \n", - "... ... ... ... ... ... \n", - "2485 2 1 1 3 non_mandatory \n", - "2486 2 2 2 3 non_mandatory \n", - "2487 1 1 1 1 non_mandatory \n", - "2488 2 1 1 2 non_mandatory \n", - "2489 2 2 2 2 non_mandatory \n", + " tour_type_count tour_type_num tour_num tour_count tour_category \\\n", + "0 1 1 1 1 non_mandatory \n", + "1 1 1 1 1 non_mandatory \n", + "2 1 1 1 1 non_mandatory \n", + "3 1 1 1 2 non_mandatory \n", + "4 1 1 2 2 non_mandatory \n", + "... ... ... ... ... ... \n", + "29664 1 1 1 1 non_mandatory \n", + "29665 1 1 2 2 non_mandatory \n", + "29666 1 1 1 2 non_mandatory \n", + "29667 1 1 1 1 non_mandatory \n", + "29668 1 1 1 1 non_mandatory \n", "\n", - " ... num_person_joint_tours ptype num_children \\\n", - "0 ... 0 4 0 \n", - "1 ... 0 4 0 \n", - "2 ... 0 4 0 \n", - "3 ... 0 4 0 \n", - "4 ... 0 4 0 \n", - "... ... ... ... ... \n", - "2485 ... 0 5 0 \n", - "2486 ... 0 5 0 \n", - "2487 ... 0 5 0 \n", - "2488 ... 0 5 0 \n", - "2489 ... 0 5 0 \n", + " ... num_person_joint_tours ptype num_children \\\n", + "0 ... 0 4 0 \n", + "1 ... 0 4 0 \n", + "2 ... 0 4 0 \n", + "3 ... 0 4 0 \n", + "4 ... 0 4 0 \n", + "... ... ... ... ... \n", + "29664 ... 0 5 0 \n", + "29665 ... 0 5 0 \n", + "29666 ... 0 5 0 \n", + "29667 ... 0 5 0 \n", + "29668 ... 0 5 0 \n", "\n", - " roundtrip_auto_time_to_work num_mand num_escort_tours \\\n", - "0 0.0 0 0 \n", - "1 0.0 0 0 \n", - "2 0.0 0 0 \n", - "3 0.0 0 0 \n", - "4 0.0 0 0 \n", - "... ... ... ... \n", - "2485 0.0 0 0 \n", - "2486 0.0 0 0 \n", - "2487 0.0 0 0 \n", - "2488 0.0 0 0 \n", - "2489 0.0 0 0 \n", + " roundtrip_auto_time_to_work num_mand num_escort_tours \\\n", + "0 0.0 0 0 \n", + "1 0.0 0 1 \n", + "2 0.0 0 0 \n", + "3 0.0 0 1 \n", + "4 0.0 0 1 \n", + "... ... ... ... \n", + "29664 0.0 0 0 \n", + "29665 0.0 0 0 \n", + "29666 0.0 0 0 \n", + "29667 0.0 0 0 \n", + "29668 0.0 0 0 \n", "\n", - " num_non_escort_tours adult start_previous end_previous \n", - "0 1 True 5 5 \n", - "1 1 True 5 5 \n", - "2 2 True 12 15 \n", - "3 2 True 5 5 \n", - "4 1 True 5 5 \n", - "... ... ... ... ... \n", - "2485 3 True 5 5 \n", - "2486 3 True 9 10 \n", - "2487 1 True 5 5 \n", - "2488 2 True 5 5 \n", - "2489 2 True 15 16 \n", + " num_non_escort_tours adult start_previous end_previous \n", + "0 1 True 5 5 \n", + "1 0 True 5 5 \n", + "2 1 True 5 5 \n", + "3 1 True 5 5 \n", + "4 1 True 7 7 \n", + "... ... ... ... ... \n", + "29664 1 True 5 5 \n", + "29665 2 True 15 19 \n", + "29666 2 True 5 5 \n", + "29667 1 True 5 5 \n", + "29668 1 True 5 5 \n", "\n", - "[2490 rows x 31 columns]" + "[29669 rows x 31 columns]" ] }, "execution_count": 6, @@ -840,129 +903,114 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", + " start\n", + " end\n", + " duration\n", + " tdd\n", + " mode_choice_logsum\n", + " util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends\n", + " util_free_flow_round_trip_auto_time_shift_effects_duration\n", + " util_shopping_tour_departure_shift_effects\n", + " util_shopping_tour_duration_shift_effects\n", " ...\n", - " 180\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", + " util_escort_tour_arrival_constants_pm_peak_4\n", + " util_escort_tour_arrival_constants_evening\n", + " util_escort_tour_arrival_constants_late\n", + " util_escort_tour_duration_constants_0_to_1_hours\n", + " util_escort_tour_duration_constants_2_to_3_hours\n", + " util_escort_tour_duration_constants_4_to_5_hours\n", + " util_escort_tour_duration_constants_6_to_7_hours\n", + " util_escort_tour_duration_constants_8_to_10_hours\n", + " util_escort_tour_duration_constants_11_to_13_hours\n", + " util_escort_tour_duration_constants_14_to_18_hours\n", " \n", " \n", " \n", " \n", " 0\n", - " 6812\n", - " duration\n", + " 1870\n", + " 5\n", + " 5\n", + " 0\n", + " 0\n", + " 0\n", + " False\n", " 0.0\n", - " 1.0\n", - " 2.0\n", - " 3.0\n", - " 4.0\n", - " 5.0\n", - " 6.0\n", - " 7.0\n", + " 0\n", + " 0\n", " ...\n", - " 0.0\n", - " 1.0\n", - " 2.0\n", - " 3.0\n", - " 0.0\n", - " 1.0\n", - " 2.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 1\n", - " 6812\n", - " end\n", - " 5.0\n", - " 6.0\n", - " 7.0\n", - " 8.0\n", - " 9.0\n", - " 10.0\n", - " 11.0\n", - " 12.0\n", - " ...\n", - " 20.0\n", - " 21.0\n", - " 22.0\n", - " 23.0\n", - " 21.0\n", - " 22.0\n", - " 23.0\n", - " 22.0\n", - " 23.0\n", - " 23.0\n", + " 1870\n", + " 5\n", + " 6\n", + " 1\n", + " 1\n", + " 0\n", + " False\n", + " 0.0\n", + " 0\n", + " 0\n", + " ...\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 2\n", - " 6812\n", - " mode_choice_logsum\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 1870\n", + " 5\n", + " 7\n", + " 2\n", + " 2\n", + " 0\n", + " False\n", " 0.0\n", + " 0\n", + " 0\n", " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 3\n", - " 6812\n", - " start\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " 5.0\n", - " ...\n", - " 20.0\n", - " 20.0\n", - " 20.0\n", - " 20.0\n", - " 21.0\n", - " 21.0\n", - " 21.0\n", - " 22.0\n", - " 22.0\n", - " 23.0\n", - " \n", - " \n", - " 4\n", - " 6812\n", - " util_adjacent_window_exists_after_this_arrival...\n", + " 1870\n", + " 5\n", + " 8\n", + " 3\n", + " 3\n", + " 0\n", + " False\n", + " 0.0\n", + " 0\n", + " 0\n", + " ...\n", " False\n", " False\n", " False\n", @@ -971,6 +1019,21 @@ " False\n", " False\n", " False\n", + " False\n", + " False\n", + " \n", + " \n", + " 4\n", + " 1870\n", + " 5\n", + " 9\n", + " 4\n", + " 4\n", + " 0\n", + " False\n", + " 0.0\n", + " 0\n", + " 0\n", " ...\n", " False\n", " False\n", @@ -1008,41 +1071,17 @@ " ...\n", " \n", " \n", - " 231565\n", - " 309796969\n", - " util_subsequent_of_2_plus_tours_for_same_purpo...\n", - " 0\n", + " 3632342\n", + " 310220296\n", + " 21\n", + " 22\n", " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", - " ...\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", + " 185\n", " 0\n", - " 1\n", - " 2\n", + " False\n", + " 0.0\n", " 0\n", - " 1\n", " 0\n", - " \n", - " \n", - " 231566\n", - " 309796969\n", - " util_subsequent_tour_must_start_after_previous...\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", - " True\n", " ...\n", " False\n", " False\n", @@ -1056,9 +1095,21 @@ " False\n", " \n", " \n", - " 231567\n", - " 309796969\n", - " util_university_student_arrive_after_22\n", + " 3632343\n", + " 310220296\n", + " 21\n", + " 23\n", + " 2\n", + " 186\n", + " 0\n", + " False\n", + " 0.0\n", + " 0\n", + " 0\n", + " ...\n", + " False\n", + " False\n", + " False\n", " False\n", " False\n", " False\n", @@ -1066,7 +1117,19 @@ " False\n", " False\n", " False\n", + " \n", + " \n", + " 3632344\n", + " 310220296\n", + " 22\n", + " 22\n", + " 0\n", + " 187\n", + " 0\n", " False\n", + " 0.0\n", + " 0\n", + " 0\n", " ...\n", " False\n", " False\n", @@ -1080,99 +1143,255 @@ " False\n", " \n", " \n", - " 231568\n", - " 309796969\n", - " util_visit_tour_departure_shift_effects_start\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 3632345\n", + " 310220296\n", + " 22\n", + " 23\n", + " 1\n", + " 188\n", " 0\n", + " False\n", + " 0.0\n", " 0\n", " 0\n", " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 231569\n", - " 309796969\n", - " util_visit_tour_duration_shift_effects_duration\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 3632346\n", + " 310220296\n", + " 23\n", + " 23\n", " 0\n", + " 189\n", " 0\n", + " False\n", + " 0.0\n", " 0\n", " 0\n", " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", "\n", - "

231570 rows × 192 columns

\n", + "

3632347 rows × 95 columns

\n", "" ], "text/plain": [ - " tour_id variable 0 \\\n", - "0 6812 duration 0.0 \n", - "1 6812 end 5.0 \n", - "2 6812 mode_choice_logsum 0.0 \n", - "3 6812 start 5.0 \n", - "4 6812 util_adjacent_window_exists_after_this_arrival... False \n", - "... ... ... ... \n", - "231565 309796969 util_subsequent_of_2_plus_tours_for_same_purpo... 0 \n", - "231566 309796969 util_subsequent_tour_must_start_after_previous... True \n", - "231567 309796969 util_university_student_arrive_after_22 False \n", - "231568 309796969 util_visit_tour_departure_shift_effects_start 0 \n", - "231569 309796969 util_visit_tour_duration_shift_effects_duration 0 \n", + " tour_id start end duration tdd mode_choice_logsum \\\n", + "0 1870 5 5 0 0 0 \n", + "1 1870 5 6 1 1 0 \n", + "2 1870 5 7 2 2 0 \n", + "3 1870 5 8 3 3 0 \n", + "4 1870 5 9 4 4 0 \n", + "... ... ... ... ... ... ... \n", + "3632342 310220296 21 22 1 185 0 \n", + "3632343 310220296 21 23 2 186 0 \n", + "3632344 310220296 22 22 0 187 0 \n", + "3632345 310220296 22 23 1 188 0 \n", + "3632346 310220296 23 23 0 189 0 \n", + "\n", + " util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", "\n", - " 1 2 3 4 5 6 7 ... 180 181 \\\n", - "0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 ... 0.0 1.0 \n", - "1 6.0 7.0 8.0 9.0 10.0 11.0 12.0 ... 20.0 21.0 \n", - "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 \n", - "3 5.0 5.0 5.0 5.0 5.0 5.0 5.0 ... 20.0 20.0 \n", - "4 False False False False False False False ... False False \n", - "... ... ... ... ... ... ... ... ... ... ... \n", - "231565 1 2 3 4 5 6 7 ... 0 1 \n", - "231566 True True True True True True True ... False False \n", - "231567 False False False False False False False ... False False \n", - "231568 0 0 0 0 0 0 0 ... 0 0 \n", - "231569 0 0 0 0 0 0 0 ... 0 0 \n", + " util_free_flow_round_trip_auto_time_shift_effects_duration \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "3632342 0.0 \n", + "3632343 0.0 \n", + "3632344 0.0 \n", + "3632345 0.0 \n", + "3632346 0.0 \n", "\n", - " 182 183 184 185 186 187 188 189 \n", - "0 2.0 3.0 0.0 1.0 2.0 0.0 1.0 0.0 \n", - "1 22.0 23.0 21.0 22.0 23.0 22.0 23.0 23.0 \n", - "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3 20.0 20.0 21.0 21.0 21.0 22.0 22.0 23.0 \n", - "4 False False False False False False False False \n", - "... ... ... ... ... ... ... ... ... \n", - "231565 2 3 0 1 2 0 1 0 \n", - "231566 False False False False False False False False \n", - "231567 False False False False False False False False \n", - "231568 0 0 0 0 0 0 0 0 \n", - "231569 0 0 0 0 0 0 0 0 \n", + " util_shopping_tour_departure_shift_effects \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "3632342 0 \n", + "3632343 0 \n", + "3632344 0 \n", + "3632345 0 \n", + "3632346 0 \n", "\n", - "[231570 rows x 192 columns]" + " util_shopping_tour_duration_shift_effects ... \\\n", + "0 0 ... \n", + "1 0 ... \n", + "2 0 ... \n", + "3 0 ... \n", + "4 0 ... \n", + "... ... ... \n", + "3632342 0 ... \n", + "3632343 0 ... \n", + "3632344 0 ... \n", + "3632345 0 ... \n", + "3632346 0 ... \n", + "\n", + " util_escort_tour_arrival_constants_pm_peak_4 \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_arrival_constants_evening \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_arrival_constants_late \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_0_to_1_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_2_to_3_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_4_to_5_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_6_to_7_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_8_to_10_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_11_to_13_hours \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + " util_escort_tour_duration_constants_14_to_18_hours \n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "3632342 False \n", + "3632343 False \n", + "3632344 False \n", + "3632345 False \n", + "3632346 False \n", + "\n", + "[3632347 rows x 95 columns]" ] }, "execution_count": 7, @@ -1202,13 +1421,47 @@ "name": "stderr", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "problem: chosen_but_not_available has (149 issues)\n" ] }, + { + "data": { + "text/plain": [ + "(,\n", + " ┣ chosen_but_not_available: altid n example rows\n", + " ┃ 0 2 1 26680\n", + " ┃ 1 7 1 15549\n", + " ┃ 2 8 1 2727\n", + " ┃ 3 12 1 18739\n", + " ┃ 4 20 5 9872, 15764, 22362\n", + " ┃ .. ... .. ...\n", + " ┃ 144 183 12 4208, 14096, 15246\n", + " ┃ 145 184 5 1829, 8653, 13517\n", + " ┃ 146 185 10 626, 5650, 9208\n", + " ┃ 147 186 9 4563, 8308, 8746\n", + " ┃ 148 187 7 8216, 13933, 19491\n", + " ┃ \n", + " ┃ [149 rows x 3 columns])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.doctor(repair_ch_av=\"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "

Iteration 079 [Optimization terminated successfully]

" + "

Iteration 121 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1220,7 +1473,7 @@ { "data": { "text/html": [ - "

Best LL = -9499.39971608494

" + "

Best LL = -103688.04725680027

" ], "text/plain": [ "" @@ -1251,70 +1504,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " -0.127954\n", + " 0.126593\n", + " 0.126593\n", " -0.025700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.127954\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction\n", - " 0.093954\n", + " -0.610258\n", + " -0.610258\n", " -0.027340\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.093954\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " 0.253749\n", + " 0.113506\n", + " 0.113506\n", " 0.008442\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.253749\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction\n", - " -0.198343\n", + " 0.386575\n", + " 0.386575\n", " -0.059300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.198343\n", " \n", " \n", " coef_adult_with_children_in_hh_arrive_19_21\n", - " 0.309424\n", + " 0.281164\n", + " 0.281164\n", " 0.336000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.309424\n", " \n", " \n", " ...\n", @@ -1325,135 +1582,125 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect\n", - " -0.115107\n", + " -0.281272\n", + " -0.281272\n", " -0.173100\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.115107\n", " \n", " \n", " coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends\n", " -999.000000\n", " -999.000000\n", + " -999.000000\n", + " -999.0\n", + " -999.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_university_student_arrive_after_22\n", - " -0.537299\n", + " 0.609651\n", + " 0.609651\n", " 0.546600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.537299\n", " \n", " \n", " coef_visit_tour_departure_shift_effects\n", - " 0.169598\n", + " 0.080406\n", + " 0.080406\n", " 0.096880\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.169598\n", " \n", " \n", " coef_visit_tour_duration_shift_effects\n", - " 0.155783\n", + " 0.140532\n", + " 0.140532\n", " 0.163800\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.155783\n", " \n", " \n", "\n", - "

89 rows × 8 columns

\n", + "

89 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_adjacent_window_exists_after_this_arrival_... -0.127954 -0.025700 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.093954 -0.027340 \n", - "coef_adjacent_window_exists_before_this_departu... 0.253749 0.008442 \n", - "coef_adjacent_window_exists_before_this_departu... -0.198343 -0.059300 \n", - "coef_adult_with_children_in_hh_arrive_19_21 0.309424 0.336000 \n", + " value best \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0.126593 0.126593 \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.610258 -0.610258 \n", + "coef_adjacent_window_exists_before_this_departu... 0.113506 0.113506 \n", + "coef_adjacent_window_exists_before_this_departu... 0.386575 0.386575 \n", + "coef_adult_with_children_in_hh_arrive_19_21 0.281164 0.281164 \n", "... ... ... \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... -0.115107 -0.173100 \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... -0.281272 -0.281272 \n", "coef_subsequent_tour_must_start_after_previous_... -999.000000 -999.000000 \n", - "coef_university_student_arrive_after_22 -0.537299 0.546600 \n", - "coef_visit_tour_departure_shift_effects 0.169598 0.096880 \n", - "coef_visit_tour_duration_shift_effects 0.155783 0.163800 \n", + "coef_university_student_arrive_after_22 0.609651 0.609651 \n", + "coef_visit_tour_departure_shift_effects 0.080406 0.080406 \n", + "coef_visit_tour_duration_shift_effects 0.140532 0.140532 \n", "\n", - " nullvalue minimum \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_adjacent_window_exists_before_this_departu... 0.0 -25.0 \n", - "coef_adult_with_children_in_hh_arrive_19_21 0.0 -25.0 \n", - "... ... ... \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... 0.0 -25.0 \n", - "coef_subsequent_tour_must_start_after_previous_... 0.0 -25.0 \n", - "coef_university_student_arrive_after_22 0.0 -25.0 \n", - "coef_visit_tour_departure_shift_effects 0.0 -25.0 \n", - "coef_visit_tour_duration_shift_effects 0.0 -25.0 \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.025700 -25.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... -0.027340 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... 0.008442 -25.0 \n", + "coef_adjacent_window_exists_before_this_departu... -0.059300 -25.0 \n", + "coef_adult_with_children_in_hh_arrive_19_21 0.336000 -25.0 \n", + "... ... ... \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... -0.173100 -25.0 \n", + "coef_subsequent_tour_must_start_after_previous_... -999.000000 -999.0 \n", + "coef_university_student_arrive_after_22 0.546600 -25.0 \n", + "coef_visit_tour_departure_shift_effects 0.096880 -25.0 \n", + "coef_visit_tour_duration_shift_effects 0.163800 -25.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_after_this_arrival_... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_adjacent_window_exists_before_this_departu... 25.0 0 \n", - "coef_adult_with_children_in_hh_arrive_19_21 25.0 0 \n", - "... ... ... ... \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... 25.0 0 \n", - "coef_subsequent_tour_must_start_after_previous_... 25.0 1 \n", - "coef_university_student_arrive_after_22 25.0 0 \n", - "coef_visit_tour_departure_shift_effects 25.0 0 \n", - "coef_visit_tour_duration_shift_effects 25.0 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_adjacent_window_exists_before_this_departu... 25.0 0.0 \n", + "coef_adult_with_children_in_hh_arrive_19_21 25.0 0.0 \n", + "... ... ... \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... 25.0 0.0 \n", + "coef_subsequent_tour_must_start_after_previous_... -999.0 0.0 \n", + "coef_university_student_arrive_after_22 25.0 0.0 \n", + "coef_visit_tour_departure_shift_effects 25.0 0.0 \n", + "coef_visit_tour_duration_shift_effects 25.0 0.0 \n", "\n", - " best \n", - "coef_adjacent_window_exists_after_this_arrival_... -0.127954 \n", - "coef_adjacent_window_exists_after_this_arrival_... 0.093954 \n", - "coef_adjacent_window_exists_before_this_departu... 0.253749 \n", - "coef_adjacent_window_exists_before_this_departu... -0.198343 \n", - "coef_adult_with_children_in_hh_arrive_19_21 0.309424 \n", - "... ... \n", - "coef_subsequent_of_2_plus_tours_for_same_purpos... -0.115107 \n", - "coef_subsequent_tour_must_start_after_previous_... -999.000000 \n", - "coef_university_student_arrive_after_22 -0.537299 \n", - "coef_visit_tour_departure_shift_effects 0.169598 \n", - "coef_visit_tour_duration_shift_effects 0.155783 \n", + " holdfast \n", + "param_name \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_after_this_arrival_... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_adjacent_window_exists_before_this_departu... 0 \n", + "coef_adult_with_children_in_hh_arrive_19_21 0 \n", + "... ... \n", + "coef_subsequent_of_2_plus_tours_for_same_purpos... 0 \n", + "coef_subsequent_tour_must_start_after_previous_... 1 \n", + "coef_university_student_arrive_after_22 0 \n", + "coef_visit_tour_departure_shift_effects 0 \n", + "coef_visit_tour_duration_shift_effects 0 \n", "\n", - "[89 rows x 8 columns]" + "[89 rows x 7 columns]" ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/opt/anaconda3/envs/garage38/lib/python3.8/site-packages/scipy/optimize/optimize.py:282: RuntimeWarning: Values in x were outside bounds during a minimize step, clipping to bounds\n", - " warnings.warn(\"Values in x were outside bounds during a \"\n" - ] - }, { "data": { "text/html": [ @@ -1467,31 +1714,31 @@ " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction\n", - " -0.127954\n", + " 0.126593\n", " \n", " \n", " coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction\n", - " 0.093954\n", + " -0.610258\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction\n", - " 0.253749\n", + " 0.113506\n", " \n", " \n", " coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction\n", - " -0.198343\n", + " 0.386575\n", " \n", " \n", " coef_adult_with_children_in_hh_arrive_19_21\n", - " 0.309424\n", + " 0.281164\n", " \n", " \n", " coef_arrival_constants_am_peak\n", - " 0.423382\n", + " -1.621626\n", " \n", " \n", " coef_arrival_constants_early\n", - " 2.912542\n", + " 0.006167\n", " \n", " \n", " coef_arrival_constants_evening\n", @@ -1499,67 +1746,67 @@ " \n", " \n", " coef_arrival_constants_late\n", - " -1.191037\n", + " -0.817500\n", " \n", " \n", " coef_arrival_constants_midday_1\n", - " 1.483808\n", + " 0.050461\n", " \n", " \n", " coef_arrival_constants_midday_2\n", - " 1.574014\n", + " 0.512472\n", " \n", " \n", " coef_arrival_constants_pm_peak_1\n", - " 1.409632\n", + " 0.637774\n", " \n", " \n", " coef_arrival_constants_pm_peak_2\n", - " 1.601585\n", + " 0.623529\n", " \n", " \n", " coef_arrival_constants_pm_peak_3\n", - " 1.110412\n", + " 0.299165\n", " \n", " \n", " coef_arrival_constants_pm_peak_4\n", - " 0.718971\n", + " 0.085991\n", " \n", " \n", " coef_departure_constants_am_peak_1\n", - " -0.462981\n", + " -0.564262\n", " \n", " \n", " coef_departure_constants_am_peak_2\n", - " 1.259376\n", + " 0.617882\n", " \n", " \n", " coef_departure_constants_am_peak_3\n", - " 1.496731\n", + " 1.077085\n", " \n", " \n", " coef_departure_constants_am_peak_4\n", - " 1.574361\n", + " 0.967759\n", " \n", " \n", " coef_departure_constants_early\n", - " -1.029511\n", + " -1.393229\n", " \n", " \n", " coef_departure_constants_evening\n", - " -1.905774\n", + " -1.688698\n", " \n", " \n", " coef_departure_constants_late\n", - " -5.863097\n", + " -4.308508\n", " \n", " \n", " coef_departure_constants_midday_1\n", - " 1.406032\n", + " 0.803175\n", " \n", " \n", " coef_departure_constants_midday_2\n", - " 0.672976\n", + " 0.328097\n", " \n", " \n", " coef_departure_constants_pm_peak\n", @@ -1567,11 +1814,11 @@ " \n", " \n", " coef_destination_in_cbd_duration_shift_effects\n", - " 0.116120\n", + " 0.110221\n", " \n", " \n", " coef_discretionary_tour_duration_lt_2_hours\n", - " -0.263935\n", + " -0.712606\n", " \n", " \n", " coef_duration_constants_0_to_1_hours\n", @@ -1579,31 +1826,31 @@ " \n", " \n", " coef_duration_constants_11_to_13_hours\n", - " -0.877324\n", + " -1.002178\n", " \n", " \n", " coef_duration_constants_14_to_18_hours\n", - " -2.821298\n", + " -1.203201\n", " \n", " \n", " coef_duration_constants_2_to_3_hours\n", - " 0.435394\n", + " -0.064944\n", " \n", " \n", " coef_duration_constants_4_to_5_hours\n", - " -0.223601\n", + " -0.717940\n", " \n", " \n", " coef_duration_constants_6_to_7_hours\n", - " -0.584059\n", + " -1.110132\n", " \n", " \n", " coef_duration_constants_8_to_10_hours\n", - " -0.527906\n", + " -0.954018\n", " \n", " \n", " coef_eat_out_tour_departure_shift_effects\n", - " 0.105657\n", + " 0.065095\n", " \n", " \n", " coef_escort_tour_arrival_constants_am_peak\n", @@ -1615,11 +1862,11 @@ " \n", " \n", " coef_escort_tour_arrival_constants_evening\n", - " -0.878853\n", + " -0.305413\n", " \n", " \n", " coef_escort_tour_arrival_constants_late\n", - " -1.254415\n", + " -0.704974\n", " \n", " \n", " coef_escort_tour_arrival_constants_midday_1\n", @@ -1647,35 +1894,35 @@ " \n", " \n", " coef_escort_tour_departure_constants_am_peak_1\n", - " 0.704309\n", + " -0.874537\n", " \n", " \n", " coef_escort_tour_departure_constants_am_peak_2\n", - " 2.276345\n", + " 1.002187\n", " \n", " \n", " coef_escort_tour_departure_constants_am_peak_3\n", - " 2.300896\n", + " 1.431663\n", " \n", " \n", " coef_escort_tour_departure_constants_am_peak_4\n", - " 0.493137\n", + " -0.076284\n", " \n", " \n", " coef_escort_tour_departure_constants_early\n", - " -0.493910\n", + " -1.237400\n", " \n", " \n", " coef_escort_tour_departure_constants_evening\n", - " -4.802269\n", + " -3.664017\n", " \n", " \n", " coef_escort_tour_departure_constants_late\n", - " -6.857486\n", + " -7.398170\n", " \n", " \n", " coef_escort_tour_departure_constants_midday_1\n", - " 0.746447\n", + " 0.185749\n", " \n", " \n", " coef_escort_tour_departure_constants_midday_2\n", @@ -1683,7 +1930,7 @@ " \n", " \n", " coef_escort_tour_departure_constants_pm_peak\n", - " -1.823360\n", + " -1.171787\n", " \n", " \n", " coef_escort_tour_duration_constants_0_to_1_hours\n", @@ -1691,138 +1938,138 @@ " \n", " \n", " coef_escort_tour_duration_constants_11_to_13_hours\n", - " -6.393148\n", + " -2.821199\n", " \n", " \n", " coef_escort_tour_duration_constants_14_to_18_hours\n", - " -9.419793\n", + " -2.493843\n", " \n", " \n", " coef_escort_tour_duration_constants_2_to_3_hours\n", - " -2.595592\n", + " -2.026673\n", " \n", " \n", " coef_escort_tour_duration_constants_4_to_5_hours\n", - " -3.522889\n", + " -2.941739\n", " \n", " \n", " coef_escort_tour_duration_constants_6_to_7_hours\n", - " -3.979277\n", + " -3.103903\n", " \n", " \n", " coef_escort_tour_duration_constants_8_to_10_hours\n", - " -5.158316\n", + " -3.097454\n", " \n", " \n", " coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect\n", - " -0.285201\n", + " -0.272458\n", " \n", " \n", " coef_free_flow_round_trip_auto_time_shift_effects_duration\n", - " 0.004992\n", + " 0.004326\n", " \n", " \n", " coef_maintenance_tour_depart_before_7\n", - " 0.041997\n", + " -0.819334\n", " \n", " \n", " coef_maintenance_tour_departure_shift_effects\n", - " -0.036636\n", + " -0.140265\n", " \n", " \n", " coef_maintenance_tour_duration_shift_effects\n", - " -0.115944\n", + " -0.068132\n", " \n", " \n", " coef_number_of_escort_tours_departure_shift_effects\n", - " 0.115214\n", + " 0.055565\n", " \n", " \n", " coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects\n", - " 0.104375\n", + " 0.054223\n", " \n", " \n", " coef_number_of_joint_tours_departure_shift_effects\n", - " 0.121920\n", + " 0.029269\n", " \n", " \n", " coef_number_of_mandatory_tours_departure_shift_effects\n", - " 0.170817\n", + " 0.031273\n", " \n", " \n", " coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours\n", - " 5.643619\n", + " -13.624709\n", " \n", " \n", " coef_school_child_age_16_plus_departure_shift_effects\n", - " 0.000283\n", + " 0.086050\n", " \n", " \n", " coef_school_child_age_16_plus_duration_shift_effects\n", - " 0.306122\n", + " 0.250586\n", " \n", " \n", " coef_school_child_age_under_16_departure_shift_effects\n", - " 0.110796\n", + " 0.053201\n", " \n", " \n", " coef_school_child_age_under_16_duration_shift_effects\n", - " 0.338212\n", + " 0.312477\n", " \n", " \n", " coef_school_child_under_16_arrive_after_22\n", - " -0.402410\n", + " -1.096083\n", " \n", " \n", " coef_shopping_tour_arrive_after_22\n", - " -2.545226\n", + " -0.583411\n", " \n", " \n", " coef_shopping_tour_depart_before_8\n", - " -0.787100\n", + " -1.172034\n", " \n", " \n", " coef_shopping_tour_departure_shift_effects\n", - " 0.015067\n", + " -0.061028\n", " \n", " \n", " coef_shopping_tour_duration_lt_2_hours\n", - " 0.943420\n", + " 0.405721\n", " \n", " \n", " coef_shopping_tour_duration_shift_effects\n", - " -0.075331\n", + " -0.113223\n", " \n", " \n", " coef_some_previously_scheduled_tour_begins_in_this_arrival_hour\n", - " -0.054385\n", + " -0.260255\n", " \n", " \n", " coef_some_previously_scheduled_tour_ends_in_this_departure_hour\n", - " -0.345727\n", + " -0.317129\n", " \n", " \n", " coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect\n", - " -0.115107\n", + " -0.281272\n", " \n", " \n", " coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends\n", - " -25.000000\n", + " -999.000000\n", " \n", " \n", " coef_university_student_arrive_after_22\n", - " -0.537299\n", + " 0.609651\n", " \n", " \n", " coef_visit_tour_departure_shift_effects\n", - " 0.169598\n", + " 0.080406\n", " \n", " \n", " coef_visit_tour_duration_shift_effects\n", - " 0.155783\n", + " 0.140532\n", " \n", " \n", - "loglike-9499.39971608494d_loglike\n", + "
logloss3.8088398507438663d_logloss\n", " \n", " \n", " \n", @@ -1832,409 +2079,409 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction0.0001143.438973e-05
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction-0.0003853.037850e-05
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction0.000097-6.894273e-05
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction-0.0002052.343581e-05
coef_adult_with_children_in_hh_arrive_19_210.0002946.653629e-05
coef_arrival_constants_am_peak0.0000379.439405e-07
coef_arrival_constants_early0.000111-8.901383e-06
coef_arrival_constants_evening0.0000000.000000e+00
coef_arrival_constants_late0.000194-6.165299e-05
coef_arrival_constants_midday_1-0.001155-3.871814e-05
coef_arrival_constants_midday_2-0.0007143.424832e-05
coef_arrival_constants_pm_peak_1-0.0000882.789318e-05
coef_arrival_constants_pm_peak_2-0.0003175.620495e-05
coef_arrival_constants_pm_peak_3-0.0000917.993874e-05
coef_arrival_constants_pm_peak_40.0007294.315887e-05
coef_departure_constants_am_peak_10.000352-8.495800e-05
coef_departure_constants_am_peak_2-0.000454-1.392003e-05
coef_departure_constants_am_peak_30.0002356.548727e-06
coef_departure_constants_am_peak_4-0.0003863.101496e-05
coef_departure_constants_early-0.000155-4.598593e-05
coef_departure_constants_evening0.0008867.934172e-05
coef_departure_constants_late0.000080-3.695844e-05
coef_departure_constants_midday_1-0.000777-5.887180e-05
coef_departure_constants_midday_20.0000792.120332e-05
coef_departure_constants_pm_peak0.0000000.000000e+00
coef_destination_in_cbd_duration_shift_effects0.002269-5.090224e-04
coef_discretionary_tour_duration_lt_2_hours-0.0004347.164386e-05
coef_duration_constants_0_to_1_hours0.0000000.000000e+00
coef_duration_constants_11_to_13_hours-0.000100-7.457357e-05
coef_duration_constants_14_to_18_hours-0.000201-6.196472e-06
coef_duration_constants_2_to_3_hours0.0007523.359402e-06
coef_duration_constants_4_to_5_hours0.000035-1.152395e-04
coef_duration_constants_6_to_7_hours0.0002578.557322e-05
coef_duration_constants_8_to_10_hours0.0000551.199127e-04
coef_eat_out_tour_departure_shift_effects-0.0008649.487469e-05
coef_escort_tour_arrival_constants_am_peak0.0000000.000000e+00
coef_escort_tour_arrival_constants_early0.0000000.000000e+00
coef_escort_tour_arrival_constants_evening0.000050-2.421029e-06
coef_escort_tour_arrival_constants_late-0.000165-2.218474e-05
coef_escort_tour_arrival_constants_midday_10.0000000.000000e+00
coef_escort_tour_arrival_constants_midday_20.0000000.000000e+00
coef_escort_tour_arrival_constants_pm_peak_10.0000000.000000e+00
coef_escort_tour_arrival_constants_pm_peak_20.0000000.000000e+00
coef_escort_tour_arrival_constants_pm_peak_30.0000000.000000e+00
coef_escort_tour_arrival_constants_pm_peak_40.0000000.000000e+00
coef_escort_tour_departure_constants_am_peak_10.000085-4.267869e-05
coef_escort_tour_departure_constants_am_peak_2-0.0000066.901890e-05
coef_escort_tour_departure_constants_am_peak_30.0001894.201443e-05
coef_escort_tour_departure_constants_am_peak_4-0.0003224.405139e-05
coef_escort_tour_departure_constants_early-0.0001185.739071e-05
coef_escort_tour_departure_constants_evening0.000116-1.563838e-05
coef_escort_tour_departure_constants_late-0.0000661.808622e-04
coef_escort_tour_departure_constants_midday_10.000073-5.212731e-06
coef_escort_tour_departure_constants_midday_20.0000000.000000e+00
coef_escort_tour_departure_constants_pm_peak0.000128-3.144269e-05
coef_escort_tour_duration_constants_0_to_1_hours0.0000000.000000e+00
coef_escort_tour_duration_constants_11_to_13_hours0.0004584.885945e-05
coef_escort_tour_duration_constants_14_to_18_hours-0.000124-6.674129e-06
coef_escort_tour_duration_constants_2_to_3_hours-0.0002188.004432e-05
coef_escort_tour_duration_constants_4_to_5_hours0.0000737.200311e-06
coef_escort_tour_duration_constants_6_to_7_hours0.0000929.728923e-06
coef_escort_tour_duration_constants_8_to_10_hours0.0000133.329902e-06
coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect0.0083783.750465e-05
coef_free_flow_round_trip_auto_time_shift_effects_duration-0.0392021.926232e-04
coef_maintenance_tour_depart_before_70.000197-7.804297e-06
coef_maintenance_tour_departure_shift_effects-0.0042501.482773e-04
coef_maintenance_tour_duration_shift_effects0.0011253.493923e-04
coef_number_of_escort_tours_departure_shift_effects0.0076461.304873e-05
coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects0.015415-1.378737e-05
coef_number_of_joint_tours_departure_shift_effects0.000633-9.589696e-05
coef_number_of_mandatory_tours_departure_shift_effects0.003775-4.122044e-05
coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours0.0000442.048882e-05
coef_school_child_age_16_plus_departure_shift_effects-0.000324-1.242593e-05
coef_school_child_age_16_plus_duration_shift_effects0.000284-1.367621e-05
coef_school_child_age_under_16_departure_shift_effects0.000075-4.089013e-05
coef_school_child_age_under_16_duration_shift_effects0.001635-2.174936e-05
coef_school_child_under_16_arrive_after_22-0.0001867.030245e-07
coef_shopping_tour_arrive_after_22-0.0000441.001740e-06
coef_shopping_tour_depart_before_8-0.0003601.716270e-05
coef_shopping_tour_departure_shift_effects0.0175473.564338e-05
coef_shopping_tour_duration_lt_2_hours-0.000129-4.343344e-05
coef_shopping_tour_duration_shift_effects0.0037181.135557e-04
coef_some_previously_scheduled_tour_begins_in_this_arrival_hour-0.0000754.711918e-06
coef_some_previously_scheduled_tour_ends_in_this_departure_hour-0.000476-5.226511e-05
coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect0.0005837.117498e-05
coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends0.0000000.000000e+00
coef_university_student_arrive_after_22-0.000256-8.028019e-06
coef_visit_tour_departure_shift_effects-0.000785-8.601128e-05
coef_visit_tour_duration_shift_effects-0.001139-1.064345e-04
nit79nfev236njev79status0message'Optimization terminated successfully'successTrueelapsed_time0:00:18.828322method'slsqp'n_cases2490iteration_number79logloss3.8150199662991726" + "nit121nfev130njev121status0message'Optimization terminated successfully'successTrueelapsed_time0:01:35.575519method'slsqp'n_cases29669iteration_number121loglike-103688.04725680027" ], "text/plain": [ - "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -0.127954\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 0.093954\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.253749\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -0.198343\n", - "┃ coef_adult_with_children_in_hh_arrive_19_21 0.309424\n", - "┃ ... \n", - "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -0.115107\n", - "┃ coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends -25.000000\n", - "┃ coef_university_student_arrive_after_22 -0.537299\n", - "┃ coef_visit_tour_departure_shift_effects 0.169598\n", - "┃ coef_visit_tour_duration_shift_effects 0.155783\n", + "┣ x: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.126593\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -0.610258\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.113506\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 0.386575\n", + "┃ coef_adult_with_children_in_hh_arrive_19_21 0.281164\n", + "┃ ... \n", + "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -0.281272\n", + "┃ coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends -999.000000\n", + "┃ coef_university_student_arrive_after_22 0.609651\n", + "┃ coef_visit_tour_departure_shift_effects 0.080406\n", + "┃ coef_visit_tour_duration_shift_effects 0.140532\n", "┃ Length: 89, dtype: float64\n", - "┣ loglike: -9499.39971608494\n", - "┣ d_loglike: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.000114\n", - "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -0.000385\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.000097\n", - "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -0.000205\n", - "┃ coef_adult_with_children_in_hh_arrive_19_21 0.000294\n", + "┣ logloss: 3.8088398507438663\n", + "┣ d_logloss: coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.000034\n", + "┃ coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 0.000030\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -0.000069\n", + "┃ coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 0.000023\n", + "┃ coef_adult_with_children_in_hh_arrive_19_21 0.000067\n", "┃ ... \n", - "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 0.000583\n", + "┃ coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect 0.000071\n", "┃ coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends 0.000000\n", - "┃ coef_university_student_arrive_after_22 -0.000256\n", - "┃ coef_visit_tour_departure_shift_effects -0.000785\n", - "┃ coef_visit_tour_duration_shift_effects -0.001139\n", + "┃ coef_university_student_arrive_after_22 -0.000008\n", + "┃ coef_visit_tour_departure_shift_effects -0.000086\n", + "┃ coef_visit_tour_duration_shift_effects -0.000106\n", "┃ Length: 89, dtype: float64\n", - "┣ nit: 79\n", - "┣ nfev: 236\n", - "┣ njev: 79\n", + "┣ nit: 121\n", + "┣ nfev: 130\n", + "┣ njev: 121\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=18, microseconds=828322)\n", + "┣ elapsed_time: datetime.timedelta(seconds=95, microseconds=575519)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 2490\n", - "┣ iteration_number: 79\n", - "┣ logloss: 3.8150199662991726" + "┣ n_cases: 29669\n", + "┣ iteration_number: 121\n", + "┣ loglike: -103688.04725680027" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate()" + "model.estimate(maxiter=900)" ] }, { @@ -2246,830 +2493,856 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value Constrained
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction-0.128 0.141-0.91 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction 0.0940 0.137 0.69 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.254 0.148 1.72 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction-0.198 0.140-1.42 0.00
coef_adult_with_children_in_hh_arrive_19_21 0.309 0.136 2.27* 0.00
coef_arrival_constants_am_peak 0.423 0.303 1.40 0.00
coef_arrival_constants_early 2.91 0.429 6.78*** 0.00
coef_arrival_constants_evening 0.00 NA NA 0.00fixed value
coef_arrival_constants_late-1.19 0.133-8.96*** 0.00
coef_arrival_constants_midday_1 1.48 0.220 6.75*** 0.00
coef_arrival_constants_midday_2 1.57 0.174 9.05*** 0.00
coef_arrival_constants_pm_peak_1 1.41 0.160 8.80*** 0.00
coef_arrival_constants_pm_peak_2 1.60 0.132 12.14*** 0.00
coef_arrival_constants_pm_peak_3 1.11 0.118 9.40*** 0.00
coef_arrival_constants_pm_peak_4 0.719 0.108 6.69*** 0.00
coef_departure_constants_am_peak_1-0.463 0.384-1.21 0.00
coef_departure_constants_am_peak_2 1.26 0.276 4.56*** 0.00
coef_departure_constants_am_peak_3 1.50 0.246 6.10*** 0.00
coef_departure_constants_am_peak_4 1.57 0.223 7.06*** 0.00
coef_departure_constants_early-1.03 0.420-2.45* 0.00
coef_departure_constants_evening-1.91 0.136-14.03*** 0.00
coef_departure_constants_late-5.86 0.728-8.05*** 0.00
coef_departure_constants_midday_1 1.41 0.171 8.23*** 0.00
coef_departure_constants_midday_2 0.673 0.113 5.98*** 0.00
coef_departure_constants_pm_peak 0.00 NA NA 0.00fixed value
coef_destination_in_cbd_duration_shift_effects 0.116 0.0186 6.26*** 0.00
coef_discretionary_tour_duration_lt_2_hours-0.264 0.136-1.93 0.00
coef_duration_constants_0_to_1_hours 0.00 NA NA 0.00fixed value
coef_duration_constants_11_to_13_hours-0.877 0.352-2.49* 0.00
coef_duration_constants_14_to_18_hours-2.82 0.771-3.66*** 0.00
coef_duration_constants_2_to_3_hours 0.435 0.0972 4.48*** 0.00
coef_duration_constants_4_to_5_hours-0.224 0.139-1.60 0.00
coef_duration_constants_6_to_7_hours-0.584 0.192-3.04** 0.00
coef_duration_constants_8_to_10_hours-0.528 0.249-2.12* 0.00
coef_eat_out_tour_departure_shift_effects 0.106 0.0224 4.71*** 0.00
coef_escort_tour_arrival_constants_am_peak 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_early 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_evening-0.879 0.304-2.89** 0.00
coef_escort_tour_arrival_constants_late-1.25 0.579-2.17* 0.00
coef_escort_tour_arrival_constants_midday_1 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_midday_2 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_1 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_2 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_3 0.00 NA NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_4 0.00 NA NA 0.00fixed value
coef_escort_tour_departure_constants_am_peak_1 0.704 0.317 2.22* 0.00
coef_escort_tour_departure_constants_am_peak_2 2.28 0.192 11.84*** 0.00
coef_escort_tour_departure_constants_am_peak_3 2.30 0.187 12.28*** 0.00
coef_escort_tour_departure_constants_am_peak_4 0.493 0.316 1.56 0.00
coef_escort_tour_departure_constants_early-0.494 0.566-0.87 0.00
coef_escort_tour_departure_constants_evening-4.80 0.503-9.55*** 0.00
coef_escort_tour_departure_constants_late-6.86 1.10-6.23*** 0.00
coef_escort_tour_departure_constants_midday_1 0.746 0.165 4.53*** 0.00
coef_escort_tour_departure_constants_midday_2 0.00 NA NA 0.00fixed value
coef_escort_tour_departure_constants_pm_peak-1.82 0.210-8.67*** 0.00
coef_escort_tour_duration_constants_0_to_1_hours 0.00 NA NA 0.00fixed value
coef_escort_tour_duration_constants_11_to_13_hours-6.39 0.808-7.92*** 0.00
coef_escort_tour_duration_constants_14_to_18_hours-9.42 1.63-5.78*** 0.00
coef_escort_tour_duration_constants_2_to_3_hours-2.60 0.212-12.27*** 0.00
coef_escort_tour_duration_constants_4_to_5_hours-3.52 0.319-11.05*** 0.00
coef_escort_tour_duration_constants_6_to_7_hours-3.98 0.379-10.49*** 0.00
coef_escort_tour_duration_constants_8_to_10_hours-5.16 0.492-10.47*** 0.00
coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect-0.285 0.0225-12.67*** 0.00
coef_free_flow_round_trip_auto_time_shift_effects_duration 0.00499 0.000948 5.27*** 0.00
coef_maintenance_tour_depart_before_7 0.0420 0.359 0.12 0.00
coef_maintenance_tour_departure_shift_effects-0.0366 0.0193-1.90 0.00
coef_maintenance_tour_duration_shift_effects-0.116 0.0298-3.89*** 0.00
coef_number_of_escort_tours_departure_shift_effects 0.115 0.00964 11.95*** 0.00
coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects 0.104 0.00667 15.64*** 0.00
coef_number_of_joint_tours_departure_shift_effects 0.122 0.0296 4.12*** 0.00
coef_number_of_mandatory_tours_departure_shift_effects 0.171 0.0125 13.63*** 0.00
coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours 5.64 0.804 7.02*** 0.00
coef_school_child_age_16_plus_departure_shift_effects 0.000283 0.112 0.00 0.00
coef_school_child_age_16_plus_duration_shift_effects 0.306 0.0952 3.22** 0.00
coef_school_child_age_under_16_departure_shift_effects 0.111 0.0367 3.02** 0.00
coef_school_child_age_under_16_duration_shift_effects 0.338 0.0418 8.10*** 0.00
coef_school_child_under_16_arrive_after_22-0.402 0.480-0.84 0.00
coef_shopping_tour_arrive_after_22-2.55 1.01-2.52* 0.00
coef_shopping_tour_depart_before_8-0.787 0.254-3.10** 0.00
coef_shopping_tour_departure_shift_effects 0.0151 0.0182 0.83 0.00
coef_shopping_tour_duration_lt_2_hours 0.943 0.144 6.55*** 0.00
coef_shopping_tour_duration_shift_effects-0.0753 0.0296-2.55* 0.00
coef_some_previously_scheduled_tour_begins_in_this_arrival_hour-0.0544 0.0946-0.58 0.00
coef_some_previously_scheduled_tour_ends_in_this_departure_hour-0.346 0.0763-4.53*** 0.00
coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect-0.115 0.0570-2.02* 0.00
coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends-999. NA NA 0.00fixed value
coef_university_student_arrive_after_22-0.537 0.853-0.63 0.00
coef_visit_tour_departure_shift_effects 0.170 0.0312 5.44*** 0.00
coef_visit_tour_duration_shift_effects 0.156 0.0369 4.22*** 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction 0.127 0.0994 1.27 0.00
coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction-0.610 0.0968-6.30*** 0.00
coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction 0.114 0.0850 1.34 0.00
coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction 0.387 0.0868 4.45*** 0.00
coef_adult_with_children_in_hh_arrive_19_21 0.281 0.0376 7.47*** 0.00
coef_arrival_constants_am_peak-1.62 0.104-15.66*** 0.00
coef_arrival_constants_early 0.00617 0.146 0.04 0.00
coef_arrival_constants_evening 0.00 0.00 NA 0.00fixed value
coef_arrival_constants_late-0.817 0.0418-19.58*** 0.00
coef_arrival_constants_midday_1 0.0505 0.0730 0.69 0.00
coef_arrival_constants_midday_2 0.512 0.0562 9.12*** 0.00
coef_arrival_constants_pm_peak_1 0.638 0.0500 12.74*** 0.00
coef_arrival_constants_pm_peak_2 0.624 0.0421 14.82*** 0.00
coef_arrival_constants_pm_peak_3 0.299 0.0377 7.95*** 0.00
coef_arrival_constants_pm_peak_4 0.0860 0.0339 2.53* 0.00
coef_departure_constants_am_peak_1-0.564 0.115-4.91*** 0.00
coef_departure_constants_am_peak_2 0.618 0.0862 7.17*** 0.00
coef_departure_constants_am_peak_3 1.08 0.0750 14.36*** 0.00
coef_departure_constants_am_peak_4 0.968 0.0684 14.16*** 0.00
coef_departure_constants_early-1.39 0.133-10.46*** 0.00
coef_departure_constants_evening-1.69 0.0406-41.61*** 0.00
coef_departure_constants_late-4.31 0.172-25.06*** 0.00
coef_departure_constants_midday_1 0.803 0.0524 15.33*** 0.00
coef_departure_constants_midday_2 0.328 0.0342 9.58*** 0.00
coef_departure_constants_pm_peak 0.00 0.00 NA 0.00fixed value
coef_destination_in_cbd_duration_shift_effects 0.110 0.00846 13.02*** 0.00
coef_discretionary_tour_duration_lt_2_hours-0.713 0.0444-16.04*** 0.00
coef_duration_constants_0_to_1_hours 0.00 0.00 NA 0.00fixed value
coef_duration_constants_11_to_13_hours-1.00 0.115-8.70*** 0.00
coef_duration_constants_14_to_18_hours-1.20 0.192-6.28*** 0.00
coef_duration_constants_2_to_3_hours-0.0649 0.0325-2.00* 0.00
coef_duration_constants_4_to_5_hours-0.718 0.0457-15.71*** 0.00
coef_duration_constants_6_to_7_hours-1.11 0.0630-17.62*** 0.00
coef_duration_constants_8_to_10_hours-0.954 0.0817-11.68*** 0.00
coef_eat_out_tour_departure_shift_effects 0.0651 0.00756 8.61*** 0.00
coef_escort_tour_arrival_constants_am_peak 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_early 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_evening-0.305 0.0678-4.51*** 0.00
coef_escort_tour_arrival_constants_late-0.705 0.132-5.34*** 0.00
coef_escort_tour_arrival_constants_midday_1 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_midday_2 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_1 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_2 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_3 0.00 0.00 NA 0.00fixed value
coef_escort_tour_arrival_constants_pm_peak_4 0.00 0.00 NA 0.00fixed value
coef_escort_tour_departure_constants_am_peak_1-0.875 0.0968-9.04*** 0.00
coef_escort_tour_departure_constants_am_peak_2 1.00 0.0627 15.99*** 0.00
coef_escort_tour_departure_constants_am_peak_3 1.43 0.0560 25.58*** 0.00
coef_escort_tour_departure_constants_am_peak_4-0.0763 0.0774-0.99 0.00
coef_escort_tour_departure_constants_early-1.24 0.114-10.89*** 0.00
coef_escort_tour_departure_constants_evening-3.66 0.115-31.78*** 0.00
coef_escort_tour_departure_constants_late-7.40 0.594-12.45*** 0.00
coef_escort_tour_departure_constants_midday_1 0.186 0.0464 4.00*** 0.00
coef_escort_tour_departure_constants_midday_2 0.00 0.00 NA 0.00fixed value
coef_escort_tour_departure_constants_pm_peak-1.17 0.0525-22.33*** 0.00
coef_escort_tour_duration_constants_0_to_1_hours 0.00 0.00 NA 0.00fixed value
coef_escort_tour_duration_constants_11_to_13_hours-2.82 0.160-17.67*** 0.00
coef_escort_tour_duration_constants_14_to_18_hours-2.49 0.263-9.48*** 0.00
coef_escort_tour_duration_constants_2_to_3_hours-2.03 0.0487-41.65*** 0.00
coef_escort_tour_duration_constants_4_to_5_hours-2.94 0.0862-34.13*** 0.00
coef_escort_tour_duration_constants_6_to_7_hours-3.10 0.108-28.63*** 0.00
coef_escort_tour_duration_constants_8_to_10_hours-3.10 0.116-26.68*** 0.00
coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect-0.272 0.00757-36.01*** 0.00
coef_free_flow_round_trip_auto_time_shift_effects_duration 0.00433 0.000116 37.30*** 0.00
coef_maintenance_tour_depart_before_7-0.819 0.121-6.78*** 0.00
coef_maintenance_tour_departure_shift_effects-0.140 0.00739-18.98*** 0.00
coef_maintenance_tour_duration_shift_effects-0.0681 0.00931-7.32*** 0.00
coef_number_of_escort_tours_departure_shift_effects 0.0556 0.00378 14.70*** 0.00
coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects 0.0542 0.00268 20.25*** 0.00
coef_number_of_joint_tours_departure_shift_effects 0.0293 0.00871 3.36*** 0.00
coef_number_of_mandatory_tours_departure_shift_effects 0.0313 0.00474 6.60*** 0.00
coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours-13.6 0.746-18.26*** 0.00
coef_school_child_age_16_plus_departure_shift_effects 0.0860 0.0191 4.51*** 0.00
coef_school_child_age_16_plus_duration_shift_effects 0.251 0.0205 12.25*** 0.00
coef_school_child_age_under_16_departure_shift_effects 0.0532 0.00949 5.60*** 0.00
coef_school_child_age_under_16_duration_shift_effects 0.312 0.0106 29.41*** 0.00
coef_school_child_under_16_arrive_after_22-1.10 0.170-6.44*** 0.00
coef_shopping_tour_arrive_after_22-0.583 0.148-3.95*** 0.00
coef_shopping_tour_depart_before_8-1.17 0.0899-13.03*** 0.00
coef_shopping_tour_departure_shift_effects-0.0610 0.00644-9.48*** 0.00
coef_shopping_tour_duration_lt_2_hours 0.406 0.0459 8.83*** 0.00
coef_shopping_tour_duration_shift_effects-0.113 0.00985-11.49*** 0.00
coef_some_previously_scheduled_tour_begins_in_this_arrival_hour-0.260 0.0337-7.71*** 0.00
coef_some_previously_scheduled_tour_ends_in_this_departure_hour-0.317 0.0252-12.58*** 0.00
coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect-0.281 0.0193-14.55*** 0.00
coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends-999. 0.00 NA 0.00fixed value
coef_university_student_arrive_after_22 0.610 0.171 3.57*** 0.00
coef_visit_tour_departure_shift_effects 0.0804 0.00979 8.21*** 0.00
coef_visit_tour_duration_shift_effects 0.141 0.0115 12.20*** 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -3090,7 +3363,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -3111,20 +3384,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -3143,7 +3405,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -3188,19 +3450,19 @@ " \n", " 2\n", " coef_free_flow_round_trip_auto_time_shift_effe...\n", - " 0.004992\n", + " 0.004326\n", " F\n", " \n", " \n", " 3\n", " coef_shopping_tour_departure_shift_effects\n", - " 0.015067\n", + " -0.061028\n", " F\n", " \n", " \n", " 4\n", " coef_shopping_tour_duration_shift_effects\n", - " -0.075331\n", + " -0.113223\n", " F\n", " \n", " \n", @@ -3212,31 +3474,31 @@ " \n", " 85\n", " coef_escort_tour_duration_constants_4_to_5_hours\n", - " -3.522889\n", + " -2.941739\n", " F\n", " \n", " \n", " 86\n", " coef_escort_tour_duration_constants_6_to_7_hours\n", - " -3.979277\n", + " -3.103903\n", " F\n", " \n", " \n", " 87\n", " coef_escort_tour_duration_constants_8_to_10_hours\n", - " -5.158316\n", + " -3.097454\n", " F\n", " \n", " \n", " 88\n", " coef_escort_tour_duration_constants_11_to_13_h...\n", - " -6.393148\n", + " -2.821199\n", " F\n", " \n", " \n", " 89\n", " coef_escort_tour_duration_constants_14_to_18_h...\n", - " -9.419793\n", + " -2.493843\n", " F\n", " \n", " \n", @@ -3248,20 +3510,20 @@ " coefficient_name value constrain\n", "0 coef_dummy 1.000000 T\n", "1 coef_subsequent_tour_must_start_after_previous... -999.000000 T\n", - "2 coef_free_flow_round_trip_auto_time_shift_effe... 0.004992 F\n", - "3 coef_shopping_tour_departure_shift_effects 0.015067 F\n", - "4 coef_shopping_tour_duration_shift_effects -0.075331 F\n", + "2 coef_free_flow_round_trip_auto_time_shift_effe... 0.004326 F\n", + "3 coef_shopping_tour_departure_shift_effects -0.061028 F\n", + "4 coef_shopping_tour_duration_shift_effects -0.113223 F\n", ".. ... ... ...\n", - "85 coef_escort_tour_duration_constants_4_to_5_hours -3.522889 F\n", - "86 coef_escort_tour_duration_constants_6_to_7_hours -3.979277 F\n", - "87 coef_escort_tour_duration_constants_8_to_10_hours -5.158316 F\n", - "88 coef_escort_tour_duration_constants_11_to_13_h... -6.393148 F\n", - "89 coef_escort_tour_duration_constants_14_to_18_h... -9.419793 F\n", + "85 coef_escort_tour_duration_constants_4_to_5_hours -2.941739 F\n", + "86 coef_escort_tour_duration_constants_6_to_7_hours -3.103903 F\n", + "87 coef_escort_tour_duration_constants_8_to_10_hours -3.097454 F\n", + "88 coef_escort_tour_duration_constants_11_to_13_h... -2.821199 F\n", + "89 coef_escort_tour_duration_constants_14_to_18_h... -2.493843 F\n", "\n", "[90 rows x 3 columns]" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -3278,7 +3540,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3292,7 +3554,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/17_tour_mode_choice.ipynb b/activitysim/examples/example_estimation/notebooks/17_tour_mode_choice.ipynb index e502d50ff8..535c1bedb7 100644 --- a/activitysim/examples/example_estimation/notebooks/17_tour_mode_choice.ipynb +++ b/activitysim/examples/example_estimation/notebooks/17_tour_mode_choice.ipynb @@ -31,30 +31,128 @@ "height": 34 }, "colab_type": "code", + "execution": { + "iopub.execute_input": "2025-06-26T02:18:53.757761Z", + "iopub.status.busy": "2025-06-26T02:18:53.757352Z", + "iopub.status.idle": "2025-06-26T02:18:55.343119Z", + "shell.execute_reply": "2025-06-26T02:18:55.342813Z", + "shell.execute_reply.started": "2025-06-26T02:18:53.757721Z" + }, "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "OMP: Info #276: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.41',\n", + " 'sharrow': '2.13.1.dev2+g065e1fe',\n", + " 'numpy': '1.24.4',\n", + " 'pandas': '2.3.0',\n", + " 'xarray': '2025.4.0',\n", + " 'numba': '0.60.0',\n", + " 'jax': 'not installed'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:18:55.343775Z", + "iopub.status.busy": "2025-06-26T02:18:55.343576Z", + "iopub.status.idle": "2025-06-26T02:18:55.594289Z", + "shell.execute_reply": "2025-06-26T02:18:55.593986Z", + "shell.execute_reply.started": "2025-06-26T02:18:55.343766Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from est_mode_setup import prepare, backup\n", + "\n", + "prepare()" + ] + }, + { + "cell_type": "markdown", "metadata": {}, + "source": [ + "In this demo notebook, we will (later) edit some model files. But for demo purposes, we want to\n", + "make sure we are starting from the \"original\" files, so we'll check that now. For actual \n", + "applications, this step would not be necessary." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:18:55.594903Z", + "iopub.status.busy": "2025-06-26T02:18:55.594763Z", + "iopub.status.idle": "2025-06-26T02:18:55.597557Z", + "shell.execute_reply": "2025-06-26T02:18:55.597315Z", + "shell.execute_reply.started": "2025-06-26T02:18:55.594892Z" + } + }, "outputs": [], "source": [ - "os.chdir('test')" + "backup(\"output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_coefficients.csv\")\n", + "backup(\"output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_coefficients_template.csv\")\n", + "backup(\"output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_SPEC.csv\")" ] }, { @@ -66,14 +164,38 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:18:55.599005Z", + "iopub.status.busy": "2025-06-26T02:18:55.598789Z", + "iopub.status.idle": "2025-06-26T02:19:10.986768Z", + "shell.execute_reply": "2025-06-26T02:19:10.986372Z", + "shell.execute_reply.started": "2025-06-26T02:18:55.598996Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_coefficients_template.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"tour_mode_choice\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -86,17 +208,48 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:10.987338Z", + "iopub.status.busy": "2025-06-26T02:19:10.987239Z", + "iopub.status.idle": "2025-06-26T02:19:12.247678Z", + "shell.execute_reply": "2025-06-26T02:19:12.247318Z", + "shell.execute_reply.started": "2025-06-26T02:19:10.987328Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_mode_choice/tour_mode_choice_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_mode_choice/atwork_subtour_mode_choice_coefficients_template.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/atwork_subtour_mode_choice/atwork_subtour_mode_choice_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_mode_choice/atwork_subtour_mode_choice_values_combined.parquet\n" + ] + } + ], "source": [ - "model2, data2 = component_model(\"atwork_subtour_mode_choice\", return_data=True)" + "model2, data2 = component_model(\n", + " \"atwork_subtour_mode_choice\", \n", + " edb_directory=\"output-est-mode/estimation_data_bundle/atwork_subtour_mode_choice\",\n", + " return_data=True,\n", + " )" ] }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:12.248184Z", + "iopub.status.busy": "2025-06-26T02:19:12.248080Z", + "iopub.status.idle": "2025-06-26T02:19:14.272297Z", + "shell.execute_reply": "2025-06-26T02:19:14.271908Z", + "shell.execute_reply.started": "2025-06-26T02:19:12.248174Z" + } + }, "outputs": [], "source": [ "model.extend(model2)" @@ -120,8 +273,16 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "execution_count": 7, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:14.272784Z", + "iopub.status.busy": "2025-06-26T02:19:14.272698Z", + "iopub.status.idle": "2025-06-26T02:19:14.277447Z", + "shell.execute_reply": "2025-06-26T02:19:14.277183Z", + "shell.execute_reply.started": "2025-06-26T02:19:14.272775Z" + } + }, "outputs": [ { "data": { @@ -185,16 +346,6 @@ " ...\n", " \n", " \n", - " walk_transit_CBD_ASC_atwork\n", - " 0.564\n", - " F\n", - " \n", - " \n", - " drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social\n", - " 0.525\n", - " F\n", - " \n", - " \n", " drive_transit_CBD_ASC_school_univ\n", " 0.672\n", " F\n", @@ -209,9 +360,19 @@ " 0.564\n", " F\n", " \n", + " \n", + " coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork\n", + " 0.000\n", + " F\n", + " \n", + " \n", + " coef_test_school_univ\n", + " 0.000\n", + " F\n", + " \n", " \n", "\n", - "

307 rows × 2 columns

\n", + "

309 rows × 2 columns

\n", "" ], "text/plain": [ @@ -223,16 +384,16 @@ "coef_nest_AUTO_DRIVEALONE 0.350 T\n", "coef_nest_AUTO_SHAREDRIDE2 0.350 T\n", "... ... ...\n", - "walk_transit_CBD_ASC_atwork 0.564 F\n", - "drive_transit_CBD_ASC_eatout_escort_othdiscr_ot... 0.525 F\n", "drive_transit_CBD_ASC_school_univ 0.672 F\n", "drive_transit_CBD_ASC_work 1.100 F\n", "drive_transit_CBD_ASC_atwork 0.564 F\n", + "coef_test_eatout_escort_othdiscr_othmaint_shopp... 0.000 F\n", + "coef_test_school_univ 0.000 F\n", "\n", - "[307 rows x 2 columns]" + "[309 rows x 2 columns]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -250,8 +411,16 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:14.277824Z", + "iopub.status.busy": "2025-06-26T02:19:14.277744Z", + "iopub.status.idle": "2025-06-26T02:19:14.284481Z", + "shell.execute_reply": "2025-06-26T02:19:14.284213Z", + "shell.execute_reply.started": "2025-06-26T02:19:14.277816Z" + } + }, "outputs": [ { "data": { @@ -443,30 +612,6 @@ " ...\n", " \n", " \n", - " 310\n", - " util_Drive_to_Transit_dest_CBD\n", - " Drive to Transit dest CBD\n", - " @df.destination_in_cbd\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " drive_transit_CBD_ASC\n", - " drive_transit_CBD_ASC\n", - " drive_transit_CBD_ASC\n", - " drive_transit_CBD_ASC\n", - " drive_transit_CBD_ASC\n", - " NaN\n", - " NaN\n", - " NaN\n", - " \n", - " \n", " 311\n", " util_Drive_to_Transit_distance_penalty\n", " Drive to Transit - distance penalty\n", @@ -562,9 +707,33 @@ " NaN\n", " NaN\n", " \n", + " \n", + " 315\n", + " util_test\n", + " Drive alone not available for escort tours\n", + " @1\n", + " coef_test\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " \n", " \n", "\n", - "

315 rows × 24 columns

\n", + "

316 rows × 24 columns

\n", "" ], "text/plain": [ @@ -575,11 +744,11 @@ "3 util_DRIVEALONEFREE_Unavailable_for_joint_tours \n", "4 util_DRIVEALONEFREE_Unavailable_if_didnt_drive... \n", ".. ... \n", - "310 util_Drive_to_Transit_dest_CBD \n", "311 util_Drive_to_Transit_distance_penalty \n", "312 util_Walk_not_available_for_long_distances \n", "313 util_Bike_not_available_for_long_distances \n", "314 util_Drive_alone_not_available_for_escort_tours \n", + "315 util_test \n", "\n", " Description \\\n", "0 DRIVEALONEFREE - Unavailable \n", @@ -588,11 +757,11 @@ "3 DRIVEALONEFREE - Unavailable for joint tours \n", "4 DRIVEALONEFREE - Unavailable if didn't drive t... \n", ".. ... \n", - "310 Drive to Transit dest CBD \n", "311 Drive to Transit - distance penalty \n", "312 Walk not available for long distances \n", "313 Bike not available for long distances \n", "314 Drive alone not available for escort tours \n", + "315 Drive alone not available for escort tours \n", "\n", " Expression DRIVEALONEFREE \\\n", "0 sov_available == False -999 \n", @@ -601,11 +770,11 @@ "3 is_joint == True -999 \n", "4 is_atwork_subtour & ~work_tour_is_SOV -999 \n", ".. ... ... \n", - "310 @df.destination_in_cbd NaN \n", "311 @drvtrn_distpen_0_multiplier * (1-od_skims['DI... NaN \n", "312 @od_skims.max('DISTWALK') > 3 NaN \n", "313 @od_skims.max('DISTBIKE') > 8 NaN \n", "314 is_escort -999 \n", + "315 @1 coef_test \n", "\n", " DRIVEALONEPAY SHARED2FREE SHARED2PAY SHARED3FREE SHARED3PAY WALK ... \\\n", "0 NaN NaN NaN NaN NaN NaN ... \n", @@ -614,37 +783,24 @@ "3 NaN NaN NaN NaN NaN NaN ... \n", "4 NaN NaN NaN NaN NaN NaN ... \n", ".. ... ... ... ... ... ... ... \n", - "310 NaN NaN NaN NaN NaN NaN ... \n", "311 NaN NaN NaN NaN NaN NaN ... \n", "312 NaN NaN NaN NaN NaN -999 ... \n", "313 NaN NaN NaN NaN NaN NaN ... \n", "314 -999 NaN NaN NaN NaN NaN ... \n", + "315 NaN NaN NaN NaN NaN NaN ... \n", "\n", - " WALK_HVY WALK_COM DRIVE_LOC DRIVE_LRF \\\n", - "0 NaN NaN NaN NaN \n", - "1 NaN NaN NaN NaN \n", - "2 NaN NaN NaN NaN \n", - "3 NaN NaN NaN NaN \n", - "4 NaN NaN NaN NaN \n", - ".. ... ... ... ... \n", - "310 NaN NaN drive_transit_CBD_ASC drive_transit_CBD_ASC \n", - "311 NaN NaN coef_ivt coef_ivt \n", - "312 NaN NaN NaN NaN \n", - "313 NaN NaN NaN NaN \n", - "314 NaN NaN NaN NaN \n", - "\n", - " DRIVE_EXP DRIVE_HVY DRIVE_COM TAXI \\\n", - "0 NaN NaN NaN NaN \n", - "1 NaN NaN NaN NaN \n", - "2 NaN NaN NaN NaN \n", - "3 NaN NaN NaN NaN \n", - "4 NaN NaN NaN NaN \n", - ".. ... ... ... ... \n", - "310 drive_transit_CBD_ASC drive_transit_CBD_ASC drive_transit_CBD_ASC NaN \n", - "311 coef_ivt coef_ivt coef_ivt NaN \n", - "312 NaN NaN NaN NaN \n", - "313 NaN NaN NaN NaN \n", - "314 NaN NaN NaN NaN \n", + " WALK_HVY WALK_COM DRIVE_LOC DRIVE_LRF DRIVE_EXP DRIVE_HVY DRIVE_COM TAXI \\\n", + "0 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN NaN NaN NaN NaN \n", + ".. ... ... ... ... ... ... ... ... \n", + "311 NaN NaN coef_ivt coef_ivt coef_ivt coef_ivt coef_ivt NaN \n", + "312 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "313 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "314 NaN NaN NaN NaN NaN NaN NaN NaN \n", + "315 NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", " TNC_SINGLE TNC_SHARED \n", "0 NaN NaN \n", @@ -653,16 +809,16 @@ "3 NaN NaN \n", "4 NaN NaN \n", ".. ... ... \n", - "310 NaN NaN \n", "311 NaN NaN \n", "312 NaN NaN \n", "313 NaN NaN \n", "314 NaN NaN \n", + "315 NaN NaN \n", "\n", - "[315 rows x 24 columns]" + "[316 rows x 24 columns]" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -680,8 +836,16 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, + "execution_count": 9, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:14.284943Z", + "iopub.status.busy": "2025-06-26T02:19:14.284856Z", + "iopub.status.idle": "2025-06-26T02:19:14.298921Z", + "shell.execute_reply": "2025-06-26T02:19:14.298594Z", + "shell.execute_reply.started": "2025-06-26T02:19:14.284935Z" + } + }, "outputs": [ { "data": { @@ -715,6 +879,7 @@ " util_DRIVEALONEFREE_Terminal_time\n", " util_DRIVEALONEFREE_Operating_cost\n", " ...\n", + " walk_lrf_available\n", " walk_ferry_available\n", " drive_local_available\n", " drive_commuter_available\n", @@ -723,7 +888,6 @@ " drive_lrf_available\n", " drive_ferry_available\n", " destination_in_cbd\n", - " tour_id.1\n", " override_choice_code\n", " \n", " \n", @@ -753,91 +917,92 @@ " \n", " \n", " \n", - " 6812\n", - " WALK\n", - " WALK\n", + " 1870\n", + " SHARED3FREE\n", + " SHARED3FREE\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 5.480000\n", - " 15.45016\n", - " 2.156258\n", + " 0.0\n", + " 20.830002\n", + " 21.26572\n", + " 6.293324\n", " ...\n", " False\n", " False\n", + " True\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " False\n", " False\n", " 1\n", - " 6812\n", - " 7\n", + " 5\n", " \n", " \n", - " 8110\n", - " WALK\n", - " WALK\n", + " 20468\n", + " SHARED3FREE\n", + " TNC_SINGLE\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 8.860000\n", - " 34.19784\n", - " 17.722496\n", + " 0.0\n", + " 9.440000\n", + " 13.24624\n", + " 14.917349\n", " ...\n", " False\n", " False\n", + " True\n", + " True\n", " False\n", - " False\n", - " False\n", + " True\n", " False\n", " False\n", " 0\n", - " 8110\n", - " 7\n", + " 20\n", " \n", " \n", - " 11013\n", - " DRIVEALONEFREE\n", - " DRIVEALONEFREE\n", + " 27055\n", + " SHARED3FREE\n", + " SHARED3FREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 20.689999\n", - " 18.17320\n", - " 15.097005\n", + " 13.160000\n", + " 8.53068\n", + " 25.088453\n", " ...\n", " False\n", + " False\n", " True\n", " True\n", " False\n", " True\n", " False\n", " False\n", - " 1\n", - " 11013\n", - " 1\n", + " 0\n", + " 5\n", " \n", " \n", - " 11016\n", - " DRIVEALONEFREE\n", - " DRIVEALONEFREE\n", + " 38877\n", + " SHARED2FREE\n", + " SHARED3FREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 14.710000\n", - " 12.85052\n", - " 10.971117\n", + " 6.730000\n", + " 11.04132\n", + " 11.040045\n", " ...\n", " False\n", + " False\n", " True\n", " True\n", " False\n", @@ -845,32 +1010,31 @@ " False\n", " False\n", " 0\n", - " 11016\n", - " 1\n", + " 5\n", " \n", " \n", - " 15403\n", - " DRIVEALONEFREE\n", - " DRIVEALONEFREE\n", + " 38904\n", + " SHARED2FREE\n", + " SHARED2FREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 15.160000\n", - " 10.64808\n", - " 26.092745\n", + " 22.410000\n", + " 17.29320\n", + " 46.920191\n", " ...\n", + " True\n", " False\n", " True\n", " True\n", " False\n", " True\n", - " False\n", + " True\n", " False\n", " 0\n", - " 15403\n", - " 1\n", + " 3\n", " \n", " \n", " ...\n", @@ -897,7 +1061,7 @@ " ...\n", " \n", " \n", - " 309760814\n", + " 310197956\n", " DRIVEALONEFREE\n", " DRIVEALONEFREE\n", " 0.0\n", @@ -905,95 +1069,95 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 24.510000\n", - " 11.41364\n", - " 27.217999\n", + " 29.900002\n", + " 4.21092\n", + " 69.245528\n", " ...\n", " False\n", - " True\n", - " True\n", " False\n", - " True\n", + " False\n", + " False\n", + " False\n", + " False\n", " False\n", " False\n", " 0\n", - " 309760814\n", " 1\n", " \n", " \n", - " 309760815\n", - " SHARED2FREE\n", - " SHARED2FREE\n", + " 310202376\n", + " DRIVEALONEFREE\n", + " BIKE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 19.349998\n", - " 16.96372\n", - " 14.591494\n", + " 5.480000\n", + " 3.82392\n", + " 19.277738\n", " ...\n", " False\n", - " True\n", - " True\n", " False\n", - " True\n", " False\n", " False\n", - " 1\n", - " 309760815\n", - " 3\n", + " False\n", + " False\n", + " False\n", + " False\n", + " 0\n", + " 8\n", " \n", " \n", - " 309790009\n", - " BIKE\n", - " BIKE\n", + " 310202384\n", + " DRIVEALONEFREE\n", + " DRIVEALONEFREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 21.410000\n", - " 19.44384\n", - " 84.280323\n", + " 5.480000\n", + " 3.82392\n", + " 19.277738\n", " ...\n", " False\n", - " True\n", - " True\n", " False\n", - " True\n", " False\n", " False\n", + " False\n", + " False\n", + " False\n", + " False\n", + " 0\n", " 1\n", - " 309790009\n", - " 8\n", " \n", " \n", - " 309796968\n", - " SHARED3FREE\n", - " SHARED3FREE\n", + " 310212634\n", + " DRIVEALONEFREE\n", + " DRIVEALONEFREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 17.340000\n", - " 13.66872\n", - " 30.549632\n", + " 12.840000\n", + " 5.32256\n", + " 5.457677\n", " ...\n", " False\n", + " False\n", + " False\n", " True\n", " True\n", " False\n", - " True\n", " False\n", " False\n", " 0\n", - " 309796968\n", - " 5\n", + " 1\n", " \n", " \n", - " 309796969\n", + " 310220296\n", " DRIVEALONEFREE\n", " DRIVEALONEFREE\n", " 0.0\n", @@ -1001,199 +1165,199 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 8.000000\n", - " 10.00692\n", - " 18.758547\n", + " 13.590000\n", + " 8.05768\n", + " 15.684208\n", " ...\n", " False\n", - " True\n", - " True\n", + " False\n", + " False\n", " False\n", " True\n", " False\n", " False\n", + " False\n", " 0\n", - " 309796969\n", " 1\n", " \n", " \n", "\n", - "

5314 rows × 535 columns

\n", + "

63935 rows × 536 columns

\n", "" ], "text/plain": [ " model_choice override_choice util_DRIVEALONEFREE_Unavailable \\\n", "tour_id \n", - "6812 WALK WALK 0.0 \n", - "8110 WALK WALK 0.0 \n", - "11013 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", - "11016 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", - "15403 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", + "1870 SHARED3FREE SHARED3FREE 0.0 \n", + "20468 SHARED3FREE TNC_SINGLE 0.0 \n", + "27055 SHARED3FREE SHARED3FREE 0.0 \n", + "38877 SHARED2FREE SHARED3FREE 0.0 \n", + "38904 SHARED2FREE SHARED2FREE 0.0 \n", "... ... ... ... \n", - "309760814 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", - "309760815 SHARED2FREE SHARED2FREE 0.0 \n", - "309790009 BIKE BIKE 0.0 \n", - "309796968 SHARED3FREE SHARED3FREE 0.0 \n", - "309796969 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", + "310197956 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", + "310202376 DRIVEALONEFREE BIKE 0.0 \n", + "310202384 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", + "310212634 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", + "310220296 DRIVEALONEFREE DRIVEALONEFREE 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_for_zero_auto_households \\\n", "tour_id \n", - "6812 1.0 \n", - "8110 1.0 \n", - "11013 0.0 \n", - "11016 0.0 \n", - "15403 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", + "38877 0.0 \n", + "38904 0.0 \n", "... ... \n", - "309760814 0.0 \n", - "309760815 0.0 \n", - "309790009 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", + "310197956 0.0 \n", + "310202376 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16 \\\n", "tour_id \n", - "6812 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", - "11016 0.0 \n", - "15403 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", + "38877 0.0 \n", + "38904 0.0 \n", "... ... \n", - "309760814 0.0 \n", - "309760815 0.0 \n", - "309790009 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", + "310197956 0.0 \n", + "310202376 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_for_joint_tours \\\n", "tour_id \n", - "6812 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", - "11016 0.0 \n", - "15403 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", + "38877 0.0 \n", + "38904 0.0 \n", "... ... \n", - "309760814 0.0 \n", - "309760815 0.0 \n", - "309790009 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", + "310197956 0.0 \n", + "310202376 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_if_didnt_drive_to_work \\\n", "tour_id \n", - "6812 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", - "11016 0.0 \n", - "15403 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", + "38877 0.0 \n", + "38904 0.0 \n", "... ... \n", - "309760814 0.0 \n", - "309760815 0.0 \n", - "309790009 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", + "310197956 0.0 \n", + "310202376 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_In_vehicle_time \\\n", "tour_id \n", - "6812 5.480000 \n", - "8110 8.860000 \n", - "11013 20.689999 \n", - "11016 14.710000 \n", - "15403 15.160000 \n", + "1870 20.830002 \n", + "20468 9.440000 \n", + "27055 13.160000 \n", + "38877 6.730000 \n", + "38904 22.410000 \n", "... ... \n", - "309760814 24.510000 \n", - "309760815 19.349998 \n", - "309790009 21.410000 \n", - "309796968 17.340000 \n", - "309796969 8.000000 \n", + "310197956 29.900002 \n", + "310202376 5.480000 \n", + "310202384 5.480000 \n", + "310212634 12.840000 \n", + "310220296 13.590000 \n", "\n", " util_DRIVEALONEFREE_Terminal_time \\\n", "tour_id \n", - "6812 15.45016 \n", - "8110 34.19784 \n", - "11013 18.17320 \n", - "11016 12.85052 \n", - "15403 10.64808 \n", + "1870 21.26572 \n", + "20468 13.24624 \n", + "27055 8.53068 \n", + "38877 11.04132 \n", + "38904 17.29320 \n", "... ... \n", - "309760814 11.41364 \n", - "309760815 16.96372 \n", - "309790009 19.44384 \n", - "309796968 13.66872 \n", - "309796969 10.00692 \n", + "310197956 4.21092 \n", + "310202376 3.82392 \n", + "310202384 3.82392 \n", + "310212634 5.32256 \n", + "310220296 8.05768 \n", "\n", - " util_DRIVEALONEFREE_Operating_cost ... walk_ferry_available \\\n", - "tour_id ... \n", - "6812 2.156258 ... False \n", - "8110 17.722496 ... False \n", - "11013 15.097005 ... False \n", - "11016 10.971117 ... False \n", - "15403 26.092745 ... False \n", - "... ... ... ... \n", - "309760814 27.217999 ... False \n", - "309760815 14.591494 ... False \n", - "309790009 84.280323 ... False \n", - "309796968 30.549632 ... False \n", - "309796969 18.758547 ... False \n", + " util_DRIVEALONEFREE_Operating_cost ... walk_lrf_available \\\n", + "tour_id ... \n", + "1870 6.293324 ... False \n", + "20468 14.917349 ... False \n", + "27055 25.088453 ... False \n", + "38877 11.040045 ... False \n", + "38904 46.920191 ... True \n", + "... ... ... ... \n", + "310197956 69.245528 ... False \n", + "310202376 19.277738 ... False \n", + "310202384 19.277738 ... False \n", + "310212634 5.457677 ... False \n", + "310220296 15.684208 ... False \n", "\n", - " drive_local_available drive_commuter_available \\\n", - "tour_id \n", - "6812 False False \n", - "8110 False False \n", - "11013 True True \n", - "11016 True True \n", - "15403 True True \n", - "... ... ... \n", - "309760814 True True \n", - "309760815 True True \n", - "309790009 True True \n", - "309796968 True True \n", - "309796969 True True \n", + " walk_ferry_available drive_local_available \\\n", + "tour_id \n", + "1870 False True \n", + "20468 False True \n", + "27055 False True \n", + "38877 False True \n", + "38904 False True \n", + "... ... ... \n", + "310197956 False False \n", + "310202376 False False \n", + "310202384 False False \n", + "310212634 False False \n", + "310220296 False False \n", "\n", - " drive_express_available drive_heavyrail_available \\\n", - "tour_id \n", - "6812 False False \n", - "8110 False False \n", - "11013 False True \n", - "11016 False True \n", - "15403 False True \n", - "... ... ... \n", - "309760814 False True \n", - "309760815 False True \n", - "309790009 False True \n", - "309796968 False True \n", - "309796969 False True \n", + " drive_commuter_available drive_express_available \\\n", + "tour_id \n", + "1870 True False \n", + "20468 True False \n", + "27055 True False \n", + "38877 True False \n", + "38904 True False \n", + "... ... ... \n", + "310197956 False False \n", + "310202376 False False \n", + "310202384 False False \n", + "310212634 True True \n", + "310220296 False True \n", "\n", - " drive_lrf_available drive_ferry_available destination_in_cbd \\\n", - "tour_id \n", - "6812 False False 1 \n", - "8110 False False 0 \n", - "11013 False False 1 \n", - "11016 False False 0 \n", - "15403 False False 0 \n", - "... ... ... ... \n", - "309760814 False False 0 \n", - "309760815 False False 1 \n", - "309790009 False False 1 \n", - "309796968 False False 0 \n", - "309796969 False False 0 \n", + " drive_heavyrail_available drive_lrf_available \\\n", + "tour_id \n", + "1870 True False \n", + "20468 True False \n", + "27055 True False \n", + "38877 True False \n", + "38904 True True \n", + "... ... ... \n", + "310197956 False False \n", + "310202376 False False \n", + "310202384 False False \n", + "310212634 False False \n", + "310220296 False False \n", "\n", - " tour_id.1 override_choice_code \n", - "tour_id \n", - "6812 6812 7 \n", - "8110 8110 7 \n", - "11013 11013 1 \n", - "11016 11016 1 \n", - "15403 15403 1 \n", - "... ... ... \n", - "309760814 309760814 1 \n", - "309760815 309760815 3 \n", - "309790009 309790009 8 \n", - "309796968 309796968 5 \n", - "309796969 309796969 1 \n", + " drive_ferry_available destination_in_cbd override_choice_code \n", + "tour_id \n", + "1870 False 1 5 \n", + "20468 False 0 20 \n", + "27055 False 0 5 \n", + "38877 False 0 5 \n", + "38904 False 0 3 \n", + "... ... ... ... \n", + "310197956 False 0 1 \n", + "310202376 False 0 8 \n", + "310202384 False 0 1 \n", + "310212634 False 0 1 \n", + "310220296 False 0 1 \n", "\n", - "[5314 rows x 535 columns]" + "[63935 rows x 536 columns]" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1213,112 +1377,59 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, + "execution_count": 10, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:14.299439Z", + "iopub.status.busy": "2025-06-26T02:19:14.299343Z", + "iopub.status.idle": "2025-06-26T02:19:14.389799Z", + "shell.execute_reply": "2025-06-26T02:19:14.389326Z", + "shell.execute_reply.started": "2025-06-26T02:19:14.299429Z" + } + }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "problem: chosen-but-not-available (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n" - ] - }, { "data": { "text/plain": [ - "[(,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 12 2 45, 312\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 58 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 87 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 10 4 66, 184, 222\n", - " ┃ 12 3 205, 394, 560\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 56 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 10 4 25, 73, 98\n", - " ┃ 12 2 129, 320\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 57 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 10 25 3, 108, 145\n", - " ┃ 12 5 10, 23, 135\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 88 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 10 5 118, 300, 303\n", - " ┃ 12 1 252\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 54 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 10 3 71, 163, 170\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 65 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (, dictx()),\n", - " (,\n", - " ┣ chosen_but_not_available: n example rows\n", - " ┃ 10 36 21, 23, 95\n", - " ┃ 12 15 46, 243, 449\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 108 util_BIKE_Unavailable_if_didnt_bike_to_work, u...),\n", - " (,\n", - " ┣ low_variance_data_co: n example cols\n", - " ┃ low_variance_co 106 util_Commuter_Rail, util_DRIVEALONEFREE_Unavai...)]" + "(,\n", + " [(, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx()),\n", + " (, dictx())])" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.load_data()\n", "model.doctor(repair_ch_av=\"-\")" ] }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, + "execution_count": 11, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:19:14.390341Z", + "iopub.status.busy": "2025-06-26T02:19:14.390244Z", + "iopub.status.idle": "2025-06-26T02:20:19.068878Z", + "shell.execute_reply": "2025-06-26T02:20:19.068547Z", + "shell.execute_reply.started": "2025-06-26T02:19:14.390332Z" + } + }, "outputs": [ { "data": { "text/html": [ - "

Iteration 168 [Optimization terminated successfully]

" + "

Iteration 189 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1330,7 +1441,7 @@ { "data": { "text/html": [ - "

Best LL = -6324.409943103907

" + "

Best LL = -76508.28923895479

" ], "text/plain": [ "" @@ -1361,13 +1472,22 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -1375,56 +1495,51 @@ " -999\n", " -999.000000\n", " -999.000000\n", + " -999.000000\n", " -999.0\n", " -999.0\n", - " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " 1\n", " 1.000000\n", " 1.000000\n", + " 1.000000\n", " 1.0\n", " 1.0\n", - " 1.0\n", + " 0.0\n", " 1\n", - " \n", - " 1.000000\n", " \n", " \n", - " bike_ASC_auto_deficient_eatout\n", - " -95.051842\n", - " -1.569111\n", + " bike_ASC_auto_deficient_atwork\n", + " -1.054274\n", + " -1.054274\n", + " -0.807408\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -95.051842\n", " \n", " \n", - " bike_ASC_auto_sufficient_eatout\n", - " -1.464118\n", - " -1.200347\n", + " bike_ASC_auto_deficient_eatout\n", + " -1.458927\n", + " -1.458927\n", + " -1.569111\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.464118\n", " \n", " \n", - " bike_ASC_no_auto_eatout\n", - " 7.201849\n", - " 0.868071\n", + " bike_ASC_auto_deficient_escort\n", + " -3.980018\n", + " -3.980018\n", + " -4.527928\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 7.201849\n", " \n", " \n", " ...\n", @@ -1435,113 +1550,133 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", - " walk_ASC_no_auto_atwork\n", - " 12.824109\n", - " 6.669213\n", + " walk_transit_ASC_no_auto_work\n", + " 4.604150\n", + " 4.604150\n", + " 5.035417\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 12.824109\n", " \n", " \n", - " walk_transit_ASC_auto_deficient_atwork\n", - " 8.985177\n", - " -2.998829\n", + " walk_transit_CBD_ASC_atwork\n", + " 1.296785\n", + " 1.296785\n", + " 0.564000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 8.985177\n", " \n", " \n", - " walk_transit_ASC_auto_sufficient_atwork\n", - " 9.127996\n", - " -3.401027\n", + " walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social\n", + " 1.078110\n", + " 1.078110\n", + " 0.525000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 9.127996\n", " \n", " \n", - " walk_transit_ASC_no_auto_atwork\n", - " 21.234896\n", - " 2.704188\n", + " walk_transit_CBD_ASC_school_univ\n", + " 0.834010\n", + " 0.834010\n", + " 0.672000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 21.234896\n", " \n", " \n", - " walk_transit_CBD_ASC_atwork\n", - " 0.351949\n", - " 0.564000\n", + " walk_transit_CBD_ASC_work\n", + " 1.157993\n", + " 1.157993\n", + " 0.804000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.351949\n", " \n", " \n", "\n", - "

301 rows × 8 columns

\n", + "

303 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue nullvalue \\\n", - "-999 -999.000000 -999.000000 -999.0 \n", - "1 1.000000 1.000000 1.0 \n", - "bike_ASC_auto_deficient_eatout -95.051842 -1.569111 0.0 \n", - "bike_ASC_auto_sufficient_eatout -1.464118 -1.200347 0.0 \n", - "bike_ASC_no_auto_eatout 7.201849 0.868071 0.0 \n", - "... ... ... ... \n", - "walk_ASC_no_auto_atwork 12.824109 6.669213 0.0 \n", - "walk_transit_ASC_auto_deficient_atwork 8.985177 -2.998829 0.0 \n", - "walk_transit_ASC_auto_sufficient_atwork 9.127996 -3.401027 0.0 \n", - "walk_transit_ASC_no_auto_atwork 21.234896 2.704188 0.0 \n", - "walk_transit_CBD_ASC_atwork 0.351949 0.564000 0.0 \n", + " value best \\\n", + "param_name \n", + "-999 -999.000000 -999.000000 \n", + "1 1.000000 1.000000 \n", + "bike_ASC_auto_deficient_atwork -1.054274 -1.054274 \n", + "bike_ASC_auto_deficient_eatout -1.458927 -1.458927 \n", + "bike_ASC_auto_deficient_escort -3.980018 -3.980018 \n", + "... ... ... \n", + "walk_transit_ASC_no_auto_work 4.604150 4.604150 \n", + "walk_transit_CBD_ASC_atwork 1.296785 1.296785 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... 1.078110 1.078110 \n", + "walk_transit_CBD_ASC_school_univ 0.834010 0.834010 \n", + "walk_transit_CBD_ASC_work 1.157993 1.157993 \n", "\n", - " minimum maximum holdfast note \\\n", - "-999 -999.0 -999.0 1 \n", - "1 1.0 1.0 1 \n", - "bike_ASC_auto_deficient_eatout NaN NaN 0 \n", - "bike_ASC_auto_sufficient_eatout NaN NaN 0 \n", - "bike_ASC_no_auto_eatout NaN NaN 0 \n", - "... ... ... ... ... \n", - "walk_ASC_no_auto_atwork NaN NaN 0 \n", - "walk_transit_ASC_auto_deficient_atwork NaN NaN 0 \n", - "walk_transit_ASC_auto_sufficient_atwork NaN NaN 0 \n", - "walk_transit_ASC_no_auto_atwork NaN NaN 0 \n", - "walk_transit_CBD_ASC_atwork NaN NaN 0 \n", + " initvalue minimum \\\n", + "param_name \n", + "-999 -999.000000 -999.0 \n", + "1 1.000000 1.0 \n", + "bike_ASC_auto_deficient_atwork -0.807408 -inf \n", + "bike_ASC_auto_deficient_eatout -1.569111 -inf \n", + "bike_ASC_auto_deficient_escort -4.527928 -inf \n", + "... ... ... \n", + "walk_transit_ASC_no_auto_work 5.035417 -inf \n", + "walk_transit_CBD_ASC_atwork 0.564000 -inf \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... 0.525000 -inf \n", + "walk_transit_CBD_ASC_school_univ 0.672000 -inf \n", + "walk_transit_CBD_ASC_work 0.804000 -inf \n", "\n", - " best \n", - "-999 -999.000000 \n", - "1 1.000000 \n", - "bike_ASC_auto_deficient_eatout -95.051842 \n", - "bike_ASC_auto_sufficient_eatout -1.464118 \n", - "bike_ASC_no_auto_eatout 7.201849 \n", - "... ... \n", - "walk_ASC_no_auto_atwork 12.824109 \n", - "walk_transit_ASC_auto_deficient_atwork 8.985177 \n", - "walk_transit_ASC_auto_sufficient_atwork 9.127996 \n", - "walk_transit_ASC_no_auto_atwork 21.234896 \n", - "walk_transit_CBD_ASC_atwork 0.351949 \n", + " maximum nullvalue \\\n", + "param_name \n", + "-999 -999.0 0.0 \n", + "1 1.0 0.0 \n", + "bike_ASC_auto_deficient_atwork inf 0.0 \n", + "bike_ASC_auto_deficient_eatout inf 0.0 \n", + "bike_ASC_auto_deficient_escort inf 0.0 \n", + "... ... ... \n", + "walk_transit_ASC_no_auto_work inf 0.0 \n", + "walk_transit_CBD_ASC_atwork inf 0.0 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... inf 0.0 \n", + "walk_transit_CBD_ASC_school_univ inf 0.0 \n", + "walk_transit_CBD_ASC_work inf 0.0 \n", "\n", - "[301 rows x 8 columns]" + " holdfast \n", + "param_name \n", + "-999 1 \n", + "1 1 \n", + "bike_ASC_auto_deficient_atwork 0 \n", + "bike_ASC_auto_deficient_eatout 0 \n", + "bike_ASC_auto_deficient_escort 0 \n", + "... ... \n", + "walk_transit_ASC_no_auto_work 0 \n", + "walk_transit_CBD_ASC_atwork 0 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... 0 \n", + "walk_transit_CBD_ASC_school_univ 0 \n", + "walk_transit_CBD_ASC_work 0 \n", + "\n", + "[303 rows x 7 columns]" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jpn/Git/aestival/repos/larch/src/larch/model/optimization.py:338: UserWarning: SLSQP may not play nicely with unbounded parameters\n", + "if you get poor results, consider setting global bounds with model.set_cap()\n", + " warnings.warn( # infinite bounds # )\n" + ] } ], "source": [ @@ -1550,25 +1685,135 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, + "execution_count": 12, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:20:19.069508Z", + "iopub.status.busy": "2025-06-26T02:20:19.069365Z", + "iopub.status.idle": "2025-06-26T02:22:22.469509Z", + "shell.execute_reply": "2025-06-26T02:22:22.469199Z", + "shell.execute_reply.started": "2025-06-26T02:20:19.069498Z" + } + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_92897/3375301916.py:1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.calculate_parameter_covariance()\n", - "/Users/jeffnewman/LocalGit/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.1755327986150339e-46 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/var/folders/js/bk_dt9015j79_f6bxnc44dsr0000gp/T/ipykernel_92897/3375301916.py:1: PossibleOverspecification: WARNING: Model seems to have 58 parameter estimators with negative variance\n", - "- commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork\n", - "- drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork\n", - "- drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork\n", - "- drive_transit_ASC_no_auto_all\n", - "- and 54 more\n", + "/var/folders/gp/zzfchnm91870k7pvbkmbgwz80000gr/T/ipykernel_45605/3375301916.py:1: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", " model.calculate_parameter_covariance()\n" ] + }, + { + "data": { + "text/plain": [ + "(array([0.00000000e+00, 0.00000000e+00, 3.43568882e-01, 3.95622877e-01,\n", + " 4.06484604e-01, 2.03367924e-01, 3.22743381e-01, 9.64080406e-01,\n", + " 2.18326807e-01, 3.24554296e-01, nan, 9.25561766e-02,\n", + " 4.69818109e+02, 1.59418569e-01, 3.37340862e-01, 1.05444367e-01,\n", + " 1.93207745e-01, 9.18689416e-01, 1.38355178e-01, 2.06922312e-01,\n", + " 6.56527431e-03, 8.14434243e-02, 7.65331643e+01, 7.59009053e+01,\n", + " 7.59050227e+01, 7.59000796e+01, 7.58995284e+01, 1.08570448e+02,\n", + " 7.58994612e+01, 7.58998820e+01, 1.48396628e-03, 7.58997989e+01,\n", + " 7.84724197e-03, 1.75813808e-01, 8.99726958e-02, 2.05380801e-01,\n", + " 4.25371868e-02, 7.47682204e-02, 8.42243554e-02, 6.82331737e-02,\n", + " 3.12375884e-02, 5.71491736e-02, 1.78428279e-02, 9.12338677e-02,\n", + " 4.78568573e-04, 1.44741724e-04, 3.15779236e-04, 1.47478876e-04,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 4.94370981e-02, 9.12949980e-01, 1.63536365e+01,\n", + " nan, 2.77531481e+02, 1.63577167e+01, nan,\n", + " 2.77531479e+02, 1.63533682e+01, nan, 2.77531474e+02,\n", + " 3.59540175e-04, 1.63548950e+01, 1.63570704e+01, 1.63563610e+01,\n", + " 1.63560813e+01, nan, 1.63568863e+01, 1.63570619e+01,\n", + " nan, 2.77531528e+02, 1.76087014e-04, 1.63538061e+01,\n", + " 1.63648286e+01, 1.63530022e+01, 1.63539908e+01, nan,\n", + " 1.63575583e+01, 1.63537351e+01, nan, 2.77531508e+02,\n", + " nan, nan, 1.42103205e-01, 2.51161193e-01,\n", + " 6.97695237e-02, 1.63526899e+01, nan, 2.77531475e+02,\n", + " 1.63526001e+01, nan, 2.77531471e+02, 1.33597581e+00,\n", + " 4.64551594e-01, 1.07997221e+00, 1.64232273e+01, 1.63735494e+01,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 2.57988724e-01, 1.33447027e-01, 4.70329177e-01, 8.14677991e+00,\n", + " 0.00000000e+00, 4.29099062e+00, 1.70018293e+01, 0.00000000e+00,\n", + " 2.17642075e+00, 7.19755709e+00, 0.00000000e+00, 2.05173739e+00,\n", + " 3.75877587e-01, 2.44612828e-01, 7.26634985e-01, 1.63756367e+01,\n", + " 6.54706742e+02, 1.63625643e+01, 1.63525772e+01, nan,\n", + " 2.77531472e+02, 1.31802045e-01, 1.54856832e-01, 1.60191396e-01,\n", + " 1.30884481e-01, 1.45237147e-01, 9.27906953e-01, 1.27444227e-01,\n", + " 2.14970869e-01, nan, 8.92015357e-02, 7.83754734e-02,\n", + " 1.04828977e-01, 1.28961862e-01, 1.00855258e-01, 1.02878899e-01,\n", + " 9.16347963e-01, 1.00453659e-01, 1.10094340e-01, nan,\n", + " 8.59833552e-02, 7.58992488e+01, 1.36179443e-01, 1.87447089e-01,\n", + " 1.62833349e-01, 1.24488428e-01, 2.23419023e-01, 9.27089911e-01,\n", + " 1.37802147e-01, 2.22797306e-01, 1.82745854e-05, 9.21812970e-02,\n", + " 7.96539978e-02, 1.04999071e-01, 1.28985576e-01, 1.00505047e-01,\n", + " 1.05433010e-01, 9.16256846e-01, 1.01350960e-01, 1.09870705e-01,\n", + " 2.57288423e-05, 8.67595311e-02, 7.59011365e+01, 7.58997610e+01,\n", + " 7.59404020e+01, 7.58994418e+01, 7.58999755e+01, 1.04821014e+02,\n", + " 7.58994443e+01, 7.59033408e+01, 1.79086329e-05, 7.58997578e+01,\n", + " 4.34623540e-01, 4.82712631e-01, 1.17827537e-01, 9.34535479e-01,\n", + " 1.61843418e-05, 2.05410943e-01, 1.50299770e-01, 2.46495322e-01,\n", + " 9.65073938e-02, 9.21898426e-01, nan, 3.03132741e-01,\n", + " 7.59016253e+01, 7.59019418e+01, 7.58994200e+01, 0.00000000e+00,\n", + " 7.59000159e+01, 4.13912102e-01, 8.99832808e-01, 1.09252822e-01,\n", + " 9.32969197e-01, 1.25173469e-05, 2.14027564e-01, 1.65755664e-01,\n", + " 1.99468519e-01, 9.20396101e-02, 9.26728748e-01, nan,\n", + " 4.10887210e-01, 7.59013539e+01, 7.58995848e+01, 7.58994250e+01,\n", + " 0.00000000e+00, nan, 7.58999400e+01, 3.18871323e-01,\n", + " 4.36073743e-01, 1.01858472e-01, 9.43121213e-01, nan,\n", + " 1.15161883e-01, 1.25660723e-01, 1.49149898e-01, 8.32981598e-02,\n", + " 9.19608672e-01, 5.09330673e-06, 1.82003483e-01, 7.59012319e+01,\n", + " 7.58995121e+01, 7.58994032e+01, 0.00000000e+00, nan,\n", + " 7.58997326e+01, 1.23348929e-01, 1.97972972e-01, 2.64828835e-01,\n", + " 1.54433920e-01, 2.07777377e-01, 9.30824872e-01, 1.37078150e-01,\n", + " 2.98569183e-01, 1.92139862e-06, 9.55273557e-02, 5.79521800e-02,\n", + " 1.06001682e-01, 1.17079290e-01, 8.28631063e-02, 9.55004074e-02,\n", + " 9.16882068e-01, 8.10886012e-02, 1.17267376e-01, nan,\n", + " 7.87068490e-02, 7.59013004e+01, 7.58999086e+01, 7.59004734e+01,\n", + " 7.58995435e+01, 7.58998937e+01, 1.08571609e+02, 7.58994666e+01,\n", + " 7.58998191e+01, nan, 7.58997790e+01, 1.63576443e+01,\n", + " nan, 2.77531548e+02, 1.63526485e+01, nan,\n", + " 2.77531477e+02, 1.63547614e+01, 1.63545018e+01, 1.63715432e+01,\n", + " 1.63530434e+01, 1.63615194e+01, nan, 1.63537738e+01,\n", + " 1.63551081e+01, 0.00000000e+00, 2.77531520e+02, 1.63551412e+01,\n", + " 1.63531880e+01, 1.63558584e+01, 1.63527479e+01, 1.63529252e+01,\n", + " nan, 1.63530022e+01, 1.63530749e+01, 0.00000000e+00,\n", + " 2.77531502e+02, 6.69470694e+01, 6.69450046e+01, 6.69964449e+01,\n", + " 6.69446108e+01, 6.69446394e+01, nan, 6.69445391e+01,\n", + " 6.69448938e+01, 0.00000000e+00, 2.84516997e+02, 2.83954667e-01,\n", + " 7.56535600e-02, 1.14214645e-01, 5.38649903e-02]),\n", + " array([[ 0. , 0. , 0. , ..., 0. ,\n", + " 0. , 0. ],\n", + " [ 0. , 0. , 0. , ..., 0. ,\n", + " 0. , 0. ],\n", + " [ 0. , 0. , 9.31549406, ..., -0. ,\n", + " -0. , -0. ],\n", + " ...,\n", + " [ 0. , 0. , -0. , ..., 344.54322124,\n", + " -0. , -0. ],\n", + " [ 0. , 0. , -0. , ..., -0. ,\n", + " 111.37471744, -0. ],\n", + " [ 0. , 0. , -0. , ..., -0. ,\n", + " -0. , 1009.7244553 ]]),\n", + " array([[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n", + " [0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n", + " [0.00000000e+00, 0.00000000e+00, 1.18039577e-01, ...,\n", + " 3.75007904e-06, 4.08837633e-07, 7.04483539e-07],\n", + " ...,\n", + " [0.00000000e+00, 0.00000000e+00, 3.75002665e-06, ...,\n", + " 5.72346114e-03, 3.67756592e-07, 7.45127667e-08],\n", + " [0.00000000e+00, 0.00000000e+00, 4.08776137e-07, ...,\n", + " 3.67748087e-07, 1.30449851e-02, 6.09830355e-08],\n", + " [0.00000000e+00, 0.00000000e+00, 7.04483132e-07, ...,\n", + " 7.45129878e-08, 6.10023447e-08, 2.90143718e-03]]))" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1584,2951 +1829,11190 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, + "execution_count": 13, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:22.471845Z", + "iopub.status.busy": "2025-06-26T02:22:22.471733Z", + "iopub.status.idle": "2025-06-26T02:22:22.518897Z", + "shell.execute_reply": "2025-06-26T02:22:22.518295Z", + "shell.execute_reply.started": "2025-06-26T02:22:22.471835Z" + } + }, "outputs": [ { "data": { "text/html": [ "\n", - "\n", + "
\n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 ValueStd Errt StatSignifLike RatioNull ValueValueStd Errt StatSignifNull Value
-999-999. 0.00 NA NA-999.00
1 1.00 0.00 NA NA 1.00
bike_ASC_auto_deficient_eatout-95.1 0.00 NA[**] 3.97 0.00
bike_ASC_auto_sufficient_eatout-1.46 0.459-3.19** NA 0.00
bike_ASC_no_auto_eatout 7.20 0.740 9.73*** NA 0.00
coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work 0.720 0.387 1.86 NA 0.00
coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work-0.0191 0.214-0.09 NA 0.00
coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social-1.14 0.276-4.13*** NA 0.00
coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork 0.0210 0.0998 0.21 NA 0.00
coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork-0.00393 0.0708-0.06 NA 0.00
coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social-0.0169 0.000785-21.58*** NA 0.00
coef_nest_AUTO 0.720 0.00 NA NA 1.00
coef_nest_AUTO_DRIVEALONE 0.350 0.00 NA NA 1.00
coef_nest_AUTO_SHAREDRIDE2 0.350 0.00 NA NA 1.00
coef_nest_AUTO_SHAREDRIDE3 0.350 0.00 NA NA 1.00
coef_nest_NONMOTORIZED 0.720 0.00 NA NA 1.00
coef_nest_RIDEHAIL 0.360 0.00 NA NA 1.00
coef_nest_TRANSIT 0.720 0.00 NA NA 1.00
coef_nest_TRANSIT_DRIVEACCESS 0.500 0.00 NA NA 1.00
coef_nest_TRANSIT_WALKACCESS 0.500 0.00 NA NA 1.00
commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-38.8 NA NA[***] BIG 0.00
drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork 0.940 NA NA[] 0.00 0.00
drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-25.9 NA NA[***] 94.74 0.00
drive_transit_ASC_auto_deficient_eatout 14.7 1.77 8.30*** NA 0.00
drive_transit_ASC_auto_sufficient_eatout 12.1 1.88 6.45*** NA 0.00
drive_transit_ASC_no_auto_all 0.00 NA NA[] 0.00 0.00
drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social 0.553 0.813 0.68 NA 0.00
express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-61.5 NA NA[***] 94.10 0.00
heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-11.3 1.64-6.91*** NA 0.00
joint_bike_ASC_auto_deficient_all-155. NA NA[***] 49.72 0.00
joint_bike_ASC_auto_sufficient_all-108. NA NA[***] 89.09 0.00
joint_bike_ASC_no_auto_all-47.7 NA NA[] 1.65 0.00
joint_drive_transit_ASC_auto_deficient_all-36.1 NA NA[] 0.00 0.00
joint_drive_transit_ASC_auto_sufficient_all-24.1 NA NA[] 0.00 0.00
joint_drive_transit_ASC_no_auto_all 0.00 0.00 NA NA 0.00
joint_sr2_ASC_auto_deficient_all 0.00 0.00 NA NA 0.00
joint_sr2_ASC_auto_sufficient_all 0.00 0.00 NA NA 0.00
joint_sr2_ASC_no_auto_all 0.00 0.00 NA NA 0.00
joint_sr3p_ASC_auto_deficient_all-5.34 1.92-2.79** NA 0.00
joint_sr3p_ASC_auto_sufficient_all-3.33 0.983-3.39*** NA 0.00
joint_sr3p_ASC_no_auto_all 0.977 0.798 1.22 NA 0.00
joint_taxi_ASC_auto_deficient_all-45.5 NA NA[***] 31.66 0.00
joint_taxi_ASC_auto_sufficient_all-11.7 0.00 NA NA 0.00
joint_taxi_ASC_no_auto_all-12.8 841.-0.02 NA 0.00
joint_tnc_shared_ASC_auto_deficient_all-37.8 NA NA[***] 42.60 0.00
joint_tnc_shared_ASC_auto_sufficient_all-13.2 0.00 NA NA 0.00
joint_tnc_shared_ASC_no_auto_all-24.5 NA NA[] 1.15 0.00
joint_tnc_single_ASC_auto_deficient_all-51.7 NA NA[***] 36.10 0.00
joint_tnc_single_ASC_auto_sufficient_all-14.0 0.00 NA NA 0.00
joint_tnc_single_ASC_no_auto_all-16.7 NA NA[] 0.72 0.00
joint_walk_ASC_auto_deficient_all-1.31 1.43-0.92 NA 0.00
joint_walk_ASC_auto_sufficient_all-3.63 1.11-3.27** NA 0.00
joint_walk_ASC_no_auto_all 0.968 1.21 0.80 NA 0.00
joint_walk_transit_ASC_auto_deficient_all 4.48 2.40 1.87 NA 0.00
joint_walk_transit_ASC_auto_sufficient_all-18.3 NA NA[] 0.00 0.00
joint_walk_transit_ASC_no_auto_all 13.6 1.87 7.24*** NA 0.00
local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-12.6 1.64-7.68*** NA 0.00
sr2_ASC_auto_deficient_eatout 0.235 0.415 0.57 NA 0.00
sr2_ASC_auto_sufficient_eatout 0.457 0.318 1.44 NA 0.00
sr2_ASC_no_auto_all 5.30 0.368 14.42*** NA 0.00
sr3p_ASC_auto_deficient_eatout-0.0844 0.448-0.19 NA 0.00
sr3p_ASC_auto_sufficient_eatout 0.502 0.313 1.60 NA 0.00
sr3p_ASC_no_auto_eatout 5.80 0.782 7.42*** NA 0.00
taxi_ASC_auto_deficient_eatout_othdiscr_social-34.3 NA NA[***] 10.47 0.00
taxi_ASC_auto_sufficient_eatout_othdiscr_social-2.38 0.505-4.71*** NA 0.00
taxi_ASC_no_auto_eatout_othdiscr_social-25.8 NA NA[] 0.00 0.00
tnc_shared_ASC_auto_deficient_eatout_othdiscr_social-2.92 1.01-2.89** NA 0.00
tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social-3.47 0.610-5.69*** NA 0.00
tnc_shared_ASC_no_auto_eatout_othdiscr_social 5.50 0.507 10.85*** NA 0.00
tnc_single_ASC_auto_deficient_eatout_othdiscr_social-30.0 NA NA[***] 15.06 0.00
tnc_single_ASC_auto_sufficient_eatout_othdiscr_social-2.09 0.375-5.57*** NA 0.00
tnc_single_ASC_no_auto_eatout_othdiscr_social 6.70 0.465 14.39*** NA 0.00
walk_ASC_auto_deficient_eatout 2.96 0.472 6.27*** NA 0.00
walk_ASC_auto_sufficient_eatout 0.804 0.390 2.06* NA 0.00
walk_ASC_no_auto_eatout 10.2 0.673 15.17*** NA 0.00
walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork 0.940 NA NA[] 0.00 0.00
walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-11.6 1.64-7.06*** NA 0.00
walk_transit_ASC_auto_deficient_eatout 12.3 1.69 7.30*** NA 0.00
walk_transit_ASC_auto_sufficient_eatout 10.8 1.67 6.43*** NA 0.00
walk_transit_ASC_no_auto_eatout 20.5 1.50 13.66*** NA 0.00
walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social 0.691 0.157 4.40*** NA 0.00
bike_ASC_auto_deficient_escort-80.8 NA NA[***] 15.70 0.00
bike_ASC_auto_sufficient_escort-4.23 0.746-5.68*** NA 0.00
bike_ASC_no_auto_escort-82.6 NA NA[] 0.00 0.00
drive_transit_ASC_auto_deficient_escort 12.0 1.93 6.23*** NA 0.00
drive_transit_ASC_auto_sufficient_escort-38.4 NA NA[] 0.00 0.00
sr2_ASC_auto_deficient_escort-0.0289 0.415-0.07 NA 0.00
sr2_ASC_auto_sufficient_escort-0.446 0.436-1.02 NA 0.00
sr3p_ASC_auto_deficient_escort-0.242 0.420-0.58 NA 0.00
sr3p_ASC_auto_sufficient_escort-0.573 0.437-1.31 NA 0.00
sr3p_ASC_no_auto_escort-48.6 NA NA[] 0.00 0.00
taxi_ASC_auto_deficient_escort_othmaint_shopping 0.221 0.304 0.73 NA 0.00
taxi_ASC_auto_sufficient_escort_othmaint_shopping-1.87 0.295-6.35*** NA 0.00
taxi_ASC_no_auto_escort_othmaint_shopping 7.36 0.451 16.30*** NA 0.00
tnc_shared_ASC_auto_deficient_escort_othmaint_shopping-0.244 0.228-1.07 NA 0.00
tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping-2.71 0.286-9.46*** NA 0.00
tnc_shared_ASC_no_auto_escort_othmaint_shopping 6.66 0.440 15.13*** NA 0.00
tnc_single_ASC_auto_deficient_escort_othmaint_shopping 0.896 0.219 4.09*** NA 0.00
tnc_single_ASC_auto_sufficient_escort_othmaint_shopping-1.75 0.263-6.64*** NA 0.00
tnc_single_ASC_no_auto_escort_othmaint_shopping 7.44 0.437 17.05*** NA 0.00
walk_ASC_auto_deficient_escort-103. NA NA[*] 1.98 0.00
walk_ASC_auto_sufficient_escort-2.20 0.773-2.84** NA 0.00
walk_ASC_no_auto_escort 7.37 1.26 5.87*** NA 0.00
walk_transit_ASC_auto_deficient_escort 8.76 1.87 4.70*** NA 0.00
walk_transit_ASC_auto_sufficient_escort 7.57 1.77 4.29*** NA 0.00
walk_transit_ASC_no_auto_escort-44.3 NA NA[] 0.00 0.00
bike_ASC_auto_deficient_othdiscr 0.229 0.469 0.49 NA 0.00
bike_ASC_auto_sufficient_othdiscr-1.92 0.393-4.87*** NA 0.00
bike_ASC_no_auto_othdiscr 5.46 0.640 8.52*** NA 0.00
drive_transit_ASC_auto_deficient_othdiscr-61.4 NA NA[] 0.00 0.00
drive_transit_ASC_auto_sufficient_othdiscr 11.3 1.94 5.85*** NA 0.00
sr2_ASC_auto_deficient_othdiscr 0.739 0.378 1.96 NA 0.00
sr2_ASC_auto_sufficient_othdiscr 0.123 0.299 0.41 NA 0.00
sr3p_ASC_auto_deficient_othdiscr 0.935 0.364 2.57* NA 0.00
sr3p_ASC_auto_sufficient_othdiscr 0.246 0.295 0.83 NA 0.00
sr3p_ASC_no_auto_othdiscr 6.41 0.497 12.89*** NA 0.00
walk_ASC_auto_deficient_othdiscr 1.63 0.545 2.98** NA 0.00
walk_ASC_auto_sufficient_othdiscr 1.09 0.261 4.20*** NA 0.00
walk_ASC_no_auto_othdiscr 8.77 0.545 16.09*** NA 0.00
walk_transit_ASC_auto_deficient_othdiscr 13.3 1.67 7.97*** NA 0.00
walk_transit_ASC_auto_sufficient_othdiscr 11.3 1.65 6.84*** NA 0.00
walk_transit_ASC_no_auto_othdiscr 20.4 1.44 14.14*** NA 0.00
bike_ASC_auto_deficient_othmaint-1.55 0.792-1.96 NA 0.00
bike_ASC_auto_sufficient_othmaint-2.48 0.551-4.51*** NA 0.00
bike_ASC_no_auto_othmaint 7.09 0.520 13.63*** NA 0.00
drive_transit_ASC_auto_deficient_othmaint-65.9 NA NA[] 0.00 0.00
drive_transit_ASC_auto_sufficient_othmaint-32.2 NA NA[] 0.00 0.00
sr2_ASC_auto_deficient_othmaint-0.174 0.421-0.41 NA 0.00
sr2_ASC_auto_sufficient_othmaint 0.222 0.306 0.72 NA 0.00
sr3p_ASC_auto_deficient_othmaint-1.77 0.796-2.22* NA 0.00
sr3p_ASC_auto_sufficient_othmaint-0.251 0.322-0.78 NA 0.00
sr3p_ASC_no_auto_othmaint 4.59 0.844 5.44*** NA 0.00
walk_ASC_auto_deficient_othmaint 1.83 0.694 2.64** NA 0.00
walk_ASC_auto_sufficient_othmaint 0.890 0.354 2.51* NA 0.00
walk_ASC_no_auto_othmaint 6.29 0.883 7.13*** NA 0.00
walk_transit_ASC_auto_deficient_othmaint 9.41 1.92 4.90*** NA 0.00
walk_transit_ASC_auto_sufficient_othmaint 11.0 1.66 6.59*** NA 0.00
walk_transit_ASC_no_auto_othmaint 20.6 1.45 14.26*** NA 0.00
bike_ASC_auto_deficient_school-0.418 1.07-0.39 NA 0.00
bike_ASC_auto_sufficient_school-3.51 0.742-4.72*** NA 0.00
bike_ASC_no_auto_school-28.7 NA NA[] 0.00 0.00
coef_age010_trn_multiplier_school_univ-1.11 0.279-3.98*** NA 0.00
coef_age1619_da_multiplier_school_univ-1.60 0.496-3.22** NA 0.00
coef_age16p_sr_multiplier_school_univ_work_atwork-0.721 0.357-2.02* NA 0.00
coef_hhsize2_sr_multiplier_school_univ-0.534 0.528-1.01 NA 0.00
coef_ivt_school_univ-0.0212 0.00207-10.25*** NA 0.00
commuter_rail_ASC_school_univ-32.4 NA NA[***] 230.28 0.00
drive_ferry_ASC_school_univ 2.02 NA NA[] 0.00 0.00
drive_light_rail_ASC_school_univ-19.1 0.0154-BIG*** NA 0.00
drive_transit_ASC_auto_deficient_school-96.0 NA NA[***] BIG 0.00
drive_transit_ASC_auto_sufficient_school-46.2 153.-0.30 NA 0.00
drive_transit_CBD_ASC_school_univ 62.5 153. 0.41 NA 0.00
express_bus_ASC_school_univ 0.325 NA NA[] 0.00 0.00
heavy_rail_ASC_school_univ-12.4 305.-0.04 NA 0.00
local_bus_ASC_school_univ-13.9 305.-0.05 NA 0.00
sr2_ASC_auto_deficient_school 0.116 0.860 0.14 NA 0.00
sr2_ASC_auto_sufficient_school-1.65 0.362-4.55*** NA 0.00
sr3p_ASC_auto_deficient_school 0.721 0.848 0.85 NA 0.00
sr3p_ASC_auto_sufficient_school-1.19 0.353-3.36*** NA 0.00
sr3p_ASC_no_auto_school-6.02 NA NA[] 0.00 0.00
taxi_ASC_auto_deficient_school 1.59 0.932 1.71 NA 0.00
taxi_ASC_auto_sufficient_school-1.63 0.602-2.71** NA 0.00
taxi_ASC_no_auto_school_univ-7.00 0.00 NA NA 0.00
tnc_shared_ASC_auto_deficient_school 0.968 0.905 1.07 NA 0.00
tnc_shared_ASC_auto_sufficient_school-2.77 0.626-4.43*** NA 0.00
tnc_shared_ASC_no_auto_school-7.00 0.00 NA NA 0.00
tnc_single_ASC_auto_deficient_school-3.36 113.-0.03 NA 0.00
tnc_single_ASC_auto_sufficient_school-2.37 0.650-3.65*** NA 0.00
tnc_single_ASC_no_auto_school-7.00 0.00 NA NA 0.00
walk_ASC_auto_deficient_school 3.23 0.931 3.47*** NA 0.00
walk_ASC_auto_sufficient_school 0.692 0.421 1.64 NA 0.00
walk_ASC_no_auto_school 31.9 NA NA[***] 241.14 0.00
walk_ferry_ASC_school_univ 2.02 NA NA[] 0.00 0.00
walk_light_rail_ASC_school_univ-12.1 305.-0.04 NA 0.00
walk_transit_ASC_auto_deficient_school 17.1 305. 0.06 NA 0.00
walk_transit_ASC_auto_sufficient_school 14.2 305. 0.05 NA 0.00
walk_transit_ASC_no_auto_school 48.7 NA NA[***] BIG 0.00
walk_transit_CBD_ASC_school_univ 0.788 0.260 3.03** NA 0.00
bike_ASC_auto_deficient_shopping-0.982 0.499-1.97* NA 0.00
bike_ASC_auto_sufficient_shopping-4.77 0.991-4.81*** NA 0.00
bike_ASC_no_auto_shopping 6.35 0.481 13.21*** NA 0.00
drive_transit_ASC_auto_deficient_shopping-69.1 NA NA[] 0.00 0.00
drive_transit_ASC_auto_sufficient_shopping-74.4 NA NA[] 0.00 0.00
sr2_ASC_auto_deficient_shopping 0.341 0.336 1.01 NA 0.00
sr2_ASC_auto_sufficient_shopping 0.145 0.293 0.49 NA 0.00
sr3p_ASC_auto_deficient_shopping-0.262 0.376-0.70 NA 0.00
sr3p_ASC_auto_sufficient_shopping-0.296 0.301-0.98 NA 0.00
sr3p_ASC_no_auto_shopping 5.65 0.463 12.20*** NA 0.00
walk_ASC_auto_deficient_shopping 2.80 0.360 7.78*** NA 0.00
walk_ASC_auto_sufficient_shopping 0.473 0.249 1.90 NA 0.00
walk_ASC_no_auto_shopping 8.22 0.493 16.65*** NA 0.00
walk_transit_ASC_auto_deficient_shopping 11.3 1.67 6.73*** NA 0.00
walk_transit_ASC_auto_sufficient_shopping 9.75 1.66 5.86*** NA 0.00
walk_transit_ASC_no_auto_shopping 19.7 1.43 13.75*** NA 0.00
bike_ASC_auto_deficient_social-0.269 1.04-0.26 NA 0.00
bike_ASC_auto_sufficient_social-0.854 0.716-1.19 NA 0.00
bike_ASC_no_auto_social 5.51 0.583 9.46*** NA 0.00
drive_transit_ASC_auto_deficient_social-52.8 NA NA[] 0.00 0.00
drive_transit_ASC_auto_sufficient_social-48.0 NA NA[] 0.00 0.00
sr2_ASC_auto_deficient_social 1.43 0.463 3.08** NA 0.00
sr2_ASC_auto_sufficient_social 0.977 0.351 2.78** NA 0.00
sr3p_ASC_auto_deficient_social 0.676 0.546 1.24 NA 0.00
sr3p_ASC_auto_sufficient_social 0.757 0.362 2.09* NA 0.00
sr3p_ASC_no_auto_social 3.97 0.820 4.84*** NA 0.00
walk_ASC_auto_deficient_social 3.17 0.911 3.48*** NA 0.00
walk_ASC_auto_sufficient_social 2.66 0.491 5.42*** NA 0.00
walk_ASC_no_auto_social 6.44 0.683 9.43*** NA 0.00
walk_transit_ASC_auto_deficient_social 12.9 1.75 7.36*** NA 0.00
walk_transit_ASC_auto_sufficient_social 12.6 1.67 7.54*** NA 0.00
walk_transit_ASC_no_auto_social 19.0 1.46 13.02*** NA 0.00
bike_ASC_auto_deficient_univ-0.669 NA NA[] 0.00 0.00
bike_ASC_auto_sufficient_univ-1.94 NA NA[] 0.00 0.00
bike_ASC_no_auto_univ 4.29 NA NA[] 0.00 0.00
drive_transit_ASC_auto_deficient_univ 1.85 NA NA[] 0.00 0.00
drive_transit_ASC_auto_sufficient_univ 1.36 NA NA[] 0.00 0.00
sr2_ASC_auto_deficient_univ-1.69 NA NA[] 0.00 0.00
sr2_ASC_auto_sufficient_univ-1.86 NA NA[] 0.00 0.00
sr3p_ASC_auto_deficient_univ-1.73 NA NA[] 0.00 0.00
sr3p_ASC_auto_sufficient_univ-1.90 4.83e-14-BIG*** NA 0.00
sr3p_ASC_no_auto_univ-6.06 2.85e-18-BIG*** NA 0.00
taxi_ASC_auto_deficient_univ 4.25 0.00 NA[] 0.00 0.00
taxi_ASC_auto_sufficient_univ-0.313 0.00 NA[] 0.00 0.00
tnc_shared_ASC_auto_deficient_univ 3.25 0.00 NA[] 0.00 0.00
tnc_shared_ASC_auto_sufficient_univ-0.907 0.00 NA[] 0.00 0.00
tnc_shared_ASC_no_auto_univ-5.81 0.00 NA[] 0.00 0.00
tnc_single_ASC_auto_deficient_univ 1.02 0.00 NA[] 0.00 0.00
tnc_single_ASC_auto_sufficient_univ 0.209 0.00 NA[] 0.00 0.00
tnc_single_ASC_no_auto_univ-2.52 0.00 NA[] 0.00 0.00
walk_ASC_auto_deficient_univ 4.51 0.00 NA[] 0.00 0.00
walk_ASC_auto_sufficient_univ 1.06 0.00 NA[] 0.00 0.00
walk_ASC_no_auto_univ 6.41 0.00 NA[] 0.00 0.00
walk_transit_ASC_auto_deficient_univ 3.14 0.00 NA[] 0.00 0.00
walk_transit_ASC_auto_sufficient_univ 0.473 0.00 NA[] 0.00 0.00
walk_transit_ASC_no_auto_univ 8.79 0.00 NA[] 0.00 0.00
bike_ASC_auto_deficient_work 0.109 0.159 0.69 NA 0.00
bike_ASC_auto_sufficient_work-1.71 0.201-8.54*** NA 0.00
bike_ASC_no_auto_work 7.92 0.643 12.31*** NA 0.00
coef_hhsize1_sr_multiplier_work-0.679 0.174-3.90*** NA 0.00
coef_ivt_work-0.0131 0.000672-19.44*** NA 0.00
commuter_rail_ASC_work 12.1 0.561 21.60*** NA 0.00
drive_ferry_ASC_work 0.933 0.00 NA[] 0.00 0.00
drive_light_rail_ASC_work-36.0 NA NA[] 0.00 0.00
drive_transit_ASC_auto_deficient_work-10.8 0.493-21.96*** NA 0.00
drive_transit_ASC_auto_sufficient_work-11.9 0.496-24.03*** NA 0.00
drive_transit_CBD_ASC_work 1.43 0.593 2.41* NA 0.00
express_bus_ASC_work-54.6 NA NA[] 0.00 0.00
heavy_rail_ASC_work 11.0 0.185 59.50*** NA 0.00
local_bus_ASC_work 10.3 0.173 59.60*** NA 0.00
sr2_ASC_auto_deficient_work 0.463 0.367 1.26 NA 0.00
sr2_ASC_auto_sufficient_work-0.391 0.369-1.06 NA 0.00
sr3p_ASC_auto_deficient_work-0.0501 0.372-0.13 NA 0.00
sr3p_ASC_auto_sufficient_work-0.716 0.373-1.92 NA 0.00
sr3p_ASC_no_auto_work 5.29 0.646 8.18*** NA 0.00
taxi_ASC_auto_deficient_work-1.36 0.326-4.16*** NA 0.00
taxi_ASC_auto_sufficient_work-56.0 NA NA[***] 89.02 0.00
taxi_ASC_no_auto_work 9.43 0.651 14.50*** NA 0.00
tnc_shared_ASC_auto_deficient_work-2.43 0.420-5.80*** NA 0.00
tnc_shared_ASC_auto_sufficient_work-63.4 NA NA[***] 180.49 0.00
tnc_shared_ASC_no_auto_work-47.3 NA NA[] 0.00 0.00
tnc_single_ASC_auto_deficient_work-0.788 0.211-3.73*** NA 0.00
tnc_single_ASC_auto_sufficient_work-4.88 1.00-4.86*** NA 0.00
tnc_single_ASC_no_auto_work 10.3 0.630 16.35*** NA 0.00
walk_ASC_auto_deficient_work 2.13 0.200 10.62*** NA 0.00
walk_ASC_auto_sufficient_work 0.176 0.215 0.82 NA 0.00
walk_ASC_no_auto_work 10.4 0.654 15.83*** NA 0.00
walk_ferry_ASC_work 0.933 0.00 NA[] 0.00 0.00
walk_light_rail_ASC_work 11.2 0.178 62.93*** NA 0.00
walk_transit_ASC_auto_deficient_work-9.77 0.182-53.62*** NA 0.00
walk_transit_ASC_auto_sufficient_work-11.3 0.187-60.43*** NA 0.00
walk_transit_ASC_no_auto_work-0.818 0.576-1.42 NA 0.00
walk_transit_CBD_ASC_work 0.977 0.121 8.07*** NA 0.00
bike_ASC_auto_deficient_atwork-1.38 0.914-1.51 NA 0.00
bike_ASC_auto_sufficient_atwork 15.7 726. 0.02 NA 0.00
bike_ASC_no_auto_atwork-28.4 NA NA[] 0.00 0.00
coef_age010_trn_multiplier_atwork 0.000722 0.00 NA[] 0.00 0.00
coef_age1619_da_multiplier_atwork-0.807 1.03-0.79 NA 0.00
coef_ivt_atwork-0.0210 0.00255-8.26*** NA 0.00
drive_transit_ASC_auto_deficient_atwork-999. 0.00 NA[] 0.00 0.00
drive_transit_ASC_auto_sufficient_atwork-999. 0.00 NA[] 0.00 0.00
drive_transit_CBD_ASC_atwork 0.564 0.00 NA[] 0.00 0.00
sr2_ASC_auto_deficient_atwork-1.89 0.573-3.31*** NA 0.00
sr2_ASC_auto_sufficient_atwork-0.652 0.398-1.64 NA 0.00
sr3p_ASC_auto_deficient_atwork-2.38 0.580-4.11*** NA 0.00
sr3p_ASC_auto_sufficient_atwork-0.822 0.401-2.05* NA 0.00
sr3p_ASC_no_auto_atwork 6.24 0.790 7.90*** NA 0.00
taxi_ASC_auto_deficient_atwork-28.5 NA NA[***] 64.57 0.00
taxi_ASC_auto_sufficient_atwork-28.6 NA NA[***] 38.13 0.00
taxi_ASC_no_auto_atwork 10.2 0.970 10.52*** NA 0.00
tnc_shared_ASC_auto_deficient_atwork-3.91 0.639-6.12*** NA 0.00
tnc_shared_ASC_auto_sufficient_atwork-2.69 0.496-5.42*** NA 0.00
tnc_shared_ASC_no_auto_atwork 9.06 0.890 10.18*** NA 0.00
tnc_single_ASC_auto_deficient_atwork-3.11 0.611-5.09*** NA 0.00
tnc_single_ASC_auto_sufficient_atwork-2.63 0.529-4.97*** NA 0.00
tnc_single_ASC_no_auto_atwork 10.5 0.917 11.43*** NA 0.00
walk_ASC_auto_deficient_atwork 1.82 0.671 2.72** NA 0.00
walk_ASC_auto_sufficient_atwork 1.43 0.379 3.77*** NA 0.00
walk_ASC_no_auto_atwork 12.8 1.04 12.31*** NA 0.00
walk_transit_ASC_auto_deficient_atwork 8.99 1.76 5.10*** NA 0.00
walk_transit_ASC_auto_sufficient_atwork 9.13 1.81 5.04*** NA 0.00
walk_transit_ASC_no_auto_atwork 21.2 1.66 12.81*** NA 0.00
walk_transit_CBD_ASC_atwork 0.352 0.549 0.64 NA 0.00
\n" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.parameter_summary()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "TojXWivZsx7M" - }, - "source": [ - "# Output Estimation Results" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "from activitysim.estimation.larch import update_coefficients\n", - "result_dir = data.edb_directory/\"estimated\"\n", - "update_coefficients(\n", - " model, data, result_dir,\n", - " output_file=f\"{modelname}_coefficients_revised.csv\",\n", - ");" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Write the model estimation report, including coefficient t-statistic and log likelihood" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/LocalGit/larch/larch/util/excel.py:521: FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead.\n", - " xl = ExcelWriter(filename, engine='xlsxwriter_larch', model=model, **kwargs)\n" - ] - } - ], - "source": [ - "model.to_xlsx(\n", - " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", - " data_statistics=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Next Steps\n", - "\n", - "The final step is to either manually or automatically copy the `*_coefficients_revised.csv` file to the configs folder, rename it to `*_coefficients.csv`, and run ActivitySim in simulation mode." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefficient_namevalueconstrainParameter     
0coef_one1.000000T-999-999. 0.00 NA 0.00
1coef_nest_root1.000000T1 1.00 0.00 NA 0.00
2coef_nest_AUTO0.720000Tbike_ASC_auto_deficient_atwork-1.05 0.344-3.07** 0.00
3coef_nest_AUTO_DRIVEALONE0.350000Tbike_ASC_auto_deficient_eatout-1.46 0.396-3.69*** 0.00
4coef_nest_AUTO_SHAREDRIDE20.350000Tbike_ASC_auto_deficient_escort-3.98 0.406-9.79*** 0.00
............bike_ASC_auto_deficient_othdiscr-0.910 0.203-4.47*** 0.00
302walk_transit_CBD_ASC_atwork0.351950Fbike_ASC_auto_deficient_othmaint-2.06 0.323-6.37*** 0.00
303drive_transit_CBD_ASC_eatout_escort_othdiscr_o...0.553404Fbike_ASC_auto_deficient_school-1.20 0.964-1.24 0.00
304drive_transit_CBD_ASC_school_univ62.459413Fbike_ASC_auto_deficient_shopping-1.74 0.218-7.99*** 0.00
305drive_transit_CBD_ASC_work1.432631Fbike_ASC_auto_deficient_social 0.361 0.325 1.11 0.00
bike_ASC_auto_deficient_univ-0.669 NA NA 0.00
bike_ASC_auto_deficient_work-0.279 0.0926-3.01** 0.00
bike_ASC_auto_sufficient_atwork 15.7 470. 0.03 0.00
bike_ASC_auto_sufficient_eatout-1.85 0.159-11.60*** 0.00
bike_ASC_auto_sufficient_escort-5.65 0.337-16.76*** 0.00
bike_ASC_auto_sufficient_othdiscr-1.86 0.105-17.64*** 0.00
bike_ASC_auto_sufficient_othmaint-3.17 0.193-16.40*** 0.00
bike_ASC_auto_sufficient_school-2.21 0.919-2.40* 0.00
bike_ASC_auto_sufficient_shopping-3.14 0.138-22.70*** 0.00
bike_ASC_auto_sufficient_social-2.14 0.207-10.36*** 0.00
bike_ASC_auto_sufficient_univ-1.94 0.00657-295.46*** 0.00
bike_ASC_auto_sufficient_work-1.93 0.0814-23.72*** 0.00
bike_ASC_no_auto_atwork-0.910 76.5-0.01 0.00
bike_ASC_no_auto_eatout 0.428 75.9 0.01 0.00
bike_ASC_no_auto_escort-0.745 75.9-0.01 0.00
bike_ASC_no_auto_othdiscr-0.501 75.9-0.01 0.00
bike_ASC_no_auto_othmaint 1.53 75.9 0.02 0.00
bike_ASC_no_auto_school 13.5 109. 0.12 0.00
bike_ASC_no_auto_shopping 0.951 75.9 0.01 0.00
bike_ASC_no_auto_social 0.374 75.9 0.00 0.00
bike_ASC_no_auto_univ 4.29 0.00148 BIG*** 0.00
bike_ASC_no_auto_work 3.43 75.9 0.05 0.00
coef_age010_trn_multiplier_atwork 0.000722 0.00785 0.09 0.00
coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work 0.490 0.176 2.79** 0.00
coef_age010_trn_multiplier_school_univ-0.851 0.0900-9.46*** 0.00
coef_age1619_da_multiplier_atwork-0.175 0.205-0.85 0.00
coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work 0.0357 0.0425 0.84 0.00
coef_age1619_da_multiplier_school_univ-1.67 0.0748-22.31*** 0.00
coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social-1.58 0.0842-18.71*** 0.00
coef_age16p_sr_multiplier_school_univ_work_atwork-0.688 0.0682-10.08*** 0.00
coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork-0.0721 0.0312-2.31* 0.00
coef_hhsize1_sr_multiplier_work-0.822 0.0571-14.39*** 0.00
coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork-0.00404 0.0178-0.23 0.00
coef_hhsize2_sr_multiplier_school_univ-0.743 0.0912-8.15*** 0.00
coef_ivt_atwork-0.0112 0.000479-23.41*** 0.00
coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social-0.00691 0.000145-47.76*** 0.00
coef_ivt_school_univ-0.0103 0.000316-32.62*** 0.00
coef_ivt_work-0.00791 0.000147-53.62*** 0.00
coef_nest_AUTO 0.720 0.00 NA 1.00
coef_nest_AUTO_DRIVEALONE 0.350 0.00 NA 1.00
coef_nest_AUTO_SHAREDRIDE2 0.350 0.00 NA 1.00
coef_nest_AUTO_SHAREDRIDE3 0.350 0.00 NA 1.00
coef_nest_NONMOTORIZED 0.720 0.00 NA 1.00
coef_nest_RIDEHAIL 0.360 0.00 NA 1.00
coef_nest_TRANSIT 0.720 0.00 NA 1.00
coef_nest_TRANSIT_DRIVEACCESS 0.500 0.00 NA 1.00
coef_nest_TRANSIT_WALKACCESS 0.500 0.00 NA 1.00
coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork 0.0770 0.0494 1.56 0.00
coef_test_school_univ 0.518 0.913 0.57 0.00
commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.958 16.4-0.06 0.00
commuter_rail_ASC_school_univ-0.258 NA NA 0.00
commuter_rail_ASC_work 0.196 278. 0.00 0.00
drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.628 16.4-0.04 0.00
drive_ferry_ASC_school_univ 1.43 NA NA 0.00
drive_ferry_ASC_work 0.232 278. 0.00 0.00
drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.325 16.4-0.02 0.00
drive_light_rail_ASC_school_univ 0.691 NA NA 0.00
drive_light_rail_ASC_work 0.530 278. 0.00 0.00
drive_transit_ASC_auto_deficient_atwork-999. 0.000360-BIG*** 0.00
drive_transit_ASC_auto_deficient_eatout-0.173 16.4-0.01 0.00
drive_transit_ASC_auto_deficient_escort-2.19 16.4-0.13 0.00
drive_transit_ASC_auto_deficient_othdiscr-0.852 16.4-0.05 0.00
drive_transit_ASC_auto_deficient_othmaint-1.36 16.4-0.08 0.00
drive_transit_ASC_auto_deficient_school 1.59 NA NA 0.00
drive_transit_ASC_auto_deficient_shopping-1.58 16.4-0.10 0.00
drive_transit_ASC_auto_deficient_social 0.610 16.4 0.04 0.00
drive_transit_ASC_auto_deficient_univ 1.85 NA NA 0.00
drive_transit_ASC_auto_deficient_work-0.824 278.-0.00 0.00
drive_transit_ASC_auto_sufficient_atwork-999. 0.000176-BIG*** 0.00
drive_transit_ASC_auto_sufficient_eatout-1.65 16.4-0.10 0.00
drive_transit_ASC_auto_sufficient_escort-5.31 16.4-0.32 0.00
drive_transit_ASC_auto_sufficient_othdiscr-1.24 16.4-0.08 0.00
drive_transit_ASC_auto_sufficient_othmaint-2.80 16.4-0.17 0.00
drive_transit_ASC_auto_sufficient_school 0.105 NA NA 0.00
drive_transit_ASC_auto_sufficient_shopping-4.16 16.4-0.25 0.00
drive_transit_ASC_auto_sufficient_social-1.37 16.4-0.08 0.00
drive_transit_ASC_auto_sufficient_univ 1.36 NA NA 0.00
drive_transit_ASC_auto_sufficient_work-1.73 278.-0.01 0.00
drive_transit_ASC_no_auto_all 0.00 NA NA 0.00
drive_transit_CBD_ASC_atwork 0.564 NA NA 0.00
drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social 1.37 0.142 9.63*** 0.00
drive_transit_CBD_ASC_school_univ 1.23 0.251 4.89*** 0.00
drive_transit_CBD_ASC_work 1.64 0.0698 23.45*** 0.00
express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.342 16.4-0.02 0.00
express_bus_ASC_school_univ-0.451 NA NA 0.00
express_bus_ASC_work-0.881 278.-0.00 0.00
heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.207 16.4-0.01 0.00
heavy_rail_ASC_school_univ 0.110 NA NA 0.00
heavy_rail_ASC_work 0.513 278. 0.00 0.00
joint_bike_ASC_auto_deficient_all-6.18 1.34-4.62*** 0.00
joint_bike_ASC_auto_sufficient_all-7.10 0.465-15.28*** 0.00
joint_bike_ASC_no_auto_all-2.67 1.08-2.48* 0.00
joint_drive_transit_ASC_auto_deficient_all-6.04 16.4-0.37 0.00
joint_drive_transit_ASC_auto_sufficient_all-7.79 16.4-0.48 0.00
joint_drive_transit_ASC_no_auto_all 0.00 0.00 NA 0.00
joint_sr2_ASC_auto_deficient_all 0.00 0.00 NA 0.00
joint_sr2_ASC_auto_sufficient_all 0.00 0.00 NA 0.00
joint_sr2_ASC_no_auto_all 0.00 0.00 NA 0.00
joint_sr3p_ASC_auto_deficient_all-1.49 0.258-5.77*** 0.00
joint_sr3p_ASC_auto_sufficient_all-2.29 0.133-17.17*** 0.00
joint_sr3p_ASC_no_auto_all 0.699 0.470 1.49 0.00
joint_taxi_ASC_auto_deficient_all-9.82 8.15-1.21 0.00
joint_taxi_ASC_auto_sufficient_all-11.7 0.00 NA 0.00
joint_taxi_ASC_no_auto_all-4.58 4.29-1.07 0.00
joint_tnc_shared_ASC_auto_deficient_all-11.2 17.0-0.66 0.00
joint_tnc_shared_ASC_auto_sufficient_all-13.2 0.00 NA 0.00
joint_tnc_shared_ASC_no_auto_all-4.72 2.18-2.17* 0.00
joint_tnc_single_ASC_auto_deficient_all-9.90 7.20-1.38 0.00
joint_tnc_single_ASC_auto_sufficient_all-14.0 0.00 NA 0.00
joint_tnc_single_ASC_no_auto_all-3.86 2.05-1.88 0.00
joint_walk_ASC_auto_deficient_all-2.22 0.376-5.89*** 0.00
joint_walk_ASC_auto_sufficient_all-4.34 0.245-17.76*** 0.00
joint_walk_ASC_no_auto_all-0.367 0.727-0.51 0.00
joint_walk_transit_ASC_auto_deficient_all-5.30 16.4-0.32 0.00
joint_walk_transit_ASC_auto_sufficient_all-18.3 655.-0.03 0.00
joint_walk_transit_ASC_no_auto_all 0.386 16.4 0.02 0.00
local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-1.18 16.4-0.07 0.00
local_bus_ASC_school_univ-0.819 NA NA 0.00
local_bus_ASC_work-0.179 278.-0.00 0.00
sr2_ASC_auto_deficient_atwork-1.49 0.132-11.34*** 0.00
sr2_ASC_auto_deficient_eatout 0.874 0.155 5.64*** 0.00
sr2_ASC_auto_deficient_escort 0.254 0.160 1.58 0.00
sr2_ASC_auto_deficient_othdiscr 1.06 0.131 8.13*** 0.00
sr2_ASC_auto_deficient_othmaint 0.584 0.145 4.02*** 0.00
sr2_ASC_auto_deficient_school 0.518 0.928 0.56 0.00
sr2_ASC_auto_deficient_shopping 0.522 0.127 4.09*** 0.00
sr2_ASC_auto_deficient_social 2.30 0.215 10.70*** 0.00
sr2_ASC_auto_deficient_univ-1.69 NA NA 0.00
sr2_ASC_auto_deficient_work 0.424 0.0892 4.76*** 0.00
sr2_ASC_auto_sufficient_atwork-0.772 0.0784-9.85*** 0.00
sr2_ASC_auto_sufficient_eatout 1.17 0.105 11.19*** 0.00
sr2_ASC_auto_sufficient_escort 0.427 0.129 3.31*** 0.00
sr2_ASC_auto_sufficient_othdiscr 0.830 0.101 8.23*** 0.00
sr2_ASC_auto_sufficient_othmaint 0.642 0.103 6.24*** 0.00
sr2_ASC_auto_sufficient_school-0.720 0.916-0.79 0.00
sr2_ASC_auto_sufficient_shopping 0.518 0.100 5.16*** 0.00
sr2_ASC_auto_sufficient_social 0.867 0.110 7.88*** 0.00
sr2_ASC_auto_sufficient_univ-1.86 NA NA 0.00
sr2_ASC_auto_sufficient_work-0.295 0.0860-3.43*** 0.00
sr2_ASC_no_auto_all 1.22 75.9 0.02 0.00
sr3p_ASC_auto_deficient_atwork-1.81 0.136-13.30*** 0.00
sr3p_ASC_auto_deficient_eatout 0.184 0.187 0.98 0.00
sr3p_ASC_auto_deficient_escort 0.0300 0.163 0.18 0.00
sr3p_ASC_auto_deficient_othdiscr 1.42 0.124 11.40*** 0.00
sr3p_ASC_auto_deficient_othmaint-0.607 0.223-2.71** 0.00
sr3p_ASC_auto_deficient_school 1.10 0.927 1.18 0.00
sr3p_ASC_auto_deficient_shopping 0.180 0.138 1.31 0.00
sr3p_ASC_auto_deficient_social 2.04 0.223 9.16*** 0.00
sr3p_ASC_auto_deficient_univ-1.73 1.83e-05-BIG*** 0.00
sr3p_ASC_auto_deficient_work-0.127 0.0922-1.38 0.00
sr3p_ASC_auto_sufficient_atwork-0.954 0.0797-11.97*** 0.00
sr3p_ASC_auto_sufficient_eatout 1.13 0.105 10.73*** 0.00
sr3p_ASC_auto_sufficient_escort 0.400 0.129 3.10** 0.00
sr3p_ASC_auto_sufficient_othdiscr 0.929 0.101 9.25*** 0.00
sr3p_ASC_auto_sufficient_othmaint 0.257 0.105 2.44* 0.00
sr3p_ASC_auto_sufficient_school-0.151 0.916-0.16 0.00
sr3p_ASC_auto_sufficient_shopping 0.275 0.101 2.72** 0.00
sr3p_ASC_auto_sufficient_social 0.870 0.110 7.91*** 0.00
sr3p_ASC_auto_sufficient_univ-1.90 2.57e-05-BIG*** 0.00
sr3p_ASC_auto_sufficient_work-0.662 0.0868-7.63*** 0.00
sr3p_ASC_no_auto_atwork 1.49 75.9 0.02 0.00
sr3p_ASC_no_auto_eatout 1.62 75.9 0.02 0.00
sr3p_ASC_no_auto_escort-1.87 75.9-0.02 0.00
sr3p_ASC_no_auto_othdiscr 1.43 75.9 0.02 0.00
sr3p_ASC_no_auto_othmaint 0.296 75.9 0.00 0.00
sr3p_ASC_no_auto_school-6.02 105.-0.06 0.00
sr3p_ASC_no_auto_shopping 0.881 75.9 0.01 0.00
sr3p_ASC_no_auto_social-1.17 75.9-0.02 0.00
sr3p_ASC_no_auto_univ-6.06 1.79e-05-BIG*** 0.00
sr3p_ASC_no_auto_work 0.614 75.9 0.01 0.00
taxi_ASC_auto_deficient_atwork-4.59 0.435-10.57*** 0.00
taxi_ASC_auto_deficient_eatout_othdiscr_social-3.26 0.483-6.76*** 0.00
taxi_ASC_auto_deficient_escort_othmaint_shopping-0.930 0.118-7.89*** 0.00
taxi_ASC_auto_deficient_school 0.840 0.935 0.90 0.00
taxi_ASC_auto_deficient_univ 4.25 1.62e-05 BIG*** 0.00
taxi_ASC_auto_deficient_work-2.04 0.205-9.95*** 0.00
taxi_ASC_auto_sufficient_atwork-3.34 0.150-22.22*** 0.00
taxi_ASC_auto_sufficient_eatout_othdiscr_social-3.93 0.246-15.96*** 0.00
taxi_ASC_auto_sufficient_escort_othmaint_shopping-2.78 0.0965-28.85*** 0.00
taxi_ASC_auto_sufficient_school-2.26 0.922-2.45* 0.00
taxi_ASC_auto_sufficient_univ-0.313 NA NA 0.00
taxi_ASC_auto_sufficient_work-4.85 0.303-16.01*** 0.00
taxi_ASC_no_auto_atwork 3.65 75.9 0.05 0.00
taxi_ASC_no_auto_eatout_othdiscr_social-0.571 75.9-0.01 0.00
taxi_ASC_no_auto_escort_othmaint_shopping 1.45 75.9 0.02 0.00
taxi_ASC_no_auto_school_univ-7.00 0.00 NA 0.00
taxi_ASC_no_auto_work 3.94 75.9 0.05 0.00
tnc_shared_ASC_auto_deficient_atwork-5.17 0.414-12.49*** 0.00
tnc_shared_ASC_auto_deficient_eatout_othdiscr_social-4.46 0.900-4.95*** 0.00
tnc_shared_ASC_auto_deficient_escort_othmaint_shopping-1.24 0.109-11.36*** 0.00
tnc_shared_ASC_auto_deficient_school 0.283 0.933 0.30 0.00
tnc_shared_ASC_auto_deficient_univ 3.25 1.25e-05 BIG*** 0.00
tnc_shared_ASC_auto_deficient_work-3.40 0.214-15.89*** 0.00
tnc_shared_ASC_auto_sufficient_atwork-4.08 0.166-24.64*** 0.00
tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social-4.32 0.199-21.67*** 0.00
tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping-3.29 0.0920-35.76*** 0.00
tnc_shared_ASC_auto_sufficient_school-3.62 0.927-3.91*** 0.00
tnc_shared_ASC_auto_sufficient_univ-0.907 NA NA 0.00
tnc_shared_ASC_auto_sufficient_work-6.48 0.411-15.77*** 0.00
tnc_shared_ASC_no_auto_atwork 3.06 75.9 0.04 0.00
tnc_shared_ASC_no_auto_eatout_othdiscr_social-0.0803 75.9-0.00 0.00
tnc_shared_ASC_no_auto_escort_othmaint_shopping 0.685 75.9 0.01 0.00
tnc_shared_ASC_no_auto_school-7.00 0.00 NA 0.00
tnc_shared_ASC_no_auto_univ-5.81 NA NA 0.00
tnc_shared_ASC_no_auto_work 2.23 75.9 0.03 0.00
tnc_single_ASC_auto_deficient_atwork-4.24 0.319-13.29*** 0.00
tnc_single_ASC_auto_deficient_eatout_othdiscr_social-3.27 0.436-7.50*** 0.00
tnc_single_ASC_auto_deficient_escort_othmaint_shopping-0.340 0.102-3.34*** 0.00
tnc_single_ASC_auto_deficient_school-0.0137 0.943-0.01 0.00
tnc_single_ASC_auto_deficient_univ 1.02 NA NA 0.00
tnc_single_ASC_auto_deficient_work-1.30 0.115-11.28*** 0.00
tnc_single_ASC_auto_sufficient_atwork-3.14 0.126-25.00*** 0.00
tnc_single_ASC_auto_sufficient_eatout_othdiscr_social-3.26 0.149-21.84*** 0.00
tnc_single_ASC_auto_sufficient_escort_othmaint_shopping-2.20 0.0833-26.43*** 0.00
tnc_single_ASC_auto_sufficient_school-2.07 0.920-2.25* 0.00
tnc_single_ASC_auto_sufficient_univ 0.209 5.09e-06 BIG*** 0.00
tnc_single_ASC_auto_sufficient_work-4.24 0.182-23.29*** 0.00
tnc_single_ASC_no_auto_atwork 4.26 75.9 0.06 0.00
tnc_single_ASC_no_auto_eatout_othdiscr_social 0.982 75.9 0.01 0.00
tnc_single_ASC_no_auto_escort_othmaint_shopping 1.60 75.9 0.02 0.00
tnc_single_ASC_no_auto_school-7.00 0.00 NA 0.00
tnc_single_ASC_no_auto_univ-2.52 NA NA 0.00
tnc_single_ASC_no_auto_work 5.31 75.9 0.07 0.00
walk_ASC_auto_deficient_atwork 0.227 0.123 1.84 0.00
walk_ASC_auto_deficient_eatout 2.17 0.198 10.96*** 0.00
walk_ASC_auto_deficient_escort-1.98 0.265-7.46*** 0.00
walk_ASC_auto_deficient_othdiscr 1.21 0.154 7.86*** 0.00
walk_ASC_auto_deficient_othmaint 0.145 0.208 0.70 0.00
walk_ASC_auto_deficient_school 2.61 0.931 2.81** 0.00
walk_ASC_auto_deficient_shopping 0.909 0.137 6.63*** 0.00
walk_ASC_auto_deficient_social 2.26 0.299 7.56*** 0.00
walk_ASC_auto_deficient_univ 4.51 1.92e-06 BIG*** 0.00
walk_ASC_auto_deficient_work 1.70 0.0955 17.84*** 0.00
walk_ASC_auto_sufficient_atwork 0.0776 0.0580 1.34 0.00
walk_ASC_auto_sufficient_eatout 0.613 0.106 5.78*** 0.00
walk_ASC_auto_sufficient_escort-1.74 0.117-14.88*** 0.00
walk_ASC_auto_sufficient_othdiscr 0.305 0.0829 3.68*** 0.00
walk_ASC_auto_sufficient_othmaint-0.168 0.0955-1.76 0.00
walk_ASC_auto_sufficient_school 0.374 0.917 0.41 0.00
walk_ASC_auto_sufficient_shopping-0.304 0.0811-3.75*** 0.00
walk_ASC_auto_sufficient_social 0.592 0.117 5.04*** 0.00
walk_ASC_auto_sufficient_univ 1.06 NA NA 0.00
walk_ASC_auto_sufficient_work-0.291 0.0787-3.70*** 0.00
walk_ASC_no_auto_atwork 6.63 75.9 0.09 0.00
walk_ASC_no_auto_eatout 4.41 75.9 0.06 0.00
walk_ASC_no_auto_escort 2.51 75.9 0.03 0.00
walk_ASC_no_auto_othdiscr 2.89 75.9 0.04 0.00
walk_ASC_no_auto_othmaint 0.930 75.9 0.01 0.00
walk_ASC_no_auto_school 17.8 109. 0.16 0.00
walk_ASC_no_auto_shopping 2.17 75.9 0.03 0.00
walk_ASC_no_auto_social 1.74 75.9 0.02 0.00
walk_ASC_no_auto_univ 6.41 NA NA 0.00
walk_ASC_no_auto_work 5.28 75.9 0.07 0.00
walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.239 16.4-0.01 0.00
walk_ferry_ASC_school_univ 0.858 NA NA 0.00
walk_ferry_ASC_work 0.189 278. 0.00 0.00
walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.136 16.4-0.01 0.00
walk_light_rail_ASC_school_univ 0.724 NA NA 0.00
walk_light_rail_ASC_work 0.786 278. 0.00 0.00
walk_transit_ASC_auto_deficient_atwork-2.63 16.4-0.16 0.00
walk_transit_ASC_auto_deficient_eatout-0.489 16.4-0.03 0.00
walk_transit_ASC_auto_deficient_escort-4.45 16.4-0.27 0.00
walk_transit_ASC_auto_deficient_othdiscr 0.873 16.4 0.05 0.00
walk_transit_ASC_auto_deficient_othmaint-2.97 16.4-0.18 0.00
walk_transit_ASC_auto_deficient_school 2.97 NA NA 0.00
walk_transit_ASC_auto_deficient_shopping-1.07 16.4-0.07 0.00
walk_transit_ASC_auto_deficient_social 1.32 16.4 0.08 0.00
walk_transit_ASC_auto_deficient_univ 3.14 0.00 NA 0.00
walk_transit_ASC_auto_deficient_work 0.159 278. 0.00 0.00
walk_transit_ASC_auto_sufficient_atwork-3.66 16.4-0.22 0.00
walk_transit_ASC_auto_sufficient_eatout-1.32 16.4-0.08 0.00
walk_transit_ASC_auto_sufficient_escort-4.82 16.4-0.29 0.00
walk_transit_ASC_auto_sufficient_othdiscr-0.914 16.4-0.06 0.00
walk_transit_ASC_auto_sufficient_othmaint-1.68 16.4-0.10 0.00
walk_transit_ASC_auto_sufficient_school 0.487 NA NA 0.00
walk_transit_ASC_auto_sufficient_shopping-2.35 16.4-0.14 0.00
walk_transit_ASC_auto_sufficient_social-0.647 16.4-0.04 0.00
walk_transit_ASC_auto_sufficient_univ 0.473 0.00 NA 0.00
walk_transit_ASC_auto_sufficient_work-1.37 278.-0.00 0.00
walk_transit_ASC_no_auto_atwork 3.13 66.9 0.05 0.00
walk_transit_ASC_no_auto_eatout 2.92 66.9 0.04 0.00
walk_transit_ASC_no_auto_escort-2.26 67.0-0.03 0.00
walk_transit_ASC_no_auto_othdiscr 2.80 66.9 0.04 0.00
walk_transit_ASC_no_auto_othmaint 2.59 66.9 0.04 0.00
walk_transit_ASC_no_auto_school 20.4 NA NA 0.00
walk_transit_ASC_no_auto_shopping 2.33 66.9 0.03 0.00
walk_transit_ASC_no_auto_social 2.06 66.9 0.03 0.00
walk_transit_ASC_no_auto_univ 8.79 0.00 NA 0.00
walk_transit_ASC_no_auto_work 4.60 285. 0.02 0.00
walk_transit_CBD_ASC_atwork 1.30 0.284 4.57*** 0.00
walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social 1.08 0.0757 14.25*** 0.00
walk_transit_CBD_ASC_school_univ 0.834 0.114 7.30*** 0.00
walk_transit_CBD_ASC_work 1.16 0.0539 21.50*** 0.00
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.parameter_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "TojXWivZsx7M" + }, + "source": [ + "# Output Estimation Results" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:22.519480Z", + "iopub.status.busy": "2025-06-26T02:22:22.519378Z", + "iopub.status.idle": "2025-06-26T02:22:22.604985Z", + "shell.execute_reply": "2025-06-26T02:22:22.604582Z", + "shell.execute_reply.started": "2025-06-26T02:22:22.519470Z" + } + }, + "outputs": [], + "source": [ + "from activitysim.estimation.larch import update_coefficients\n", + "result_dir = data.edb_directory/\"estimated\"\n", + "update_coefficients(\n", + " model, data, result_dir,\n", + " output_file=f\"{modelname}_coefficients_revised.csv\",\n", + ");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Write the model estimation report, including coefficient t-statistic and log likelihood" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:22.605439Z", + "iopub.status.busy": "2025-06-26T02:22:22.605332Z", + "iopub.status.idle": "2025-06-26T02:22:33.125948Z", + "shell.execute_reply": "2025-06-26T02:22:33.125494Z", + "shell.execute_reply.started": "2025-06-26T02:22:22.605418Z" + } + }, + "outputs": [], + "source": [ + "model.to_xlsx(\n", + " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", + " data_statistics=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Next Steps\n", + "\n", + "The final step is to either manually or automatically copy the `*_coefficients_revised.csv` file to the configs folder, rename it to `*_coefficients.csv`, and run ActivitySim in simulation mode." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:33.126652Z", + "iopub.status.busy": "2025-06-26T02:22:33.126545Z", + "iopub.status.idle": "2025-06-26T02:22:33.132608Z", + "shell.execute_reply": "2025-06-26T02:22:33.132330Z", + "shell.execute_reply.started": "2025-06-26T02:22:33.126642Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefficient_namevalueconstrain
0coef_one1.000000T
1coef_nest_root1.000000T
2coef_nest_AUTO0.720000T
3coef_nest_AUTO_DRIVEALONE0.350000T
4coef_nest_AUTO_SHAREDRIDE20.350000T
............
304drive_transit_CBD_ASC_school_univ1.227148F
305drive_transit_CBD_ASC_work1.636347F
306drive_transit_CBD_ASC_atwork0.564000FF
307coef_test_eatout_escort_othdiscr_othmaint_shop...0.076990F
308coef_test_school_univ0.518279F
\n", + "

309 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " coefficient_name value constrain\n", + "0 coef_one 1.000000 T\n", + "1 coef_nest_root 1.000000 T\n", + "2 coef_nest_AUTO 0.720000 T\n", + "3 coef_nest_AUTO_DRIVEALONE 0.350000 T\n", + "4 coef_nest_AUTO_SHAREDRIDE2 0.350000 T\n", + ".. ... ... ...\n", + "304 drive_transit_CBD_ASC_school_univ 1.227148 F\n", + "305 drive_transit_CBD_ASC_work 1.636347 F\n", + "306 drive_transit_CBD_ASC_atwork 0.564000 F\n", + "307 coef_test_eatout_escort_othdiscr_othmaint_shop... 0.076990 F\n", + "308 coef_test_school_univ 0.518279 F\n", + "\n", + "[309 rows x 3 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_csv(result_dir/f\"{modelname}_coefficients_revised.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Modify Spec\n", + "\n", + "Here, we will demonstrate the process of re-estimating the model with a modified\n", + "SPEC file. This does *not* require re-running ActivitySim, it just requires\n", + "changing the SPEC file, and possibly the coefficients and/or coefficients template files, and re-running the Larch estimation only.\n", + "\n", + "The `backup` command we ran earlier made a backup copy of the\n", + "original spec file in the EDB directory.\n", + "This was not strictly necessary, but since we're about to modify it and\n", + "we may want undo our changes, it can be handy to keep a copy of the\n", + "original spec file around. Since we already have a backup copy, we'll make some \n", + "changes directly in the SPEC file. As an example here, we're going\n", + "to add a constant term to the model, with a coefficient that is shared in common across \n", + "several (but not all) purposes.\n", + "\n", + "For this demo we are editing \n", + "the model files using Python code to make the changes, but a user does not need\n", + "to change the file using Python; any CSV editor (e.g. Excel) can be used. We will\n", + "edit three files: the spec, the coefficients, and the coefficients template.\n", + "We're not going to edit any of the existing content in any of these files, instead \n", + "we will simply add a few lines to each to add an extra expression to the spec, and\n", + "the coefficients for that expression." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:33.133126Z", + "iopub.status.busy": "2025-06-26T02:22:33.133030Z", + "iopub.status.idle": "2025-06-26T02:22:33.135058Z", + "shell.execute_reply": "2025-06-26T02:22:33.134812Z", + "shell.execute_reply.started": "2025-06-26T02:22:33.133117Z" + } + }, + "outputs": [], + "source": [ + "with open(data.edb_directory / \"tour_mode_choice_SPEC.csv\", mode=\"a\") as f:\n", + " f.write(\"util_test,Additional DA constant,1,coef_test,,,,,,,,,,,,,,,,,,,,\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:33.135393Z", + "iopub.status.busy": "2025-06-26T02:22:33.135303Z", + "iopub.status.idle": "2025-06-26T02:22:33.137578Z", + "shell.execute_reply": "2025-06-26T02:22:33.137342Z", + "shell.execute_reply.started": "2025-06-26T02:22:33.135372Z" + } + }, + "outputs": [], + "source": [ + "with open(data.edb_directory / \"tour_mode_choice_coefficients_template.csv\", mode=\"a\") as f:\n", + " f.write(\"coef_test,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_school_univ,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_school_univ,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,\"\n", + " \"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:22:33.138092Z", + "iopub.status.busy": "2025-06-26T02:22:33.137967Z", + "iopub.status.idle": "2025-06-26T02:22:33.139786Z", + "shell.execute_reply": "2025-06-26T02:22:33.139542Z", + "shell.execute_reply.started": "2025-06-26T02:22:33.138083Z" + } + }, + "outputs": [], + "source": [ + "with open(data.edb_directory / \"tour_mode_choice_coefficients.csv\", mode=\"a\") as f:\n", + " f.write(\"coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F\\n\"\n", + " \"coef_test_school_univ,0,F\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now to re-estimate the model, we just re-run the same steps as the original estimation above." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:23:19.234087Z", + "iopub.status.busy": "2025-06-26T02:23:19.233080Z", + "iopub.status.idle": "2025-06-26T02:23:34.736566Z", + "shell.execute_reply": "2025-06-26T02:23:34.736111Z", + "shell.execute_reply.started": "2025-06-26T02:23:19.234014Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_coefficients_template.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/tour_mode_choice/tour_mode_choice_values_combined.parquet\n" + ] + } + ], + "source": [ + "remodel, redata = component_model(modelname, edb_directory=str(data.edb_directory), return_data=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:23:37.086759Z", + "iopub.status.busy": "2025-06-26T02:23:37.086146Z", + "iopub.status.idle": "2025-06-26T02:23:39.392179Z", + "shell.execute_reply": "2025-06-26T02:23:39.391840Z", + "shell.execute_reply.started": "2025-06-26T02:23:37.086721Z" + } + }, + "outputs": [], + "source": [ + "remodel.extend(model2)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:23:40.195214Z", + "iopub.status.busy": "2025-06-26T02:23:40.194549Z", + "iopub.status.idle": "2025-06-26T02:27:37.904716Z", + "shell.execute_reply": "2025-06-26T02:27:37.904362Z", + "shell.execute_reply.started": "2025-06-26T02:23:40.195175Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Iteration 200 [Iteration limit reached]

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Best LL = -76502.09343717809

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuebestinitvalueminimummaximumnullvalueholdfast
param_name
-999-999.000000-999.000000-999.000000-999.0-999.00.01
11.0000001.0000001.0000001.01.00.01
bike_ASC_auto_deficient_atwork-1.059385-1.059385-0.807408-infinf0.00
bike_ASC_auto_deficient_eatout-1.201250-1.201250-1.569111-infinf0.00
bike_ASC_auto_deficient_escort-3.880330-3.880330-4.527928-infinf0.00
........................
walk_transit_ASC_no_auto_work4.6310234.6310235.035417-infinf0.00
walk_transit_CBD_ASC_atwork1.1842251.1842250.564000-infinf0.00
walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social1.0889681.0889680.525000-infinf0.00
walk_transit_CBD_ASC_school_univ0.8264840.8264840.672000-infinf0.00
walk_transit_CBD_ASC_work1.1465131.1465130.804000-infinf0.00
\n", + "

312 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " value best \\\n", + "param_name \n", + "-999 -999.000000 -999.000000 \n", + "1 1.000000 1.000000 \n", + "bike_ASC_auto_deficient_atwork -1.059385 -1.059385 \n", + "bike_ASC_auto_deficient_eatout -1.201250 -1.201250 \n", + "bike_ASC_auto_deficient_escort -3.880330 -3.880330 \n", + "... ... ... \n", + "walk_transit_ASC_no_auto_work 4.631023 4.631023 \n", + "walk_transit_CBD_ASC_atwork 1.184225 1.184225 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... 1.088968 1.088968 \n", + "walk_transit_CBD_ASC_school_univ 0.826484 0.826484 \n", + "walk_transit_CBD_ASC_work 1.146513 1.146513 \n", + "\n", + " initvalue minimum \\\n", + "param_name \n", + "-999 -999.000000 -999.0 \n", + "1 1.000000 1.0 \n", + "bike_ASC_auto_deficient_atwork -0.807408 -inf \n", + "bike_ASC_auto_deficient_eatout -1.569111 -inf \n", + "bike_ASC_auto_deficient_escort -4.527928 -inf \n", + "... ... ... \n", + "walk_transit_ASC_no_auto_work 5.035417 -inf \n", + "walk_transit_CBD_ASC_atwork 0.564000 -inf \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... 0.525000 -inf \n", + "walk_transit_CBD_ASC_school_univ 0.672000 -inf \n", + "walk_transit_CBD_ASC_work 0.804000 -inf \n", + "\n", + " maximum nullvalue \\\n", + "param_name \n", + "-999 -999.0 0.0 \n", + "1 1.0 0.0 \n", + "bike_ASC_auto_deficient_atwork inf 0.0 \n", + "bike_ASC_auto_deficient_eatout inf 0.0 \n", + "bike_ASC_auto_deficient_escort inf 0.0 \n", + "... ... ... \n", + "walk_transit_ASC_no_auto_work inf 0.0 \n", + "walk_transit_CBD_ASC_atwork inf 0.0 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... inf 0.0 \n", + "walk_transit_CBD_ASC_school_univ inf 0.0 \n", + "walk_transit_CBD_ASC_work inf 0.0 \n", + "\n", + " holdfast \n", + "param_name \n", + "-999 1 \n", + "1 1 \n", + "bike_ASC_auto_deficient_atwork 0 \n", + "bike_ASC_auto_deficient_eatout 0 \n", + "bike_ASC_auto_deficient_escort 0 \n", + "... ... \n", + "walk_transit_ASC_no_auto_work 0 \n", + "walk_transit_CBD_ASC_atwork 0 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth... 0 \n", + "walk_transit_CBD_ASC_school_univ 0 \n", + "walk_transit_CBD_ASC_work 0 \n", + "\n", + "[312 rows x 7 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jpn/Git/aestival/repos/larch/src/larch/model/optimization.py:338: UserWarning: slsqp may not play nicely with unbounded parameters\n", + "if you get poor results, consider setting global bounds with model.set_cap()\n", + " warnings.warn( # infinite bounds # )\n", + "/Users/jpn/Git/aestival/repos/larch/src/larch/model/model_group.py:366: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" + ] + }, + { + "data": { + "text/html": [ + "
keyvalue
x\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
-999-999.000000
11.000000
bike_ASC_auto_deficient_atwork-1.059385
bike_ASC_auto_deficient_eatout-1.201250
bike_ASC_auto_deficient_escort-3.880330
bike_ASC_auto_deficient_othdiscr-0.528102
bike_ASC_auto_deficient_othmaint-1.629975
bike_ASC_auto_deficient_school-1.182724
bike_ASC_auto_deficient_shopping-1.304686
bike_ASC_auto_deficient_social0.592094
bike_ASC_auto_deficient_univ-0.669235
bike_ASC_auto_deficient_work-0.360143
bike_ASC_auto_sufficient_atwork15.720172
bike_ASC_auto_sufficient_eatout-1.297285
bike_ASC_auto_sufficient_escort-5.264113
bike_ASC_auto_sufficient_othdiscr-1.491319
bike_ASC_auto_sufficient_othmaint-2.511651
bike_ASC_auto_sufficient_school-2.201436
bike_ASC_auto_sufficient_shopping-2.777945
bike_ASC_auto_sufficient_social-1.828315
bike_ASC_auto_sufficient_univ-1.939783
bike_ASC_auto_sufficient_work-2.058472
bike_ASC_no_auto_atwork-0.911319
bike_ASC_no_auto_eatout0.509502
bike_ASC_no_auto_escort-0.730310
bike_ASC_no_auto_othdiscr-0.404361
bike_ASC_no_auto_othmaint1.614051
bike_ASC_no_auto_school13.403780
bike_ASC_no_auto_shopping1.048175
bike_ASC_no_auto_social0.485746
bike_ASC_no_auto_univ4.294516
bike_ASC_no_auto_work3.427768
coef_age010_trn_multiplier_atwork0.000722
coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work0.363546
coef_age010_trn_multiplier_school_univ-0.874785
coef_age1619_da_multiplier_atwork-0.192883
coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work0.000513
coef_age1619_da_multiplier_school_univ-1.677960
coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social-1.451060
coef_age16p_sr_multiplier_school_univ_work_atwork-0.648072
coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork-0.071030
coef_hhsize1_sr_multiplier_work-0.836007
coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork0.002091
coef_hhsize2_sr_multiplier_school_univ-0.747693
coef_ivt_atwork-0.011188
coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social-0.006884
coef_ivt_school_univ-0.010386
coef_ivt_work-0.007950
coef_nest_AUTO0.720000
coef_nest_AUTO_DRIVEALONE0.350000
coef_nest_AUTO_SHAREDRIDE20.350000
coef_nest_AUTO_SHAREDRIDE30.350000
coef_nest_NONMOTORIZED0.720000
coef_nest_RIDEHAIL0.360000
coef_nest_TRANSIT0.720000
coef_nest_TRANSIT_DRIVEACCESS0.500000
coef_nest_TRANSIT_WALKACCESS0.500000
coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork0.076990
coef_test_school_univ0.518279
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: eatout, dtype: object0.339513
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: escort, dtype: object0.000000
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: othdiscr, dtype: object0.230600
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: othmaint, dtype: object0.332934
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: shopping, dtype: object0.244712
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: social, dtype: object0.196574
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: work, dtype: object-0.030571
coefficient_name\\ncoef_test coef_test_school_univ\\ncoef_test coef_test_school_univ\\nName: school, dtype: object0.278054
coefficient_name\\ncoef_test coef_test_school_univ\\ncoef_test coef_test_school_univ\\nName: univ, dtype: object0.000000
commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.744041
commuter_rail_ASC_school_univ-0.247252
commuter_rail_ASC_work0.157688
drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.393253
drive_ferry_ASC_school_univ1.448664
drive_ferry_ASC_work0.193999
drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.091901
drive_light_rail_ASC_school_univ0.706784
drive_light_rail_ASC_work0.506525
drive_transit_ASC_auto_deficient_atwork-998.819580
drive_transit_ASC_auto_deficient_eatout0.104696
drive_transit_ASC_auto_deficient_escort-2.135178
drive_transit_ASC_auto_deficient_othdiscr-0.725510
drive_transit_ASC_auto_deficient_othmaint-1.174854
drive_transit_ASC_auto_deficient_school1.572565
drive_transit_ASC_auto_deficient_shopping-1.430278
drive_transit_ASC_auto_deficient_social0.594346
drive_transit_ASC_auto_deficient_univ1.850118
drive_transit_ASC_auto_deficient_work-0.911001
drive_transit_ASC_auto_sufficient_atwork-999.214661
drive_transit_ASC_auto_sufficient_eatout-1.297555
drive_transit_ASC_auto_sufficient_escort-5.253544
drive_transit_ASC_auto_sufficient_othdiscr-1.114939
drive_transit_ASC_auto_sufficient_othmaint-2.442900
drive_transit_ASC_auto_sufficient_school0.154528
drive_transit_ASC_auto_sufficient_shopping-3.967262
drive_transit_ASC_auto_sufficient_social-1.343284
drive_transit_ASC_auto_sufficient_univ1.358775
drive_transit_ASC_auto_sufficient_work-1.831235
drive_transit_ASC_no_auto_all0.000000
drive_transit_CBD_ASC_atwork0.564000
drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social1.413499
drive_transit_CBD_ASC_school_univ1.203794
drive_transit_CBD_ASC_work1.616319
express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.088784
express_bus_ASC_school_univ-0.449853
express_bus_ASC_work-0.920137
heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork0.040071
heavy_rail_ASC_school_univ0.126501
heavy_rail_ASC_work0.496146
joint_bike_ASC_auto_deficient_all-6.159645
joint_bike_ASC_auto_sufficient_all-6.948677
joint_bike_ASC_no_auto_all-2.667145
joint_drive_transit_ASC_auto_deficient_all-6.040459
joint_drive_transit_ASC_auto_sufficient_all-7.802616
joint_drive_transit_ASC_no_auto_all0.000000
joint_sr2_ASC_auto_deficient_all0.000000
joint_sr2_ASC_auto_sufficient_all0.000000
joint_sr2_ASC_no_auto_all0.000000
joint_sr3p_ASC_auto_deficient_all-1.508271
joint_sr3p_ASC_auto_sufficient_all-2.268077
joint_sr3p_ASC_no_auto_all0.680128
joint_taxi_ASC_auto_deficient_all-9.817099
joint_taxi_ASC_auto_sufficient_all-11.709900
joint_taxi_ASC_no_auto_all-4.583211
joint_tnc_shared_ASC_auto_deficient_all-11.157463
joint_tnc_shared_ASC_auto_sufficient_all-13.205000
joint_tnc_shared_ASC_no_auto_all-4.699899
joint_tnc_single_ASC_auto_deficient_all-9.898289
joint_tnc_single_ASC_auto_sufficient_all-14.015900
joint_tnc_single_ASC_no_auto_all-3.890298
joint_walk_ASC_auto_deficient_all-2.049580
joint_walk_ASC_auto_sufficient_all-4.151795
joint_walk_ASC_no_auto_all-0.294038
joint_walk_transit_ASC_auto_deficient_all-5.295731
joint_walk_transit_ASC_auto_sufficient_all-18.264534
joint_walk_transit_ASC_no_auto_all0.350958
local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.943275
local_bus_ASC_school_univ-0.811253
local_bus_ASC_work-0.210576
sr2_ASC_auto_deficient_atwork-1.571425
sr2_ASC_auto_deficient_eatout1.323994
sr2_ASC_auto_deficient_escort0.560298
sr2_ASC_auto_deficient_othdiscr1.316437
sr2_ASC_auto_deficient_othmaint1.027389
sr2_ASC_auto_deficient_school0.521971
sr2_ASC_auto_deficient_shopping0.800981
sr2_ASC_auto_deficient_social2.418469
sr2_ASC_auto_deficient_univ-1.692235
sr2_ASC_auto_deficient_work0.248251
sr2_ASC_auto_sufficient_atwork-0.810446
sr2_ASC_auto_sufficient_eatout1.632701
sr2_ASC_auto_sufficient_escort0.754348
sr2_ASC_auto_sufficient_othdiscr1.091357
sr2_ASC_auto_sufficient_othmaint1.094521
sr2_ASC_auto_sufficient_school-0.720077
sr2_ASC_auto_sufficient_shopping0.805726
sr2_ASC_auto_sufficient_social1.065900
sr2_ASC_auto_sufficient_univ-1.859427
sr2_ASC_auto_sufficient_work-0.477609
sr2_ASC_no_auto_all1.173523
sr3p_ASC_auto_deficient_atwork-1.881594
sr3p_ASC_auto_deficient_eatout0.638190
sr3p_ASC_auto_deficient_escort0.335767
sr3p_ASC_auto_deficient_othdiscr1.672007
sr3p_ASC_auto_deficient_othmaint-0.202298
sr3p_ASC_auto_deficient_school1.094613
sr3p_ASC_auto_deficient_shopping0.457352
sr3p_ASC_auto_deficient_social2.155012
sr3p_ASC_auto_deficient_univ-1.727742
sr3p_ASC_auto_deficient_work-0.289309
sr3p_ASC_auto_sufficient_atwork-1.003854
sr3p_ASC_auto_sufficient_eatout1.576426
sr3p_ASC_auto_sufficient_escort0.729492
sr3p_ASC_auto_sufficient_othdiscr1.182849
sr3p_ASC_auto_sufficient_othmaint0.726042
sr3p_ASC_auto_sufficient_school-0.151086
sr3p_ASC_auto_sufficient_shopping0.560767
sr3p_ASC_auto_sufficient_social1.073137
sr3p_ASC_auto_sufficient_univ-1.904710
sr3p_ASC_auto_sufficient_work-0.848535
sr3p_ASC_no_auto_atwork1.665939
sr3p_ASC_no_auto_eatout1.528129
sr3p_ASC_no_auto_escort-1.866823
sr3p_ASC_no_auto_othdiscr1.403607
sr3p_ASC_no_auto_othmaint0.194971
sr3p_ASC_no_auto_school-6.024155
sr3p_ASC_no_auto_shopping0.846912
sr3p_ASC_no_auto_social-1.209366
sr3p_ASC_no_auto_univ-6.056001
sr3p_ASC_no_auto_work0.522935
taxi_ASC_auto_deficient_atwork-4.750529
taxi_ASC_auto_deficient_eatout_othdiscr_social-3.164652
taxi_ASC_auto_deficient_escort_othmaint_shopping-0.502553
taxi_ASC_auto_deficient_school0.899118
taxi_ASC_auto_deficient_univ4.249200
taxi_ASC_auto_deficient_work-2.299959
taxi_ASC_auto_sufficient_atwork-3.311568
taxi_ASC_auto_sufficient_eatout_othdiscr_social-3.474973
taxi_ASC_auto_sufficient_escort_othmaint_shopping-2.325136
taxi_ASC_auto_sufficient_school-2.230947
taxi_ASC_auto_sufficient_univ-0.313100
taxi_ASC_auto_sufficient_work-5.138446
taxi_ASC_no_auto_atwork3.627714
taxi_ASC_no_auto_eatout_othdiscr_social-0.460021
taxi_ASC_no_auto_escort_othmaint_shopping1.536364
taxi_ASC_no_auto_school_univ-7.000000
taxi_ASC_no_auto_work3.889335
tnc_shared_ASC_auto_deficient_atwork-5.208859
tnc_shared_ASC_auto_deficient_eatout_othdiscr_social-4.431790
tnc_shared_ASC_auto_deficient_escort_othmaint_shopping-0.796074
tnc_shared_ASC_auto_deficient_school0.312003
tnc_shared_ASC_auto_deficient_univ3.250000
tnc_shared_ASC_auto_deficient_work-3.733595
tnc_shared_ASC_auto_sufficient_atwork-4.094668
tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social-3.879623
tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping-2.832616
tnc_shared_ASC_auto_sufficient_school-3.620468
tnc_shared_ASC_auto_sufficient_univ-0.906800
tnc_shared_ASC_auto_sufficient_work-6.741197
tnc_shared_ASC_no_auto_atwork3.035906
tnc_shared_ASC_no_auto_eatout_othdiscr_social-0.000529
tnc_shared_ASC_no_auto_escort_othmaint_shopping0.776143
tnc_shared_ASC_no_auto_school-7.000000
tnc_shared_ASC_no_auto_univ-5.811600
tnc_shared_ASC_no_auto_work2.211617
tnc_single_ASC_auto_deficient_atwork-4.359982
tnc_single_ASC_auto_deficient_eatout_othdiscr_social-3.121747
tnc_single_ASC_auto_deficient_escort_othmaint_shopping0.092823
tnc_single_ASC_auto_deficient_school0.059727
tnc_single_ASC_auto_deficient_univ1.022100
tnc_single_ASC_auto_deficient_work-1.472138
tnc_single_ASC_auto_sufficient_atwork-3.135939
tnc_single_ASC_auto_sufficient_eatout_othdiscr_social-2.826943
tnc_single_ASC_auto_sufficient_escort_othmaint_shopping-1.756842
tnc_single_ASC_auto_sufficient_school-2.018347
tnc_single_ASC_auto_sufficient_univ0.208800
tnc_single_ASC_auto_sufficient_work-4.328498
tnc_single_ASC_no_auto_atwork4.240527
tnc_single_ASC_no_auto_eatout_othdiscr_social1.063350
tnc_single_ASC_no_auto_escort_othmaint_shopping1.698535
tnc_single_ASC_no_auto_school-7.000000
tnc_single_ASC_no_auto_univ-2.519000
tnc_single_ASC_no_auto_work5.312088
walk_ASC_auto_deficient_atwork0.174536
walk_ASC_auto_deficient_eatout2.703990
walk_ASC_auto_deficient_escort-1.602460
walk_ASC_auto_deficient_othdiscr1.568287
walk_ASC_auto_deficient_othmaint0.642511
walk_ASC_auto_deficient_school2.647520
walk_ASC_auto_deficient_shopping1.312088
walk_ASC_auto_deficient_social2.482888
walk_ASC_auto_deficient_univ4.505910
walk_ASC_auto_deficient_work1.589921
walk_ASC_auto_sufficient_atwork0.078581
walk_ASC_auto_sufficient_eatout1.185624
walk_ASC_auto_sufficient_escort-1.315039
walk_ASC_auto_sufficient_othdiscr0.660807
walk_ASC_auto_sufficient_othmaint0.439213
walk_ASC_auto_sufficient_school0.382641
walk_ASC_auto_sufficient_shopping0.081775
walk_ASC_auto_sufficient_social0.911126
walk_ASC_auto_sufficient_univ1.060766
walk_ASC_auto_sufficient_work-0.417450
walk_ASC_no_auto_atwork6.611279
walk_ASC_no_auto_eatout4.520665
walk_ASC_no_auto_escort2.558862
walk_ASC_no_auto_othdiscr2.961389
walk_ASC_no_auto_othmaint1.056949
walk_ASC_no_auto_school17.800582
walk_ASC_no_auto_shopping2.263652
walk_ASC_no_auto_social1.844138
walk_ASC_no_auto_univ6.408967
walk_ASC_no_auto_work5.277625
walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.034691
walk_ferry_ASC_school_univ0.903288
walk_ferry_ASC_work0.075113
walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork0.115212
walk_light_rail_ASC_school_univ0.720550
walk_light_rail_ASC_work0.730077
walk_transit_ASC_auto_deficient_atwork-2.844239
walk_transit_ASC_auto_deficient_eatout-0.205432
walk_transit_ASC_auto_deficient_escort-4.464762
walk_transit_ASC_auto_deficient_othdiscr0.997111
walk_transit_ASC_auto_deficient_othmaint-2.906453
walk_transit_ASC_auto_deficient_school3.003413
walk_transit_ASC_auto_deficient_shopping-0.898698
walk_transit_ASC_auto_deficient_social1.324930
walk_transit_ASC_auto_deficient_univ3.136256
walk_transit_ASC_auto_deficient_work0.066276
walk_transit_ASC_auto_sufficient_atwork-3.764087
walk_transit_ASC_auto_sufficient_eatout-0.985317
walk_transit_ASC_auto_sufficient_escort-4.683494
walk_transit_ASC_auto_sufficient_othdiscr-0.771461
walk_transit_ASC_auto_sufficient_othmaint-1.309230
walk_transit_ASC_auto_sufficient_school0.522457
walk_transit_ASC_auto_sufficient_shopping-2.202302
walk_transit_ASC_auto_sufficient_social-0.595214
walk_transit_ASC_auto_sufficient_univ0.473116
walk_transit_ASC_auto_sufficient_work-1.474310
walk_transit_ASC_no_auto_atwork2.978048
walk_transit_ASC_no_auto_eatout2.764558
walk_transit_ASC_no_auto_escort-2.263431
walk_transit_ASC_no_auto_othdiscr2.638916
walk_transit_ASC_no_auto_othmaint2.431884
walk_transit_ASC_no_auto_school20.462674
walk_transit_ASC_no_auto_shopping2.182496
walk_transit_ASC_no_auto_social1.900415
walk_transit_ASC_no_auto_univ8.786037
walk_transit_ASC_no_auto_work4.631023
walk_transit_CBD_ASC_atwork1.184225
walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social1.088968
walk_transit_CBD_ASC_school_univ0.826484
walk_transit_CBD_ASC_work1.146513
logloss1.0933400042471608
d_logloss\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
-9990.000000e+00
10.000000e+00
bike_ASC_auto_deficient_atwork1.774086e-05
bike_ASC_auto_deficient_eatout5.086225e-06
bike_ASC_auto_deficient_escort1.041342e-05
bike_ASC_auto_deficient_othdiscr-5.778635e-07
bike_ASC_auto_deficient_othmaint-6.765009e-06
bike_ASC_auto_deficient_school2.953352e-05
bike_ASC_auto_deficient_shopping-9.789016e-07
bike_ASC_auto_deficient_social-1.500595e-05
bike_ASC_auto_deficient_univ0.000000e+00
bike_ASC_auto_deficient_work-2.177390e-05
bike_ASC_auto_sufficient_atwork7.360022e-11
bike_ASC_auto_sufficient_eatout5.699513e-06
bike_ASC_auto_sufficient_escort-1.189039e-05
bike_ASC_auto_sufficient_othdiscr-3.053639e-06
bike_ASC_auto_sufficient_othmaint6.207501e-06
bike_ASC_auto_sufficient_school-3.955640e-05
bike_ASC_auto_sufficient_shopping2.371630e-06
bike_ASC_auto_sufficient_social8.079152e-06
bike_ASC_auto_sufficient_univ0.000000e+00
bike_ASC_auto_sufficient_work-7.377310e-05
bike_ASC_no_auto_atwork-1.079009e-07
bike_ASC_no_auto_eatout-1.351470e-05
bike_ASC_no_auto_escort-6.632985e-07
bike_ASC_no_auto_othdiscr-7.848992e-06
bike_ASC_no_auto_othmaint-1.700614e-05
bike_ASC_no_auto_school5.416195e-05
bike_ASC_no_auto_shopping-1.106327e-05
bike_ASC_no_auto_social-1.724981e-05
bike_ASC_no_auto_univ0.000000e+00
bike_ASC_no_auto_work-4.669114e-05
coef_age010_trn_multiplier_atwork0.000000e+00
coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work-4.351067e-05
coef_age010_trn_multiplier_school_univ-6.148052e-06
coef_age1619_da_multiplier_atwork2.370563e-06
coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work7.865522e-05
coef_age1619_da_multiplier_school_univ5.794259e-05
coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social6.559047e-06
coef_age16p_sr_multiplier_school_univ_work_atwork2.000044e-04
coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork7.346641e-05
coef_hhsize1_sr_multiplier_work-3.556634e-05
coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork-1.320963e-04
coef_hhsize2_sr_multiplier_school_univ-2.237656e-06
coef_ivt_atwork5.354940e-05
coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social1.361858e-03
coef_ivt_school_univ5.392887e-04
coef_ivt_work1.007546e-03
coef_nest_AUTO1.718013e-03
coef_nest_AUTO_DRIVEALONE3.960085e-04
coef_nest_AUTO_SHAREDRIDE2-4.321150e-05
coef_nest_AUTO_SHAREDRIDE3-4.203121e-17
coef_nest_NONMOTORIZED2.445183e-04
coef_nest_RIDEHAIL3.970494e-02
coef_nest_TRANSIT-6.735168e-03
coef_nest_TRANSIT_DRIVEACCESS-5.412309e-03
coef_nest_TRANSIT_WALKACCESS-4.990662e-03
coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork0.000000e+00
coef_test_school_univ0.000000e+00
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: eatout, dtype: object2.972870e-05
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: escort, dtype: object0.000000e+00
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: othdiscr, dtype: object-3.077223e-05
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: othmaint, dtype: object2.351673e-05
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: shopping, dtype: object-9.832621e-06
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: social, dtype: object-2.774498e-05
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: work, dtype: object5.099878e-05
coefficient_name\\ncoef_test coef_test_school_univ\\ncoef_test coef_test_school_univ\\nName: school, dtype: object2.043797e-04
coefficient_name\\ncoef_test coef_test_school_univ\\ncoef_test coef_test_school_univ\\nName: univ, dtype: object0.000000e+00
commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-1.076357e-05
commuter_rail_ASC_school_univ4.538199e-05
commuter_rail_ASC_work2.680006e-05
drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-1.539882e-05
drive_ferry_ASC_school_univ-1.492963e-05
drive_ferry_ASC_work5.248967e-05
drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-3.564786e-05
drive_light_rail_ASC_school_univ-5.604245e-06
drive_light_rail_ASC_work3.779577e-05
drive_transit_ASC_auto_deficient_atwork0.000000e+00
drive_transit_ASC_auto_deficient_eatout4.925097e-06
drive_transit_ASC_auto_deficient_escort-1.075357e-05
drive_transit_ASC_auto_deficient_othdiscr-9.490300e-06
drive_transit_ASC_auto_deficient_othmaint1.225259e-06
drive_transit_ASC_auto_deficient_school6.513910e-05
drive_transit_ASC_auto_deficient_shopping-1.342895e-05
drive_transit_ASC_auto_deficient_social-7.970583e-07
drive_transit_ASC_auto_deficient_univ0.000000e+00
drive_transit_ASC_auto_deficient_work-2.589444e-05
drive_transit_ASC_auto_sufficient_atwork0.000000e+00
drive_transit_ASC_auto_sufficient_eatout-1.080784e-05
drive_transit_ASC_auto_sufficient_escort-2.626942e-05
drive_transit_ASC_auto_sufficient_othdiscr-7.774693e-06
drive_transit_ASC_auto_sufficient_othmaint-1.165773e-05
drive_transit_ASC_auto_sufficient_school2.119160e-05
drive_transit_ASC_auto_sufficient_shopping-1.340120e-07
drive_transit_ASC_auto_sufficient_social-8.214597e-06
drive_transit_ASC_auto_sufficient_univ0.000000e+00
drive_transit_ASC_auto_sufficient_work-4.622149e-05
drive_transit_ASC_no_auto_all0.000000e+00
drive_transit_CBD_ASC_atwork0.000000e+00
drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social-4.684988e-06
drive_transit_CBD_ASC_school_univ-3.805396e-05
drive_transit_CBD_ASC_work-6.488983e-05
express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-1.885124e-05
express_bus_ASC_school_univ5.641507e-06
express_bus_ASC_work-9.987402e-07
heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-1.544009e-05
heavy_rail_ASC_school_univ-4.234502e-05
heavy_rail_ASC_work-2.393953e-04
joint_bike_ASC_auto_deficient_all-6.478420e-06
joint_bike_ASC_auto_sufficient_all-4.580153e-05
joint_bike_ASC_no_auto_all7.966080e-06
joint_drive_transit_ASC_auto_deficient_all-6.199588e-06
joint_drive_transit_ASC_auto_sufficient_all4.372034e-06
joint_drive_transit_ASC_no_auto_all0.000000e+00
joint_sr2_ASC_auto_deficient_all0.000000e+00
joint_sr2_ASC_auto_sufficient_all0.000000e+00
joint_sr2_ASC_no_auto_all0.000000e+00
joint_sr3p_ASC_auto_deficient_all-1.008236e-05
joint_sr3p_ASC_auto_sufficient_all2.534002e-05
joint_sr3p_ASC_no_auto_all5.235127e-06
joint_taxi_ASC_auto_deficient_all-1.164850e-07
joint_taxi_ASC_auto_sufficient_all0.000000e+00
joint_taxi_ASC_no_auto_all-3.151328e-07
joint_tnc_shared_ASC_auto_deficient_all-2.107226e-08
joint_tnc_shared_ASC_auto_sufficient_all0.000000e+00
joint_tnc_shared_ASC_no_auto_all-1.881990e-05
joint_tnc_single_ASC_auto_deficient_all-1.783185e-07
joint_tnc_single_ASC_auto_sufficient_all0.000000e+00
joint_tnc_single_ASC_no_auto_all3.023204e-05
joint_walk_ASC_auto_deficient_all-3.050589e-05
joint_walk_ASC_auto_sufficient_all-1.286366e-05
joint_walk_ASC_no_auto_all-1.617279e-05
joint_walk_transit_ASC_auto_deficient_all-6.415354e-06
joint_walk_transit_ASC_auto_sufficient_all-2.728968e-11
joint_walk_transit_ASC_no_auto_all-5.541879e-06
local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork1.259957e-04
local_bus_ASC_school_univ-5.596945e-05
local_bus_ASC_work1.016212e-04
sr2_ASC_auto_deficient_atwork2.242653e-05
sr2_ASC_auto_deficient_eatout9.816584e-07
sr2_ASC_auto_deficient_escort5.813310e-06
sr2_ASC_auto_deficient_othdiscr-1.246664e-05
sr2_ASC_auto_deficient_othmaint-1.373838e-05
sr2_ASC_auto_deficient_school2.466906e-05
sr2_ASC_auto_deficient_shopping1.962366e-05
sr2_ASC_auto_deficient_social-1.133811e-05
sr2_ASC_auto_deficient_univ0.000000e+00
sr2_ASC_auto_deficient_work3.366868e-05
sr2_ASC_auto_sufficient_atwork-3.856744e-05
sr2_ASC_auto_sufficient_eatout-6.401070e-06
sr2_ASC_auto_sufficient_escort3.483448e-05
sr2_ASC_auto_sufficient_othdiscr-1.727323e-04
sr2_ASC_auto_sufficient_othmaint8.908591e-05
sr2_ASC_auto_sufficient_school-7.725139e-05
sr2_ASC_auto_sufficient_shopping-5.510640e-05
sr2_ASC_auto_sufficient_social3.858880e-05
sr2_ASC_auto_sufficient_univ0.000000e+00
sr2_ASC_auto_sufficient_work1.019533e-04
sr2_ASC_no_auto_all1.418570e-05
sr3p_ASC_auto_deficient_atwork-4.858277e-05
sr3p_ASC_auto_deficient_eatout-6.183223e-06
sr3p_ASC_auto_deficient_escort-2.721905e-05
sr3p_ASC_auto_deficient_othdiscr6.869172e-06
sr3p_ASC_auto_deficient_othmaint-1.584337e-05
sr3p_ASC_auto_deficient_school-6.263611e-05
sr3p_ASC_auto_deficient_shopping1.021365e-05
sr3p_ASC_auto_deficient_social-2.315194e-05
sr3p_ASC_auto_deficient_univ0.000000e+00
sr3p_ASC_auto_deficient_work-3.019121e-05
sr3p_ASC_auto_sufficient_atwork1.375365e-04
sr3p_ASC_auto_sufficient_eatout4.993787e-05
sr3p_ASC_auto_sufficient_escort-6.984512e-05
sr3p_ASC_auto_sufficient_othdiscr1.181772e-04
sr3p_ASC_auto_sufficient_othmaint-4.887767e-06
sr3p_ASC_auto_sufficient_school-6.574727e-05
sr3p_ASC_auto_sufficient_shopping2.914554e-05
sr3p_ASC_auto_sufficient_social-1.779069e-05
sr3p_ASC_auto_sufficient_univ0.000000e+00
sr3p_ASC_auto_sufficient_work1.751686e-04
sr3p_ASC_no_auto_atwork1.470191e-05
sr3p_ASC_no_auto_eatout-6.560895e-06
sr3p_ASC_no_auto_escort-1.740187e-06
sr3p_ASC_no_auto_othdiscr2.448092e-05
sr3p_ASC_no_auto_othmaint3.640557e-05
sr3p_ASC_no_auto_school-2.101477e-09
sr3p_ASC_no_auto_shopping-2.347155e-05
sr3p_ASC_no_auto_social2.268209e-05
sr3p_ASC_no_auto_univ0.000000e+00
sr3p_ASC_no_auto_work-3.225057e-06
taxi_ASC_auto_deficient_atwork-3.207089e-06
taxi_ASC_auto_deficient_eatout_othdiscr_social-1.003595e-05
taxi_ASC_auto_deficient_escort_othmaint_shopping-4.396800e-05
taxi_ASC_auto_deficient_school-6.716802e-05
taxi_ASC_auto_deficient_univ0.000000e+00
taxi_ASC_auto_deficient_work6.370923e-05
taxi_ASC_auto_sufficient_atwork-2.581602e-05
taxi_ASC_auto_sufficient_eatout_othdiscr_social-1.609204e-05
taxi_ASC_auto_sufficient_escort_othmaint_shopping-4.463775e-05
taxi_ASC_auto_sufficient_school7.337408e-05
taxi_ASC_auto_sufficient_univ0.000000e+00
taxi_ASC_auto_sufficient_work-1.088371e-05
taxi_ASC_no_auto_atwork-5.568698e-06
taxi_ASC_no_auto_eatout_othdiscr_social-1.507503e-05
taxi_ASC_no_auto_escort_othmaint_shopping-1.285605e-05
taxi_ASC_no_auto_school_univ0.000000e+00
taxi_ASC_no_auto_work-2.252879e-05
tnc_shared_ASC_auto_deficient_atwork-2.735320e-06
tnc_shared_ASC_auto_deficient_eatout_othdiscr_social-5.208046e-06
tnc_shared_ASC_auto_deficient_escort_othmaint_shopping3.069321e-05
tnc_shared_ASC_auto_deficient_school-2.482342e-06
tnc_shared_ASC_auto_deficient_univ0.000000e+00
tnc_shared_ASC_auto_deficient_work4.927749e-05
tnc_shared_ASC_auto_sufficient_atwork2.170406e-05
tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social4.251537e-07
tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping-8.095789e-05
tnc_shared_ASC_auto_sufficient_school4.297536e-05
tnc_shared_ASC_auto_sufficient_univ0.000000e+00
tnc_shared_ASC_auto_sufficient_work-1.468224e-05
tnc_shared_ASC_no_auto_atwork-3.685009e-06
tnc_shared_ASC_no_auto_eatout_othdiscr_social7.877989e-06
tnc_shared_ASC_no_auto_escort_othmaint_shopping-2.133709e-05
tnc_shared_ASC_no_auto_school0.000000e+00
tnc_shared_ASC_no_auto_univ0.000000e+00
tnc_shared_ASC_no_auto_work-3.255816e-05
tnc_single_ASC_auto_deficient_atwork8.668008e-06
tnc_single_ASC_auto_deficient_eatout_othdiscr_social-7.786070e-06
tnc_single_ASC_auto_deficient_escort_othmaint_shopping2.560665e-05
tnc_single_ASC_auto_deficient_school2.126512e-05
tnc_single_ASC_auto_deficient_univ0.000000e+00
tnc_single_ASC_auto_deficient_work-3.968958e-05
tnc_single_ASC_auto_sufficient_atwork6.757099e-06
tnc_single_ASC_auto_sufficient_eatout_othdiscr_social-7.005215e-06
tnc_single_ASC_auto_sufficient_escort_othmaint_shopping6.235628e-05
tnc_single_ASC_auto_sufficient_school-6.476659e-05
tnc_single_ASC_auto_sufficient_univ0.000000e+00
tnc_single_ASC_auto_sufficient_work-2.552890e-05
tnc_single_ASC_no_auto_atwork-3.116310e-06
tnc_single_ASC_no_auto_eatout_othdiscr_social-8.246176e-06
tnc_single_ASC_no_auto_escort_othmaint_shopping1.600543e-05
tnc_single_ASC_no_auto_school0.000000e+00
tnc_single_ASC_no_auto_univ0.000000e+00
tnc_single_ASC_no_auto_work-2.843130e-05
walk_ASC_auto_deficient_atwork-4.614744e-05
walk_ASC_auto_deficient_eatout1.754353e-06
walk_ASC_auto_deficient_escort9.315694e-06
walk_ASC_auto_deficient_othdiscr1.115815e-06
walk_ASC_auto_deficient_othmaint-2.926066e-06
walk_ASC_auto_deficient_school-6.438027e-05
walk_ASC_auto_deficient_shopping9.836758e-07
walk_ASC_auto_deficient_social-6.444093e-07
walk_ASC_auto_deficient_univ0.000000e+00
walk_ASC_auto_deficient_work-4.753886e-05
walk_ASC_auto_sufficient_atwork5.344464e-05
walk_ASC_auto_sufficient_eatout-7.157604e-06
walk_ASC_auto_sufficient_escort3.096175e-05
walk_ASC_auto_sufficient_othdiscr7.158119e-06
walk_ASC_auto_sufficient_othmaint-7.000889e-05
walk_ASC_auto_sufficient_school8.938165e-05
walk_ASC_auto_sufficient_shopping1.825274e-05
walk_ASC_auto_sufficient_social-1.225805e-05
walk_ASC_auto_sufficient_univ0.000000e+00
walk_ASC_auto_sufficient_work-5.362338e-05
walk_ASC_no_auto_atwork1.404674e-05
walk_ASC_no_auto_eatout1.222394e-05
walk_ASC_no_auto_escort-3.679342e-06
walk_ASC_no_auto_othdiscr-4.099975e-06
walk_ASC_no_auto_othmaint8.791900e-06
walk_ASC_no_auto_school1.354323e-05
walk_ASC_no_auto_shopping1.201681e-05
walk_ASC_no_auto_social-7.276813e-07
walk_ASC_no_auto_univ0.000000e+00
walk_ASC_no_auto_work2.237011e-05
walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-2.979812e-05
walk_ferry_ASC_school_univ-2.651148e-05
walk_ferry_ASC_work3.074540e-06
walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-4.863743e-05
walk_light_rail_ASC_school_univ3.875367e-05
walk_light_rail_ASC_work6.563515e-05
walk_transit_ASC_auto_deficient_atwork-3.277936e-05
walk_transit_ASC_auto_deficient_eatout1.319960e-05
walk_transit_ASC_auto_deficient_escort2.472692e-05
walk_transit_ASC_auto_deficient_othdiscr8.774993e-06
walk_transit_ASC_auto_deficient_othmaint6.188356e-06
walk_transit_ASC_auto_deficient_school4.712400e-05
walk_transit_ASC_auto_deficient_shopping-9.940299e-07
walk_transit_ASC_auto_deficient_social-4.814316e-06
walk_transit_ASC_auto_deficient_univ0.000000e+00
walk_transit_ASC_auto_deficient_work-1.266674e-05
walk_transit_ASC_auto_sufficient_atwork-2.830740e-05
walk_transit_ASC_auto_sufficient_eatout6.402883e-06
walk_transit_ASC_auto_sufficient_escort3.886440e-06
walk_transit_ASC_auto_sufficient_othdiscr-9.484552e-06
walk_transit_ASC_auto_sufficient_othmaint-1.943675e-05
walk_transit_ASC_auto_sufficient_school-1.070428e-04
walk_transit_ASC_auto_sufficient_shopping7.724987e-06
walk_transit_ASC_auto_sufficient_social1.237450e-05
walk_transit_ASC_auto_sufficient_univ0.000000e+00
walk_transit_ASC_auto_sufficient_work8.320692e-05
walk_transit_ASC_no_auto_atwork-3.976681e-06
walk_transit_ASC_no_auto_eatout9.223749e-06
walk_transit_ASC_no_auto_escort-2.374518e-06
walk_transit_ASC_no_auto_othdiscr-1.002251e-06
walk_transit_ASC_no_auto_othmaint1.686596e-05
walk_transit_ASC_no_auto_school-8.199455e-05
walk_transit_ASC_no_auto_shopping4.845760e-05
walk_transit_ASC_no_auto_social3.765028e-06
walk_transit_ASC_no_auto_univ0.000000e+00
walk_transit_ASC_no_auto_work4.859807e-05
walk_transit_CBD_ASC_atwork-9.672408e-05
walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social1.949310e-05
walk_transit_CBD_ASC_school_univ1.998101e-05
walk_transit_CBD_ASC_work3.791676e-05
nit200
nfev211
njev200
status9
message'Iteration limit reached'
successFalse
elapsed_time0:01:46.414845
method'slsqp'
n_cases69971
iteration_number200
loglike-76502.09343717809
" + ], + "text/plain": [ + "┣ x: -999 -999.000000\n", + "┃ 1 1.000000\n", + "┃ bike_ASC_auto_deficient_atwork -1.059385\n", + "┃ bike_ASC_auto_deficient_eatout -1.201250\n", + "┃ bike_ASC_auto_deficient_escort -3.880330\n", + "┃ ... \n", + "┃ walk_transit_ASC_no_auto_work 4.631023\n", + "┃ walk_transit_CBD_ASC_atwork 1.184225\n", + "┃ walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social 1.088968\n", + "┃ walk_transit_CBD_ASC_school_univ 0.826484\n", + "┃ walk_transit_CBD_ASC_work 1.146513\n", + "┃ Length: 312, dtype: float64\n", + "┣ logloss: 1.0933400042471608\n", + "┣ d_logloss: -999 0.000000\n", + "┃ 1 0.000000\n", + "┃ bike_ASC_auto_deficient_atwork 0.000018\n", + "┃ bike_ASC_auto_deficient_eatout 0.000005\n", + "┃ bike_ASC_auto_deficient_escort 0.000010\n", + "┃ ... \n", + "┃ walk_transit_ASC_no_auto_work 0.000049\n", + "┃ walk_transit_CBD_ASC_atwork -0.000097\n", + "┃ walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social 0.000019\n", + "┃ walk_transit_CBD_ASC_school_univ 0.000020\n", + "┃ walk_transit_CBD_ASC_work 0.000038\n", + "┃ Length: 312, dtype: float64\n", + "┣ nit: 200\n", + "┣ nfev: 211\n", + "┣ njev: 200\n", + "┣ status: 9\n", + "┣ message: 'Iteration limit reached'\n", + "┣ success: False\n", + "┣ elapsed_time: datetime.timedelta(seconds=106, microseconds=414845)\n", + "┣ method: 'slsqp'\n", + "┣ n_cases: 69971\n", + "┣ iteration_number: 200\n", + "┣ loglike: -76502.09343717809" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "remodel.estimate(maxiter=200)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can easily review the parameter estimates from the original and\n", + "revised models side by side to see what changed." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:27:37.905478Z", + "iopub.status.busy": "2025-06-26T02:27:37.905380Z", + "iopub.status.idle": "2025-06-26T02:27:37.943038Z", + "shell.execute_reply": "2025-06-26T02:27:37.942668Z", + "shell.execute_reply.started": "2025-06-26T02:27:37.905469Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
modelremodel
ValueStd Errt StatSignifNull ValueValueStd Errt StatSignifNull Value
Parameter
-999-999.0.00NA0.0-999.0.00NA0.0
11.000.00NA0.01.000.00NA0.0
bike_ASC_auto_deficient_atwork-1.050.344-3.07**0.0-1.060.340-3.11**0.0
bike_ASC_auto_deficient_eatout-1.460.396-3.69***0.0-1.200.594-2.02*0.0
bike_ASC_auto_deficient_escort-3.980.406-9.79***0.0-3.880.559-6.94***0.0
bike_ASC_auto_deficient_othdiscr-0.9100.203-4.47***0.0-0.5280.418-1.260.0
bike_ASC_auto_deficient_othmaint-2.060.323-6.37***0.0-1.630.448-3.64***0.0
bike_ASC_auto_deficient_school-1.200.964-1.240.0-1.180.997-1.190.0
bike_ASC_auto_deficient_shopping-1.740.218-7.99***0.0-1.300.363-3.59***0.0
bike_ASC_auto_deficient_social0.3610.3251.110.00.5920.5321.110.0
bike_ASC_auto_deficient_univ-0.669NANA0.0-0.6690.00146-458.48***0.0
bike_ASC_auto_deficient_work-0.2790.0926-3.01**0.0-0.3600.0922-3.90***0.0
bike_ASC_auto_sufficient_atwork15.7470.0.030.015.7463.0.030.0
bike_ASC_auto_sufficient_eatout-1.850.159-11.60***0.0-1.300.409-3.17**0.0
bike_ASC_auto_sufficient_escort-5.650.337-16.76***0.0-5.260.453-11.62***0.0
bike_ASC_auto_sufficient_othdiscr-1.860.105-17.64***0.0-1.490.382-3.91***0.0
bike_ASC_auto_sufficient_othmaint-3.170.193-16.40***0.0-2.510.349-7.20***0.0
bike_ASC_auto_sufficient_school-2.210.919-2.40*0.0-2.200.953-2.31*0.0
bike_ASC_auto_sufficient_shopping-3.140.138-22.70***0.0-2.780.326-8.52***0.0
bike_ASC_auto_sufficient_social-2.140.207-10.36***0.0-1.830.471-3.88***0.0
bike_ASC_auto_sufficient_univ-1.940.00657-295.46***0.0-1.940.00650-298.24***0.0
bike_ASC_auto_sufficient_work-1.930.0814-23.72***0.0-2.060.0822-25.06***0.0
bike_ASC_no_auto_atwork-0.91076.5-0.010.0-0.91187.8-0.010.0
bike_ASC_no_auto_eatout0.42875.90.010.00.51087.20.010.0
bike_ASC_no_auto_escort-0.74575.9-0.010.0-0.73087.2-0.010.0
bike_ASC_no_auto_othdiscr-0.50175.9-0.010.0-0.40487.2-0.000.0
bike_ASC_no_auto_othmaint1.5375.90.020.01.6187.20.020.0
bike_ASC_no_auto_school13.5109.0.120.013.4116.0.120.0
bike_ASC_no_auto_shopping0.95175.90.010.01.0587.20.010.0
bike_ASC_no_auto_social0.37475.90.000.00.48687.20.010.0
bike_ASC_no_auto_univ4.290.00148BIG***0.04.290.00688624.05***0.0
bike_ASC_no_auto_work3.4375.90.050.03.4387.20.040.0
coef_age010_trn_multiplier_atwork0.0007220.007850.090.00.000722NANA0.0
coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work0.4900.1762.79**0.00.3640.1752.08*0.0
coef_age010_trn_multiplier_school_univ-0.8510.0900-9.46***0.0-0.8750.0898-9.74***0.0
coef_age1619_da_multiplier_atwork-0.1750.205-0.850.0-0.1930.205-0.940.0
coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work0.03570.04250.840.00.0005130.04240.010.0
coef_age1619_da_multiplier_school_univ-1.670.0748-22.31***0.0-1.680.0748-22.42***0.0
coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social-1.580.0842-18.71***0.0-1.450.0814-17.82***0.0
coef_age16p_sr_multiplier_school_univ_work_atwork-0.6880.0682-10.08***0.0-0.6480.0683-9.49***0.0
coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork-0.07210.0312-2.31*0.0-0.07100.0312-2.27*0.0
coef_hhsize1_sr_multiplier_work-0.8220.0571-14.39***0.0-0.8360.0577-14.48***0.0
coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork-0.004040.0178-0.230.00.002090.01780.120.0
coef_hhsize2_sr_multiplier_school_univ-0.7430.0912-8.15***0.0-0.7480.0912-8.20***0.0
coef_ivt_atwork-0.01120.000479-23.41***0.0-0.01120.000478-23.41***0.0
coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social-0.006910.000145-47.76***0.0-0.006880.000144-47.65***0.0
coef_ivt_school_univ-0.01030.000316-32.62***0.0-0.01040.000318-32.71***0.0
coef_ivt_work-0.007910.000147-53.62***0.0-0.007950.000148-53.70***0.0
coef_nest_AUTO0.7200.00NA1.00.7200.00NA1.0
coef_nest_AUTO_DRIVEALONE0.3500.00NA1.00.3500.00NA1.0
coef_nest_AUTO_SHAREDRIDE20.3500.00NA1.00.3500.00NA1.0
coef_nest_AUTO_SHAREDRIDE30.3500.00NA1.00.3500.00NA1.0
coef_nest_NONMOTORIZED0.7200.00NA1.00.7200.00NA1.0
coef_nest_RIDEHAIL0.3600.00NA1.00.3600.00NA1.0
coef_nest_TRANSIT0.7200.00NA1.00.7200.00NA1.0
coef_nest_TRANSIT_DRIVEACCESS0.5000.00NA1.00.5000.00NA1.0
coef_nest_TRANSIT_WALKACCESS0.5000.00NA1.00.5000.00NA1.0
coef_test_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork0.07700.04941.560.00.0770NANA0.0
coef_test_school_univ0.5180.9130.570.00.518NANA0.0
commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.95816.4-0.060.0-0.74420.6-0.040.0
commuter_rail_ASC_school_univ-0.258NANA0.0-0.247NANA0.0
commuter_rail_ASC_work0.196278.0.000.00.158NANA0.0
drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.62816.4-0.040.0-0.39320.6-0.020.0
drive_ferry_ASC_school_univ1.43NANA0.01.45NANA0.0
drive_ferry_ASC_work0.232278.0.000.00.194NANA0.0
drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.32516.4-0.020.0-0.091920.6-0.000.0
drive_light_rail_ASC_school_univ0.691NANA0.00.707NANA0.0
drive_light_rail_ASC_work0.530278.0.000.00.507NANA0.0
drive_transit_ASC_auto_deficient_atwork-999.0.000360-BIG***0.0-999.0.000231-BIG***0.0
drive_transit_ASC_auto_deficient_eatout-0.17316.4-0.010.00.10520.60.010.0
drive_transit_ASC_auto_deficient_escort-2.1916.4-0.130.0-2.1420.6-0.100.0
drive_transit_ASC_auto_deficient_othdiscr-0.85216.4-0.050.0-0.72620.6-0.040.0
drive_transit_ASC_auto_deficient_othmaint-1.3616.4-0.080.0-1.1720.6-0.060.0
drive_transit_ASC_auto_deficient_school1.59NANA0.01.57NANA0.0
drive_transit_ASC_auto_deficient_shopping-1.5816.4-0.100.0-1.4320.6-0.070.0
drive_transit_ASC_auto_deficient_social0.61016.40.040.00.59420.60.030.0
drive_transit_ASC_auto_deficient_univ1.85NANA0.01.85NANA0.0
drive_transit_ASC_auto_deficient_work-0.824278.-0.000.0-0.911NANA0.0
drive_transit_ASC_auto_sufficient_atwork-999.0.000176-BIG***0.0-999.NANA0.0
drive_transit_ASC_auto_sufficient_eatout-1.6516.4-0.100.0-1.3020.6-0.060.0
drive_transit_ASC_auto_sufficient_escort-5.3116.4-0.320.0-5.2520.6-0.260.0
drive_transit_ASC_auto_sufficient_othdiscr-1.2416.4-0.080.0-1.1120.6-0.050.0
drive_transit_ASC_auto_sufficient_othmaint-2.8016.4-0.170.0-2.4420.6-0.120.0
drive_transit_ASC_auto_sufficient_school0.105NANA0.00.155NANA0.0
drive_transit_ASC_auto_sufficient_shopping-4.1616.4-0.250.0-3.9720.6-0.190.0
drive_transit_ASC_auto_sufficient_social-1.3716.4-0.080.0-1.3420.6-0.070.0
drive_transit_ASC_auto_sufficient_univ1.36NANA0.01.360.000291BIG***0.0
drive_transit_ASC_auto_sufficient_work-1.73278.-0.010.0-1.83NANA0.0
drive_transit_ASC_no_auto_all0.00NANA0.00.000.0002930.000.0
drive_transit_CBD_ASC_atwork0.564NANA0.00.564NANA0.0
drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social1.370.1429.63***0.01.410.1429.95***0.0
drive_transit_CBD_ASC_school_univ1.230.2514.89***0.01.200.2534.76***0.0
drive_transit_CBD_ASC_work1.640.069823.45***0.01.620.069723.19***0.0
express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.34216.4-0.020.0-0.088820.6-0.000.0
express_bus_ASC_school_univ-0.451NANA0.0-0.450NANA0.0
express_bus_ASC_work-0.881278.-0.000.0-0.920NANA0.0
heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.20716.4-0.010.00.040120.60.000.0
heavy_rail_ASC_school_univ0.110NANA0.00.127NANA0.0
heavy_rail_ASC_work0.513278.0.000.00.496NANA0.0
joint_bike_ASC_auto_deficient_all-6.181.34-4.62***0.0-6.161.42-4.35***0.0
joint_bike_ASC_auto_sufficient_all-7.100.465-15.28***0.0-6.950.465-14.96***0.0
joint_bike_ASC_no_auto_all-2.671.08-2.48*0.0-2.671.14-2.35*0.0
joint_drive_transit_ASC_auto_deficient_all-6.0416.4-0.370.0-6.0420.6-0.290.0
joint_drive_transit_ASC_auto_sufficient_all-7.7916.4-0.480.0-7.8020.6-0.380.0
joint_drive_transit_ASC_no_auto_all0.000.00NA0.00.000.00NA0.0
joint_sr2_ASC_auto_deficient_all0.000.00NA0.00.000.00NA0.0
joint_sr2_ASC_auto_sufficient_all0.000.00NA0.00.000.00NA0.0
joint_sr2_ASC_no_auto_all0.000.00NA0.00.000.00NA0.0
joint_sr3p_ASC_auto_deficient_all-1.490.258-5.77***0.0-1.510.260-5.80***0.0
joint_sr3p_ASC_auto_sufficient_all-2.290.133-17.17***0.0-2.270.131-17.25***0.0
joint_sr3p_ASC_no_auto_all0.6990.4701.490.00.6800.4711.440.0
joint_taxi_ASC_auto_deficient_all-9.828.15-1.210.0-9.828.64-1.140.0
joint_taxi_ASC_auto_sufficient_all-11.70.00NA0.0-11.70.00NA0.0
joint_taxi_ASC_no_auto_all-4.584.29-1.070.0-4.584.45-1.030.0
joint_tnc_shared_ASC_auto_deficient_all-11.217.0-0.660.0-11.218.0-0.620.0
joint_tnc_shared_ASC_auto_sufficient_all-13.20.00NA0.0-13.20.00NA0.0
joint_tnc_shared_ASC_no_auto_all-4.722.18-2.17*0.0-4.702.31-2.03*0.0
joint_tnc_single_ASC_auto_deficient_all-9.907.20-1.380.0-9.907.63-1.300.0
joint_tnc_single_ASC_auto_sufficient_all-14.00.00NA0.0-14.00.00NA0.0
joint_tnc_single_ASC_no_auto_all-3.862.05-1.880.0-3.892.20-1.770.0
joint_walk_ASC_auto_deficient_all-2.220.376-5.89***0.0-2.050.372-5.51***0.0
joint_walk_ASC_auto_sufficient_all-4.340.245-17.76***0.0-4.150.240-17.32***0.0
joint_walk_ASC_no_auto_all-0.3670.727-0.510.0-0.2940.735-0.400.0
joint_walk_transit_ASC_auto_deficient_all-5.3016.4-0.320.0-5.3020.6-0.260.0
joint_walk_transit_ASC_auto_sufficient_all-18.3655.-0.030.0-18.3620.-0.030.0
joint_walk_transit_ASC_no_auto_all0.38616.40.020.00.35120.60.020.0
local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-1.1816.4-0.070.0-0.94320.6-0.050.0
local_bus_ASC_school_univ-0.819NANA0.0-0.811NANA0.0
local_bus_ASC_work-0.179278.-0.000.0-0.211NANA0.0
sr2_ASC_auto_deficient_atwork-1.490.132-11.34***0.0-1.570.133-11.82***0.0
sr2_ASC_auto_deficient_eatout0.8740.1555.64***0.01.320.4073.25**0.0
sr2_ASC_auto_deficient_escort0.2540.1601.580.00.5600.3311.690.0
sr2_ASC_auto_deficient_othdiscr1.060.1318.13***0.01.320.3893.39***0.0
sr2_ASC_auto_deficient_othmaint0.5840.1454.02***0.01.030.3273.14**0.0
sr2_ASC_auto_deficient_school0.5180.9280.560.00.5220.9610.540.0
sr2_ASC_auto_deficient_shopping0.5220.1274.09***0.00.8010.3192.51*0.0
sr2_ASC_auto_deficient_social2.300.21510.70***0.02.420.4735.12***0.0
sr2_ASC_auto_deficient_univ-1.69NANA0.0-1.690.000112-BIG***0.0
sr2_ASC_auto_deficient_work0.4240.08924.76***0.00.2480.09002.76**0.0
sr2_ASC_auto_sufficient_atwork-0.7720.0784-9.85***0.0-0.8100.0784-10.34***0.0
sr2_ASC_auto_sufficient_eatout1.170.10511.19***0.01.630.3904.18***0.0
sr2_ASC_auto_sufficient_escort0.4270.1293.31***0.00.7540.3172.38*0.0
sr2_ASC_auto_sufficient_othdiscr0.8300.1018.23***0.01.090.3802.87**0.0
sr2_ASC_auto_sufficient_othmaint0.6420.1036.24***0.01.090.3123.51***0.0
sr2_ASC_auto_sufficient_school-0.7200.916-0.790.0-0.7200.950-0.760.0
sr2_ASC_auto_sufficient_shopping0.5180.1005.16***0.00.8060.3102.60**0.0
sr2_ASC_auto_sufficient_social0.8670.1107.88***0.01.070.4382.43*0.0
sr2_ASC_auto_sufficient_univ-1.86NANA0.0-1.866.12e-05-BIG***0.0
sr2_ASC_auto_sufficient_work-0.2950.0860-3.43***0.0-0.4780.0868-5.50***0.0
sr2_ASC_no_auto_all1.2275.90.020.01.1787.20.010.0
sr3p_ASC_auto_deficient_atwork-1.810.136-13.30***0.0-1.880.137-13.71***0.0
sr3p_ASC_auto_deficient_eatout0.1840.1870.980.00.6380.4201.520.0
sr3p_ASC_auto_deficient_escort0.03000.1630.180.00.3360.3321.010.0
sr3p_ASC_auto_deficient_othdiscr1.420.12411.40***0.01.670.3874.32***0.0
sr3p_ASC_auto_deficient_othmaint-0.6070.223-2.71**0.0-0.2020.371-0.550.0
sr3p_ASC_auto_deficient_school1.100.9271.180.01.090.9611.140.0
sr3p_ASC_auto_deficient_shopping0.1800.1381.310.00.4570.3241.410.0
sr3p_ASC_auto_deficient_social2.040.2239.16***0.02.160.4764.52***0.0
sr3p_ASC_auto_deficient_univ-1.731.83e-05-BIG***0.0-1.73NANA0.0
sr3p_ASC_auto_deficient_work-0.1270.0922-1.380.0-0.2890.0929-3.11**0.0
sr3p_ASC_auto_sufficient_atwork-0.9540.0797-11.97***0.0-1.000.0798-12.59***0.0
sr3p_ASC_auto_sufficient_eatout1.130.10510.73***0.01.580.3904.04***0.0
sr3p_ASC_auto_sufficient_escort0.4000.1293.10**0.00.7290.3172.30*0.0
sr3p_ASC_auto_sufficient_othdiscr0.9290.1019.25***0.01.180.3803.12**0.0
sr3p_ASC_auto_sufficient_othmaint0.2570.1052.44*0.00.7260.3132.32*0.0
sr3p_ASC_auto_sufficient_school-0.1510.916-0.160.0-0.1510.950-0.160.0
sr3p_ASC_auto_sufficient_shopping0.2750.1012.72**0.00.5610.3101.810.0
sr3p_ASC_auto_sufficient_social0.8700.1107.91***0.01.070.4382.45*0.0
sr3p_ASC_auto_sufficient_univ-1.902.57e-05-BIG***0.0-1.901.95e-05-BIG***0.0
sr3p_ASC_auto_sufficient_work-0.6620.0868-7.63***0.0-0.8490.0876-9.68***0.0
sr3p_ASC_no_auto_atwork1.4975.90.020.01.6787.20.020.0
sr3p_ASC_no_auto_eatout1.6275.90.020.01.5387.20.020.0
sr3p_ASC_no_auto_escort-1.8775.9-0.020.0-1.8787.3-0.020.0
sr3p_ASC_no_auto_othdiscr1.4375.90.020.01.4087.20.020.0
sr3p_ASC_no_auto_othmaint0.29675.90.000.00.19587.20.000.0
sr3p_ASC_no_auto_school-6.02105.-0.060.0-6.02112.-0.050.0
sr3p_ASC_no_auto_shopping0.88175.90.010.00.84787.20.010.0
sr3p_ASC_no_auto_social-1.1775.9-0.020.0-1.2187.2-0.010.0
sr3p_ASC_no_auto_univ-6.061.79e-05-BIG***0.0-6.065.30e-05-BIG***0.0
sr3p_ASC_no_auto_work0.61475.90.010.00.52387.20.010.0
taxi_ASC_auto_deficient_atwork-4.590.435-10.57***0.0-4.750.459-10.34***0.0
taxi_ASC_auto_deficient_eatout_othdiscr_social-3.260.483-6.76***0.0-3.160.647-4.89***0.0
taxi_ASC_auto_deficient_escort_othmaint_shopping-0.9300.118-7.89***0.0-0.5030.313-1.600.0
taxi_ASC_auto_deficient_school0.8400.9350.900.00.8990.9680.930.0
taxi_ASC_auto_deficient_univ4.251.62e-05BIG***0.04.254.12e-06BIG***0.0
taxi_ASC_auto_deficient_work-2.040.205-9.95***0.0-2.300.226-10.19***0.0
taxi_ASC_auto_sufficient_atwork-3.340.150-22.22***0.0-3.310.148-22.34***0.0
taxi_ASC_auto_sufficient_eatout_othdiscr_social-3.930.246-15.96***0.0-3.470.416-8.35***0.0
taxi_ASC_auto_sufficient_escort_othmaint_shopping-2.780.0965-28.85***0.0-2.330.306-7.60***0.0
taxi_ASC_auto_sufficient_school-2.260.922-2.45*0.0-2.230.956-2.33*0.0
taxi_ASC_auto_sufficient_univ-0.313NANA0.0-0.313NANA0.0
taxi_ASC_auto_sufficient_work-4.850.303-16.01***0.0-5.140.361-14.22***0.0
taxi_ASC_no_auto_atwork3.6575.90.050.03.6387.20.040.0
taxi_ASC_no_auto_eatout_othdiscr_social-0.57175.9-0.010.0-0.46087.2-0.010.0
taxi_ASC_no_auto_escort_othmaint_shopping1.4575.90.020.01.5487.20.020.0
taxi_ASC_no_auto_school_univ-7.000.00NA0.0-7.000.00NA0.0
taxi_ASC_no_auto_work3.9475.90.050.03.8987.20.040.0
tnc_shared_ASC_auto_deficient_atwork-5.170.414-12.49***0.0-5.210.410-12.71***0.0
tnc_shared_ASC_auto_deficient_eatout_othdiscr_social-4.460.900-4.95***0.0-4.431.17-3.78***0.0
tnc_shared_ASC_auto_deficient_escort_othmaint_shopping-1.240.109-11.36***0.0-0.7960.310-2.57*0.0
tnc_shared_ASC_auto_deficient_school0.2830.9330.300.00.3120.9660.320.0
tnc_shared_ASC_auto_deficient_univ3.251.25e-05BIG***0.03.25NANA0.0
tnc_shared_ASC_auto_deficient_work-3.400.214-15.89***0.0-3.730.231-16.16***0.0
tnc_shared_ASC_auto_sufficient_atwork-4.080.166-24.64***0.0-4.090.167-24.51***0.0
tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social-4.320.199-21.67***0.0-3.880.393-9.86***0.0
tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping-3.290.0920-35.76***0.0-2.830.305-9.30***0.0
tnc_shared_ASC_auto_sufficient_school-3.620.927-3.91***0.0-3.620.961-3.77***0.0
tnc_shared_ASC_auto_sufficient_univ-0.907NANA0.0-0.907NANA0.0
tnc_shared_ASC_auto_sufficient_work-6.480.411-15.77***0.0-6.740.419-16.11***0.0
tnc_shared_ASC_no_auto_atwork3.0675.90.040.03.0487.20.030.0
tnc_shared_ASC_no_auto_eatout_othdiscr_social-0.080375.9-0.000.0-0.00052987.2-0.000.0
tnc_shared_ASC_no_auto_escort_othmaint_shopping0.68575.90.010.00.77687.20.010.0
tnc_shared_ASC_no_auto_school-7.000.00NA0.0-7.000.00NA0.0
tnc_shared_ASC_no_auto_univ-5.81NANA0.0-5.81NANA0.0
tnc_shared_ASC_no_auto_work2.2375.90.030.02.2187.20.030.0
tnc_single_ASC_auto_deficient_atwork-4.240.319-13.29***0.0-4.360.331-13.19***0.0
tnc_single_ASC_auto_deficient_eatout_othdiscr_social-3.270.436-7.50***0.0-3.120.599-5.21***0.0
tnc_single_ASC_auto_deficient_escort_othmaint_shopping-0.3400.102-3.34***0.00.09280.3080.300.0
tnc_single_ASC_auto_deficient_school-0.01370.943-0.010.00.05970.9750.060.0
tnc_single_ASC_auto_deficient_univ1.02NANA0.01.022.45e-06BIG***0.0
tnc_single_ASC_auto_deficient_work-1.300.115-11.28***0.0-1.470.118-12.49***0.0
tnc_single_ASC_auto_sufficient_atwork-3.140.126-25.00***0.0-3.140.125-25.04***0.0
tnc_single_ASC_auto_sufficient_eatout_othdiscr_social-3.260.149-21.84***0.0-2.830.371-7.62***0.0
tnc_single_ASC_auto_sufficient_escort_othmaint_shopping-2.200.0833-26.43***0.0-1.760.302-5.81***0.0
tnc_single_ASC_auto_sufficient_school-2.070.920-2.25*0.0-2.020.953-2.12*0.0
tnc_single_ASC_auto_sufficient_univ0.2095.09e-06BIG***0.00.2092.79e-06BIG***0.0
tnc_single_ASC_auto_sufficient_work-4.240.182-23.29***0.0-4.330.179-24.13***0.0
tnc_single_ASC_no_auto_atwork4.2675.90.060.04.2487.20.050.0
tnc_single_ASC_no_auto_eatout_othdiscr_social0.98275.90.010.01.0687.20.010.0
tnc_single_ASC_no_auto_escort_othmaint_shopping1.6075.90.020.01.7087.20.020.0
tnc_single_ASC_no_auto_school-7.000.00NA0.0-7.000.00NA0.0
tnc_single_ASC_no_auto_univ-2.52NANA0.0-2.525.36e-06-BIG***0.0
tnc_single_ASC_no_auto_work5.3175.90.070.05.3187.20.060.0
walk_ASC_auto_deficient_atwork0.2270.1231.840.00.1750.1241.410.0
walk_ASC_auto_deficient_eatout2.170.19810.96***0.02.700.4256.37***0.0
walk_ASC_auto_deficient_escort-1.980.265-7.46***0.0-1.600.396-4.04***0.0
walk_ASC_auto_deficient_othdiscr1.210.1547.86***0.01.570.3983.94***0.0
walk_ASC_auto_deficient_othmaint0.1450.2080.700.00.6430.3601.790.0
walk_ASC_auto_deficient_school2.610.9312.81**0.02.650.9642.75**0.0
walk_ASC_auto_deficient_shopping0.9090.1376.63***0.01.310.3234.06***0.0
walk_ASC_auto_deficient_social2.260.2997.56***0.02.480.5164.82***0.0
walk_ASC_auto_deficient_univ4.511.92e-06BIG***0.04.51NANA0.0
walk_ASC_auto_deficient_work1.700.095517.84***0.01.590.096216.52***0.0
walk_ASC_auto_sufficient_atwork0.07760.05801.340.00.07860.05791.360.0
walk_ASC_auto_sufficient_eatout0.6130.1065.78***0.01.190.3913.04**0.0
walk_ASC_auto_sufficient_escort-1.740.117-14.88***0.0-1.320.313-4.20***0.0
walk_ASC_auto_sufficient_othdiscr0.3050.08293.68***0.00.6610.3761.760.0
walk_ASC_auto_sufficient_othmaint-0.1680.0955-1.760.00.4390.3101.420.0
walk_ASC_auto_sufficient_school0.3740.9170.410.00.3830.9510.400.0
walk_ASC_auto_sufficient_shopping-0.3040.0811-3.75***0.00.08180.3050.270.0
walk_ASC_auto_sufficient_social0.5920.1175.04***0.00.9110.4392.08*0.0
walk_ASC_auto_sufficient_univ1.06NANA0.01.061.94e-07BIG***0.0
walk_ASC_auto_sufficient_work-0.2910.0787-3.70***0.0-0.4170.0795-5.25***0.0
walk_ASC_no_auto_atwork6.6375.90.090.06.6187.20.080.0
walk_ASC_no_auto_eatout4.4175.90.060.04.5287.20.050.0
walk_ASC_no_auto_escort2.5175.90.030.02.5687.20.030.0
walk_ASC_no_auto_othdiscr2.8975.90.040.02.9687.20.030.0
walk_ASC_no_auto_othmaint0.93075.90.010.01.0687.20.010.0
walk_ASC_no_auto_school17.8109.0.160.017.8116.0.150.0
walk_ASC_no_auto_shopping2.1775.90.030.02.2687.20.030.0
walk_ASC_no_auto_social1.7475.90.020.01.8487.20.020.0
walk_ASC_no_auto_univ6.41NANA0.06.413.50e-09BIG***0.0
walk_ASC_no_auto_work5.2875.90.070.05.2887.20.060.0
walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.23916.4-0.010.0-0.034720.6-0.000.0
walk_ferry_ASC_school_univ0.858NANA0.00.903NANA0.0
walk_ferry_ASC_work0.189278.0.000.00.0751NANA0.0
walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork-0.13616.4-0.010.00.11520.60.010.0
walk_light_rail_ASC_school_univ0.724NANA0.00.721NANA0.0
walk_light_rail_ASC_work0.786278.0.000.00.730NANA0.0
walk_transit_ASC_auto_deficient_atwork-2.6316.4-0.160.0-2.8420.6-0.140.0
walk_transit_ASC_auto_deficient_eatout-0.48916.4-0.030.0-0.20520.6-0.010.0
walk_transit_ASC_auto_deficient_escort-4.4516.4-0.270.0-4.4620.6-0.220.0
walk_transit_ASC_auto_deficient_othdiscr0.87316.40.050.00.99720.60.050.0
walk_transit_ASC_auto_deficient_othmaint-2.9716.4-0.180.0-2.9120.6-0.140.0
walk_transit_ASC_auto_deficient_school2.97NANA0.03.00NANA0.0
walk_transit_ASC_auto_deficient_shopping-1.0716.4-0.070.0-0.89920.6-0.040.0
walk_transit_ASC_auto_deficient_social1.3216.40.080.01.3220.60.060.0
walk_transit_ASC_auto_deficient_univ3.140.00NA0.03.140.00NA0.0
walk_transit_ASC_auto_deficient_work0.159278.0.000.00.0663NANA0.0
walk_transit_ASC_auto_sufficient_atwork-3.6616.4-0.220.0-3.7620.6-0.180.0
walk_transit_ASC_auto_sufficient_eatout-1.3216.4-0.080.0-0.98520.6-0.050.0
walk_transit_ASC_auto_sufficient_escort-4.8216.4-0.290.0-4.6820.6-0.230.0
walk_transit_ASC_auto_sufficient_othdiscr-0.91416.4-0.060.0-0.77120.6-0.040.0
walk_transit_ASC_auto_sufficient_othmaint-1.6816.4-0.100.0-1.3120.6-0.060.0
walk_transit_ASC_auto_sufficient_school0.487NANA0.00.522NANA0.0
walk_transit_ASC_auto_sufficient_shopping-2.3516.4-0.140.0-2.2020.6-0.110.0
walk_transit_ASC_auto_sufficient_social-0.64716.4-0.040.0-0.59520.6-0.030.0
walk_transit_ASC_auto_sufficient_univ0.4730.00NA0.00.4730.00NA0.0
walk_transit_ASC_auto_sufficient_work-1.37278.-0.000.0-1.47NANA0.0
walk_transit_ASC_no_auto_atwork3.1366.90.050.02.9873.60.040.0
walk_transit_ASC_no_auto_eatout2.9266.90.040.02.7673.60.040.0
walk_transit_ASC_no_auto_escort-2.2667.0-0.030.0-2.2673.7-0.030.0
walk_transit_ASC_no_auto_othdiscr2.8066.90.040.02.6473.60.040.0
walk_transit_ASC_no_auto_othmaint2.5966.90.040.02.4373.60.030.0
walk_transit_ASC_no_auto_school20.4NANA0.020.5NANA0.0
walk_transit_ASC_no_auto_shopping2.3366.90.030.02.1873.60.030.0
walk_transit_ASC_no_auto_social2.0666.90.030.01.9073.60.030.0
walk_transit_ASC_no_auto_univ8.790.00NA0.08.790.00NA0.0
walk_transit_ASC_no_auto_work4.60285.0.020.04.63NANA0.0
walk_transit_CBD_ASC_atwork1.300.2844.57***0.01.180.2774.28***0.0
walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social1.080.075714.25***0.01.090.075614.41***0.0
walk_transit_CBD_ASC_school_univ0.8340.1147.30***0.00.8260.1147.24***0.0
walk_transit_CBD_ASC_work1.160.053921.50***0.01.150.053921.27***0.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: eatout, dtype: object0.3400.1901.780.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: escort, dtype: object0.00NANA0.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: othdiscr, dtype: object0.2310.1851.240.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: othmaint, dtype: object0.3330.1502.22*0.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: shopping, dtype: object0.2450.1491.640.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: social, dtype: object0.1970.2140.920.0
coefficient_name\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\ncoef_test coef_test_eatout_escort_othdiscr_othmaint_shop...\\nName: work, dtype: object-0.03060.0255-1.200.0
coefficient_name\\ncoef_test coef_test_school_univ\\ncoef_test coef_test_school_univ\\nName: school, dtype: object0.2780.4740.590.0
coefficient_name\\ncoef_test coef_test_school_univ\\ncoef_test coef_test_school_univ\\nName: univ, dtype: object0.00NANA0.0
\n", - "

307 rows × 3 columns

\n", "
" ], "text/plain": [ - " coefficient_name value constrain\n", - "0 coef_one 1.000000 T\n", - "1 coef_nest_root 1.000000 T\n", - "2 coef_nest_AUTO 0.720000 T\n", - "3 coef_nest_AUTO_DRIVEALONE 0.350000 T\n", - "4 coef_nest_AUTO_SHAREDRIDE2 0.350000 T\n", - ".. ... ... ...\n", - "302 walk_transit_CBD_ASC_atwork 0.351950 F\n", - "303 drive_transit_CBD_ASC_eatout_escort_othdiscr_o... 0.553404 F\n", - "304 drive_transit_CBD_ASC_school_univ 62.459413 F\n", - "305 drive_transit_CBD_ASC_work 1.432631 F\n", - "306 drive_transit_CBD_ASC_atwork 0.564000 F\n", + " model \\\n", + " Value Std Err \n", + "Parameter \n", + "-999 -999.  0.00 \n", + "1  1.00  0.00 \n", + "bike_ASC_auto_deficient_atwork -1.05  0.344 \n", + "bike_ASC_auto_deficient_eatout -1.46  0.396 \n", + "bike_ASC_auto_deficient_escort -3.98  0.406 \n", + "bike_ASC_auto_deficient_othdiscr -0.910  0.203 \n", + "bike_ASC_auto_deficient_othmaint -2.06  0.323 \n", + "bike_ASC_auto_deficient_school -1.20  0.964 \n", + "bike_ASC_auto_deficient_shopping -1.74  0.218 \n", + "bike_ASC_auto_deficient_social  0.361  0.325 \n", + "bike_ASC_auto_deficient_univ -0.669  NA \n", + "bike_ASC_auto_deficient_work -0.279  0.0926 \n", + "bike_ASC_auto_sufficient_atwork  15.7  470. \n", + "bike_ASC_auto_sufficient_eatout -1.85  0.159 \n", + "bike_ASC_auto_sufficient_escort -5.65  0.337 \n", + "bike_ASC_auto_sufficient_othdiscr -1.86  0.105 \n", + "bike_ASC_auto_sufficient_othmaint -3.17  0.193 \n", + "bike_ASC_auto_sufficient_school -2.21  0.919 \n", + "bike_ASC_auto_sufficient_shopping -3.14  0.138 \n", + "bike_ASC_auto_sufficient_social -2.14  0.207 \n", + "bike_ASC_auto_sufficient_univ -1.94  0.00657 \n", + "bike_ASC_auto_sufficient_work -1.93  0.0814 \n", + "bike_ASC_no_auto_atwork -0.910  76.5 \n", + "bike_ASC_no_auto_eatout  0.428  75.9 \n", + "bike_ASC_no_auto_escort -0.745  75.9 \n", + "bike_ASC_no_auto_othdiscr -0.501  75.9 \n", + "bike_ASC_no_auto_othmaint  1.53  75.9 \n", + "bike_ASC_no_auto_school  13.5  109. \n", + "bike_ASC_no_auto_shopping  0.951  75.9 \n", + "bike_ASC_no_auto_social  0.374  75.9 \n", + "bike_ASC_no_auto_univ  4.29  0.00148 \n", + "bike_ASC_no_auto_work  3.43  75.9 \n", + "coef_age010_trn_multiplier_atwork  0.000722  0.00785 \n", + "coef_age010_trn_multiplier_eatout_escort_othdis...  0.490  0.176 \n", + "coef_age010_trn_multiplier_school_univ -0.851  0.0900 \n", + "coef_age1619_da_multiplier_atwork -0.175  0.205 \n", + "coef_age1619_da_multiplier_eatout_escort_othdis...  0.0357  0.0425 \n", + "coef_age1619_da_multiplier_school_univ -1.67  0.0748 \n", + "coef_age16p_sr_multiplier_eatout_escort_othdisc... -1.58  0.0842 \n", + "coef_age16p_sr_multiplier_school_univ_work_atwork -0.688  0.0682 \n", + "coef_hhsize1_sr_multiplier_eatout_escort_othdis... -0.0721  0.0312 \n", + "coef_hhsize1_sr_multiplier_work -0.822  0.0571 \n", + "coef_hhsize2_sr_multiplier_eatout_escort_othdis... -0.00404  0.0178 \n", + "coef_hhsize2_sr_multiplier_school_univ -0.743  0.0912 \n", + "coef_ivt_atwork -0.0112  0.000479 \n", + "coef_ivt_eatout_escort_othdiscr_othmaint_shoppi... -0.00691  0.000145 \n", + "coef_ivt_school_univ -0.0103  0.000316 \n", + "coef_ivt_work -0.00791  0.000147 \n", + "coef_nest_AUTO  0.720  0.00 \n", + "coef_nest_AUTO_DRIVEALONE  0.350  0.00 \n", + "coef_nest_AUTO_SHAREDRIDE2  0.350  0.00 \n", + "coef_nest_AUTO_SHAREDRIDE3  0.350  0.00 \n", + "coef_nest_NONMOTORIZED  0.720  0.00 \n", + "coef_nest_RIDEHAIL  0.360  0.00 \n", + "coef_nest_TRANSIT  0.720  0.00 \n", + "coef_nest_TRANSIT_DRIVEACCESS  0.500  0.00 \n", + "coef_nest_TRANSIT_WALKACCESS  0.500  0.00 \n", + "coef_test_eatout_escort_othdiscr_othmaint_shopp...  0.0770  0.0494 \n", + "coef_test_school_univ  0.518  0.913 \n", + "commuter_rail_ASC_eatout_escort_othdiscr_othmai... -0.958  16.4 \n", + "commuter_rail_ASC_school_univ -0.258  NA \n", + "commuter_rail_ASC_work  0.196  278. \n", + "drive_ferry_ASC_eatout_escort_othdiscr_othmaint... -0.628  16.4 \n", + "drive_ferry_ASC_school_univ  1.43  NA \n", + "drive_ferry_ASC_work  0.232  278. \n", + "drive_light_rail_ASC_eatout_escort_othdiscr_oth... -0.325  16.4 \n", + "drive_light_rail_ASC_school_univ  0.691  NA \n", + "drive_light_rail_ASC_work  0.530  278. \n", + "drive_transit_ASC_auto_deficient_atwork -999.  0.000360 \n", + "drive_transit_ASC_auto_deficient_eatout -0.173  16.4 \n", + "drive_transit_ASC_auto_deficient_escort -2.19  16.4 \n", + "drive_transit_ASC_auto_deficient_othdiscr -0.852  16.4 \n", + "drive_transit_ASC_auto_deficient_othmaint -1.36  16.4 \n", + "drive_transit_ASC_auto_deficient_school  1.59  NA \n", + "drive_transit_ASC_auto_deficient_shopping -1.58  16.4 \n", + "drive_transit_ASC_auto_deficient_social  0.610  16.4 \n", + "drive_transit_ASC_auto_deficient_univ  1.85  NA \n", + "drive_transit_ASC_auto_deficient_work -0.824  278. \n", + "drive_transit_ASC_auto_sufficient_atwork -999.  0.000176 \n", + "drive_transit_ASC_auto_sufficient_eatout -1.65  16.4 \n", + "drive_transit_ASC_auto_sufficient_escort -5.31  16.4 \n", + "drive_transit_ASC_auto_sufficient_othdiscr -1.24  16.4 \n", + "drive_transit_ASC_auto_sufficient_othmaint -2.80  16.4 \n", + "drive_transit_ASC_auto_sufficient_school  0.105  NA \n", + "drive_transit_ASC_auto_sufficient_shopping -4.16  16.4 \n", + "drive_transit_ASC_auto_sufficient_social -1.37  16.4 \n", + "drive_transit_ASC_auto_sufficient_univ  1.36  NA \n", + "drive_transit_ASC_auto_sufficient_work -1.73  278. \n", + "drive_transit_ASC_no_auto_all  0.00  NA \n", + "drive_transit_CBD_ASC_atwork  0.564  NA \n", + "drive_transit_CBD_ASC_eatout_escort_othdiscr_ot...  1.37  0.142 \n", + "drive_transit_CBD_ASC_school_univ  1.23  0.251 \n", + "drive_transit_CBD_ASC_work  1.64  0.0698 \n", + "express_bus_ASC_eatout_escort_othdiscr_othmaint... -0.342  16.4 \n", + "express_bus_ASC_school_univ -0.451  NA \n", + "express_bus_ASC_work -0.881  278. \n", + "heavy_rail_ASC_eatout_escort_othdiscr_othmaint_... -0.207  16.4 \n", + "heavy_rail_ASC_school_univ  0.110  NA \n", + "heavy_rail_ASC_work  0.513  278. \n", + "joint_bike_ASC_auto_deficient_all -6.18  1.34 \n", + "joint_bike_ASC_auto_sufficient_all -7.10  0.465 \n", + "joint_bike_ASC_no_auto_all -2.67  1.08 \n", + "joint_drive_transit_ASC_auto_deficient_all -6.04  16.4 \n", + "joint_drive_transit_ASC_auto_sufficient_all -7.79  16.4 \n", + "joint_drive_transit_ASC_no_auto_all  0.00  0.00 \n", + "joint_sr2_ASC_auto_deficient_all  0.00  0.00 \n", + "joint_sr2_ASC_auto_sufficient_all  0.00  0.00 \n", + "joint_sr2_ASC_no_auto_all  0.00  0.00 \n", + "joint_sr3p_ASC_auto_deficient_all -1.49  0.258 \n", + "joint_sr3p_ASC_auto_sufficient_all -2.29  0.133 \n", + "joint_sr3p_ASC_no_auto_all  0.699  0.470 \n", + "joint_taxi_ASC_auto_deficient_all -9.82  8.15 \n", + "joint_taxi_ASC_auto_sufficient_all -11.7  0.00 \n", + "joint_taxi_ASC_no_auto_all -4.58  4.29 \n", + "joint_tnc_shared_ASC_auto_deficient_all -11.2  17.0 \n", + "joint_tnc_shared_ASC_auto_sufficient_all -13.2  0.00 \n", + "joint_tnc_shared_ASC_no_auto_all -4.72  2.18 \n", + "joint_tnc_single_ASC_auto_deficient_all -9.90  7.20 \n", + "joint_tnc_single_ASC_auto_sufficient_all -14.0  0.00 \n", + "joint_tnc_single_ASC_no_auto_all -3.86  2.05 \n", + "joint_walk_ASC_auto_deficient_all -2.22  0.376 \n", + "joint_walk_ASC_auto_sufficient_all -4.34  0.245 \n", + "joint_walk_ASC_no_auto_all -0.367  0.727 \n", + "joint_walk_transit_ASC_auto_deficient_all -5.30  16.4 \n", + "joint_walk_transit_ASC_auto_sufficient_all -18.3  655. \n", + "joint_walk_transit_ASC_no_auto_all  0.386  16.4 \n", + "local_bus_ASC_eatout_escort_othdiscr_othmaint_s... -1.18  16.4 \n", + "local_bus_ASC_school_univ -0.819  NA \n", + "local_bus_ASC_work -0.179  278. \n", + "sr2_ASC_auto_deficient_atwork -1.49  0.132 \n", + "sr2_ASC_auto_deficient_eatout  0.874  0.155 \n", + "sr2_ASC_auto_deficient_escort  0.254  0.160 \n", + "sr2_ASC_auto_deficient_othdiscr  1.06  0.131 \n", + "sr2_ASC_auto_deficient_othmaint  0.584  0.145 \n", + "sr2_ASC_auto_deficient_school  0.518  0.928 \n", + "sr2_ASC_auto_deficient_shopping  0.522  0.127 \n", + "sr2_ASC_auto_deficient_social  2.30  0.215 \n", + "sr2_ASC_auto_deficient_univ -1.69  NA \n", + "sr2_ASC_auto_deficient_work  0.424  0.0892 \n", + "sr2_ASC_auto_sufficient_atwork -0.772  0.0784 \n", + "sr2_ASC_auto_sufficient_eatout  1.17  0.105 \n", + "sr2_ASC_auto_sufficient_escort  0.427  0.129 \n", + "sr2_ASC_auto_sufficient_othdiscr  0.830  0.101 \n", + "sr2_ASC_auto_sufficient_othmaint  0.642  0.103 \n", + "sr2_ASC_auto_sufficient_school -0.720  0.916 \n", + "sr2_ASC_auto_sufficient_shopping  0.518  0.100 \n", + "sr2_ASC_auto_sufficient_social  0.867  0.110 \n", + "sr2_ASC_auto_sufficient_univ -1.86  NA \n", + "sr2_ASC_auto_sufficient_work -0.295  0.0860 \n", + "sr2_ASC_no_auto_all  1.22  75.9 \n", + "sr3p_ASC_auto_deficient_atwork -1.81  0.136 \n", + "sr3p_ASC_auto_deficient_eatout  0.184  0.187 \n", + "sr3p_ASC_auto_deficient_escort  0.0300  0.163 \n", + "sr3p_ASC_auto_deficient_othdiscr  1.42  0.124 \n", + "sr3p_ASC_auto_deficient_othmaint -0.607  0.223 \n", + "sr3p_ASC_auto_deficient_school  1.10  0.927 \n", + "sr3p_ASC_auto_deficient_shopping  0.180  0.138 \n", + "sr3p_ASC_auto_deficient_social  2.04  0.223 \n", + "sr3p_ASC_auto_deficient_univ -1.73  1.83e-05 \n", + "sr3p_ASC_auto_deficient_work -0.127  0.0922 \n", + "sr3p_ASC_auto_sufficient_atwork -0.954  0.0797 \n", + "sr3p_ASC_auto_sufficient_eatout  1.13  0.105 \n", + "sr3p_ASC_auto_sufficient_escort  0.400  0.129 \n", + "sr3p_ASC_auto_sufficient_othdiscr  0.929  0.101 \n", + "sr3p_ASC_auto_sufficient_othmaint  0.257  0.105 \n", + "sr3p_ASC_auto_sufficient_school -0.151  0.916 \n", + "sr3p_ASC_auto_sufficient_shopping  0.275  0.101 \n", + "sr3p_ASC_auto_sufficient_social  0.870  0.110 \n", + "sr3p_ASC_auto_sufficient_univ -1.90  2.57e-05 \n", + "sr3p_ASC_auto_sufficient_work -0.662  0.0868 \n", + "sr3p_ASC_no_auto_atwork  1.49  75.9 \n", + "sr3p_ASC_no_auto_eatout  1.62  75.9 \n", + "sr3p_ASC_no_auto_escort -1.87  75.9 \n", + "sr3p_ASC_no_auto_othdiscr  1.43  75.9 \n", + "sr3p_ASC_no_auto_othmaint  0.296  75.9 \n", + "sr3p_ASC_no_auto_school -6.02  105. \n", + "sr3p_ASC_no_auto_shopping  0.881  75.9 \n", + "sr3p_ASC_no_auto_social -1.17  75.9 \n", + "sr3p_ASC_no_auto_univ -6.06  1.79e-05 \n", + "sr3p_ASC_no_auto_work  0.614  75.9 \n", + "taxi_ASC_auto_deficient_atwork -4.59  0.435 \n", + "taxi_ASC_auto_deficient_eatout_othdiscr_social -3.26  0.483 \n", + "taxi_ASC_auto_deficient_escort_othmaint_shopping -0.930  0.118 \n", + "taxi_ASC_auto_deficient_school  0.840  0.935 \n", + "taxi_ASC_auto_deficient_univ  4.25  1.62e-05 \n", + "taxi_ASC_auto_deficient_work -2.04  0.205 \n", + "taxi_ASC_auto_sufficient_atwork -3.34  0.150 \n", + "taxi_ASC_auto_sufficient_eatout_othdiscr_social -3.93  0.246 \n", + "taxi_ASC_auto_sufficient_escort_othmaint_shopping -2.78  0.0965 \n", + "taxi_ASC_auto_sufficient_school -2.26  0.922 \n", + "taxi_ASC_auto_sufficient_univ -0.313  NA \n", + "taxi_ASC_auto_sufficient_work -4.85  0.303 \n", + "taxi_ASC_no_auto_atwork  3.65  75.9 \n", + "taxi_ASC_no_auto_eatout_othdiscr_social -0.571  75.9 \n", + "taxi_ASC_no_auto_escort_othmaint_shopping  1.45  75.9 \n", + "taxi_ASC_no_auto_school_univ -7.00  0.00 \n", + "taxi_ASC_no_auto_work  3.94  75.9 \n", + "tnc_shared_ASC_auto_deficient_atwork -5.17  0.414 \n", + "tnc_shared_ASC_auto_deficient_eatout_othdiscr_s... -4.46  0.900 \n", + "tnc_shared_ASC_auto_deficient_escort_othmaint_s... -1.24  0.109 \n", + "tnc_shared_ASC_auto_deficient_school  0.283  0.933 \n", + "tnc_shared_ASC_auto_deficient_univ  3.25  1.25e-05 \n", + "tnc_shared_ASC_auto_deficient_work -3.40  0.214 \n", + "tnc_shared_ASC_auto_sufficient_atwork -4.08  0.166 \n", + "tnc_shared_ASC_auto_sufficient_eatout_othdiscr_... -4.32  0.199 \n", + "tnc_shared_ASC_auto_sufficient_escort_othmaint_... -3.29  0.0920 \n", + "tnc_shared_ASC_auto_sufficient_school -3.62  0.927 \n", + "tnc_shared_ASC_auto_sufficient_univ -0.907  NA \n", + "tnc_shared_ASC_auto_sufficient_work -6.48  0.411 \n", + "tnc_shared_ASC_no_auto_atwork  3.06  75.9 \n", + "tnc_shared_ASC_no_auto_eatout_othdiscr_social -0.0803  75.9 \n", + "tnc_shared_ASC_no_auto_escort_othmaint_shopping  0.685  75.9 \n", + "tnc_shared_ASC_no_auto_school -7.00  0.00 \n", + "tnc_shared_ASC_no_auto_univ -5.81  NA \n", + "tnc_shared_ASC_no_auto_work  2.23  75.9 \n", + "tnc_single_ASC_auto_deficient_atwork -4.24  0.319 \n", + "tnc_single_ASC_auto_deficient_eatout_othdiscr_s... -3.27  0.436 \n", + "tnc_single_ASC_auto_deficient_escort_othmaint_s... -0.340  0.102 \n", + "tnc_single_ASC_auto_deficient_school -0.0137  0.943 \n", + "tnc_single_ASC_auto_deficient_univ  1.02  NA \n", + "tnc_single_ASC_auto_deficient_work -1.30  0.115 \n", + "tnc_single_ASC_auto_sufficient_atwork -3.14  0.126 \n", + "tnc_single_ASC_auto_sufficient_eatout_othdiscr_... -3.26  0.149 \n", + "tnc_single_ASC_auto_sufficient_escort_othmaint_... -2.20  0.0833 \n", + "tnc_single_ASC_auto_sufficient_school -2.07  0.920 \n", + "tnc_single_ASC_auto_sufficient_univ  0.209  5.09e-06 \n", + "tnc_single_ASC_auto_sufficient_work -4.24  0.182 \n", + "tnc_single_ASC_no_auto_atwork  4.26  75.9 \n", + "tnc_single_ASC_no_auto_eatout_othdiscr_social  0.982  75.9 \n", + "tnc_single_ASC_no_auto_escort_othmaint_shopping  1.60  75.9 \n", + "tnc_single_ASC_no_auto_school -7.00  0.00 \n", + "tnc_single_ASC_no_auto_univ -2.52  NA \n", + "tnc_single_ASC_no_auto_work  5.31  75.9 \n", + "walk_ASC_auto_deficient_atwork  0.227  0.123 \n", + "walk_ASC_auto_deficient_eatout  2.17  0.198 \n", + "walk_ASC_auto_deficient_escort -1.98  0.265 \n", + "walk_ASC_auto_deficient_othdiscr  1.21  0.154 \n", + "walk_ASC_auto_deficient_othmaint  0.145  0.208 \n", + "walk_ASC_auto_deficient_school  2.61  0.931 \n", + "walk_ASC_auto_deficient_shopping  0.909  0.137 \n", + "walk_ASC_auto_deficient_social  2.26  0.299 \n", + "walk_ASC_auto_deficient_univ  4.51  1.92e-06 \n", + "walk_ASC_auto_deficient_work  1.70  0.0955 \n", + "walk_ASC_auto_sufficient_atwork  0.0776  0.0580 \n", + "walk_ASC_auto_sufficient_eatout  0.613  0.106 \n", + "walk_ASC_auto_sufficient_escort -1.74  0.117 \n", + "walk_ASC_auto_sufficient_othdiscr  0.305  0.0829 \n", + "walk_ASC_auto_sufficient_othmaint -0.168  0.0955 \n", + "walk_ASC_auto_sufficient_school  0.374  0.917 \n", + "walk_ASC_auto_sufficient_shopping -0.304  0.0811 \n", + "walk_ASC_auto_sufficient_social  0.592  0.117 \n", + "walk_ASC_auto_sufficient_univ  1.06  NA \n", + "walk_ASC_auto_sufficient_work -0.291  0.0787 \n", + "walk_ASC_no_auto_atwork  6.63  75.9 \n", + "walk_ASC_no_auto_eatout  4.41  75.9 \n", + "walk_ASC_no_auto_escort  2.51  75.9 \n", + "walk_ASC_no_auto_othdiscr  2.89  75.9 \n", + "walk_ASC_no_auto_othmaint  0.930  75.9 \n", + "walk_ASC_no_auto_school  17.8  109. \n", + "walk_ASC_no_auto_shopping  2.17  75.9 \n", + "walk_ASC_no_auto_social  1.74  75.9 \n", + "walk_ASC_no_auto_univ  6.41  NA \n", + "walk_ASC_no_auto_work  5.28  75.9 \n", + "walk_ferry_ASC_eatout_escort_othdiscr_othmaint_... -0.239  16.4 \n", + "walk_ferry_ASC_school_univ  0.858  NA \n", + "walk_ferry_ASC_work  0.189  278. \n", + "walk_light_rail_ASC_eatout_escort_othdiscr_othm... -0.136  16.4 \n", + "walk_light_rail_ASC_school_univ  0.724  NA \n", + "walk_light_rail_ASC_work  0.786  278. \n", + "walk_transit_ASC_auto_deficient_atwork -2.63  16.4 \n", + "walk_transit_ASC_auto_deficient_eatout -0.489  16.4 \n", + "walk_transit_ASC_auto_deficient_escort -4.45  16.4 \n", + "walk_transit_ASC_auto_deficient_othdiscr  0.873  16.4 \n", + "walk_transit_ASC_auto_deficient_othmaint -2.97  16.4 \n", + "walk_transit_ASC_auto_deficient_school  2.97  NA \n", + "walk_transit_ASC_auto_deficient_shopping -1.07  16.4 \n", + "walk_transit_ASC_auto_deficient_social  1.32  16.4 \n", + "walk_transit_ASC_auto_deficient_univ  3.14  0.00 \n", + "walk_transit_ASC_auto_deficient_work  0.159  278. \n", + "walk_transit_ASC_auto_sufficient_atwork -3.66  16.4 \n", + "walk_transit_ASC_auto_sufficient_eatout -1.32  16.4 \n", + "walk_transit_ASC_auto_sufficient_escort -4.82  16.4 \n", + "walk_transit_ASC_auto_sufficient_othdiscr -0.914  16.4 \n", + "walk_transit_ASC_auto_sufficient_othmaint -1.68  16.4 \n", + "walk_transit_ASC_auto_sufficient_school  0.487  NA \n", + "walk_transit_ASC_auto_sufficient_shopping -2.35  16.4 \n", + "walk_transit_ASC_auto_sufficient_social -0.647  16.4 \n", + "walk_transit_ASC_auto_sufficient_univ  0.473  0.00 \n", + "walk_transit_ASC_auto_sufficient_work -1.37  278. \n", + "walk_transit_ASC_no_auto_atwork  3.13  66.9 \n", + "walk_transit_ASC_no_auto_eatout  2.92  66.9 \n", + "walk_transit_ASC_no_auto_escort -2.26  67.0 \n", + "walk_transit_ASC_no_auto_othdiscr  2.80  66.9 \n", + "walk_transit_ASC_no_auto_othmaint  2.59  66.9 \n", + "walk_transit_ASC_no_auto_school  20.4  NA \n", + "walk_transit_ASC_no_auto_shopping  2.33  66.9 \n", + "walk_transit_ASC_no_auto_social  2.06  66.9 \n", + "walk_transit_ASC_no_auto_univ  8.79  0.00 \n", + "walk_transit_ASC_no_auto_work  4.60  285. \n", + "walk_transit_CBD_ASC_atwork  1.30  0.284 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth...  1.08  0.0757 \n", + "walk_transit_CBD_ASC_school_univ  0.834  0.114 \n", + "walk_transit_CBD_ASC_work  1.16  0.0539 \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_school... \n", + "coefficient_name\\ncoef_test coef_test_school... \n", + "\n", + " \\\n", + " t Stat Signif Null Value \n", + "Parameter \n", + "-999  NA 0.0 \n", + "1  NA 0.0 \n", + "bike_ASC_auto_deficient_atwork -3.07 ** 0.0 \n", + "bike_ASC_auto_deficient_eatout -3.69 *** 0.0 \n", + "bike_ASC_auto_deficient_escort -9.79 *** 0.0 \n", + "bike_ASC_auto_deficient_othdiscr -4.47 *** 0.0 \n", + "bike_ASC_auto_deficient_othmaint -6.37 *** 0.0 \n", + "bike_ASC_auto_deficient_school -1.24 0.0 \n", + "bike_ASC_auto_deficient_shopping -7.99 *** 0.0 \n", + "bike_ASC_auto_deficient_social  1.11 0.0 \n", + "bike_ASC_auto_deficient_univ  NA 0.0 \n", + "bike_ASC_auto_deficient_work -3.01 ** 0.0 \n", + "bike_ASC_auto_sufficient_atwork  0.03 0.0 \n", + "bike_ASC_auto_sufficient_eatout -11.60 *** 0.0 \n", + "bike_ASC_auto_sufficient_escort -16.76 *** 0.0 \n", + "bike_ASC_auto_sufficient_othdiscr -17.64 *** 0.0 \n", + "bike_ASC_auto_sufficient_othmaint -16.40 *** 0.0 \n", + "bike_ASC_auto_sufficient_school -2.40 * 0.0 \n", + "bike_ASC_auto_sufficient_shopping -22.70 *** 0.0 \n", + "bike_ASC_auto_sufficient_social -10.36 *** 0.0 \n", + "bike_ASC_auto_sufficient_univ -295.46 *** 0.0 \n", + "bike_ASC_auto_sufficient_work -23.72 *** 0.0 \n", + "bike_ASC_no_auto_atwork -0.01 0.0 \n", + "bike_ASC_no_auto_eatout  0.01 0.0 \n", + "bike_ASC_no_auto_escort -0.01 0.0 \n", + "bike_ASC_no_auto_othdiscr -0.01 0.0 \n", + "bike_ASC_no_auto_othmaint  0.02 0.0 \n", + "bike_ASC_no_auto_school  0.12 0.0 \n", + "bike_ASC_no_auto_shopping  0.01 0.0 \n", + "bike_ASC_no_auto_social  0.00 0.0 \n", + "bike_ASC_no_auto_univ  BIG *** 0.0 \n", + "bike_ASC_no_auto_work  0.05 0.0 \n", + "coef_age010_trn_multiplier_atwork  0.09 0.0 \n", + "coef_age010_trn_multiplier_eatout_escort_othdis...  2.79 ** 0.0 \n", + "coef_age010_trn_multiplier_school_univ -9.46 *** 0.0 \n", + "coef_age1619_da_multiplier_atwork -0.85 0.0 \n", + "coef_age1619_da_multiplier_eatout_escort_othdis...  0.84 0.0 \n", + "coef_age1619_da_multiplier_school_univ -22.31 *** 0.0 \n", + "coef_age16p_sr_multiplier_eatout_escort_othdisc... -18.71 *** 0.0 \n", + "coef_age16p_sr_multiplier_school_univ_work_atwork -10.08 *** 0.0 \n", + "coef_hhsize1_sr_multiplier_eatout_escort_othdis... -2.31 * 0.0 \n", + "coef_hhsize1_sr_multiplier_work -14.39 *** 0.0 \n", + "coef_hhsize2_sr_multiplier_eatout_escort_othdis... -0.23 0.0 \n", + "coef_hhsize2_sr_multiplier_school_univ -8.15 *** 0.0 \n", + "coef_ivt_atwork -23.41 *** 0.0 \n", + "coef_ivt_eatout_escort_othdiscr_othmaint_shoppi... -47.76 *** 0.0 \n", + "coef_ivt_school_univ -32.62 *** 0.0 \n", + "coef_ivt_work -53.62 *** 0.0 \n", + "coef_nest_AUTO  NA 1.0 \n", + "coef_nest_AUTO_DRIVEALONE  NA 1.0 \n", + "coef_nest_AUTO_SHAREDRIDE2  NA 1.0 \n", + "coef_nest_AUTO_SHAREDRIDE3  NA 1.0 \n", + "coef_nest_NONMOTORIZED  NA 1.0 \n", + "coef_nest_RIDEHAIL  NA 1.0 \n", + "coef_nest_TRANSIT  NA 1.0 \n", + "coef_nest_TRANSIT_DRIVEACCESS  NA 1.0 \n", + "coef_nest_TRANSIT_WALKACCESS  NA 1.0 \n", + "coef_test_eatout_escort_othdiscr_othmaint_shopp...  1.56 0.0 \n", + "coef_test_school_univ  0.57 0.0 \n", + "commuter_rail_ASC_eatout_escort_othdiscr_othmai... -0.06 0.0 \n", + "commuter_rail_ASC_school_univ  NA 0.0 \n", + "commuter_rail_ASC_work  0.00 0.0 \n", + "drive_ferry_ASC_eatout_escort_othdiscr_othmaint... -0.04 0.0 \n", + "drive_ferry_ASC_school_univ  NA 0.0 \n", + "drive_ferry_ASC_work  0.00 0.0 \n", + "drive_light_rail_ASC_eatout_escort_othdiscr_oth... -0.02 0.0 \n", + "drive_light_rail_ASC_school_univ  NA 0.0 \n", + "drive_light_rail_ASC_work  0.00 0.0 \n", + "drive_transit_ASC_auto_deficient_atwork -BIG *** 0.0 \n", + "drive_transit_ASC_auto_deficient_eatout -0.01 0.0 \n", + "drive_transit_ASC_auto_deficient_escort -0.13 0.0 \n", + "drive_transit_ASC_auto_deficient_othdiscr -0.05 0.0 \n", + "drive_transit_ASC_auto_deficient_othmaint -0.08 0.0 \n", + "drive_transit_ASC_auto_deficient_school  NA 0.0 \n", + "drive_transit_ASC_auto_deficient_shopping -0.10 0.0 \n", + "drive_transit_ASC_auto_deficient_social  0.04 0.0 \n", + "drive_transit_ASC_auto_deficient_univ  NA 0.0 \n", + "drive_transit_ASC_auto_deficient_work -0.00 0.0 \n", + "drive_transit_ASC_auto_sufficient_atwork -BIG *** 0.0 \n", + "drive_transit_ASC_auto_sufficient_eatout -0.10 0.0 \n", + "drive_transit_ASC_auto_sufficient_escort -0.32 0.0 \n", + "drive_transit_ASC_auto_sufficient_othdiscr -0.08 0.0 \n", + "drive_transit_ASC_auto_sufficient_othmaint -0.17 0.0 \n", + "drive_transit_ASC_auto_sufficient_school  NA 0.0 \n", + "drive_transit_ASC_auto_sufficient_shopping -0.25 0.0 \n", + "drive_transit_ASC_auto_sufficient_social -0.08 0.0 \n", + "drive_transit_ASC_auto_sufficient_univ  NA 0.0 \n", + "drive_transit_ASC_auto_sufficient_work -0.01 0.0 \n", + "drive_transit_ASC_no_auto_all  NA 0.0 \n", + "drive_transit_CBD_ASC_atwork  NA 0.0 \n", + "drive_transit_CBD_ASC_eatout_escort_othdiscr_ot...  9.63 *** 0.0 \n", + "drive_transit_CBD_ASC_school_univ  4.89 *** 0.0 \n", + "drive_transit_CBD_ASC_work  23.45 *** 0.0 \n", + "express_bus_ASC_eatout_escort_othdiscr_othmaint... -0.02 0.0 \n", + "express_bus_ASC_school_univ  NA 0.0 \n", + "express_bus_ASC_work -0.00 0.0 \n", + "heavy_rail_ASC_eatout_escort_othdiscr_othmaint_... -0.01 0.0 \n", + "heavy_rail_ASC_school_univ  NA 0.0 \n", + "heavy_rail_ASC_work  0.00 0.0 \n", + "joint_bike_ASC_auto_deficient_all -4.62 *** 0.0 \n", + "joint_bike_ASC_auto_sufficient_all -15.28 *** 0.0 \n", + "joint_bike_ASC_no_auto_all -2.48 * 0.0 \n", + "joint_drive_transit_ASC_auto_deficient_all -0.37 0.0 \n", + "joint_drive_transit_ASC_auto_sufficient_all -0.48 0.0 \n", + "joint_drive_transit_ASC_no_auto_all  NA 0.0 \n", + "joint_sr2_ASC_auto_deficient_all  NA 0.0 \n", + "joint_sr2_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_sr2_ASC_no_auto_all  NA 0.0 \n", + "joint_sr3p_ASC_auto_deficient_all -5.77 *** 0.0 \n", + "joint_sr3p_ASC_auto_sufficient_all -17.17 *** 0.0 \n", + "joint_sr3p_ASC_no_auto_all  1.49 0.0 \n", + "joint_taxi_ASC_auto_deficient_all -1.21 0.0 \n", + "joint_taxi_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_taxi_ASC_no_auto_all -1.07 0.0 \n", + "joint_tnc_shared_ASC_auto_deficient_all -0.66 0.0 \n", + "joint_tnc_shared_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_tnc_shared_ASC_no_auto_all -2.17 * 0.0 \n", + "joint_tnc_single_ASC_auto_deficient_all -1.38 0.0 \n", + "joint_tnc_single_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_tnc_single_ASC_no_auto_all -1.88 0.0 \n", + "joint_walk_ASC_auto_deficient_all -5.89 *** 0.0 \n", + "joint_walk_ASC_auto_sufficient_all -17.76 *** 0.0 \n", + "joint_walk_ASC_no_auto_all -0.51 0.0 \n", + "joint_walk_transit_ASC_auto_deficient_all -0.32 0.0 \n", + "joint_walk_transit_ASC_auto_sufficient_all -0.03 0.0 \n", + "joint_walk_transit_ASC_no_auto_all  0.02 0.0 \n", + "local_bus_ASC_eatout_escort_othdiscr_othmaint_s... -0.07 0.0 \n", + "local_bus_ASC_school_univ  NA 0.0 \n", + "local_bus_ASC_work -0.00 0.0 \n", + "sr2_ASC_auto_deficient_atwork -11.34 *** 0.0 \n", + "sr2_ASC_auto_deficient_eatout  5.64 *** 0.0 \n", + "sr2_ASC_auto_deficient_escort  1.58 0.0 \n", + "sr2_ASC_auto_deficient_othdiscr  8.13 *** 0.0 \n", + "sr2_ASC_auto_deficient_othmaint  4.02 *** 0.0 \n", + "sr2_ASC_auto_deficient_school  0.56 0.0 \n", + "sr2_ASC_auto_deficient_shopping  4.09 *** 0.0 \n", + "sr2_ASC_auto_deficient_social  10.70 *** 0.0 \n", + "sr2_ASC_auto_deficient_univ  NA 0.0 \n", + "sr2_ASC_auto_deficient_work  4.76 *** 0.0 \n", + "sr2_ASC_auto_sufficient_atwork -9.85 *** 0.0 \n", + "sr2_ASC_auto_sufficient_eatout  11.19 *** 0.0 \n", + "sr2_ASC_auto_sufficient_escort  3.31 *** 0.0 \n", + "sr2_ASC_auto_sufficient_othdiscr  8.23 *** 0.0 \n", + "sr2_ASC_auto_sufficient_othmaint  6.24 *** 0.0 \n", + "sr2_ASC_auto_sufficient_school -0.79 0.0 \n", + "sr2_ASC_auto_sufficient_shopping  5.16 *** 0.0 \n", + "sr2_ASC_auto_sufficient_social  7.88 *** 0.0 \n", + "sr2_ASC_auto_sufficient_univ  NA 0.0 \n", + "sr2_ASC_auto_sufficient_work -3.43 *** 0.0 \n", + "sr2_ASC_no_auto_all  0.02 0.0 \n", + "sr3p_ASC_auto_deficient_atwork -13.30 *** 0.0 \n", + "sr3p_ASC_auto_deficient_eatout  0.98 0.0 \n", + "sr3p_ASC_auto_deficient_escort  0.18 0.0 \n", + "sr3p_ASC_auto_deficient_othdiscr  11.40 *** 0.0 \n", + "sr3p_ASC_auto_deficient_othmaint -2.71 ** 0.0 \n", + "sr3p_ASC_auto_deficient_school  1.18 0.0 \n", + "sr3p_ASC_auto_deficient_shopping  1.31 0.0 \n", + "sr3p_ASC_auto_deficient_social  9.16 *** 0.0 \n", + "sr3p_ASC_auto_deficient_univ -BIG *** 0.0 \n", + "sr3p_ASC_auto_deficient_work -1.38 0.0 \n", + "sr3p_ASC_auto_sufficient_atwork -11.97 *** 0.0 \n", + "sr3p_ASC_auto_sufficient_eatout  10.73 *** 0.0 \n", + "sr3p_ASC_auto_sufficient_escort  3.10 ** 0.0 \n", + "sr3p_ASC_auto_sufficient_othdiscr  9.25 *** 0.0 \n", + "sr3p_ASC_auto_sufficient_othmaint  2.44 * 0.0 \n", + "sr3p_ASC_auto_sufficient_school -0.16 0.0 \n", + "sr3p_ASC_auto_sufficient_shopping  2.72 ** 0.0 \n", + "sr3p_ASC_auto_sufficient_social  7.91 *** 0.0 \n", + "sr3p_ASC_auto_sufficient_univ -BIG *** 0.0 \n", + "sr3p_ASC_auto_sufficient_work -7.63 *** 0.0 \n", + "sr3p_ASC_no_auto_atwork  0.02 0.0 \n", + "sr3p_ASC_no_auto_eatout  0.02 0.0 \n", + "sr3p_ASC_no_auto_escort -0.02 0.0 \n", + "sr3p_ASC_no_auto_othdiscr  0.02 0.0 \n", + "sr3p_ASC_no_auto_othmaint  0.00 0.0 \n", + "sr3p_ASC_no_auto_school -0.06 0.0 \n", + "sr3p_ASC_no_auto_shopping  0.01 0.0 \n", + "sr3p_ASC_no_auto_social -0.02 0.0 \n", + "sr3p_ASC_no_auto_univ -BIG *** 0.0 \n", + "sr3p_ASC_no_auto_work  0.01 0.0 \n", + "taxi_ASC_auto_deficient_atwork -10.57 *** 0.0 \n", + "taxi_ASC_auto_deficient_eatout_othdiscr_social -6.76 *** 0.0 \n", + "taxi_ASC_auto_deficient_escort_othmaint_shopping -7.89 *** 0.0 \n", + "taxi_ASC_auto_deficient_school  0.90 0.0 \n", + "taxi_ASC_auto_deficient_univ  BIG *** 0.0 \n", + "taxi_ASC_auto_deficient_work -9.95 *** 0.0 \n", + "taxi_ASC_auto_sufficient_atwork -22.22 *** 0.0 \n", + "taxi_ASC_auto_sufficient_eatout_othdiscr_social -15.96 *** 0.0 \n", + "taxi_ASC_auto_sufficient_escort_othmaint_shopping -28.85 *** 0.0 \n", + "taxi_ASC_auto_sufficient_school -2.45 * 0.0 \n", + "taxi_ASC_auto_sufficient_univ  NA 0.0 \n", + "taxi_ASC_auto_sufficient_work -16.01 *** 0.0 \n", + "taxi_ASC_no_auto_atwork  0.05 0.0 \n", + "taxi_ASC_no_auto_eatout_othdiscr_social -0.01 0.0 \n", + "taxi_ASC_no_auto_escort_othmaint_shopping  0.02 0.0 \n", + "taxi_ASC_no_auto_school_univ  NA 0.0 \n", + "taxi_ASC_no_auto_work  0.05 0.0 \n", + "tnc_shared_ASC_auto_deficient_atwork -12.49 *** 0.0 \n", + "tnc_shared_ASC_auto_deficient_eatout_othdiscr_s... -4.95 *** 0.0 \n", + "tnc_shared_ASC_auto_deficient_escort_othmaint_s... -11.36 *** 0.0 \n", + "tnc_shared_ASC_auto_deficient_school  0.30 0.0 \n", + "tnc_shared_ASC_auto_deficient_univ  BIG *** 0.0 \n", + "tnc_shared_ASC_auto_deficient_work -15.89 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_atwork -24.64 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_eatout_othdiscr_... -21.67 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_escort_othmaint_... -35.76 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_school -3.91 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_univ  NA 0.0 \n", + "tnc_shared_ASC_auto_sufficient_work -15.77 *** 0.0 \n", + "tnc_shared_ASC_no_auto_atwork  0.04 0.0 \n", + "tnc_shared_ASC_no_auto_eatout_othdiscr_social -0.00 0.0 \n", + "tnc_shared_ASC_no_auto_escort_othmaint_shopping  0.01 0.0 \n", + "tnc_shared_ASC_no_auto_school  NA 0.0 \n", + "tnc_shared_ASC_no_auto_univ  NA 0.0 \n", + "tnc_shared_ASC_no_auto_work  0.03 0.0 \n", + "tnc_single_ASC_auto_deficient_atwork -13.29 *** 0.0 \n", + "tnc_single_ASC_auto_deficient_eatout_othdiscr_s... -7.50 *** 0.0 \n", + "tnc_single_ASC_auto_deficient_escort_othmaint_s... -3.34 *** 0.0 \n", + "tnc_single_ASC_auto_deficient_school -0.01 0.0 \n", + "tnc_single_ASC_auto_deficient_univ  NA 0.0 \n", + "tnc_single_ASC_auto_deficient_work -11.28 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_atwork -25.00 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_eatout_othdiscr_... -21.84 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_escort_othmaint_... -26.43 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_school -2.25 * 0.0 \n", + "tnc_single_ASC_auto_sufficient_univ  BIG *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_work -23.29 *** 0.0 \n", + "tnc_single_ASC_no_auto_atwork  0.06 0.0 \n", + "tnc_single_ASC_no_auto_eatout_othdiscr_social  0.01 0.0 \n", + "tnc_single_ASC_no_auto_escort_othmaint_shopping  0.02 0.0 \n", + "tnc_single_ASC_no_auto_school  NA 0.0 \n", + "tnc_single_ASC_no_auto_univ  NA 0.0 \n", + "tnc_single_ASC_no_auto_work  0.07 0.0 \n", + "walk_ASC_auto_deficient_atwork  1.84 0.0 \n", + "walk_ASC_auto_deficient_eatout  10.96 *** 0.0 \n", + "walk_ASC_auto_deficient_escort -7.46 *** 0.0 \n", + "walk_ASC_auto_deficient_othdiscr  7.86 *** 0.0 \n", + "walk_ASC_auto_deficient_othmaint  0.70 0.0 \n", + "walk_ASC_auto_deficient_school  2.81 ** 0.0 \n", + "walk_ASC_auto_deficient_shopping  6.63 *** 0.0 \n", + "walk_ASC_auto_deficient_social  7.56 *** 0.0 \n", + "walk_ASC_auto_deficient_univ  BIG *** 0.0 \n", + "walk_ASC_auto_deficient_work  17.84 *** 0.0 \n", + "walk_ASC_auto_sufficient_atwork  1.34 0.0 \n", + "walk_ASC_auto_sufficient_eatout  5.78 *** 0.0 \n", + "walk_ASC_auto_sufficient_escort -14.88 *** 0.0 \n", + "walk_ASC_auto_sufficient_othdiscr  3.68 *** 0.0 \n", + "walk_ASC_auto_sufficient_othmaint -1.76 0.0 \n", + "walk_ASC_auto_sufficient_school  0.41 0.0 \n", + "walk_ASC_auto_sufficient_shopping -3.75 *** 0.0 \n", + "walk_ASC_auto_sufficient_social  5.04 *** 0.0 \n", + "walk_ASC_auto_sufficient_univ  NA 0.0 \n", + "walk_ASC_auto_sufficient_work -3.70 *** 0.0 \n", + "walk_ASC_no_auto_atwork  0.09 0.0 \n", + "walk_ASC_no_auto_eatout  0.06 0.0 \n", + "walk_ASC_no_auto_escort  0.03 0.0 \n", + "walk_ASC_no_auto_othdiscr  0.04 0.0 \n", + "walk_ASC_no_auto_othmaint  0.01 0.0 \n", + "walk_ASC_no_auto_school  0.16 0.0 \n", + "walk_ASC_no_auto_shopping  0.03 0.0 \n", + "walk_ASC_no_auto_social  0.02 0.0 \n", + "walk_ASC_no_auto_univ  NA 0.0 \n", + "walk_ASC_no_auto_work  0.07 0.0 \n", + "walk_ferry_ASC_eatout_escort_othdiscr_othmaint_... -0.01 0.0 \n", + "walk_ferry_ASC_school_univ  NA 0.0 \n", + "walk_ferry_ASC_work  0.00 0.0 \n", + "walk_light_rail_ASC_eatout_escort_othdiscr_othm... -0.01 0.0 \n", + "walk_light_rail_ASC_school_univ  NA 0.0 \n", + "walk_light_rail_ASC_work  0.00 0.0 \n", + "walk_transit_ASC_auto_deficient_atwork -0.16 0.0 \n", + "walk_transit_ASC_auto_deficient_eatout -0.03 0.0 \n", + "walk_transit_ASC_auto_deficient_escort -0.27 0.0 \n", + "walk_transit_ASC_auto_deficient_othdiscr  0.05 0.0 \n", + "walk_transit_ASC_auto_deficient_othmaint -0.18 0.0 \n", + "walk_transit_ASC_auto_deficient_school  NA 0.0 \n", + "walk_transit_ASC_auto_deficient_shopping -0.07 0.0 \n", + "walk_transit_ASC_auto_deficient_social  0.08 0.0 \n", + "walk_transit_ASC_auto_deficient_univ  NA 0.0 \n", + "walk_transit_ASC_auto_deficient_work  0.00 0.0 \n", + "walk_transit_ASC_auto_sufficient_atwork -0.22 0.0 \n", + "walk_transit_ASC_auto_sufficient_eatout -0.08 0.0 \n", + "walk_transit_ASC_auto_sufficient_escort -0.29 0.0 \n", + "walk_transit_ASC_auto_sufficient_othdiscr -0.06 0.0 \n", + "walk_transit_ASC_auto_sufficient_othmaint -0.10 0.0 \n", + "walk_transit_ASC_auto_sufficient_school  NA 0.0 \n", + "walk_transit_ASC_auto_sufficient_shopping -0.14 0.0 \n", + "walk_transit_ASC_auto_sufficient_social -0.04 0.0 \n", + "walk_transit_ASC_auto_sufficient_univ  NA 0.0 \n", + "walk_transit_ASC_auto_sufficient_work -0.00 0.0 \n", + "walk_transit_ASC_no_auto_atwork  0.05 0.0 \n", + "walk_transit_ASC_no_auto_eatout  0.04 0.0 \n", + "walk_transit_ASC_no_auto_escort -0.03 0.0 \n", + "walk_transit_ASC_no_auto_othdiscr  0.04 0.0 \n", + "walk_transit_ASC_no_auto_othmaint  0.04 0.0 \n", + "walk_transit_ASC_no_auto_school  NA 0.0 \n", + "walk_transit_ASC_no_auto_shopping  0.03 0.0 \n", + "walk_transit_ASC_no_auto_social  0.03 0.0 \n", + "walk_transit_ASC_no_auto_univ  NA 0.0 \n", + "walk_transit_ASC_no_auto_work  0.02 0.0 \n", + "walk_transit_CBD_ASC_atwork  4.57 *** 0.0 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth...  14.25 *** 0.0 \n", + "walk_transit_CBD_ASC_school_univ  7.30 *** 0.0 \n", + "walk_transit_CBD_ASC_work  21.50 *** 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_eatout... \n", + "coefficient_name\\ncoef_test coef_test_school... \n", + "coefficient_name\\ncoef_test coef_test_school... \n", + "\n", + " remodel \\\n", + " Value Std Err \n", + "Parameter \n", + "-999 -999.  0.00 \n", + "1  1.00  0.00 \n", + "bike_ASC_auto_deficient_atwork -1.06  0.340 \n", + "bike_ASC_auto_deficient_eatout -1.20  0.594 \n", + "bike_ASC_auto_deficient_escort -3.88  0.559 \n", + "bike_ASC_auto_deficient_othdiscr -0.528  0.418 \n", + "bike_ASC_auto_deficient_othmaint -1.63  0.448 \n", + "bike_ASC_auto_deficient_school -1.18  0.997 \n", + "bike_ASC_auto_deficient_shopping -1.30  0.363 \n", + "bike_ASC_auto_deficient_social  0.592  0.532 \n", + "bike_ASC_auto_deficient_univ -0.669  0.00146 \n", + "bike_ASC_auto_deficient_work -0.360  0.0922 \n", + "bike_ASC_auto_sufficient_atwork  15.7  463. \n", + "bike_ASC_auto_sufficient_eatout -1.30  0.409 \n", + "bike_ASC_auto_sufficient_escort -5.26  0.453 \n", + "bike_ASC_auto_sufficient_othdiscr -1.49  0.382 \n", + "bike_ASC_auto_sufficient_othmaint -2.51  0.349 \n", + "bike_ASC_auto_sufficient_school -2.20  0.953 \n", + "bike_ASC_auto_sufficient_shopping -2.78  0.326 \n", + "bike_ASC_auto_sufficient_social -1.83  0.471 \n", + "bike_ASC_auto_sufficient_univ -1.94  0.00650 \n", + "bike_ASC_auto_sufficient_work -2.06  0.0822 \n", + "bike_ASC_no_auto_atwork -0.911  87.8 \n", + "bike_ASC_no_auto_eatout  0.510  87.2 \n", + "bike_ASC_no_auto_escort -0.730  87.2 \n", + "bike_ASC_no_auto_othdiscr -0.404  87.2 \n", + "bike_ASC_no_auto_othmaint  1.61  87.2 \n", + "bike_ASC_no_auto_school  13.4  116. \n", + "bike_ASC_no_auto_shopping  1.05  87.2 \n", + "bike_ASC_no_auto_social  0.486  87.2 \n", + "bike_ASC_no_auto_univ  4.29  0.00688 \n", + "bike_ASC_no_auto_work  3.43  87.2 \n", + "coef_age010_trn_multiplier_atwork  0.000722  NA \n", + "coef_age010_trn_multiplier_eatout_escort_othdis...  0.364  0.175 \n", + "coef_age010_trn_multiplier_school_univ -0.875  0.0898 \n", + "coef_age1619_da_multiplier_atwork -0.193  0.205 \n", + "coef_age1619_da_multiplier_eatout_escort_othdis...  0.000513  0.0424 \n", + "coef_age1619_da_multiplier_school_univ -1.68  0.0748 \n", + "coef_age16p_sr_multiplier_eatout_escort_othdisc... -1.45  0.0814 \n", + "coef_age16p_sr_multiplier_school_univ_work_atwork -0.648  0.0683 \n", + "coef_hhsize1_sr_multiplier_eatout_escort_othdis... -0.0710  0.0312 \n", + "coef_hhsize1_sr_multiplier_work -0.836  0.0577 \n", + "coef_hhsize2_sr_multiplier_eatout_escort_othdis...  0.00209  0.0178 \n", + "coef_hhsize2_sr_multiplier_school_univ -0.748  0.0912 \n", + "coef_ivt_atwork -0.0112  0.000478 \n", + "coef_ivt_eatout_escort_othdiscr_othmaint_shoppi... -0.00688  0.000144 \n", + "coef_ivt_school_univ -0.0104  0.000318 \n", + "coef_ivt_work -0.00795  0.000148 \n", + "coef_nest_AUTO  0.720  0.00 \n", + "coef_nest_AUTO_DRIVEALONE  0.350  0.00 \n", + "coef_nest_AUTO_SHAREDRIDE2  0.350  0.00 \n", + "coef_nest_AUTO_SHAREDRIDE3  0.350  0.00 \n", + "coef_nest_NONMOTORIZED  0.720  0.00 \n", + "coef_nest_RIDEHAIL  0.360  0.00 \n", + "coef_nest_TRANSIT  0.720  0.00 \n", + "coef_nest_TRANSIT_DRIVEACCESS  0.500  0.00 \n", + "coef_nest_TRANSIT_WALKACCESS  0.500  0.00 \n", + "coef_test_eatout_escort_othdiscr_othmaint_shopp...  0.0770  NA \n", + "coef_test_school_univ  0.518  NA \n", + "commuter_rail_ASC_eatout_escort_othdiscr_othmai... -0.744  20.6 \n", + "commuter_rail_ASC_school_univ -0.247  NA \n", + "commuter_rail_ASC_work  0.158  NA \n", + "drive_ferry_ASC_eatout_escort_othdiscr_othmaint... -0.393  20.6 \n", + "drive_ferry_ASC_school_univ  1.45  NA \n", + "drive_ferry_ASC_work  0.194  NA \n", + "drive_light_rail_ASC_eatout_escort_othdiscr_oth... -0.0919  20.6 \n", + "drive_light_rail_ASC_school_univ  0.707  NA \n", + "drive_light_rail_ASC_work  0.507  NA \n", + "drive_transit_ASC_auto_deficient_atwork -999.  0.000231 \n", + "drive_transit_ASC_auto_deficient_eatout  0.105  20.6 \n", + "drive_transit_ASC_auto_deficient_escort -2.14  20.6 \n", + "drive_transit_ASC_auto_deficient_othdiscr -0.726  20.6 \n", + "drive_transit_ASC_auto_deficient_othmaint -1.17  20.6 \n", + "drive_transit_ASC_auto_deficient_school  1.57  NA \n", + "drive_transit_ASC_auto_deficient_shopping -1.43  20.6 \n", + "drive_transit_ASC_auto_deficient_social  0.594  20.6 \n", + "drive_transit_ASC_auto_deficient_univ  1.85  NA \n", + "drive_transit_ASC_auto_deficient_work -0.911  NA \n", + "drive_transit_ASC_auto_sufficient_atwork -999.  NA \n", + "drive_transit_ASC_auto_sufficient_eatout -1.30  20.6 \n", + "drive_transit_ASC_auto_sufficient_escort -5.25  20.6 \n", + "drive_transit_ASC_auto_sufficient_othdiscr -1.11  20.6 \n", + "drive_transit_ASC_auto_sufficient_othmaint -2.44  20.6 \n", + "drive_transit_ASC_auto_sufficient_school  0.155  NA \n", + "drive_transit_ASC_auto_sufficient_shopping -3.97  20.6 \n", + "drive_transit_ASC_auto_sufficient_social -1.34  20.6 \n", + "drive_transit_ASC_auto_sufficient_univ  1.36  0.000291 \n", + "drive_transit_ASC_auto_sufficient_work -1.83  NA \n", + "drive_transit_ASC_no_auto_all  0.00  0.000293 \n", + "drive_transit_CBD_ASC_atwork  0.564  NA \n", + "drive_transit_CBD_ASC_eatout_escort_othdiscr_ot...  1.41  0.142 \n", + "drive_transit_CBD_ASC_school_univ  1.20  0.253 \n", + "drive_transit_CBD_ASC_work  1.62  0.0697 \n", + "express_bus_ASC_eatout_escort_othdiscr_othmaint... -0.0888  20.6 \n", + "express_bus_ASC_school_univ -0.450  NA \n", + "express_bus_ASC_work -0.920  NA \n", + "heavy_rail_ASC_eatout_escort_othdiscr_othmaint_...  0.0401  20.6 \n", + "heavy_rail_ASC_school_univ  0.127  NA \n", + "heavy_rail_ASC_work  0.496  NA \n", + "joint_bike_ASC_auto_deficient_all -6.16  1.42 \n", + "joint_bike_ASC_auto_sufficient_all -6.95  0.465 \n", + "joint_bike_ASC_no_auto_all -2.67  1.14 \n", + "joint_drive_transit_ASC_auto_deficient_all -6.04  20.6 \n", + "joint_drive_transit_ASC_auto_sufficient_all -7.80  20.6 \n", + "joint_drive_transit_ASC_no_auto_all  0.00  0.00 \n", + "joint_sr2_ASC_auto_deficient_all  0.00  0.00 \n", + "joint_sr2_ASC_auto_sufficient_all  0.00  0.00 \n", + "joint_sr2_ASC_no_auto_all  0.00  0.00 \n", + "joint_sr3p_ASC_auto_deficient_all -1.51  0.260 \n", + "joint_sr3p_ASC_auto_sufficient_all -2.27  0.131 \n", + "joint_sr3p_ASC_no_auto_all  0.680  0.471 \n", + "joint_taxi_ASC_auto_deficient_all -9.82  8.64 \n", + "joint_taxi_ASC_auto_sufficient_all -11.7  0.00 \n", + "joint_taxi_ASC_no_auto_all -4.58  4.45 \n", + "joint_tnc_shared_ASC_auto_deficient_all -11.2  18.0 \n", + "joint_tnc_shared_ASC_auto_sufficient_all -13.2  0.00 \n", + "joint_tnc_shared_ASC_no_auto_all -4.70  2.31 \n", + "joint_tnc_single_ASC_auto_deficient_all -9.90  7.63 \n", + "joint_tnc_single_ASC_auto_sufficient_all -14.0  0.00 \n", + "joint_tnc_single_ASC_no_auto_all -3.89  2.20 \n", + "joint_walk_ASC_auto_deficient_all -2.05  0.372 \n", + "joint_walk_ASC_auto_sufficient_all -4.15  0.240 \n", + "joint_walk_ASC_no_auto_all -0.294  0.735 \n", + "joint_walk_transit_ASC_auto_deficient_all -5.30  20.6 \n", + "joint_walk_transit_ASC_auto_sufficient_all -18.3  620. \n", + "joint_walk_transit_ASC_no_auto_all  0.351  20.6 \n", + "local_bus_ASC_eatout_escort_othdiscr_othmaint_s... -0.943  20.6 \n", + "local_bus_ASC_school_univ -0.811  NA \n", + "local_bus_ASC_work -0.211  NA \n", + "sr2_ASC_auto_deficient_atwork -1.57  0.133 \n", + "sr2_ASC_auto_deficient_eatout  1.32  0.407 \n", + "sr2_ASC_auto_deficient_escort  0.560  0.331 \n", + "sr2_ASC_auto_deficient_othdiscr  1.32  0.389 \n", + "sr2_ASC_auto_deficient_othmaint  1.03  0.327 \n", + "sr2_ASC_auto_deficient_school  0.522  0.961 \n", + "sr2_ASC_auto_deficient_shopping  0.801  0.319 \n", + "sr2_ASC_auto_deficient_social  2.42  0.473 \n", + "sr2_ASC_auto_deficient_univ -1.69  0.000112 \n", + "sr2_ASC_auto_deficient_work  0.248  0.0900 \n", + "sr2_ASC_auto_sufficient_atwork -0.810  0.0784 \n", + "sr2_ASC_auto_sufficient_eatout  1.63  0.390 \n", + "sr2_ASC_auto_sufficient_escort  0.754  0.317 \n", + "sr2_ASC_auto_sufficient_othdiscr  1.09  0.380 \n", + "sr2_ASC_auto_sufficient_othmaint  1.09  0.312 \n", + "sr2_ASC_auto_sufficient_school -0.720  0.950 \n", + "sr2_ASC_auto_sufficient_shopping  0.806  0.310 \n", + "sr2_ASC_auto_sufficient_social  1.07  0.438 \n", + "sr2_ASC_auto_sufficient_univ -1.86  6.12e-05 \n", + "sr2_ASC_auto_sufficient_work -0.478  0.0868 \n", + "sr2_ASC_no_auto_all  1.17  87.2 \n", + "sr3p_ASC_auto_deficient_atwork -1.88  0.137 \n", + "sr3p_ASC_auto_deficient_eatout  0.638  0.420 \n", + "sr3p_ASC_auto_deficient_escort  0.336  0.332 \n", + "sr3p_ASC_auto_deficient_othdiscr  1.67  0.387 \n", + "sr3p_ASC_auto_deficient_othmaint -0.202  0.371 \n", + "sr3p_ASC_auto_deficient_school  1.09  0.961 \n", + "sr3p_ASC_auto_deficient_shopping  0.457  0.324 \n", + "sr3p_ASC_auto_deficient_social  2.16  0.476 \n", + "sr3p_ASC_auto_deficient_univ -1.73  NA \n", + "sr3p_ASC_auto_deficient_work -0.289  0.0929 \n", + "sr3p_ASC_auto_sufficient_atwork -1.00  0.0798 \n", + "sr3p_ASC_auto_sufficient_eatout  1.58  0.390 \n", + "sr3p_ASC_auto_sufficient_escort  0.729  0.317 \n", + "sr3p_ASC_auto_sufficient_othdiscr  1.18  0.380 \n", + "sr3p_ASC_auto_sufficient_othmaint  0.726  0.313 \n", + "sr3p_ASC_auto_sufficient_school -0.151  0.950 \n", + "sr3p_ASC_auto_sufficient_shopping  0.561  0.310 \n", + "sr3p_ASC_auto_sufficient_social  1.07  0.438 \n", + "sr3p_ASC_auto_sufficient_univ -1.90  1.95e-05 \n", + "sr3p_ASC_auto_sufficient_work -0.849  0.0876 \n", + "sr3p_ASC_no_auto_atwork  1.67  87.2 \n", + "sr3p_ASC_no_auto_eatout  1.53  87.2 \n", + "sr3p_ASC_no_auto_escort -1.87  87.3 \n", + "sr3p_ASC_no_auto_othdiscr  1.40  87.2 \n", + "sr3p_ASC_no_auto_othmaint  0.195  87.2 \n", + "sr3p_ASC_no_auto_school -6.02  112. \n", + "sr3p_ASC_no_auto_shopping  0.847  87.2 \n", + "sr3p_ASC_no_auto_social -1.21  87.2 \n", + "sr3p_ASC_no_auto_univ -6.06  5.30e-05 \n", + "sr3p_ASC_no_auto_work  0.523  87.2 \n", + "taxi_ASC_auto_deficient_atwork -4.75  0.459 \n", + "taxi_ASC_auto_deficient_eatout_othdiscr_social -3.16  0.647 \n", + "taxi_ASC_auto_deficient_escort_othmaint_shopping -0.503  0.313 \n", + "taxi_ASC_auto_deficient_school  0.899  0.968 \n", + "taxi_ASC_auto_deficient_univ  4.25  4.12e-06 \n", + "taxi_ASC_auto_deficient_work -2.30  0.226 \n", + "taxi_ASC_auto_sufficient_atwork -3.31  0.148 \n", + "taxi_ASC_auto_sufficient_eatout_othdiscr_social -3.47  0.416 \n", + "taxi_ASC_auto_sufficient_escort_othmaint_shopping -2.33  0.306 \n", + "taxi_ASC_auto_sufficient_school -2.23  0.956 \n", + "taxi_ASC_auto_sufficient_univ -0.313  NA \n", + "taxi_ASC_auto_sufficient_work -5.14  0.361 \n", + "taxi_ASC_no_auto_atwork  3.63  87.2 \n", + "taxi_ASC_no_auto_eatout_othdiscr_social -0.460  87.2 \n", + "taxi_ASC_no_auto_escort_othmaint_shopping  1.54  87.2 \n", + "taxi_ASC_no_auto_school_univ -7.00  0.00 \n", + "taxi_ASC_no_auto_work  3.89  87.2 \n", + "tnc_shared_ASC_auto_deficient_atwork -5.21  0.410 \n", + "tnc_shared_ASC_auto_deficient_eatout_othdiscr_s... -4.43  1.17 \n", + "tnc_shared_ASC_auto_deficient_escort_othmaint_s... -0.796  0.310 \n", + "tnc_shared_ASC_auto_deficient_school  0.312  0.966 \n", + "tnc_shared_ASC_auto_deficient_univ  3.25  NA \n", + "tnc_shared_ASC_auto_deficient_work -3.73  0.231 \n", + "tnc_shared_ASC_auto_sufficient_atwork -4.09  0.167 \n", + "tnc_shared_ASC_auto_sufficient_eatout_othdiscr_... -3.88  0.393 \n", + "tnc_shared_ASC_auto_sufficient_escort_othmaint_... -2.83  0.305 \n", + "tnc_shared_ASC_auto_sufficient_school -3.62  0.961 \n", + "tnc_shared_ASC_auto_sufficient_univ -0.907  NA \n", + "tnc_shared_ASC_auto_sufficient_work -6.74  0.419 \n", + "tnc_shared_ASC_no_auto_atwork  3.04  87.2 \n", + "tnc_shared_ASC_no_auto_eatout_othdiscr_social -0.000529  87.2 \n", + "tnc_shared_ASC_no_auto_escort_othmaint_shopping  0.776  87.2 \n", + "tnc_shared_ASC_no_auto_school -7.00  0.00 \n", + "tnc_shared_ASC_no_auto_univ -5.81  NA \n", + "tnc_shared_ASC_no_auto_work  2.21  87.2 \n", + "tnc_single_ASC_auto_deficient_atwork -4.36  0.331 \n", + "tnc_single_ASC_auto_deficient_eatout_othdiscr_s... -3.12  0.599 \n", + "tnc_single_ASC_auto_deficient_escort_othmaint_s...  0.0928  0.308 \n", + "tnc_single_ASC_auto_deficient_school  0.0597  0.975 \n", + "tnc_single_ASC_auto_deficient_univ  1.02  2.45e-06 \n", + "tnc_single_ASC_auto_deficient_work -1.47  0.118 \n", + "tnc_single_ASC_auto_sufficient_atwork -3.14  0.125 \n", + "tnc_single_ASC_auto_sufficient_eatout_othdiscr_... -2.83  0.371 \n", + "tnc_single_ASC_auto_sufficient_escort_othmaint_... -1.76  0.302 \n", + "tnc_single_ASC_auto_sufficient_school -2.02  0.953 \n", + "tnc_single_ASC_auto_sufficient_univ  0.209  2.79e-06 \n", + "tnc_single_ASC_auto_sufficient_work -4.33  0.179 \n", + "tnc_single_ASC_no_auto_atwork  4.24  87.2 \n", + "tnc_single_ASC_no_auto_eatout_othdiscr_social  1.06  87.2 \n", + "tnc_single_ASC_no_auto_escort_othmaint_shopping  1.70  87.2 \n", + "tnc_single_ASC_no_auto_school -7.00  0.00 \n", + "tnc_single_ASC_no_auto_univ -2.52  5.36e-06 \n", + "tnc_single_ASC_no_auto_work  5.31  87.2 \n", + "walk_ASC_auto_deficient_atwork  0.175  0.124 \n", + "walk_ASC_auto_deficient_eatout  2.70  0.425 \n", + "walk_ASC_auto_deficient_escort -1.60  0.396 \n", + "walk_ASC_auto_deficient_othdiscr  1.57  0.398 \n", + "walk_ASC_auto_deficient_othmaint  0.643  0.360 \n", + "walk_ASC_auto_deficient_school  2.65  0.964 \n", + "walk_ASC_auto_deficient_shopping  1.31  0.323 \n", + "walk_ASC_auto_deficient_social  2.48  0.516 \n", + "walk_ASC_auto_deficient_univ  4.51  NA \n", + "walk_ASC_auto_deficient_work  1.59  0.0962 \n", + "walk_ASC_auto_sufficient_atwork  0.0786  0.0579 \n", + "walk_ASC_auto_sufficient_eatout  1.19  0.391 \n", + "walk_ASC_auto_sufficient_escort -1.32  0.313 \n", + "walk_ASC_auto_sufficient_othdiscr  0.661  0.376 \n", + "walk_ASC_auto_sufficient_othmaint  0.439  0.310 \n", + "walk_ASC_auto_sufficient_school  0.383  0.951 \n", + "walk_ASC_auto_sufficient_shopping  0.0818  0.305 \n", + "walk_ASC_auto_sufficient_social  0.911  0.439 \n", + "walk_ASC_auto_sufficient_univ  1.06  1.94e-07 \n", + "walk_ASC_auto_sufficient_work -0.417  0.0795 \n", + "walk_ASC_no_auto_atwork  6.61  87.2 \n", + "walk_ASC_no_auto_eatout  4.52  87.2 \n", + "walk_ASC_no_auto_escort  2.56  87.2 \n", + "walk_ASC_no_auto_othdiscr  2.96  87.2 \n", + "walk_ASC_no_auto_othmaint  1.06  87.2 \n", + "walk_ASC_no_auto_school  17.8  116. \n", + "walk_ASC_no_auto_shopping  2.26  87.2 \n", + "walk_ASC_no_auto_social  1.84  87.2 \n", + "walk_ASC_no_auto_univ  6.41  3.50e-09 \n", + "walk_ASC_no_auto_work  5.28  87.2 \n", + "walk_ferry_ASC_eatout_escort_othdiscr_othmaint_... -0.0347  20.6 \n", + "walk_ferry_ASC_school_univ  0.903  NA \n", + "walk_ferry_ASC_work  0.0751  NA \n", + "walk_light_rail_ASC_eatout_escort_othdiscr_othm...  0.115  20.6 \n", + "walk_light_rail_ASC_school_univ  0.721  NA \n", + "walk_light_rail_ASC_work  0.730  NA \n", + "walk_transit_ASC_auto_deficient_atwork -2.84  20.6 \n", + "walk_transit_ASC_auto_deficient_eatout -0.205  20.6 \n", + "walk_transit_ASC_auto_deficient_escort -4.46  20.6 \n", + "walk_transit_ASC_auto_deficient_othdiscr  0.997  20.6 \n", + "walk_transit_ASC_auto_deficient_othmaint -2.91  20.6 \n", + "walk_transit_ASC_auto_deficient_school  3.00  NA \n", + "walk_transit_ASC_auto_deficient_shopping -0.899  20.6 \n", + "walk_transit_ASC_auto_deficient_social  1.32  20.6 \n", + "walk_transit_ASC_auto_deficient_univ  3.14  0.00 \n", + "walk_transit_ASC_auto_deficient_work  0.0663  NA \n", + "walk_transit_ASC_auto_sufficient_atwork -3.76  20.6 \n", + "walk_transit_ASC_auto_sufficient_eatout -0.985  20.6 \n", + "walk_transit_ASC_auto_sufficient_escort -4.68  20.6 \n", + "walk_transit_ASC_auto_sufficient_othdiscr -0.771  20.6 \n", + "walk_transit_ASC_auto_sufficient_othmaint -1.31  20.6 \n", + "walk_transit_ASC_auto_sufficient_school  0.522  NA \n", + "walk_transit_ASC_auto_sufficient_shopping -2.20  20.6 \n", + "walk_transit_ASC_auto_sufficient_social -0.595  20.6 \n", + "walk_transit_ASC_auto_sufficient_univ  0.473  0.00 \n", + "walk_transit_ASC_auto_sufficient_work -1.47  NA \n", + "walk_transit_ASC_no_auto_atwork  2.98  73.6 \n", + "walk_transit_ASC_no_auto_eatout  2.76  73.6 \n", + "walk_transit_ASC_no_auto_escort -2.26  73.7 \n", + "walk_transit_ASC_no_auto_othdiscr  2.64  73.6 \n", + "walk_transit_ASC_no_auto_othmaint  2.43  73.6 \n", + "walk_transit_ASC_no_auto_school  20.5  NA \n", + "walk_transit_ASC_no_auto_shopping  2.18  73.6 \n", + "walk_transit_ASC_no_auto_social  1.90  73.6 \n", + "walk_transit_ASC_no_auto_univ  8.79  0.00 \n", + "walk_transit_ASC_no_auto_work  4.63  NA \n", + "walk_transit_CBD_ASC_atwork  1.18  0.277 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth...  1.09  0.0756 \n", + "walk_transit_CBD_ASC_school_univ  0.826  0.114 \n", + "walk_transit_CBD_ASC_work  1.15  0.0539 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.340  0.190 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.00  NA \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.231  0.185 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.333  0.150 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.245  0.149 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.197  0.214 \n", + "coefficient_name\\ncoef_test coef_test_eatout... -0.0306  0.0255 \n", + "coefficient_name\\ncoef_test coef_test_school...  0.278  0.474 \n", + "coefficient_name\\ncoef_test coef_test_school...  0.00  NA \n", "\n", - "[307 rows x 3 columns]" + " \n", + " t Stat Signif Null Value \n", + "Parameter \n", + "-999  NA 0.0 \n", + "1  NA 0.0 \n", + "bike_ASC_auto_deficient_atwork -3.11 ** 0.0 \n", + "bike_ASC_auto_deficient_eatout -2.02 * 0.0 \n", + "bike_ASC_auto_deficient_escort -6.94 *** 0.0 \n", + "bike_ASC_auto_deficient_othdiscr -1.26 0.0 \n", + "bike_ASC_auto_deficient_othmaint -3.64 *** 0.0 \n", + "bike_ASC_auto_deficient_school -1.19 0.0 \n", + "bike_ASC_auto_deficient_shopping -3.59 *** 0.0 \n", + "bike_ASC_auto_deficient_social  1.11 0.0 \n", + "bike_ASC_auto_deficient_univ -458.48 *** 0.0 \n", + "bike_ASC_auto_deficient_work -3.90 *** 0.0 \n", + "bike_ASC_auto_sufficient_atwork  0.03 0.0 \n", + "bike_ASC_auto_sufficient_eatout -3.17 ** 0.0 \n", + "bike_ASC_auto_sufficient_escort -11.62 *** 0.0 \n", + "bike_ASC_auto_sufficient_othdiscr -3.91 *** 0.0 \n", + "bike_ASC_auto_sufficient_othmaint -7.20 *** 0.0 \n", + "bike_ASC_auto_sufficient_school -2.31 * 0.0 \n", + "bike_ASC_auto_sufficient_shopping -8.52 *** 0.0 \n", + "bike_ASC_auto_sufficient_social -3.88 *** 0.0 \n", + "bike_ASC_auto_sufficient_univ -298.24 *** 0.0 \n", + "bike_ASC_auto_sufficient_work -25.06 *** 0.0 \n", + "bike_ASC_no_auto_atwork -0.01 0.0 \n", + "bike_ASC_no_auto_eatout  0.01 0.0 \n", + "bike_ASC_no_auto_escort -0.01 0.0 \n", + "bike_ASC_no_auto_othdiscr -0.00 0.0 \n", + "bike_ASC_no_auto_othmaint  0.02 0.0 \n", + "bike_ASC_no_auto_school  0.12 0.0 \n", + "bike_ASC_no_auto_shopping  0.01 0.0 \n", + "bike_ASC_no_auto_social  0.01 0.0 \n", + "bike_ASC_no_auto_univ  624.05 *** 0.0 \n", + "bike_ASC_no_auto_work  0.04 0.0 \n", + "coef_age010_trn_multiplier_atwork  NA 0.0 \n", + "coef_age010_trn_multiplier_eatout_escort_othdis...  2.08 * 0.0 \n", + "coef_age010_trn_multiplier_school_univ -9.74 *** 0.0 \n", + "coef_age1619_da_multiplier_atwork -0.94 0.0 \n", + "coef_age1619_da_multiplier_eatout_escort_othdis...  0.01 0.0 \n", + "coef_age1619_da_multiplier_school_univ -22.42 *** 0.0 \n", + "coef_age16p_sr_multiplier_eatout_escort_othdisc... -17.82 *** 0.0 \n", + "coef_age16p_sr_multiplier_school_univ_work_atwork -9.49 *** 0.0 \n", + "coef_hhsize1_sr_multiplier_eatout_escort_othdis... -2.27 * 0.0 \n", + "coef_hhsize1_sr_multiplier_work -14.48 *** 0.0 \n", + "coef_hhsize2_sr_multiplier_eatout_escort_othdis...  0.12 0.0 \n", + "coef_hhsize2_sr_multiplier_school_univ -8.20 *** 0.0 \n", + "coef_ivt_atwork -23.41 *** 0.0 \n", + "coef_ivt_eatout_escort_othdiscr_othmaint_shoppi... -47.65 *** 0.0 \n", + "coef_ivt_school_univ -32.71 *** 0.0 \n", + "coef_ivt_work -53.70 *** 0.0 \n", + "coef_nest_AUTO  NA 1.0 \n", + "coef_nest_AUTO_DRIVEALONE  NA 1.0 \n", + "coef_nest_AUTO_SHAREDRIDE2  NA 1.0 \n", + "coef_nest_AUTO_SHAREDRIDE3  NA 1.0 \n", + "coef_nest_NONMOTORIZED  NA 1.0 \n", + "coef_nest_RIDEHAIL  NA 1.0 \n", + "coef_nest_TRANSIT  NA 1.0 \n", + "coef_nest_TRANSIT_DRIVEACCESS  NA 1.0 \n", + "coef_nest_TRANSIT_WALKACCESS  NA 1.0 \n", + "coef_test_eatout_escort_othdiscr_othmaint_shopp...  NA 0.0 \n", + "coef_test_school_univ  NA 0.0 \n", + "commuter_rail_ASC_eatout_escort_othdiscr_othmai... -0.04 0.0 \n", + "commuter_rail_ASC_school_univ  NA 0.0 \n", + "commuter_rail_ASC_work  NA 0.0 \n", + "drive_ferry_ASC_eatout_escort_othdiscr_othmaint... -0.02 0.0 \n", + "drive_ferry_ASC_school_univ  NA 0.0 \n", + "drive_ferry_ASC_work  NA 0.0 \n", + "drive_light_rail_ASC_eatout_escort_othdiscr_oth... -0.00 0.0 \n", + "drive_light_rail_ASC_school_univ  NA 0.0 \n", + "drive_light_rail_ASC_work  NA 0.0 \n", + "drive_transit_ASC_auto_deficient_atwork -BIG *** 0.0 \n", + "drive_transit_ASC_auto_deficient_eatout  0.01 0.0 \n", + "drive_transit_ASC_auto_deficient_escort -0.10 0.0 \n", + "drive_transit_ASC_auto_deficient_othdiscr -0.04 0.0 \n", + "drive_transit_ASC_auto_deficient_othmaint -0.06 0.0 \n", + "drive_transit_ASC_auto_deficient_school  NA 0.0 \n", + "drive_transit_ASC_auto_deficient_shopping -0.07 0.0 \n", + "drive_transit_ASC_auto_deficient_social  0.03 0.0 \n", + "drive_transit_ASC_auto_deficient_univ  NA 0.0 \n", + "drive_transit_ASC_auto_deficient_work  NA 0.0 \n", + "drive_transit_ASC_auto_sufficient_atwork  NA 0.0 \n", + "drive_transit_ASC_auto_sufficient_eatout -0.06 0.0 \n", + "drive_transit_ASC_auto_sufficient_escort -0.26 0.0 \n", + "drive_transit_ASC_auto_sufficient_othdiscr -0.05 0.0 \n", + "drive_transit_ASC_auto_sufficient_othmaint -0.12 0.0 \n", + "drive_transit_ASC_auto_sufficient_school  NA 0.0 \n", + "drive_transit_ASC_auto_sufficient_shopping -0.19 0.0 \n", + "drive_transit_ASC_auto_sufficient_social -0.07 0.0 \n", + "drive_transit_ASC_auto_sufficient_univ  BIG *** 0.0 \n", + "drive_transit_ASC_auto_sufficient_work  NA 0.0 \n", + "drive_transit_ASC_no_auto_all  0.00 0.0 \n", + "drive_transit_CBD_ASC_atwork  NA 0.0 \n", + "drive_transit_CBD_ASC_eatout_escort_othdiscr_ot...  9.95 *** 0.0 \n", + "drive_transit_CBD_ASC_school_univ  4.76 *** 0.0 \n", + "drive_transit_CBD_ASC_work  23.19 *** 0.0 \n", + "express_bus_ASC_eatout_escort_othdiscr_othmaint... -0.00 0.0 \n", + "express_bus_ASC_school_univ  NA 0.0 \n", + "express_bus_ASC_work  NA 0.0 \n", + "heavy_rail_ASC_eatout_escort_othdiscr_othmaint_...  0.00 0.0 \n", + "heavy_rail_ASC_school_univ  NA 0.0 \n", + "heavy_rail_ASC_work  NA 0.0 \n", + "joint_bike_ASC_auto_deficient_all -4.35 *** 0.0 \n", + "joint_bike_ASC_auto_sufficient_all -14.96 *** 0.0 \n", + "joint_bike_ASC_no_auto_all -2.35 * 0.0 \n", + "joint_drive_transit_ASC_auto_deficient_all -0.29 0.0 \n", + "joint_drive_transit_ASC_auto_sufficient_all -0.38 0.0 \n", + "joint_drive_transit_ASC_no_auto_all  NA 0.0 \n", + "joint_sr2_ASC_auto_deficient_all  NA 0.0 \n", + "joint_sr2_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_sr2_ASC_no_auto_all  NA 0.0 \n", + "joint_sr3p_ASC_auto_deficient_all -5.80 *** 0.0 \n", + "joint_sr3p_ASC_auto_sufficient_all -17.25 *** 0.0 \n", + "joint_sr3p_ASC_no_auto_all  1.44 0.0 \n", + "joint_taxi_ASC_auto_deficient_all -1.14 0.0 \n", + "joint_taxi_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_taxi_ASC_no_auto_all -1.03 0.0 \n", + "joint_tnc_shared_ASC_auto_deficient_all -0.62 0.0 \n", + "joint_tnc_shared_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_tnc_shared_ASC_no_auto_all -2.03 * 0.0 \n", + "joint_tnc_single_ASC_auto_deficient_all -1.30 0.0 \n", + "joint_tnc_single_ASC_auto_sufficient_all  NA 0.0 \n", + "joint_tnc_single_ASC_no_auto_all -1.77 0.0 \n", + "joint_walk_ASC_auto_deficient_all -5.51 *** 0.0 \n", + "joint_walk_ASC_auto_sufficient_all -17.32 *** 0.0 \n", + "joint_walk_ASC_no_auto_all -0.40 0.0 \n", + "joint_walk_transit_ASC_auto_deficient_all -0.26 0.0 \n", + "joint_walk_transit_ASC_auto_sufficient_all -0.03 0.0 \n", + "joint_walk_transit_ASC_no_auto_all  0.02 0.0 \n", + "local_bus_ASC_eatout_escort_othdiscr_othmaint_s... -0.05 0.0 \n", + "local_bus_ASC_school_univ  NA 0.0 \n", + "local_bus_ASC_work  NA 0.0 \n", + "sr2_ASC_auto_deficient_atwork -11.82 *** 0.0 \n", + "sr2_ASC_auto_deficient_eatout  3.25 ** 0.0 \n", + "sr2_ASC_auto_deficient_escort  1.69 0.0 \n", + "sr2_ASC_auto_deficient_othdiscr  3.39 *** 0.0 \n", + "sr2_ASC_auto_deficient_othmaint  3.14 ** 0.0 \n", + "sr2_ASC_auto_deficient_school  0.54 0.0 \n", + "sr2_ASC_auto_deficient_shopping  2.51 * 0.0 \n", + "sr2_ASC_auto_deficient_social  5.12 *** 0.0 \n", + "sr2_ASC_auto_deficient_univ -BIG *** 0.0 \n", + "sr2_ASC_auto_deficient_work  2.76 ** 0.0 \n", + "sr2_ASC_auto_sufficient_atwork -10.34 *** 0.0 \n", + "sr2_ASC_auto_sufficient_eatout  4.18 *** 0.0 \n", + "sr2_ASC_auto_sufficient_escort  2.38 * 0.0 \n", + "sr2_ASC_auto_sufficient_othdiscr  2.87 ** 0.0 \n", + "sr2_ASC_auto_sufficient_othmaint  3.51 *** 0.0 \n", + "sr2_ASC_auto_sufficient_school -0.76 0.0 \n", + "sr2_ASC_auto_sufficient_shopping  2.60 ** 0.0 \n", + "sr2_ASC_auto_sufficient_social  2.43 * 0.0 \n", + "sr2_ASC_auto_sufficient_univ -BIG *** 0.0 \n", + "sr2_ASC_auto_sufficient_work -5.50 *** 0.0 \n", + "sr2_ASC_no_auto_all  0.01 0.0 \n", + "sr3p_ASC_auto_deficient_atwork -13.71 *** 0.0 \n", + "sr3p_ASC_auto_deficient_eatout  1.52 0.0 \n", + "sr3p_ASC_auto_deficient_escort  1.01 0.0 \n", + "sr3p_ASC_auto_deficient_othdiscr  4.32 *** 0.0 \n", + "sr3p_ASC_auto_deficient_othmaint -0.55 0.0 \n", + "sr3p_ASC_auto_deficient_school  1.14 0.0 \n", + "sr3p_ASC_auto_deficient_shopping  1.41 0.0 \n", + "sr3p_ASC_auto_deficient_social  4.52 *** 0.0 \n", + "sr3p_ASC_auto_deficient_univ  NA 0.0 \n", + "sr3p_ASC_auto_deficient_work -3.11 ** 0.0 \n", + "sr3p_ASC_auto_sufficient_atwork -12.59 *** 0.0 \n", + "sr3p_ASC_auto_sufficient_eatout  4.04 *** 0.0 \n", + "sr3p_ASC_auto_sufficient_escort  2.30 * 0.0 \n", + "sr3p_ASC_auto_sufficient_othdiscr  3.12 ** 0.0 \n", + "sr3p_ASC_auto_sufficient_othmaint  2.32 * 0.0 \n", + "sr3p_ASC_auto_sufficient_school -0.16 0.0 \n", + "sr3p_ASC_auto_sufficient_shopping  1.81 0.0 \n", + "sr3p_ASC_auto_sufficient_social  2.45 * 0.0 \n", + "sr3p_ASC_auto_sufficient_univ -BIG *** 0.0 \n", + "sr3p_ASC_auto_sufficient_work -9.68 *** 0.0 \n", + "sr3p_ASC_no_auto_atwork  0.02 0.0 \n", + "sr3p_ASC_no_auto_eatout  0.02 0.0 \n", + "sr3p_ASC_no_auto_escort -0.02 0.0 \n", + "sr3p_ASC_no_auto_othdiscr  0.02 0.0 \n", + "sr3p_ASC_no_auto_othmaint  0.00 0.0 \n", + "sr3p_ASC_no_auto_school -0.05 0.0 \n", + "sr3p_ASC_no_auto_shopping  0.01 0.0 \n", + "sr3p_ASC_no_auto_social -0.01 0.0 \n", + "sr3p_ASC_no_auto_univ -BIG *** 0.0 \n", + "sr3p_ASC_no_auto_work  0.01 0.0 \n", + "taxi_ASC_auto_deficient_atwork -10.34 *** 0.0 \n", + "taxi_ASC_auto_deficient_eatout_othdiscr_social -4.89 *** 0.0 \n", + "taxi_ASC_auto_deficient_escort_othmaint_shopping -1.60 0.0 \n", + "taxi_ASC_auto_deficient_school  0.93 0.0 \n", + "taxi_ASC_auto_deficient_univ  BIG *** 0.0 \n", + "taxi_ASC_auto_deficient_work -10.19 *** 0.0 \n", + "taxi_ASC_auto_sufficient_atwork -22.34 *** 0.0 \n", + "taxi_ASC_auto_sufficient_eatout_othdiscr_social -8.35 *** 0.0 \n", + "taxi_ASC_auto_sufficient_escort_othmaint_shopping -7.60 *** 0.0 \n", + "taxi_ASC_auto_sufficient_school -2.33 * 0.0 \n", + "taxi_ASC_auto_sufficient_univ  NA 0.0 \n", + "taxi_ASC_auto_sufficient_work -14.22 *** 0.0 \n", + "taxi_ASC_no_auto_atwork  0.04 0.0 \n", + "taxi_ASC_no_auto_eatout_othdiscr_social -0.01 0.0 \n", + "taxi_ASC_no_auto_escort_othmaint_shopping  0.02 0.0 \n", + "taxi_ASC_no_auto_school_univ  NA 0.0 \n", + "taxi_ASC_no_auto_work  0.04 0.0 \n", + "tnc_shared_ASC_auto_deficient_atwork -12.71 *** 0.0 \n", + "tnc_shared_ASC_auto_deficient_eatout_othdiscr_s... -3.78 *** 0.0 \n", + "tnc_shared_ASC_auto_deficient_escort_othmaint_s... -2.57 * 0.0 \n", + "tnc_shared_ASC_auto_deficient_school  0.32 0.0 \n", + "tnc_shared_ASC_auto_deficient_univ  NA 0.0 \n", + "tnc_shared_ASC_auto_deficient_work -16.16 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_atwork -24.51 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_eatout_othdiscr_... -9.86 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_escort_othmaint_... -9.30 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_school -3.77 *** 0.0 \n", + "tnc_shared_ASC_auto_sufficient_univ  NA 0.0 \n", + "tnc_shared_ASC_auto_sufficient_work -16.11 *** 0.0 \n", + "tnc_shared_ASC_no_auto_atwork  0.03 0.0 \n", + "tnc_shared_ASC_no_auto_eatout_othdiscr_social -0.00 0.0 \n", + "tnc_shared_ASC_no_auto_escort_othmaint_shopping  0.01 0.0 \n", + "tnc_shared_ASC_no_auto_school  NA 0.0 \n", + "tnc_shared_ASC_no_auto_univ  NA 0.0 \n", + "tnc_shared_ASC_no_auto_work  0.03 0.0 \n", + "tnc_single_ASC_auto_deficient_atwork -13.19 *** 0.0 \n", + "tnc_single_ASC_auto_deficient_eatout_othdiscr_s... -5.21 *** 0.0 \n", + "tnc_single_ASC_auto_deficient_escort_othmaint_s...  0.30 0.0 \n", + "tnc_single_ASC_auto_deficient_school  0.06 0.0 \n", + "tnc_single_ASC_auto_deficient_univ  BIG *** 0.0 \n", + "tnc_single_ASC_auto_deficient_work -12.49 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_atwork -25.04 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_eatout_othdiscr_... -7.62 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_escort_othmaint_... -5.81 *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_school -2.12 * 0.0 \n", + "tnc_single_ASC_auto_sufficient_univ  BIG *** 0.0 \n", + "tnc_single_ASC_auto_sufficient_work -24.13 *** 0.0 \n", + "tnc_single_ASC_no_auto_atwork  0.05 0.0 \n", + "tnc_single_ASC_no_auto_eatout_othdiscr_social  0.01 0.0 \n", + "tnc_single_ASC_no_auto_escort_othmaint_shopping  0.02 0.0 \n", + "tnc_single_ASC_no_auto_school  NA 0.0 \n", + "tnc_single_ASC_no_auto_univ -BIG *** 0.0 \n", + "tnc_single_ASC_no_auto_work  0.06 0.0 \n", + "walk_ASC_auto_deficient_atwork  1.41 0.0 \n", + "walk_ASC_auto_deficient_eatout  6.37 *** 0.0 \n", + "walk_ASC_auto_deficient_escort -4.04 *** 0.0 \n", + "walk_ASC_auto_deficient_othdiscr  3.94 *** 0.0 \n", + "walk_ASC_auto_deficient_othmaint  1.79 0.0 \n", + "walk_ASC_auto_deficient_school  2.75 ** 0.0 \n", + "walk_ASC_auto_deficient_shopping  4.06 *** 0.0 \n", + "walk_ASC_auto_deficient_social  4.82 *** 0.0 \n", + "walk_ASC_auto_deficient_univ  NA 0.0 \n", + "walk_ASC_auto_deficient_work  16.52 *** 0.0 \n", + "walk_ASC_auto_sufficient_atwork  1.36 0.0 \n", + "walk_ASC_auto_sufficient_eatout  3.04 ** 0.0 \n", + "walk_ASC_auto_sufficient_escort -4.20 *** 0.0 \n", + "walk_ASC_auto_sufficient_othdiscr  1.76 0.0 \n", + "walk_ASC_auto_sufficient_othmaint  1.42 0.0 \n", + "walk_ASC_auto_sufficient_school  0.40 0.0 \n", + "walk_ASC_auto_sufficient_shopping  0.27 0.0 \n", + "walk_ASC_auto_sufficient_social  2.08 * 0.0 \n", + "walk_ASC_auto_sufficient_univ  BIG *** 0.0 \n", + "walk_ASC_auto_sufficient_work -5.25 *** 0.0 \n", + "walk_ASC_no_auto_atwork  0.08 0.0 \n", + "walk_ASC_no_auto_eatout  0.05 0.0 \n", + "walk_ASC_no_auto_escort  0.03 0.0 \n", + "walk_ASC_no_auto_othdiscr  0.03 0.0 \n", + "walk_ASC_no_auto_othmaint  0.01 0.0 \n", + "walk_ASC_no_auto_school  0.15 0.0 \n", + "walk_ASC_no_auto_shopping  0.03 0.0 \n", + "walk_ASC_no_auto_social  0.02 0.0 \n", + "walk_ASC_no_auto_univ  BIG *** 0.0 \n", + "walk_ASC_no_auto_work  0.06 0.0 \n", + "walk_ferry_ASC_eatout_escort_othdiscr_othmaint_... -0.00 0.0 \n", + "walk_ferry_ASC_school_univ  NA 0.0 \n", + "walk_ferry_ASC_work  NA 0.0 \n", + "walk_light_rail_ASC_eatout_escort_othdiscr_othm...  0.01 0.0 \n", + "walk_light_rail_ASC_school_univ  NA 0.0 \n", + "walk_light_rail_ASC_work  NA 0.0 \n", + "walk_transit_ASC_auto_deficient_atwork -0.14 0.0 \n", + "walk_transit_ASC_auto_deficient_eatout -0.01 0.0 \n", + "walk_transit_ASC_auto_deficient_escort -0.22 0.0 \n", + "walk_transit_ASC_auto_deficient_othdiscr  0.05 0.0 \n", + "walk_transit_ASC_auto_deficient_othmaint -0.14 0.0 \n", + "walk_transit_ASC_auto_deficient_school  NA 0.0 \n", + "walk_transit_ASC_auto_deficient_shopping -0.04 0.0 \n", + "walk_transit_ASC_auto_deficient_social  0.06 0.0 \n", + "walk_transit_ASC_auto_deficient_univ  NA 0.0 \n", + "walk_transit_ASC_auto_deficient_work  NA 0.0 \n", + "walk_transit_ASC_auto_sufficient_atwork -0.18 0.0 \n", + "walk_transit_ASC_auto_sufficient_eatout -0.05 0.0 \n", + "walk_transit_ASC_auto_sufficient_escort -0.23 0.0 \n", + "walk_transit_ASC_auto_sufficient_othdiscr -0.04 0.0 \n", + "walk_transit_ASC_auto_sufficient_othmaint -0.06 0.0 \n", + "walk_transit_ASC_auto_sufficient_school  NA 0.0 \n", + "walk_transit_ASC_auto_sufficient_shopping -0.11 0.0 \n", + "walk_transit_ASC_auto_sufficient_social -0.03 0.0 \n", + "walk_transit_ASC_auto_sufficient_univ  NA 0.0 \n", + "walk_transit_ASC_auto_sufficient_work  NA 0.0 \n", + "walk_transit_ASC_no_auto_atwork  0.04 0.0 \n", + "walk_transit_ASC_no_auto_eatout  0.04 0.0 \n", + "walk_transit_ASC_no_auto_escort -0.03 0.0 \n", + "walk_transit_ASC_no_auto_othdiscr  0.04 0.0 \n", + "walk_transit_ASC_no_auto_othmaint  0.03 0.0 \n", + "walk_transit_ASC_no_auto_school  NA 0.0 \n", + "walk_transit_ASC_no_auto_shopping  0.03 0.0 \n", + "walk_transit_ASC_no_auto_social  0.03 0.0 \n", + "walk_transit_ASC_no_auto_univ  NA 0.0 \n", + "walk_transit_ASC_no_auto_work  NA 0.0 \n", + "walk_transit_CBD_ASC_atwork  4.28 *** 0.0 \n", + "walk_transit_CBD_ASC_eatout_escort_othdiscr_oth...  14.41 *** 0.0 \n", + "walk_transit_CBD_ASC_school_univ  7.24 *** 0.0 \n", + "walk_transit_CBD_ASC_work  21.27 *** 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  1.78 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  NA 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  1.24 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  2.22 * 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  1.64 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout...  0.92 0.0 \n", + "coefficient_name\\ncoef_test coef_test_eatout... -1.20 0.0 \n", + "coefficient_name\\ncoef_test coef_test_school...  0.59 0.0 \n", + "coefficient_name\\ncoef_test coef_test_school...  NA 0.0 " ] }, - "execution_count": 15, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "pd.read_csv(result_dir/f\"{modelname}_coefficients_revised.csv\")" + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.parameter_summary().data,\n", + " \"remodel\": remodel.parameter_summary().data,\n", + " }, axis=1).fillna(\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "execution": { + "iopub.execute_input": "2025-06-26T02:27:37.943631Z", + "iopub.status.busy": "2025-06-26T02:27:37.943503Z", + "iopub.status.idle": "2025-06-26T02:27:38.022217Z", + "shell.execute_reply": "2025-06-26T02:27:38.021934Z", + "shell.execute_reply.started": "2025-06-26T02:27:37.943621Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelremodel
Number of CasesAggregate69971.00000069971.000000
Log Likelihood at ConvergenceAggregate-76508.289239-76502.093437
Per Case-1.093429-1.093340
Log Likelihood at Null ParametersAggregate-142469.530288-142469.530288
Per Case-2.036123-2.036123
Rho Squared w.r.t. Null ParametersAggregate0.4629850.463028
\n", + "
" + ], + "text/plain": [ + " model remodel\n", + "Number of Cases Aggregate 69971.000000 69971.000000\n", + "Log Likelihood at Convergence Aggregate -76508.289239 -76502.093437\n", + " Per Case -1.093429 -1.093340\n", + "Log Likelihood at Null Parameters Aggregate -142469.530288 -142469.530288\n", + " Per Case -2.036123 -2.036123\n", + "Rho Squared w.r.t. Null Parameters Aggregate 0.462985 0.463028" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with pd.option_context('display.max_rows', 999):\n", + " display(pd.concat({\n", + " \"model\": model.estimation_statistics_raw(),\n", + " \"remodel\": remodel.estimation_statistics_raw(),\n", + " }, axis=1).fillna(\"\"))" ] } ], @@ -4539,7 +13023,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4553,7 +13037,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/18_atwork_subtour_freq.ipynb b/activitysim/examples/example_estimation/notebooks/18_atwork_subtour_freq.ipynb index 4bd5cd1f3e..9d92886e00 100644 --- a/activitysim/examples/example_estimation/notebooks/18_atwork_subtour_freq.ipynb +++ b/activitysim/examples/example_estimation/notebooks/18_atwork_subtour_freq.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -68,12 +115,27 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_frequency/atwork_subtour_frequency_coefficients.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/atwork_subtour_frequency/atwork_subtour_frequency_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_frequency/atwork_subtour_frequency_values_combined.parquet\n" + ] + } + ], "source": [ "modelname = \"atwork_subtour_frequency\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -752,11 +814,11 @@ " util_individual_discretionary_tours_made_by_full_time_worker\n", " util_individual_discretionary_tours_made_by_part_time_worker\n", " ...\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " num_maint_shop_escort\n", " num_joint_discr\n", " num_joint_maint_shop_eat\n", @@ -790,31 +852,31 @@ " \n", " \n", " \n", - " 2998943\n", - " maint\n", - " maint\n", + " 2966594\n", + " no_subtours\n", + " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 2.48345\n", - " 26.073171\n", - " 8.048780\n", - " 6.150212\n", - " False\n", + " 9.119016\n", + " 6.446184\n", + " 9.035333\n", + " 5.256966\n", + " 6.831275\n", " 0\n", " 0\n", " 0\n", " False\n", - " 3\n", + " 1\n", " \n", " \n", - " 3060361\n", + " 3046667\n", " eat\n", " eat\n", " 1.0\n", @@ -826,45 +888,45 @@ " 0.0\n", " 0.0\n", " ...\n", - " 2.09035\n", - " 20.666667\n", - " 4.107527\n", - " 3.426505\n", - " False\n", + " 7.771767\n", + " 5.298242\n", + " 7.602426\n", + " 6.443514\n", + " 7.965548\n", " 0\n", " 0\n", " 0\n", - " True\n", + " False\n", " 1\n", " \n", " \n", - " 4422914\n", - " eat\n", + " 3048143\n", + " no_subtours\n", " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 5.35435\n", - " 139.333333\n", - " 418.518519\n", - " 104.532377\n", - " False\n", + " 7.771767\n", + " 5.298242\n", + " 7.602426\n", + " 6.443514\n", + " 7.965548\n", " 0\n", " 0\n", " 0\n", - " False\n", + " True\n", " 1\n", " \n", " \n", - " 4440298\n", - " maint\n", - " maint\n", + " 3177498\n", + " no_subtours\n", + " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", @@ -874,39 +936,39 @@ " 0.0\n", " 0.0\n", " ...\n", - " 5.22542\n", - " 97.634722\n", - " 550.205552\n", - " 82.920387\n", - " False\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 0\n", " 0\n", " 0\n", - " False\n", - " 3\n", + " True\n", + " 1\n", " \n", " \n", - " 4496796\n", - " maint\n", + " 3191848\n", + " eat\n", " maint\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 4.73802\n", - " 117.769796\n", - " 246.205869\n", - " 79.663609\n", - " False\n", + " 3.278544\n", + " 1.239060\n", + " 3.280429\n", + " 4.284159\n", + " 6.249753\n", " 0\n", " 0\n", " 0\n", - " False\n", + " True\n", " 3\n", " \n", " \n", @@ -934,258 +996,258 @@ " ...\n", " \n", " \n", - " 302923742\n", - " maint\n", - " maint\n", + " 308156039\n", + " no_subtours\n", + " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 2.37546\n", - " 19.153846\n", - " 5.907692\n", - " 4.515087\n", - " False\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 3.086628\n", + " 5.647842\n", " 0\n", " 0\n", " 0\n", - " True\n", - " 3\n", + " False\n", + " 1\n", " \n", " \n", - " 302942602\n", - " eat\n", - " eat\n", + " 308227666\n", + " no_subtours\n", + " maint\n", + " 0.0\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 2.81406\n", - " 16.068376\n", - " 21.136752\n", - " 9.128669\n", - " False\n", + " 7.890189\n", + " 4.493279\n", + " 7.643024\n", + " 5.529241\n", + " 8.876000\n", " 0\n", " 0\n", " 0\n", " True\n", - " 1\n", + " 3\n", " \n", " \n", - " 302942643\n", - " maint\n", - " maint\n", + " 308260138\n", + " no_subtours\n", + " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 2.81406\n", - " 16.068376\n", - " 21.136752\n", - " 9.128669\n", - " False\n", + " 7.614481\n", + " 3.838266\n", + " 7.011926\n", + " 5.169891\n", + " 8.595128\n", " 0\n", " 0\n", " 0\n", " False\n", - " 3\n", + " 1\n", " \n", " \n", - " 305120481\n", - " maint\n", - " maint\n", + " 309080753\n", + " no_subtours\n", + " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 8.54946\n", - " 55.606634\n", - " 142.984438\n", - " 40.036459\n", - " False\n", + " 9.892019\n", + " 6.979741\n", + " 9.773601\n", + " 6.557982\n", + " 8.518901\n", " 0\n", " 0\n", " 0\n", " False\n", - " 3\n", + " 1\n", " \n", " \n", - " 308000690\n", - " maint\n", + " 309112036\n", " maint\n", - " 0.0\n", + " eat\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 0.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", - " 4.64648\n", - " 196.395950\n", - " 178.779465\n", - " 93.587057\n", - " False\n", + " 0.222696\n", + " 0.016077\n", + " 0.153189\n", + " 0.000000\n", + " 0.000000\n", " 0\n", " 0\n", " 0\n", - " False\n", - " 3\n", + " True\n", + " 1\n", " \n", " \n", "\n", - "

460 rows × 182 columns

\n", + "

5947 rows × 182 columns

\n", "
" ], "text/plain": [ " model_choice override_choice util_dummy_for_full_time_worker \\\n", "tour_id \n", - "2998943 maint maint 1.0 \n", - "3060361 eat eat 1.0 \n", - "4422914 eat eat 1.0 \n", - "4440298 maint maint 1.0 \n", - "4496796 maint maint 1.0 \n", + "2966594 no_subtours eat 1.0 \n", + "3046667 eat eat 1.0 \n", + "3048143 no_subtours eat 1.0 \n", + "3177498 no_subtours eat 1.0 \n", + "3191848 eat maint 1.0 \n", "... ... ... ... \n", - "302923742 maint maint 1.0 \n", - "302942602 eat eat 1.0 \n", - "302942643 maint maint 1.0 \n", - "305120481 maint maint 1.0 \n", - "308000690 maint maint 0.0 \n", + "308156039 no_subtours eat 1.0 \n", + "308227666 no_subtours maint 0.0 \n", + "308260138 no_subtours eat 1.0 \n", + "309080753 no_subtours eat 1.0 \n", + "309112036 maint eat 1.0 \n", "\n", " util_dummy_for_non_full_time_worker util_dummy_for_non_workers \\\n", "tour_id \n", - "2998943 0.0 0.0 \n", - "3060361 0.0 0.0 \n", - "4422914 0.0 0.0 \n", - "4440298 0.0 0.0 \n", - "4496796 0.0 0.0 \n", + "2966594 0.0 0.0 \n", + "3046667 0.0 0.0 \n", + "3048143 0.0 0.0 \n", + "3177498 0.0 0.0 \n", + "3191848 0.0 0.0 \n", "... ... ... \n", - "302923742 0.0 0.0 \n", - "302942602 0.0 0.0 \n", - "302942643 0.0 0.0 \n", - "305120481 0.0 0.0 \n", - "308000690 1.0 0.0 \n", + "308156039 0.0 0.0 \n", + "308227666 1.0 0.0 \n", + "308260138 0.0 0.0 \n", + "309080753 0.0 0.0 \n", + "309112036 0.0 0.0 \n", "\n", " util_medium_hh_income_dummy util_high_hh_income_dummy \\\n", "tour_id \n", - "2998943 0.0 0.0 \n", - "3060361 0.0 0.0 \n", - "4422914 0.0 0.0 \n", - "4440298 0.0 0.0 \n", - "4496796 0.0 0.0 \n", + "2966594 0.0 0.0 \n", + "3046667 0.0 0.0 \n", + "3048143 0.0 0.0 \n", + "3177498 0.0 0.0 \n", + "3191848 0.0 0.0 \n", "... ... ... \n", - "302923742 0.0 1.0 \n", - "302942602 0.0 1.0 \n", - "302942643 0.0 1.0 \n", - "305120481 0.0 1.0 \n", - "308000690 0.0 0.0 \n", + "308156039 0.0 0.0 \n", + "308227666 0.0 0.0 \n", + "308260138 0.0 0.0 \n", + "309080753 0.0 0.0 \n", + "309112036 0.0 0.0 \n", "\n", " util_zero_cars_owned_by_hh_dummy \\\n", "tour_id \n", - "2998943 1.0 \n", - "3060361 0.0 \n", - "4422914 1.0 \n", - "4440298 0.0 \n", - "4496796 1.0 \n", + "2966594 0.0 \n", + "3046667 0.0 \n", + "3048143 0.0 \n", + "3177498 0.0 \n", + "3191848 0.0 \n", "... ... \n", - "302923742 0.0 \n", - "302942602 0.0 \n", - "302942643 0.0 \n", - "305120481 0.0 \n", - "308000690 1.0 \n", + "308156039 0.0 \n", + "308227666 0.0 \n", + "308260138 0.0 \n", + "309080753 1.0 \n", + "309112036 0.0 \n", "\n", " util_individual_discretionary_tours_made_by_full_time_worker \\\n", "tour_id \n", - "2998943 0.0 \n", - "3060361 0.0 \n", - "4422914 0.0 \n", - "4440298 0.0 \n", - "4496796 0.0 \n", + "2966594 0.0 \n", + "3046667 0.0 \n", + "3048143 0.0 \n", + "3177498 0.0 \n", + "3191848 0.0 \n", "... ... \n", - "302923742 0.0 \n", - "302942602 0.0 \n", - "302942643 0.0 \n", - "305120481 0.0 \n", - "308000690 0.0 \n", + "308156039 0.0 \n", + "308227666 0.0 \n", + "308260138 0.0 \n", + "309080753 0.0 \n", + "309112036 0.0 \n", "\n", " util_individual_discretionary_tours_made_by_part_time_worker ... \\\n", "tour_id ... \n", - "2998943 0.0 ... \n", - "3060361 0.0 ... \n", - "4422914 0.0 ... \n", - "4440298 0.0 ... \n", - "4496796 0.0 ... \n", + "2966594 0.0 ... \n", + "3046667 0.0 ... \n", + "3048143 0.0 ... \n", + "3177498 0.0 ... \n", + "3191848 0.0 ... \n", "... ... ... \n", - "302923742 0.0 ... \n", - "302942602 0.0 ... \n", - "302942643 0.0 ... \n", - "305120481 0.0 ... \n", - "308000690 0.0 ... \n", + "308156039 0.0 ... \n", + "308227666 0.0 ... \n", + "308260138 0.0 ... \n", + "309080753 0.0 ... \n", + "309112036 0.0 ... \n", "\n", - " TERMINAL household_density employment_density density_index \\\n", - "tour_id \n", - "2998943 2.48345 26.073171 8.048780 6.150212 \n", - "3060361 2.09035 20.666667 4.107527 3.426505 \n", - "4422914 5.35435 139.333333 418.518519 104.532377 \n", - "4440298 5.22542 97.634722 550.205552 82.920387 \n", - "4496796 4.73802 117.769796 246.205869 79.663609 \n", - "... ... ... ... ... \n", - "302923742 2.37546 19.153846 5.907692 4.515087 \n", - "302942602 2.81406 16.068376 21.136752 9.128669 \n", - "302942643 2.81406 16.068376 21.136752 9.128669 \n", - "305120481 8.54946 55.606634 142.984438 40.036459 \n", - "308000690 4.64648 196.395950 178.779465 93.587057 \n", + " trPkTotal trOpRetail trOpTotal nmRetail nmTotal \\\n", + "tour_id \n", + "2966594 9.119016 6.446184 9.035333 5.256966 6.831275 \n", + "3046667 7.771767 5.298242 7.602426 6.443514 7.965548 \n", + "3048143 7.771767 5.298242 7.602426 6.443514 7.965548 \n", + "3177498 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "3191848 3.278544 1.239060 3.280429 4.284159 6.249753 \n", + "... ... ... ... ... ... \n", + "308156039 0.000000 0.000000 0.000000 3.086628 5.647842 \n", + "308227666 7.890189 4.493279 7.643024 5.529241 8.876000 \n", + "308260138 7.614481 3.838266 7.011926 5.169891 8.595128 \n", + "309080753 9.892019 6.979741 9.773601 6.557982 8.518901 \n", + "309112036 0.222696 0.016077 0.153189 0.000000 0.000000 \n", "\n", - " is_cbd num_maint_shop_escort num_joint_discr \\\n", - "tour_id \n", - "2998943 False 0 0 \n", - "3060361 False 0 0 \n", - "4422914 False 0 0 \n", - "4440298 False 0 0 \n", - "4496796 False 0 0 \n", - "... ... ... ... \n", - "302923742 False 0 0 \n", - "302942602 False 0 0 \n", - "302942643 False 0 0 \n", - "305120481 False 0 0 \n", - "308000690 False 0 0 \n", + " num_maint_shop_escort num_joint_discr num_joint_maint_shop_eat \\\n", + "tour_id \n", + "2966594 0 0 0 \n", + "3046667 0 0 0 \n", + "3048143 0 0 0 \n", + "3177498 0 0 0 \n", + "3191848 0 0 0 \n", + "... ... ... ... \n", + "308156039 0 0 0 \n", + "308227666 0 0 0 \n", + "308260138 0 0 0 \n", + "309080753 0 0 0 \n", + "309112036 0 0 0 \n", "\n", - " num_joint_maint_shop_eat work_tour_is_SOV override_choice_code \n", - "tour_id \n", - "2998943 0 False 3 \n", - "3060361 0 True 1 \n", - "4422914 0 False 1 \n", - "4440298 0 False 3 \n", - "4496796 0 False 3 \n", - "... ... ... ... \n", - "302923742 0 True 3 \n", - "302942602 0 True 1 \n", - "302942643 0 False 3 \n", - "305120481 0 False 3 \n", - "308000690 0 False 3 \n", + " work_tour_is_SOV override_choice_code \n", + "tour_id \n", + "2966594 False 1 \n", + "3046667 False 1 \n", + "3048143 True 1 \n", + "3177498 True 1 \n", + "3191848 True 3 \n", + "... ... ... \n", + "308156039 False 1 \n", + "308227666 True 3 \n", + "308260138 False 1 \n", + "309080753 False 1 \n", + "309112036 True 1 \n", "\n", - "[460 rows x 182 columns]" + "[5947 rows x 182 columns]" ] }, "execution_count": 6, @@ -1211,17 +1273,10 @@ "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 075 [Optimization terminated successfully]

" + "

Iteration 100 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1233,7 +1288,7 @@ { "data": { "text/html": [ - "

Best LL = -311.0816324383027

" + "

Best LL = -4832.223778692503

" ], "text/plain": [ "" @@ -1264,70 +1319,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coefficient_at_work_sub_tour_asc_business1\n", - " 1.421407\n", + " -0.350395\n", + " -0.350395\n", " -0.5372\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 1.421407\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_business2\n", - " -0.130778\n", + " -2.211281\n", + " -2.211281\n", " -2.1337\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.130778\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_eat\n", - " 5.809056\n", + " 0.440311\n", + " 0.440311\n", " 0.8576\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 5.809056\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_eat_business\n", - " -23.415363\n", + " -0.860366\n", + " -0.860366\n", " -0.9721\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -23.415363\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_maint\n", - " 12.910479\n", + " -0.423469\n", + " -0.423469\n", " -0.6198\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 12.910479\n", " \n", " \n", " ...\n", @@ -1338,122 +1397,120 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_business1\n", - " -0.526876\n", + " -0.633755\n", + " -0.633755\n", " -0.3391\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.526876\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_business2\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_eat\n", " 0.000000\n", + " 0.000000\n", " 0.0000\n", " 0.0\n", - " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_eat_business\n", - " -19.116288\n", + " -0.847707\n", + " -0.847707\n", " -0.3391\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -19.116288\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_maint\n", - " 0.559350\n", + " -0.020836\n", + " -0.020836\n", " 0.1762\n", + " -50.0\n", + " 50.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.559350\n", " \n", " \n", "\n", - "

110 rows × 8 columns

\n", + "

110 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coefficient_at_work_sub_tour_asc_business1 1.421407 -0.5372 \n", - "coefficient_at_work_sub_tour_asc_business2 -0.130778 -2.1337 \n", - "coefficient_at_work_sub_tour_asc_eat 5.809056 0.8576 \n", - "coefficient_at_work_sub_tour_asc_eat_business -23.415363 -0.9721 \n", - "coefficient_at_work_sub_tour_asc_maint 12.910479 -0.6198 \n", - "... ... ... \n", - "coefficient_zero_cars_owned_by_hh_dummy_business1 -0.526876 -0.3391 \n", - "coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000 0.0000 \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000 0.0000 \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... -19.116288 -0.3391 \n", - "coefficient_zero_cars_owned_by_hh_dummy_maint 0.559350 0.1762 \n", + " value best \\\n", + "param_name \n", + "coefficient_at_work_sub_tour_asc_business1 -0.350395 -0.350395 \n", + "coefficient_at_work_sub_tour_asc_business2 -2.211281 -2.211281 \n", + "coefficient_at_work_sub_tour_asc_eat 0.440311 0.440311 \n", + "coefficient_at_work_sub_tour_asc_eat_business -0.860366 -0.860366 \n", + "coefficient_at_work_sub_tour_asc_maint -0.423469 -0.423469 \n", + "... ... ... \n", + "coefficient_zero_cars_owned_by_hh_dummy_business1 -0.633755 -0.633755 \n", + "coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000 0.000000 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000 0.000000 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... -0.847707 -0.847707 \n", + "coefficient_zero_cars_owned_by_hh_dummy_maint -0.020836 -0.020836 \n", "\n", - " nullvalue minimum \\\n", - "coefficient_at_work_sub_tour_asc_business1 0.0 NaN \n", - "coefficient_at_work_sub_tour_asc_business2 0.0 NaN \n", - "coefficient_at_work_sub_tour_asc_eat 0.0 NaN \n", - "coefficient_at_work_sub_tour_asc_eat_business 0.0 NaN \n", - "coefficient_at_work_sub_tour_asc_maint 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coefficient_at_work_sub_tour_asc_business1 -0.5372 -50.0 \n", + "coefficient_at_work_sub_tour_asc_business2 -2.1337 -50.0 \n", + "coefficient_at_work_sub_tour_asc_eat 0.8576 -50.0 \n", + "coefficient_at_work_sub_tour_asc_eat_business -0.9721 -50.0 \n", + "coefficient_at_work_sub_tour_asc_maint -0.6198 -50.0 \n", "... ... ... \n", - "coefficient_zero_cars_owned_by_hh_dummy_business1 0.0 NaN \n", - "coefficient_zero_cars_owned_by_hh_dummy_business2 0.0 NaN \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat 0.0 NaN \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... 0.0 NaN \n", - "coefficient_zero_cars_owned_by_hh_dummy_maint 0.0 NaN \n", + "coefficient_zero_cars_owned_by_hh_dummy_business1 -0.3391 -50.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_business2 0.0000 0.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat 0.0000 0.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... -0.3391 -50.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_maint 0.1762 -50.0 \n", "\n", - " maximum holdfast note \\\n", - "coefficient_at_work_sub_tour_asc_business1 NaN 0 \n", - "coefficient_at_work_sub_tour_asc_business2 NaN 0 \n", - "coefficient_at_work_sub_tour_asc_eat NaN 0 \n", - "coefficient_at_work_sub_tour_asc_eat_business NaN 0 \n", - "coefficient_at_work_sub_tour_asc_maint NaN 0 \n", - "... ... ... ... \n", - "coefficient_zero_cars_owned_by_hh_dummy_business1 NaN 0 \n", - "coefficient_zero_cars_owned_by_hh_dummy_business2 NaN 1 \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat NaN 1 \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... NaN 0 \n", - "coefficient_zero_cars_owned_by_hh_dummy_maint NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coefficient_at_work_sub_tour_asc_business1 50.0 0.0 \n", + "coefficient_at_work_sub_tour_asc_business2 50.0 0.0 \n", + "coefficient_at_work_sub_tour_asc_eat 50.0 0.0 \n", + "coefficient_at_work_sub_tour_asc_eat_business 50.0 0.0 \n", + "coefficient_at_work_sub_tour_asc_maint 50.0 0.0 \n", + "... ... ... \n", + "coefficient_zero_cars_owned_by_hh_dummy_business1 50.0 0.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_business2 0.0 0.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat 0.0 0.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... 50.0 0.0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_maint 50.0 0.0 \n", "\n", - " best \n", - "coefficient_at_work_sub_tour_asc_business1 1.421407 \n", - "coefficient_at_work_sub_tour_asc_business2 -0.130778 \n", - "coefficient_at_work_sub_tour_asc_eat 5.809056 \n", - "coefficient_at_work_sub_tour_asc_eat_business -23.415363 \n", - "coefficient_at_work_sub_tour_asc_maint 12.910479 \n", - "... ... \n", - "coefficient_zero_cars_owned_by_hh_dummy_business1 -0.526876 \n", - "coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000 \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000 \n", - "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... -19.116288 \n", - "coefficient_zero_cars_owned_by_hh_dummy_maint 0.559350 \n", + " holdfast \n", + "param_name \n", + "coefficient_at_work_sub_tour_asc_business1 0 \n", + "coefficient_at_work_sub_tour_asc_business2 0 \n", + "coefficient_at_work_sub_tour_asc_eat 0 \n", + "coefficient_at_work_sub_tour_asc_eat_business 0 \n", + "coefficient_at_work_sub_tour_asc_maint 0 \n", + "... ... \n", + "coefficient_zero_cars_owned_by_hh_dummy_business1 0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_business2 1 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat 1 \n", + "coefficient_zero_cars_owned_by_hh_dummy_eat_bus... 0 \n", + "coefficient_zero_cars_owned_by_hh_dummy_maint 0 \n", "\n", - "[110 rows x 8 columns]" + "[110 rows x 7 columns]" ] }, "metadata": {}, @@ -1463,12 +1520,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate(method='SLSQP')\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.5647113087279e-33 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " model.estimate(method='SLSQP')\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -1484,446 +1537,446 @@ " \n", " \n", " coefficient_at_work_sub_tour_asc_business1\n", - " 1.421407e+00\n", + " -0.350395\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_business2\n", - " -1.307783e-01\n", + " -2.211281\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_eat\n", - " 5.809056e+00\n", + " 0.440311\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_eat_business\n", - " -2.341536e+01\n", + " -0.860366\n", " \n", " \n", " coefficient_at_work_sub_tour_asc_maint\n", - " 1.291048e+01\n", + " -0.423469\n", " \n", " \n", " coefficient_auto_accessibility_to_retail_for_work_taz_business1\n", - " -2.350832e-01\n", + " 0.078156\n", " \n", " \n", " coefficient_auto_accessibility_to_retail_for_work_taz_business2\n", - " 2.951134e+00\n", + " 0.295708\n", " \n", " \n", " coefficient_auto_accessibility_to_retail_for_work_taz_eat\n", - " -7.610481e-01\n", + " 0.137215\n", " \n", " \n", " coefficient_auto_accessibility_to_retail_for_work_taz_eat_business\n", - " 1.515548e+00\n", + " -0.262951\n", " \n", " \n", " coefficient_auto_accessibility_to_retail_for_work_taz_maint\n", - " -3.200651e+00\n", + " 0.021772\n", " \n", " \n", " coefficient_dummy_for_drive_alone_mode_for_work_tour_business1\n", - " 3.943802e+00\n", + " 0.949692\n", " \n", " \n", " coefficient_dummy_for_drive_alone_mode_for_work_tour_business2\n", - " -7.285121e+00\n", + " 1.745346\n", " \n", " \n", " coefficient_dummy_for_drive_alone_mode_for_work_tour_eat\n", - " 3.216240e+00\n", + " 0.488173\n", " \n", " \n", " coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business\n", - " 2.333483e+00\n", + " 1.784643\n", " \n", " \n", " coefficient_dummy_for_drive_alone_mode_for_work_tour_maint\n", - " 3.865797e+00\n", + " 1.106347\n", " \n", " \n", " coefficient_dummy_for_full_time_worker_business1\n", - " -1.136529e+01\n", + " -7.402415\n", " \n", " \n", " coefficient_dummy_for_full_time_worker_business2\n", - " -1.383392e+01\n", + " -13.824988\n", " \n", " \n", " coefficient_dummy_for_full_time_worker_eat\n", - " -9.545916e+00\n", + " -7.551797\n", " \n", " \n", " coefficient_dummy_for_full_time_worker_eat_business\n", - " -1.119217e+01\n", + " -14.974823\n", " \n", " \n", " coefficient_dummy_for_full_time_worker_maint\n", - " -5.880704e+00\n", + " -8.063977\n", " \n", " \n", " coefficient_dummy_for_non_full_time_worker_business1\n", - " -2.370101e+00\n", + " -8.104781\n", " \n", " \n", " coefficient_dummy_for_non_full_time_worker_business2\n", - " -1.272316e+01\n", + " -14.812593\n", " \n", " \n", " coefficient_dummy_for_non_full_time_worker_eat\n", - " -1.386629e+00\n", + " -8.749492\n", " \n", " \n", " coefficient_dummy_for_non_full_time_worker_eat_business\n", - " -4.083109e+01\n", + " -14.493442\n", " \n", " \n", " coefficient_dummy_for_non_full_time_worker_maint\n", - " 3.103983e+00\n", + " -8.046692\n", " \n", " \n", " coefficient_dummy_for_non_workers_business1\n", - " -5.000000e+00\n", + " -5.000000\n", " \n", " \n", " coefficient_dummy_for_non_workers_business2\n", - " -5.000000e+00\n", + " -5.000000\n", " \n", " \n", " coefficient_dummy_for_non_workers_eat\n", - " -3.678488e-14\n", + " 0.000000\n", " \n", " \n", " coefficient_dummy_for_non_workers_eat_business\n", - " -5.000000e+00\n", + " -5.000000\n", " \n", " \n", " coefficient_dummy_for_non_workers_maint\n", - " -5.000000e+00\n", + " -5.000000\n", " \n", " \n", " coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1\n", - " 5.542765e-14\n", + " 0.000000\n", " \n", " \n", " coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2\n", - " -6.800386e-14\n", + " 0.000000\n", " \n", " \n", " coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat\n", - " -7.803277e-15\n", + " 0.000000\n", " \n", " \n", " coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business\n", - " 9.964378e-15\n", + " 0.000000\n", " \n", " \n", " coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint\n", - " -4.465435e-01\n", + " -0.857652\n", " \n", " \n", " coefficient_high_hh_income_dummy_business1\n", - " -5.699484e+00\n", + " 1.051824\n", " \n", " \n", " coefficient_high_hh_income_dummy_business2\n", - " 1.817758e+01\n", + " 1.775205\n", " \n", " \n", " coefficient_high_hh_income_dummy_eat\n", - " -5.360138e+00\n", + " 0.987000\n", " \n", " \n", " coefficient_high_hh_income_dummy_eat_business\n", - " 5.949348e+00\n", + " 2.165299\n", " \n", " \n", " coefficient_high_hh_income_dummy_maint\n", - " -6.899602e+00\n", + " 0.188372\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_full_time_worker_business1\n", - " -1.423867e+00\n", + " 0.746021\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_full_time_worker_business2\n", - " 1.949725e+01\n", + " 0.764494\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_full_time_worker_eat\n", - " -1.457980e+00\n", + " 0.315100\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business\n", - " -1.111294e+01\n", + " 1.303968\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_full_time_worker_maint\n", - " -1.711559e+00\n", + " 0.661317\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_part_time_worker_business1\n", - " 1.701675e+00\n", + " 0.057399\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_part_time_worker_business2\n", - " 1.531338e+00\n", + " 2.149968\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_part_time_worker_eat\n", - " 9.815649e-01\n", + " 0.034146\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business\n", - " 2.152744e-01\n", + " 1.416263\n", " \n", " \n", " coefficient_individual_discretionary_tours_made_by_part_time_worker_maint\n", - " 2.494477e-01\n", + " 1.021525\n", " \n", " \n", " coefficient_individual_eating_out_tours_made_by_person_business1\n", - " 4.249081e-01\n", + " 0.263548\n", " \n", " \n", " coefficient_individual_eating_out_tours_made_by_person_business2\n", - " 1.688422e+01\n", + " 1.149846\n", " \n", " \n", " coefficient_individual_eating_out_tours_made_by_person_eat\n", - " -2.110385e-01\n", + " 0.231645\n", " \n", " \n", " coefficient_individual_eating_out_tours_made_by_person_eat_business\n", - " -1.375749e+01\n", + " 1.418076\n", " \n", " \n", " coefficient_individual_eating_out_tours_made_by_person_maint\n", - " 8.477993e-01\n", + " 1.125285\n", " \n", " \n", " coefficient_log_of_the_work_tour_duration_business1\n", - " 1.079743e+01\n", + " 1.007122\n", " \n", " \n", " coefficient_log_of_the_work_tour_duration_business2\n", - " -4.104113e+01\n", + " 1.771287\n", " \n", " \n", " coefficient_log_of_the_work_tour_duration_eat\n", - " 9.912072e+00\n", + " 1.458489\n", " \n", " \n", " coefficient_log_of_the_work_tour_duration_eat_business\n", - " 1.921602e+01\n", + " 3.447598\n", " \n", " \n", " coefficient_log_of_the_work_tour_duration_maint\n", - " 1.044261e+01\n", + " 1.642504\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1\n", - " 5.245200e+00\n", + " -0.181697\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2\n", - " -5.957409e+00\n", + " -0.328201\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat\n", - " 5.734339e+00\n", + " -0.013286\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business\n", - " -1.136555e+01\n", + " -0.788124\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint\n", - " 5.726820e+00\n", + " 0.694707\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1\n", - " -1.437920e+01\n", + " -0.005852\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2\n", - " 1.824373e-01\n", + " -0.444998\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat\n", - " 6.645087e+00\n", + " -0.120943\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business\n", - " -4.922608e-01\n", + " -1.170010\n", " \n", " \n", " coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint\n", - " 6.390638e+00\n", + " 0.088504\n", " \n", " \n", " coefficient_medium_hh_income_dummy_business1\n", - " -3.286293e+00\n", + " 0.374955\n", " \n", " \n", " coefficient_medium_hh_income_dummy_business2\n", - " 2.006070e+00\n", + " 1.384595\n", " \n", " \n", " coefficient_medium_hh_income_dummy_eat\n", - " -2.530097e+00\n", + " 0.467235\n", " \n", " \n", " coefficient_medium_hh_income_dummy_eat_business\n", - " 1.050098e+01\n", + " 1.373736\n", " \n", " \n", " coefficient_medium_hh_income_dummy_maint\n", - " -3.095965e+00\n", + " -0.005820\n", " \n", " \n", " coefficient_participation_in_joint_discretionary_tours_business1\n", - " 8.878328e-01\n", + " 0.075698\n", " \n", " \n", " coefficient_participation_in_joint_discretionary_tours_business2\n", - " -4.199835e-01\n", + " -0.191769\n", " \n", " \n", " coefficient_participation_in_joint_discretionary_tours_eat\n", - " -2.448175e-01\n", + " 0.454516\n", " \n", " \n", " coefficient_participation_in_joint_discretionary_tours_eat_business\n", - " -2.723876e+00\n", + " -0.681551\n", " \n", " \n", " coefficient_participation_in_joint_discretionary_tours_maint\n", - " 2.745844e+00\n", + " 0.588105\n", " \n", " \n", " coefficient_participation_in_joint_shop_main_eat_tours_business1\n", - " 3.561155e+00\n", + " 0.151268\n", " \n", " \n", " coefficient_participation_in_joint_shop_main_eat_tours_business2\n", - " -2.800502e-01\n", + " 0.232018\n", " \n", " \n", " coefficient_participation_in_joint_shop_main_eat_tours_eat\n", - " 1.988637e+00\n", + " -0.054088\n", " \n", " \n", " coefficient_participation_in_joint_shop_main_eat_tours_eat_business\n", - " -6.545173e+00\n", + " 0.928998\n", " \n", " \n", " coefficient_participation_in_joint_shop_main_eat_tours_maint\n", - " 2.179332e+00\n", + " -0.354297\n", " \n", " \n", " coefficient_two_work_tours_by_person_business1\n", - " 3.694023e+00\n", + " 0.343052\n", " \n", " \n", " coefficient_two_work_tours_by_person_business2\n", - " -4.104683e+00\n", + " 0.672564\n", " \n", " \n", " coefficient_two_work_tours_by_person_eat\n", - " 1.927236e+00\n", + " -0.903976\n", " \n", " \n", " coefficient_two_work_tours_by_person_eat_business\n", - " -5.424974e+00\n", + " -1.029881\n", " \n", " \n", " coefficient_two_work_tours_by_person_maint\n", - " 3.205997e+00\n", + " 0.215840\n", " \n", " \n", " coefficient_walk_accessibility_to_retail_for_work_taz_business1\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coefficient_walk_accessibility_to_retail_for_work_taz_business2\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coefficient_walk_accessibility_to_retail_for_work_taz_eat\n", - " 5.329379e-02\n", + " 0.054262\n", " \n", " \n", " coefficient_walk_accessibility_to_retail_for_work_taz_eat_business\n", - " -4.690165e-01\n", + " 0.248444\n", " \n", " \n", " coefficient_walk_accessibility_to_retail_for_work_taz_maint\n", - " 3.930491e-01\n", + " 0.051297\n", " \n", " \n", " coefficient_workplace_suburban_area_dummy_business1\n", - " -1.102000e-01\n", + " -0.077046\n", " \n", " \n", " coefficient_workplace_suburban_area_dummy_business2\n", - " -2.204000e-01\n", + " -0.214908\n", " \n", " \n", " coefficient_workplace_suburban_area_dummy_eat\n", - " -2.916000e-01\n", + " -0.497064\n", " \n", " \n", " coefficient_workplace_suburban_area_dummy_eat_business\n", - " -4.018000e-01\n", + " -0.496303\n", " \n", " \n", " coefficient_workplace_suburban_area_dummy_maint\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coefficient_workplace_urban_area_dummy_business1\n", - " 1.735107e+00\n", + " -0.069849\n", " \n", " \n", " coefficient_workplace_urban_area_dummy_business2\n", - " 1.555922e+00\n", + " -0.530073\n", " \n", " \n", " coefficient_workplace_urban_area_dummy_eat\n", - " 4.533256e+00\n", + " -0.630025\n", " \n", " \n", " coefficient_workplace_urban_area_dummy_eat_business\n", - " -2.308496e+01\n", + " -0.435462\n", " \n", " \n", " coefficient_workplace_urban_area_dummy_maint\n", - " 1.338238e+01\n", + " -0.212890\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_business1\n", - " -5.268759e-01\n", + " -0.633755\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_business2\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_eat\n", - " 0.000000e+00\n", + " 0.000000\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_eat_business\n", - " -1.911629e+01\n", + " -0.847707\n", " \n", " \n", " coefficient_zero_cars_owned_by_hh_dummy_maint\n", - " 5.593497e-01\n", + " -0.020836\n", " \n", " \n", - "loglike-311.0816324383027d_loglike\n", + "
logloss0.8125481383373976d_logloss\n", " \n", " \n", " \n", @@ -1933,103 +1986,103 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2069,227 +2122,227 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2301,31 +2354,31 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2333,27 +2386,27 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2365,52 +2418,52 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coefficient_at_work_sub_tour_asc_business1-1.481164e-04-2.181632e-05
coefficient_at_work_sub_tour_asc_business2-2.230083e-05-7.974611e-06
coefficient_at_work_sub_tour_asc_eat1.390294e-046.885959e-05
coefficient_at_work_sub_tour_asc_eat_business1.539374e-04-5.704460e-06
coefficient_at_work_sub_tour_asc_maint-1.225496e-04-3.336420e-05
coefficient_auto_accessibility_to_retail_for_work_taz_business1-1.603725e-031.678059e-05
coefficient_auto_accessibility_to_retail_for_work_taz_business2-2.219798e-04-7.241747e-05
coefficient_auto_accessibility_to_retail_for_work_taz_eat1.752293e-03-6.082835e-05
coefficient_auto_accessibility_to_retail_for_work_taz_eat_business1.320801e-038.064174e-05
coefficient_auto_accessibility_to_retail_for_work_taz_maint-1.247389e-033.582349e-05
coefficient_dummy_for_drive_alone_mode_for_work_tour_business1-9.593191e-05-4.107213e-05
coefficient_dummy_for_drive_alone_mode_for_work_tour_business2-1.354692e-055.986918e-05
coefficient_dummy_for_drive_alone_mode_for_work_tour_eat-2.279001e-047.033209e-05
coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business4.011519e-04-9.447444e-06
coefficient_dummy_for_drive_alone_mode_for_work_tour_maint-6.377298e-05-7.968169e-05
coefficient_dummy_for_full_time_worker_business1-1.605243e-042.817589e-05
coefficient_dummy_for_full_time_worker_business2-2.230083e-053.226183e-05
coefficient_dummy_for_full_time_worker_eat7.303158e-051.003712e-04
coefficient_dummy_for_full_time_worker_eat_business1.539374e-041.549190e-05
coefficient_dummy_for_full_time_worker_maint-4.414386e-05-1.763008e-04
coefficient_dummy_for_non_full_time_worker_business11.240794e-05-4.999221e-05
coefficient_dummy_for_non_full_time_worker_business2-7.261864e-17-4.023644e-05
coefficient_dummy_for_non_full_time_worker_eat6.599780e-05-3.151158e-05
coefficient_dummy_for_non_full_time_worker_eat_business-1.086362e-18-2.119636e-05
coefficient_dummy_for_non_full_time_worker_maint-7.840574e-051.429366e-04
coefficient_dummy_for_non_workers_business1
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint-9.311590e-05-1.714819e-04
coefficient_high_hh_income_dummy_business1-1.000616e-04-1.191730e-05
coefficient_high_hh_income_dummy_business2-8.753913e-06-7.059313e-05
coefficient_high_hh_income_dummy_eat-2.221195e-06-5.126677e-05
coefficient_high_hh_income_dummy_eat_business2.213370e-048.255506e-05
coefficient_high_hh_income_dummy_maint-1.103003e-045.122214e-05
coefficient_individual_discretionary_tours_made_by_full_time_worker_business1-7.053640e-05-1.226983e-05
coefficient_individual_discretionary_tours_made_by_full_time_worker_business2-2.791062e-057.360525e-05
coefficient_individual_discretionary_tours_made_by_full_time_worker_eat1.818022e-04-3.188124e-05
coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business-2.707632e-066.305075e-07
coefficient_individual_discretionary_tours_made_by_full_time_worker_maint-8.064758e-05-3.008468e-05
coefficient_individual_discretionary_tours_made_by_part_time_worker_business1-9.603037e-06-2.903966e-05
coefficient_individual_discretionary_tours_made_by_part_time_worker_business2-1.629515e-19-1.376988e-05
coefficient_individual_discretionary_tours_made_by_part_time_worker_eat-3.348668e-072.058728e-05
coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business-1.124861e-22-3.015319e-05
coefficient_individual_discretionary_tours_made_by_part_time_worker_maint9.937904e-065.237545e-05
coefficient_individual_eating_out_tours_made_by_person_business1-7.862028e-05-1.667468e-04
coefficient_individual_eating_out_tours_made_by_person_business2-8.753608e-06-3.264570e-05
coefficient_individual_eating_out_tours_made_by_person_eat3.564089e-052.212368e-05
coefficient_individual_eating_out_tours_made_by_person_eat_business-1.309491e-079.515601e-06
coefficient_individual_eating_out_tours_made_by_person_maint5.186395e-051.677532e-04
coefficient_log_of_the_work_tour_duration_business1-3.971369e-041.043468e-04
coefficient_log_of_the_work_tour_duration_business2-2.991023e-058.913429e-06
coefficient_log_of_the_work_tour_duration_eat3.149096e-041.295254e-05
coefficient_log_of_the_work_tour_duration_eat_business3.910540e-04-1.066273e-04
coefficient_log_of_the_work_tour_duration_maint-2.789165e-04-1.958540e-05
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business18.932382e-064.643980e-05
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2-1.299699e-05-2.188999e-05
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat-8.667554e-051.650779e-04
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business-1.119625e-084.743178e-05
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint9.075134e-05-2.370595e-04
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1-4.914227e-102.357735e-05
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2-2.173636e-16-1.188907e-05
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat-2.658044e-067.570065e-05
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business-7.964540e-24-3.983432e-05
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint2.658536e-06-4.755461e-05
coefficient_medium_hh_income_dummy_business1-5.984683e-053.482667e-05
coefficient_medium_hh_income_dummy_business2-8.619829e-275.769942e-05
coefficient_medium_hh_income_dummy_eat1.446985e-04-5.137537e-06
coefficient_medium_hh_income_dummy_eat_business-6.509501e-05-5.711674e-05
coefficient_medium_hh_income_dummy_maint-1.975668e-05-3.027181e-05
coefficient_participation_in_joint_discretionary_tours_business11.633148e-05-5.693164e-05
coefficient_participation_in_joint_discretionary_tours_business2-3.971146e-267.289406e-05
coefficient_participation_in_joint_discretionary_tours_eat8.138286e-051.061065e-04
coefficient_participation_in_joint_discretionary_tours_eat_business-5.416119e-05-9.568225e-05
coefficient_participation_in_joint_discretionary_tours_maint-4.355316e-05-2.638670e-05
coefficient_participation_in_joint_shop_main_eat_tours_business1-1.005486e-044.632880e-05
coefficient_participation_in_joint_shop_main_eat_tours_business2-1.490847e-157.216085e-07
coefficient_participation_in_joint_shop_main_eat_tours_eat1.024581e-04-6.996621e-05
coefficient_participation_in_joint_shop_main_eat_tours_eat_business-8.904994e-071.708229e-06
coefficient_participation_in_joint_shop_main_eat_tours_maint-1.018973e-062.120756e-05
coefficient_two_work_tours_by_person_business17.076435e-059.533131e-05
coefficient_two_work_tours_by_person_business2-3.049929e-10-7.711784e-06
coefficient_two_work_tours_by_person_eat1.336457e-05-5.696558e-06
coefficient_two_work_tours_by_person_eat_business-1.430779e-06-5.510631e-05
coefficient_two_work_tours_by_person_maint-8.269783e-05-2.681666e-05
coefficient_walk_accessibility_to_retail_for_work_taz_business1
coefficient_walk_accessibility_to_retail_for_work_taz_eat2.395850e-038.877549e-05
coefficient_walk_accessibility_to_retail_for_work_taz_eat_business-5.362286e-045.191476e-05
coefficient_walk_accessibility_to_retail_for_work_taz_maint-6.315696e-04-3.267917e-05
coefficient_workplace_suburban_area_dummy_business10.000000e+00-2.911572e-05
coefficient_workplace_suburban_area_dummy_business20.000000e+00-3.969147e-06
coefficient_workplace_suburban_area_dummy_eat0.000000e+002.978185e-05
coefficient_workplace_suburban_area_dummy_eat_business0.000000e+00-8.309287e-06
coefficient_workplace_suburban_area_dummy_maint
coefficient_workplace_urban_area_dummy_business1-1.481164e-047.299400e-06
coefficient_workplace_urban_area_dummy_business2-2.230083e-05-4.005464e-06
coefficient_workplace_urban_area_dummy_eat1.390294e-043.907774e-05
coefficient_workplace_urban_area_dummy_eat_business1.539374e-042.604827e-06
coefficient_workplace_urban_area_dummy_maint-1.225496e-04-4.497650e-05
coefficient_zero_cars_owned_by_hh_dummy_business1-2.241883e-04-1.324894e-05
coefficient_zero_cars_owned_by_hh_dummy_business2
coefficient_zero_cars_owned_by_hh_dummy_eat_business-4.538836e-09-8.057484e-05
coefficient_zero_cars_owned_by_hh_dummy_maint-3.467043e-05-2.405112e-05
nit75nfev115njev75status0message'Optimization terminated successfully'successTrueelapsed_time0:00:01.501390method'SLSQP'n_cases460iteration_number75logloss0.6762644183441363" + "nit100nfev104njev100status0message'Optimization terminated successfully'successTrueelapsed_time0:00:00.874759method'SLSQP'n_cases5947iteration_number100loglike-4832.223778692503" ], "text/plain": [ - "┣ x: coefficient_at_work_sub_tour_asc_business1 1.421407\n", - "┃ coefficient_at_work_sub_tour_asc_business2 -0.130778\n", - "┃ coefficient_at_work_sub_tour_asc_eat 5.809056\n", - "┃ coefficient_at_work_sub_tour_asc_eat_business -23.415363\n", - "┃ coefficient_at_work_sub_tour_asc_maint 12.910479\n", - "┃ ... \n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_business1 -0.526876\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_eat_business -19.116288\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_maint 0.559350\n", + "┣ x: coefficient_at_work_sub_tour_asc_business1 -0.350395\n", + "┃ coefficient_at_work_sub_tour_asc_business2 -2.211281\n", + "┃ coefficient_at_work_sub_tour_asc_eat 0.440311\n", + "┃ coefficient_at_work_sub_tour_asc_eat_business -0.860366\n", + "┃ coefficient_at_work_sub_tour_asc_maint -0.423469\n", + "┃ ... \n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_business1 -0.633755\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_eat_business -0.847707\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_maint -0.020836\n", "┃ Length: 110, dtype: float64\n", - "┣ loglike: -311.0816324383027\n", - "┣ d_loglike: coefficient_at_work_sub_tour_asc_business1 -1.481164e-04\n", - "┃ coefficient_at_work_sub_tour_asc_business2 -2.230083e-05\n", - "┃ coefficient_at_work_sub_tour_asc_eat 1.390294e-04\n", - "┃ coefficient_at_work_sub_tour_asc_eat_business 1.539374e-04\n", - "┃ coefficient_at_work_sub_tour_asc_maint -1.225496e-04\n", - "┃ ... \n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_business1 -2.241883e-04\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000e+00\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000e+00\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_eat_business -4.538836e-09\n", - "┃ coefficient_zero_cars_owned_by_hh_dummy_maint -3.467043e-05\n", + "┣ logloss: 0.8125481383373976\n", + "┣ d_logloss: coefficient_at_work_sub_tour_asc_business1 -0.000022\n", + "┃ coefficient_at_work_sub_tour_asc_business2 -0.000008\n", + "┃ coefficient_at_work_sub_tour_asc_eat 0.000069\n", + "┃ coefficient_at_work_sub_tour_asc_eat_business -0.000006\n", + "┃ coefficient_at_work_sub_tour_asc_maint -0.000033\n", + "┃ ... \n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_business1 -0.000013\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_business2 0.000000\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_eat 0.000000\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_eat_business -0.000081\n", + "┃ coefficient_zero_cars_owned_by_hh_dummy_maint -0.000024\n", "┃ Length: 110, dtype: float64\n", - "┣ nit: 75\n", - "┣ nfev: 115\n", - "┣ njev: 75\n", + "┣ nit: 100\n", + "┣ nfev: 104\n", + "┣ njev: 100\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=1, microseconds=501390)\n", + "┣ elapsed_time: datetime.timedelta(microseconds=874759)\n", "┣ method: 'SLSQP'\n", - "┣ n_cases: 460\n", - "┣ iteration_number: 75\n", - "┣ logloss: 0.6762644183441363" + "┣ n_cases: 5947\n", + "┣ iteration_number: 100\n", + "┣ loglike: -4832.223778692503" ] }, "execution_count": 7, @@ -2419,7 +2472,7 @@ } ], "source": [ - "model.estimate(method='SLSQP')" + "model.estimate(method='SLSQP', maxiter=900)" ] }, { @@ -2437,1120 +2490,1036 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coefficient_at_work_sub_tour_asc_business1 1.42 NA NA[***] 29.59 0.00
coefficient_at_work_sub_tour_asc_business2-0.131 1.51e+04-0.00 NA 0.00
coefficient_at_work_sub_tour_asc_eat 5.81 484. 0.01 NA 0.00
coefficient_at_work_sub_tour_asc_eat_business-23.4 NA NA[***] BIG 0.00
coefficient_at_work_sub_tour_asc_maint 12.9 523. 0.02 NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_business1-0.235 NA NA[***] 181.30 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_business2 2.95 2.55e+03 0.00 NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_eat-0.761 NA NA[***] 714.04 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_eat_business 1.52 NA NA[***] 41.92 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_maint-3.20 NA NA[***] BIG 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_business1 3.94 NA NA[***] 77.39 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_business2-7.29 NA NA[] 0.02 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_eat 3.22 NA NA[***] 201.21 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business 2.33 NA NA[] 1.40 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_maint 3.87 NA NA[***] 79.47 0.00
coefficient_dummy_for_full_time_worker_business1-11.4 NA NA[***] BIG 0.00
coefficient_dummy_for_full_time_worker_business2-13.8 NA NA[**] 5.21 0.00
coefficient_dummy_for_full_time_worker_eat-9.55 NA NA[***] 827.25 0.00
coefficient_dummy_for_full_time_worker_eat_business-11.2 NA NA[***] BIG 0.00
coefficient_dummy_for_full_time_worker_maint-5.88 260.-0.02 NA 0.00
coefficient_dummy_for_non_full_time_worker_business1-2.37 1.09e+03-0.00 NA 0.00
coefficient_dummy_for_non_full_time_worker_business2-12.7 NA NA[] 0.00 0.00
coefficient_dummy_for_non_full_time_worker_eat-1.39 1.96e+03-0.00 NA 0.00
coefficient_dummy_for_non_full_time_worker_eat_business-40.8 NA NA[] 1.24 0.00
coefficient_dummy_for_non_full_time_worker_maint 3.10 2.40e+03 0.00 NA 0.00
coefficient_dummy_for_non_workers_business1-5.00 NA NA NA 0.00fixed value
coefficient_dummy_for_non_workers_business2-5.00 NA NA NA 0.00fixed value
coefficient_dummy_for_non_workers_eat 0.00 NA NA NA 0.00fixed value
coefficient_dummy_for_non_workers_eat_business-5.00 NA NA NA 0.00fixed value
coefficient_dummy_for_non_workers_maint-5.00 NA NA NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1 0.00 NA NA NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2 0.00 NA NA NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat 0.00 NA NA NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business 0.00 NA NA NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint-0.447 0.821-0.54 NA 0.00
coefficient_high_hh_income_dummy_business1-5.70 NA NA[***] 900.87 0.00
coefficient_high_hh_income_dummy_business2 18.2 NA NA[***] 5.91 0.00
coefficient_high_hh_income_dummy_eat-5.36 NA NA[***] 296.55 0.00
coefficient_high_hh_income_dummy_eat_business 5.95 430. 0.01 NA 0.00
coefficient_high_hh_income_dummy_maint-6.90 NA NA[***] BIG 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_business1-1.42 540.-0.00 NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_business2 19.5 4.34e+03 0.00 NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_eat-1.46 540.-0.00 NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business-11.1 806.-0.01 NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_maint-1.71 540.-0.00 NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_business1 1.70 NA NA[] 0.74 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_business2 1.53 0.000562 BIG*** NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_eat 0.982 NA NA[] 0.40 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business 0.215 0.000123 BIG*** NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_maint 0.249 NA NA[] 0.02 0.00
coefficient_individual_eating_out_tours_made_by_person_business1 0.425 NA NA[] 0.26 0.00
coefficient_individual_eating_out_tours_made_by_person_business2 16.9 NA NA[**] 4.62 0.00
coefficient_individual_eating_out_tours_made_by_person_eat-0.211 NA NA[] 0.12 0.00
coefficient_individual_eating_out_tours_made_by_person_eat_business-13.8 2.41e+03-0.01 NA 0.00
coefficient_individual_eating_out_tours_made_by_person_maint 0.848 NA NA[] 1.11 0.00
coefficient_log_of_the_work_tour_duration_business1 10.8 NA NA[***] BIG 0.00
coefficient_log_of_the_work_tour_duration_business2-41.0 4.06e+03-0.01 NA 0.00
coefficient_log_of_the_work_tour_duration_eat 9.91 NA NA[***] BIG 0.00
coefficient_log_of_the_work_tour_duration_eat_business 19.2 NA NA[***] 151.19 0.00
coefficient_log_of_the_work_tour_duration_maint 10.4 NA NA[***] BIG 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1 5.25 NA NA[***] 17.02 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2-5.96 1.41e+04-0.00 NA 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat 5.73 NA NA[***] 170.02 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business-11.4 7.01e+03-0.00 NA 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint 5.73 NA NA[***] 19.07 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1-14.4 NA NA[] 0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2 0.182 NA NA[] 0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat 6.65 5.15e+03 0.00 NA 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business-0.492 NA NA[] 0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint 6.39 5.15e+03 0.00 NA 0.00
coefficient_medium_hh_income_dummy_business1-3.29 1.13e+03-0.00 NA 0.00
coefficient_medium_hh_income_dummy_business2 2.01 NA NA[] 0.00 0.00
coefficient_medium_hh_income_dummy_eat-2.53 1.13e+03-0.00 NA 0.00
coefficient_medium_hh_income_dummy_eat_business 10.5 1.27e+03 0.01 NA 0.00
coefficient_medium_hh_income_dummy_maint-3.10 1.13e+03-0.00 NA 0.00
coefficient_participation_in_joint_discretionary_tours_business1 0.888 NA NA[] 0.23 0.00
coefficient_participation_in_joint_discretionary_tours_business2-0.420 NA NA[] 0.00 0.00
coefficient_participation_in_joint_discretionary_tours_eat-0.245 NA NA[] 0.02 0.00
coefficient_participation_in_joint_discretionary_tours_eat_business-2.72 NA NA[] 0.00 0.00
coefficient_participation_in_joint_discretionary_tours_maint 2.75 NA NA[*] 2.92 0.00
coefficient_participation_in_joint_shop_main_eat_tours_business1 3.56 1.13e+03 0.00 NA 0.00
coefficient_participation_in_joint_shop_main_eat_tours_business2-0.280 NA NA[] 0.00 0.00
coefficient_participation_in_joint_shop_main_eat_tours_eat 1.99 1.13e+03 0.00 NA 0.00
coefficient_participation_in_joint_shop_main_eat_tours_eat_business-6.55 1.38e+03-0.00 NA 0.00
coefficient_participation_in_joint_shop_main_eat_tours_maint 2.18 1.13e+03 0.00 NA 0.00
coefficient_two_work_tours_by_person_business1 3.69 NA NA[**] 5.16 0.00
coefficient_two_work_tours_by_person_business2-4.10 2.72e+03-0.00 NA 0.00
coefficient_two_work_tours_by_person_eat 1.93 NA NA[**] 4.09 0.00
coefficient_two_work_tours_by_person_eat_business-5.42 NA NA[] 0.00 0.00
coefficient_two_work_tours_by_person_maint 3.21 NA NA[**] 4.07 0.00
coefficient_walk_accessibility_to_retail_for_work_taz_business1 0.00 NA NA NA 0.00fixed value
coefficient_walk_accessibility_to_retail_for_work_taz_business2 0.00 NA NA NA 0.00fixed value
coefficient_walk_accessibility_to_retail_for_work_taz_eat 0.0533 0.234 0.23 NA 0.00
coefficient_walk_accessibility_to_retail_for_work_taz_eat_business-0.469 0.669-0.70 NA 0.00
coefficient_walk_accessibility_to_retail_for_work_taz_maint 0.393 0.308 1.28 NA 0.00
coefficient_workplace_suburban_area_dummy_business1-0.110 0.00 NA[] 0.00 0.00
coefficient_workplace_suburban_area_dummy_business2-0.220 0.00 NA[] 0.00 0.00
coefficient_workplace_suburban_area_dummy_eat-0.292 0.00 NA[] 0.00 0.00
coefficient_workplace_suburban_area_dummy_eat_business-0.402 0.00 NA[] 0.00 0.00
coefficient_workplace_suburban_area_dummy_maint 0.00 NA NA NA 0.00fixed value
coefficient_workplace_urban_area_dummy_business1 1.74 NA NA[***] 41.10 0.00
coefficient_workplace_urban_area_dummy_business2 1.56 NA NA[]-0.00 0.00
coefficient_workplace_urban_area_dummy_eat 4.53 NA NA[***] 890.88 0.00
coefficient_workplace_urban_area_dummy_eat_business-23.1 NA NA[***] BIG 0.00
coefficient_workplace_urban_area_dummy_maint 13.4 579. 0.02 NA 0.00
coefficient_zero_cars_owned_by_hh_dummy_business1-0.527 0.582-0.90 NA 0.00
coefficient_zero_cars_owned_by_hh_dummy_business2 0.00 NA NA NA 0.00fixed value
coefficient_zero_cars_owned_by_hh_dummy_eat 0.00 NA NA NA 0.00fixed value
coefficient_zero_cars_owned_by_hh_dummy_eat_business-19.1 1.36e+04-0.00 NA 0.00
coefficient_zero_cars_owned_by_hh_dummy_maint 0.559 0.426 1.31 NA 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coefficient_at_work_sub_tour_asc_business1-0.350 1.10e+03-0.00 0.00
coefficient_at_work_sub_tour_asc_business2-2.21 2.21e+03-0.00 0.00
coefficient_at_work_sub_tour_asc_eat 0.440 NA NA 0.00
coefficient_at_work_sub_tour_asc_eat_business-0.860 495.-0.00 0.00
coefficient_at_work_sub_tour_asc_maint-0.423 NA NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_business1 0.0782 NA NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_business2 0.296 NA NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_eat 0.137 NA NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_eat_business-0.263 NA NA 0.00
coefficient_auto_accessibility_to_retail_for_work_taz_maint 0.0218 NA NA 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_business1 0.950 NA NA 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_business2 1.75 NA NA 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_eat 0.488 NA NA 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business 1.78 NA NA 0.00
coefficient_dummy_for_drive_alone_mode_for_work_tour_maint 1.11 NA NA 0.00
coefficient_dummy_for_full_time_worker_business1-7.40 552.-0.01 0.00
coefficient_dummy_for_full_time_worker_business2-13.8 1.67e+03-0.01 0.00
coefficient_dummy_for_full_time_worker_eat-7.55 1.25e+03-0.01 0.00
coefficient_dummy_for_full_time_worker_eat_business-15.0 2.70e+03-0.01 0.00
coefficient_dummy_for_full_time_worker_maint-8.06 1.60e+03-0.01 0.00
coefficient_dummy_for_non_full_time_worker_business1-8.10 687.-0.01 0.00
coefficient_dummy_for_non_full_time_worker_business2-14.8 1.52e+03-0.01 0.00
coefficient_dummy_for_non_full_time_worker_eat-8.75 1.58e+03-0.01 0.00
coefficient_dummy_for_non_full_time_worker_eat_business-14.5 2.34e+03-0.01 0.00
coefficient_dummy_for_non_full_time_worker_maint-8.05 2.29e+03-0.00 0.00
coefficient_dummy_for_non_workers_business1-5.00 0.00 NA 0.00fixed value
coefficient_dummy_for_non_workers_business2-5.00 0.00 NA 0.00fixed value
coefficient_dummy_for_non_workers_eat 0.00 0.00 NA 0.00fixed value
coefficient_dummy_for_non_workers_eat_business-5.00 0.00 NA 0.00fixed value
coefficient_dummy_for_non_workers_maint-5.00 0.00 NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1 0.00 0.00 NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2 0.00 0.00 NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat 0.00 0.00 NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business 0.00 0.00 NA 0.00fixed value
coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint-0.858 0.324-2.64** 0.00
coefficient_high_hh_income_dummy_business1 1.05 733. 0.00 0.00
coefficient_high_hh_income_dummy_business2 1.78 733. 0.00 0.00
coefficient_high_hh_income_dummy_eat 0.987 733. 0.00 0.00
coefficient_high_hh_income_dummy_eat_business 2.17 733. 0.00 0.00
coefficient_high_hh_income_dummy_maint 0.188 733. 0.00 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_business1 0.746 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_business2 0.764 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_eat 0.315 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business 1.30 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_full_time_worker_maint 0.661 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_business1 0.0574 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_business2 2.15 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_eat 0.0341 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business 1.42 NA NA 0.00
coefficient_individual_discretionary_tours_made_by_part_time_worker_maint 1.02 NA NA 0.00
coefficient_individual_eating_out_tours_made_by_person_business1 0.264 NA NA 0.00
coefficient_individual_eating_out_tours_made_by_person_business2 1.15 NA NA 0.00
coefficient_individual_eating_out_tours_made_by_person_eat 0.232 NA NA 0.00
coefficient_individual_eating_out_tours_made_by_person_eat_business 1.42 NA NA 0.00
coefficient_individual_eating_out_tours_made_by_person_maint 1.13 NA NA 0.00
coefficient_log_of_the_work_tour_duration_business1 1.01 288. 0.00 0.00
coefficient_log_of_the_work_tour_duration_business2 1.77 288. 0.01 0.00
coefficient_log_of_the_work_tour_duration_eat 1.46 288. 0.01 0.00
coefficient_log_of_the_work_tour_duration_eat_business 3.45 288. 0.01 0.00
coefficient_log_of_the_work_tour_duration_maint 1.64 288. 0.01 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1-0.182 NA NA 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2-0.328 NA NA 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat-0.0133 NA NA 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business-0.788 NA NA 0.00
coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint 0.695 NA NA 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1-0.00585 1.19e+03-0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2-0.445 1.19e+03-0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat-0.121 1.19e+03-0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business-1.17 1.19e+03-0.00 0.00
coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint 0.0885 1.19e+03 0.00 0.00
coefficient_medium_hh_income_dummy_business1 0.375 772. 0.00 0.00
coefficient_medium_hh_income_dummy_business2 1.38 772. 0.00 0.00
coefficient_medium_hh_income_dummy_eat 0.467 772. 0.00 0.00
coefficient_medium_hh_income_dummy_eat_business 1.37 772. 0.00 0.00
coefficient_medium_hh_income_dummy_maint-0.00582 772.-0.00 0.00
coefficient_participation_in_joint_discretionary_tours_business1 0.0757 3.02e+03 0.00 0.00
coefficient_participation_in_joint_discretionary_tours_business2-0.192 3.02e+03-0.00 0.00
coefficient_participation_in_joint_discretionary_tours_eat 0.455 3.02e+03 0.00 0.00
coefficient_participation_in_joint_discretionary_tours_eat_business-0.682 3.02e+03-0.00 0.00
coefficient_participation_in_joint_discretionary_tours_maint 0.588 3.02e+03 0.00 0.00
coefficient_participation_in_joint_shop_main_eat_tours_business1 0.151 1.04e+03 0.00 0.00
coefficient_participation_in_joint_shop_main_eat_tours_business2 0.232 1.04e+03 0.00 0.00
coefficient_participation_in_joint_shop_main_eat_tours_eat-0.0541 1.04e+03-0.00 0.00
coefficient_participation_in_joint_shop_main_eat_tours_eat_business 0.929 1.04e+03 0.00 0.00
coefficient_participation_in_joint_shop_main_eat_tours_maint-0.354 1.04e+03-0.00 0.00
coefficient_two_work_tours_by_person_business1 0.343 NA NA 0.00
coefficient_two_work_tours_by_person_business2 0.673 NA NA 0.00
coefficient_two_work_tours_by_person_eat-0.904 NA NA 0.00
coefficient_two_work_tours_by_person_eat_business-1.03 NA NA 0.00
coefficient_two_work_tours_by_person_maint 0.216 NA NA 0.00
coefficient_walk_accessibility_to_retail_for_work_taz_business1 0.00 0.00 NA 0.00fixed value
coefficient_walk_accessibility_to_retail_for_work_taz_business2 0.00 0.00 NA 0.00fixed value
coefficient_walk_accessibility_to_retail_for_work_taz_eat 0.0543 0.0307 1.77 0.00
coefficient_walk_accessibility_to_retail_for_work_taz_eat_business 0.248 0.125 1.98* 0.00
coefficient_walk_accessibility_to_retail_for_work_taz_maint 0.0513 0.0415 1.24 0.00
coefficient_workplace_suburban_area_dummy_business1-0.0770 695.-0.00 0.00
coefficient_workplace_suburban_area_dummy_business2-0.215 1.23e+03-0.00 0.00
coefficient_workplace_suburban_area_dummy_eat-0.497 235.-0.00 0.00
coefficient_workplace_suburban_area_dummy_eat_business-0.496 5.05e+03-0.00 0.00
coefficient_workplace_suburban_area_dummy_maint 0.00 0.00 NA 0.00fixed value
coefficient_workplace_urban_area_dummy_business1-0.0698 NA NA 0.00
coefficient_workplace_urban_area_dummy_business2-0.530 1.18e+03-0.00 0.00
coefficient_workplace_urban_area_dummy_eat-0.630 NA NA 0.00
coefficient_workplace_urban_area_dummy_eat_business-0.435 5.37e+03-0.00 0.00
coefficient_workplace_urban_area_dummy_maint-0.213 305.-0.00 0.00
coefficient_zero_cars_owned_by_hh_dummy_business1-0.634 0.312-2.03* 0.00
coefficient_zero_cars_owned_by_hh_dummy_business2 0.00 0.00 NA 0.00fixed value
coefficient_zero_cars_owned_by_hh_dummy_eat 0.00 0.00 NA 0.00fixed value
coefficient_zero_cars_owned_by_hh_dummy_eat_business-0.848 1.51-0.56 0.00
coefficient_zero_cars_owned_by_hh_dummy_maint-0.0208 0.253-0.08 0.00
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -3597,18 +3566,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -3660,31 +3618,31 @@ " \n", " 0\n", " coefficient_dummy_for_full_time_worker_business1\n", - " -11.365293\n", + " -7.402415\n", " F\n", " \n", " \n", " 1\n", " coefficient_dummy_for_full_time_worker_business2\n", - " -13.833915\n", + " -13.824988\n", " F\n", " \n", " \n", " 2\n", " coefficient_dummy_for_full_time_worker_eat\n", - " -9.545916\n", + " -7.551797\n", " F\n", " \n", " \n", " 3\n", " coefficient_dummy_for_full_time_worker_eat_bus...\n", - " -11.192172\n", + " -14.974823\n", " F\n", " \n", " \n", " 4\n", " coefficient_dummy_for_full_time_worker_maint\n", - " -5.880704\n", + " -8.063977\n", " F\n", " \n", " \n", @@ -3696,25 +3654,25 @@ " \n", " 127\n", " coefficient_at_work_sub_tour_asc_business2\n", - " -0.130778\n", + " -2.211281\n", " F\n", " \n", " \n", " 128\n", " coefficient_at_work_sub_tour_asc_eat\n", - " 5.809056\n", + " 0.440311\n", " F\n", " \n", " \n", " 129\n", " coefficient_at_work_sub_tour_asc_eat_business\n", - " -23.415363\n", + " -0.860366\n", " F\n", " \n", " \n", " 130\n", " coefficient_at_work_sub_tour_asc_maint\n", - " 12.910479\n", + " -0.423469\n", " F\n", " \n", " \n", @@ -3730,16 +3688,16 @@ ], "text/plain": [ " coefficient_name value constrain\n", - "0 coefficient_dummy_for_full_time_worker_business1 -11.365293 F\n", - "1 coefficient_dummy_for_full_time_worker_business2 -13.833915 F\n", - "2 coefficient_dummy_for_full_time_worker_eat -9.545916 F\n", - "3 coefficient_dummy_for_full_time_worker_eat_bus... -11.192172 F\n", - "4 coefficient_dummy_for_full_time_worker_maint -5.880704 F\n", + "0 coefficient_dummy_for_full_time_worker_business1 -7.402415 F\n", + "1 coefficient_dummy_for_full_time_worker_business2 -13.824988 F\n", + "2 coefficient_dummy_for_full_time_worker_eat -7.551797 F\n", + "3 coefficient_dummy_for_full_time_worker_eat_bus... -14.974823 F\n", + "4 coefficient_dummy_for_full_time_worker_maint -8.063977 F\n", ".. ... ... ...\n", - "127 coefficient_at_work_sub_tour_asc_business2 -0.130778 F\n", - "128 coefficient_at_work_sub_tour_asc_eat 5.809056 F\n", - "129 coefficient_at_work_sub_tour_asc_eat_business -23.415363 F\n", - "130 coefficient_at_work_sub_tour_asc_maint 12.910479 F\n", + "127 coefficient_at_work_sub_tour_asc_business2 -2.211281 F\n", + "128 coefficient_at_work_sub_tour_asc_eat 0.440311 F\n", + "129 coefficient_at_work_sub_tour_asc_eat_business -0.860366 F\n", + "130 coefficient_at_work_sub_tour_asc_maint -0.423469 F\n", "131 coefficient_at_work_sub_tour_asc_no_subtours 0.000000 T\n", "\n", "[132 rows x 3 columns]" @@ -3762,7 +3720,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3776,7 +3734,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/19_atwork_subtour_dest.ipynb b/activitysim/examples/example_estimation/notebooks/19_atwork_subtour_dest.ipynb index a340efca73..5219560f6c 100644 --- a/activitysim/examples/example_estimation/notebooks/19_atwork_subtour_dest.ipynb +++ b/activitysim/examples/example_estimation/notebooks/19_atwork_subtour_dest.ipynb @@ -26,30 +26,74 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import larch # !conda install larch #for estimation\n", + "import larch as lx\n", "import pandas as pd\n", - "import numpy as np\n", - "import yaml \n", - "import larch.util.excel\n", - "import os" + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -72,10 +116,27 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_destination/atwork_subtour_destination_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_destination/atwork_subtour_destination_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_destination/atwork_subtour_destination_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_destination/atwork_subtour_destination_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_destination/atwork_subtour_destination_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_destination/atwork_subtour_destination_size_terms.csv\n" + ] + } + ], "source": [ "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -236,148 +297,88 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", - " 8\n", - " ...\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", - " 190\n", + " alt_dest\n", + " util_distance_piecewise_linear_from_0_to_1_miles\n", + " util_distance_piecewise_linear_from_1_to_2_miles\n", + " util_distance_piecewise_linear_from_2_to_5_miles\n", + " util_distance_piecewise_linear_from_5_to_15_miles\n", + " util_distance_piecewise_linear_for_15_plus_miles\n", + " util_size_variable_atwork\n", + " util_no_attractions_atwork_size_variable_is_0\n", + " util_mode_choice_logsum\n", + " util_sample_of_alternatives_correction_factor\n", " \n", " \n", " \n", " \n", " 0\n", - " 2998927\n", - " util_distance_piecewise_linear_for_15_plus_miles\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 2966559\n", + " 4\n", + " 0.99\n", + " 0.00\n", + " 0.00\n", " 0.0\n", " 0.0\n", + " 7.026095\n", + " False\n", + " 14.641064\n", + " 3.669233\n", " \n", " \n", " 1\n", - " 2998927\n", - " util_distance_piecewise_linear_from_0_to_1_miles\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 2966559\n", + " 9\n", + " 1.00\n", + " 0.98\n", + " 0.00\n", + " 0.0\n", + " 0.0\n", + " 7.841204\n", + " False\n", + " 13.896585\n", + " 4.331944\n", " \n", " \n", " 2\n", - " 2998927\n", - " util_distance_piecewise_linear_from_1_to_2_miles\n", - " 1.0\n", - " 0.9299999475479126\n", - " 0.7599999904632568\n", - " 0.7699999809265137\n", - " 0.4700000286102295\n", - " 0.2799999713897705\n", - " 0.12000000476837158\n", - " 0.25999999046325684\n", - " ...\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", - " 1.0\n", + " 2966559\n", + " 11\n", + " 1.00\n", + " 0.35\n", + " 0.00\n", + " 0.0\n", + " 0.0\n", + " 7.778631\n", + " False\n", + " 14.171065\n", + " 3.202032\n", " \n", " \n", " 3\n", - " 2998927\n", - " util_distance_piecewise_linear_from_2_to_5_miles\n", - " 0.029999971389770508\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 2966559\n", + " 12\n", + " 0.89\n", + " 0.00\n", + " 0.00\n", " 0.0\n", " 0.0\n", - " ...\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 2.9600000381469727\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", - " 3.0\n", + " 7.385584\n", + " False\n", + " 14.520744\n", + " 4.616777\n", " \n", " \n", " 4\n", - " 2998927\n", - " util_distance_piecewise_linear_from_5_to_15_miles\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 2966559\n", + " 14\n", + " 0.87\n", + " 0.00\n", + " 0.00\n", " 0.0\n", - " ...\n", - " 0.8899998664855957\n", - " 1.8000001907348633\n", - " 1.3299999237060547\n", - " 0.48999977111816406\n", " 0.0\n", - " 1.0799999237060547\n", - " 0.9899997711181641\n", - " 1.070000171661377\n", - " 1.929999828338623\n", - " 2.130000114440918\n", + " 6.755056\n", + " False\n", + " 14.588424\n", + " 4.538306\n", " \n", " \n", " ...\n", @@ -392,235 +393,188 @@ " ...\n", " ...\n", " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", " \n", " \n", - " 4171\n", - " 308000674\n", - " util_distance_piecewise_linear_from_5_to_15_miles\n", - " 1.4200000762939453\n", - " 1.3600001335144043\n", - " 1.2899999618530273\n", - " 1.1700000762939453\n", - " 0.9699997901916504\n", - " 0.9699997901916504\n", - " 0.809999942779541\n", - " 0.6100001335144043\n", - " ...\n", - " 0.75\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 125546\n", + " 309112001\n", + " 1375\n", + " 1.00\n", + " 1.00\n", + " 1.38\n", " 0.0\n", " 0.0\n", + " 5.398090\n", + " False\n", + " 12.614690\n", + " 4.169279\n", + " \n", + " \n", + " 125547\n", + " 309112001\n", + " 1376\n", + " 1.00\n", + " 1.00\n", + " 0.95\n", " 0.0\n", " 0.0\n", + " 5.786087\n", + " False\n", + " 12.938050\n", + " 3.557811\n", + " \n", + " \n", + " 125548\n", + " 309112001\n", + " 1378\n", + " 1.00\n", + " 1.00\n", + " 0.76\n", " 0.0\n", " 0.0\n", + " 5.680807\n", + " False\n", + " 13.080930\n", + " 3.564348\n", " \n", " \n", - " 4172\n", - " 308000674\n", - " util_mode_choice_logsum\n", - " 1.743683315365601\n", - " 1.8090398438241646\n", - " 1.9187317689932244\n", - " 1.845763258455972\n", - " 1.9118565509402088\n", - " 2.070472775294134\n", - " 2.0749647025662954\n", - " 2.0765252832944836\n", - " ...\n", - " 1.4896400525368332\n", - " 1.9120295717956781\n", - " 1.9541420210552534\n", - " 1.9566568956436885\n", - " 2.1147517922008467\n", - " 2.110613932849587\n", - " 2.36614159716225\n", - " 2.675175002962727\n", - " 2.45867106695333\n", - " 2.161156410360593\n", - " \n", - " \n", - " 4173\n", - " 308000674\n", - " util_no_attractions_atwork_size_variable_is_0\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " ...\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", + " 125549\n", + " 309112001\n", + " 1380\n", + " 1.00\n", + " 1.00\n", + " 0.67\n", + " 0.0\n", + " 0.0\n", + " 6.972544\n", " False\n", + " 13.148609\n", + " 3.835276\n", " \n", " \n", - " 4174\n", - " 308000674\n", - " util_sample_of_alternatives_correction_factor\n", - " 5.621843324877587\n", - " 4.892390701697378\n", - " 6.41959006998515\n", - " 5.121864578661301\n", - " 4.0943304970661645\n", - " 5.6640922965207166\n", - " 4.849601771676099\n", - " 5.493466028204648\n", - " ...\n", - " 7.195735435552638\n", - " 6.66177523532048\n", - " 5.775893570617849\n", - " 5.627447629966182\n", - " 5.316640911769303\n", - " 5.484197717810032\n", - " 5.248188568415137\n", - " 3.3386531188982147\n", - " 7.377276636224848\n", - " 5.8249441461146\n", - " \n", - " \n", - " 4175\n", - " 308000674\n", - " util_size_variable_atwork\n", - " 6.577240859271166\n", - " 7.294423493874009\n", - " 5.752909090156044\n", - " 7.026094604325162\n", - " 8.012728626482545\n", - " 6.442966827027993\n", - " 7.224737382332969\n", - " 6.539973163879868\n", - " ...\n", - " 4.866333729879064\n", - " 5.1845549872093715\n", - " 5.945708525269778\n", - " 6.047381635266343\n", - " 6.06715626447492\n", - " 5.987948372605412\n", - " 5.730242629913322\n", - " 7.343549119396827\n", - " 3.6375335267623483\n", - " 5.304200029706192\n", + " 125550\n", + " 309112001\n", + " 1381\n", + " 1.00\n", + " 0.02\n", + " 0.00\n", + " 0.0\n", + " 0.0\n", + " 6.198092\n", + " False\n", + " 14.389409\n", + " 3.261637\n", " \n", " \n", "\n", - "

4176 rows × 192 columns

\n", + "

125551 rows × 11 columns

\n", "" ], "text/plain": [ - " tour_id variable \\\n", - "0 2998927 util_distance_piecewise_linear_for_15_plus_miles \n", - "1 2998927 util_distance_piecewise_linear_from_0_to_1_miles \n", - "2 2998927 util_distance_piecewise_linear_from_1_to_2_miles \n", - "3 2998927 util_distance_piecewise_linear_from_2_to_5_miles \n", - "4 2998927 util_distance_piecewise_linear_from_5_to_15_miles \n", - "... ... ... \n", - "4171 308000674 util_distance_piecewise_linear_from_5_to_15_miles \n", - "4172 308000674 util_mode_choice_logsum \n", - "4173 308000674 util_no_attractions_atwork_size_variable_is_0 \n", - "4174 308000674 util_sample_of_alternatives_correction_factor \n", - "4175 308000674 util_size_variable_atwork \n", + " tour_id alt_dest util_distance_piecewise_linear_from_0_to_1_miles \\\n", + "0 2966559 4 0.99 \n", + "1 2966559 9 1.00 \n", + "2 2966559 11 1.00 \n", + "3 2966559 12 0.89 \n", + "4 2966559 14 0.87 \n", + "... ... ... ... \n", + "125546 309112001 1375 1.00 \n", + "125547 309112001 1376 1.00 \n", + "125548 309112001 1378 1.00 \n", + "125549 309112001 1380 1.00 \n", + "125550 309112001 1381 1.00 \n", "\n", - " 1 2 3 \\\n", - "0 0.0 0.0 0.0 \n", - "1 1.0 1.0 1.0 \n", - "2 1.0 0.9299999475479126 0.7599999904632568 \n", - "3 0.029999971389770508 0.0 0.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "4171 1.4200000762939453 1.3600001335144043 1.2899999618530273 \n", - "4172 1.743683315365601 1.8090398438241646 1.9187317689932244 \n", - "4173 False False False \n", - "4174 5.621843324877587 4.892390701697378 6.41959006998515 \n", - "4175 6.577240859271166 7.294423493874009 5.752909090156044 \n", + " util_distance_piecewise_linear_from_1_to_2_miles \\\n", + "0 0.00 \n", + "1 0.98 \n", + "2 0.35 \n", + "3 0.00 \n", + "4 0.00 \n", + "... ... \n", + "125546 1.00 \n", + "125547 1.00 \n", + "125548 1.00 \n", + "125549 1.00 \n", + "125550 0.02 \n", "\n", - " 4 5 6 \\\n", - "0 0.0 0.0 0.0 \n", - "1 1.0 1.0 1.0 \n", - "2 0.7699999809265137 0.4700000286102295 0.2799999713897705 \n", - "3 0.0 0.0 0.0 \n", - "4 0.0 0.0 0.0 \n", - "... ... ... ... \n", - "4171 1.1700000762939453 0.9699997901916504 0.9699997901916504 \n", - "4172 1.845763258455972 1.9118565509402088 2.070472775294134 \n", - "4173 False False False \n", - "4174 5.121864578661301 4.0943304970661645 5.6640922965207166 \n", - "4175 7.026094604325162 8.012728626482545 6.442966827027993 \n", + " util_distance_piecewise_linear_from_2_to_5_miles \\\n", + "0 0.00 \n", + "1 0.00 \n", + "2 0.00 \n", + "3 0.00 \n", + "4 0.00 \n", + "... ... \n", + "125546 1.38 \n", + "125547 0.95 \n", + "125548 0.76 \n", + "125549 0.67 \n", + "125550 0.00 \n", "\n", - " 7 8 ... 181 \\\n", - "0 0.0 0.0 ... 0.0 \n", - "1 1.0 1.0 ... 1.0 \n", - "2 0.12000000476837158 0.25999999046325684 ... 1.0 \n", - "3 0.0 0.0 ... 3.0 \n", - "4 0.0 0.0 ... 0.8899998664855957 \n", - "... ... ... ... ... \n", - "4171 0.809999942779541 0.6100001335144043 ... 0.75 \n", - "4172 2.0749647025662954 2.0765252832944836 ... 1.4896400525368332 \n", - "4173 False False ... False \n", - "4174 4.849601771676099 5.493466028204648 ... 7.195735435552638 \n", - "4175 7.224737382332969 6.539973163879868 ... 4.866333729879064 \n", + " util_distance_piecewise_linear_from_5_to_15_miles \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "125546 0.0 \n", + "125547 0.0 \n", + "125548 0.0 \n", + "125549 0.0 \n", + "125550 0.0 \n", "\n", - " 182 183 184 \\\n", - "0 0.0 0.0 0.0 \n", - "1 1.0 1.0 1.0 \n", - "2 1.0 1.0 1.0 \n", - "3 3.0 3.0 3.0 \n", - "4 1.8000001907348633 1.3299999237060547 0.48999977111816406 \n", - "... ... ... ... \n", - "4171 0.0 0.0 0.0 \n", - "4172 1.9120295717956781 1.9541420210552534 1.9566568956436885 \n", - "4173 False False False \n", - "4174 6.66177523532048 5.775893570617849 5.627447629966182 \n", - "4175 5.1845549872093715 5.945708525269778 6.047381635266343 \n", + " util_distance_piecewise_linear_for_15_plus_miles \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "125546 0.0 \n", + "125547 0.0 \n", + "125548 0.0 \n", + "125549 0.0 \n", + "125550 0.0 \n", "\n", - " 185 186 187 \\\n", - "0 0.0 0.0 0.0 \n", - "1 1.0 1.0 1.0 \n", - "2 1.0 1.0 1.0 \n", - "3 2.9600000381469727 3.0 3.0 \n", - "4 0.0 1.0799999237060547 0.9899997711181641 \n", - "... ... ... ... \n", - "4171 0.0 0.0 0.0 \n", - "4172 2.1147517922008467 2.110613932849587 2.36614159716225 \n", - "4173 False False False \n", - "4174 5.316640911769303 5.484197717810032 5.248188568415137 \n", - "4175 6.06715626447492 5.987948372605412 5.730242629913322 \n", + " util_size_variable_atwork \\\n", + "0 7.026095 \n", + "1 7.841204 \n", + "2 7.778631 \n", + "3 7.385584 \n", + "4 6.755056 \n", + "... ... \n", + "125546 5.398090 \n", + "125547 5.786087 \n", + "125548 5.680807 \n", + "125549 6.972544 \n", + "125550 6.198092 \n", "\n", - " 188 189 190 \n", - "0 0.0 0.0 0.0 \n", - "1 1.0 1.0 1.0 \n", - "2 1.0 1.0 1.0 \n", - "3 3.0 3.0 3.0 \n", - "4 1.070000171661377 1.929999828338623 2.130000114440918 \n", - "... ... ... ... \n", - "4171 0.0 0.0 0.0 \n", - "4172 2.675175002962727 2.45867106695333 2.161156410360593 \n", - "4173 False False False \n", - "4174 3.3386531188982147 7.377276636224848 5.8249441461146 \n", - "4175 7.343549119396827 3.6375335267623483 5.304200029706192 \n", + " util_no_attractions_atwork_size_variable_is_0 \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "125546 False \n", + "125547 False \n", + "125548 False \n", + "125549 False \n", + "125550 False \n", "\n", - "[4176 rows x 192 columns]" + " util_mode_choice_logsum util_sample_of_alternatives_correction_factor \n", + "0 14.641064 3.669233 \n", + "1 13.896585 4.331944 \n", + "2 14.171065 3.202032 \n", + "3 14.520744 4.616777 \n", + "4 14.588424 4.538306 \n", + "... ... ... \n", + "125546 12.614690 4.169279 \n", + "125547 12.938050 3.557811 \n", + "125548 13.080930 3.564348 \n", + "125549 13.148609 3.835276 \n", + "125550 14.389409 3.261637 \n", + "\n", + "[125551 rows x 11 columns]" ] }, "execution_count": 6, @@ -676,47 +630,47 @@ " \n", " \n", " 0\n", - " 2998927\n", - " 114\n", - " 115.0\n", - " 73144\n", - " 77\n", + " 2966559\n", + " 17\n", + " 109\n", + " 72355\n", + " 17\n", " 1\n", " \n", " \n", " 1\n", - " 3060326\n", - " 83\n", - " 83.0\n", - " 74642\n", - " 165\n", + " 3046632\n", + " 1\n", + " 13\n", + " 74308\n", + " 14\n", " 1\n", " \n", " \n", " 2\n", - " 4422879\n", - " 164\n", - " 164.0\n", - " 107875\n", - " 161\n", + " 3048108\n", + " 11\n", + " 5\n", + " 74344\n", + " 106\n", " 1\n", " \n", " \n", " 3\n", - " 4440282\n", - " 75\n", - " 76.0\n", - " 108299\n", - " 112\n", + " 3177463\n", + " 355\n", + " 355\n", + " 77499\n", + " 355\n", " 1\n", " \n", " \n", " 4\n", - " 4496780\n", - " 34\n", - " 27.0\n", - " 109677\n", - " 181\n", + " 3191832\n", + " 309\n", + " 308\n", + " 77849\n", + " 309\n", " 1\n", " \n", " \n", @@ -729,83 +683,83 @@ " ...\n", " \n", " \n", - " 459\n", - " 302923726\n", - " 71\n", - " 71.0\n", - " 7388383\n", - " 36\n", - " 4\n", + " 6031\n", + " 308156004\n", + " 323\n", + " 323\n", + " 7516000\n", + " 323\n", + " 1\n", " \n", " \n", - " 460\n", - " 302942567\n", - " 87\n", - " 87.0\n", - " 7388843\n", - " 42\n", - " 4\n", + " 6032\n", + " 308227650\n", + " 583\n", + " 582\n", + " 7517747\n", + " 573\n", + " 1\n", " \n", " \n", - " 461\n", - " 302942627\n", - " 67\n", - " 67.0\n", - " 7388844\n", - " 17\n", - " 4\n", + " 6033\n", + " 308260103\n", + " 539\n", + " 606\n", + " 7518539\n", + " 407\n", + " 1\n", " \n", " \n", - " 462\n", - " 305120465\n", - " 130\n", - " 130.0\n", - " 7441962\n", - " 127\n", - " 4\n", + " 6034\n", + " 309080718\n", + " 21\n", + " 70\n", + " 7538554\n", + " 7\n", + " 1\n", " \n", " \n", - " 463\n", - " 308000674\n", - " 17\n", - " 16.0\n", - " 7512211\n", - " 162\n", + " 6035\n", + " 309112001\n", + " 1380\n", + " 1381\n", + " 7539317\n", + " 1381\n", " 1\n", " \n", " \n", "\n", - "

464 rows × 6 columns

\n", + "

6036 rows × 6 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id workplace_zone_id \\\n", - "0 2998927 114 115.0 73144 77 \n", - "1 3060326 83 83.0 74642 165 \n", - "2 4422879 164 164.0 107875 161 \n", - "3 4440282 75 76.0 108299 112 \n", - "4 4496780 34 27.0 109677 181 \n", - ".. ... ... ... ... ... \n", - "459 302923726 71 71.0 7388383 36 \n", - "460 302942567 87 87.0 7388843 42 \n", - "461 302942627 67 67.0 7388844 17 \n", - "462 305120465 130 130.0 7441962 127 \n", - "463 308000674 17 16.0 7512211 162 \n", + " tour_id model_choice override_choice person_id workplace_zone_id \\\n", + "0 2966559 17 109 72355 17 \n", + "1 3046632 1 13 74308 14 \n", + "2 3048108 11 5 74344 106 \n", + "3 3177463 355 355 77499 355 \n", + "4 3191832 309 308 77849 309 \n", + "... ... ... ... ... ... \n", + "6031 308156004 323 323 7516000 323 \n", + "6032 308227650 583 582 7517747 573 \n", + "6033 308260103 539 606 7518539 407 \n", + "6034 309080718 21 70 7538554 7 \n", + "6035 309112001 1380 1381 7539317 1381 \n", "\n", - " income_segment \n", - "0 1 \n", - "1 1 \n", - "2 1 \n", - "3 1 \n", - "4 1 \n", - ".. ... \n", - "459 4 \n", - "460 4 \n", - "461 4 \n", - "462 4 \n", - "463 1 \n", + " income_segment \n", + "0 1 \n", + "1 1 \n", + "2 1 \n", + "3 1 \n", + "4 1 \n", + "... ... \n", + "6031 1 \n", + "6032 1 \n", + "6033 1 \n", + "6034 1 \n", + "6035 1 \n", "\n", - "[464 rows x 6 columns]" + "[6036 rows x 6 columns]" ] }, "execution_count": 7, @@ -912,9 +866,9 @@ " 7\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 3\n", " 5.89564\n", " 2.875000\n", @@ -936,9 +890,9 @@ " 19\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.84871\n", " 5.195214\n", @@ -960,9 +914,9 @@ " 38\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.53231\n", " 80.470405\n", @@ -984,9 +938,9 @@ " 20\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 2\n", " 5.64330\n", " 7.947368\n", @@ -1008,9 +962,9 @@ " 86\n", " ...\n", " 0\n", - " 0.00000\n", + " 0.0\n", " 72.14684\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.52555\n", " 38.187500\n", @@ -1043,188 +997,188 @@ " ...\n", " \n", " \n", - " 186\n", - " 4\n", - " 4\n", - " 1\n", - " 2779\n", - " 8062\n", - " 376.0\n", - " 172.0\n", - " 15.00000\n", - " 1760\n", - " 1178\n", + " 1450\n", + " 34\n", + " 34\n", + " 9\n", + " 2724\n", + " 6493\n", + " 1320.0\n", + " 630.0\n", + " 69.00000\n", + " 1046\n", + " 1013\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.04173\n", - " 14.860963\n", - " 9.411765\n", - " 5.762347\n", + " 1.12116\n", + " 3.896996\n", + " 1.496423\n", + " 1.081235\n", " False\n", " \n", " \n", - " 187\n", - " 4\n", - " 4\n", - " 1\n", - " 1492\n", - " 4139\n", - " 214.0\n", - " 116.0\n", - " 10.00000\n", - " 808\n", - " 603\n", + " 1451\n", + " 34\n", + " 34\n", + " 9\n", + " 2016\n", + " 4835\n", + " 664.0\n", + " 379.0\n", + " 43.00000\n", + " 757\n", + " 757\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", - " 2\n", - " 1.73676\n", - " 11.841270\n", - " 6.412698\n", - " 4.159890\n", + " 0.0\n", + " 1\n", + " 1.17116\n", + " 4.777251\n", + " 1.793839\n", + " 1.304140\n", " False\n", " \n", " \n", - " 188\n", - " 4\n", - " 4\n", - " 1\n", - " 753\n", - " 4072\n", - " 232.0\n", - " 11.0\n", - " 178.00000\n", - " 4502\n", - " 1117\n", + " 1452\n", + " 34\n", + " 34\n", + " 9\n", + " 2178\n", + " 5055\n", + " 1068.0\n", + " 602.0\n", + " 35.00000\n", + " 2110\n", + " 789\n", " ...\n", - " 2\n", - " 3961.04761\n", - " 17397.79102\n", - " 11152.93652\n", + " 4\n", + " 0.0\n", + " 0.00000\n", + " 0.0\n", " 1\n", - " 2.28992\n", - " 3.984127\n", - " 23.820106\n", - " 3.413233\n", + " 1.17587\n", + " 3.419152\n", + " 3.312402\n", + " 1.682465\n", " False\n", " \n", " \n", - " 189\n", - " 4\n", - " 4\n", - " 1\n", - " 3546\n", - " 8476\n", - " 201.0\n", - " 72.0\n", - " 6.00000\n", - " 226\n", - " 1057\n", + " 1453\n", + " 34\n", + " 34\n", + " 9\n", + " 298\n", + " 779\n", + " 14195.0\n", + " 429.0\n", + " 4.00000\n", + " 922\n", + " 88\n", " ...\n", - " 2\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.88773\n", - " 45.461538\n", - " 2.897436\n", - " 2.723836\n", + " 1.01972\n", + " 0.688222\n", + " 2.129330\n", + " 0.520115\n", " False\n", " \n", " \n", - " 190\n", - " 4\n", - " 4\n", - " 1\n", - " 968\n", - " 1647\n", - " 1381.0\n", - " 14.0\n", - " 28.00000\n", - " 1010\n", - " 114\n", + " 1454\n", + " 34\n", + " 34\n", + " 9\n", + " 1068\n", + " 2337\n", + " 10469.0\n", + " 1114.0\n", + " 27.00000\n", + " 607\n", + " 418\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.60309\n", - " 23.047619\n", - " 24.047619\n", - " 11.768501\n", + " 0.95542\n", + " 0.936021\n", + " 0.531989\n", + " 0.339203\n", " False\n", " \n", " \n", "\n", - "

190 rows × 28 columns

\n", + "

1454 rows × 28 columns

\n", "" ], "text/plain": [ - " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", - "zone_id \n", - "1 1 1 1 46 82 20.3 1.0 15.00000 \n", - "2 1 1 1 134 240 31.1 1.0 24.79297 \n", - "3 1 1 1 267 476 14.7 1.0 2.31799 \n", - "4 1 1 1 151 253 19.3 1.0 18.00000 \n", - "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", - "... ... .. ... ... ... ... ... ... \n", - "186 4 4 1 2779 8062 376.0 172.0 15.00000 \n", - "187 4 4 1 1492 4139 214.0 116.0 10.00000 \n", - "188 4 4 1 753 4072 232.0 11.0 178.00000 \n", - "189 4 4 1 3546 8476 201.0 72.0 6.00000 \n", - "190 4 4 1 968 1647 1381.0 14.0 28.00000 \n", + " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", + "zone_id \n", + "1 1 1 1 46 82 20.3 1.0 15.00000 \n", + "2 1 1 1 134 240 31.1 1.0 24.79297 \n", + "3 1 1 1 267 476 14.7 1.0 2.31799 \n", + "4 1 1 1 151 253 19.3 1.0 18.00000 \n", + "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", + "... ... .. ... ... ... ... ... ... \n", + "1450 34 34 9 2724 6493 1320.0 630.0 69.00000 \n", + "1451 34 34 9 2016 4835 664.0 379.0 43.00000 \n", + "1452 34 34 9 2178 5055 1068.0 602.0 35.00000 \n", + "1453 34 34 9 298 779 14195.0 429.0 4.00000 \n", + "1454 34 34 9 1068 2337 10469.0 1114.0 27.00000 \n", "\n", - " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE \\\n", - "zone_id ... \n", - "1 27318 7 ... 0 0.00000 0.00000 \n", - "2 42078 19 ... 0 0.00000 0.00000 \n", - "3 2445 38 ... 0 0.00000 0.00000 \n", - "4 22434 20 ... 0 0.00000 0.00000 \n", - "5 15662 86 ... 0 0.00000 72.14684 \n", - "... ... ... ... ... ... ... \n", - "186 1760 1178 ... 3 0.00000 0.00000 \n", - "187 808 603 ... 3 0.00000 0.00000 \n", - "188 4502 1117 ... 2 3961.04761 17397.79102 \n", - "189 226 1057 ... 2 0.00000 0.00000 \n", - "190 1010 114 ... 3 0.00000 0.00000 \n", + " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE COLLPTE \\\n", + "zone_id ... \n", + "1 27318 7 ... 0 0.0 0.00000 0.0 \n", + "2 42078 19 ... 0 0.0 0.00000 0.0 \n", + "3 2445 38 ... 0 0.0 0.00000 0.0 \n", + "4 22434 20 ... 0 0.0 0.00000 0.0 \n", + "5 15662 86 ... 0 0.0 72.14684 0.0 \n", + "... ... ... ... ... ... ... ... \n", + "1450 1046 1013 ... 4 0.0 0.00000 0.0 \n", + "1451 757 757 ... 4 0.0 0.00000 0.0 \n", + "1452 2110 789 ... 4 0.0 0.00000 0.0 \n", + "1453 922 88 ... 5 0.0 0.00000 0.0 \n", + "1454 607 418 ... 5 0.0 0.00000 0.0 \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "zone_id \n", - "1 0.00000 3 5.89564 2.875000 \n", - "2 0.00000 1 5.84871 5.195214 \n", - "3 0.00000 1 5.53231 80.470405 \n", - "4 0.00000 2 5.64330 7.947368 \n", - "5 0.00000 1 5.52555 38.187500 \n", - "... ... ... ... ... \n", - "186 0.00000 1 2.04173 14.860963 \n", - "187 0.00000 2 1.73676 11.841270 \n", - "188 11152.93652 1 2.28992 3.984127 \n", - "189 0.00000 1 2.88773 45.461538 \n", - "190 0.00000 1 2.60309 23.047619 \n", + " TOPOLOGY TERMINAL household_density employment_density \\\n", + "zone_id \n", + "1 3 5.89564 2.875000 1707.375000 \n", + "2 1 5.84871 5.195214 1631.374751 \n", + "3 1 5.53231 80.470405 736.891913 \n", + "4 2 5.64330 7.947368 1180.736842 \n", + "5 1 5.52555 38.187500 978.875000 \n", + "... ... ... ... ... \n", + "1450 1 1.12116 3.896996 1.496423 \n", + "1451 1 1.17116 4.777251 1.793839 \n", + "1452 1 1.17587 3.419152 3.312402 \n", + "1453 1 1.01972 0.688222 2.129330 \n", + "1454 1 0.95542 0.936021 0.531989 \n", "\n", - " employment_density density_index is_cbd \n", - "zone_id \n", - "1 1707.375000 2.870167 False \n", - "2 1631.374751 5.178722 False \n", - "3 736.891913 72.547987 False \n", - "4 1180.736842 7.894233 False \n", - "5 978.875000 36.753679 False \n", - "... ... ... ... \n", - "186 9.411765 5.762347 False \n", - "187 6.412698 4.159890 False \n", - "188 23.820106 3.413233 False \n", - "189 2.897436 2.723836 False \n", - "190 24.047619 11.768501 False \n", + " density_index is_cbd \n", + "zone_id \n", + "1 2.870167 False \n", + "2 5.178722 False \n", + "3 72.547987 False \n", + "4 7.894233 False \n", + "5 36.753679 False \n", + "... ... ... \n", + "1450 1.081235 False \n", + "1451 1.304140 False \n", + "1452 1.682465 False \n", + "1453 0.520115 False \n", + "1454 0.339203 False \n", "\n", - "[190 rows x 28 columns]" + "[1454 rows x 28 columns]" ] }, "execution_count": 8, @@ -1472,14 +1426,210 @@ "name": "stderr", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "converting data_ca to \n" + "problem: nan_utility has (31 issues)\n" ] }, + { + "data": { + "text/plain": [ + "(,\n", + " ┣ nan_utility: n\n", + " ┃ dummy_zone_id \n", + " ┃ 1 0\n", + " ┃ 2 0\n", + " ┃ 3 1\n", + " ┃ 4 5\n", + " ┃ 5 8\n", + " ┃ 6 9\n", + " ┃ 7 16\n", + " ┃ 8 43\n", + " ┃ 9 85\n", + " ┃ 10 138\n", + " ┃ 11 213\n", + " ┃ 12 306\n", + " ┃ 13 442\n", + " ┃ 14 615\n", + " ┃ 15 797\n", + " ┃ 16 1002\n", + " ┃ 17 1252\n", + " ┃ 18 1514\n", + " ┃ 19 1770\n", + " ┃ 20 2079\n", + " ┃ 21 2469\n", + " ┃ 22 2891\n", + " ┃ 23 3383\n", + " ┃ 24 3930\n", + " ┃ 25 4447\n", + " ┃ 26 4974\n", + " ┃ 27 5449\n", + " ┃ 28 5766\n", + " ┃ 29 5925\n", + " ┃ 30 6004\n", + " ┃ 31 6032)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.doctor(repair_nan_utility=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
LabelDescriptionExpressionatwork
0util_distance_piecewise_linear_from_0_to_1_milesDistance, piecewise linear from 0 to 1 miles@skims['DIST'].clip(0,1)coef_distance_piecewise_linear_from_0_to_1_miles
1util_distance_piecewise_linear_from_1_to_2_milesDistance, piecewise linear from 1 to 2 miles@(skims['DIST']-1).clip(0,1)coef_distance_piecewise_linear_from_1_to_2_miles
2util_distance_piecewise_linear_from_2_to_5_milesDistance, piecewise linear from 2 to 5 miles@(skims['DIST']-2).clip(0,3)coef_distance_piecewise_linear_from_2_to_5_miles
3util_distance_piecewise_linear_from_5_to_15_milesDistance, piecewise linear from 5 to 15 miles@(skims['DIST']-5).clip(0,10)coef_distance_piecewise_linear_from_5_to_15_miles
4util_distance_piecewise_linear_for_15_plus_milesDistance, piecewise linear for 15+ miles@(skims['DIST']-15.0).clip(0)coef_distance_piecewise_linear_for_15_plus_miles
5util_no_attractions_atwork_size_variable_is_0No attractions, atwork size_term variable is 0size_term==0coef_no_attractions_atwork_size_variable_is_0
6util_mode_choice_logsumMode choice logsummode_choice_logsumcoef_mode_choice_logsum
7util_sample_of_alternatives_correction_factorSample of alternatives correction factor@np.minimum(np.log(df.pick_count/df.prob), 60)coef_sample_of_alternatives_correction_factor
\n", + "
" + ], + "text/plain": [ + " Label \\\n", + "0 util_distance_piecewise_linear_from_0_to_1_miles \n", + "1 util_distance_piecewise_linear_from_1_to_2_miles \n", + "2 util_distance_piecewise_linear_from_2_to_5_miles \n", + "3 util_distance_piecewise_linear_from_5_to_15_miles \n", + "4 util_distance_piecewise_linear_for_15_plus_miles \n", + "5 util_no_attractions_atwork_size_variable_is_0 \n", + "6 util_mode_choice_logsum \n", + "7 util_sample_of_alternatives_correction_factor \n", + "\n", + " Description \\\n", + "0 Distance, piecewise linear from 0 to 1 miles \n", + "1 Distance, piecewise linear from 1 to 2 miles \n", + "2 Distance, piecewise linear from 2 to 5 miles \n", + "3 Distance, piecewise linear from 5 to 15 miles \n", + "4 Distance, piecewise linear for 15+ miles \n", + "5 No attractions, atwork size_term variable is 0 \n", + "6 Mode choice logsum \n", + "7 Sample of alternatives correction factor \n", + "\n", + " Expression \\\n", + "0 @skims['DIST'].clip(0,1) \n", + "1 @(skims['DIST']-1).clip(0,1) \n", + "2 @(skims['DIST']-2).clip(0,3) \n", + "3 @(skims['DIST']-5).clip(0,10) \n", + "4 @(skims['DIST']-15.0).clip(0) \n", + "5 size_term==0 \n", + "6 mode_choice_logsum \n", + "7 @np.minimum(np.log(df.pick_count/df.prob), 60) \n", + "\n", + " atwork \n", + "0 coef_distance_piecewise_linear_from_0_to_1_miles \n", + "1 coef_distance_piecewise_linear_from_1_to_2_miles \n", + "2 coef_distance_piecewise_linear_from_2_to_5_miles \n", + "3 coef_distance_piecewise_linear_from_5_to_15_miles \n", + "4 coef_distance_piecewise_linear_for_15_plus_miles \n", + "5 coef_no_attractions_atwork_size_variable_is_0 \n", + "6 coef_mode_choice_logsum \n", + "7 coef_sample_of_alternatives_correction_factor " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.spec" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "

Iteration 008 [Optimization terminated successfully.]

" + "

Iteration 006 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1491,7 +1641,7 @@ { "data": { "text/html": [ - "

Best LL = -2329.8700459477177

" + "

Best LL = -12720.40641937967

" ], "text/plain": [ "" @@ -1522,213 +1672,190 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " atwork_HEREMPN\n", - " -1.707324\n", + " -1.371795\n", + " -1.371795\n", " -1.354796\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.707324\n", " \n", " \n", " atwork_RETEMPN\n", " -0.298406\n", " -0.298406\n", + " -0.298406\n", + " -0.298406\n", + " -0.298406\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -0.298406\n", " \n", " \n", " coef_distance_piecewise_linear_for_15_plus_miles\n", + " -0.326384\n", + " -0.326384\n", " -0.204500\n", - " -0.204500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.204500\n", " \n", " \n", " coef_distance_piecewise_linear_from_0_to_1_miles\n", - " -1.364154\n", + " -0.840401\n", + " -0.840401\n", " -0.792600\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.364154\n", " \n", " \n", " coef_distance_piecewise_linear_from_1_to_2_miles\n", - " -0.739532\n", + " -0.905173\n", + " -0.905173\n", " -0.792600\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.739532\n", " \n", " \n", " coef_distance_piecewise_linear_from_2_to_5_miles\n", - " -0.504526\n", + " -0.577554\n", + " -0.577554\n", " -0.519700\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.504526\n", " \n", " \n", " coef_distance_piecewise_linear_from_5_to_15_miles\n", - " -0.073403\n", + " -0.193532\n", + " -0.193532\n", " -0.204500\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.073403\n", " \n", " \n", " coef_mode_choice_logsum\n", - " 0.503271\n", + " 0.403737\n", + " 0.403737\n", " 0.513600\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.503271\n", " \n", " \n", " coef_no_attractions_atwork_size_variable_is_0\n", " -999.000000\n", " -999.000000\n", + " -999.000000\n", + " -999.000000\n", + " -999.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_sample_of_alternatives_correction_factor\n", " 1.000000\n", " 1.000000\n", + " 1.000000\n", + " 1.000000\n", + " 1.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " 1.000000\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "atwork_HEREMPN -1.707324 -1.354796 \n", + " value best \\\n", + "param_name \n", + "atwork_HEREMPN -1.371795 -1.371795 \n", "atwork_RETEMPN -0.298406 -0.298406 \n", - "coef_distance_piecewise_linear_for_15_plus_miles -0.204500 -0.204500 \n", - "coef_distance_piecewise_linear_from_0_to_1_miles -1.364154 -0.792600 \n", - "coef_distance_piecewise_linear_from_1_to_2_miles -0.739532 -0.792600 \n", - "coef_distance_piecewise_linear_from_2_to_5_miles -0.504526 -0.519700 \n", - "coef_distance_piecewise_linear_from_5_to_15_miles -0.073403 -0.204500 \n", - "coef_mode_choice_logsum 0.503271 0.513600 \n", + "coef_distance_piecewise_linear_for_15_plus_miles -0.326384 -0.326384 \n", + "coef_distance_piecewise_linear_from_0_to_1_miles -0.840401 -0.840401 \n", + "coef_distance_piecewise_linear_from_1_to_2_miles -0.905173 -0.905173 \n", + "coef_distance_piecewise_linear_from_2_to_5_miles -0.577554 -0.577554 \n", + "coef_distance_piecewise_linear_from_5_to_15_miles -0.193532 -0.193532 \n", + "coef_mode_choice_logsum 0.403737 0.403737 \n", "coef_no_attractions_atwork_size_variable_is_0 -999.000000 -999.000000 \n", "coef_sample_of_alternatives_correction_factor 1.000000 1.000000 \n", "\n", - " nullvalue minimum \\\n", - "atwork_HEREMPN 0.0 -6.0 \n", - "atwork_RETEMPN 0.0 -6.0 \n", - "coef_distance_piecewise_linear_for_15_plus_miles 0.0 NaN \n", - "coef_distance_piecewise_linear_from_0_to_1_miles 0.0 NaN \n", - "coef_distance_piecewise_linear_from_1_to_2_miles 0.0 NaN \n", - "coef_distance_piecewise_linear_from_2_to_5_miles 0.0 NaN \n", - "coef_distance_piecewise_linear_from_5_to_15_miles 0.0 NaN \n", - "coef_mode_choice_logsum 0.0 NaN \n", - "coef_no_attractions_atwork_size_variable_is_0 0.0 NaN \n", - "coef_sample_of_alternatives_correction_factor 0.0 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "atwork_HEREMPN -1.354796 -6.000000 \n", + "atwork_RETEMPN -0.298406 -0.298406 \n", + "coef_distance_piecewise_linear_for_15_plus_miles -0.204500 -25.000000 \n", + "coef_distance_piecewise_linear_from_0_to_1_miles -0.792600 -25.000000 \n", + "coef_distance_piecewise_linear_from_1_to_2_miles -0.792600 -25.000000 \n", + "coef_distance_piecewise_linear_from_2_to_5_miles -0.519700 -25.000000 \n", + "coef_distance_piecewise_linear_from_5_to_15_miles -0.204500 -25.000000 \n", + "coef_mode_choice_logsum 0.513600 -25.000000 \n", + "coef_no_attractions_atwork_size_variable_is_0 -999.000000 -999.000000 \n", + "coef_sample_of_alternatives_correction_factor 1.000000 1.000000 \n", "\n", - " maximum holdfast note \\\n", - "atwork_HEREMPN 6.0 0 \n", - "atwork_RETEMPN 6.0 1 \n", - "coef_distance_piecewise_linear_for_15_plus_miles NaN 0 \n", - "coef_distance_piecewise_linear_from_0_to_1_miles NaN 0 \n", - "coef_distance_piecewise_linear_from_1_to_2_miles NaN 0 \n", - "coef_distance_piecewise_linear_from_2_to_5_miles NaN 0 \n", - "coef_distance_piecewise_linear_from_5_to_15_miles NaN 0 \n", - "coef_mode_choice_logsum NaN 0 \n", - "coef_no_attractions_atwork_size_variable_is_0 NaN 1 \n", - "coef_sample_of_alternatives_correction_factor NaN 1 \n", + " maximum nullvalue \\\n", + "param_name \n", + "atwork_HEREMPN 6.000000 0.0 \n", + "atwork_RETEMPN -0.298406 0.0 \n", + "coef_distance_piecewise_linear_for_15_plus_miles 25.000000 0.0 \n", + "coef_distance_piecewise_linear_from_0_to_1_miles 25.000000 0.0 \n", + "coef_distance_piecewise_linear_from_1_to_2_miles 25.000000 0.0 \n", + "coef_distance_piecewise_linear_from_2_to_5_miles 25.000000 0.0 \n", + "coef_distance_piecewise_linear_from_5_to_15_miles 25.000000 0.0 \n", + "coef_mode_choice_logsum 25.000000 0.0 \n", + "coef_no_attractions_atwork_size_variable_is_0 -999.000000 0.0 \n", + "coef_sample_of_alternatives_correction_factor 1.000000 0.0 \n", "\n", - " best \n", - "atwork_HEREMPN -1.707324 \n", - "atwork_RETEMPN -0.298406 \n", - "coef_distance_piecewise_linear_for_15_plus_miles -0.204500 \n", - "coef_distance_piecewise_linear_from_0_to_1_miles -1.364154 \n", - "coef_distance_piecewise_linear_from_1_to_2_miles -0.739532 \n", - "coef_distance_piecewise_linear_from_2_to_5_miles -0.504526 \n", - "coef_distance_piecewise_linear_from_5_to_15_miles -0.073403 \n", - "coef_mode_choice_logsum 0.503271 \n", - "coef_no_attractions_atwork_size_variable_is_0 -999.000000 \n", - "coef_sample_of_alternatives_correction_factor 1.000000 " + " holdfast \n", + "param_name \n", + "atwork_HEREMPN 0 \n", + "atwork_RETEMPN 1 \n", + "coef_distance_piecewise_linear_for_15_plus_miles 0 \n", + "coef_distance_piecewise_linear_from_0_to_1_miles 0 \n", + "coef_distance_piecewise_linear_from_1_to_2_miles 0 \n", + "coef_distance_piecewise_linear_from_2_to_5_miles 0 \n", + "coef_distance_piecewise_linear_from_5_to_15_miles 0 \n", + "coef_mode_choice_logsum 0 \n", + "coef_no_attractions_atwork_size_variable_is_0 1 \n", + "coef_sample_of_alternatives_correction_factor 1 " ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.1460637824515034e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.192541283407413e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.498478984793179e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0731153205050762e-13 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.333452476333678e-13 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.7862187878568713e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 5.750088707308852e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0701560851092294e-14 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0186281177938627e-13 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 1.0837304994953431e-13 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, { "data": { "text/html": [ - "
keyvalue
loglike-2329.8700459477177
x\n", + "
keyvalue
loglike-12720.40641937967
x\n", " \n", " \n", " \n", @@ -1738,7 +1865,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1746,27 +1873,27 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1777,38 +1904,37 @@ " \n", " \n", " \n", - "
atwork_HEREMPN-1.707324-1.371795
atwork_RETEMPN
coef_distance_piecewise_linear_for_15_plus_miles-0.204500-0.326384
coef_distance_piecewise_linear_from_0_to_1_miles-1.364154-0.840401
coef_distance_piecewise_linear_from_1_to_2_miles-0.739532-0.905173
coef_distance_piecewise_linear_from_2_to_5_miles-0.504526-0.577554
coef_distance_piecewise_linear_from_5_to_15_miles-0.073403-0.193532
coef_mode_choice_logsum0.5032710.403737
coef_no_attractions_atwork_size_variable_is_01.000000
tolerance8.076677745948512e-06
stepsarray([1., 1., 1., 1., 1., 1., 1., 1.])
message'Optimization terminated successfully.'
elapsed_time0:00:00.121814
method'BHHH'
n_cases464
iteration_number8
logloss5.021271650749392
" + "
tolerance8.315604351559683e-06stepsarray([1., 1., 1., 1., 1., 1.])message'Optimization terminated successfully'elapsed_time0:00:00.285360method'bhhh'n_cases6036iteration_number6
" ], "text/plain": [ - "┣ loglike: -2329.8700459477177\n", - "┣ x: atwork_HEREMPN -1.707324\n", + "┣ loglike: -12720.40641937967\n", + "┣ x: atwork_HEREMPN -1.371795\n", "┃ atwork_RETEMPN -0.298406\n", - "┃ coef_distance_piecewise_linear_for_15_plus_miles -0.204500\n", - "┃ coef_distance_piecewise_linear_from_0_to_1_miles -1.364154\n", - "┃ coef_distance_piecewise_linear_from_1_to_2_miles -0.739532\n", - "┃ coef_distance_piecewise_linear_from_2_to_5_miles -0.504526\n", - "┃ coef_distance_piecewise_linear_from_5_to_15_miles -0.073403\n", - "┃ coef_mode_choice_logsum 0.503271\n", + "┃ coef_distance_piecewise_linear_for_15_plus_miles -0.326384\n", + "┃ coef_distance_piecewise_linear_from_0_to_1_miles -0.840401\n", + "┃ coef_distance_piecewise_linear_from_1_to_2_miles -0.905173\n", + "┃ coef_distance_piecewise_linear_from_2_to_5_miles -0.577554\n", + "┃ coef_distance_piecewise_linear_from_5_to_15_miles -0.193532\n", + "┃ coef_mode_choice_logsum 0.403737\n", "┃ coef_no_attractions_atwork_size_variable_is_0 -999.000000\n", "┃ coef_sample_of_alternatives_correction_factor 1.000000\n", "┃ dtype: float64\n", - "┣ tolerance: 8.076677745948512e-06\n", - "┣ steps: array([1., 1., 1., 1., 1., 1., 1., 1.])\n", - "┣ message: 'Optimization terminated successfully.'\n", - "┣ elapsed_time: datetime.timedelta(microseconds=121814)\n", - "┣ method: 'BHHH'\n", - "┣ n_cases: 464\n", - "┣ iteration_number: 8\n", - "┣ logloss: 5.021271650749392" + "┣ tolerance: 8.315604351559683e-06\n", + "┣ steps: array([1., 1., 1., 1., 1., 1.])\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ elapsed_time: datetime.timedelta(microseconds=285360)\n", + "┣ method: 'bhhh'\n", + "┣ n_cases: 6036\n", + "┣ iteration_number: 6" ] }, - "execution_count": 11, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate(method='BHHH', options={'maxiter':1000})" + "model.estimate(method='bhhh', options={'maxiter':1000})" ] }, { @@ -1820,119 +1946,145 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Null Value Constrained
atwork_HEREMPN-1.71 0.203-8.39*** 0.00
atwork_RETEMPN-0.298 NA NA 0.00fixed value
coef_distance_piecewise_linear_for_15_plus_miles-0.205 1.79e-14-BIG*** 0.00
coef_distance_piecewise_linear_from_0_to_1_miles-1.36 0.402-3.39*** 0.00
coef_distance_piecewise_linear_from_1_to_2_miles-0.740 0.222-3.33*** 0.00
coef_distance_piecewise_linear_from_2_to_5_miles-0.505 0.0702-7.19*** 0.00
coef_distance_piecewise_linear_from_5_to_15_miles-0.0734 0.0897-0.82 0.00
coef_mode_choice_logsum 0.503 0.0702 7.17*** 0.00
coef_no_attractions_atwork_size_variable_is_0-999. NA NA 0.00fixed value
coef_sample_of_alternatives_correction_factor 1.00 NA NA 0.00fixed value
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
atwork_HEREMPN-1.37 0.0710-19.32*** 0.00
atwork_RETEMPN-0.298 0.00 NA 0.00fixed value
coef_distance_piecewise_linear_for_15_plus_miles-0.326 0.0607-5.38*** 0.00
coef_distance_piecewise_linear_from_0_to_1_miles-0.840 0.0954-8.81*** 0.00
coef_distance_piecewise_linear_from_1_to_2_miles-0.905 0.0554-16.34*** 0.00
coef_distance_piecewise_linear_from_2_to_5_miles-0.578 0.0278-20.77*** 0.00
coef_distance_piecewise_linear_from_5_to_15_miles-0.194 0.0173-11.20*** 0.00
coef_mode_choice_logsum 0.404 0.0244 16.54*** 0.00
coef_no_attractions_atwork_size_variable_is_0-999. 0.00 NA 0.00fixed value
coef_sample_of_alternatives_correction_factor 1.00 0.00 NA 0.00fixed value
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 12, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1953,7 +2105,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -1970,7 +2122,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -1989,7 +2141,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -2242,9 +2394,9 @@ " atwork\n", " atwork\n", " 0.000000\n", - " 0.803595\n", + " 0.745241\n", " 0.000000\n", - " 0.196405\n", + " 0.254759\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -2400,7 +2552,7 @@ "10 othmaint non_mandatory 0.000000 0.482000 0.000000 0.518000 \n", "11 social non_mandatory 0.000000 0.522000 0.000000 0.478000 \n", "12 othdiscr non_mandatory 0.252252 0.212212 0.000000 0.272272 \n", - "13 atwork atwork 0.000000 0.803595 0.000000 0.196405 \n", + "13 atwork atwork 0.000000 0.745241 0.000000 0.254759 \n", "14 work trip 0.000000 0.166667 0.166667 0.166667 \n", "15 escort trip 0.001000 0.225000 0.000000 0.144000 \n", "16 shopping trip 0.001000 0.999000 0.000000 0.000000 \n", @@ -2435,7 +2587,7 @@ "21 0.000000 0.000000 0.000000 0.000 0.000000 0.591409 0.407592 " ] }, - "execution_count": 15, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -2456,7 +2608,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -2480,7 +2632,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -2513,31 +2665,31 @@ " \n", " 0\n", " coef_distance_piecewise_linear_from_0_to_1_miles\n", - " -1.364154\n", + " -0.840401\n", " F\n", " \n", " \n", " 1\n", " coef_distance_piecewise_linear_from_1_to_2_miles\n", - " -0.739532\n", + " -0.905173\n", " F\n", " \n", " \n", " 2\n", " coef_distance_piecewise_linear_from_2_to_5_miles\n", - " -0.504526\n", + " -0.577554\n", " F\n", " \n", " \n", " 3\n", " coef_distance_piecewise_linear_from_5_to_15_miles\n", - " -0.073403\n", + " -0.193532\n", " F\n", " \n", " \n", " 4\n", " coef_distance_piecewise_linear_for_15_plus_miles\n", - " -0.204500\n", + " -0.326384\n", " F\n", " \n", " \n", @@ -2555,7 +2707,7 @@ " \n", " 7\n", " coef_mode_choice_logsum\n", - " 0.503271\n", + " 0.403737\n", " F\n", " \n", " \n", @@ -2570,18 +2722,18 @@ ], "text/plain": [ " coefficient_name value constrain\n", - "0 coef_distance_piecewise_linear_from_0_to_1_miles -1.364154 F\n", - "1 coef_distance_piecewise_linear_from_1_to_2_miles -0.739532 F\n", - "2 coef_distance_piecewise_linear_from_2_to_5_miles -0.504526 F\n", - "3 coef_distance_piecewise_linear_from_5_to_15_miles -0.073403 F\n", - "4 coef_distance_piecewise_linear_for_15_plus_miles -0.204500 F\n", + "0 coef_distance_piecewise_linear_from_0_to_1_miles -0.840401 F\n", + "1 coef_distance_piecewise_linear_from_1_to_2_miles -0.905173 F\n", + "2 coef_distance_piecewise_linear_from_2_to_5_miles -0.577554 F\n", + "3 coef_distance_piecewise_linear_from_5_to_15_miles -0.193532 F\n", + "4 coef_distance_piecewise_linear_for_15_plus_miles -0.326384 F\n", "5 coef_size_variable_atwork 1.000000 T\n", "6 coef_no_attractions_atwork_size_variable_is_0 -999.000000 T\n", - "7 coef_mode_choice_logsum 0.503271 F\n", + "7 coef_mode_choice_logsum 0.403737 F\n", "8 coef_sample_of_alternatives_correction_factor 1.000000 T" ] }, - "execution_count": 17, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -2592,7 +2744,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -2860,9 +3012,9 @@ " atwork\n", " atwork\n", " 0.000000\n", - " 0.803595\n", + " 0.745241\n", " 0.000000\n", - " 0.196405\n", + " 0.254759\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -3026,7 +3178,7 @@ "10 10 othmaint non_mandatory 0.000000 0.482000 0.000000 \n", "11 11 social non_mandatory 0.000000 0.522000 0.000000 \n", "12 12 othdiscr non_mandatory 0.252252 0.212212 0.000000 \n", - "13 13 atwork atwork 0.000000 0.803595 0.000000 \n", + "13 13 atwork atwork 0.000000 0.745241 0.000000 \n", "14 14 work trip 0.000000 0.166667 0.166667 \n", "15 15 escort trip 0.001000 0.225000 0.000000 \n", "16 16 shopping trip 0.001000 0.999000 0.000000 \n", @@ -3050,7 +3202,7 @@ "10 0.518000 0.000000 0.000000 0.000000 0.000 0.000000 0.000000 \n", "11 0.478000 0.000000 0.000000 0.000000 0.000 0.000000 0.000000 \n", "12 0.272272 0.165165 0.000000 0.000000 0.000 0.098098 0.000000 \n", - "13 0.196405 0.000000 0.000000 0.000000 0.000 0.000000 0.000000 \n", + "13 0.254759 0.000000 0.000000 0.000000 0.000 0.000000 0.000000 \n", "14 0.166667 0.166667 0.166667 0.166667 0.000 0.000000 0.000000 \n", "15 0.144000 0.000000 0.000000 0.000000 0.464 0.166000 0.000000 \n", "16 0.000000 0.000000 0.000000 0.000000 0.000 0.000000 0.000000 \n", @@ -3085,7 +3237,7 @@ "21 0.407592 " ] }, - "execution_count": 18, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -3102,7 +3254,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -3116,7 +3268,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/20_atwork_subtour_scheduling.ipynb b/activitysim/examples/example_estimation/notebooks/20_atwork_subtour_scheduling.ipynb index ae20d36942..1de74014a3 100644 --- a/activitysim/examples/example_estimation/notebooks/20_atwork_subtour_scheduling.ipynb +++ b/activitysim/examples/example_estimation/notebooks/20_atwork_subtour_scheduling.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -70,11 +117,13 @@ "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/activitysim/activitysim/estimation/larch/__init__.py:18: DtypeWarning: Columns (15,16,17,18,19,20,33,34,35,36,37,38,50,51,52,53,54,55,66,67,68,69,70,71,81,82,83,84,85,86,95,96,97,98,99,100,108,109,110,111,112,113,120,121,122,123,124,125,131,132,133,134,135,136,141,142,143,144,145,146,150,151,152,153,154,155,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191) have mixed types.Specify dtype option on import or set low_memory=False.\n", - " return m(*args, **kwargs)\n" + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_scheduling/tour_scheduling_atwork_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_scheduling/atwork_subtour_scheduling_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_scheduling/atwork_subtour_scheduling_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/atwork_subtour_scheduling/atwork_subtour_scheduling_choosers_combined.parquet\n" ] } ], @@ -82,7 +131,12 @@ "modelname = \"atwork_subtour_scheduling\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -1095,14 +1149,14 @@ " tour_count\n", " tour_category\n", " ...\n", - " COLLFTE\n", - " COLLPTE\n", - " TOPOLOGY\n", - " TERMINAL\n", - " household_density\n", - " employment_density\n", - " density_index\n", - " is_cbd\n", + " auOpRetail\n", + " auOpTotal\n", + " trPkRetail\n", + " trPkTotal\n", + " trOpRetail\n", + " trOpTotal\n", + " nmRetail\n", + " nmTotal\n", " start_previous\n", " end_previous\n", " \n", @@ -1110,34 +1164,34 @@ " \n", " \n", " 0\n", - " 2998927\n", - " 114\n", - " 114\n", - " 73144\n", - " maint\n", + " 2966559\n", + " 86\n", + " 113\n", + " 72355\n", + " eat\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.48345\n", - " 26.073171\n", - " 8.048780\n", - " 6.150212\n", - " False\n", + " 9.915345\n", + " 12.430580\n", + " 6.550726\n", + " 9.119016\n", + " 6.446184\n", + " 9.035333\n", + " 5.256966\n", + " 6.831275\n", " 5\n", " 5\n", " \n", " \n", " 1\n", - " 3060326\n", - " 85\n", - " 85\n", - " 74642\n", + " 3046632\n", + " 145\n", + " 90\n", + " 74308\n", " eat\n", " 1\n", " 1\n", @@ -1145,23 +1199,23 @@ " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.09035\n", - " 20.666667\n", - " 4.107527\n", - " 3.426505\n", - " False\n", + " 10.259606\n", + " 12.727344\n", + " 5.452325\n", + " 7.771767\n", + " 5.298242\n", + " 7.602426\n", + " 6.443514\n", + " 7.965548\n", " 5\n", " 5\n", " \n", " \n", " 2\n", - " 4422879\n", - " 124\n", + " 3048108\n", + " 85\n", " 124\n", - " 107875\n", + " 74344\n", " eat\n", " 1\n", " 1\n", @@ -1169,47 +1223,47 @@ " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 5.35435\n", - " 139.333333\n", - " 418.518519\n", - " 104.532377\n", - " False\n", + " 10.259606\n", + " 12.727344\n", + " 5.452325\n", + " 7.771767\n", + " 5.298242\n", + " 7.602426\n", + " 6.443514\n", + " 7.965548\n", " 5\n", " 5\n", " \n", " \n", " 3\n", - " 4440282\n", - " 154\n", - " 154\n", - " 108299\n", - " maint\n", + " 3177463\n", + " 99\n", + " 55\n", + " 77499\n", + " eat\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 2035.58118\n", - " 20.60887\n", - " 2\n", - " 5.22542\n", - " 97.634722\n", - " 550.205552\n", - " 82.920387\n", - " False\n", + " 7.714071\n", + " 10.313852\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 5\n", " 5\n", " \n", " \n", " 4\n", - " 4496780\n", - " 89\n", - " 89\n", - " 109677\n", + " 3191832\n", + " 99\n", + " 145\n", + " 77849\n", " maint\n", " 1\n", " 1\n", @@ -1217,14 +1271,14 @@ " 1\n", " atwork\n", " ...\n", - " 690.54974\n", - " 0.00000\n", - " 3\n", - " 4.73802\n", - " 117.769796\n", - " 246.205869\n", - " 79.663609\n", - " False\n", + " 9.763398\n", + " 12.307147\n", + " 1.228620\n", + " 3.278544\n", + " 1.239060\n", + " 3.280429\n", + " 4.284159\n", + " 6.249753\n", " 5\n", " 5\n", " \n", @@ -1253,184 +1307,184 @@ " ...\n", " \n", " \n", - " 459\n", - " 302923726\n", - " 145\n", - " 145\n", - " 7388383\n", - " maint\n", + " 6031\n", + " 308156004\n", + " 99\n", + " 124\n", + " 7516000\n", + " eat\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.37546\n", - " 19.153846\n", - " 5.907692\n", - " 4.515087\n", - " False\n", + " 9.566058\n", + " 12.139587\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 3.086628\n", + " 5.647842\n", " 5\n", " 5\n", " \n", " \n", - " 460\n", - " 302942567\n", - " 85\n", - " 85\n", - " 7388843\n", - " eat\n", + " 6032\n", + " 308227650\n", + " 155\n", + " 88\n", + " 7517747\n", + " maint\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.81406\n", - " 16.068376\n", - " 21.136752\n", - " 9.128669\n", - " False\n", + " 10.260330\n", + " 12.748307\n", + " 4.719610\n", + " 7.890189\n", + " 4.493279\n", + " 7.643024\n", + " 5.529241\n", + " 8.876000\n", " 5\n", " 5\n", " \n", " \n", - " 461\n", - " 302942627\n", - " 135\n", - " 135\n", - " 7388844\n", - " maint\n", + " 6033\n", + " 308260103\n", + " 102\n", + " 113\n", + " 7518539\n", + " eat\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 2.81406\n", - " 16.068376\n", - " 21.136752\n", - " 9.128669\n", - " False\n", + " 10.294354\n", + " 12.880095\n", + " 4.408064\n", + " 7.614481\n", + " 3.838266\n", + " 7.011926\n", + " 5.169891\n", + " 8.595128\n", " 5\n", " 5\n", " \n", " \n", - " 462\n", - " 305120465\n", - " 112\n", - " 112\n", - " 7441962\n", - " maint\n", + " 6034\n", + " 309080718\n", + " 55\n", + " 113\n", + " 7538554\n", + " eat\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 1\n", - " 8.54946\n", - " 55.606634\n", - " 142.984438\n", - " 40.036459\n", - " False\n", + " 10.345456\n", + " 12.953264\n", + " 7.103743\n", + " 9.892019\n", + " 6.979741\n", + " 9.773601\n", + " 6.557982\n", + " 8.518901\n", " 5\n", " 5\n", " \n", " \n", - " 463\n", - " 308000674\n", - " 124\n", - " 124\n", - " 7512211\n", - " maint\n", + " 6035\n", + " 309112001\n", + " 125\n", + " 113\n", + " 7539317\n", + " eat\n", " 1\n", " 1\n", " 1\n", " 1\n", " atwork\n", " ...\n", - " 0.00000\n", - " 0.00000\n", - " 2\n", - " 4.64648\n", - " 196.395950\n", - " 178.779465\n", - " 93.587057\n", - " False\n", + " 6.494711\n", + " 8.713819\n", + " 0.019735\n", + " 0.222696\n", + " 0.016077\n", + " 0.153189\n", + " 0.000000\n", + " 0.000000\n", " 5\n", " 5\n", " \n", " \n", "\n", - "

464 rows × 162 columns

\n", + "

6036 rows × 162 columns

\n", "" ], "text/plain": [ - " tour_id model_choice override_choice person_id tour_type \\\n", - "0 2998927 114 114 73144 maint \n", - "1 3060326 85 85 74642 eat \n", - "2 4422879 124 124 107875 eat \n", - "3 4440282 154 154 108299 maint \n", - "4 4496780 89 89 109677 maint \n", - ".. ... ... ... ... ... \n", - "459 302923726 145 145 7388383 maint \n", - "460 302942567 85 85 7388843 eat \n", - "461 302942627 135 135 7388844 maint \n", - "462 305120465 112 112 7441962 maint \n", - "463 308000674 124 124 7512211 maint \n", + " tour_id model_choice override_choice person_id tour_type \\\n", + "0 2966559 86 113 72355 eat \n", + "1 3046632 145 90 74308 eat \n", + "2 3048108 85 124 74344 eat \n", + "3 3177463 99 55 77499 eat \n", + "4 3191832 99 145 77849 maint \n", + "... ... ... ... ... ... \n", + "6031 308156004 99 124 7516000 eat \n", + "6032 308227650 155 88 7517747 maint \n", + "6033 308260103 102 113 7518539 eat \n", + "6034 309080718 55 113 7538554 eat \n", + "6035 309112001 125 113 7539317 eat \n", "\n", - " tour_type_count tour_type_num tour_num tour_count tour_category ... \\\n", - "0 1 1 1 1 atwork ... \n", - "1 1 1 1 1 atwork ... \n", - "2 1 1 1 1 atwork ... \n", - "3 1 1 1 1 atwork ... \n", - "4 1 1 1 1 atwork ... \n", - ".. ... ... ... ... ... ... \n", - "459 1 1 1 1 atwork ... \n", - "460 1 1 1 1 atwork ... \n", - "461 1 1 1 1 atwork ... \n", - "462 1 1 1 1 atwork ... \n", - "463 1 1 1 1 atwork ... \n", + " tour_type_count tour_type_num tour_num tour_count tour_category ... \\\n", + "0 1 1 1 1 atwork ... \n", + "1 1 1 1 1 atwork ... \n", + "2 1 1 1 1 atwork ... \n", + "3 1 1 1 1 atwork ... \n", + "4 1 1 1 1 atwork ... \n", + "... ... ... ... ... ... ... \n", + "6031 1 1 1 1 atwork ... \n", + "6032 1 1 1 1 atwork ... \n", + "6033 1 1 1 1 atwork ... \n", + "6034 1 1 1 1 atwork ... \n", + "6035 1 1 1 1 atwork ... \n", "\n", - " COLLFTE COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "0 0.00000 0.00000 1 2.48345 26.073171 \n", - "1 0.00000 0.00000 1 2.09035 20.666667 \n", - "2 0.00000 0.00000 1 5.35435 139.333333 \n", - "3 2035.58118 20.60887 2 5.22542 97.634722 \n", - "4 690.54974 0.00000 3 4.73802 117.769796 \n", - ".. ... ... ... ... ... \n", - "459 0.00000 0.00000 1 2.37546 19.153846 \n", - "460 0.00000 0.00000 1 2.81406 16.068376 \n", - "461 0.00000 0.00000 1 2.81406 16.068376 \n", - "462 0.00000 0.00000 1 8.54946 55.606634 \n", - "463 0.00000 0.00000 2 4.64648 196.395950 \n", + " auOpRetail auOpTotal trPkRetail trPkTotal trOpRetail trOpTotal \\\n", + "0 9.915345 12.430580 6.550726 9.119016 6.446184 9.035333 \n", + "1 10.259606 12.727344 5.452325 7.771767 5.298242 7.602426 \n", + "2 10.259606 12.727344 5.452325 7.771767 5.298242 7.602426 \n", + "3 7.714071 10.313852 0.000000 0.000000 0.000000 0.000000 \n", + "4 9.763398 12.307147 1.228620 3.278544 1.239060 3.280429 \n", + "... ... ... ... ... ... ... \n", + "6031 9.566058 12.139587 0.000000 0.000000 0.000000 0.000000 \n", + "6032 10.260330 12.748307 4.719610 7.890189 4.493279 7.643024 \n", + "6033 10.294354 12.880095 4.408064 7.614481 3.838266 7.011926 \n", + "6034 10.345456 12.953264 7.103743 9.892019 6.979741 9.773601 \n", + "6035 6.494711 8.713819 0.019735 0.222696 0.016077 0.153189 \n", "\n", - " employment_density density_index is_cbd start_previous end_previous \n", - "0 8.048780 6.150212 False 5 5 \n", - "1 4.107527 3.426505 False 5 5 \n", - "2 418.518519 104.532377 False 5 5 \n", - "3 550.205552 82.920387 False 5 5 \n", - "4 246.205869 79.663609 False 5 5 \n", - ".. ... ... ... ... ... \n", - "459 5.907692 4.515087 False 5 5 \n", - "460 21.136752 9.128669 False 5 5 \n", - "461 21.136752 9.128669 False 5 5 \n", - "462 142.984438 40.036459 False 5 5 \n", - "463 178.779465 93.587057 False 5 5 \n", + " nmRetail nmTotal start_previous end_previous \n", + "0 5.256966 6.831275 5 5 \n", + "1 6.443514 7.965548 5 5 \n", + "2 6.443514 7.965548 5 5 \n", + "3 0.000000 0.000000 5 5 \n", + "4 4.284159 6.249753 5 5 \n", + "... ... ... ... ... \n", + "6031 3.086628 5.647842 5 5 \n", + "6032 5.529241 8.876000 5 5 \n", + "6033 5.169891 8.595128 5 5 \n", + "6034 6.557982 8.518901 5 5 \n", + "6035 0.000000 0.000000 5 5 \n", "\n", - "[464 rows x 162 columns]" + "[6036 rows x 162 columns]" ] }, "execution_count": 6, @@ -1476,148 +1530,148 @@ " \n", " \n", " tour_id\n", - " variable\n", - " 0\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", + " start\n", + " end\n", + " duration\n", + " tdd\n", + " mode_choice_logsum\n", + " util_early_start_at_5\n", + " util_am_peak_start_at_6\n", + " util_am_peak_start_at_7\n", + " util_am_peak_start_at_8\n", " ...\n", - " 180\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", + " util_duration_shift_for_number_of_mandatory_tours\n", + " util_start_shift_for_number_of_joint_tours\n", + " util_duration_shift_for_number_of_joint_tours\n", + " util_start_shift_for_number_of_individual_nonmandatory_tours\n", + " util_duration_shift_for_number_of_individual_nonmandatory_tours\n", + " util_dummy_for_business_related_purpose_and_duration_from_0_to_1\n", + " util_dummy_for_eating_out_purpose_and_duration_of_1_hour\n", + " util_dummy_for_eating_out_purpose_and_departure_at_11\n", + " util_dummy_for_eating_out_purpose_and_departure_at_12\n", + " util_dummy_for_eating_out_purpose_and_departure_at_13\n", " \n", " \n", " \n", " \n", " 0\n", - " 2998927\n", - " duration\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2966559\n", + " 10\n", + " 10\n", " 0\n", + " 85\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", " 0\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 1\n", - " 2998927\n", - " end\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2966559\n", + " 10\n", + " 11\n", + " 1\n", + " 86\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", + " 1\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 2\n", - " 2998927\n", - " mode_choice_logsum\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2966559\n", + " 10\n", + " 12\n", + " 2\n", + " 87\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", + " 2\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 3\n", - " 2998927\n", - " start\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2966559\n", + " 10\n", + " 13\n", + " 3\n", + " 88\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", + " 3\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " 4\n", - " 2998927\n", - " util_am_peak_end\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 2966559\n", + " 10\n", + " 14\n", + " 4\n", + " 89\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", + " 4\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", " ...\n", @@ -1644,197 +1698,301 @@ " ...\n", " \n", " \n", - " 24587\n", - " 308000674\n", - " util_start_shift_for_number_of_individual_nonm...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 457514\n", + " 309112001\n", + " 21\n", + " 22\n", + " 1\n", + " 185\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", + " 1\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 24588\n", - " 308000674\n", - " util_start_shift_for_number_of_joint_tours\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 457515\n", + " 309112001\n", + " 21\n", + " 23\n", + " 2\n", + " 186\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " ...\n", + " 2\n", " 0\n", " 0\n", " 0\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 24589\n", - " 308000674\n", - " util_start_shift_for_number_of_mandatory_tours\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " 5\n", - " ...\n", - " 0\n", - " 0\n", - " 0\n", + " 457516\n", + " 309112001\n", + " 22\n", + " 22\n", " 0\n", + " 187\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " ...\n", " 0\n", " 0\n", " 0\n", " 0\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 24590\n", - " 308000674\n", - " util_start_shift_for_outbound_auto_travel_time...\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " 60.10000228881836\n", - " ...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 457517\n", + " 309112001\n", + " 22\n", + " 23\n", + " 1\n", + " 188\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " ...\n", + " 1\n", " 0\n", " 0\n", " 0\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", - " 24591\n", - " 308000674\n", - " util_start_shift_for_subsequent_sub_tour_of_sa...\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " 457518\n", + " 309112001\n", + " 23\n", + " 23\n", " 0\n", + " 189\n", " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", " ...\n", " 0\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", - " 0\n", + " False\n", + " False\n", + " False\n", + " False\n", + " False\n", " \n", " \n", "\n", - "

24592 rows × 192 columns

\n", + "

457519 rows × 55 columns

\n", "" ], "text/plain": [ - " tour_id variable \\\n", - "0 2998927 duration \n", - "1 2998927 end \n", - "2 2998927 mode_choice_logsum \n", - "3 2998927 start \n", - "4 2998927 util_am_peak_end \n", - "... ... ... \n", - "24587 308000674 util_start_shift_for_number_of_individual_nonm... \n", - "24588 308000674 util_start_shift_for_number_of_joint_tours \n", - "24589 308000674 util_start_shift_for_number_of_mandatory_tours \n", - "24590 308000674 util_start_shift_for_outbound_auto_travel_time... \n", - "24591 308000674 util_start_shift_for_subsequent_sub_tour_of_sa... \n", + " tour_id start end duration tdd mode_choice_logsum \\\n", + "0 2966559 10 10 0 85 0 \n", + "1 2966559 10 11 1 86 0 \n", + "2 2966559 10 12 2 87 0 \n", + "3 2966559 10 13 3 88 0 \n", + "4 2966559 10 14 4 89 0 \n", + "... ... ... ... ... ... ... \n", + "457514 309112001 21 22 1 185 0 \n", + "457515 309112001 21 23 2 186 0 \n", + "457516 309112001 22 22 0 187 0 \n", + "457517 309112001 22 23 1 188 0 \n", + "457518 309112001 23 23 0 189 0 \n", + "\n", + " util_early_start_at_5 util_am_peak_start_at_6 \\\n", + "0 False False \n", + "1 False False \n", + "2 False False \n", + "3 False False \n", + "4 False False \n", + "... ... ... \n", + "457514 False False \n", + "457515 False False \n", + "457516 False False \n", + "457517 False False \n", + "457518 False False \n", + "\n", + " util_am_peak_start_at_7 util_am_peak_start_at_8 ... \\\n", + "0 False False ... \n", + "1 False False ... \n", + "2 False False ... \n", + "3 False False ... \n", + "4 False False ... \n", + "... ... ... ... \n", + "457514 False False ... \n", + "457515 False False ... \n", + "457516 False False ... \n", + "457517 False False ... \n", + "457518 False False ... \n", + "\n", + " util_duration_shift_for_number_of_mandatory_tours \\\n", + "0 0 \n", + "1 1 \n", + "2 2 \n", + "3 3 \n", + "4 4 \n", + "... ... \n", + "457514 1 \n", + "457515 2 \n", + "457516 0 \n", + "457517 1 \n", + "457518 0 \n", + "\n", + " util_start_shift_for_number_of_joint_tours \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "457514 0 \n", + "457515 0 \n", + "457516 0 \n", + "457517 0 \n", + "457518 0 \n", + "\n", + " util_duration_shift_for_number_of_joint_tours \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "457514 0 \n", + "457515 0 \n", + "457516 0 \n", + "457517 0 \n", + "457518 0 \n", "\n", - " 0 1 2 \\\n", - "0 0 0 0 \n", - "1 0 0 0 \n", - "2 0 0 0 \n", - "3 0 0 0 \n", - "4 0 0 0 \n", - "... ... ... ... \n", - "24587 0 0 0 \n", - "24588 0 0 0 \n", - "24589 5 5 5 \n", - "24590 60.10000228881836 60.10000228881836 60.10000228881836 \n", - "24591 0 0 0 \n", + " util_start_shift_for_number_of_individual_nonmandatory_tours \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "457514 0 \n", + "457515 0 \n", + "457516 0 \n", + "457517 0 \n", + "457518 0 \n", "\n", - " 3 4 5 \\\n", - "0 0 0 0 \n", - "1 0 0 0 \n", - "2 0 0 0 \n", - "3 0 0 0 \n", - "4 0 0 0 \n", - "... ... ... ... \n", - "24587 0 0 0 \n", - "24588 0 0 0 \n", - "24589 5 5 5 \n", - "24590 60.10000228881836 60.10000228881836 60.10000228881836 \n", - "24591 0 0 0 \n", + " util_duration_shift_for_number_of_individual_nonmandatory_tours \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "457514 0 \n", + "457515 0 \n", + "457516 0 \n", + "457517 0 \n", + "457518 0 \n", "\n", - " 6 7 ... 180 181 182 183 184 185 186 \\\n", - "0 0 0 ... 0 0 0 0 0 0 0 \n", - "1 0 0 ... 0 0 0 0 0 0 0 \n", - "2 0 0 ... 0 0 0 0 0 0 0 \n", - "3 0 0 ... 0 0 0 0 0 0 0 \n", - "4 0 0 ... 0 0 0 0 0 0 0 \n", - "... ... ... ... .. .. .. .. .. .. .. \n", - "24587 0 0 ... 0 0 0 0 0 0 0 \n", - "24588 0 0 ... 0 0 0 0 0 0 0 \n", - "24589 5 5 ... 0 0 0 0 0 0 0 \n", - "24590 60.10000228881836 60.10000228881836 ... 0 0 0 0 0 0 0 \n", - "24591 0 0 ... 0 0 0 0 0 0 0 \n", + " util_dummy_for_business_related_purpose_and_duration_from_0_to_1 \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "457514 False \n", + "457515 False \n", + "457516 False \n", + "457517 False \n", + "457518 False \n", "\n", - " 187 188 189 \n", - "0 0 0 0 \n", - "1 0 0 0 \n", - "2 0 0 0 \n", - "3 0 0 0 \n", - "4 0 0 0 \n", - "... .. .. .. \n", - "24587 0 0 0 \n", - "24588 0 0 0 \n", - "24589 0 0 0 \n", - "24590 0 0 0 \n", - "24591 0 0 0 \n", + " util_dummy_for_eating_out_purpose_and_duration_of_1_hour \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "457514 False \n", + "457515 False \n", + "457516 False \n", + "457517 False \n", + "457518 False \n", "\n", - "[24592 rows x 192 columns]" + " util_dummy_for_eating_out_purpose_and_departure_at_11 \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "457514 False \n", + "457515 False \n", + "457516 False \n", + "457517 False \n", + "457518 False \n", + "\n", + " util_dummy_for_eating_out_purpose_and_departure_at_12 \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "457514 False \n", + "457515 False \n", + "457516 False \n", + "457517 False \n", + "457518 False \n", + "\n", + " util_dummy_for_eating_out_purpose_and_departure_at_13 \n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "457514 False \n", + "457515 False \n", + "457516 False \n", + "457517 False \n", + "457518 False \n", + "\n", + "[457519 rows x 55 columns]" ] }, "execution_count": 7, @@ -1864,9 +2022,44 @@ "name": "stderr", "output_type": "stream", "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" + "problem: nan_utility has (190 issues)\n", + "problem: chosen_but_not_available has (12 issues)\n" ] }, + { + "data": { + "text/plain": [ + "(,\n", + " ┣ chosen_but_not_available: altid n example rows\n", + " ┃ 0 88 1 5445\n", + " ┃ 1 100 2 1344, 5240\n", + " ┃ 2 102 1 4696\n", + " ┃ 3 103 1 3099\n", + " ┃ 4 107 1 2364\n", + " ┃ 5 113 2 3454, 4647\n", + " ┃ 6 114 4 1537, 2506, 2800\n", + " ┃ 7 115 1 1791\n", + " ┃ 8 116 1 4089\n", + " ┃ 9 120 1 2595\n", + " ┃ 10 125 3 797, 1766, 2716\n", + " ┃ 11 138 1 2003)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.doctor(repair_nan_utility=True)\n", + "model.doctor(repair_ch_av=\"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ @@ -1882,7 +2075,7 @@ { "data": { "text/html": [ - "

Best LL = -1401.9305368056416

" + "

Best LL = -17373.947698365682

" ], "text/plain": [ "" @@ -1913,778 +2106,732 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " coef_am_peak_end\n", - " -1.373169\n", + " -2.543876\n", + " -2.543876\n", " -2.928312\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.373169\n", " \n", " \n", " coef_am_peak_start_at_6\n", - " -20.592814\n", + " -5.790935\n", + " -5.790935\n", " -6.156718\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -20.592814\n", " \n", " \n", " coef_am_peak_start_at_7\n", - " -2.826984\n", + " -4.238642\n", + " -4.238642\n", " -4.061708\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.826984\n", " \n", " \n", " coef_am_peak_start_at_8\n", - " -1.196528\n", + " -2.371798\n", + " -2.371798\n", " -2.330535\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.196528\n", " \n", " \n", " coef_am_peak_start_at_9\n", - " -1.619897\n", + " -2.106247\n", + " -2.106247\n", " -1.881593\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.619897\n", " \n", " \n", " coef_dummy_for_business_related_purpose_and_duration_from_0_to_1\n", - " -0.663129\n", + " -1.656086\n", + " -1.656086\n", " -1.543000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.663129\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_departure_at_11\n", - " 1.151827\n", + " 1.371453\n", + " 1.371453\n", " 1.511000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 1.151827\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_departure_at_12\n", - " 2.625436\n", + " 2.454861\n", + " 2.454861\n", " 2.721000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 2.625436\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_departure_at_13\n", - " 2.360981\n", + " 1.832150\n", + " 1.832150\n", " 2.122000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 2.360981\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_duration_of_1_hour\n", - " 0.310405\n", + " 0.534786\n", + " 0.534786\n", " 0.399900\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.310405\n", " \n", " \n", " coef_duration_of_0_hours\n", - " 9.959985\n", + " -1.056506\n", + " -1.056506\n", " -0.906682\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 9.959985\n", " \n", " \n", " coef_duration_of_11_to_13_hours\n", - " -0.374055\n", + " 0.292100\n", + " 0.292100\n", " 0.300000\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.374055\n", " \n", " \n", " coef_duration_of_14_to_18_hours\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_duration_of_1_hour\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_duration_of_2_to_3_hours\n", - " 9.181283\n", + " -1.478463\n", + " -1.478463\n", " -1.362176\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 9.181283\n", " \n", " \n", " coef_duration_of_4_to_5_hours\n", - " -0.483141\n", + " -1.032651\n", + " -1.032651\n", " -0.819618\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.483141\n", " \n", " \n", " coef_duration_of_6_to_7_hours\n", - " 10.535613\n", + " 1.074781\n", + " 1.074781\n", " 1.088111\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 10.535613\n", " \n", " \n", " coef_duration_of_8_to_10_hours\n", - " 10.402183\n", - " 1.734039\n", - " 0.0\n", + " 1.476278\n", + " 1.476278\n", + " 1.734038\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 10.402183\n", " \n", " \n", " coef_duration_shift_for_business_related_\n", - " 0.600044\n", + " 0.237322\n", + " 0.237322\n", " 0.264600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.600044\n", " \n", " \n", " coef_duration_shift_for_first_sub_tour_of_same_work_tour\n", - " 0.319885\n", + " -0.199899\n", + " -0.199899\n", " -0.399200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.319885\n", " \n", " \n", " coef_duration_shift_for_inbound_auto_travel_time_off_peak\n", - " -0.118575\n", + " 0.022979\n", + " 0.022979\n", " 0.009810\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.118575\n", " \n", " \n", " coef_duration_shift_for_number_of_individual_nonmandatory_tours\n", - " 0.009894\n", + " -0.075913\n", + " -0.075913\n", " -0.042200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.009894\n", " \n", " \n", " coef_duration_shift_for_number_of_joint_tours\n", - " -0.577681\n", + " -0.234618\n", + " -0.234618\n", " -0.249700\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.577681\n", " \n", " \n", " coef_duration_shift_for_number_of_mandatory_tours\n", - " -1.058788\n", + " -0.909117\n", + " -0.909117\n", " -0.770200\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.058788\n", " \n", " \n", " coef_duration_shift_for_outbound_auto_travel_time_off_peak\n", - " 0.145324\n", + " -0.002863\n", + " -0.002863\n", " 0.009810\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.145324\n", " \n", " \n", " coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour\n", - " -10.333603\n", + " -0.371148\n", + " -0.371148\n", " -0.184400\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -10.333603\n", " \n", " \n", " coef_early_end_at_5_6\n", - " -25.000000\n", + " -2.693000\n", + " -2.693000\n", " -2.928312\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -25.000000\n", " \n", " \n", " coef_early_start_at_5\n", - " -2.204068\n", - " -7.765548\n", - " 0.0\n", + " -7.645209\n", + " -7.645209\n", + " -7.765549\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.204068\n", " \n", " \n", " coef_evening_end_at_19_20_21\n", - " -4.521037\n", + " -2.460690\n", + " -2.460690\n", " -2.319982\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -4.521037\n", " \n", " \n", " coef_evening_start_at_19_20_21\n", - " -0.325741\n", + " -0.786571\n", + " -0.786571\n", " -1.015090\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.325741\n", " \n", " \n", " coef_late_end_at_22_23\n", - " -11.516565\n", + " -2.391664\n", + " -2.391664\n", " -2.319982\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -11.516565\n", " \n", " \n", " coef_late_start_at_22_23\n", - " -5.142925\n", + " -0.890587\n", + " -0.890587\n", " -0.737570\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -5.142925\n", " \n", " \n", " coef_midday_end_at_10_11_12\n", - " -1.305196\n", + " -2.145575\n", + " -2.145575\n", " -2.297264\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.305196\n", " \n", " \n", " coef_midday_end_at_13_14\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_midday_start_at_10_11_12\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " -25.0\n", - " 25.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", " coef_midday_start_at_13_14_15\n", - " -1.051562\n", + " -0.665045\n", + " -0.665045\n", " -0.775022\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.051562\n", " \n", " \n", " coef_pm_peak_end_at_15\n", - " -1.432981\n", + " -0.586475\n", + " -0.586475\n", " -0.578344\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -1.432981\n", " \n", " \n", " coef_pm_peak_end_at_16\n", - " -2.055109\n", + " -1.337297\n", + " -1.337297\n", " -1.094087\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.055109\n", " \n", " \n", " coef_pm_peak_end_at_17\n", - " -2.404252\n", + " -1.432487\n", + " -1.432487\n", " -1.165847\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -2.404252\n", " \n", " \n", " coef_pm_peak_end_at_18\n", - " -3.500372\n", + " -1.702240\n", + " -1.702240\n", " -1.496131\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -3.500372\n", " \n", " \n", " coef_pm_peak_start_at_16_17_18\n", - " -0.798588\n", + " -0.000431\n", + " -0.000431\n", " -0.227528\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.798588\n", " \n", " \n", " coef_start_shift_for_business_related_\n", - " -0.083357\n", + " -0.071618\n", + " -0.071618\n", " -0.111300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.083357\n", " \n", " \n", " coef_start_shift_for_first_sub_tour_of_same_work_tour\n", - " -0.168324\n", + " -0.458549\n", + " -0.458549\n", " -0.543300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.168324\n", " \n", " \n", " coef_start_shift_for_inbound_auto_travel_time_off_peak\n", - " -0.099019\n", + " -0.011025\n", + " -0.011025\n", " 0.000650\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.099019\n", " \n", " \n", " coef_start_shift_for_number_of_individual_nonmandatory_tours\n", - " 0.026777\n", + " -0.019137\n", + " -0.019137\n", " -0.012800\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.026777\n", " \n", " \n", " coef_start_shift_for_number_of_joint_tours\n", - " -0.019722\n", + " 0.025502\n", + " 0.025502\n", " -0.020600\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.019722\n", " \n", " \n", " coef_start_shift_for_number_of_mandatory_tours\n", - " 0.059018\n", + " -0.067479\n", + " -0.067479\n", " -0.019300\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.059018\n", " \n", " \n", " coef_start_shift_for_outbound_auto_travel_time_off_peak\n", - " 0.100349\n", + " 0.010616\n", + " 0.010616\n", " 0.000650\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " 0.100349\n", " \n", " \n", " coef_start_shift_for_subsequent_sub_tour_of_same_work_tour\n", - " -0.360206\n", + " -0.117673\n", + " -0.117673\n", " -0.184400\n", - " 0.0\n", " -25.0\n", " 25.0\n", + " 0.0\n", " 0\n", - " \n", - " -0.360206\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue \\\n", - "coef_am_peak_end -1.373169 -2.928312 \n", - "coef_am_peak_start_at_6 -20.592814 -6.156718 \n", - "coef_am_peak_start_at_7 -2.826984 -4.061708 \n", - "coef_am_peak_start_at_8 -1.196528 -2.330535 \n", - "coef_am_peak_start_at_9 -1.619897 -1.881593 \n", - "coef_dummy_for_business_related_purpose_and_dur... -0.663129 -1.543000 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 1.151827 1.511000 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 2.625436 2.721000 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 2.360981 2.122000 \n", - "coef_dummy_for_eating_out_purpose_and_duration_... 0.310405 0.399900 \n", - "coef_duration_of_0_hours 9.959985 -0.906682 \n", - "coef_duration_of_11_to_13_hours -0.374055 0.300000 \n", - "coef_duration_of_14_to_18_hours 0.000000 0.000000 \n", - "coef_duration_of_1_hour 0.000000 0.000000 \n", - "coef_duration_of_2_to_3_hours 9.181283 -1.362176 \n", - "coef_duration_of_4_to_5_hours -0.483141 -0.819618 \n", - "coef_duration_of_6_to_7_hours 10.535613 1.088111 \n", - "coef_duration_of_8_to_10_hours 10.402183 1.734039 \n", - "coef_duration_shift_for_business_related_ 0.600044 0.264600 \n", - "coef_duration_shift_for_first_sub_tour_of_same_... 0.319885 -0.399200 \n", - "coef_duration_shift_for_inbound_auto_travel_tim... -0.118575 0.009810 \n", - "coef_duration_shift_for_number_of_individual_no... 0.009894 -0.042200 \n", - "coef_duration_shift_for_number_of_joint_tours -0.577681 -0.249700 \n", - "coef_duration_shift_for_number_of_mandatory_tours -1.058788 -0.770200 \n", - "coef_duration_shift_for_outbound_auto_travel_ti... 0.145324 0.009810 \n", - "coef_duration_shift_for_subsequent_sub_tour_of_... -10.333603 -0.184400 \n", - "coef_early_end_at_5_6 -25.000000 -2.928312 \n", - "coef_early_start_at_5 -2.204068 -7.765548 \n", - "coef_evening_end_at_19_20_21 -4.521037 -2.319982 \n", - "coef_evening_start_at_19_20_21 -0.325741 -1.015090 \n", - "coef_late_end_at_22_23 -11.516565 -2.319982 \n", - "coef_late_start_at_22_23 -5.142925 -0.737570 \n", - "coef_midday_end_at_10_11_12 -1.305196 -2.297264 \n", - "coef_midday_end_at_13_14 0.000000 0.000000 \n", - "coef_midday_start_at_10_11_12 0.000000 0.000000 \n", - "coef_midday_start_at_13_14_15 -1.051562 -0.775022 \n", - "coef_pm_peak_end_at_15 -1.432981 -0.578344 \n", - "coef_pm_peak_end_at_16 -2.055109 -1.094087 \n", - "coef_pm_peak_end_at_17 -2.404252 -1.165847 \n", - "coef_pm_peak_end_at_18 -3.500372 -1.496131 \n", - "coef_pm_peak_start_at_16_17_18 -0.798588 -0.227528 \n", - "coef_start_shift_for_business_related_ -0.083357 -0.111300 \n", - "coef_start_shift_for_first_sub_tour_of_same_wor... -0.168324 -0.543300 \n", - "coef_start_shift_for_inbound_auto_travel_time_o... -0.099019 0.000650 \n", - "coef_start_shift_for_number_of_individual_nonma... 0.026777 -0.012800 \n", - "coef_start_shift_for_number_of_joint_tours -0.019722 -0.020600 \n", - "coef_start_shift_for_number_of_mandatory_tours 0.059018 -0.019300 \n", - "coef_start_shift_for_outbound_auto_travel_time_... 0.100349 0.000650 \n", - "coef_start_shift_for_subsequent_sub_tour_of_sam... -0.360206 -0.184400 \n", + " value best \\\n", + "param_name \n", + "coef_am_peak_end -2.543876 -2.543876 \n", + "coef_am_peak_start_at_6 -5.790935 -5.790935 \n", + "coef_am_peak_start_at_7 -4.238642 -4.238642 \n", + "coef_am_peak_start_at_8 -2.371798 -2.371798 \n", + "coef_am_peak_start_at_9 -2.106247 -2.106247 \n", + "coef_dummy_for_business_related_purpose_and_dur... -1.656086 -1.656086 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 1.371453 1.371453 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 2.454861 2.454861 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 1.832150 1.832150 \n", + "coef_dummy_for_eating_out_purpose_and_duration_... 0.534786 0.534786 \n", + "coef_duration_of_0_hours -1.056506 -1.056506 \n", + "coef_duration_of_11_to_13_hours 0.292100 0.292100 \n", + "coef_duration_of_14_to_18_hours 0.000000 0.000000 \n", + "coef_duration_of_1_hour 0.000000 0.000000 \n", + "coef_duration_of_2_to_3_hours -1.478463 -1.478463 \n", + "coef_duration_of_4_to_5_hours -1.032651 -1.032651 \n", + "coef_duration_of_6_to_7_hours 1.074781 1.074781 \n", + "coef_duration_of_8_to_10_hours 1.476278 1.476278 \n", + "coef_duration_shift_for_business_related_ 0.237322 0.237322 \n", + "coef_duration_shift_for_first_sub_tour_of_same_... -0.199899 -0.199899 \n", + "coef_duration_shift_for_inbound_auto_travel_tim... 0.022979 0.022979 \n", + "coef_duration_shift_for_number_of_individual_no... -0.075913 -0.075913 \n", + "coef_duration_shift_for_number_of_joint_tours -0.234618 -0.234618 \n", + "coef_duration_shift_for_number_of_mandatory_tours -0.909117 -0.909117 \n", + "coef_duration_shift_for_outbound_auto_travel_ti... -0.002863 -0.002863 \n", + "coef_duration_shift_for_subsequent_sub_tour_of_... -0.371148 -0.371148 \n", + "coef_early_end_at_5_6 -2.693000 -2.693000 \n", + "coef_early_start_at_5 -7.645209 -7.645209 \n", + "coef_evening_end_at_19_20_21 -2.460690 -2.460690 \n", + "coef_evening_start_at_19_20_21 -0.786571 -0.786571 \n", + "coef_late_end_at_22_23 -2.391664 -2.391664 \n", + "coef_late_start_at_22_23 -0.890587 -0.890587 \n", + "coef_midday_end_at_10_11_12 -2.145575 -2.145575 \n", + "coef_midday_end_at_13_14 0.000000 0.000000 \n", + "coef_midday_start_at_10_11_12 0.000000 0.000000 \n", + "coef_midday_start_at_13_14_15 -0.665045 -0.665045 \n", + "coef_pm_peak_end_at_15 -0.586475 -0.586475 \n", + "coef_pm_peak_end_at_16 -1.337297 -1.337297 \n", + "coef_pm_peak_end_at_17 -1.432487 -1.432487 \n", + "coef_pm_peak_end_at_18 -1.702240 -1.702240 \n", + "coef_pm_peak_start_at_16_17_18 -0.000431 -0.000431 \n", + "coef_start_shift_for_business_related_ -0.071618 -0.071618 \n", + "coef_start_shift_for_first_sub_tour_of_same_wor... -0.458549 -0.458549 \n", + "coef_start_shift_for_inbound_auto_travel_time_o... -0.011025 -0.011025 \n", + "coef_start_shift_for_number_of_individual_nonma... -0.019137 -0.019137 \n", + "coef_start_shift_for_number_of_joint_tours 0.025502 0.025502 \n", + "coef_start_shift_for_number_of_mandatory_tours -0.067479 -0.067479 \n", + "coef_start_shift_for_outbound_auto_travel_time_... 0.010616 0.010616 \n", + "coef_start_shift_for_subsequent_sub_tour_of_sam... -0.117673 -0.117673 \n", "\n", - " nullvalue minimum \\\n", - "coef_am_peak_end 0.0 -25.0 \n", - "coef_am_peak_start_at_6 0.0 -25.0 \n", - "coef_am_peak_start_at_7 0.0 -25.0 \n", - "coef_am_peak_start_at_8 0.0 -25.0 \n", - "coef_am_peak_start_at_9 0.0 -25.0 \n", - "coef_dummy_for_business_related_purpose_and_dur... 0.0 -25.0 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 0.0 -25.0 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 0.0 -25.0 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 0.0 -25.0 \n", - "coef_dummy_for_eating_out_purpose_and_duration_... 0.0 -25.0 \n", - "coef_duration_of_0_hours 0.0 -25.0 \n", - "coef_duration_of_11_to_13_hours 0.0 -25.0 \n", - "coef_duration_of_14_to_18_hours 0.0 -25.0 \n", - "coef_duration_of_1_hour 0.0 -25.0 \n", - "coef_duration_of_2_to_3_hours 0.0 -25.0 \n", - "coef_duration_of_4_to_5_hours 0.0 -25.0 \n", - "coef_duration_of_6_to_7_hours 0.0 -25.0 \n", - "coef_duration_of_8_to_10_hours 0.0 -25.0 \n", - "coef_duration_shift_for_business_related_ 0.0 -25.0 \n", - "coef_duration_shift_for_first_sub_tour_of_same_... 0.0 -25.0 \n", - "coef_duration_shift_for_inbound_auto_travel_tim... 0.0 -25.0 \n", - "coef_duration_shift_for_number_of_individual_no... 0.0 -25.0 \n", - "coef_duration_shift_for_number_of_joint_tours 0.0 -25.0 \n", - "coef_duration_shift_for_number_of_mandatory_tours 0.0 -25.0 \n", - "coef_duration_shift_for_outbound_auto_travel_ti... 0.0 -25.0 \n", - "coef_duration_shift_for_subsequent_sub_tour_of_... 0.0 -25.0 \n", - "coef_early_end_at_5_6 0.0 -25.0 \n", - "coef_early_start_at_5 0.0 -25.0 \n", - "coef_evening_end_at_19_20_21 0.0 -25.0 \n", - "coef_evening_start_at_19_20_21 0.0 -25.0 \n", - "coef_late_end_at_22_23 0.0 -25.0 \n", - "coef_late_start_at_22_23 0.0 -25.0 \n", - "coef_midday_end_at_10_11_12 0.0 -25.0 \n", - "coef_midday_end_at_13_14 0.0 -25.0 \n", - "coef_midday_start_at_10_11_12 0.0 -25.0 \n", - "coef_midday_start_at_13_14_15 0.0 -25.0 \n", - "coef_pm_peak_end_at_15 0.0 -25.0 \n", - "coef_pm_peak_end_at_16 0.0 -25.0 \n", - "coef_pm_peak_end_at_17 0.0 -25.0 \n", - "coef_pm_peak_end_at_18 0.0 -25.0 \n", - "coef_pm_peak_start_at_16_17_18 0.0 -25.0 \n", - "coef_start_shift_for_business_related_ 0.0 -25.0 \n", - "coef_start_shift_for_first_sub_tour_of_same_wor... 0.0 -25.0 \n", - "coef_start_shift_for_inbound_auto_travel_time_o... 0.0 -25.0 \n", - "coef_start_shift_for_number_of_individual_nonma... 0.0 -25.0 \n", - "coef_start_shift_for_number_of_joint_tours 0.0 -25.0 \n", - "coef_start_shift_for_number_of_mandatory_tours 0.0 -25.0 \n", - "coef_start_shift_for_outbound_auto_travel_time_... 0.0 -25.0 \n", - "coef_start_shift_for_subsequent_sub_tour_of_sam... 0.0 -25.0 \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_am_peak_end -2.928312 -25.0 \n", + "coef_am_peak_start_at_6 -6.156718 -25.0 \n", + "coef_am_peak_start_at_7 -4.061708 -25.0 \n", + "coef_am_peak_start_at_8 -2.330535 -25.0 \n", + "coef_am_peak_start_at_9 -1.881593 -25.0 \n", + "coef_dummy_for_business_related_purpose_and_dur... -1.543000 -25.0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 1.511000 -25.0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 2.721000 -25.0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 2.122000 -25.0 \n", + "coef_dummy_for_eating_out_purpose_and_duration_... 0.399900 -25.0 \n", + "coef_duration_of_0_hours -0.906682 -25.0 \n", + "coef_duration_of_11_to_13_hours 0.300000 -25.0 \n", + "coef_duration_of_14_to_18_hours 0.000000 0.0 \n", + "coef_duration_of_1_hour 0.000000 0.0 \n", + "coef_duration_of_2_to_3_hours -1.362176 -25.0 \n", + "coef_duration_of_4_to_5_hours -0.819618 -25.0 \n", + "coef_duration_of_6_to_7_hours 1.088111 -25.0 \n", + "coef_duration_of_8_to_10_hours 1.734038 -25.0 \n", + "coef_duration_shift_for_business_related_ 0.264600 -25.0 \n", + "coef_duration_shift_for_first_sub_tour_of_same_... -0.399200 -25.0 \n", + "coef_duration_shift_for_inbound_auto_travel_tim... 0.009810 -25.0 \n", + "coef_duration_shift_for_number_of_individual_no... -0.042200 -25.0 \n", + "coef_duration_shift_for_number_of_joint_tours -0.249700 -25.0 \n", + "coef_duration_shift_for_number_of_mandatory_tours -0.770200 -25.0 \n", + "coef_duration_shift_for_outbound_auto_travel_ti... 0.009810 -25.0 \n", + "coef_duration_shift_for_subsequent_sub_tour_of_... -0.184400 -25.0 \n", + "coef_early_end_at_5_6 -2.928312 -25.0 \n", + "coef_early_start_at_5 -7.765549 -25.0 \n", + "coef_evening_end_at_19_20_21 -2.319982 -25.0 \n", + "coef_evening_start_at_19_20_21 -1.015090 -25.0 \n", + "coef_late_end_at_22_23 -2.319982 -25.0 \n", + "coef_late_start_at_22_23 -0.737570 -25.0 \n", + "coef_midday_end_at_10_11_12 -2.297264 -25.0 \n", + "coef_midday_end_at_13_14 0.000000 0.0 \n", + "coef_midday_start_at_10_11_12 0.000000 0.0 \n", + "coef_midday_start_at_13_14_15 -0.775022 -25.0 \n", + "coef_pm_peak_end_at_15 -0.578344 -25.0 \n", + "coef_pm_peak_end_at_16 -1.094087 -25.0 \n", + "coef_pm_peak_end_at_17 -1.165847 -25.0 \n", + "coef_pm_peak_end_at_18 -1.496131 -25.0 \n", + "coef_pm_peak_start_at_16_17_18 -0.227528 -25.0 \n", + "coef_start_shift_for_business_related_ -0.111300 -25.0 \n", + "coef_start_shift_for_first_sub_tour_of_same_wor... -0.543300 -25.0 \n", + "coef_start_shift_for_inbound_auto_travel_time_o... 0.000650 -25.0 \n", + "coef_start_shift_for_number_of_individual_nonma... -0.012800 -25.0 \n", + "coef_start_shift_for_number_of_joint_tours -0.020600 -25.0 \n", + "coef_start_shift_for_number_of_mandatory_tours -0.019300 -25.0 \n", + "coef_start_shift_for_outbound_auto_travel_time_... 0.000650 -25.0 \n", + "coef_start_shift_for_subsequent_sub_tour_of_sam... -0.184400 -25.0 \n", "\n", - " maximum holdfast note \\\n", - "coef_am_peak_end 25.0 0 \n", - "coef_am_peak_start_at_6 25.0 0 \n", - "coef_am_peak_start_at_7 25.0 0 \n", - "coef_am_peak_start_at_8 25.0 0 \n", - "coef_am_peak_start_at_9 25.0 0 \n", - "coef_dummy_for_business_related_purpose_and_dur... 25.0 0 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 25.0 0 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 25.0 0 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 25.0 0 \n", - "coef_dummy_for_eating_out_purpose_and_duration_... 25.0 0 \n", - "coef_duration_of_0_hours 25.0 0 \n", - "coef_duration_of_11_to_13_hours 25.0 0 \n", - "coef_duration_of_14_to_18_hours 25.0 1 \n", - "coef_duration_of_1_hour 25.0 1 \n", - "coef_duration_of_2_to_3_hours 25.0 0 \n", - "coef_duration_of_4_to_5_hours 25.0 0 \n", - "coef_duration_of_6_to_7_hours 25.0 0 \n", - "coef_duration_of_8_to_10_hours 25.0 0 \n", - "coef_duration_shift_for_business_related_ 25.0 0 \n", - "coef_duration_shift_for_first_sub_tour_of_same_... 25.0 0 \n", - "coef_duration_shift_for_inbound_auto_travel_tim... 25.0 0 \n", - "coef_duration_shift_for_number_of_individual_no... 25.0 0 \n", - "coef_duration_shift_for_number_of_joint_tours 25.0 0 \n", - "coef_duration_shift_for_number_of_mandatory_tours 25.0 0 \n", - "coef_duration_shift_for_outbound_auto_travel_ti... 25.0 0 \n", - "coef_duration_shift_for_subsequent_sub_tour_of_... 25.0 0 \n", - "coef_early_end_at_5_6 25.0 0 \n", - "coef_early_start_at_5 25.0 0 \n", - "coef_evening_end_at_19_20_21 25.0 0 \n", - "coef_evening_start_at_19_20_21 25.0 0 \n", - "coef_late_end_at_22_23 25.0 0 \n", - "coef_late_start_at_22_23 25.0 0 \n", - "coef_midday_end_at_10_11_12 25.0 0 \n", - "coef_midday_end_at_13_14 25.0 1 \n", - "coef_midday_start_at_10_11_12 25.0 1 \n", - "coef_midday_start_at_13_14_15 25.0 0 \n", - "coef_pm_peak_end_at_15 25.0 0 \n", - "coef_pm_peak_end_at_16 25.0 0 \n", - "coef_pm_peak_end_at_17 25.0 0 \n", - "coef_pm_peak_end_at_18 25.0 0 \n", - "coef_pm_peak_start_at_16_17_18 25.0 0 \n", - "coef_start_shift_for_business_related_ 25.0 0 \n", - "coef_start_shift_for_first_sub_tour_of_same_wor... 25.0 0 \n", - "coef_start_shift_for_inbound_auto_travel_time_o... 25.0 0 \n", - "coef_start_shift_for_number_of_individual_nonma... 25.0 0 \n", - "coef_start_shift_for_number_of_joint_tours 25.0 0 \n", - "coef_start_shift_for_number_of_mandatory_tours 25.0 0 \n", - "coef_start_shift_for_outbound_auto_travel_time_... 25.0 0 \n", - "coef_start_shift_for_subsequent_sub_tour_of_sam... 25.0 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_am_peak_end 25.0 0.0 \n", + "coef_am_peak_start_at_6 25.0 0.0 \n", + "coef_am_peak_start_at_7 25.0 0.0 \n", + "coef_am_peak_start_at_8 25.0 0.0 \n", + "coef_am_peak_start_at_9 25.0 0.0 \n", + "coef_dummy_for_business_related_purpose_and_dur... 25.0 0.0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 25.0 0.0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 25.0 0.0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 25.0 0.0 \n", + "coef_dummy_for_eating_out_purpose_and_duration_... 25.0 0.0 \n", + "coef_duration_of_0_hours 25.0 0.0 \n", + "coef_duration_of_11_to_13_hours 25.0 0.0 \n", + "coef_duration_of_14_to_18_hours 0.0 0.0 \n", + "coef_duration_of_1_hour 0.0 0.0 \n", + "coef_duration_of_2_to_3_hours 25.0 0.0 \n", + "coef_duration_of_4_to_5_hours 25.0 0.0 \n", + "coef_duration_of_6_to_7_hours 25.0 0.0 \n", + "coef_duration_of_8_to_10_hours 25.0 0.0 \n", + "coef_duration_shift_for_business_related_ 25.0 0.0 \n", + "coef_duration_shift_for_first_sub_tour_of_same_... 25.0 0.0 \n", + "coef_duration_shift_for_inbound_auto_travel_tim... 25.0 0.0 \n", + "coef_duration_shift_for_number_of_individual_no... 25.0 0.0 \n", + "coef_duration_shift_for_number_of_joint_tours 25.0 0.0 \n", + "coef_duration_shift_for_number_of_mandatory_tours 25.0 0.0 \n", + "coef_duration_shift_for_outbound_auto_travel_ti... 25.0 0.0 \n", + "coef_duration_shift_for_subsequent_sub_tour_of_... 25.0 0.0 \n", + "coef_early_end_at_5_6 25.0 0.0 \n", + "coef_early_start_at_5 25.0 0.0 \n", + "coef_evening_end_at_19_20_21 25.0 0.0 \n", + "coef_evening_start_at_19_20_21 25.0 0.0 \n", + "coef_late_end_at_22_23 25.0 0.0 \n", + "coef_late_start_at_22_23 25.0 0.0 \n", + "coef_midday_end_at_10_11_12 25.0 0.0 \n", + "coef_midday_end_at_13_14 0.0 0.0 \n", + "coef_midday_start_at_10_11_12 0.0 0.0 \n", + "coef_midday_start_at_13_14_15 25.0 0.0 \n", + "coef_pm_peak_end_at_15 25.0 0.0 \n", + "coef_pm_peak_end_at_16 25.0 0.0 \n", + "coef_pm_peak_end_at_17 25.0 0.0 \n", + "coef_pm_peak_end_at_18 25.0 0.0 \n", + "coef_pm_peak_start_at_16_17_18 25.0 0.0 \n", + "coef_start_shift_for_business_related_ 25.0 0.0 \n", + "coef_start_shift_for_first_sub_tour_of_same_wor... 25.0 0.0 \n", + "coef_start_shift_for_inbound_auto_travel_time_o... 25.0 0.0 \n", + "coef_start_shift_for_number_of_individual_nonma... 25.0 0.0 \n", + "coef_start_shift_for_number_of_joint_tours 25.0 0.0 \n", + "coef_start_shift_for_number_of_mandatory_tours 25.0 0.0 \n", + "coef_start_shift_for_outbound_auto_travel_time_... 25.0 0.0 \n", + "coef_start_shift_for_subsequent_sub_tour_of_sam... 25.0 0.0 \n", "\n", - " best \n", - "coef_am_peak_end -1.373169 \n", - "coef_am_peak_start_at_6 -20.592814 \n", - "coef_am_peak_start_at_7 -2.826984 \n", - "coef_am_peak_start_at_8 -1.196528 \n", - "coef_am_peak_start_at_9 -1.619897 \n", - "coef_dummy_for_business_related_purpose_and_dur... -0.663129 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 1.151827 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 2.625436 \n", - "coef_dummy_for_eating_out_purpose_and_departure... 2.360981 \n", - "coef_dummy_for_eating_out_purpose_and_duration_... 0.310405 \n", - "coef_duration_of_0_hours 9.959985 \n", - "coef_duration_of_11_to_13_hours -0.374055 \n", - "coef_duration_of_14_to_18_hours 0.000000 \n", - "coef_duration_of_1_hour 0.000000 \n", - "coef_duration_of_2_to_3_hours 9.181283 \n", - "coef_duration_of_4_to_5_hours -0.483141 \n", - "coef_duration_of_6_to_7_hours 10.535613 \n", - "coef_duration_of_8_to_10_hours 10.402183 \n", - "coef_duration_shift_for_business_related_ 0.600044 \n", - "coef_duration_shift_for_first_sub_tour_of_same_... 0.319885 \n", - "coef_duration_shift_for_inbound_auto_travel_tim... -0.118575 \n", - "coef_duration_shift_for_number_of_individual_no... 0.009894 \n", - "coef_duration_shift_for_number_of_joint_tours -0.577681 \n", - "coef_duration_shift_for_number_of_mandatory_tours -1.058788 \n", - "coef_duration_shift_for_outbound_auto_travel_ti... 0.145324 \n", - "coef_duration_shift_for_subsequent_sub_tour_of_... -10.333603 \n", - "coef_early_end_at_5_6 -25.000000 \n", - "coef_early_start_at_5 -2.204068 \n", - "coef_evening_end_at_19_20_21 -4.521037 \n", - "coef_evening_start_at_19_20_21 -0.325741 \n", - "coef_late_end_at_22_23 -11.516565 \n", - "coef_late_start_at_22_23 -5.142925 \n", - "coef_midday_end_at_10_11_12 -1.305196 \n", - "coef_midday_end_at_13_14 0.000000 \n", - "coef_midday_start_at_10_11_12 0.000000 \n", - "coef_midday_start_at_13_14_15 -1.051562 \n", - "coef_pm_peak_end_at_15 -1.432981 \n", - "coef_pm_peak_end_at_16 -2.055109 \n", - "coef_pm_peak_end_at_17 -2.404252 \n", - "coef_pm_peak_end_at_18 -3.500372 \n", - "coef_pm_peak_start_at_16_17_18 -0.798588 \n", - "coef_start_shift_for_business_related_ -0.083357 \n", - "coef_start_shift_for_first_sub_tour_of_same_wor... -0.168324 \n", - "coef_start_shift_for_inbound_auto_travel_time_o... -0.099019 \n", - "coef_start_shift_for_number_of_individual_nonma... 0.026777 \n", - "coef_start_shift_for_number_of_joint_tours -0.019722 \n", - "coef_start_shift_for_number_of_mandatory_tours 0.059018 \n", - "coef_start_shift_for_outbound_auto_travel_time_... 0.100349 \n", - "coef_start_shift_for_subsequent_sub_tour_of_sam... -0.360206 " + " holdfast \n", + "param_name \n", + "coef_am_peak_end 0 \n", + "coef_am_peak_start_at_6 0 \n", + "coef_am_peak_start_at_7 0 \n", + "coef_am_peak_start_at_8 0 \n", + "coef_am_peak_start_at_9 0 \n", + "coef_dummy_for_business_related_purpose_and_dur... 0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 0 \n", + "coef_dummy_for_eating_out_purpose_and_departure... 0 \n", + "coef_dummy_for_eating_out_purpose_and_duration_... 0 \n", + "coef_duration_of_0_hours 0 \n", + "coef_duration_of_11_to_13_hours 0 \n", + "coef_duration_of_14_to_18_hours 1 \n", + "coef_duration_of_1_hour 1 \n", + "coef_duration_of_2_to_3_hours 0 \n", + "coef_duration_of_4_to_5_hours 0 \n", + "coef_duration_of_6_to_7_hours 0 \n", + "coef_duration_of_8_to_10_hours 0 \n", + "coef_duration_shift_for_business_related_ 0 \n", + "coef_duration_shift_for_first_sub_tour_of_same_... 0 \n", + "coef_duration_shift_for_inbound_auto_travel_tim... 0 \n", + "coef_duration_shift_for_number_of_individual_no... 0 \n", + "coef_duration_shift_for_number_of_joint_tours 0 \n", + "coef_duration_shift_for_number_of_mandatory_tours 0 \n", + "coef_duration_shift_for_outbound_auto_travel_ti... 0 \n", + "coef_duration_shift_for_subsequent_sub_tour_of_... 0 \n", + "coef_early_end_at_5_6 0 \n", + "coef_early_start_at_5 0 \n", + "coef_evening_end_at_19_20_21 0 \n", + "coef_evening_start_at_19_20_21 0 \n", + "coef_late_end_at_22_23 0 \n", + "coef_late_start_at_22_23 0 \n", + "coef_midday_end_at_10_11_12 0 \n", + "coef_midday_end_at_13_14 1 \n", + "coef_midday_start_at_10_11_12 1 \n", + "coef_midday_start_at_13_14_15 0 \n", + "coef_pm_peak_end_at_15 0 \n", + "coef_pm_peak_end_at_16 0 \n", + "coef_pm_peak_end_at_17 0 \n", + "coef_pm_peak_end_at_18 0 \n", + "coef_pm_peak_start_at_16_17_18 0 \n", + "coef_start_shift_for_business_related_ 0 \n", + "coef_start_shift_for_first_sub_tour_of_same_wor... 0 \n", + "coef_start_shift_for_inbound_auto_travel_time_o... 0 \n", + "coef_start_shift_for_number_of_individual_nonma... 0 \n", + "coef_start_shift_for_number_of_joint_tours 0 \n", + "coef_start_shift_for_number_of_mandatory_tours 0 \n", + "coef_start_shift_for_outbound_auto_travel_time_... 0 \n", + "coef_start_shift_for_subsequent_sub_tour_of_sam... 0 " ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate()\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 4.444524225101147e-11 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" - ] - }, { "data": { "text/html": [ @@ -2698,51 +2845,51 @@ " \n", " \n", " coef_am_peak_end\n", - " -1.373169\n", + " -2.543876\n", " \n", " \n", " coef_am_peak_start_at_6\n", - " -20.592814\n", + " -5.790935\n", " \n", " \n", " coef_am_peak_start_at_7\n", - " -2.826984\n", + " -4.238642\n", " \n", " \n", " coef_am_peak_start_at_8\n", - " -1.196528\n", + " -2.371798\n", " \n", " \n", " coef_am_peak_start_at_9\n", - " -1.619897\n", + " -2.106247\n", " \n", " \n", " coef_dummy_for_business_related_purpose_and_duration_from_0_to_1\n", - " -0.663129\n", + " -1.656086\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_departure_at_11\n", - " 1.151827\n", + " 1.371453\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_departure_at_12\n", - " 2.625436\n", + " 2.454861\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_departure_at_13\n", - " 2.360981\n", + " 1.832150\n", " \n", " \n", " coef_dummy_for_eating_out_purpose_and_duration_of_1_hour\n", - " 0.310405\n", + " 0.534786\n", " \n", " \n", " coef_duration_of_0_hours\n", - " 9.959985\n", + " -1.056506\n", " \n", " \n", " coef_duration_of_11_to_13_hours\n", - " -0.374055\n", + " 0.292100\n", " \n", " \n", " coef_duration_of_14_to_18_hours\n", @@ -2754,79 +2901,79 @@ " \n", " \n", " coef_duration_of_2_to_3_hours\n", - " 9.181283\n", + " -1.478463\n", " \n", " \n", " coef_duration_of_4_to_5_hours\n", - " -0.483141\n", + " -1.032651\n", " \n", " \n", " coef_duration_of_6_to_7_hours\n", - " 10.535613\n", + " 1.074781\n", " \n", " \n", " coef_duration_of_8_to_10_hours\n", - " 10.402183\n", + " 1.476278\n", " \n", " \n", " coef_duration_shift_for_business_related_\n", - " 0.600044\n", + " 0.237322\n", " \n", " \n", " coef_duration_shift_for_first_sub_tour_of_same_work_tour\n", - " 0.319885\n", + " -0.199899\n", " \n", " \n", " coef_duration_shift_for_inbound_auto_travel_time_off_peak\n", - " -0.118575\n", + " 0.022979\n", " \n", " \n", " coef_duration_shift_for_number_of_individual_nonmandatory_tours\n", - " 0.009894\n", + " -0.075913\n", " \n", " \n", " coef_duration_shift_for_number_of_joint_tours\n", - " -0.577681\n", + " -0.234618\n", " \n", " \n", " coef_duration_shift_for_number_of_mandatory_tours\n", - " -1.058788\n", + " -0.909117\n", " \n", " \n", " coef_duration_shift_for_outbound_auto_travel_time_off_peak\n", - " 0.145324\n", + " -0.002863\n", " \n", " \n", " coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour\n", - " -10.333603\n", + " -0.371148\n", " \n", " \n", " coef_early_end_at_5_6\n", - " -25.000000\n", + " -2.693000\n", " \n", " \n", " coef_early_start_at_5\n", - " -2.204068\n", + " -7.645209\n", " \n", " \n", " coef_evening_end_at_19_20_21\n", - " -4.521037\n", + " -2.460690\n", " \n", " \n", " coef_evening_start_at_19_20_21\n", - " -0.325741\n", + " -0.786571\n", " \n", " \n", " coef_late_end_at_22_23\n", - " -11.516565\n", + " -2.391664\n", " \n", " \n", " coef_late_start_at_22_23\n", - " -5.142925\n", + " -0.890587\n", " \n", " \n", " coef_midday_end_at_10_11_12\n", - " -1.305196\n", + " -2.145575\n", " \n", " \n", " coef_midday_end_at_13_14\n", @@ -2838,62 +2985,62 @@ " \n", " \n", " coef_midday_start_at_13_14_15\n", - " -1.051562\n", + " -0.665045\n", " \n", " \n", " coef_pm_peak_end_at_15\n", - " -1.432981\n", + " -0.586475\n", " \n", " \n", " coef_pm_peak_end_at_16\n", - " -2.055109\n", + " -1.337297\n", " \n", " \n", " coef_pm_peak_end_at_17\n", - " -2.404252\n", + " -1.432487\n", " \n", " \n", " coef_pm_peak_end_at_18\n", - " -3.500372\n", + " -1.702240\n", " \n", " \n", " coef_pm_peak_start_at_16_17_18\n", - " -0.798588\n", + " -0.000431\n", " \n", " \n", " coef_start_shift_for_business_related_\n", - " -0.083357\n", + " -0.071618\n", " \n", " \n", " coef_start_shift_for_first_sub_tour_of_same_work_tour\n", - " -0.168324\n", + " -0.458549\n", " \n", " \n", " coef_start_shift_for_inbound_auto_travel_time_off_peak\n", - " -0.099019\n", + " -0.011025\n", " \n", " \n", " coef_start_shift_for_number_of_individual_nonmandatory_tours\n", - " 0.026777\n", + " -0.019137\n", " \n", " \n", " coef_start_shift_for_number_of_joint_tours\n", - " -0.019722\n", + " 0.025502\n", " \n", " \n", " coef_start_shift_for_number_of_mandatory_tours\n", - " 0.059018\n", + " -0.067479\n", " \n", " \n", " coef_start_shift_for_outbound_auto_travel_time_off_peak\n", - " 0.100349\n", + " 0.010616\n", " \n", " \n", " coef_start_shift_for_subsequent_sub_tour_of_same_work_tour\n", - " -0.360206\n", + " -0.117673\n", " \n", " \n", - "loglike-1401.9305368056416d_loglike\n", + "
logloss2.887476765558531d_logloss\n", " \n", " \n", " \n", @@ -2903,51 +3050,51 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2959,79 +3106,79 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3043,185 +3190,185 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - "
coef_am_peak_end1.755671e-04-4.854218e-05
coef_am_peak_start_at_6-3.041241e-081.910552e-05
coef_am_peak_start_at_7-8.670115e-059.916948e-07
coef_am_peak_start_at_85.028242e-054.037261e-05
coef_am_peak_start_at_95.798423e-041.440668e-04
coef_dummy_for_business_related_purpose_and_duration_from_0_to_11.601202e-04-1.280892e-04
coef_dummy_for_eating_out_purpose_and_departure_at_11-3.475790e-051.803296e-04
coef_dummy_for_eating_out_purpose_and_departure_at_12-5.671365e-05-1.483346e-04
coef_dummy_for_eating_out_purpose_and_departure_at_13-2.578419e-051.713493e-04
coef_dummy_for_eating_out_purpose_and_duration_of_1_hour1.872976e-04-2.135625e-04
coef_duration_of_0_hours-1.158083e-038.415289e-05
coef_duration_of_11_to_13_hours-1.673798e-06-6.167370e-06
coef_duration_of_14_to_18_hours
coef_duration_of_2_to_3_hours9.972871e-04-1.347427e-04
coef_duration_of_4_to_5_hours1.179130e-041.170007e-05
coef_duration_of_6_to_7_hours-3.119839e-04-7.452797e-05
coef_duration_of_8_to_10_hours1.749841e-06-4.591330e-06
coef_duration_shift_for_business_related_-1.422810e-031.631608e-04
coef_duration_shift_for_first_sub_tour_of_same_work_tour-6.454765e-046.894456e-05
coef_duration_shift_for_inbound_auto_travel_time_off_peak8.510358e-03-1.645782e-04
coef_duration_shift_for_number_of_individual_nonmandatory_tours-1.352429e-03-1.965446e-04
coef_duration_shift_for_number_of_joint_tours1.961158e-042.409234e-04
coef_duration_shift_for_number_of_mandatory_tours-6.872100e-04-9.571494e-05
coef_duration_shift_for_outbound_auto_travel_time_off_peak7.485785e-035.935593e-05
coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour-5.553217e-06-5.141939e-05
coef_early_end_at_5_6-4.444583e-111.627725e-05
coef_early_start_at_55.404961e-057.249674e-05
coef_evening_end_at_19_20_21-3.938375e-04-1.112621e-04
coef_evening_start_at_19_20_21-1.613864e-041.220311e-04
coef_late_end_at_22_23-3.810622e-04-5.597541e-05
coef_late_start_at_22_23-1.853500e-06-9.478339e-05
coef_midday_end_at_10_11_126.960928e-04-2.023533e-05
coef_midday_end_at_13_14
coef_midday_start_at_13_14_158.833428e-058.980809e-05
coef_pm_peak_end_at_15-2.278624e-04-2.232845e-04
coef_pm_peak_end_at_16-3.377131e-05-4.780466e-05
coef_pm_peak_end_at_17-4.096157e-043.154057e-04
coef_pm_peak_end_at_18-4.205497e-04-1.485193e-04
coef_pm_peak_start_at_16_17_18-8.339350e-04-3.850429e-05
coef_start_shift_for_business_related_1.194878e-04-2.801495e-06
coef_start_shift_for_first_sub_tour_of_same_work_tour-1.481936e-021.192141e-04
coef_start_shift_for_inbound_auto_travel_time_off_peak-1.201511e-017.248793e-05
coef_start_shift_for_number_of_individual_nonmandatory_tours-1.882400e-03-4.273167e-05
coef_start_shift_for_number_of_joint_tours-1.517039e-034.702349e-05
coef_start_shift_for_number_of_mandatory_tours-1.475028e-02-4.354135e-05
coef_start_shift_for_outbound_auto_travel_time_off_peak-1.163942e-01-4.170920e-05
coef_start_shift_for_subsequent_sub_tour_of_same_work_tour2.856907e-051.286129e-04
nit68nfev132njev68status0message'Optimization terminated successfully'successTrueelapsed_time0:00:01.774115method'slsqp'n_cases464iteration_number68logloss3.021402018977676" + "nit68nfev75njev68status0message'Optimization terminated successfully'successTrueelapsed_time0:00:05.198235method'slsqp'n_cases6036iteration_number68loglike-17373.947698365682" ], "text/plain": [ - "┣ x: coef_am_peak_end -1.373169\n", - "┃ coef_am_peak_start_at_6 -20.592814\n", - "┃ coef_am_peak_start_at_7 -2.826984\n", - "┃ coef_am_peak_start_at_8 -1.196528\n", - "┃ coef_am_peak_start_at_9 -1.619897\n", - "┃ coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -0.663129\n", - "┃ coef_dummy_for_eating_out_purpose_and_departure_at_11 1.151827\n", - "┃ coef_dummy_for_eating_out_purpose_and_departure_at_12 2.625436\n", - "┃ coef_dummy_for_eating_out_purpose_and_departure_at_13 2.360981\n", - "┃ coef_dummy_for_eating_out_purpose_and_duration_of_1_hour 0.310405\n", - "┃ coef_duration_of_0_hours 9.959985\n", - "┃ coef_duration_of_11_to_13_hours -0.374055\n", - "┃ coef_duration_of_14_to_18_hours 0.000000\n", - "┃ coef_duration_of_1_hour 0.000000\n", - "┃ coef_duration_of_2_to_3_hours 9.181283\n", - "┃ coef_duration_of_4_to_5_hours -0.483141\n", - "┃ coef_duration_of_6_to_7_hours 10.535613\n", - "┃ coef_duration_of_8_to_10_hours 10.402183\n", - "┃ coef_duration_shift_for_business_related_ 0.600044\n", - "┃ coef_duration_shift_for_first_sub_tour_of_same_work_tour 0.319885\n", - "┃ coef_duration_shift_for_inbound_auto_travel_time_off_peak -0.118575\n", - "┃ coef_duration_shift_for_number_of_individual_nonmandatory_tours 0.009894\n", - "┃ coef_duration_shift_for_number_of_joint_tours -0.577681\n", - "┃ coef_duration_shift_for_number_of_mandatory_tours -1.058788\n", - "┃ coef_duration_shift_for_outbound_auto_travel_time_off_peak 0.145324\n", - "┃ coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -10.333603\n", - "┃ coef_early_end_at_5_6 -25.000000\n", - "┃ coef_early_start_at_5 -2.204068\n", - "┃ coef_evening_end_at_19_20_21 -4.521037\n", - "┃ coef_evening_start_at_19_20_21 -0.325741\n", - "┃ coef_late_end_at_22_23 -11.516565\n", - "┃ coef_late_start_at_22_23 -5.142925\n", - "┃ coef_midday_end_at_10_11_12 -1.305196\n", - "┃ coef_midday_end_at_13_14 0.000000\n", - "┃ coef_midday_start_at_10_11_12 0.000000\n", - "┃ coef_midday_start_at_13_14_15 -1.051562\n", - "┃ coef_pm_peak_end_at_15 -1.432981\n", - "┃ coef_pm_peak_end_at_16 -2.055109\n", - "┃ coef_pm_peak_end_at_17 -2.404252\n", - "┃ coef_pm_peak_end_at_18 -3.500372\n", - "┃ coef_pm_peak_start_at_16_17_18 -0.798588\n", - "┃ coef_start_shift_for_business_related_ -0.083357\n", - "┃ coef_start_shift_for_first_sub_tour_of_same_work_tour -0.168324\n", - "┃ coef_start_shift_for_inbound_auto_travel_time_off_peak -0.099019\n", - "┃ coef_start_shift_for_number_of_individual_nonmandatory_tours 0.026777\n", - "┃ coef_start_shift_for_number_of_joint_tours -0.019722\n", - "┃ coef_start_shift_for_number_of_mandatory_tours 0.059018\n", - "┃ coef_start_shift_for_outbound_auto_travel_time_off_peak 0.100349\n", - "┃ coef_start_shift_for_subsequent_sub_tour_of_same_work_tour -0.360206\n", + "┣ x: coef_am_peak_end -2.543876\n", + "┃ coef_am_peak_start_at_6 -5.790935\n", + "┃ coef_am_peak_start_at_7 -4.238642\n", + "┃ coef_am_peak_start_at_8 -2.371798\n", + "┃ coef_am_peak_start_at_9 -2.106247\n", + "┃ coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -1.656086\n", + "┃ coef_dummy_for_eating_out_purpose_and_departure_at_11 1.371453\n", + "┃ coef_dummy_for_eating_out_purpose_and_departure_at_12 2.454861\n", + "┃ coef_dummy_for_eating_out_purpose_and_departure_at_13 1.832150\n", + "┃ coef_dummy_for_eating_out_purpose_and_duration_of_1_hour 0.534786\n", + "┃ coef_duration_of_0_hours -1.056506\n", + "┃ coef_duration_of_11_to_13_hours 0.292100\n", + "┃ coef_duration_of_14_to_18_hours 0.000000\n", + "┃ coef_duration_of_1_hour 0.000000\n", + "┃ coef_duration_of_2_to_3_hours -1.478463\n", + "┃ coef_duration_of_4_to_5_hours -1.032651\n", + "┃ coef_duration_of_6_to_7_hours 1.074781\n", + "┃ coef_duration_of_8_to_10_hours 1.476278\n", + "┃ coef_duration_shift_for_business_related_ 0.237322\n", + "┃ coef_duration_shift_for_first_sub_tour_of_same_work_tour -0.199899\n", + "┃ coef_duration_shift_for_inbound_auto_travel_time_off_peak 0.022979\n", + "┃ coef_duration_shift_for_number_of_individual_nonmandatory_tours -0.075913\n", + "┃ coef_duration_shift_for_number_of_joint_tours -0.234618\n", + "┃ coef_duration_shift_for_number_of_mandatory_tours -0.909117\n", + "┃ coef_duration_shift_for_outbound_auto_travel_time_off_peak -0.002863\n", + "┃ coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -0.371148\n", + "┃ coef_early_end_at_5_6 -2.693000\n", + "┃ coef_early_start_at_5 -7.645209\n", + "┃ coef_evening_end_at_19_20_21 -2.460690\n", + "┃ coef_evening_start_at_19_20_21 -0.786571\n", + "┃ coef_late_end_at_22_23 -2.391664\n", + "┃ coef_late_start_at_22_23 -0.890587\n", + "┃ coef_midday_end_at_10_11_12 -2.145575\n", + "┃ coef_midday_end_at_13_14 0.000000\n", + "┃ coef_midday_start_at_10_11_12 0.000000\n", + "┃ coef_midday_start_at_13_14_15 -0.665045\n", + "┃ coef_pm_peak_end_at_15 -0.586475\n", + "┃ coef_pm_peak_end_at_16 -1.337297\n", + "┃ coef_pm_peak_end_at_17 -1.432487\n", + "┃ coef_pm_peak_end_at_18 -1.702240\n", + "┃ coef_pm_peak_start_at_16_17_18 -0.000431\n", + "┃ coef_start_shift_for_business_related_ -0.071618\n", + "┃ coef_start_shift_for_first_sub_tour_of_same_work_tour -0.458549\n", + "┃ coef_start_shift_for_inbound_auto_travel_time_off_peak -0.011025\n", + "┃ coef_start_shift_for_number_of_individual_nonmandatory_tours -0.019137\n", + "┃ coef_start_shift_for_number_of_joint_tours 0.025502\n", + "┃ coef_start_shift_for_number_of_mandatory_tours -0.067479\n", + "┃ coef_start_shift_for_outbound_auto_travel_time_off_peak 0.010616\n", + "┃ coef_start_shift_for_subsequent_sub_tour_of_same_work_tour -0.117673\n", "┃ dtype: float64\n", - "┣ loglike: -1401.9305368056416\n", - "┣ d_loglike: coef_am_peak_end 1.755671e-04\n", - "┃ coef_am_peak_start_at_6 -3.041241e-08\n", - "┃ coef_am_peak_start_at_7 -8.670115e-05\n", - "┃ coef_am_peak_start_at_8 5.028242e-05\n", - "┃ coef_am_peak_start_at_9 5.798423e-04\n", - "┃ coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 1.601202e-04\n", - "┃ coef_dummy_for_eating_out_purpose_and_departure_at_11 -3.475790e-05\n", - "┃ coef_dummy_for_eating_out_purpose_and_departure_at_12 -5.671365e-05\n", - "┃ coef_dummy_for_eating_out_purpose_and_departure_at_13 -2.578419e-05\n", - "┃ coef_dummy_for_eating_out_purpose_and_duration_of_1_hour 1.872976e-04\n", - "┃ coef_duration_of_0_hours -1.158083e-03\n", - "┃ coef_duration_of_11_to_13_hours -1.673798e-06\n", + "┣ logloss: 2.887476765558531\n", + "┣ d_logloss: coef_am_peak_end -4.854218e-05\n", + "┃ coef_am_peak_start_at_6 1.910552e-05\n", + "┃ coef_am_peak_start_at_7 9.916948e-07\n", + "┃ coef_am_peak_start_at_8 4.037261e-05\n", + "┃ coef_am_peak_start_at_9 1.440668e-04\n", + "┃ coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -1.280892e-04\n", + "┃ coef_dummy_for_eating_out_purpose_and_departure_at_11 1.803296e-04\n", + "┃ coef_dummy_for_eating_out_purpose_and_departure_at_12 -1.483346e-04\n", + "┃ coef_dummy_for_eating_out_purpose_and_departure_at_13 1.713493e-04\n", + "┃ coef_dummy_for_eating_out_purpose_and_duration_of_1_hour -2.135625e-04\n", + "┃ coef_duration_of_0_hours 8.415289e-05\n", + "┃ coef_duration_of_11_to_13_hours -6.167370e-06\n", "┃ coef_duration_of_14_to_18_hours 0.000000e+00\n", "┃ coef_duration_of_1_hour 0.000000e+00\n", - "┃ coef_duration_of_2_to_3_hours 9.972871e-04\n", - "┃ coef_duration_of_4_to_5_hours 1.179130e-04\n", - "┃ coef_duration_of_6_to_7_hours -3.119839e-04\n", - "┃ coef_duration_of_8_to_10_hours 1.749841e-06\n", - "┃ coef_duration_shift_for_business_related_ -1.422810e-03\n", - "┃ coef_duration_shift_for_first_sub_tour_of_same_work_tour -6.454765e-04\n", - "┃ coef_duration_shift_for_inbound_auto_travel_time_off_peak 8.510358e-03\n", - "┃ coef_duration_shift_for_number_of_individual_nonmandatory_tours -1.352429e-03\n", - "┃ coef_duration_shift_for_number_of_joint_tours 1.961158e-04\n", - "┃ coef_duration_shift_for_number_of_mandatory_tours -6.872100e-04\n", - "┃ coef_duration_shift_for_outbound_auto_travel_time_off_peak 7.485785e-03\n", - "┃ coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -5.553217e-06\n", - "┃ coef_early_end_at_5_6 -4.444583e-11\n", - "┃ coef_early_start_at_5 5.404961e-05\n", - "┃ coef_evening_end_at_19_20_21 -3.938375e-04\n", - "┃ coef_evening_start_at_19_20_21 -1.613864e-04\n", - "┃ coef_late_end_at_22_23 -3.810622e-04\n", - "┃ coef_late_start_at_22_23 -1.853500e-06\n", - "┃ coef_midday_end_at_10_11_12 6.960928e-04\n", + "┃ coef_duration_of_2_to_3_hours -1.347427e-04\n", + "┃ coef_duration_of_4_to_5_hours 1.170007e-05\n", + "┃ coef_duration_of_6_to_7_hours -7.452797e-05\n", + "┃ coef_duration_of_8_to_10_hours -4.591330e-06\n", + "┃ coef_duration_shift_for_business_related_ 1.631608e-04\n", + "┃ coef_duration_shift_for_first_sub_tour_of_same_work_tour 6.894456e-05\n", + "┃ coef_duration_shift_for_inbound_auto_travel_time_off_peak -1.645782e-04\n", + "┃ coef_duration_shift_for_number_of_individual_nonmandatory_tours -1.965446e-04\n", + "┃ coef_duration_shift_for_number_of_joint_tours 2.409234e-04\n", + "┃ coef_duration_shift_for_number_of_mandatory_tours -9.571494e-05\n", + "┃ coef_duration_shift_for_outbound_auto_travel_time_off_peak 5.935593e-05\n", + "┃ coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -5.141939e-05\n", + "┃ coef_early_end_at_5_6 1.627725e-05\n", + "┃ coef_early_start_at_5 7.249674e-05\n", + "┃ coef_evening_end_at_19_20_21 -1.112621e-04\n", + "┃ coef_evening_start_at_19_20_21 1.220311e-04\n", + "┃ coef_late_end_at_22_23 -5.597541e-05\n", + "┃ coef_late_start_at_22_23 -9.478339e-05\n", + "┃ coef_midday_end_at_10_11_12 -2.023533e-05\n", "┃ coef_midday_end_at_13_14 0.000000e+00\n", "┃ coef_midday_start_at_10_11_12 0.000000e+00\n", - "┃ coef_midday_start_at_13_14_15 8.833428e-05\n", - "┃ coef_pm_peak_end_at_15 -2.278624e-04\n", - "┃ coef_pm_peak_end_at_16 -3.377131e-05\n", - "┃ coef_pm_peak_end_at_17 -4.096157e-04\n", - "┃ coef_pm_peak_end_at_18 -4.205497e-04\n", - "┃ coef_pm_peak_start_at_16_17_18 -8.339350e-04\n", - "┃ coef_start_shift_for_business_related_ 1.194878e-04\n", - "┃ coef_start_shift_for_first_sub_tour_of_same_work_tour -1.481936e-02\n", - "┃ coef_start_shift_for_inbound_auto_travel_time_off_peak -1.201511e-01\n", - "┃ coef_start_shift_for_number_of_individual_nonmandatory_tours -1.882400e-03\n", - "┃ coef_start_shift_for_number_of_joint_tours -1.517039e-03\n", - "┃ coef_start_shift_for_number_of_mandatory_tours -1.475028e-02\n", - "┃ coef_start_shift_for_outbound_auto_travel_time_off_peak -1.163942e-01\n", - "┃ coef_start_shift_for_subsequent_sub_tour_of_same_work_tour 2.856907e-05\n", + "┃ coef_midday_start_at_13_14_15 8.980809e-05\n", + "┃ coef_pm_peak_end_at_15 -2.232845e-04\n", + "┃ coef_pm_peak_end_at_16 -4.780466e-05\n", + "┃ coef_pm_peak_end_at_17 3.154057e-04\n", + "┃ coef_pm_peak_end_at_18 -1.485193e-04\n", + "┃ coef_pm_peak_start_at_16_17_18 -3.850429e-05\n", + "┃ coef_start_shift_for_business_related_ -2.801495e-06\n", + "┃ coef_start_shift_for_first_sub_tour_of_same_work_tour 1.192141e-04\n", + "┃ coef_start_shift_for_inbound_auto_travel_time_off_peak 7.248793e-05\n", + "┃ coef_start_shift_for_number_of_individual_nonmandatory_tours -4.273167e-05\n", + "┃ coef_start_shift_for_number_of_joint_tours 4.702349e-05\n", + "┃ coef_start_shift_for_number_of_mandatory_tours -4.354135e-05\n", + "┃ coef_start_shift_for_outbound_auto_travel_time_off_peak -4.170920e-05\n", + "┃ coef_start_shift_for_subsequent_sub_tour_of_same_work_tour 1.286129e-04\n", "┃ dtype: float64\n", "┣ nit: 68\n", - "┣ nfev: 132\n", + "┣ nfev: 75\n", "┣ njev: 68\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=1, microseconds=774115)\n", + "┣ elapsed_time: datetime.timedelta(seconds=5, microseconds=198235)\n", "┣ method: 'slsqp'\n", - "┣ n_cases: 464\n", + "┣ n_cases: 6036\n", "┣ iteration_number: 68\n", - "┣ logloss: 3.021402018977676" + "┣ loglike: -17373.947698365682" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.estimate()" + "model.estimate(maxiter=900)" ] }, { @@ -3233,519 +3380,496 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_am_peak_end-1.37 0.551-2.49* NA 0.00
coef_am_peak_start_at_6-20.6 7.33-2.81** NA 0.00
coef_am_peak_start_at_7-2.83 0.615-4.59*** NA 0.00
coef_am_peak_start_at_8-1.20 0.405-2.96** NA 0.00
coef_am_peak_start_at_9-1.62 0.372-4.35*** NA 0.00
coef_dummy_for_business_related_purpose_and_duration_from_0_to_1-0.663 0.597-1.11 NA 0.00
coef_dummy_for_eating_out_purpose_and_departure_at_11 1.15 0.559 2.06* NA 0.00
coef_dummy_for_eating_out_purpose_and_departure_at_12 2.63 0.598 4.39*** NA 0.00
coef_dummy_for_eating_out_purpose_and_departure_at_13 2.36 0.785 3.01** NA 0.00
coef_dummy_for_eating_out_purpose_and_duration_of_1_hour 0.310 0.516 0.60 NA 0.00
coef_duration_of_0_hours 9.96 1.24 8.06*** NA 0.00
coef_duration_of_11_to_13_hours-0.374 773.-0.00 NA 0.00
coef_duration_of_14_to_18_hours 0.00 NA NA NA 0.00fixed value
coef_duration_of_1_hour 0.00 NA NA NA 0.00fixed value
coef_duration_of_2_to_3_hours 9.18 1.26 7.27*** NA 0.00
coef_duration_of_4_to_5_hours-0.483 0.399-1.21 NA 0.00
coef_duration_of_6_to_7_hours 10.5 1.48 7.11*** NA 0.00
coef_duration_of_8_to_10_hours 10.4 1.83 5.70*** NA 0.00
coef_duration_shift_for_business_related_ 0.600 0.143 4.20*** NA 0.00
coef_duration_shift_for_first_sub_tour_of_same_work_tour 0.320 0.665 0.48 NA 0.00
coef_duration_shift_for_inbound_auto_travel_time_off_peak-0.119 0.0948-1.25 NA 0.00
coef_duration_shift_for_number_of_individual_nonmandatory_tours 0.00989 0.0574 0.17 NA 0.00
coef_duration_shift_for_number_of_joint_tours-0.578 0.294-1.96* NA 0.00
coef_duration_shift_for_number_of_mandatory_tours-1.06 0.652-1.62 NA 0.00
coef_duration_shift_for_outbound_auto_travel_time_off_peak 0.145 0.0956 1.52 NA 0.00
coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour-10.3 424.-0.02 NA 0.00
coef_early_end_at_5_6-25.0 NA NA[*] 3.06 0.00coef_early_end_at_5_6 ≥ -25.0
coef_early_start_at_5-2.20 1.30-1.70 NA 0.00
coef_evening_end_at_19_20_21-4.52 1.26-3.59*** NA 0.00
coef_evening_start_at_19_20_21-0.326 1.53-0.21 NA 0.00
coef_late_end_at_22_23-11.5 51.4-0.22 NA 0.00
coef_late_start_at_22_23-5.14 736.-0.01 NA 0.00
coef_midday_end_at_10_11_12-1.31 0.238-5.49*** NA 0.00
coef_midday_end_at_13_14 0.00 NA NA NA 0.00fixed value
coef_midday_start_at_10_11_12 0.00 NA NA NA 0.00fixed value
coef_midday_start_at_13_14_15-1.05 0.239-4.41*** NA 0.00
coef_pm_peak_end_at_15-1.43 0.260-5.50*** NA 0.00
coef_pm_peak_end_at_16-2.06 0.451-4.56*** NA 0.00
coef_pm_peak_end_at_17-2.40 0.556-4.33*** NA 0.00
coef_pm_peak_end_at_18-3.50 0.738-4.74*** NA 0.00
coef_pm_peak_start_at_16_17_18-0.799 0.642-1.24 NA 0.00
coef_start_shift_for_business_related_-0.0834 0.144-0.58 NA 0.00
coef_start_shift_for_first_sub_tour_of_same_work_tour-0.168 0.135-1.25 NA 0.00
coef_start_shift_for_inbound_auto_travel_time_off_peak-0.0990 0.0641-1.54 NA 0.00
coef_start_shift_for_number_of_individual_nonmandatory_tours 0.0268 0.0292 0.92 NA 0.00
coef_start_shift_for_number_of_joint_tours-0.0197 0.122-0.16 NA 0.00
coef_start_shift_for_number_of_mandatory_tours 0.0590 0.0887 0.67 NA 0.00
coef_start_shift_for_outbound_auto_travel_time_off_peak 0.100 0.0650 1.54 NA 0.00
coef_start_shift_for_subsequent_sub_tour_of_same_work_tour-0.360 0.423-0.85 NA 0.00
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_am_peak_end-2.54 0.162-15.68*** 0.00
coef_am_peak_start_at_6-5.79 0.649-8.93*** 0.00
coef_am_peak_start_at_7-4.24 0.200-21.18*** 0.00
coef_am_peak_start_at_8-2.37 0.127-18.63*** 0.00
coef_am_peak_start_at_9-2.11 0.111-19.05*** 0.00
coef_dummy_for_business_related_purpose_and_duration_from_0_to_1-1.66 0.153-10.81*** 0.00
coef_dummy_for_eating_out_purpose_and_departure_at_11 1.37 0.130 10.56*** 0.00
coef_dummy_for_eating_out_purpose_and_departure_at_12 2.45 0.153 16.00*** 0.00
coef_dummy_for_eating_out_purpose_and_departure_at_13 1.83 0.204 8.98*** 0.00
coef_dummy_for_eating_out_purpose_and_duration_of_1_hour 0.535 0.128 4.17*** 0.00
coef_duration_of_0_hours-1.06 0.214-4.94*** 0.00
coef_duration_of_11_to_13_hours 0.292 5.22 0.06 0.00
coef_duration_of_14_to_18_hours 0.00 0.00 NA 0.00fixed value
coef_duration_of_1_hour 0.00 0.00 NA 0.00fixed value
coef_duration_of_2_to_3_hours-1.48 0.199-7.43*** 0.00
coef_duration_of_4_to_5_hours-1.03 0.160-6.46*** 0.00
coef_duration_of_6_to_7_hours 1.07 0.241 4.46*** 0.00
coef_duration_of_8_to_10_hours 1.48 0.409 3.61*** 0.00
coef_duration_shift_for_business_related_ 0.237 0.0416 5.71*** 0.00
coef_duration_shift_for_first_sub_tour_of_same_work_tour-0.200 0.159-1.26 0.00
coef_duration_shift_for_inbound_auto_travel_time_off_peak 0.0230 0.0131 1.76 0.00
coef_duration_shift_for_number_of_individual_nonmandatory_tours-0.0759 0.0200-3.79*** 0.00
coef_duration_shift_for_number_of_joint_tours-0.235 0.0632-3.71*** 0.00
coef_duration_shift_for_number_of_mandatory_tours-0.909 0.154-5.90*** 0.00
coef_duration_shift_for_outbound_auto_travel_time_off_peak-0.00286 0.0130-0.22 0.00
coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour-0.371 0.303-1.22 0.00
coef_early_end_at_5_6-2.69 0.834-3.23** 0.00
coef_early_start_at_5-7.65 1.48-5.16*** 0.00
coef_evening_end_at_19_20_21-2.46 0.364-6.75*** 0.00
coef_evening_start_at_19_20_21-0.787 0.597-1.32 0.00
coef_late_end_at_22_23-2.39 1.21-1.98* 0.00
coef_late_start_at_22_23-0.891 1.85-0.48 0.00
coef_midday_end_at_10_11_12-2.15 0.0685-31.31*** 0.00
coef_midday_end_at_13_14 0.00 0.00 NA 0.00fixed value
coef_midday_start_at_10_11_12 0.00 0.00 NA 0.00fixed value
coef_midday_start_at_13_14_15-0.665 0.0663-10.04*** 0.00
coef_pm_peak_end_at_15-0.586 0.0676-8.68*** 0.00
coef_pm_peak_end_at_16-1.34 0.134-10.01*** 0.00
coef_pm_peak_end_at_17-1.43 0.165-8.68*** 0.00
coef_pm_peak_end_at_18-1.70 0.211-8.07*** 0.00
coef_pm_peak_start_at_16_17_18-0.000431 0.181-0.00 0.00
coef_start_shift_for_business_related_-0.0716 0.0540-1.33 0.00
coef_start_shift_for_first_sub_tour_of_same_work_tour-0.459 0.0714-6.42*** 0.00
coef_start_shift_for_inbound_auto_travel_time_off_peak-0.0110 0.0130-0.85 0.00
coef_start_shift_for_number_of_individual_nonmandatory_tours-0.0191 0.0140-1.37 0.00
coef_start_shift_for_number_of_joint_tours 0.0255 0.0364 0.70 0.00
coef_start_shift_for_number_of_mandatory_tours-0.0675 0.0648-1.04 0.00
coef_start_shift_for_outbound_auto_travel_time_off_peak 0.0106 0.0127 0.83 0.00
coef_start_shift_for_subsequent_sub_tour_of_same_work_tour-0.118 0.167-0.71 0.00
\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -3766,7 +3890,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -3787,20 +3911,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.to_xlsx(\n", " result_dir/f\"{modelname}_model_estimation.xlsx\", \n", @@ -3819,7 +3932,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -3852,31 +3965,31 @@ " \n", " 0\n", " coef_early_start_at_5\n", - " -2.204068\n", + " -7.645209\n", " F\n", " \n", " \n", " 1\n", " coef_am_peak_start_at_6\n", - " -20.592814\n", + " -5.790935\n", " F\n", " \n", " \n", " 2\n", " coef_am_peak_start_at_7\n", - " -2.826984\n", + " -4.238642\n", " F\n", " \n", " \n", " 3\n", " coef_am_peak_start_at_8\n", - " -1.196528\n", + " -2.371798\n", " F\n", " \n", " \n", " 4\n", " coef_am_peak_start_at_9\n", - " -1.619897\n", + " -2.106247\n", " F\n", " \n", " \n", @@ -3888,43 +4001,43 @@ " \n", " 6\n", " coef_midday_start_at_13_14_15\n", - " -1.051562\n", + " -0.665045\n", " F\n", " \n", " \n", " 7\n", " coef_pm_peak_start_at_16_17_18\n", - " -0.798588\n", + " -0.000431\n", " F\n", " \n", " \n", " 8\n", " coef_evening_start_at_19_20_21\n", - " -0.325741\n", + " -0.786571\n", " F\n", " \n", " \n", " 9\n", " coef_late_start_at_22_23\n", - " -5.142925\n", + " -0.890587\n", " F\n", " \n", " \n", " 10\n", " coef_early_end_at_5_6\n", - " -25.000000\n", + " -2.693000\n", " F\n", " \n", " \n", " 11\n", " coef_am_peak_end\n", - " -1.373169\n", + " -2.543876\n", " F\n", " \n", " \n", " 12\n", " coef_midday_end_at_10_11_12\n", - " -1.305196\n", + " -2.145575\n", " F\n", " \n", " \n", @@ -3936,43 +4049,43 @@ " \n", " 14\n", " coef_pm_peak_end_at_15\n", - " -1.432981\n", + " -0.586475\n", " F\n", " \n", " \n", " 15\n", " coef_pm_peak_end_at_16\n", - " -2.055109\n", + " -1.337297\n", " F\n", " \n", " \n", " 16\n", " coef_pm_peak_end_at_17\n", - " -2.404252\n", + " -1.432487\n", " F\n", " \n", " \n", " 17\n", " coef_pm_peak_end_at_18\n", - " -3.500372\n", + " -1.702240\n", " F\n", " \n", " \n", " 18\n", " coef_evening_end_at_19_20_21\n", - " -4.521037\n", + " -2.460690\n", " F\n", " \n", " \n", " 19\n", " coef_late_end_at_22_23\n", - " -11.516565\n", + " -2.391664\n", " F\n", " \n", " \n", " 20\n", " coef_duration_of_0_hours\n", - " 9.959985\n", + " -1.056506\n", " F\n", " \n", " \n", @@ -3984,31 +4097,31 @@ " \n", " 22\n", " coef_duration_of_2_to_3_hours\n", - " 9.181283\n", + " -1.478463\n", " F\n", " \n", " \n", " 23\n", " coef_duration_of_4_to_5_hours\n", - " -0.483141\n", + " -1.032651\n", " F\n", " \n", " \n", " 24\n", " coef_duration_of_6_to_7_hours\n", - " 10.535613\n", + " 1.074781\n", " F\n", " \n", " \n", " 25\n", " coef_duration_of_8_to_10_hours\n", - " 10.402183\n", + " 1.476278\n", " F\n", " \n", " \n", " 26\n", " coef_duration_of_11_to_13_hours\n", - " -0.374055\n", + " 0.292100\n", " F\n", " \n", " \n", @@ -4020,127 +4133,127 @@ " \n", " 28\n", " coef_start_shift_for_outbound_auto_travel_time...\n", - " 0.100349\n", + " 0.010616\n", " F\n", " \n", " \n", " 29\n", " coef_start_shift_for_inbound_auto_travel_time_...\n", - " -0.099019\n", + " -0.011025\n", " F\n", " \n", " \n", " 30\n", " coef_duration_shift_for_outbound_auto_travel_t...\n", - " 0.145324\n", + " -0.002863\n", " F\n", " \n", " \n", " 31\n", " coef_duration_shift_for_inbound_auto_travel_ti...\n", - " -0.118575\n", + " 0.022979\n", " F\n", " \n", " \n", " 32\n", " coef_start_shift_for_business_related_\n", - " -0.083357\n", + " -0.071618\n", " F\n", " \n", " \n", " 33\n", " coef_duration_shift_for_business_related_\n", - " 0.600044\n", + " 0.237322\n", " F\n", " \n", " \n", " 34\n", " coef_start_shift_for_first_sub_tour_of_same_wo...\n", - " -0.168324\n", + " -0.458549\n", " F\n", " \n", " \n", " 35\n", " coef_duration_shift_for_first_sub_tour_of_same...\n", - " 0.319885\n", + " -0.199899\n", " F\n", " \n", " \n", " 36\n", " coef_start_shift_for_subsequent_sub_tour_of_sa...\n", - " -0.360206\n", + " -0.117673\n", " F\n", " \n", " \n", " 37\n", " coef_duration_shift_for_subsequent_sub_tour_of...\n", - " -10.333603\n", + " -0.371148\n", " F\n", " \n", " \n", " 38\n", " coef_start_shift_for_number_of_mandatory_tours\n", - " 0.059018\n", + " -0.067479\n", " F\n", " \n", " \n", " 39\n", " coef_duration_shift_for_number_of_mandatory_tours\n", - " -1.058788\n", + " -0.909117\n", " F\n", " \n", " \n", " 40\n", " coef_start_shift_for_number_of_joint_tours\n", - " -0.019722\n", + " 0.025502\n", " F\n", " \n", " \n", " 41\n", " coef_duration_shift_for_number_of_joint_tours\n", - " -0.577681\n", + " -0.234618\n", " F\n", " \n", " \n", " 42\n", " coef_start_shift_for_number_of_individual_nonm...\n", - " 0.026777\n", + " -0.019137\n", " F\n", " \n", " \n", " 43\n", " coef_duration_shift_for_number_of_individual_n...\n", - " 0.009894\n", + " -0.075913\n", " F\n", " \n", " \n", " 44\n", " coef_dummy_for_business_related_purpose_and_du...\n", - " -0.663129\n", + " -1.656086\n", " F\n", " \n", " \n", " 45\n", " coef_dummy_for_eating_out_purpose_and_duration...\n", - " 0.310405\n", + " 0.534786\n", " F\n", " \n", " \n", " 46\n", " coef_dummy_for_eating_out_purpose_and_departur...\n", - " 1.151827\n", + " 1.371453\n", " F\n", " \n", " \n", " 47\n", " coef_dummy_for_eating_out_purpose_and_departur...\n", - " 2.625436\n", + " 2.454861\n", " F\n", " \n", " \n", " 48\n", " coef_dummy_for_eating_out_purpose_and_departur...\n", - " 2.360981\n", + " 1.832150\n", " F\n", " \n", " \n", @@ -4148,59 +4261,59 @@ "" ], "text/plain": [ - " coefficient_name value constrain\n", - "0 coef_early_start_at_5 -2.204068 F\n", - "1 coef_am_peak_start_at_6 -20.592814 F\n", - "2 coef_am_peak_start_at_7 -2.826984 F\n", - "3 coef_am_peak_start_at_8 -1.196528 F\n", - "4 coef_am_peak_start_at_9 -1.619897 F\n", - "5 coef_midday_start_at_10_11_12 0.000000 T\n", - "6 coef_midday_start_at_13_14_15 -1.051562 F\n", - "7 coef_pm_peak_start_at_16_17_18 -0.798588 F\n", - "8 coef_evening_start_at_19_20_21 -0.325741 F\n", - "9 coef_late_start_at_22_23 -5.142925 F\n", - "10 coef_early_end_at_5_6 -25.000000 F\n", - "11 coef_am_peak_end -1.373169 F\n", - "12 coef_midday_end_at_10_11_12 -1.305196 F\n", - "13 coef_midday_end_at_13_14 0.000000 T\n", - "14 coef_pm_peak_end_at_15 -1.432981 F\n", - "15 coef_pm_peak_end_at_16 -2.055109 F\n", - "16 coef_pm_peak_end_at_17 -2.404252 F\n", - "17 coef_pm_peak_end_at_18 -3.500372 F\n", - "18 coef_evening_end_at_19_20_21 -4.521037 F\n", - "19 coef_late_end_at_22_23 -11.516565 F\n", - "20 coef_duration_of_0_hours 9.959985 F\n", - "21 coef_duration_of_1_hour 0.000000 T\n", - "22 coef_duration_of_2_to_3_hours 9.181283 F\n", - "23 coef_duration_of_4_to_5_hours -0.483141 F\n", - "24 coef_duration_of_6_to_7_hours 10.535613 F\n", - "25 coef_duration_of_8_to_10_hours 10.402183 F\n", - "26 coef_duration_of_11_to_13_hours -0.374055 F\n", - "27 coef_duration_of_14_to_18_hours 0.000000 T\n", - "28 coef_start_shift_for_outbound_auto_travel_time... 0.100349 F\n", - "29 coef_start_shift_for_inbound_auto_travel_time_... -0.099019 F\n", - "30 coef_duration_shift_for_outbound_auto_travel_t... 0.145324 F\n", - "31 coef_duration_shift_for_inbound_auto_travel_ti... -0.118575 F\n", - "32 coef_start_shift_for_business_related_ -0.083357 F\n", - "33 coef_duration_shift_for_business_related_ 0.600044 F\n", - "34 coef_start_shift_for_first_sub_tour_of_same_wo... -0.168324 F\n", - "35 coef_duration_shift_for_first_sub_tour_of_same... 0.319885 F\n", - "36 coef_start_shift_for_subsequent_sub_tour_of_sa... -0.360206 F\n", - "37 coef_duration_shift_for_subsequent_sub_tour_of... -10.333603 F\n", - "38 coef_start_shift_for_number_of_mandatory_tours 0.059018 F\n", - "39 coef_duration_shift_for_number_of_mandatory_tours -1.058788 F\n", - "40 coef_start_shift_for_number_of_joint_tours -0.019722 F\n", - "41 coef_duration_shift_for_number_of_joint_tours -0.577681 F\n", - "42 coef_start_shift_for_number_of_individual_nonm... 0.026777 F\n", - "43 coef_duration_shift_for_number_of_individual_n... 0.009894 F\n", - "44 coef_dummy_for_business_related_purpose_and_du... -0.663129 F\n", - "45 coef_dummy_for_eating_out_purpose_and_duration... 0.310405 F\n", - "46 coef_dummy_for_eating_out_purpose_and_departur... 1.151827 F\n", - "47 coef_dummy_for_eating_out_purpose_and_departur... 2.625436 F\n", - "48 coef_dummy_for_eating_out_purpose_and_departur... 2.360981 F" + " coefficient_name value constrain\n", + "0 coef_early_start_at_5 -7.645209 F\n", + "1 coef_am_peak_start_at_6 -5.790935 F\n", + "2 coef_am_peak_start_at_7 -4.238642 F\n", + "3 coef_am_peak_start_at_8 -2.371798 F\n", + "4 coef_am_peak_start_at_9 -2.106247 F\n", + "5 coef_midday_start_at_10_11_12 0.000000 T\n", + "6 coef_midday_start_at_13_14_15 -0.665045 F\n", + "7 coef_pm_peak_start_at_16_17_18 -0.000431 F\n", + "8 coef_evening_start_at_19_20_21 -0.786571 F\n", + "9 coef_late_start_at_22_23 -0.890587 F\n", + "10 coef_early_end_at_5_6 -2.693000 F\n", + "11 coef_am_peak_end -2.543876 F\n", + "12 coef_midday_end_at_10_11_12 -2.145575 F\n", + "13 coef_midday_end_at_13_14 0.000000 T\n", + "14 coef_pm_peak_end_at_15 -0.586475 F\n", + "15 coef_pm_peak_end_at_16 -1.337297 F\n", + "16 coef_pm_peak_end_at_17 -1.432487 F\n", + "17 coef_pm_peak_end_at_18 -1.702240 F\n", + "18 coef_evening_end_at_19_20_21 -2.460690 F\n", + "19 coef_late_end_at_22_23 -2.391664 F\n", + "20 coef_duration_of_0_hours -1.056506 F\n", + "21 coef_duration_of_1_hour 0.000000 T\n", + "22 coef_duration_of_2_to_3_hours -1.478463 F\n", + "23 coef_duration_of_4_to_5_hours -1.032651 F\n", + "24 coef_duration_of_6_to_7_hours 1.074781 F\n", + "25 coef_duration_of_8_to_10_hours 1.476278 F\n", + "26 coef_duration_of_11_to_13_hours 0.292100 F\n", + "27 coef_duration_of_14_to_18_hours 0.000000 T\n", + "28 coef_start_shift_for_outbound_auto_travel_time... 0.010616 F\n", + "29 coef_start_shift_for_inbound_auto_travel_time_... -0.011025 F\n", + "30 coef_duration_shift_for_outbound_auto_travel_t... -0.002863 F\n", + "31 coef_duration_shift_for_inbound_auto_travel_ti... 0.022979 F\n", + "32 coef_start_shift_for_business_related_ -0.071618 F\n", + "33 coef_duration_shift_for_business_related_ 0.237322 F\n", + "34 coef_start_shift_for_first_sub_tour_of_same_wo... -0.458549 F\n", + "35 coef_duration_shift_for_first_sub_tour_of_same... -0.199899 F\n", + "36 coef_start_shift_for_subsequent_sub_tour_of_sa... -0.117673 F\n", + "37 coef_duration_shift_for_subsequent_sub_tour_of... -0.371148 F\n", + "38 coef_start_shift_for_number_of_mandatory_tours -0.067479 F\n", + "39 coef_duration_shift_for_number_of_mandatory_tours -0.909117 F\n", + "40 coef_start_shift_for_number_of_joint_tours 0.025502 F\n", + "41 coef_duration_shift_for_number_of_joint_tours -0.234618 F\n", + "42 coef_start_shift_for_number_of_individual_nonm... -0.019137 F\n", + "43 coef_duration_shift_for_number_of_individual_n... -0.075913 F\n", + "44 coef_dummy_for_business_related_purpose_and_du... -1.656086 F\n", + "45 coef_dummy_for_eating_out_purpose_and_duration... 0.534786 F\n", + "46 coef_dummy_for_eating_out_purpose_and_departur... 1.371453 F\n", + "47 coef_dummy_for_eating_out_purpose_and_departur... 2.454861 F\n", + "48 coef_dummy_for_eating_out_purpose_and_departur... 1.832150 F" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -4217,7 +4330,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -4231,7 +4344,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/21_stop_frequency.ipynb b/activitysim/examples/example_estimation/notebooks/21_stop_frequency.ipynb index 3de8e64272..ee1914bfd6 100644 --- a/activitysim/examples/example_estimation/notebooks/21_stop_frequency.ipynb +++ b/activitysim/examples/example_estimation/notebooks/21_stop_frequency.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -73,8 +120,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/activitysim/activitysim/estimation/larch/general.py:321: UserWarning: coefficient dataframe missing 'constrain' column, setting all to 'F'\n", - " warnings.warn(\"coefficient dataframe missing 'constrain' column, setting all to 'F'\")\n" + "/Users/jpn/Git/est-mode/activitysim/activitysim/estimation/larch/general.py:359: UserWarning: coefficient dataframe missing 'constrain' column, setting all to 'F'\n", + " warnings.warn(\n" ] } ], @@ -82,7 +129,12 @@ "modelname = \"stop_frequency\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "\n", + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -1195,10 +1247,10 @@ " coef_alternative_specific_constant_for_outboun...\n", " coef_alternative_specific_constant_for_outboun...\n", " coef_alternative_specific_constant_for_outboun...\n", - " -3.934\n", - " -3.934\n", - " -3.934\n", - " -3.934\n", + " coef_alternative_specific_constant_for_outboun...\n", + " coef_alternative_specific_constant_for_outboun...\n", + " coef_alternative_specific_constant_for_outboun...\n", + " coef_alternative_specific_constant_for_outboun...\n", " \n", " \n", " 40\n", @@ -1208,19 +1260,19 @@ " NaN\n", " coef_alternative_specific_constant_for_return_...\n", " coef_alternative_specific_constant_for_return_...\n", - " -2.139\n", + " coef_alternative_specific_constant_for_return_...\n", " NaN\n", " coef_alternative_specific_constant_for_return_...\n", " coef_alternative_specific_constant_for_return_...\n", - " -2.139\n", + " coef_alternative_specific_constant_for_return_...\n", " NaN\n", " coef_alternative_specific_constant_for_return_...\n", " coef_alternative_specific_constant_for_return_...\n", - " -2.139\n", + " coef_alternative_specific_constant_for_return_...\n", " NaN\n", " coef_alternative_specific_constant_for_return_...\n", " coef_alternative_specific_constant_for_return_...\n", - " -2.139\n", + " coef_alternative_specific_constant_for_return_...\n", " \n", " \n", " 41\n", @@ -1537,7 +1589,7 @@ "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", "39 NaN \n", - "40 -2.139 \n", + "40 coef_alternative_specific_constant_for_return_... \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour \n", "\n", @@ -1717,7 +1769,7 @@ "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", "39 coef_alternative_specific_constant_for_outboun... \n", - "40 -2.139 \n", + "40 coef_alternative_specific_constant_for_return_... \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour \n", "\n", @@ -1897,7 +1949,7 @@ "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", "39 coef_alternative_specific_constant_for_outboun... \n", - "40 -2.139 \n", + "40 coef_alternative_specific_constant_for_return_... \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour \n", "\n", @@ -1941,7 +1993,7 @@ "36 coef_dummy_for_distance_less_than_20_miles \n", "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", - "39 -3.934 \n", + "39 coef_alternative_specific_constant_for_outboun... \n", "40 NaN \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour \n", @@ -1986,7 +2038,7 @@ "36 coef_dummy_for_distance_less_than_20_miles \n", "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", - "39 -3.934 \n", + "39 coef_alternative_specific_constant_for_outboun... \n", "40 coef_alternative_specific_constant_for_return_... \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour \n", @@ -2031,7 +2083,7 @@ "36 coef_dummy_for_distance_less_than_20_miles \n", "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", - "39 -3.934 \n", + "39 coef_alternative_specific_constant_for_outboun... \n", "40 coef_alternative_specific_constant_for_return_... \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour \n", @@ -2076,8 +2128,8 @@ "36 coef_dummy_for_distance_less_than_20_miles \n", "37 coef_dummy_for_distance_in_miles \n", "38 coef_no_stops_if_tour_mode_is_drivetransit \n", - "39 -3.934 \n", - "40 -2.139 \n", + "39 coef_alternative_specific_constant_for_outboun... \n", + "40 coef_alternative_specific_constant_for_return_... \n", "41 coef_alternative_specific_constant_for_the_tot... \n", "42 coef_number_of_subtours_in_the_tour " ] @@ -2175,9 +2227,9 @@ " \n", " \n", " \n", - " 2961920\n", - " 0out_0in\n", - " 0out_0in\n", + " 2966594\n", + " 0out_1in\n", + " 0out_1in\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2191,17 +2243,17 @@ " False\n", " 0\n", " 0\n", + " 1\n", " 0\n", " 0\n", - " 0\n", - " 6.859067\n", - " 7.751024\n", - " 0\n", + " 6.446184\n", + " 6.869385\n", + " 1\n", " \n", " \n", - " 2970120\n", - " 2out_1in\n", - " 2out_1in\n", + " 2967783\n", + " 0out_0in\n", + " 0out_0in\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2218,12 +2270,12 @@ " 0\n", " 0\n", " 0\n", - " 0.000000\n", - " 0.000000\n", - " 1\n", + " 6.384615\n", + " 7.341247\n", + " 0\n", " \n", " \n", - " 2998943\n", + " 2968726\n", " 0out_0in\n", " 0out_0in\n", " 0.0\n", @@ -2236,19 +2288,19 @@ " 0.0\n", " ...\n", " False\n", - " False\n", + " True\n", " 0\n", " 0\n", - " 1\n", " 0\n", " 0\n", - " 6.024261\n", - " 7.519040\n", - " 2\n", + " 0\n", + " 5.447277\n", + " 6.565208\n", + " 1\n", " \n", " \n", - " 3013252\n", - " 0out_0in\n", + " 2970858\n", + " 1out_1in\n", " 0out_0in\n", " 0.0\n", " 0.0\n", @@ -2266,12 +2318,12 @@ " 0\n", " 0\n", " 0\n", - " 5.672122\n", - " 6.595380\n", + " 6.787018\n", + " 7.692237\n", " 1\n", " \n", " \n", - " 3015794\n", + " 2973728\n", " 0out_0in\n", " 0out_0in\n", " 0.0\n", @@ -2290,8 +2342,8 @@ " 0\n", " 0\n", " 0\n", - " 6.252582\n", - " 5.865708\n", + " 6.611336\n", + " 5.693881\n", " 3\n", " \n", " \n", @@ -2319,38 +2371,38 @@ " ...\n", " \n", " \n", - " 308070309\n", - " 0out_0in\n", + " 309081532\n", + " 2out_0in\n", " 0out_0in\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1.0\n", - " 0.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " ...\n", " False\n", - " True\n", - " 0\n", + " False\n", " 0\n", " 0\n", " 0\n", " 0\n", - " 8.181251\n", - " 8.326834\n", " 0\n", + " 4.619027\n", + " 6.475182\n", + " 3\n", " \n", " \n", - " 308073875\n", - " 1out_0in\n", - " 1out_0in\n", + " 309090634\n", + " 0out_1in\n", + " 0out_0in\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1.0\n", - " 1.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2362,14 +2414,14 @@ " 0\n", " 0\n", " 0\n", - " 0.000000\n", - " 0.000000\n", - " 2\n", + " 4.800090\n", + " 6.198316\n", + " 1\n", " \n", " \n", - " 308090603\n", - " 0out_0in\n", + " 309101950\n", " 0out_0in\n", + " 1out_1in\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2386,22 +2438,22 @@ " 0\n", " 0\n", " 0\n", - " 7.629996\n", - " 7.282405\n", + " 0.000000\n", + " 0.000000\n", " 1\n", " \n", " \n", - " 308105896\n", + " 309107362\n", " 0out_0in\n", " 0out_0in\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1.0\n", - " 0.0\n", " 1.0\n", " 0.0\n", " 0.0\n", + " 0.0\n", " ...\n", " False\n", " False\n", @@ -2410,181 +2462,181 @@ " 0\n", " 0\n", " 0\n", - " 7.149388\n", - " 6.679189\n", - " 2\n", + " 0.000000\n", + " 0.000000\n", + " 4\n", " \n", " \n", - " 308122624\n", + " 309112036\n", " 0out_0in\n", " 0out_0in\n", " 0.0\n", " 0.0\n", " 0.0\n", " 1.0\n", - " 0.0\n", " 1.0\n", " 0.0\n", " 0.0\n", + " 0.0\n", " ...\n", " False\n", " False\n", " 0\n", " 0\n", + " 1\n", " 0\n", " 0\n", - " 0\n", - " 5.117139\n", - " 7.355598\n", - " 0\n", + " 0.000000\n", + " 0.000000\n", + " 4\n", " \n", " \n", "\n", - "

2124 rows × 220 columns

\n", + "

22637 rows × 220 columns

\n", "" ], "text/plain": [ " model_choice override_choice util_middle_to_low_income_hh \\\n", "tour_id \n", - "2961920 0out_0in 0out_0in 0.0 \n", - "2970120 2out_1in 2out_1in 0.0 \n", - "2998943 0out_0in 0out_0in 0.0 \n", - "3013252 0out_0in 0out_0in 0.0 \n", - "3015794 0out_0in 0out_0in 0.0 \n", + "2966594 0out_1in 0out_1in 0.0 \n", + "2967783 0out_0in 0out_0in 0.0 \n", + "2968726 0out_0in 0out_0in 0.0 \n", + "2970858 1out_1in 0out_0in 0.0 \n", + "2973728 0out_0in 0out_0in 0.0 \n", "... ... ... ... \n", - "308070309 0out_0in 0out_0in 0.0 \n", - "308073875 1out_0in 1out_0in 0.0 \n", - "308090603 0out_0in 0out_0in 0.0 \n", - "308105896 0out_0in 0out_0in 0.0 \n", - "308122624 0out_0in 0out_0in 0.0 \n", + "309081532 2out_0in 0out_0in 0.0 \n", + "309090634 0out_1in 0out_0in 0.0 \n", + "309101950 0out_0in 1out_1in 0.0 \n", + "309107362 0out_0in 0out_0in 0.0 \n", + "309112036 0out_0in 0out_0in 0.0 \n", "\n", " util_mid_to_high_income_hh util_high_income_hh \\\n", "tour_id \n", - "2961920 0.0 0.0 \n", - "2970120 0.0 0.0 \n", - "2998943 0.0 0.0 \n", - "3013252 0.0 0.0 \n", - "3015794 0.0 0.0 \n", + "2966594 0.0 0.0 \n", + "2967783 0.0 0.0 \n", + "2968726 0.0 0.0 \n", + "2970858 0.0 0.0 \n", + "2973728 0.0 0.0 \n", "... ... ... \n", - "308070309 0.0 0.0 \n", - "308073875 0.0 0.0 \n", - "308090603 0.0 0.0 \n", - "308105896 0.0 0.0 \n", - "308122624 0.0 0.0 \n", + "309081532 0.0 0.0 \n", + "309090634 0.0 0.0 \n", + "309101950 0.0 0.0 \n", + "309107362 0.0 0.0 \n", + "309112036 0.0 0.0 \n", "\n", " util_number_of_hh_persons util_number_of_full_time_workers_in_hh \\\n", "tour_id \n", - "2961920 1.0 1.0 \n", - "2970120 1.0 1.0 \n", - "2998943 1.0 1.0 \n", - "3013252 1.0 1.0 \n", - "3015794 1.0 0.0 \n", + "2966594 1.0 1.0 \n", + "2967783 1.0 1.0 \n", + "2968726 1.0 1.0 \n", + "2970858 1.0 1.0 \n", + "2973728 1.0 0.0 \n", "... ... ... \n", - "308070309 1.0 0.0 \n", - "308073875 1.0 1.0 \n", - "308090603 1.0 1.0 \n", - "308105896 1.0 0.0 \n", - "308122624 1.0 0.0 \n", + "309081532 1.0 1.0 \n", + "309090634 1.0 0.0 \n", + "309101950 1.0 1.0 \n", + "309107362 1.0 1.0 \n", + "309112036 1.0 1.0 \n", "\n", " util_number_of_students_in_hh \\\n", "tour_id \n", - "2961920 0.0 \n", - "2970120 0.0 \n", - "2998943 0.0 \n", - "3013252 0.0 \n", - "3015794 0.0 \n", + "2966594 0.0 \n", + "2967783 0.0 \n", + "2968726 0.0 \n", + "2970858 0.0 \n", + "2973728 0.0 \n", "... ... \n", - "308070309 0.0 \n", - "308073875 0.0 \n", - "308090603 0.0 \n", - "308105896 1.0 \n", - "308122624 1.0 \n", + "309081532 0.0 \n", + "309090634 0.0 \n", + "309101950 0.0 \n", + "309107362 0.0 \n", + "309112036 0.0 \n", "\n", " util_num_kids_between_0_and_4_including_years_old \\\n", "tour_id \n", - "2961920 0.0 \n", - "2970120 0.0 \n", - "2998943 0.0 \n", - "3013252 0.0 \n", - "3015794 0.0 \n", + "2966594 0.0 \n", + "2967783 0.0 \n", + "2968726 0.0 \n", + "2970858 0.0 \n", + "2973728 0.0 \n", "... ... \n", - "308070309 0.0 \n", - "308073875 0.0 \n", - "308090603 0.0 \n", - "308105896 0.0 \n", - "308122624 0.0 \n", + "309081532 0.0 \n", + "309090634 0.0 \n", + "309101950 0.0 \n", + "309107362 0.0 \n", + "309112036 0.0 \n", "\n", " util_presence_of_kids_between_0_and_4_including_years_old ... \\\n", "tour_id ... \n", - "2961920 0.0 ... \n", - "2970120 0.0 ... \n", - "2998943 0.0 ... \n", - "3013252 0.0 ... \n", - "3015794 0.0 ... \n", + "2966594 0.0 ... \n", + "2967783 0.0 ... \n", + "2968726 0.0 ... \n", + "2970858 0.0 ... \n", + "2973728 0.0 ... \n", "... ... ... \n", - "308070309 0.0 ... \n", - "308073875 0.0 ... \n", - "308090603 0.0 ... \n", - "308105896 0.0 ... \n", - "308122624 0.0 ... \n", + "309081532 0.0 ... \n", + "309090634 0.0 ... \n", + "309101950 0.0 ... \n", + "309107362 0.0 ... \n", + "309112036 0.0 ... \n", "\n", " tour_mode_is_drive_transit tour_mode_is_non_motorized \\\n", "tour_id \n", - "2961920 False False \n", - "2970120 False False \n", - "2998943 False False \n", - "3013252 False False \n", - "3015794 False False \n", + "2966594 False False \n", + "2967783 False False \n", + "2968726 False True \n", + "2970858 False False \n", + "2973728 False False \n", "... ... ... \n", - "308070309 False True \n", - "308073875 False False \n", - "308090603 False False \n", - "308105896 False False \n", - "308122624 False False \n", + "309081532 False False \n", + "309090634 False False \n", + "309101950 False False \n", + "309107362 False False \n", + "309112036 False False \n", "\n", " num_school_tours num_univ_tours num_atwork_subtours \\\n", "tour_id \n", - "2961920 0 0 0 \n", - "2970120 0 0 0 \n", - "2998943 0 0 1 \n", - "3013252 0 0 0 \n", - "3015794 0 0 0 \n", + "2966594 0 0 1 \n", + "2967783 0 0 0 \n", + "2968726 0 0 0 \n", + "2970858 0 0 0 \n", + "2973728 0 0 0 \n", "... ... ... ... \n", - "308070309 0 0 0 \n", - "308073875 0 0 0 \n", - "308090603 0 0 0 \n", - "308105896 0 0 0 \n", - "308122624 0 0 0 \n", + "309081532 0 0 0 \n", + "309090634 0 0 0 \n", + "309101950 0 0 0 \n", + "309107362 0 0 0 \n", + "309112036 0 0 1 \n", "\n", " num_hh_shop_tours num_hh_maint_tours hhacc pracc \\\n", "tour_id \n", - "2961920 0 0 6.859067 7.751024 \n", - "2970120 0 0 0.000000 0.000000 \n", - "2998943 0 0 6.024261 7.519040 \n", - "3013252 0 0 5.672122 6.595380 \n", - "3015794 0 0 6.252582 5.865708 \n", + "2966594 0 0 6.446184 6.869385 \n", + "2967783 0 0 6.384615 7.341247 \n", + "2968726 0 0 5.447277 6.565208 \n", + "2970858 0 0 6.787018 7.692237 \n", + "2973728 0 0 6.611336 5.693881 \n", "... ... ... ... ... \n", - "308070309 0 0 8.181251 8.326834 \n", - "308073875 0 0 0.000000 0.000000 \n", - "308090603 0 0 7.629996 7.282405 \n", - "308105896 0 0 7.149388 6.679189 \n", - "308122624 0 0 5.117139 7.355598 \n", + "309081532 0 0 4.619027 6.475182 \n", + "309090634 0 0 4.800090 6.198316 \n", + "309101950 0 0 0.000000 0.000000 \n", + "309107362 0 0 0.000000 0.000000 \n", + "309112036 0 0 0.000000 0.000000 \n", "\n", " destination_area_type \n", "tour_id \n", - "2961920 0 \n", - "2970120 1 \n", - "2998943 2 \n", - "3013252 1 \n", - "3015794 3 \n", + "2966594 1 \n", + "2967783 0 \n", + "2968726 1 \n", + "2970858 1 \n", + "2973728 3 \n", "... ... \n", - "308070309 0 \n", - "308073875 2 \n", - "308090603 1 \n", - "308105896 2 \n", - "308122624 0 \n", + "309081532 3 \n", + "309090634 1 \n", + "309101950 1 \n", + "309107362 4 \n", + "309112036 4 \n", "\n", - "[2124 rows x 220 columns]" + "[22637 rows x 220 columns]" ] }, "execution_count": 7, @@ -2610,26 +2662,10 @@ "execution_count": 8, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ - "

Iteration 130 [Optimization terminated successfully]

" + "

Iteration 081 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -2641,7 +2677,7 @@ { "data": { "text/html": [ - "

Best LL = -6094.555918549999

" + "

Best LL = -78188.35046478933

" ], "text/plain": [ "" @@ -2672,70 +2708,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " -2.139\n", - " -2.139000\n", - " -2.139\n", - " -2.139\n", - " -2.139\n", - " -2.139\n", - " 1\n", - " \n", - " -2.139000\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in\n", + " -0.817659\n", + " -0.817659\n", + " -0.833\n", + " -inf\n", + " inf\n", + " 0.0\n", + " 0\n", " \n", " \n", - " -3.934\n", - " -3.934000\n", - " -3.934\n", - " -3.934\n", - " -3.934\n", - " -3.934\n", - " 1\n", - " \n", - " -3.934000\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork\n", + " -3.857785\n", + " -3.857785\n", + " -3.896\n", + " -inf\n", + " inf\n", + " 0.0\n", + " 0\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in\n", - " -0.741225\n", - " -0.833\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout\n", + " -2.243908\n", + " -2.243908\n", + " -2.190\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " -0.741225\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in\n", - " -2.594489\n", - " -2.613\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort\n", + " -2.254734\n", + " -2.254734\n", + " -2.173\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " -2.594489\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in\n", - " -0.447476\n", - " -0.445\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr\n", + " -1.509245\n", + " -1.509245\n", + " -1.581\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " -0.447476\n", " \n", " \n", " ...\n", @@ -2746,122 +2786,120 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", " coef_primary_destination_accessibility_log_of_it_\n", - " 0.170704\n", + " 0.191205\n", + " 0.191205\n", " 0.180\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " 0.170704\n", " \n", " \n", " coef_subtour_departure_less_than_or_equal_to_11am\n", - " 0.266339\n", + " 0.352247\n", + " 0.352247\n", " 0.310\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " 0.266339\n", " \n", " \n", " coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_\n", - " -0.152384\n", + " 0.023141\n", + " 0.023141\n", " 0.020\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " -0.152384\n", " \n", " \n", " coef_subtour_duration_in_hours_integer_\n", - " 0.681811\n", + " 0.555413\n", + " 0.555413\n", " 0.560\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " 0.681811\n", " \n", " \n", " coef_subtour_return_time_greater_or_equal_to_2pm\n", - " 1.549569\n", + " 0.206446\n", + " 0.206446\n", " 0.340\n", - " 0.000\n", - " NaN\n", - " NaN\n", + " -inf\n", + " inf\n", + " 0.0\n", " 0\n", - " \n", - " 1.549569\n", " \n", " \n", "\n", - "

188 rows × 8 columns

\n", + "

188 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue \\\n", - "-2.139 -2.139000 -2.139 \n", - "-3.934 -3.934000 -3.934 \n", - "coef_alternative_specific_constant_for_outbound... -0.741225 -0.833 \n", - "coef_alternative_specific_constant_for_outbound... -2.594489 -2.613 \n", - "coef_alternative_specific_constant_for_return_s... -0.447476 -0.445 \n", - "... ... ... \n", - "coef_primary_destination_accessibility_log_of_it_ 0.170704 0.180 \n", - "coef_subtour_departure_less_than_or_equal_to_11am 0.266339 0.310 \n", - "coef_subtour_distance_in_miles_from_tour_destin... -0.152384 0.020 \n", - "coef_subtour_duration_in_hours_integer_ 0.681811 0.560 \n", - "coef_subtour_return_time_greater_or_equal_to_2pm 1.549569 0.340 \n", + " value best \\\n", + "param_name \n", + "coef_alternative_specific_constant_for_outbound... -0.817659 -0.817659 \n", + "coef_alternative_specific_constant_for_outbound... -3.857785 -3.857785 \n", + "coef_alternative_specific_constant_for_outbound... -2.243908 -2.243908 \n", + "coef_alternative_specific_constant_for_outbound... -2.254734 -2.254734 \n", + "coef_alternative_specific_constant_for_outbound... -1.509245 -1.509245 \n", + "... ... ... \n", + "coef_primary_destination_accessibility_log_of_it_ 0.191205 0.191205 \n", + "coef_subtour_departure_less_than_or_equal_to_11am 0.352247 0.352247 \n", + "coef_subtour_distance_in_miles_from_tour_destin... 0.023141 0.023141 \n", + "coef_subtour_duration_in_hours_integer_ 0.555413 0.555413 \n", + "coef_subtour_return_time_greater_or_equal_to_2pm 0.206446 0.206446 \n", "\n", - " nullvalue minimum \\\n", - "-2.139 -2.139 -2.139 \n", - "-3.934 -3.934 -3.934 \n", - "coef_alternative_specific_constant_for_outbound... 0.000 NaN \n", - "coef_alternative_specific_constant_for_outbound... 0.000 NaN \n", - "coef_alternative_specific_constant_for_return_s... 0.000 NaN \n", + " initvalue minimum \\\n", + "param_name \n", + "coef_alternative_specific_constant_for_outbound... -0.833 -inf \n", + "coef_alternative_specific_constant_for_outbound... -3.896 -inf \n", + "coef_alternative_specific_constant_for_outbound... -2.190 -inf \n", + "coef_alternative_specific_constant_for_outbound... -2.173 -inf \n", + "coef_alternative_specific_constant_for_outbound... -1.581 -inf \n", "... ... ... \n", - "coef_primary_destination_accessibility_log_of_it_ 0.000 NaN \n", - "coef_subtour_departure_less_than_or_equal_to_11am 0.000 NaN \n", - "coef_subtour_distance_in_miles_from_tour_destin... 0.000 NaN \n", - "coef_subtour_duration_in_hours_integer_ 0.000 NaN \n", - "coef_subtour_return_time_greater_or_equal_to_2pm 0.000 NaN \n", + "coef_primary_destination_accessibility_log_of_it_ 0.180 -inf \n", + "coef_subtour_departure_less_than_or_equal_to_11am 0.310 -inf \n", + "coef_subtour_distance_in_miles_from_tour_destin... 0.020 -inf \n", + "coef_subtour_duration_in_hours_integer_ 0.560 -inf \n", + "coef_subtour_return_time_greater_or_equal_to_2pm 0.340 -inf \n", "\n", - " maximum holdfast note \\\n", - "-2.139 -2.139 1 \n", - "-3.934 -3.934 1 \n", - "coef_alternative_specific_constant_for_outbound... NaN 0 \n", - "coef_alternative_specific_constant_for_outbound... NaN 0 \n", - "coef_alternative_specific_constant_for_return_s... NaN 0 \n", - "... ... ... ... \n", - "coef_primary_destination_accessibility_log_of_it_ NaN 0 \n", - "coef_subtour_departure_less_than_or_equal_to_11am NaN 0 \n", - "coef_subtour_distance_in_miles_from_tour_destin... NaN 0 \n", - "coef_subtour_duration_in_hours_integer_ NaN 0 \n", - "coef_subtour_return_time_greater_or_equal_to_2pm NaN 0 \n", + " maximum nullvalue \\\n", + "param_name \n", + "coef_alternative_specific_constant_for_outbound... inf 0.0 \n", + "coef_alternative_specific_constant_for_outbound... inf 0.0 \n", + "coef_alternative_specific_constant_for_outbound... inf 0.0 \n", + "coef_alternative_specific_constant_for_outbound... inf 0.0 \n", + "coef_alternative_specific_constant_for_outbound... inf 0.0 \n", + "... ... ... \n", + "coef_primary_destination_accessibility_log_of_it_ inf 0.0 \n", + "coef_subtour_departure_less_than_or_equal_to_11am inf 0.0 \n", + "coef_subtour_distance_in_miles_from_tour_destin... inf 0.0 \n", + "coef_subtour_duration_in_hours_integer_ inf 0.0 \n", + "coef_subtour_return_time_greater_or_equal_to_2pm inf 0.0 \n", "\n", - " best \n", - "-2.139 -2.139000 \n", - "-3.934 -3.934000 \n", - "coef_alternative_specific_constant_for_outbound... -0.741225 \n", - "coef_alternative_specific_constant_for_outbound... -2.594489 \n", - "coef_alternative_specific_constant_for_return_s... -0.447476 \n", + " holdfast \n", + "param_name \n", + "coef_alternative_specific_constant_for_outbound... 0 \n", + "coef_alternative_specific_constant_for_outbound... 0 \n", + "coef_alternative_specific_constant_for_outbound... 0 \n", + "coef_alternative_specific_constant_for_outbound... 0 \n", + "coef_alternative_specific_constant_for_outbound... 0 \n", "... ... \n", - "coef_primary_destination_accessibility_log_of_it_ 0.170704 \n", - "coef_subtour_departure_less_than_or_equal_to_11am 0.266339 \n", - "coef_subtour_distance_in_miles_from_tour_destin... -0.152384 \n", - "coef_subtour_duration_in_hours_integer_ 0.681811 \n", - "coef_subtour_return_time_greater_or_equal_to_2pm 1.549569 \n", + "coef_primary_destination_accessibility_log_of_it_ 0 \n", + "coef_subtour_departure_less_than_or_equal_to_11am 0 \n", + "coef_subtour_distance_in_miles_from_tour_destin... 0 \n", + "coef_subtour_duration_in_hours_integer_ 0 \n", + "coef_subtour_return_time_greater_or_equal_to_2pm 0 \n", "\n", - "[188 rows x 8 columns]" + "[188 rows x 7 columns]" ] }, "metadata": {}, @@ -2871,10 +2909,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate(method='SLSQP', options={\"maxiter\": 1000})\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 3.0254868525048906e-31 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/optimization.py:338: UserWarning: SLSQP may not play nicely with unbounded parameters\n", + "if you get poor results, consider setting global bounds with model.set_cap()\n", + " warnings.warn( # infinite bounds # )\n" ] }, { @@ -2889,3290 +2926,3126 @@ " \n", " \n", " \n", - " -2.139\n", - " -2.139000\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in\n", + " -0.817659\n", " \n", " \n", - " -3.934\n", - " -3.934000\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork\n", + " -3.857785\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in\n", - " -0.741225\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout\n", + " -2.243908\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in\n", - " -2.594489\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort\n", + " -2.254734\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in\n", - " -0.447476\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr\n", + " -1.509245\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in\n", - " -1.657817\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint\n", + " -1.850181\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in\n", - " 0.039441\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_school\n", + " -2.103501\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in\n", - " 0.754748\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping\n", + " -1.374719\n", " \n", " \n", - " coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours\n", - " -1.998832\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_social\n", + " -1.100007\n", " \n", " \n", - " coef_dummy_for_all_stops_made_by_transit\n", - " -0.672704\n", + " coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ\n", + " -2.583745\n", " \n", " \n", - " coef_dummy_for_distance_in_miles\n", - " 0.043974\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in\n", + " -2.553493\n", " \n", " \n", - " coef_dummy_for_distance_less_than_20_miles\n", - " -0.588175\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork\n", + " -5.670203\n", " \n", " \n", - " coef_dummy_for_female\n", - " 0.282632\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout\n", + " -4.501523\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours\n", - " 0.713048\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort\n", + " -4.225203\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops\n", - " -1.491072\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr\n", + " -3.357879\n", " \n", " \n", - " coef_evening_arrival_19_00_interacted_with_return_tours\n", - " 0.606441\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint\n", + " -3.532505\n", " \n", " \n", - " coef_high_income_hh\n", - " 0.240000\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_school\n", + " -3.932072\n", " \n", " \n", - " coef_mid_to_high_income_hh\n", - " 0.230000\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping\n", + " -3.001964\n", " \n", " \n", - " coef_middle_to_low_income_hh\n", - " 0.170000\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_social\n", + " -2.787392\n", " \n", " \n", - " coef_no_stops_if_tour_mode_is_drivetransit\n", - " -999.000000\n", + " coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ\n", + " -3.625877\n", " \n", " \n", - " coef_num_kids_between_5_and_15_including_years_old\n", - " 0.089718\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in\n", + " -3.914672\n", " \n", " \n", - " coef_number_of_adults_16_years_old_\n", - " 0.074203\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_atwork\n", + " -7.451244\n", " \n", " \n", - " coef_number_of_cars_number_of_workers\n", - " -0.065713\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout\n", + " -5.213504\n", " \n", " \n", - " coef_number_of_escort_tours_tours_undertaken_by_the_person\n", - " 0.097792\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort\n", + " -4.713943\n", " \n", " \n", - " coef_number_of_hh_persons\n", - " -0.328159\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr\n", + " -4.262005\n", " \n", " \n", - " coef_number_of_school_tours_tours_undertaken_by_the_person\n", - " 0.130473\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint\n", + " -5.370287\n", " \n", " \n", - " coef_number_of_shop_tours_undertaken_by_the_houshold\n", - " -0.328294\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_school\n", + " -5.865306\n", " \n", " \n", - " coef_number_of_students_in_hh\n", - " 0.315297\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping\n", + " -4.443339\n", " \n", " \n", - " coef_number_of_subtours_in_the_tour\n", - " 0.337091\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_social\n", + " -4.476231\n", " \n", " \n", - " coef_number_of_university_tours_tours_undertaken_by_the_person\n", - " -0.480000\n", + " coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ\n", + " -5.123628\n", " \n", " \n", - " coef_number_of_work_tours_undertaken_by_the_person\n", - " -0.174762\n", + " coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in\n", + " -1.861054\n", " \n", " \n", - " coef_presence_of_kids_between_0_and_4_including_years_old\n", - " 0.557476\n", + " coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in\n", + " -4.027317\n", " \n", " \n", - " coef_presence_of_kids_between_5_and_15_including_years_old\n", - " 0.117544\n", + " coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in\n", + " -5.079709\n", " \n", " \n", - " -2.672\n", - " -2.672000\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in\n", + " -0.422070\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_school\n", - " -1.768772\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_atwork\n", + " -3.667812\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_school\n", - " -4.305875\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_eatout\n", + " -1.667177\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_school\n", - " -6.209404\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_escort\n", + " -0.883632\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_school\n", - " -1.229114\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_othdiscr\n", + " -0.944455\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_3in_school\n", - " -3.185728\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint\n", + " -0.606891\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in\n", - " 1.573277\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_school\n", + " -1.203184\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school\n", - " 2.178796\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_shopping\n", + " -1.155398\n", " \n", " \n", - " coef_arrival_later_than_17_00_\n", - " 1.373657\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_social\n", + " -1.262568\n", " \n", " \n", - " coef_dummy_for_distance_in_miles_school\n", - " 0.092023\n", + " coef_alternative_specific_constant_for_return_stops_0out_1in_univ\n", + " -1.892703\n", " \n", " \n", - " coef_dummy_for_female_school\n", - " 0.687687\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in\n", + " -1.737740\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_\n", - " 1.904120\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_atwork\n", + " -5.352597\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops_school\n", - " -1.525112\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_eatout\n", + " -3.384664\n", " \n", " \n", - " coef_number_of_cars_number_of_workers_school\n", - " 0.282408\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_escort\n", + " -2.356788\n", " \n", " \n", - " coef_number_of_escort_tours_tours_undertaken_by_the_person_school\n", - " 2.320226\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr\n", + " -2.247941\n", " \n", " \n", - " coef_number_of_hh_persons_school\n", - " -0.602730\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint\n", + " -1.549591\n", " \n", " \n", - " coef_presence_of_kids_between_5_and_15_including_years_old_school\n", - " 0.021083\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_school\n", + " -2.618009\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ\n", - " -2.211722\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_shopping\n", + " -2.252362\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ\n", - " -4.042853\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_social\n", + " -2.751879\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ\n", - " -4.641257\n", + " coef_alternative_specific_constant_for_return_stops_0out_2in_univ\n", + " -3.564173\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_univ\n", - " -1.574239\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in\n", + " -2.056255\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_univ\n", - " -3.434788\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_atwork\n", + " -6.484627\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_3in_univ\n", - " -3.860338\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_eatout\n", + " -4.733147\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ\n", - " 2.019764\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr\n", + " -2.820768\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ\n", - " 2.117237\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_othmaint\n", + " -2.348697\n", " \n", " \n", - " coef_arrival_later_than_17_00__univ\n", - " 0.397767\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_school\n", + " -3.360598\n", " \n", " \n", - " coef_dummy_for_female_univ\n", - " 0.527348\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_shopping\n", + " -3.086157\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ\n", - " 1.086324\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_social\n", + " -3.617917\n", " \n", " \n", - " coef_hh_accesibility_for_inbound_tours_interaction\n", - " 0.243672\n", + " coef_alternative_specific_constant_for_return_stops_0out_3in_univ\n", + " -3.549561\n", " \n", " \n", - " coef_number_of_escort_tours_tours_undertaken_by_the_person_univ\n", - " 1.858956\n", + " coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in\n", + " -1.349229\n", " \n", " \n", - " coef_number_of_hh_persons_univ\n", - " -0.326432\n", + " coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in\n", + " -3.006175\n", " \n", " \n", - " coef_number_of_vehicles\n", - " 0.265859\n", + " coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in\n", + " -3.092591\n", " \n", " \n", - " coef_presence_of_kids_between_5_and_15_including_years_old_univ\n", - " -0.061482\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in\n", + " -0.033904\n", " \n", " \n", - " -1.783\n", - " -1.783000\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in\n", + " 0.619994\n", " \n", " \n", - " -2.874\n", - " -2.874000\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork\n", + " 2.196478\n", " \n", " \n", - " -3.379\n", - " -3.379000\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout\n", + " 0.956558\n", " \n", " \n", - " 1.497\n", - " 1.497000\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr\n", + " 0.779563\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_social\n", - " -1.292414\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint\n", + " 0.525190\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_social\n", - " -42.649173\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping\n", + " 0.518875\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in\n", - " -4.158467\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social\n", + " 0.620383\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in\n", - " -28.920114\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ\n", + " 1.218010\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_social\n", - " 0.474303\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in\n", + " 0.555526\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_social\n", - " -2.400345\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout\n", + " 1.979106\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_3in_social\n", - " -3.106704\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort\n", + " -1.796251\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in\n", - " -1.489538\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othdiscr\n", + " 1.148950\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in\n", - " -3.529456\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint\n", + " 0.489201\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social\n", - " 2.605627\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school\n", + " 1.203689\n", + " \n", + " \n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping\n", + " 0.411626\n", " \n", " \n", " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social\n", - " -9.808088\n", + " 0.866347\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in\n", - " -0.168353\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ\n", + " 1.958267\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in\n", - " -26.078121\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in\n", + " -0.057283\n", " \n", " \n", - " coef_arrival_later_than_17_00__social\n", - " -0.470057\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in\n", + " 0.608179\n", " \n", " \n", - " coef_at_least_one_kid_and_one_adult_participate_in_the_tour\n", - " 2.116069\n", + " coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in\n", + " 1.429603\n", " \n", " \n", - " coef_dummy_for_a_return_visiting_tour\n", - " -1.746712\n", + " coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours\n", + " -1.913742\n", " \n", " \n", - " coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg\n", - " 0.344025\n", + " coef_arrival_later_than_17_00_\n", + " 1.839504\n", " \n", " \n", - " coef_dummy_for_an_outbound_visiting_tour\n", - " -0.742278\n", + " coef_arrival_later_than_17_00__othdiscr\n", + " -0.637546\n", " \n", " \n", - " coef_dummy_for_distance_in_miles_social\n", - " -0.078778\n", + " coef_arrival_later_than_17_00__social\n", + " -0.708359\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_\n", - " 1.141918\n", + " coef_arrival_later_than_17_00__univ\n", + " 0.352924\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops_social\n", - " -2.087075\n", + " coef_at_least_one_kid_and_one_adult_participate_in_the_tour\n", + " 0.598380\n", " \n", " \n", - " coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction\n", - " -0.027490\n", + " coef_dummy_for_a_return_visiting_tour\n", + " -0.542418\n", " \n", " \n", - " coef_number_of_shop_tours_undertaken_by_the_person\n", - " -0.177893\n", + " coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg\n", + " 0.637918\n", " \n", " \n", - " coef_number_of_vehicles_social\n", - " -0.154123\n", + " coef_dummy_for_all_stops_made_by_transit\n", + " -0.698140\n", " \n", " \n", - " coef_number_of_work_tours_undertaken_by_the_person_social\n", - " -0.010226\n", + " coef_dummy_for_an_outbound_visiting_tour\n", + " -0.547383\n", " \n", " \n", - " -3.024\n", - " -3.024000\n", + " coef_dummy_for_distance_in_miles\n", + " 0.008199\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping\n", - " -1.491871\n", + " coef_dummy_for_distance_in_miles_othdiscr\n", + " -0.016398\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping\n", - " -3.340709\n", + " coef_dummy_for_distance_in_miles_othmaint\n", + " 0.024622\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping\n", - " -4.537979\n", + " coef_dummy_for_distance_in_miles_school\n", + " 0.048727\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_shopping\n", - " -1.234250\n", + " coef_dummy_for_distance_in_miles_shopping\n", + " 0.042050\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_shopping\n", - " -2.580404\n", + " coef_dummy_for_distance_in_miles_social\n", + " -0.011161\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping\n", - " 0.585255\n", + " coef_dummy_for_distance_less_than_10_miles_\n", + " 0.311571\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping\n", - " -0.015580\n", + " coef_dummy_for_distance_less_than_20_miles\n", + " -0.209813\n", " \n", " \n", - " coef_dummy_for_distance_in_miles_shopping\n", - " 0.021405\n", + " coef_dummy_for_distance_less_than_20_miles_\n", + " -0.403250\n", " \n", " \n", " coef_dummy_for_distance_less_than_5_miles\n", - " 0.152609\n", + " 0.391002\n", " \n", " \n", - " coef_dummy_for_female_shopping\n", - " 0.339336\n", + " coef_dummy_for_distance_less_than_5_miles_escort\n", + " 0.287884\n", " \n", " \n", - " coef_dummy_for_only_adults_participate_in_the_tour\n", - " 1.542207\n", + " coef_dummy_for_female\n", + " 0.231116\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping\n", - " 3.102092\n", + " coef_dummy_for_female_othmaint\n", + " 0.298798\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops_shopping\n", - " -1.883904\n", + " coef_dummy_for_female_school\n", + " 0.518603\n", " \n", " \n", - " coef_num_kids_between_5_and_15_including_years_old_shopping\n", - " -0.047846\n", + " coef_dummy_for_female_shopping\n", + " 0.199726\n", " \n", " \n", - " coef_number_of_hh_persons_shopping\n", - " -0.086986\n", + " coef_dummy_for_female_univ\n", + " 0.539334\n", " \n", " \n", - " coef_number_of_maintenace_tours_tours_undertaken_by_the_person\n", - " -0.325799\n", + " coef_dummy_for_only_adults_participate_in_the_tour\n", + " 0.241206\n", " \n", " \n", - " coef_number_of_shop_tours_undertaken_by_the_houshold_shopping\n", - " 0.147901\n", + " coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_\n", + " 0.270000\n", " \n", " \n", - " coef_number_of_university_tours_tours_undertaken_by_the_person_shopping\n", - " -0.670900\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours\n", + " 0.629566\n", " \n", " \n", - " coef_number_of_work_tours_undertaken_by_the_person_shopping\n", - " -0.437195\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_\n", + " 1.296845\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout\n", - " -1.879526\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_\n", + " 0.935859\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout\n", - " -32.613372\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort\n", + " 0.468894\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout\n", - " -3.738703\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr\n", + " 0.843539\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_eatout\n", - " -1.687121\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint\n", + " 0.103716\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_eatout\n", - " -3.033355\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping\n", + " 1.035541\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_3in_eatout\n", - " -4.837278\n", + " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ\n", + " 0.771998\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout\n", - " -31.986519\n", + " coef_dummy_for_walking_to_all_stops\n", + " -1.590379\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout\n", - " -30.916248\n", + " coef_dummy_for_walking_to_all_stops_escort\n", + " -2.041910\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort\n", - " -2.225477\n", + " coef_dummy_for_walking_to_all_stops_othdiscr\n", + " -2.338073\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort\n", - " -4.857476\n", + " coef_dummy_for_walking_to_all_stops_othmaint\n", + " -1.321421\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort\n", - " -4.792453\n", + " coef_dummy_for_walking_to_all_stops_school\n", + " -2.074837\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_escort\n", - " -1.279087\n", + " coef_dummy_for_walking_to_all_stops_shopping\n", + " -1.462311\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_escort\n", - " -2.459341\n", + " coef_dummy_for_walking_to_all_stops_social\n", + " -1.649814\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort\n", - " -12.346112\n", + " coef_evening_arrival_19_00_interacted_with_return_tours\n", + " 0.297829\n", " \n", " \n", - " coef_dummy_for_distance_less_than_5_miles_escort\n", - " 0.269808\n", + " coef_hh_accesibility_for_inbound_tours_interaction\n", + " 0.258426\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort\n", - " 1.398712\n", + " coef_high_income_hh\n", + " 0.240000\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops_escort\n", - " -0.340611\n", + " coef_mid_to_high_income_hh\n", + " 0.230000\n", " \n", " \n", - " coef_number_of_escort_tours_tours_undertaken_by_the_person_escort\n", - " -0.260209\n", + " coef_middle_to_low_income_hh\n", + " 0.170000\n", " \n", " \n", - " coef_number_of_hh_persons_escort\n", - " -0.178510\n", + " coef_middle_to_low_income_hh_\n", + " 0.170000\n", " \n", " \n", - " coef_number_of_students_in_hh_escort\n", - " 0.160886\n", + " coef_middle_to_low_income_hh__atwork\n", + " 0.369298\n", " \n", " \n", - " coef_number_of_work_tours_undertaken_by_the_person_escort\n", - " -0.157913\n", + " coef_no_stops_if_tour_mode_is_drivetransit\n", + " -999.000000\n", " \n", " \n", - " -2.462\n", - " -2.462000\n", + " coef_num_kids_between_5_and_15_including_years_old\n", + " 0.083356\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint\n", - " -2.122249\n", + " coef_num_kids_between_5_and_15_including_years_old_shopping\n", + " 0.033141\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint\n", - " -3.470020\n", + " coef_number_of_adults_16_years_old_\n", + " 0.006177\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint\n", - " -4.230867\n", + " coef_number_of_cars_number_of_workers\n", + " 0.195317\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint\n", - " -0.833758\n", + " coef_number_of_cars_number_of_workers_school\n", + " 0.630311\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint\n", - " -1.186628\n", + " coef_number_of_eating_tours_tours_undertaken_by_the_person\n", + " -0.424859\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint\n", - " 0.315206\n", + " coef_number_of_escort_tours_tours_undertaken_by_the_person\n", + " 0.285502\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint\n", - " -31.005508\n", + " coef_number_of_escort_tours_tours_undertaken_by_the_person_escort\n", + " -0.077934\n", " \n", " \n", - " coef_dummy_for_distance_in_miles_othmaint\n", - " 0.102023\n", + " coef_number_of_escort_tours_tours_undertaken_by_the_person_school\n", + " 1.290196\n", " \n", " \n", - " coef_dummy_for_distance_less_than_20_miles_\n", - " -0.621770\n", + " coef_number_of_escort_tours_tours_undertaken_by_the_person_univ\n", + " 0.984566\n", " \n", " \n", - " coef_dummy_for_female_othmaint\n", - " 0.281419\n", + " coef_number_of_hh_persons\n", + " -0.291501\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint\n", - " 0.168631\n", + " coef_number_of_hh_persons_escort\n", + " -0.289093\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops_othmaint\n", - " -2.298979\n", + " coef_number_of_hh_persons_school\n", + " -0.521641\n", " \n", " \n", - " coef_middle_to_low_income_hh_\n", - " 0.170000\n", + " coef_number_of_hh_persons_shopping\n", + " -0.164111\n", " \n", " \n", - " coef_number_of_maintenace_tours_undertaken_by_the_houshold\n", - " -0.264644\n", + " coef_number_of_hh_persons_univ\n", + " -0.296528\n", " \n", " \n", - " coef_number_of_persons_participating_in_the_tour_return_stops_interaction\n", - " 0.626322\n", + " coef_number_of_maintenace_tours_tours_undertaken_by_the_person\n", + " -0.281780\n", " \n", " \n", - " coef_number_of_shool_tours_tours_undertaken_by_the_person\n", - " -29.423035\n", + " coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr\n", + " -0.273666\n", " \n", " \n", - " coef_number_of_shop_tours_undertaken_by_the_person_othmaint\n", - " -0.200312\n", + " coef_number_of_maintenace_tours_undertaken_by_the_houshold\n", + " 0.280144\n", " \n", " \n", - " coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint\n", - " -0.625200\n", + " coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction\n", + " -0.531150\n", " \n", " \n", - " coef_number_of_work_tours_undertaken_by_the_person_othmaint\n", - " -0.357607\n", + " coef_number_of_persons_participating_in_the_tour_return_stops_interaction\n", + " 0.488298\n", " \n", " \n", - " -0.921\n", - " -0.921000\n", + " coef_number_of_school_tours_tours_undertaken_by_the_person\n", + " -1.539830\n", " \n", " \n", - " 0.939\n", - " 0.939000\n", + " coef_number_of_shool_tours_tours_undertaken_by_the_person\n", + " -1.560529\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr\n", - " -1.388654\n", + " coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr\n", + " -0.844016\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr\n", - " -2.956642\n", + " coef_number_of_shop_tours_undertaken_by_the_houshold\n", + " 0.194165\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr\n", - " -4.394706\n", + " coef_number_of_shop_tours_undertaken_by_the_houshold_shopping\n", + " -0.142075\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr\n", - " -2.518386\n", + " coef_number_of_shop_tours_undertaken_by_the_person\n", + " -0.303706\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr\n", - " -3.024368\n", + " coef_number_of_shop_tours_undertaken_by_the_person_othdiscr\n", + " -0.641366\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr\n", - " 1.088281\n", + " coef_number_of_shop_tours_undertaken_by_the_person_othmaint\n", + " -0.175208\n", " \n", " \n", - " coef_arrival_later_than_17_00__othdiscr\n", - " -0.366870\n", + " coef_number_of_students_in_hh\n", + " 0.206028\n", " \n", " \n", - " coef_dummy_for_distance_in_miles_othdiscr\n", - " 0.049345\n", + " coef_number_of_students_in_hh_escort\n", + " 0.216672\n", " \n", " \n", - " coef_dummy_for_distance_less_than_10_miles_\n", - " -0.134693\n", + " coef_number_of_subtours_in_the_tour\n", + " 0.184545\n", " \n", " \n", - " coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr\n", - " 0.254085\n", + " coef_number_of_university_tours_tours_undertaken_by_the_person\n", + " -0.480000\n", " \n", " \n", - " coef_dummy_for_walking_to_all_stops_othdiscr\n", - " -2.063119\n", + " coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint\n", + " -0.625200\n", " \n", " \n", - " coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr\n", - " -0.620680\n", + " coef_number_of_university_tours_tours_undertaken_by_the_person_shopping\n", + " -0.670900\n", " \n", " \n", - " coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr\n", - " -0.594832\n", + " coef_number_of_vehicles\n", + " 0.190381\n", " \n", " \n", - " coef_number_of_shop_tours_undertaken_by_the_person_othdiscr\n", - " -0.606953\n", + " coef_number_of_vehicles_social\n", + " -0.158415\n", " \n", " \n", - " coef_number_of_work_tours_undertaken_by_the_person_othdiscr\n", - " -0.475039\n", + " coef_number_of_work_tours_undertaken_by_the_person\n", + " -0.182288\n", " \n", " \n", - " -3.671\n", - " -3.671000\n", + " coef_number_of_work_tours_undertaken_by_the_person_escort\n", + " -0.222404\n", " \n", " \n", - " -3.896\n", - " -3.896000\n", + " coef_number_of_work_tours_undertaken_by_the_person_othdiscr\n", + " -0.546619\n", " \n", " \n", - " -7.3610000000000015\n", - " -7.361000\n", + " coef_number_of_work_tours_undertaken_by_the_person_othmaint\n", + " -0.425997\n", " \n", " \n", - " coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork\n", - " -5.610476\n", + " coef_number_of_work_tours_undertaken_by_the_person_shopping\n", + " -0.598738\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_2in_atwork\n", - " -6.029237\n", + " coef_number_of_work_tours_undertaken_by_the_person_social\n", + " -0.198089\n", " \n", " \n", - " coef_alternative_specific_constant_for_return_stops_0out_3in_atwork\n", - " -8.017201\n", + " coef_presence_of_kids_between_0_and_4_including_years_old\n", + " 0.738257\n", " \n", " \n", - " coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork\n", - " 2.560150\n", + " coef_presence_of_kids_between_5_and_15_including_years_old\n", + " 0.174006\n", " \n", " \n", - " coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_\n", - " 0.270000\n", + " coef_presence_of_kids_between_5_and_15_including_years_old_school\n", + " 0.258141\n", " \n", " \n", - " coef_middle_to_low_income_hh__atwork\n", - " 0.938847\n", + " coef_presence_of_kids_between_5_and_15_including_years_old_univ\n", + " 0.754853\n", " \n", " \n", - " coef_number_of_eating_tours_tours_undertaken_by_the_person\n", - " -0.250258\n", + " coef_primary_destination_accessibility_log_of_it_\n", + " 0.191205\n", + " \n", + " \n", + " coef_subtour_departure_less_than_or_equal_to_11am\n", + " 0.352247\n", + " \n", + " \n", + " coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_\n", + " 0.023141\n", + " \n", + " \n", + " coef_subtour_duration_in_hours_integer_\n", + " 0.555413\n", + " \n", + " \n", + " coef_subtour_return_time_greater_or_equal_to_2pm\n", + " 0.206446\n", + " \n", + " \n", + "logloss1.1174393743806623d_logloss\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + "
0
coef_alternative_specific_constant_for_outbound_stops_1out_0in1.318164e-07
coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork-3.450424e-05
coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout-2.357602e-05
coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort7.327103e-06
coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr5.830160e-05
coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint-1.687364e-05
coef_alternative_specific_constant_for_outbound_stops_1out_0in_school-1.669586e-05
coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping-1.179775e-08
coef_alternative_specific_constant_for_outbound_stops_1out_0in_social1.831328e-05
coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ1.659316e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in3.044727e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork1.175946e-08
coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout1.022786e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort1.105196e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr3.555996e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint-1.893055e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_school3.445422e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping3.263881e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_social-2.496547e-05
coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ1.438293e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in-1.071751e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_atwork-1.888854e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout1.167128e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort1.356432e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr-3.000084e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint1.163413e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_school-2.151305e-06
coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping-1.610268e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_social1.204101e-05
coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ-2.399461e-05
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in1.866585e-05
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in9.984701e-06
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in-2.645255e-05
coef_alternative_specific_constant_for_return_stops_0out_1in-4.708365e-05
coef_alternative_specific_constant_for_return_stops_0out_1in_atwork5.651507e-06
coef_alternative_specific_constant_for_return_stops_0out_1in_eatout1.418406e-06
coef_alternative_specific_constant_for_return_stops_0out_1in_escort-1.108521e-04
coef_alternative_specific_constant_for_return_stops_0out_1in_othdiscr3.754350e-05
coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint-5.058401e-05
coef_alternative_specific_constant_for_return_stops_0out_1in_school-1.317771e-05
coef_alternative_specific_constant_for_return_stops_0out_1in_shopping-1.353818e-05
coef_alternative_specific_constant_for_return_stops_0out_1in_social9.274282e-06
coef_alternative_specific_constant_for_return_stops_0out_1in_univ1.265812e-05
coef_alternative_specific_constant_for_return_stops_0out_2in-1.013444e-04
coef_alternative_specific_constant_for_return_stops_0out_2in_atwork-5.726811e-06
coef_alternative_specific_constant_for_return_stops_0out_2in_eatout2.119117e-06
coef_alternative_specific_constant_for_return_stops_0out_2in_escort7.074619e-05
coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr6.714927e-06
coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint6.821290e-06
coef_alternative_specific_constant_for_return_stops_0out_2in_school2.925330e-05
coef_alternative_specific_constant_for_return_stops_0out_2in_shopping-4.080487e-05
coef_alternative_specific_constant_for_return_stops_0out_2in_social-4.285482e-05
coef_alternative_specific_constant_for_return_stops_0out_2in_univ3.661192e-05
coef_alternative_specific_constant_for_return_stops_0out_3in1.133758e-04
coef_alternative_specific_constant_for_return_stops_0out_3in_atwork9.086276e-06
coef_alternative_specific_constant_for_return_stops_0out_3in_eatout4.586623e-06
coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr2.426809e-05
coef_alternative_specific_constant_for_return_stops_0out_3in_othmaint-2.486703e-05
coef_alternative_specific_constant_for_return_stops_0out_3in_school-2.227797e-05
coef_alternative_specific_constant_for_return_stops_0out_3in_shopping2.495105e-05
coef_alternative_specific_constant_for_return_stops_0out_3in_social-6.029497e-05
coef_alternative_specific_constant_for_return_stops_0out_3in_univ1.155529e-05
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in-3.870571e-06
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in7.661858e-06
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in-4.833521e-06
coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in6.276561e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in-3.395874e-06
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork3.600197e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout4.455986e-07
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr-2.367744e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint-1.442248e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping-8.406942e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social1.283479e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ-1.771563e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in1.798862e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout-2.174096e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort4.005556e-06
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othdiscr-8.102586e-06
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint-7.835219e-06
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school1.969169e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping-1.891110e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social-1.234210e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ1.908165e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in-1.399555e-07
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in1.065266e-05
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in-2.973298e-05
coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours4.011337e-05
coef_arrival_later_than_17_00_9.509009e-06
coef_arrival_later_than_17_00__othdiscr5.323204e-05
coef_arrival_later_than_17_00__social-3.236359e-05
coef_arrival_later_than_17_00__univ6.463924e-06
coef_at_least_one_kid_and_one_adult_participate_in_the_tour5.107909e-05
coef_dummy_for_a_return_visiting_tour3.250338e-05
coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg-2.201652e-05
coef_dummy_for_all_stops_made_by_transit2.881609e-05
coef_dummy_for_an_outbound_visiting_tour6.196096e-06
coef_dummy_for_distance_in_miles9.385043e-06
coef_dummy_for_distance_in_miles_othdiscr-7.834462e-06
coef_dummy_for_distance_in_miles_othmaint4.302748e-05
coef_dummy_for_distance_in_miles_school2.634834e-05
coef_dummy_for_distance_in_miles_shopping-3.883054e-06
coef_dummy_for_distance_in_miles_social-2.876791e-06
coef_dummy_for_distance_less_than_10_miles_8.995802e-05
coef_dummy_for_distance_less_than_20_miles-2.204602e-05
coef_dummy_for_distance_less_than_20_miles_-1.281965e-04
coef_dummy_for_distance_less_than_5_miles-1.119062e-05
coef_dummy_for_distance_less_than_5_miles_escort-1.207377e-05
coef_dummy_for_female-8.480269e-06
coef_dummy_for_female_othmaint-4.926674e-05
coef_dummy_for_female_school1.424463e-05
coef_dummy_for_female_shopping-4.273230e-05
coef_dummy_for_female_univ3.630606e-05
coef_dummy_for_only_adults_participate_in_the_tour1.089846e-05
coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_0.000000e+00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours-4.743285e-05
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_-9.652111e-05
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_1.664266e-05
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort-5.502657e-06
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr-3.421032e-06
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint-2.300422e-05
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping3.276266e-06
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ-1.959322e-05
coef_dummy_for_walking_to_all_stops6.006629e-06
coef_dummy_for_walking_to_all_stops_escort-3.338229e-05
coef_dummy_for_walking_to_all_stops_othdiscr3.003054e-06
coef_dummy_for_walking_to_all_stops_othmaint5.544972e-06
coef_dummy_for_walking_to_all_stops_school5.590612e-05
coef_dummy_for_walking_to_all_stops_shopping-6.986420e-06
coef_dummy_for_walking_to_all_stops_social-1.812323e-05
coef_evening_arrival_19_00_interacted_with_return_tours-1.075717e-04
coef_hh_accesibility_for_inbound_tours_interaction1.545214e-04
coef_high_income_hh0.000000e+00
coef_mid_to_high_income_hh0.000000e+00
coef_middle_to_low_income_hh0.000000e+00
coef_middle_to_low_income_hh_0.000000e+00
coef_middle_to_low_income_hh__atwork1.591693e-05
coef_no_stops_if_tour_mode_is_drivetransit0.000000e+00
coef_num_kids_between_5_and_15_including_years_old1.811798e-04
coef_num_kids_between_5_and_15_including_years_old_shopping-2.177398e-05
coef_number_of_adults_16_years_old_1.607333e-04
coef_number_of_cars_number_of_workers-5.548331e-05
coef_number_of_cars_number_of_workers_school-4.595882e-05
coef_number_of_eating_tours_tours_undertaken_by_the_person-1.221656e-05
coef_number_of_escort_tours_tours_undertaken_by_the_person3.915582e-05
coef_number_of_escort_tours_tours_undertaken_by_the_person_escort-4.632281e-05
coef_number_of_escort_tours_tours_undertaken_by_the_person_school-1.496317e-06
coef_number_of_escort_tours_tours_undertaken_by_the_person_univ5.820883e-06
coef_number_of_hh_persons-9.384152e-05
coef_number_of_hh_persons_escort4.408343e-05
coef_number_of_hh_persons_school-4.397796e-05
coef_number_of_hh_persons_shopping3.401635e-05
coef_number_of_hh_persons_univ-6.991701e-05
coef_number_of_maintenace_tours_tours_undertaken_by_the_person-1.812134e-05
coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr-2.534184e-05
coef_number_of_maintenace_tours_undertaken_by_the_houshold2.050003e-06
coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction6.755108e-06
coef_number_of_persons_participating_in_the_tour_return_stops_interaction-5.553747e-05
coef_number_of_school_tours_tours_undertaken_by_the_person3.616606e-06
coef_number_of_shool_tours_tours_undertaken_by_the_person-4.217392e-05
coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr7.289526e-06
coef_number_of_shop_tours_undertaken_by_the_houshold5.577565e-05
coef_number_of_shop_tours_undertaken_by_the_houshold_shopping1.055865e-05
coef_number_of_shop_tours_undertaken_by_the_person2.191567e-05
coef_number_of_shop_tours_undertaken_by_the_person_othdiscr1.735752e-05
coef_number_of_shop_tours_undertaken_by_the_person_othmaint-1.989246e-05
coef_number_of_students_in_hh-3.900317e-05
coef_number_of_students_in_hh_escort-8.924947e-05
coef_number_of_subtours_in_the_tour-1.634519e-05
coef_number_of_university_tours_tours_undertaken_by_the_person0.000000e+00
coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint0.000000e+00
coef_number_of_university_tours_tours_undertaken_by_the_person_shopping0.000000e+00
coef_number_of_vehicles-6.107892e-05
coef_number_of_vehicles_social4.943979e-05
coef_number_of_work_tours_undertaken_by_the_person-4.194501e-05
coef_number_of_work_tours_undertaken_by_the_person_escort-9.605595e-07
coef_number_of_work_tours_undertaken_by_the_person_othdiscr3.079891e-05
coef_number_of_work_tours_undertaken_by_the_person_othmaint-2.034031e-05
coef_number_of_work_tours_undertaken_by_the_person_shopping-2.318647e-05
coef_number_of_work_tours_undertaken_by_the_person_social-4.019493e-05
coef_presence_of_kids_between_0_and_4_including_years_old-9.532148e-05
coef_presence_of_kids_between_5_and_15_including_years_old1.004783e-04
coef_presence_of_kids_between_5_and_15_including_years_old_school-1.763120e-05
coef_presence_of_kids_between_5_and_15_including_years_old_univ-4.857618e-06
coef_primary_destination_accessibility_log_of_it_0.170704-4.708946e-06
coef_subtour_departure_less_than_or_equal_to_11am0.266339-3.435878e-05
coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_-0.1523849.929553e-05
coef_subtour_duration_in_hours_integer_-1.478819e-04
coef_subtour_return_time_greater_or_equal_to_2pm-2.289188e-05
nit81nfev82njev81status0message'Optimization terminated successfully'successTrueelapsed_time0:00:17.187577method'SLSQP'n_cases69971iteration_number81loglike-78188.35046478933" + ], + "text/plain": [ + "┣ x: coef_alternative_specific_constant_for_outbound_stops_1out_0in -0.817659\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork -3.857785\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout -2.243908\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort -2.254734\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr -1.509245\n", + "┃ ... \n", + "┃ coef_primary_destination_accessibility_log_of_it_ 0.191205\n", + "┃ coef_subtour_departure_less_than_or_equal_to_11am 0.352247\n", + "┃ coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ 0.023141\n", + "┃ coef_subtour_duration_in_hours_integer_ 0.555413\n", + "┃ coef_subtour_return_time_greater_or_equal_to_2pm 0.206446\n", + "┃ Length: 188, dtype: float64\n", + "┣ logloss: 1.1174393743806623\n", + "┣ d_logloss: coef_alternative_specific_constant_for_outbound_stops_1out_0in 1.318164e-07\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork -3.450424e-05\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout -2.357602e-05\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort 7.327103e-06\n", + "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr 5.830160e-05\n", + "┃ ... \n", + "┃ coef_primary_destination_accessibility_log_of_it_ -4.708946e-06\n", + "┃ coef_subtour_departure_less_than_or_equal_to_11am -3.435878e-05\n", + "┃ coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ 9.929553e-05\n", + "┃ coef_subtour_duration_in_hours_integer_ -1.478819e-04\n", + "┃ coef_subtour_return_time_greater_or_equal_to_2pm -2.289188e-05\n", + "┃ Length: 188, dtype: float64\n", + "┣ nit: 81\n", + "┣ nfev: 82\n", + "┣ njev: 81\n", + "┣ status: 0\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ success: True\n", + "┣ elapsed_time: datetime.timedelta(seconds=17, microseconds=187577)\n", + "┣ method: 'SLSQP'\n", + "┣ n_cases: 69971\n", + "┣ iteration_number: 81\n", + "┣ loglike: -78188.35046478933" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.estimate(method='SLSQP', options={\"maxiter\": 1000})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Estimated coefficients" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - "
coef_subtour_duration_in_hours_integer_0.681811 ValueStd Errt StatSignifNull Value
coef_subtour_return_time_greater_or_equal_to_2pm1.549569
loglike-6094.555918549999d_loglike\n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - "
0Parameter     
-2.1390.000000e+00coef_alternative_specific_constant_for_outbound_stops_1out_0in-0.818 0.0344-23.78*** 0.00
-3.9340.000000e+00coef_alternative_specific_constant_for_outbound_stops_1out_0in_atwork-3.86 0.249-15.49*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in-7.969702e-05coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout-2.24 0.102-22.05*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in-7.162521e-04coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort-2.25 0.0741-30.45*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in-6.335846e-05coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr-1.51 0.0658-22.93*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in9.540429e-05coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint-1.85 0.0875-21.14*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in-5.140413e-04coef_alternative_specific_constant_for_outbound_stops_1out_0in_school-2.10 0.0714-29.46*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in-8.954661e-05coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping-1.37 0.0511-26.89*** 0.00
coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours-2.097418e-04coef_alternative_specific_constant_for_outbound_stops_1out_0in_social-1.10 0.565-1.95 0.00
coef_dummy_for_all_stops_made_by_transit5.963845e-05coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ-2.58 0.148-17.51*** 0.00
coef_dummy_for_distance_in_miles-2.339326e-03coef_alternative_specific_constant_for_outbound_stops_2out_0in-2.55 0.0622-41.08*** 0.00
coef_dummy_for_distance_less_than_20_miles-4.727787e-04coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork-5.67 0.275-20.66*** 0.00
coef_dummy_for_female2.329415e-05coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout-4.50 0.236-19.10*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours-2.446071e-04coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort-4.23 0.158-26.72*** 0.00
coef_dummy_for_walking_to_all_stops-2.009061e-04coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr-3.36 0.116-28.93*** 0.00
coef_evening_arrival_19_00_interacted_with_return_tours-2.608074e-04coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint-3.53 0.157-22.55*** 0.00
coef_high_income_hh0.000000e+00coef_alternative_specific_constant_for_outbound_stops_2out_0in_school-3.93 0.122-32.36*** 0.00
coef_mid_to_high_income_hh0.000000e+00coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping-3.00 0.0869-34.53*** 0.00
coef_middle_to_low_income_hh0.000000e+00coef_alternative_specific_constant_for_outbound_stops_2out_0in_social-2.79 0.582-4.79*** 0.00
coef_no_stops_if_tour_mode_is_drivetransit0.000000e+00coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ-3.63 0.193-18.79*** 0.00
coef_num_kids_between_5_and_15_including_years_old1.941456e-04coef_alternative_specific_constant_for_outbound_stops_3out_0in-3.91 0.0934-41.93*** 0.00
coef_number_of_adults_16_years_old_2.205314e-04coef_alternative_specific_constant_for_outbound_stops_3out_0in_atwork-7.45 0.358-20.80*** 0.00
coef_number_of_cars_number_of_workers5.994133e-04coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout-5.21 0.325-16.02*** 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person-5.224365e-05coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort-4.71 0.202-23.35*** 0.00
coef_number_of_hh_persons1.586957e-03coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr-4.26 0.163-26.11*** 0.00
coef_number_of_school_tours_tours_undertaken_by_the_person-3.034153e-05coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint-5.37 0.326-16.47*** 0.00
coef_number_of_shop_tours_undertaken_by_the_houshold1.116601e-04coef_alternative_specific_constant_for_outbound_stops_3out_0in_school-5.87 0.244-24.09*** 0.00
coef_number_of_students_in_hh1.126486e-04coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping-4.44 0.143-30.98*** 0.00
coef_number_of_subtours_in_the_tour-4.322246e-04coef_alternative_specific_constant_for_outbound_stops_3out_0in_social-4.48 0.653-6.86*** 0.00
coef_number_of_university_tours_tours_undertaken_by_the_person0.000000e+00coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ-5.12 0.304-16.88*** 0.00
coef_number_of_work_tours_undertaken_by_the_person-3.832504e-04coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in-1.86 0.132-14.07*** 0.00
coef_presence_of_kids_between_0_and_4_including_years_old-2.811261e-04coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in-4.03 0.366-11.00*** 0.00
coef_presence_of_kids_between_5_and_15_including_years_old1.838518e-04coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in-5.08 0.509-9.97*** 0.00
-2.6720.000000e+00coef_alternative_specific_constant_for_return_stops_0out_1in-0.422 0.0376-11.23*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_school3.622369e-04coef_alternative_specific_constant_for_return_stops_0out_1in_atwork-3.67 0.250-14.69*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_school-1.073515e-04coef_alternative_specific_constant_for_return_stops_0out_1in_eatout-1.67 0.0960-17.36*** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_school5.591613e-07coef_alternative_specific_constant_for_return_stops_0out_1in_escort-0.884 0.0729-12.12*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_school-4.218724e-04coef_alternative_specific_constant_for_return_stops_0out_1in_othdiscr-0.944 0.0691-13.68*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_school-1.172540e-04coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint-0.607 0.0995-6.10*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in6.638463e-05coef_alternative_specific_constant_for_return_stops_0out_1in_school-1.20 0.0752-16.01*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school-4.148872e-05coef_alternative_specific_constant_for_return_stops_0out_1in_shopping-1.16 0.0523-22.10*** 0.00
coef_arrival_later_than_17_00_3.242621e-05coef_alternative_specific_constant_for_return_stops_0out_1in_social-1.26 0.260-4.86*** 0.00
coef_dummy_for_distance_in_miles_school1.257368e-04coef_alternative_specific_constant_for_return_stops_0out_1in_univ-1.89 0.143-13.28*** 0.00
coef_dummy_for_female_school1.151809e-04coef_alternative_specific_constant_for_return_stops_0out_2in-1.74 0.0605-28.73*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_1.609739e-04coef_alternative_specific_constant_for_return_stops_0out_2in_atwork-5.35 0.270-19.83*** 0.00
coef_dummy_for_walking_to_all_stops_school-2.948826e-05coef_alternative_specific_constant_for_return_stops_0out_2in_eatout-3.38 0.161-21.08*** 0.00
coef_number_of_cars_number_of_workers_school-1.267875e-04coef_alternative_specific_constant_for_return_stops_0out_2in_escort-2.36 0.104-22.69*** 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person_school-1.086302e-04coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr-2.25 0.0973-23.10*** 0.00
coef_number_of_hh_persons_school-8.934922e-05coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint-1.55 0.121-12.84*** 0.00
coef_presence_of_kids_between_5_and_15_including_years_old_school2.925349e-04coef_alternative_specific_constant_for_return_stops_0out_2in_school-2.62 0.101-25.83*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ2.297287e-04coef_alternative_specific_constant_for_return_stops_0out_2in_shopping-2.25 0.0774-29.09*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ-7.201840e-04coef_alternative_specific_constant_for_return_stops_0out_2in_social-2.75 0.290-9.48*** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ3.180905e-04coef_alternative_specific_constant_for_return_stops_0out_2in_univ-3.56 0.199-17.95*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_univ-6.094370e-04coef_alternative_specific_constant_for_return_stops_0out_3in-2.06 0.0653-31.50*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_univ2.159121e-04coef_alternative_specific_constant_for_return_stops_0out_3in_atwork-6.48 0.304-21.31*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_univ-2.067752e-04coef_alternative_specific_constant_for_return_stops_0out_3in_eatout-4.73 0.275-17.24*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ-1.224656e-04coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr-2.82 0.121-23.37*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ1.115042e-04coef_alternative_specific_constant_for_return_stops_0out_3in_othmaint-2.35 0.149-15.81*** 0.00
coef_arrival_later_than_17_00__univ3.883451e-05coef_alternative_specific_constant_for_return_stops_0out_3in_school-3.36 0.124-27.19*** 0.00
coef_dummy_for_female_univ-2.006300e-04coef_alternative_specific_constant_for_return_stops_0out_3in_shopping-3.09 0.0889-34.71*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ1.801912e-05coef_alternative_specific_constant_for_return_stops_0out_3in_social-3.62 0.345-10.49*** 0.00
coef_hh_accesibility_for_inbound_tours_interaction1.451782e-04coef_alternative_specific_constant_for_return_stops_0out_3in_univ-3.55 0.207-17.16*** 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person_univ4.571784e-05coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in-1.35 0.109-12.40*** 0.00
coef_number_of_hh_persons_univ-9.257971e-05coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in-3.01 0.298-10.08*** 0.00
coef_number_of_vehicles-3.492440e-05coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in-3.09 0.319-9.71*** 0.00
coef_presence_of_kids_between_5_and_15_including_years_old_univ-1.005346e-04coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in-0.0339 0.0356-0.95 0.00
-1.7830.000000e+00coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in 0.620 0.180 3.44*** 0.00
-2.8740.000000e+00coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork 2.20 0.379 5.79*** 0.00
-3.3790.000000e+00coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout 0.957 0.397 2.41* 0.00
1.4970.000000e+00coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr 0.780 0.146 5.35*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_social-1.680088e-04coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint 0.525 0.198 2.65** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_social-1.534541e-16coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping 0.519 0.123 4.22*** 0.00
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in-1.142652e-04coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social 0.620 0.318 1.95 0.00
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in-2.817966e-11coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ 1.22 0.294 4.14*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_social2.375526e-04coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in 0.556 0.128 4.35*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_social-2.745402e-08coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout 1.98 0.616 3.21** 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_social-8.463137e-05coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort-1.80 1.19-1.51 0.00
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in6.231017e-04coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othdiscr 1.15 0.241 4.76*** 0.00
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in8.245417e-05coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint 0.489 0.418 1.17 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social-1.206021e-04coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school 1.20 0.317 3.80*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social-1.513475e-06coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping 0.412 0.245 1.68 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in-2.522694e-04coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social 0.866 0.592 1.46 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in-3.539804e-12coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ 1.96 0.383 5.12*** 0.00
coef_arrival_later_than_17_00__social4.029635e-04coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in-0.0573 0.238-0.24 0.00
coef_at_least_one_kid_and_one_adult_participate_in_the_tour3.720282e-04coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in 0.608 0.463 1.31 0.00
coef_dummy_for_a_return_visiting_tour3.077125e-04coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in 1.43 0.759 1.88 0.00
coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg1.591081e-04coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours-1.91 0.0370-51.75*** 0.00
coef_dummy_for_an_outbound_visiting_tour9.181048e-05coef_arrival_later_than_17_00_ 1.84 0.0758 24.27*** 0.00
coef_dummy_for_distance_in_miles_social6.278670e-04coef_arrival_later_than_17_00__othdiscr-0.638 0.0589-10.83*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_5.519594e-04coef_arrival_later_than_17_00__social-0.708 0.0742-9.55*** 0.00
coef_dummy_for_walking_to_all_stops_social4.496402e-04coef_arrival_later_than_17_00__univ 0.353 0.112 3.14** 0.00
coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction5.942079e-07coef_at_least_one_kid_and_one_adult_participate_in_the_tour 0.598 0.257 2.33* 0.00
coef_number_of_shop_tours_undertaken_by_the_person1.577034e-04coef_dummy_for_a_return_visiting_tour-0.542 0.250-2.17* 0.00
coef_number_of_vehicles_social1.013531e-03coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg 0.638 0.173 3.69*** 0.00
coef_number_of_work_tours_undertaken_by_the_person_social7.685343e-04coef_dummy_for_all_stops_made_by_transit-0.698 0.0392-17.80*** 0.00
-3.0240.000000e+00coef_dummy_for_an_outbound_visiting_tour-0.547 0.560-0.98 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping2.666344e-05coef_dummy_for_distance_in_miles 0.00820 0.00214 3.83*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping6.780320e-05coef_dummy_for_distance_in_miles_othdiscr-0.0164 0.00521-3.15** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping-7.271615e-04coef_dummy_for_distance_in_miles_othmaint 0.0246 0.00536 4.59*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_shopping-9.635243e-06coef_dummy_for_distance_in_miles_school 0.0487 0.00546 8.92*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_shopping5.507170e-05coef_dummy_for_distance_in_miles_shopping 0.0421 0.00629 6.68*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping-5.236271e-05coef_dummy_for_distance_in_miles_social-0.0112 0.00621-1.80 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping-7.154384e-05coef_dummy_for_distance_less_than_10_miles_ 0.312 0.0676 4.61*** 0.00
coef_dummy_for_distance_in_miles_shopping2.523396e-04coef_dummy_for_distance_less_than_20_miles-0.210 0.0571-3.67*** 0.00
coef_dummy_for_distance_less_than_5_miles-2.476980e-05coef_dummy_for_distance_less_than_20_miles_-0.403 0.109-3.71*** 0.00
coef_dummy_for_female_shopping4.740709e-04coef_dummy_for_distance_less_than_5_miles 0.391 0.0569 6.87*** 0.00
coef_dummy_for_only_adults_participate_in_the_tour4.017317e-04coef_dummy_for_distance_less_than_5_miles_escort 0.288 0.0736 3.91*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping-4.228203e-05coef_dummy_for_female 0.231 0.0317 7.29*** 0.00
coef_dummy_for_walking_to_all_stops_shopping-3.690879e-04coef_dummy_for_female_othmaint 0.299 0.0693 4.31*** 0.00
coef_num_kids_between_5_and_15_including_years_old_shopping-1.102340e-04coef_dummy_for_female_school 0.519 0.0577 9.00*** 0.00
coef_number_of_hh_persons_shopping2.463465e-04coef_dummy_for_female_shopping 0.200 0.0467 4.28*** 0.00
coef_number_of_maintenace_tours_tours_undertaken_by_the_person7.302562e-05coef_dummy_for_female_univ 0.539 0.111 4.84*** 0.00
coef_number_of_shop_tours_undertaken_by_the_houshold_shopping-2.407855e-05coef_dummy_for_only_adults_participate_in_the_tour 0.241 0.194 1.25 0.00
coef_number_of_university_tours_tours_undertaken_by_the_person_shopping0.000000e+00coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_ 0.270 NA NA 0.00
coef_number_of_work_tours_undertaken_by_the_person_shopping8.243323e-05coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours 0.630 0.0404 15.57*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout-3.755981e-04coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_ 1.30 0.0744 17.43*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout-1.868019e-12coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ 0.936 0.0765 12.24*** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout4.022851e-04coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort 0.469 0.163 2.88** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_eatout-1.344298e-04coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr 0.844 0.118 7.13*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_eatout-1.392861e-04coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint 0.104 0.161 0.65 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_eatout1.106246e-04coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping 1.04 0.156 6.66*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout-1.796611e-14coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ 0.772 0.320 2.41* 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout-1.259540e-14coef_dummy_for_walking_to_all_stops-1.59 0.0898-17.72*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort-4.940134e-04coef_dummy_for_walking_to_all_stops_escort-2.04 0.265-7.71*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort1.495955e-04coef_dummy_for_walking_to_all_stops_othdiscr-2.34 0.153-15.29*** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort-3.241983e-04coef_dummy_for_walking_to_all_stops_othmaint-1.32 0.170-7.79*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_escort9.510081e-04coef_dummy_for_walking_to_all_stops_school-2.07 0.112-18.53*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_escort-2.900724e-04coef_dummy_for_walking_to_all_stops_shopping-1.46 0.109-13.36*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort-1.512127e-06coef_dummy_for_walking_to_all_stops_social-1.65 0.150-10.97*** 0.00
coef_dummy_for_distance_less_than_5_miles_escort2.673121e-05coef_evening_arrival_19_00_interacted_with_return_tours 0.298 0.0385 7.73*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort-3.600725e-05coef_hh_accesibility_for_inbound_tours_interaction 0.258 0.0256 10.09*** 0.00
coef_dummy_for_walking_to_all_stops_escort1.191655e-04coef_high_income_hh 0.240 NA NA 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person_escort-7.410121e-05coef_mid_to_high_income_hh 0.230 NA NA 0.00
coef_number_of_hh_persons_escort-3.140191e-04coef_middle_to_low_income_hh 0.170 2.03e-14 BIG*** 0.00
coef_number_of_students_in_hh_escort1.269734e-04coef_middle_to_low_income_hh_ 0.170 1.42e-14 BIG*** 0.00
coef_number_of_work_tours_undertaken_by_the_person_escort-2.773780e-05coef_middle_to_low_income_hh__atwork 0.369 0.262 1.41 0.00
-2.4620.000000e+00coef_no_stops_if_tour_mode_is_drivetransit-999. NA NA 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint1.221742e-04coef_num_kids_between_5_and_15_including_years_old 0.0834 0.0434 1.92 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint3.550288e-05coef_num_kids_between_5_and_15_including_years_old_shopping 0.0331 0.0347 0.95 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint-3.087708e-04coef_number_of_adults_16_years_old_ 0.00618 0.0229 0.27 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint4.516106e-04coef_number_of_cars_number_of_workers 0.195 0.0414 4.72*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint3.975618e-04coef_number_of_cars_number_of_workers_school 0.630 0.0881 7.16*** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint-6.769433e-05coef_number_of_eating_tours_tours_undertaken_by_the_person-0.425 0.178-2.39* 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint-4.805955e-14coef_number_of_escort_tours_tours_undertaken_by_the_person 0.286 0.0527 5.42*** 0.00
coef_dummy_for_distance_in_miles_othmaint-1.679261e-04coef_number_of_escort_tours_tours_undertaken_by_the_person_escort-0.0779 0.0376-2.07* 0.00
coef_dummy_for_distance_less_than_20_miles_3.465085e-05coef_number_of_escort_tours_tours_undertaken_by_the_person_school 1.29 0.133 9.72*** 0.00
coef_dummy_for_female_othmaint1.685909e-04coef_number_of_escort_tours_tours_undertaken_by_the_person_univ 0.985 0.191 5.15*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint-1.142635e-04coef_number_of_hh_persons-0.292 0.0225-12.98*** 0.00
coef_dummy_for_walking_to_all_stops_othmaint-3.369012e-04coef_number_of_hh_persons_escort-0.289 0.0247-11.72*** 0.00
coef_middle_to_low_income_hh_0.000000e+00coef_number_of_hh_persons_school-0.522 0.0197-26.42*** 0.00
coef_number_of_maintenace_tours_undertaken_by_the_houshold1.869470e-04coef_number_of_hh_persons_shopping-0.164 0.0143-11.47*** 0.00
coef_number_of_persons_participating_in_the_tour_return_stops_interaction1.532520e-05coef_number_of_hh_persons_univ-0.297 0.0417-7.12*** 0.00
coef_number_of_shool_tours_tours_undertaken_by_the_person-9.850134e-13coef_number_of_maintenace_tours_tours_undertaken_by_the_person-0.282 0.0682-4.13*** 0.00
coef_number_of_shop_tours_undertaken_by_the_person_othmaint1.727916e-04coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr-0.274 0.0896-3.05** 0.00
coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint0.000000e+00coef_number_of_maintenace_tours_undertaken_by_the_houshold 0.280 0.157 1.78 0.00
coef_number_of_work_tours_undertaken_by_the_person_othmaint-1.965224e-04coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction-0.531 0.165-3.22** 0.00
-0.9210.000000e+00coef_number_of_persons_participating_in_the_tour_return_stops_interaction 0.488 0.0633 7.72*** 0.00
0.9390.000000e+00coef_number_of_school_tours_tours_undertaken_by_the_person-1.54 0.467-3.30*** 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr-3.506169e-04coef_number_of_shool_tours_tours_undertaken_by_the_person-1.56 0.258-6.05*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr1.907176e-04coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr-0.844 0.100-8.43*** 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr3.189979e-04coef_number_of_shop_tours_undertaken_by_the_houshold 0.194 0.245 0.79 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr2.028679e-04coef_number_of_shop_tours_undertaken_by_the_houshold_shopping-0.142 0.117-1.21 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr1.562541e-05coef_number_of_shop_tours_undertaken_by_the_person-0.304 0.0956-3.18** 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr2.583440e-04coef_number_of_shop_tours_undertaken_by_the_person_othdiscr-0.641 0.0747-8.59*** 0.00
coef_arrival_later_than_17_00__othdiscr1.080590e-04coef_number_of_shop_tours_undertaken_by_the_person_othmaint-0.175 0.0767-2.28* 0.00
coef_dummy_for_distance_in_miles_othdiscr9.492548e-04coef_number_of_students_in_hh 0.206 0.0209 9.85*** 0.00
coef_dummy_for_distance_less_than_10_miles_1.588828e-04coef_number_of_students_in_hh_escort 0.217 0.0357 6.07*** 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr1.826016e-04coef_number_of_subtours_in_the_tour 0.185 0.0354 5.21*** 0.00
coef_dummy_for_walking_to_all_stops_othdiscr1.223109e-04coef_number_of_university_tours_tours_undertaken_by_the_person-0.480 NA NA 0.00
coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr-7.663028e-04coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint-0.625 4.04e-15-BIG*** 0.00
coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr4.152763e-04coef_number_of_university_tours_tours_undertaken_by_the_person_shopping-0.671 7.34e-15-BIG*** 0.00
coef_number_of_shop_tours_undertaken_by_the_person_othdiscr3.120237e-04coef_number_of_vehicles 0.190 0.0605 3.14** 0.00
coef_number_of_work_tours_undertaken_by_the_person_othdiscr3.092441e-04coef_number_of_vehicles_social-0.158 0.0333-4.76*** 0.00
-3.6710.000000e+00coef_number_of_work_tours_undertaken_by_the_person-0.182 0.0552-3.30*** 0.00
-3.8960.000000e+00coef_number_of_work_tours_undertaken_by_the_person_escort-0.222 0.0707-3.15** 0.00
-7.36100000000000150.000000e+00coef_number_of_work_tours_undertaken_by_the_person_othdiscr-0.547 0.0742-7.36*** 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork-3.052719e-04coef_number_of_work_tours_undertaken_by_the_person_othmaint-0.426 0.0859-4.96*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_atwork-1.668958e-04coef_number_of_work_tours_undertaken_by_the_person_shopping-0.599 0.0588-10.19*** 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_atwork2.048973e-04coef_number_of_work_tours_undertaken_by_the_person_social-0.198 0.0971-2.04* 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork1.185991e-04coef_presence_of_kids_between_0_and_4_including_years_old 0.738 0.0493 14.98*** 0.00
coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_0.000000e+00coef_presence_of_kids_between_5_and_15_including_years_old 0.174 0.0692 2.52* 0.00
coef_middle_to_low_income_hh__atwork-1.187817e-03coef_presence_of_kids_between_5_and_15_including_years_old_school 0.258 0.0737 3.50*** 0.00
coef_number_of_eating_tours_tours_undertaken_by_the_person4.166759e-04coef_presence_of_kids_between_5_and_15_including_years_old_univ 0.755 0.165 4.58*** 0.00
coef_primary_destination_accessibility_log_of_it_-3.977574e-03coef_primary_destination_accessibility_log_of_it_ 0.191 0.0120 15.92*** 0.00
coef_subtour_departure_less_than_or_equal_to_11am-7.903092e-04coef_subtour_departure_less_than_or_equal_to_11am 0.352 0.0707 4.98*** 0.00
coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_-4.153043e-03coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ 0.0231 0.0171 1.35 0.00
coef_subtour_duration_in_hours_integer_-2.149064e-03coef_subtour_duration_in_hours_integer_ 0.555 0.0253 21.94*** 0.00
coef_subtour_return_time_greater_or_equal_to_2pm1.538038e-04coef_subtour_return_time_greater_or_equal_to_2pm 0.206 0.209 0.99 0.00
nit130nfev327njev130status0message'Optimization terminated successfully'successTrueelapsed_time0:01:25.611724method'SLSQP'n_cases5778iteration_number130logloss1.0547864171945307" - ], - "text/plain": [ - "┣ x: -2.139 -2.139000\n", - "┃ -3.934 -3.934000\n", - "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in -0.741225\n", - "┃ coef_alternative_specific_constant_for_outbound_stops_2out_0in -2.594489\n", - "┃ coef_alternative_specific_constant_for_return_stops_0out_1in -0.447476\n", - "┃ ... \n", - "┃ coef_primary_destination_accessibility_log_of_it_ 0.170704\n", - "┃ coef_subtour_departure_less_than_or_equal_to_11am 0.266339\n", - "┃ coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ -0.152384\n", - "┃ coef_subtour_duration_in_hours_integer_ 0.681811\n", - "┃ coef_subtour_return_time_greater_or_equal_to_2pm 1.549569\n", - "┃ Length: 188, dtype: float64\n", - "┣ loglike: -6094.555918549999\n", - "┣ d_loglike: -2.139 0.000000\n", - "┃ -3.934 0.000000\n", - "┃ coef_alternative_specific_constant_for_outbound_stops_1out_0in -0.000080\n", - "┃ coef_alternative_specific_constant_for_outbound_stops_2out_0in -0.000716\n", - "┃ coef_alternative_specific_constant_for_return_stops_0out_1in -0.000063\n", - "┃ ... \n", - "┃ coef_primary_destination_accessibility_log_of_it_ -0.003978\n", - "┃ coef_subtour_departure_less_than_or_equal_to_11am -0.000790\n", - "┃ coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ -0.004153\n", - "┃ coef_subtour_duration_in_hours_integer_ -0.002149\n", - "┃ coef_subtour_return_time_greater_or_equal_to_2pm 0.000154\n", - "┃ Length: 188, dtype: float64\n", - "┣ nit: 130\n", - "┣ nfev: 327\n", - "┣ njev: 130\n", - "┣ status: 0\n", - "┣ message: 'Optimization terminated successfully'\n", - "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=85, microseconds=611724)\n", - "┣ method: 'SLSQP'\n", - "┣ n_cases: 5778\n", - "┣ iteration_number: 130\n", - "┣ logloss: 1.0547864171945307" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.estimate(method='SLSQP', options={\"maxiter\": 1000})" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Estimated coefficients" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value
-2.139-2.14 0.00 NA NA-2.14
-3.934-3.93 0.00 NA NA-3.93
coef_alternative_specific_constant_for_outbound_stops_1out_0in-0.741 0.0909-8.16*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in-2.59 0.167-15.51*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in-0.447 0.0942-4.75*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in-1.66 0.136-12.17*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in 0.0394 0.0697 0.57 NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in 0.755 0.335 2.25* NA 0.00
coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours-2.00 0.132-15.17*** NA 0.00
coef_dummy_for_all_stops_made_by_transit-0.673 0.0870-7.73*** NA 0.00
coef_dummy_for_distance_in_miles 0.0440 0.0256 1.72 NA 0.00
coef_dummy_for_distance_less_than_20_miles-0.588 0.310-1.90 NA 0.00
coef_dummy_for_female 0.283 0.108 2.63** NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours 0.713 0.139 5.13*** NA 0.00
coef_dummy_for_walking_to_all_stops-1.49 0.218-6.84*** NA 0.00
coef_evening_arrival_19_00_interacted_with_return_tours 0.606 0.127 4.78*** NA 0.00
coef_high_income_hh 0.240 1.15e-07 BIG*** NA 0.00
coef_mid_to_high_income_hh 0.230 3.09e-07 BIG*** NA 0.00
coef_middle_to_low_income_hh 0.170 1.05e-06 BIG*** NA 0.00
coef_no_stops_if_tour_mode_is_drivetransit-999. 9.87e-07-BIG*** NA 0.00
coef_num_kids_between_5_and_15_including_years_old 0.0897 0.206 0.44 NA 0.00
coef_number_of_adults_16_years_old_ 0.0742 0.0890 0.83 NA 0.00
coef_number_of_cars_number_of_workers-0.0657 0.116-0.57 NA 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person 0.0978 0.216 0.45 NA 0.00
coef_number_of_hh_persons-0.328 0.0857-3.83*** NA 0.00
coef_number_of_school_tours_tours_undertaken_by_the_person 0.130 1.43 0.09 NA 0.00
coef_number_of_shop_tours_undertaken_by_the_houshold-0.328 0.660-0.50 NA 0.00
coef_number_of_students_in_hh 0.315 0.0885 3.56*** NA 0.00
coef_number_of_subtours_in_the_tour 0.337 0.128 2.63** NA 0.00
coef_number_of_university_tours_tours_undertaken_by_the_person-0.480 8.22e-07-BIG*** NA 0.00
coef_number_of_work_tours_undertaken_by_the_person-0.175 0.201-0.87 NA 0.00
coef_presence_of_kids_between_0_and_4_including_years_old 0.557 0.200 2.78** NA 0.00
coef_presence_of_kids_between_5_and_15_including_years_old 0.118 0.306 0.38 NA 0.00
-2.672-2.67 0.00 NA NA-2.67
coef_alternative_specific_constant_for_outbound_stops_1out_0in_school-1.77 0.250-7.07*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_school-4.31 0.594-7.26*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_school-6.21 1.12-5.53*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_school-1.23 0.243-5.05*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_school-3.19 0.436-7.30*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in 1.57 0.577 2.72** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_school 2.18 1.22 1.78 NA 0.00
coef_arrival_later_than_17_00_ 1.37 0.387 3.55*** NA 0.00
coef_dummy_for_distance_in_miles_school 0.0920 0.0697 1.32 NA 0.00
coef_dummy_for_female_school 0.688 0.282 2.44* NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ 1.90 0.388 4.91*** NA 0.00
coef_dummy_for_walking_to_all_stops_school-1.53 0.539-2.83** NA 0.00
coef_number_of_cars_number_of_workers_school 0.282 0.300 0.94 NA 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person_school 2.32 0.591 3.93*** NA 0.00
coef_number_of_hh_persons_school-0.603 0.0890-6.78*** NA 0.00
coef_presence_of_kids_between_5_and_15_including_years_old_school 0.0211 0.346 0.06 NA 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_univ-2.21 0.395-5.59*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_univ-4.04 0.629-6.42*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_univ-4.64 0.752-6.17*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_univ-1.57 0.395-3.98*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_univ-3.43 0.560-6.13*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_univ-3.86 0.649-5.95*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_univ 2.02 0.718 2.81** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_univ 2.12 1.26 1.68 NA 0.00
coef_arrival_later_than_17_00__univ 0.398 0.350 1.14 NA 0.00
coef_dummy_for_female_univ 0.527 0.361 1.46 NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__univ 1.09 0.968 1.12 NA 0.00
coef_hh_accesibility_for_inbound_tours_interaction 0.244 0.0583 4.18*** NA 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person_univ 1.86 1.35 1.37 NA 0.00
coef_number_of_hh_persons_univ-0.326 0.139-2.35* NA 0.00
coef_number_of_vehicles 0.266 0.201 1.32 NA 0.00
coef_presence_of_kids_between_5_and_15_including_years_old_univ-0.0615 0.651-0.09 NA 0.00
-1.783-1.78 0.00 NA NA-1.78
-2.874-2.87 0.00 NA NA-2.87
-3.379-3.38 0.00 NA NA-3.38
1.497 1.50 0.00 NA NA 1.50
coef_alternative_specific_constant_for_outbound_stops_1out_0in_social-1.29 0.598-2.16* NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_social-42.6 8.43e-07-BIG*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in-4.16 1.09-3.82*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in-28.9 4.10e-07-BIG*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_social 0.474 1.29 0.37 NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_social-2.40 1.50-1.61 NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_social-3.11 1.65-1.88 NA 0.00
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in-1.49 0.366-4.07*** NA 0.00
coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in-3.53 0.880-4.01*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_social 2.61 1.22 2.14* NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_social-9.81 921.-0.01 NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in-0.168 0.519-0.32 NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in-26.1 1.12e-07-BIG*** NA 0.00
coef_arrival_later_than_17_00__social-0.470 0.240-1.96 NA 0.00
coef_at_least_one_kid_and_one_adult_participate_in_the_tour 2.12 1.01 2.09* NA 0.00
coef_dummy_for_a_return_visiting_tour-1.75 1.28-1.36 NA 0.00
coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg 0.344 0.644 0.53 NA 0.00
coef_dummy_for_an_outbound_visiting_tour-0.742 0.617-1.20 NA 0.00
coef_dummy_for_distance_in_miles_social-0.0788 0.0646-1.22 NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_ 1.14 0.248 4.60*** NA 0.00
coef_dummy_for_walking_to_all_stops_social-2.09 0.423-4.94*** NA 0.00
coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction-0.0275 0.310-0.09 NA 0.00
coef_number_of_shop_tours_undertaken_by_the_person-0.178 0.302-0.59 NA 0.00
coef_number_of_vehicles_social-0.154 0.132-1.17 NA 0.00
coef_number_of_work_tours_undertaken_by_the_person_social-0.0102 0.288-0.04 NA 0.00
-3.024-3.02 0.00 NA NA-3.02
coef_alternative_specific_constant_for_outbound_stops_1out_0in_shopping-1.49 0.156-9.57*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_shopping-3.34 0.273-12.24*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_shopping-4.54 0.447-10.16*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_shopping-1.23 0.155-7.95*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_shopping-2.58 0.221-11.70*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_shopping 0.585 0.339 1.72 NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_shopping-0.0156 1.03-0.02 NA 0.00
coef_dummy_for_distance_in_miles_shopping 0.0214 0.0384 0.56 NA 0.00
coef_dummy_for_distance_less_than_5_miles 0.153 0.172 0.89 NA 0.00
coef_dummy_for_female_shopping 0.339 0.162 2.09* NA 0.00
coef_dummy_for_only_adults_participate_in_the_tour 1.54 0.764 2.02* NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__shopping 3.10 0.813 3.82*** NA 0.00
coef_dummy_for_walking_to_all_stops_shopping-1.88 0.331-5.69*** NA 0.00
coef_num_kids_between_5_and_15_including_years_old_shopping-0.0478 0.155-0.31 NA 0.00
coef_number_of_hh_persons_shopping-0.0870 0.0495-1.76 NA 0.00
coef_number_of_maintenace_tours_tours_undertaken_by_the_person-0.326 0.218-1.49 NA 0.00
coef_number_of_shop_tours_undertaken_by_the_houshold_shopping 0.148 0.276 0.54 NA 0.00
coef_number_of_university_tours_tours_undertaken_by_the_person_shopping-0.671 3.90e-07-BIG*** NA 0.00
coef_number_of_work_tours_undertaken_by_the_person_shopping-0.437 0.186-2.35* NA 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_eatout-1.88 0.316-5.94*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_eatout-32.6 1.42e-07-BIG*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_eatout-3.74 0.648-5.77*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_eatout-1.69 0.321-5.26*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_eatout-3.03 0.462-6.56*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_eatout-4.84 1.04-4.64*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_eatout-32.0 2.36e-07-BIG*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_eatout-30.9 2.73e-07-BIG*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_1out_0in_escort-2.23 0.253-8.78*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_escort-4.86 0.729-6.67*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_escort-4.79 0.731-6.56*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_escort-1.28 0.241-5.31*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_escort-2.46 0.315-7.81*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_escort-12.3 923.-0.01 NA 0.00
coef_dummy_for_distance_less_than_5_miles_escort 0.270 0.240 1.12 NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__escort 1.40 0.752 1.86 NA 0.00
coef_dummy_for_walking_to_all_stops_escort-0.341 0.889-0.38 NA 0.00
coef_number_of_escort_tours_tours_undertaken_by_the_person_escort-0.260 0.147-1.77 NA 0.00
coef_number_of_hh_persons_escort-0.179 0.0901-1.98* NA 0.00
coef_number_of_students_in_hh_escort 0.161 0.159 1.01 NA 0.00
coef_number_of_work_tours_undertaken_by_the_person_escort-0.158 0.289-0.55 NA 0.00
-2.462-2.46 0.00 NA NA-2.46
coef_alternative_specific_constant_for_outbound_stops_1out_0in_othmaint-2.12 0.292-7.26*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_othmaint-3.47 0.501-6.92*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_othmaint-4.23 0.775-5.46*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_1in_othmaint-0.834 0.287-2.91** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_othmaint-1.19 0.307-3.87*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othmaint 0.315 0.650 0.48 NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in_othmaint-31.0 8.73e-08-BIG*** NA 0.00
coef_dummy_for_distance_in_miles_othmaint 0.102 0.0656 1.55 NA 0.00
coef_dummy_for_distance_less_than_20_miles_-0.622 0.451-1.38 NA 0.00
coef_dummy_for_female_othmaint 0.281 0.254 1.11 NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othmaint 0.169 0.746 0.23 NA 0.00
coef_dummy_for_walking_to_all_stops_othmaint-2.30 0.751-3.06** NA 0.00
coef_middle_to_low_income_hh_ 0.170 1.58e-08 BIG*** NA 0.00
coef_number_of_maintenace_tours_undertaken_by_the_houshold-0.265 0.426-0.62 NA 0.00
coef_number_of_persons_participating_in_the_tour_return_stops_interaction 0.626 0.233 2.69** NA 0.00
coef_number_of_shool_tours_tours_undertaken_by_the_person-29.4 3.81e-08-BIG*** NA 0.00
coef_number_of_shop_tours_undertaken_by_the_person_othmaint-0.200 0.253-0.79 NA 0.00
coef_number_of_university_tours_tours_undertaken_by_the_person_othmaint-0.625 3.47e-08-BIG*** NA 0.00
coef_number_of_work_tours_undertaken_by_the_person_othmaint-0.358 0.317-1.13 NA 0.00
-0.921-0.921 0.00 NA NA-0.92
0.939 0.939 0.00 NA NA 0.94
coef_alternative_specific_constant_for_outbound_stops_1out_0in_othdiscr-1.39 0.171-8.11*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_2out_0in_othdiscr-2.96 0.290-10.20*** NA 0.00
coef_alternative_specific_constant_for_outbound_stops_3out_0in_othdiscr-4.39 0.503-8.73*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_othdiscr-2.52 0.258-9.77*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_othdiscr-3.02 0.316-9.58*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_othdiscr 1.09 0.410 2.65** NA 0.00
coef_arrival_later_than_17_00__othdiscr-0.367 0.208-1.76 NA 0.00
coef_dummy_for_distance_in_miles_othdiscr 0.0493 0.0477 1.03 NA 0.00
coef_dummy_for_distance_less_than_10_miles_-0.135 0.250-0.54 NA 0.00
coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours__othdiscr 0.254 0.398 0.64 NA 0.00
coef_dummy_for_walking_to_all_stops_othdiscr-2.06 0.429-4.81*** NA 0.00
coef_number_of_maintenace_tours_tours_undertaken_by_the_person_othdiscr-0.621 0.322-1.92 NA 0.00
coef_number_of_shool_tours_tours_undertaken_by_the_person_othdiscr-0.595 0.410-1.45 NA 0.00
coef_number_of_shop_tours_undertaken_by_the_person_othdiscr-0.607 0.236-2.57* NA 0.00
coef_number_of_work_tours_undertaken_by_the_person_othdiscr-0.475 0.243-1.96 NA 0.00
-3.671-3.67 0.00 NA NA-3.67
-3.896-3.90 0.00 NA NA-3.90
-7.3610000000000015-7.36 0.00 NA NA-7.36
coef_alternative_specific_constant_for_outbound_stops_2out_0in_atwork-5.61 0.354-15.85*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_2in_atwork-6.03 0.427-14.13*** NA 0.00
coef_alternative_specific_constant_for_return_stops_0out_3in_atwork-8.02 1.03-7.75*** NA 0.00
coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in_atwork 2.56 1.04 2.45* NA 0.00
coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_ 0.270 0.00 NA[] 0.00 0.00
coef_middle_to_low_income_hh__atwork 0.939 0.357 2.63** NA 0.00
coef_number_of_eating_tours_tours_undertaken_by_the_person-0.250 0.553-0.45 NA 0.00
coef_primary_destination_accessibility_log_of_it_ 0.171 0.0435 3.93*** NA 0.00
coef_subtour_departure_less_than_or_equal_to_11am 0.266 0.259 1.03 NA 0.00
coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_-0.152 0.0816-1.87 NA 0.00
coef_subtour_duration_in_hours_integer_ 0.682 0.0974 7.00*** NA 0.00
coef_subtour_return_time_greater_or_equal_to_2pm 1.55 0.707 2.19* NA 0.00
" + "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -6295,67 +6168,67 @@ " 3\n", " coef_number_of_hh_persons\n", " Number of HH Persons\n", - " -0.328159\n", + " -0.291501\n", " \n", " \n", " 4\n", " coef_number_of_students_in_hh\n", " Number of Students in HH\n", - " 0.315297\n", + " 0.206028\n", " \n", " \n", " 5\n", " coef_presence_of_kids_between_0_and_4_includin...\n", " Presence of Kids between 0 and 4 (including) y...\n", - " 0.557476\n", + " 0.738257\n", " \n", " \n", " 6\n", " coef_num_kids_between_5_and_15_including_years...\n", " Num kids between 5 and 15 (including) years old\n", - " 0.089718\n", + " 0.083356\n", " \n", " \n", " 7\n", " coef_presence_of_kids_between_5_and_15_includi...\n", " Presence of kids between 5 and 15 (including) ...\n", - " 0.117544\n", + " 0.174006\n", " \n", " \n", " 8\n", " coef_number_of_adults_16_years_old_\n", " Number of Adults (>= 16 years old)\n", - " 0.074203\n", + " 0.006177\n", " \n", " \n", " 9\n", " coef_number_of_cars_number_of_workers\n", " Number of Cars > Number of Workers\n", - " -0.065713\n", + " 0.195317\n", " \n", " \n", " 10\n", " coef_dummy_for_female\n", " Dummy for female\n", - " 0.282632\n", + " 0.231116\n", " \n", " \n", " 11\n", " coef_dummy_for_all_stops_made_by_transit\n", " Dummy for all stops made by transit\n", - " -0.672704\n", + " -0.698140\n", " \n", " \n", " 12\n", " coef_dummy_for_walking_to_all_stops\n", " Dummy for walking to all stops\n", - " -1.491072\n", + " -1.590379\n", " \n", " \n", " 13\n", " coef_number_of_work_tours_undertaken_by_the_pe...\n", " Number of work tours undertaken by the person\n", - " -0.174762\n", + " -0.182288\n", " \n", " \n", " 14\n", @@ -6367,49 +6240,49 @@ " 15\n", " coef_number_of_school_tours_tours_undertaken_b...\n", " Number of school tours tours undertaken by the...\n", - " 0.130473\n", + " -1.539830\n", " \n", " \n", " 16\n", " coef_number_of_escort_tours_tours_undertaken_b...\n", " Number of escort tours tours undertaken by the...\n", - " 0.097792\n", + " 0.285502\n", " \n", " \n", " 17\n", " coef_number_of_shop_tours_undertaken_by_the_ho...\n", " Number of shop tours undertaken by the houshold\n", - " -0.328294\n", + " 0.194165\n", " \n", " \n", " 18\n", " coef_am_peak_departure_between_6am_and_7_am_in...\n", " AM Peak departure between 6AM and 7 AM (includ...\n", - " -1.998832\n", + " -1.913742\n", " \n", " \n", " 19\n", " coef_evening_arrival_19_00_interacted_with_ret...\n", " Evening Arrival (>=19:00) Interacted with retu...\n", - " 0.606441\n", + " 0.297829\n", " \n", " \n", " 20\n", " coef_dummy_for_the_duration_of_the_tour_being_...\n", " Dummy for the duration of the tour being equal...\n", - " 0.713048\n", + " 0.629566\n", " \n", " \n", " 21\n", " coef_dummy_for_distance_less_than_20_miles\n", " dummy for distance less than 20 Miles\n", - " -0.588175\n", + " -0.209813\n", " \n", " \n", " 22\n", " coef_dummy_for_distance_in_miles\n", " dummy for distance in miles\n", - " 0.043974\n", + " 0.008199\n", " \n", " \n", " 23\n", @@ -6421,55 +6294,55 @@ " 24\n", " coef_alternative_specific_constant_for_return_...\n", " Alternative specific constant for return stops\n", - " -0.447476\n", + " -0.422070\n", " \n", " \n", " 25\n", " coef_number_of_subtours_in_the_tour\n", " Number of subtours in the tour\n", - " 0.337091\n", + " 0.184545\n", " \n", " \n", " 26\n", " coef_alternative_specific_constant_for_return_...\n", " Alternative specific constant for return stops\n", - " -1.657817\n", + " -1.737740\n", " \n", " \n", " 27\n", " coef_alternative_specific_constant_for_the_tot...\n", " Alternative specific constant for the total nu...\n", - " 0.039441\n", + " -0.033904\n", " \n", " \n", " 28\n", " coef_alternative_specific_constant_for_return_...\n", " Alternative specific constant for return stops\n", - " -2.139000\n", + " -2.056255\n", " \n", " \n", " 29\n", " coef_alternative_specific_constant_for_outboun...\n", " Alternative specific constant for outbound stops\n", - " -0.741225\n", + " -0.817659\n", " \n", " \n", " 30\n", " coef_alternative_specific_constant_for_outboun...\n", " Alternative specific constant for outbound stops\n", - " -2.594489\n", + " -2.553493\n", " \n", " \n", " 31\n", " coef_alternative_specific_constant_for_the_tot...\n", " Alternative specific constant for the total nu...\n", - " 0.754748\n", + " 0.555526\n", " \n", " \n", " 32\n", " coef_alternative_specific_constant_for_outboun...\n", " Alternative specific constant for outbound stops\n", - " -3.934000\n", + " -3.914672\n", " \n", " \n", "\n", @@ -6515,36 +6388,36 @@ "0 Middle to Low Income HH 0.170000 \n", "1 Mid to High Income HH 0.230000 \n", "2 High Income HH 0.240000 \n", - "3 Number of HH Persons -0.328159 \n", - "4 Number of Students in HH 0.315297 \n", - "5 Presence of Kids between 0 and 4 (including) y... 0.557476 \n", - "6 Num kids between 5 and 15 (including) years old 0.089718 \n", - "7 Presence of kids between 5 and 15 (including) ... 0.117544 \n", - "8 Number of Adults (>= 16 years old) 0.074203 \n", - "9 Number of Cars > Number of Workers -0.065713 \n", - "10 Dummy for female 0.282632 \n", - "11 Dummy for all stops made by transit -0.672704 \n", - "12 Dummy for walking to all stops -1.491072 \n", - "13 Number of work tours undertaken by the person -0.174762 \n", + "3 Number of HH Persons -0.291501 \n", + "4 Number of Students in HH 0.206028 \n", + "5 Presence of Kids between 0 and 4 (including) y... 0.738257 \n", + "6 Num kids between 5 and 15 (including) years old 0.083356 \n", + "7 Presence of kids between 5 and 15 (including) ... 0.174006 \n", + "8 Number of Adults (>= 16 years old) 0.006177 \n", + "9 Number of Cars > Number of Workers 0.195317 \n", + "10 Dummy for female 0.231116 \n", + "11 Dummy for all stops made by transit -0.698140 \n", + "12 Dummy for walking to all stops -1.590379 \n", + "13 Number of work tours undertaken by the person -0.182288 \n", "14 Number of university tours tours undertaken by... -0.480000 \n", - "15 Number of school tours tours undertaken by the... 0.130473 \n", - "16 Number of escort tours tours undertaken by the... 0.097792 \n", - "17 Number of shop tours undertaken by the houshold -0.328294 \n", - "18 AM Peak departure between 6AM and 7 AM (includ... -1.998832 \n", - "19 Evening Arrival (>=19:00) Interacted with retu... 0.606441 \n", - "20 Dummy for the duration of the tour being equal... 0.713048 \n", - "21 dummy for distance less than 20 Miles -0.588175 \n", - "22 dummy for distance in miles 0.043974 \n", + "15 Number of school tours tours undertaken by the... -1.539830 \n", + "16 Number of escort tours tours undertaken by the... 0.285502 \n", + "17 Number of shop tours undertaken by the houshold 0.194165 \n", + "18 AM Peak departure between 6AM and 7 AM (includ... -1.913742 \n", + "19 Evening Arrival (>=19:00) Interacted with retu... 0.297829 \n", + "20 Dummy for the duration of the tour being equal... 0.629566 \n", + "21 dummy for distance less than 20 Miles -0.209813 \n", + "22 dummy for distance in miles 0.008199 \n", "23 No stops if tour mode is driveTransit -999.000000 \n", - "24 Alternative specific constant for return stops -0.447476 \n", - "25 Number of subtours in the tour 0.337091 \n", - "26 Alternative specific constant for return stops -1.657817 \n", - "27 Alternative specific constant for the total nu... 0.039441 \n", - "28 Alternative specific constant for return stops -2.139000 \n", - "29 Alternative specific constant for outbound stops -0.741225 \n", - "30 Alternative specific constant for outbound stops -2.594489 \n", - "31 Alternative specific constant for the total nu... 0.754748 \n", - "32 Alternative specific constant for outbound stops -3.934000 " + "24 Alternative specific constant for return stops -0.422070 \n", + "25 Number of subtours in the tour 0.184545 \n", + "26 Alternative specific constant for return stops -1.737740 \n", + "27 Alternative specific constant for the total nu... -0.033904 \n", + "28 Alternative specific constant for return stops -2.056255 \n", + "29 Alternative specific constant for outbound stops -0.817659 \n", + "30 Alternative specific constant for outbound stops -2.553493 \n", + "31 Alternative specific constant for the total nu... 0.555526 \n", + "32 Alternative specific constant for outbound stops -3.914672 " ] }, "execution_count": 12, @@ -6564,7 +6437,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -6578,7 +6451,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/22_trip_dest.ipynb b/activitysim/examples/example_estimation/notebooks/22_trip_dest.ipynb index 576e87bfe5..2965cb74f0 100644 --- a/activitysim/examples/example_estimation/notebooks/22_trip_dest.ipynb +++ b/activitysim/examples/example_estimation/notebooks/22_trip_dest.ipynb @@ -26,30 +26,74 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import larch # !conda install larch #for estimation\n", + "import larch as lx\n", "import pandas as pd\n", - "import numpy as np\n", - "import yaml \n", - "import larch.util.excel\n", - "import os" + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -72,10 +116,35 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loading from output-est-mode/estimation_data_bundle/trip_destination/trip_destination_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/trip_destination/trip_destination_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/trip_destination/trip_destination_alternatives_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/trip_destination/trip_destination_choosers_combined.parquet\n", + "loading from output-est-mode/estimation_data_bundle/trip_destination/trip_destination_landuse.csv\n", + "loading from output-est-mode/estimation_data_bundle/trip_destination/trip_destination_size_terms.csv\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jpn/Git/est-mode/activitysim/activitysim/estimation/larch/location_choice.py:548: UserWarning: Removed 5419 choosers with invalid (zero-sized) observed choice\n", + " return location_choice_model(\n" + ] + } + ], "source": [ "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -290,148 +359,118 @@ " \n", " \n", " trip_id\n", - " variable\n", - " 1\n", - " 2\n", - " 3\n", - " 4\n", - " 5\n", - " 6\n", - " 7\n", - " 8\n", - " ...\n", - " 181\n", - " 182\n", - " 183\n", - " 184\n", - " 185\n", - " 186\n", - " 187\n", - " 188\n", - " 189\n", - " 190\n", + " dest_taz\n", + " util_size_term\n", + " util_no_attractions\n", + " util_distance_inbound\n", + " util_distance_outbound\n", + " util_distance_joint\n", + " util_prox_home_outbound\n", + " util_prox_home_inbound\n", + " util_prox_dest_outbound\n", + " util_prox_dest_inbound\n", + " util_sample_of_alternatives_correction_factor\n", + " util_mode_choice_logsum_os\n", + " util_stop_not_accessible_by_this_tour_mode\n", + " util_mode_choice_logsum_sd\n", + " util_dest_not_accessible_by_this_tour_mode\n", " \n", " \n", " \n", " \n", " 0\n", - " 123229\n", - " util_dest_not_accessible_by_this_tour_mode\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " ...\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", + " 439241\n", + " 2\n", + " 6.117394\n", " False\n", + " 0.000000\n", + " 14.110000\n", + " 0.0\n", + " 6.89\n", + " 0.000000\n", + " 7.22\n", + " 0.00\n", + " 6.128602\n", + " -0.847005\n", " False\n", + " -0.633253\n", " False\n", " \n", " \n", " 1\n", - " 123229\n", - " util_distance_inbound\n", - " 6.390000343322754\n", - " 6.170000076293945\n", - " 5.920000076293945\n", - " 5.810000419616699\n", - " 5.299999713897705\n", - " 5.170000076293945\n", - " 4.840000152587891\n", - " 4.630000114440918\n", - " ...\n", - " 9.819999694824219\n", - " 11.25\n", - " 10.449999809265137\n", - " 8.970000267028809\n", - " 7.920000076293945\n", - " 9.600000381469727\n", - " 9.889999389648438\n", - " 10.079999923706055\n", - " 11.899999618530273\n", - " 12.170000076293945\n", + " 439241\n", + " 11\n", + " 7.726934\n", + " False\n", + " 0.000000\n", + " 12.280001\n", + " 0.0\n", + " 5.90\n", + " 0.000000\n", + " 6.38\n", + " 0.00\n", + " 3.637608\n", + " -0.558405\n", + " False\n", + " -0.497479\n", + " False\n", " \n", " \n", " 2\n", - " 123229\n", - " util_distance_joint\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 439241\n", + " 16\n", + " 7.935721\n", + " False\n", + " 0.000000\n", + " 14.280000\n", " 0.0\n", + " 6.81\n", + " 0.000000\n", + " 7.47\n", + " 0.00\n", + " 3.634621\n", + " -0.681632\n", + " False\n", + " -0.639591\n", + " False\n", " \n", " \n", " 3\n", - " 123229\n", - " util_distance_outbound\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 439241\n", + " 21\n", + " 5.953480\n", + " False\n", + " 0.000000\n", + " 12.920000\n", " 0.0\n", + " 6.13\n", + " 0.000000\n", + " 6.79\n", + " 0.00\n", + " 5.476918\n", + " -0.536647\n", + " False\n", + " -0.524008\n", + " False\n", " \n", " \n", " 4\n", - " 123229\n", - " util_mode_choice_logsum_os\n", - " -1.1826465123669618\n", - " -1.1342039462845261\n", - " -1.0045888362609303\n", - " -0.9695035841251944\n", - " -0.9086842324484546\n", - " -0.7911335856893744\n", - " -1.0394341719374236\n", - " -0.735128183005223\n", - " ...\n", - " -0.5685844758479193\n", - " -0.7106540688185471\n", - " -0.6324772374186627\n", - " -0.5127860821542347\n", - " -0.427736842041275\n", - " -0.5989989879176718\n", - " -0.6352947097849363\n", - " -0.6732994275559964\n", - " -0.8319610659002946\n", - " -0.8302145411677482\n", + " 439241\n", + " 82\n", + " 5.890218\n", + " False\n", + " 0.000000\n", + " 9.790000\n", + " 0.0\n", + " 4.83\n", + " 0.000000\n", + " 4.96\n", + " 0.00\n", + " 5.218103\n", + " -0.383122\n", + " False\n", + " -0.265333\n", + " False\n", " \n", " \n", " ...\n", @@ -451,230 +490,213 @@ " ...\n", " ...\n", " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " \n", - " \n", - " 39139\n", - " 2478375757\n", - " util_prox_home_inbound\n", - " 5.659999847412109\n", - " 5.570000171661377\n", - " 5.5\n", - " 5.329999923706055\n", - " 5.119999885559082\n", - " 5.190000057220459\n", - " 5.019999980926514\n", - " 4.809999942779541\n", - " ...\n", - " 6.260000228881836\n", - " 5.440000057220459\n", - " 5.110000133514404\n", - " 4.889999866485596\n", - " 4.329999923706055\n", - " 4.5\n", - " 3.990000009536743\n", - " 3.4200000762939453\n", - " 4.159999847412109\n", - " 4.650000095367432\n", - " \n", - " \n", - " 39140\n", - " 2478375757\n", - " util_prox_home_outbound\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " ...\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " \n", " \n", - " 39141\n", - " 2478375757\n", - " util_sample_of_alternatives_correction_factor\n", - " 5.969689780743902\n", - " 5.229744858144034\n", - " 6.651885938411212\n", - " 5.457984599784746\n", - " 4.557500241901908\n", - " 5.683456777589848\n", - " 4.880351408439651\n", - " 5.056172176409885\n", - " ...\n", - " 6.167159960103807\n", - " 5.635222918217218\n", - " 4.9055149705471015\n", - " 5.197733187456251\n", - " 4.545857557157909\n", - " 5.146011961990624\n", - " 5.677734711636542\n", - " 4.0921031600858315\n", - " 5.525577058677637\n", - " 6.765177014979627\n", - " \n", - " \n", - " 39142\n", - " 2478375757\n", - " util_size_term\n", - " 5.8928092787280315\n", - " 6.61382841501164\n", - " 5.174023179275996\n", - " 6.331334576117736\n", - " 7.181350090272405\n", - " 6.062963941307298\n", - " 6.824432363972737\n", - " 6.596881001099327\n", - " ...\n", - " 5.988058753973149\n", - " 6.313073295919817\n", - " 6.959507591274848\n", - " 6.611773525937498\n", - " 7.122336273469753\n", - " 6.565080445969589\n", - " 5.957654370567811\n", - " 7.481461558469711\n", - " 6.2347224418357365\n", - " 5.096060413644514\n", - " \n", - " \n", - " 39143\n", - " 2478375757\n", - " util_stop_not_accessible_by_this_tour_mode\n", - " False\n", - " False\n", - " False\n", + " 854498\n", + " 2481262477\n", + " 1314\n", + " 6.565007\n", " False\n", + " 21.299999\n", + " 0.000000\n", + " 0.0\n", + " 0.00\n", + " 10.650000\n", + " 0.00\n", + " 10.65\n", + " 3.869640\n", + " -3.466365\n", " False\n", + " -3.466365\n", " False\n", + " \n", + " \n", + " 854499\n", + " 2481262477\n", + " 1315\n", + " 5.491167\n", " False\n", + " 14.500000\n", + " 0.000000\n", + " 0.0\n", + " 0.00\n", + " 7.250000\n", + " 0.00\n", + " 7.25\n", + " 2.986897\n", + " -2.475631\n", " False\n", - " ...\n", + " -2.476182\n", " False\n", + " \n", + " \n", + " 854500\n", + " 2481262477\n", + " 1318\n", + " 4.109496\n", " False\n", + " 35.799999\n", + " 0.000000\n", + " 0.0\n", + " 0.00\n", + " 17.900000\n", + " 0.00\n", + " 17.90\n", + " 7.056036\n", + " -6.066198\n", " False\n", + " -6.054759\n", " False\n", + " \n", + " \n", + " 854501\n", + " 2481262477\n", + " 1324\n", + " 5.586113\n", " False\n", + " 40.349998\n", + " 0.000000\n", + " 0.0\n", + " 0.00\n", + " 19.950001\n", + " 0.00\n", + " 20.40\n", + " 6.153502\n", + " -6.458255\n", " False\n", + " -6.443607\n", " False\n", + " \n", + " \n", + " 854502\n", + " 2481262477\n", + " 1361\n", + " 7.160701\n", " False\n", + " 60.360001\n", + " 0.000000\n", + " 0.0\n", + " 0.00\n", + " 30.180000\n", + " 0.00\n", + " 30.18\n", + " 7.103621\n", + " -9.888594\n", " False\n", + " -9.902823\n", " False\n", " \n", " \n", "\n", - "

39144 rows × 192 columns

\n", + "

854503 rows × 16 columns

\n", "" ], "text/plain": [ - " trip_id variable \\\n", - "0 123229 util_dest_not_accessible_by_this_tour_mode \n", - "1 123229 util_distance_inbound \n", - "2 123229 util_distance_joint \n", - "3 123229 util_distance_outbound \n", - "4 123229 util_mode_choice_logsum_os \n", - "... ... ... \n", - "39139 2478375757 util_prox_home_inbound \n", - "39140 2478375757 util_prox_home_outbound \n", - "39141 2478375757 util_sample_of_alternatives_correction_factor \n", - "39142 2478375757 util_size_term \n", - "39143 2478375757 util_stop_not_accessible_by_this_tour_mode \n", + " trip_id dest_taz util_size_term util_no_attractions \\\n", + "0 439241 2 6.117394 False \n", + "1 439241 11 7.726934 False \n", + "2 439241 16 7.935721 False \n", + "3 439241 21 5.953480 False \n", + "4 439241 82 5.890218 False \n", + "... ... ... ... ... \n", + "854498 2481262477 1314 6.565007 False \n", + "854499 2481262477 1315 5.491167 False \n", + "854500 2481262477 1318 4.109496 False \n", + "854501 2481262477 1324 5.586113 False \n", + "854502 2481262477 1361 7.160701 False \n", + "\n", + " util_distance_inbound util_distance_outbound util_distance_joint \\\n", + "0 0.000000 14.110000 0.0 \n", + "1 0.000000 12.280001 0.0 \n", + "2 0.000000 14.280000 0.0 \n", + "3 0.000000 12.920000 0.0 \n", + "4 0.000000 9.790000 0.0 \n", + "... ... ... ... \n", + "854498 21.299999 0.000000 0.0 \n", + "854499 14.500000 0.000000 0.0 \n", + "854500 35.799999 0.000000 0.0 \n", + "854501 40.349998 0.000000 0.0 \n", + "854502 60.360001 0.000000 0.0 \n", "\n", - " 1 2 3 \\\n", - "0 False False False \n", - "1 6.390000343322754 6.170000076293945 5.920000076293945 \n", - "2 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 \n", - "4 -1.1826465123669618 -1.1342039462845261 -1.0045888362609303 \n", - "... ... ... ... \n", - "39139 5.659999847412109 5.570000171661377 5.5 \n", - "39140 0.0 0.0 0.0 \n", - "39141 5.969689780743902 5.229744858144034 6.651885938411212 \n", - "39142 5.8928092787280315 6.61382841501164 5.174023179275996 \n", - "39143 False False False \n", + " util_prox_home_outbound util_prox_home_inbound \\\n", + "0 6.89 0.000000 \n", + "1 5.90 0.000000 \n", + "2 6.81 0.000000 \n", + "3 6.13 0.000000 \n", + "4 4.83 0.000000 \n", + "... ... ... \n", + "854498 0.00 10.650000 \n", + "854499 0.00 7.250000 \n", + "854500 0.00 17.900000 \n", + "854501 0.00 19.950001 \n", + "854502 0.00 30.180000 \n", "\n", - " 4 5 6 \\\n", - "0 False False False \n", - "1 5.810000419616699 5.299999713897705 5.170000076293945 \n", - "2 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 \n", - "4 -0.9695035841251944 -0.9086842324484546 -0.7911335856893744 \n", - "... ... ... ... \n", - "39139 5.329999923706055 5.119999885559082 5.190000057220459 \n", - "39140 0.0 0.0 0.0 \n", - "39141 5.457984599784746 4.557500241901908 5.683456777589848 \n", - "39142 6.331334576117736 7.181350090272405 6.062963941307298 \n", - "39143 False False False \n", + " util_prox_dest_outbound util_prox_dest_inbound \\\n", + "0 7.22 0.00 \n", + "1 6.38 0.00 \n", + "2 7.47 0.00 \n", + "3 6.79 0.00 \n", + "4 4.96 0.00 \n", + "... ... ... \n", + "854498 0.00 10.65 \n", + "854499 0.00 7.25 \n", + "854500 0.00 17.90 \n", + "854501 0.00 20.40 \n", + "854502 0.00 30.18 \n", "\n", - " 7 8 ... 181 \\\n", - "0 False False ... False \n", - "1 4.840000152587891 4.630000114440918 ... 9.819999694824219 \n", - "2 0.0 0.0 ... 0.0 \n", - "3 0.0 0.0 ... 0.0 \n", - "4 -1.0394341719374236 -0.735128183005223 ... -0.5685844758479193 \n", - "... ... ... ... ... \n", - "39139 5.019999980926514 4.809999942779541 ... 6.260000228881836 \n", - "39140 0.0 0.0 ... 0.0 \n", - "39141 4.880351408439651 5.056172176409885 ... 6.167159960103807 \n", - "39142 6.824432363972737 6.596881001099327 ... 5.988058753973149 \n", - "39143 False False ... False \n", + " util_sample_of_alternatives_correction_factor \\\n", + "0 6.128602 \n", + "1 3.637608 \n", + "2 3.634621 \n", + "3 5.476918 \n", + "4 5.218103 \n", + "... ... \n", + "854498 3.869640 \n", + "854499 2.986897 \n", + "854500 7.056036 \n", + "854501 6.153502 \n", + "854502 7.103621 \n", "\n", - " 182 183 184 \\\n", - "0 False False False \n", - "1 11.25 10.449999809265137 8.970000267028809 \n", - "2 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 \n", - "4 -0.7106540688185471 -0.6324772374186627 -0.5127860821542347 \n", - "... ... ... ... \n", - "39139 5.440000057220459 5.110000133514404 4.889999866485596 \n", - "39140 0.0 0.0 0.0 \n", - "39141 5.635222918217218 4.9055149705471015 5.197733187456251 \n", - "39142 6.313073295919817 6.959507591274848 6.611773525937498 \n", - "39143 False False False \n", + " util_mode_choice_logsum_os \\\n", + "0 -0.847005 \n", + "1 -0.558405 \n", + "2 -0.681632 \n", + "3 -0.536647 \n", + "4 -0.383122 \n", + "... ... \n", + "854498 -3.466365 \n", + "854499 -2.475631 \n", + "854500 -6.066198 \n", + "854501 -6.458255 \n", + "854502 -9.888594 \n", "\n", - " 185 186 187 \\\n", - "0 False False False \n", - "1 7.920000076293945 9.600000381469727 9.889999389648438 \n", - "2 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 \n", - "4 -0.427736842041275 -0.5989989879176718 -0.6352947097849363 \n", - "... ... ... ... \n", - "39139 4.329999923706055 4.5 3.990000009536743 \n", - "39140 0.0 0.0 0.0 \n", - "39141 4.545857557157909 5.146011961990624 5.677734711636542 \n", - "39142 7.122336273469753 6.565080445969589 5.957654370567811 \n", - "39143 False False False \n", + " util_stop_not_accessible_by_this_tour_mode \\\n", + "0 False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 False \n", + "... ... \n", + "854498 False \n", + "854499 False \n", + "854500 False \n", + "854501 False \n", + "854502 False \n", "\n", - " 188 189 190 \n", - "0 False False False \n", - "1 10.079999923706055 11.899999618530273 12.170000076293945 \n", - "2 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 \n", - "4 -0.6732994275559964 -0.8319610659002946 -0.8302145411677482 \n", - "... ... ... ... \n", - "39139 3.4200000762939453 4.159999847412109 4.650000095367432 \n", - "39140 0.0 0.0 0.0 \n", - "39141 4.0921031600858315 5.525577058677637 6.765177014979627 \n", - "39142 7.481461558469711 6.2347224418357365 5.096060413644514 \n", - "39143 False False False \n", + " util_mode_choice_logsum_sd util_dest_not_accessible_by_this_tour_mode \n", + "0 -0.633253 False \n", + "1 -0.497479 False \n", + "2 -0.639591 False \n", + "3 -0.524008 False \n", + "4 -0.265333 False \n", + "... ... ... \n", + "854498 -3.466365 False \n", + "854499 -2.476182 False \n", + "854500 -6.054759 False \n", + "854501 -6.443607 False \n", + "854502 -9.902823 False \n", "\n", - "[39144 rows x 192 columns]" + "[854503 rows x 16 columns]" ] }, "execution_count": 6, @@ -724,130 +746,142 @@ " override_choice\n", " person_id\n", " household_id\n", - " tour_id\n", " primary_purpose\n", " trip_num\n", " outbound\n", " trip_count\n", + " destination\n", + " ...\n", " purpose\n", " next_trip_id\n", - " destination\n", - " origin\n", - " failed\n", " tour_mode\n", " trip_period\n", " is_joint\n", + " tour_leg_dest\n", + " purpose_index_num\n", + " tour_mode_is_walk\n", + " tour_mode_is_bike\n", " destination_logsum\n", " \n", " \n", " \n", " \n", " 0\n", - " 123229\n", - " 7\n", - " 69\n", - " 375\n", - " 375\n", - " 15403\n", - " othmaint\n", + " 439241\n", + " 93\n", + " 178\n", + " 1339\n", + " 1339\n", + " eatout\n", " 1\n", - " False\n", - " 3\n", + " True\n", + " 2\n", + " 187\n", + " ...\n", " shopping\n", - " 123230\n", - " 105\n", - " 67\n", - " False\n", + " 439242\n", " DRIVEALONEFREE\n", - " MD\n", + " PM\n", + " False\n", + " 187.0\n", + " 2\n", + " False\n", " False\n", " NaN\n", " \n", " \n", " 1\n", - " 123230\n", - " 9\n", - " 106\n", - " 375\n", - " 375\n", - " 15403\n", - " othmaint\n", + " 497189\n", + " 169\n", + " 99\n", + " 1515\n", + " 1515\n", + " shopping\n", + " 1\n", + " False\n", " 2\n", + " 170\n", + " ...\n", + " othdiscr\n", + " 497190\n", + " DRIVEALONEFREE\n", + " EV\n", " False\n", - " 3\n", - " eatout\n", - " 123231\n", - " 105\n", - " 69\n", + " 170.0\n", + " 6\n", " False\n", - " DRIVEALONEFREE\n", - " MD\n", " False\n", " NaN\n", " \n", " \n", " 2\n", - " 206561\n", - " 7\n", - " 9\n", - " 629\n", - " 629\n", - " 25820\n", - " univ\n", + " 536181\n", + " 184\n", + " 177\n", + " 1634\n", + " 1634\n", + " othmaint\n", " 1\n", - " True\n", + " False\n", " 2\n", - " escort\n", - " 206562\n", - " 12\n", - " 131\n", + " 178\n", + " ...\n", + " othmaint\n", + " 536182\n", + " DRIVEALONEFREE\n", + " PM\n", + " False\n", + " 178.0\n", + " 4\n", " False\n", - " WALK_HVY\n", - " MD\n", " False\n", " NaN\n", " \n", " \n", " 3\n", - " 265617\n", - " 141\n", - " 141\n", - " 809\n", - " 809\n", - " 33202\n", - " shopping\n", + " 593909\n", + " 183\n", + " 136\n", + " 1810\n", + " 1810\n", + " othmaint\n", + " 1\n", + " False\n", + " 3\n", + " 183\n", + " ...\n", + " escort\n", + " 593910\n", + " SHARED2FREE\n", + " AM\n", + " False\n", + " 183.0\n", " 1\n", - " True\n", - " 2\n", - " shopping\n", - " 265618\n", - " 117\n", - " 138\n", " False\n", - " DRIVEALONEFREE\n", - " MD\n", " False\n", " NaN\n", " \n", " \n", " 4\n", - " 265621\n", - " 127\n", - " 127\n", - " 809\n", - " 809\n", - " 33202\n", - " shopping\n", - " 1\n", - " False\n", + " 593910\n", + " 89\n", + " 188\n", + " 1810\n", + " 1810\n", + " othmaint\n", " 2\n", + " False\n", + " 3\n", + " 183\n", + " ...\n", " othmaint\n", - " 265622\n", - " 138\n", - " 117\n", + " 593911\n", + " SHARED2FREE\n", + " AM\n", + " False\n", + " 183.0\n", + " 4\n", " False\n", - " DRIVEALONEFREE\n", - " MD\n", " False\n", " NaN\n", " \n", @@ -872,176 +906,201 @@ " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 2791\n", - " 2473349145\n", - " 7\n", - " 121\n", - " 7540698\n", - " 2849363\n", - " 309168643\n", + " 36442\n", + " 2480879045\n", + " 1304\n", + " 1306\n", + " 7563655\n", + " 2872320\n", " othdiscr\n", " 1\n", - " True\n", + " False\n", " 2\n", - " social\n", - " 2473349146\n", - " 56\n", - " 92\n", + " 1293\n", + " ...\n", + " othdiscr\n", + " 2480879046\n", + " DRIVEALONEFREE\n", + " MD\n", + " False\n", + " 1293.0\n", + " 6\n", " False\n", - " SHARED3FREE\n", - " PM\n", " False\n", " NaN\n", " \n", " \n", - " 2792\n", - " 2473471869\n", - " 25\n", - " 134\n", - " 7541072\n", - " 2849737\n", - " 309183983\n", - " univ\n", + " 36443\n", + " 2480879069\n", + " 1298\n", + " 1299\n", + " 7563655\n", + " 2872320\n", + " othmaint\n", " 1\n", " False\n", + " 4\n", + " 1293\n", + " ...\n", + " shopping\n", + " 2480879070\n", + " DRIVEALONEFREE\n", + " PM\n", + " False\n", + " 1293.0\n", " 2\n", - " escort\n", - " 2473471870\n", - " 117\n", - " 107\n", " False\n", - " TAXI\n", - " AM\n", " False\n", " NaN\n", " \n", " \n", - " 2793\n", - " 2477980533\n", - " 7\n", - " 117\n", - " 7554818\n", - " 2863483\n", - " 309747566\n", + " 36444\n", + " 2480879070\n", + " 1291\n", + " 1293\n", + " 7563655\n", + " 2872320\n", " othmaint\n", - " 1\n", - " False\n", " 2\n", - " shopping\n", - " 2477980534\n", - " 20\n", - " 177\n", " False\n", + " 4\n", + " 1293\n", + " ...\n", + " eatout\n", + " 2480879071\n", " DRIVEALONEFREE\n", " PM\n", " False\n", + " 1293.0\n", + " 3\n", + " False\n", + " False\n", " NaN\n", " \n", " \n", - " 2794\n", - " 2478086525\n", - " 7\n", - " 48\n", - " 7555141\n", - " 2863806\n", - " 309760815\n", - " shopping\n", - " 1\n", + " 36445\n", + " 2480879071\n", + " 1293\n", + " 1293\n", + " 7563655\n", + " 2872320\n", + " othmaint\n", + " 3\n", + " False\n", + " 4\n", + " 1293\n", + " ...\n", + " othdiscr\n", + " 2480879072\n", + " DRIVEALONEFREE\n", + " PM\n", " False\n", - " 2\n", - " shopping\n", - " 2478086526\n", - " 85\n", - " 41\n", + " 1293.0\n", + " 6\n", " False\n", - " SHARED2FREE\n", - " PM\n", " False\n", " NaN\n", " \n", " \n", - " 2795\n", - " 2478375757\n", - " 126\n", - " 127\n", - " 7556023\n", - " 2864688\n", - " 309796969\n", + " 36446\n", + " 2481262477\n", + " 1309\n", + " 1302\n", + " 7564824\n", + " 2873489\n", " othdiscr\n", " 1\n", " False\n", " 2\n", - " escort\n", - " 2478375758\n", - " 136\n", - " 128\n", - " False\n", + " 1310\n", + " ...\n", + " shopping\n", + " 2481262478\n", " DRIVEALONEFREE\n", - " EV\n", + " PM\n", + " False\n", + " 1310.0\n", + " 2\n", + " False\n", " False\n", " NaN\n", " \n", " \n", "\n", - "

2796 rows × 19 columns

\n", + "

36447 rows × 23 columns

\n", "" ], "text/plain": [ - " trip_id model_choice override_choice person_id household_id \\\n", - "0 123229 7 69 375 375 \n", - "1 123230 9 106 375 375 \n", - "2 206561 7 9 629 629 \n", - "3 265617 141 141 809 809 \n", - "4 265621 127 127 809 809 \n", - "... ... ... ... ... ... \n", - "2791 2473349145 7 121 7540698 2849363 \n", - "2792 2473471869 25 134 7541072 2849737 \n", - "2793 2477980533 7 117 7554818 2863483 \n", - "2794 2478086525 7 48 7555141 2863806 \n", - "2795 2478375757 126 127 7556023 2864688 \n", + " trip_id model_choice override_choice person_id household_id \\\n", + "0 439241 93 178 1339 1339 \n", + "1 497189 169 99 1515 1515 \n", + "2 536181 184 177 1634 1634 \n", + "3 593909 183 136 1810 1810 \n", + "4 593910 89 188 1810 1810 \n", + "... ... ... ... ... ... \n", + "36442 2480879045 1304 1306 7563655 2872320 \n", + "36443 2480879069 1298 1299 7563655 2872320 \n", + "36444 2480879070 1291 1293 7563655 2872320 \n", + "36445 2480879071 1293 1293 7563655 2872320 \n", + "36446 2481262477 1309 1302 7564824 2873489 \n", "\n", - " tour_id primary_purpose trip_num outbound trip_count purpose \\\n", - "0 15403 othmaint 1 False 3 shopping \n", - "1 15403 othmaint 2 False 3 eatout \n", - "2 25820 univ 1 True 2 escort \n", - "3 33202 shopping 1 True 2 shopping \n", - "4 33202 shopping 1 False 2 othmaint \n", - "... ... ... ... ... ... ... \n", - "2791 309168643 othdiscr 1 True 2 social \n", - "2792 309183983 univ 1 False 2 escort \n", - "2793 309747566 othmaint 1 False 2 shopping \n", - "2794 309760815 shopping 1 False 2 shopping \n", - "2795 309796969 othdiscr 1 False 2 escort \n", + " primary_purpose trip_num outbound trip_count destination ... \\\n", + "0 eatout 1 True 2 187 ... \n", + "1 shopping 1 False 2 170 ... \n", + "2 othmaint 1 False 2 178 ... \n", + "3 othmaint 1 False 3 183 ... \n", + "4 othmaint 2 False 3 183 ... \n", + "... ... ... ... ... ... ... \n", + "36442 othdiscr 1 False 2 1293 ... \n", + "36443 othmaint 1 False 4 1293 ... \n", + "36444 othmaint 2 False 4 1293 ... \n", + "36445 othmaint 3 False 4 1293 ... \n", + "36446 othdiscr 1 False 2 1310 ... \n", "\n", - " next_trip_id destination origin failed tour_mode trip_period \\\n", - "0 123230 105 67 False DRIVEALONEFREE MD \n", - "1 123231 105 69 False DRIVEALONEFREE MD \n", - "2 206562 12 131 False WALK_HVY MD \n", - "3 265618 117 138 False DRIVEALONEFREE MD \n", - "4 265622 138 117 False DRIVEALONEFREE MD \n", - "... ... ... ... ... ... ... \n", - "2791 2473349146 56 92 False SHARED3FREE PM \n", - "2792 2473471870 117 107 False TAXI AM \n", - "2793 2477980534 20 177 False DRIVEALONEFREE PM \n", - "2794 2478086526 85 41 False SHARED2FREE PM \n", - "2795 2478375758 136 128 False DRIVEALONEFREE EV \n", + " purpose next_trip_id tour_mode trip_period is_joint \\\n", + "0 shopping 439242 DRIVEALONEFREE PM False \n", + "1 othdiscr 497190 DRIVEALONEFREE EV False \n", + "2 othmaint 536182 DRIVEALONEFREE PM False \n", + "3 escort 593910 SHARED2FREE AM False \n", + "4 othmaint 593911 SHARED2FREE AM False \n", + "... ... ... ... ... ... \n", + "36442 othdiscr 2480879046 DRIVEALONEFREE MD False \n", + "36443 shopping 2480879070 DRIVEALONEFREE PM False \n", + "36444 eatout 2480879071 DRIVEALONEFREE PM False \n", + "36445 othdiscr 2480879072 DRIVEALONEFREE PM False \n", + "36446 shopping 2481262478 DRIVEALONEFREE PM False \n", "\n", - " is_joint destination_logsum \n", - "0 False NaN \n", - "1 False NaN \n", - "2 False NaN \n", - "3 False NaN \n", - "4 False NaN \n", - "... ... ... \n", - "2791 False NaN \n", - "2792 False NaN \n", - "2793 False NaN \n", - "2794 False NaN \n", - "2795 False NaN \n", + " tour_leg_dest purpose_index_num tour_mode_is_walk tour_mode_is_bike \\\n", + "0 187.0 2 False False \n", + "1 170.0 6 False False \n", + "2 178.0 4 False False \n", + "3 183.0 1 False False \n", + "4 183.0 4 False False \n", + "... ... ... ... ... \n", + "36442 1293.0 6 False False \n", + "36443 1293.0 2 False False \n", + "36444 1293.0 3 False False \n", + "36445 1293.0 6 False False \n", + "36446 1310.0 2 False False \n", "\n", - "[2796 rows x 19 columns]" + " destination_logsum \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "36442 NaN \n", + "36443 NaN \n", + "36444 NaN \n", + "36445 NaN \n", + "36446 NaN \n", + "\n", + "[36447 rows x 23 columns]" ] }, "execution_count": 7, @@ -1148,9 +1207,9 @@ " 7\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 3\n", " 5.89564\n", " 2.875000\n", @@ -1172,9 +1231,9 @@ " 19\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.84871\n", " 5.195214\n", @@ -1196,9 +1255,9 @@ " 38\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.53231\n", " 80.470405\n", @@ -1220,9 +1279,9 @@ " 20\n", " ...\n", " 0\n", + " 0.0\n", " 0.00000\n", - " 0.00000\n", - " 0.00000\n", + " 0.0\n", " 2\n", " 5.64330\n", " 7.947368\n", @@ -1244,9 +1303,9 @@ " 86\n", " ...\n", " 0\n", - " 0.00000\n", + " 0.0\n", " 72.14684\n", - " 0.00000\n", + " 0.0\n", " 1\n", " 5.52555\n", " 38.187500\n", @@ -1279,188 +1338,188 @@ " ...\n", " \n", " \n", - " 186\n", - " 4\n", - " 4\n", - " 1\n", - " 2779\n", - " 8062\n", - " 376.0\n", - " 172.0\n", - " 15.00000\n", - " 1760\n", - " 1178\n", + " 1450\n", + " 34\n", + " 34\n", + " 9\n", + " 2724\n", + " 6493\n", + " 1320.0\n", + " 630.0\n", + " 69.00000\n", + " 1046\n", + " 1013\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.04173\n", - " 14.860963\n", - " 9.411765\n", - " 5.762347\n", + " 1.12116\n", + " 3.896996\n", + " 1.496423\n", + " 1.081235\n", " False\n", " \n", " \n", - " 187\n", - " 4\n", - " 4\n", - " 1\n", - " 1492\n", - " 4139\n", - " 214.0\n", - " 116.0\n", - " 10.00000\n", - " 808\n", - " 603\n", + " 1451\n", + " 34\n", + " 34\n", + " 9\n", + " 2016\n", + " 4835\n", + " 664.0\n", + " 379.0\n", + " 43.00000\n", + " 757\n", + " 757\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 4\n", + " 0.0\n", " 0.00000\n", - " 2\n", - " 1.73676\n", - " 11.841270\n", - " 6.412698\n", - " 4.159890\n", + " 0.0\n", + " 1\n", + " 1.17116\n", + " 4.777251\n", + " 1.793839\n", + " 1.304140\n", " False\n", " \n", " \n", - " 188\n", - " 4\n", - " 4\n", - " 1\n", - " 753\n", - " 4072\n", - " 232.0\n", - " 11.0\n", - " 178.00000\n", - " 4502\n", - " 1117\n", + " 1452\n", + " 34\n", + " 34\n", + " 9\n", + " 2178\n", + " 5055\n", + " 1068.0\n", + " 602.0\n", + " 35.00000\n", + " 2110\n", + " 789\n", " ...\n", - " 2\n", - " 3961.04761\n", - " 17397.79102\n", - " 11152.93652\n", + " 4\n", + " 0.0\n", + " 0.00000\n", + " 0.0\n", " 1\n", - " 2.28992\n", - " 3.984127\n", - " 23.820106\n", - " 3.413233\n", + " 1.17587\n", + " 3.419152\n", + " 3.312402\n", + " 1.682465\n", " False\n", " \n", " \n", - " 189\n", - " 4\n", - " 4\n", - " 1\n", - " 3546\n", - " 8476\n", - " 201.0\n", - " 72.0\n", - " 6.00000\n", - " 226\n", - " 1057\n", + " 1453\n", + " 34\n", + " 34\n", + " 9\n", + " 298\n", + " 779\n", + " 14195.0\n", + " 429.0\n", + " 4.00000\n", + " 922\n", + " 88\n", " ...\n", - " 2\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.88773\n", - " 45.461538\n", - " 2.897436\n", - " 2.723836\n", + " 1.01972\n", + " 0.688222\n", + " 2.129330\n", + " 0.520115\n", " False\n", " \n", " \n", - " 190\n", - " 4\n", - " 4\n", - " 1\n", - " 968\n", - " 1647\n", - " 1381.0\n", - " 14.0\n", - " 28.00000\n", - " 1010\n", - " 114\n", + " 1454\n", + " 34\n", + " 34\n", + " 9\n", + " 1068\n", + " 2337\n", + " 10469.0\n", + " 1114.0\n", + " 27.00000\n", + " 607\n", + " 418\n", " ...\n", - " 3\n", - " 0.00000\n", - " 0.00000\n", + " 5\n", + " 0.0\n", " 0.00000\n", + " 0.0\n", " 1\n", - " 2.60309\n", - " 23.047619\n", - " 24.047619\n", - " 11.768501\n", + " 0.95542\n", + " 0.936021\n", + " 0.531989\n", + " 0.339203\n", " False\n", " \n", " \n", "\n", - "

190 rows × 28 columns

\n", + "

1454 rows × 28 columns

\n", "" ], "text/plain": [ - " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", - "zone_id \n", - "1 1 1 1 46 82 20.3 1.0 15.00000 \n", - "2 1 1 1 134 240 31.1 1.0 24.79297 \n", - "3 1 1 1 267 476 14.7 1.0 2.31799 \n", - "4 1 1 1 151 253 19.3 1.0 18.00000 \n", - "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", - "... ... .. ... ... ... ... ... ... \n", - "186 4 4 1 2779 8062 376.0 172.0 15.00000 \n", - "187 4 4 1 1492 4139 214.0 116.0 10.00000 \n", - "188 4 4 1 753 4072 232.0 11.0 178.00000 \n", - "189 4 4 1 3546 8476 201.0 72.0 6.00000 \n", - "190 4 4 1 968 1647 1381.0 14.0 28.00000 \n", + " DISTRICT SD county_id TOTHH TOTPOP TOTACRE RESACRE CIACRE \\\n", + "zone_id \n", + "1 1 1 1 46 82 20.3 1.0 15.00000 \n", + "2 1 1 1 134 240 31.1 1.0 24.79297 \n", + "3 1 1 1 267 476 14.7 1.0 2.31799 \n", + "4 1 1 1 151 253 19.3 1.0 18.00000 \n", + "5 1 1 1 611 1069 52.7 1.0 15.00000 \n", + "... ... .. ... ... ... ... ... ... \n", + "1450 34 34 9 2724 6493 1320.0 630.0 69.00000 \n", + "1451 34 34 9 2016 4835 664.0 379.0 43.00000 \n", + "1452 34 34 9 2178 5055 1068.0 602.0 35.00000 \n", + "1453 34 34 9 298 779 14195.0 429.0 4.00000 \n", + "1454 34 34 9 1068 2337 10469.0 1114.0 27.00000 \n", "\n", - " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE \\\n", - "zone_id ... \n", - "1 27318 7 ... 0 0.00000 0.00000 \n", - "2 42078 19 ... 0 0.00000 0.00000 \n", - "3 2445 38 ... 0 0.00000 0.00000 \n", - "4 22434 20 ... 0 0.00000 0.00000 \n", - "5 15662 86 ... 0 0.00000 72.14684 \n", - "... ... ... ... ... ... ... \n", - "186 1760 1178 ... 3 0.00000 0.00000 \n", - "187 808 603 ... 3 0.00000 0.00000 \n", - "188 4502 1117 ... 2 3961.04761 17397.79102 \n", - "189 226 1057 ... 2 0.00000 0.00000 \n", - "190 1010 114 ... 3 0.00000 0.00000 \n", + " TOTEMP AGE0519 ... area_type HSENROLL COLLFTE COLLPTE \\\n", + "zone_id ... \n", + "1 27318 7 ... 0 0.0 0.00000 0.0 \n", + "2 42078 19 ... 0 0.0 0.00000 0.0 \n", + "3 2445 38 ... 0 0.0 0.00000 0.0 \n", + "4 22434 20 ... 0 0.0 0.00000 0.0 \n", + "5 15662 86 ... 0 0.0 72.14684 0.0 \n", + "... ... ... ... ... ... ... ... \n", + "1450 1046 1013 ... 4 0.0 0.00000 0.0 \n", + "1451 757 757 ... 4 0.0 0.00000 0.0 \n", + "1452 2110 789 ... 4 0.0 0.00000 0.0 \n", + "1453 922 88 ... 5 0.0 0.00000 0.0 \n", + "1454 607 418 ... 5 0.0 0.00000 0.0 \n", "\n", - " COLLPTE TOPOLOGY TERMINAL household_density \\\n", - "zone_id \n", - "1 0.00000 3 5.89564 2.875000 \n", - "2 0.00000 1 5.84871 5.195214 \n", - "3 0.00000 1 5.53231 80.470405 \n", - "4 0.00000 2 5.64330 7.947368 \n", - "5 0.00000 1 5.52555 38.187500 \n", - "... ... ... ... ... \n", - "186 0.00000 1 2.04173 14.860963 \n", - "187 0.00000 2 1.73676 11.841270 \n", - "188 11152.93652 1 2.28992 3.984127 \n", - "189 0.00000 1 2.88773 45.461538 \n", - "190 0.00000 1 2.60309 23.047619 \n", + " TOPOLOGY TERMINAL household_density employment_density \\\n", + "zone_id \n", + "1 3 5.89564 2.875000 1707.375000 \n", + "2 1 5.84871 5.195214 1631.374751 \n", + "3 1 5.53231 80.470405 736.891913 \n", + "4 2 5.64330 7.947368 1180.736842 \n", + "5 1 5.52555 38.187500 978.875000 \n", + "... ... ... ... ... \n", + "1450 1 1.12116 3.896996 1.496423 \n", + "1451 1 1.17116 4.777251 1.793839 \n", + "1452 1 1.17587 3.419152 3.312402 \n", + "1453 1 1.01972 0.688222 2.129330 \n", + "1454 1 0.95542 0.936021 0.531989 \n", "\n", - " employment_density density_index is_cbd \n", - "zone_id \n", - "1 1707.375000 2.870167 False \n", - "2 1631.374751 5.178722 False \n", - "3 736.891913 72.547987 False \n", - "4 1180.736842 7.894233 False \n", - "5 978.875000 36.753679 False \n", - "... ... ... ... \n", - "186 9.411765 5.762347 False \n", - "187 6.412698 4.159890 False \n", - "188 23.820106 3.413233 False \n", - "189 2.897436 2.723836 False \n", - "190 24.047619 11.768501 False \n", + " density_index is_cbd \n", + "zone_id \n", + "1 2.870167 False \n", + "2 5.178722 False \n", + "3 72.547987 False \n", + "4 7.894233 False \n", + "5 36.753679 False \n", + "... ... ... \n", + "1450 1.081235 False \n", + "1451 1.304140 False \n", + "1452 1.682465 False \n", + "1453 0.520115 False \n", + "1454 0.339203 False \n", "\n", - "[190 rows x 28 columns]" + "[1454 rows x 28 columns]" ] }, "execution_count": 8, @@ -1541,7 +1600,7 @@ " 1\n", " util_no_attractions\n", " no attractions\n", - " @size_terms.get(df.dest_taz, df.purpose) == 0\n", + " @size_terms.get(df.dest_taz, df.purpose) == 0 ...\n", " coef_UNAVAILABLE\n", " coef_UNAVAILABLE\n", " coef_UNAVAILABLE\n", @@ -1784,7 +1843,7 @@ "\n", " Expression \\\n", "0 @np.log1p(size_terms.get(df.dest_taz, df.purpo... \n", - "1 @size_terms.get(df.dest_taz, df.purpose) == 0 \n", + "1 @size_terms.get(df.dest_taz, df.purpose) == 0 ... \n", "2 @(~df.is_joint & ~df.outbound) * (_od_DIST + _... \n", "3 @(~df.is_joint & df.outbound) * (_od_DIST + _d... \n", "4 @df.is_joint * (_od_DIST + _dp_DIST) \n", @@ -2112,13 +2171,6 @@ "execution_count": 11, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n" - ] - }, { "data": { "text/html": [ @@ -2134,7 +2186,7 @@ { "data": { "text/html": [ - "

Best LL = -12569.486099970745

" + "

Best LL = -78919.86749443343

" ], "text/plain": [ "" @@ -2165,13 +2217,22 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -2179,621 +2240,576 @@ " coef_UNAVAILABLE\n", " -999.000000\n", " -999.000000\n", + " -999.000000\n", + " -999.000000\n", + " -999.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " coef_distance_joint\n", - " -0.376392\n", + " -0.222590\n", + " -0.222590\n", " -0.123800\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.376392\n", " \n", " \n", " coef_mode_choice_logsum\n", - " 0.163028\n", + " 0.908189\n", + " 0.908189\n", " 1.821000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.163028\n", " \n", " \n", " coef_one\n", " 1.000000\n", " 1.000000\n", + " 1.000000\n", + " 1.000000\n", + " 1.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 1\n", - " \n", - " 1.000000\n", " \n", " \n", " coef_prox_dest_outbound_work\n", - " -0.359504\n", + " -0.278949\n", + " -0.278949\n", " -0.260000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.359504\n", " \n", " \n", " coef_prox_home_inbound_work\n", - " -0.174104\n", + " -0.121975\n", + " -0.121975\n", " -0.150000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.174104\n", " \n", " \n", " coef_prox_home_outbound_work\n", - " -0.522711\n", + " -0.419012\n", + " -0.419012\n", " -0.380000\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.522711\n", " \n", " \n", " coef_util_distance_atwork\n", " -0.122335\n", " -0.122335\n", + " -0.122335\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.122335\n", " \n", " \n", " coef_util_distance_eatout\n", - " -0.366193\n", + " -0.219723\n", + " -0.219723\n", " -0.102900\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.366193\n", " \n", " \n", " coef_util_distance_escort\n", - " -0.337785\n", + " -0.235858\n", + " -0.235858\n", " -0.149100\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.337785\n", " \n", " \n", " coef_util_distance_othdiscr\n", - " -0.408787\n", + " -0.241573\n", + " -0.241573\n", " -0.126172\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.408787\n", " \n", " \n", " coef_util_distance_othmaint\n", - " -0.257971\n", + " -0.177610\n", + " -0.177610\n", " -0.096200\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.257971\n", " \n", " \n", " coef_util_distance_school\n", " -0.105600\n", " -0.105600\n", + " -0.105600\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.105600\n", " \n", " \n", " coef_util_distance_shopping\n", - " -0.390483\n", + " -0.227090\n", + " -0.227090\n", " -0.119200\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.390483\n", " \n", " \n", " coef_util_distance_social\n", - " -0.338764\n", + " -0.227558\n", + " -0.227558\n", " -0.132900\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.338764\n", " \n", " \n", " coef_util_distance_univ\n", - " -0.186380\n", + " -0.139388\n", + " -0.139388\n", " -0.061300\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.186380\n", " \n", " \n", " coef_util_distance_work_inbound\n", - " -0.094761\n", + " 0.089849\n", + " 0.089849\n", " 0.147813\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.094761\n", " \n", " \n", " coef_util_distance_work_outbound\n", - " -0.300511\n", + " -0.138174\n", + " -0.138174\n", " -0.049726\n", + " -25.000000\n", + " 25.000000\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.300511\n", " \n", " \n", " eatout_HEREMPN\n", - " -4.274182\n", + " -2.550718\n", + " -2.550718\n", " -1.354796\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -4.274182\n", " \n", " \n", " eatout_RETEMPN\n", " -0.298406\n", " -0.298406\n", + " -0.298406\n", + " -0.298406\n", + " -0.298406\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -0.298406\n", " \n", " \n", " escort_AGE0519\n", - " -1.513508\n", + " -0.039579\n", + " -0.039579\n", " -0.767871\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -1.513508\n", " \n", " \n", " escort_HEREMPN\n", - " -6.000000\n", + " -2.848681\n", + " -2.848681\n", " -1.937942\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " escort_HSENROLL\n", - " -3.172185\n", - " -1.795767\n", + " -2.260284\n", + " -2.260284\n", + " -1.795768\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -3.172185\n", " \n", " \n", " escort_RETEMPN\n", - " -2.099140\n", + " -0.886457\n", + " -0.886457\n", " -1.491655\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -2.099140\n", " \n", " \n", " escort_TOTHH\n", " -6.907755\n", " -6.907755\n", + " -6.907755\n", + " -6.907755\n", + " -6.907755\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -6.907755\n", " \n", " \n", " othdiscr_HEREMPN\n", - " -6.000000\n", + " -4.394168\n", + " -4.394168\n", " -1.301953\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " othdiscr_HSENROLL\n", - " -6.000000\n", + " -3.310820\n", + " -3.310820\n", " -2.322788\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " othdiscr_OTHEMPN\n", - " -4.741924\n", + " -2.825965\n", + " -2.825965\n", " -1.801810\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -4.741924\n", " \n", " \n", " othdiscr_RETEMPN\n", - " -0.420810\n", + " -2.884521\n", + " -2.884521\n", " -1.551169\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -0.420810\n", " \n", " \n", " othdiscr_TOTHH\n", " -1.378326\n", " -1.378326\n", + " -1.378326\n", + " -1.378326\n", + " -1.378326\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -1.378326\n", " \n", " \n", " othmaint_HEREMPN\n", - " -6.000000\n", + " -1.693356\n", + " -1.693356\n", " -0.657780\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " othmaint_RETEMPN\n", - " -4.468097\n", + " -0.351270\n", + " -0.351270\n", " -0.731888\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -4.468097\n", " \n", " \n", " othmaint_TOTHH\n", " -6.907755\n", " -6.907755\n", + " -6.907755\n", + " -6.907755\n", + " -6.907755\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -6.907755\n", " \n", " \n", " shopping_RETEMPN\n", " -6.000000\n", + " -6.000000\n", " -0.001001\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " shopping_TOTHH\n", " -6.907755\n", " -6.907755\n", + " -6.907755\n", + " -6.907755\n", + " -6.907755\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -6.907755\n", " \n", " \n", " social_HEREMPN\n", - " -6.000000\n", + " -1.516222\n", + " -1.516222\n", " -0.738145\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " social_RETEMPN\n", - " -3.463457\n", + " -0.098839\n", + " -0.098839\n", " -0.652005\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -3.463457\n", " \n", " \n", " social_TOTHH\n", " -6.907755\n", " -6.907755\n", + " -6.907755\n", + " -6.907755\n", + " -6.907755\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -6.907755\n", " \n", " \n", " univ_COLLFTE\n", " -6.000000\n", + " -6.000000\n", " -0.524249\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " univ_COLLPTE\n", " -6.000000\n", + " -6.000000\n", " -0.896488\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " univ_TOTHH\n", " -6.907755\n", " -6.907755\n", + " -6.907755\n", + " -6.907755\n", + " -6.907755\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " -6.907755\n", " \n", " \n", " work_AGREMPN\n", - " 1.145159\n", + " 0.122431\n", + " 0.122431\n", " 0.000000\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " 1.145159\n", " \n", " \n", " work_FPSEMPN\n", " -6.000000\n", + " -6.000000\n", " 0.000000\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " work_HEREMPN\n", - " -4.551520\n", + " -1.959508\n", + " -1.959508\n", " 0.000000\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -4.551520\n", " \n", " \n", " work_MWTEMPN\n", - " -6.000000\n", + " -5.322959\n", + " -5.322959\n", " 0.000000\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -6.000000\n", " \n", " \n", " work_OTHEMPN\n", - " -5.205310\n", + " -2.512682\n", + " -2.512682\n", " 0.000000\n", + " -6.000000\n", + " 6.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 0\n", - " \n", - " -5.205310\n", " \n", " \n", " work_RETEMPN\n", " 0.000000\n", " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " 0.0\n", - " -6.0\n", - " 6.0\n", " 1\n", - " \n", - " 0.000000\n", " \n", " \n", "\n", "" ], "text/plain": [ - " value initvalue nullvalue minimum \\\n", - "coef_UNAVAILABLE -999.000000 -999.000000 0.0 NaN \n", - "coef_distance_joint -0.376392 -0.123800 0.0 NaN \n", - "coef_mode_choice_logsum 0.163028 1.821000 0.0 NaN \n", - "coef_one 1.000000 1.000000 0.0 NaN \n", - "coef_prox_dest_outbound_work -0.359504 -0.260000 0.0 NaN \n", - "coef_prox_home_inbound_work -0.174104 -0.150000 0.0 NaN \n", - "coef_prox_home_outbound_work -0.522711 -0.380000 0.0 NaN \n", - "coef_util_distance_atwork -0.122335 -0.122335 0.0 NaN \n", - "coef_util_distance_eatout -0.366193 -0.102900 0.0 NaN \n", - "coef_util_distance_escort -0.337785 -0.149100 0.0 NaN \n", - "coef_util_distance_othdiscr -0.408787 -0.126172 0.0 NaN \n", - "coef_util_distance_othmaint -0.257971 -0.096200 0.0 NaN \n", - "coef_util_distance_school -0.105600 -0.105600 0.0 NaN \n", - "coef_util_distance_shopping -0.390483 -0.119200 0.0 NaN \n", - "coef_util_distance_social -0.338764 -0.132900 0.0 NaN \n", - "coef_util_distance_univ -0.186380 -0.061300 0.0 NaN \n", - "coef_util_distance_work_inbound -0.094761 0.147813 0.0 NaN \n", - "coef_util_distance_work_outbound -0.300511 -0.049726 0.0 NaN \n", - "eatout_HEREMPN -4.274182 -1.354796 0.0 -6.0 \n", - "eatout_RETEMPN -0.298406 -0.298406 0.0 -6.0 \n", - "escort_AGE0519 -1.513508 -0.767871 0.0 -6.0 \n", - "escort_HEREMPN -6.000000 -1.937942 0.0 -6.0 \n", - "escort_HSENROLL -3.172185 -1.795767 0.0 -6.0 \n", - "escort_RETEMPN -2.099140 -1.491655 0.0 -6.0 \n", - "escort_TOTHH -6.907755 -6.907755 0.0 -6.0 \n", - "othdiscr_HEREMPN -6.000000 -1.301953 0.0 -6.0 \n", - "othdiscr_HSENROLL -6.000000 -2.322788 0.0 -6.0 \n", - "othdiscr_OTHEMPN -4.741924 -1.801810 0.0 -6.0 \n", - "othdiscr_RETEMPN -0.420810 -1.551169 0.0 -6.0 \n", - "othdiscr_TOTHH -1.378326 -1.378326 0.0 -6.0 \n", - "othmaint_HEREMPN -6.000000 -0.657780 0.0 -6.0 \n", - "othmaint_RETEMPN -4.468097 -0.731888 0.0 -6.0 \n", - "othmaint_TOTHH -6.907755 -6.907755 0.0 -6.0 \n", - "shopping_RETEMPN -6.000000 -0.001001 0.0 -6.0 \n", - "shopping_TOTHH -6.907755 -6.907755 0.0 -6.0 \n", - "social_HEREMPN -6.000000 -0.738145 0.0 -6.0 \n", - "social_RETEMPN -3.463457 -0.652005 0.0 -6.0 \n", - "social_TOTHH -6.907755 -6.907755 0.0 -6.0 \n", - "univ_COLLFTE -6.000000 -0.524249 0.0 -6.0 \n", - "univ_COLLPTE -6.000000 -0.896488 0.0 -6.0 \n", - "univ_TOTHH -6.907755 -6.907755 0.0 -6.0 \n", - "work_AGREMPN 1.145159 0.000000 0.0 -6.0 \n", - "work_FPSEMPN -6.000000 0.000000 0.0 -6.0 \n", - "work_HEREMPN -4.551520 0.000000 0.0 -6.0 \n", - "work_MWTEMPN -6.000000 0.000000 0.0 -6.0 \n", - "work_OTHEMPN -5.205310 0.000000 0.0 -6.0 \n", - "work_RETEMPN 0.000000 0.000000 0.0 -6.0 \n", + " value best initvalue \\\n", + "param_name \n", + "coef_UNAVAILABLE -999.000000 -999.000000 -999.000000 \n", + "coef_distance_joint -0.222590 -0.222590 -0.123800 \n", + "coef_mode_choice_logsum 0.908189 0.908189 1.821000 \n", + "coef_one 1.000000 1.000000 1.000000 \n", + "coef_prox_dest_outbound_work -0.278949 -0.278949 -0.260000 \n", + "coef_prox_home_inbound_work -0.121975 -0.121975 -0.150000 \n", + "coef_prox_home_outbound_work -0.419012 -0.419012 -0.380000 \n", + "coef_util_distance_atwork -0.122335 -0.122335 -0.122335 \n", + "coef_util_distance_eatout -0.219723 -0.219723 -0.102900 \n", + "coef_util_distance_escort -0.235858 -0.235858 -0.149100 \n", + "coef_util_distance_othdiscr -0.241573 -0.241573 -0.126172 \n", + "coef_util_distance_othmaint -0.177610 -0.177610 -0.096200 \n", + "coef_util_distance_school -0.105600 -0.105600 -0.105600 \n", + "coef_util_distance_shopping -0.227090 -0.227090 -0.119200 \n", + "coef_util_distance_social -0.227558 -0.227558 -0.132900 \n", + "coef_util_distance_univ -0.139388 -0.139388 -0.061300 \n", + "coef_util_distance_work_inbound 0.089849 0.089849 0.147813 \n", + "coef_util_distance_work_outbound -0.138174 -0.138174 -0.049726 \n", + "eatout_HEREMPN -2.550718 -2.550718 -1.354796 \n", + "eatout_RETEMPN -0.298406 -0.298406 -0.298406 \n", + "escort_AGE0519 -0.039579 -0.039579 -0.767871 \n", + "escort_HEREMPN -2.848681 -2.848681 -1.937942 \n", + "escort_HSENROLL -2.260284 -2.260284 -1.795768 \n", + "escort_RETEMPN -0.886457 -0.886457 -1.491655 \n", + "escort_TOTHH -6.907755 -6.907755 -6.907755 \n", + "othdiscr_HEREMPN -4.394168 -4.394168 -1.301953 \n", + "othdiscr_HSENROLL -3.310820 -3.310820 -2.322788 \n", + "othdiscr_OTHEMPN -2.825965 -2.825965 -1.801810 \n", + "othdiscr_RETEMPN -2.884521 -2.884521 -1.551169 \n", + "othdiscr_TOTHH -1.378326 -1.378326 -1.378326 \n", + "othmaint_HEREMPN -1.693356 -1.693356 -0.657780 \n", + "othmaint_RETEMPN -0.351270 -0.351270 -0.731888 \n", + "othmaint_TOTHH -6.907755 -6.907755 -6.907755 \n", + "shopping_RETEMPN -6.000000 -6.000000 -0.001001 \n", + "shopping_TOTHH -6.907755 -6.907755 -6.907755 \n", + "social_HEREMPN -1.516222 -1.516222 -0.738145 \n", + "social_RETEMPN -0.098839 -0.098839 -0.652005 \n", + "social_TOTHH -6.907755 -6.907755 -6.907755 \n", + "univ_COLLFTE -6.000000 -6.000000 -0.524249 \n", + "univ_COLLPTE -6.000000 -6.000000 -0.896488 \n", + "univ_TOTHH -6.907755 -6.907755 -6.907755 \n", + "work_AGREMPN 0.122431 0.122431 0.000000 \n", + "work_FPSEMPN -6.000000 -6.000000 0.000000 \n", + "work_HEREMPN -1.959508 -1.959508 0.000000 \n", + "work_MWTEMPN -5.322959 -5.322959 0.000000 \n", + "work_OTHEMPN -2.512682 -2.512682 0.000000 \n", + "work_RETEMPN 0.000000 0.000000 0.000000 \n", "\n", - " maximum holdfast note best \n", - "coef_UNAVAILABLE NaN 1 -999.000000 \n", - "coef_distance_joint NaN 0 -0.376392 \n", - "coef_mode_choice_logsum NaN 0 0.163028 \n", - "coef_one NaN 1 1.000000 \n", - "coef_prox_dest_outbound_work NaN 0 -0.359504 \n", - "coef_prox_home_inbound_work NaN 0 -0.174104 \n", - "coef_prox_home_outbound_work NaN 0 -0.522711 \n", - "coef_util_distance_atwork NaN 0 -0.122335 \n", - "coef_util_distance_eatout NaN 0 -0.366193 \n", - "coef_util_distance_escort NaN 0 -0.337785 \n", - "coef_util_distance_othdiscr NaN 0 -0.408787 \n", - "coef_util_distance_othmaint NaN 0 -0.257971 \n", - "coef_util_distance_school NaN 0 -0.105600 \n", - "coef_util_distance_shopping NaN 0 -0.390483 \n", - "coef_util_distance_social NaN 0 -0.338764 \n", - "coef_util_distance_univ NaN 0 -0.186380 \n", - "coef_util_distance_work_inbound NaN 0 -0.094761 \n", - "coef_util_distance_work_outbound NaN 0 -0.300511 \n", - "eatout_HEREMPN 6.0 0 -4.274182 \n", - "eatout_RETEMPN 6.0 1 -0.298406 \n", - "escort_AGE0519 6.0 0 -1.513508 \n", - "escort_HEREMPN 6.0 0 -6.000000 \n", - "escort_HSENROLL 6.0 0 -3.172185 \n", - "escort_RETEMPN 6.0 0 -2.099140 \n", - "escort_TOTHH 6.0 1 -6.907755 \n", - "othdiscr_HEREMPN 6.0 0 -6.000000 \n", - "othdiscr_HSENROLL 6.0 0 -6.000000 \n", - "othdiscr_OTHEMPN 6.0 0 -4.741924 \n", - "othdiscr_RETEMPN 6.0 0 -0.420810 \n", - "othdiscr_TOTHH 6.0 1 -1.378326 \n", - "othmaint_HEREMPN 6.0 0 -6.000000 \n", - "othmaint_RETEMPN 6.0 0 -4.468097 \n", - "othmaint_TOTHH 6.0 1 -6.907755 \n", - "shopping_RETEMPN 6.0 0 -6.000000 \n", - "shopping_TOTHH 6.0 1 -6.907755 \n", - "social_HEREMPN 6.0 0 -6.000000 \n", - "social_RETEMPN 6.0 0 -3.463457 \n", - "social_TOTHH 6.0 1 -6.907755 \n", - "univ_COLLFTE 6.0 0 -6.000000 \n", - "univ_COLLPTE 6.0 0 -6.000000 \n", - "univ_TOTHH 6.0 1 -6.907755 \n", - "work_AGREMPN 6.0 0 1.145159 \n", - "work_FPSEMPN 6.0 0 -6.000000 \n", - "work_HEREMPN 6.0 0 -4.551520 \n", - "work_MWTEMPN 6.0 0 -6.000000 \n", - "work_OTHEMPN 6.0 0 -5.205310 \n", - "work_RETEMPN 6.0 1 0.000000 " + " minimum maximum nullvalue holdfast \n", + "param_name \n", + "coef_UNAVAILABLE -999.000000 -999.000000 0.0 1 \n", + "coef_distance_joint -25.000000 25.000000 0.0 0 \n", + "coef_mode_choice_logsum -25.000000 25.000000 0.0 0 \n", + "coef_one 1.000000 1.000000 0.0 1 \n", + "coef_prox_dest_outbound_work -25.000000 25.000000 0.0 0 \n", + "coef_prox_home_inbound_work -25.000000 25.000000 0.0 0 \n", + "coef_prox_home_outbound_work -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_atwork -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_eatout -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_escort -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_othdiscr -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_othmaint -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_school -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_shopping -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_social -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_univ -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_work_inbound -25.000000 25.000000 0.0 0 \n", + "coef_util_distance_work_outbound -25.000000 25.000000 0.0 0 \n", + "eatout_HEREMPN -6.000000 6.000000 0.0 0 \n", + "eatout_RETEMPN -0.298406 -0.298406 0.0 1 \n", + "escort_AGE0519 -6.000000 6.000000 0.0 0 \n", + "escort_HEREMPN -6.000000 6.000000 0.0 0 \n", + "escort_HSENROLL -6.000000 6.000000 0.0 0 \n", + "escort_RETEMPN -6.000000 6.000000 0.0 0 \n", + "escort_TOTHH -6.907755 -6.907755 0.0 1 \n", + "othdiscr_HEREMPN -6.000000 6.000000 0.0 0 \n", + "othdiscr_HSENROLL -6.000000 6.000000 0.0 0 \n", + "othdiscr_OTHEMPN -6.000000 6.000000 0.0 0 \n", + "othdiscr_RETEMPN -6.000000 6.000000 0.0 0 \n", + "othdiscr_TOTHH -1.378326 -1.378326 0.0 1 \n", + "othmaint_HEREMPN -6.000000 6.000000 0.0 0 \n", + "othmaint_RETEMPN -6.000000 6.000000 0.0 0 \n", + "othmaint_TOTHH -6.907755 -6.907755 0.0 1 \n", + "shopping_RETEMPN -6.000000 6.000000 0.0 0 \n", + "shopping_TOTHH -6.907755 -6.907755 0.0 1 \n", + "social_HEREMPN -6.000000 6.000000 0.0 0 \n", + "social_RETEMPN -6.000000 6.000000 0.0 0 \n", + "social_TOTHH -6.907755 -6.907755 0.0 1 \n", + "univ_COLLFTE -6.000000 6.000000 0.0 0 \n", + "univ_COLLPTE -6.000000 6.000000 0.0 0 \n", + "univ_TOTHH -6.907755 -6.907755 0.0 1 \n", + "work_AGREMPN -6.000000 6.000000 0.0 0 \n", + "work_FPSEMPN -6.000000 6.000000 0.0 0 \n", + "work_HEREMPN -6.000000 6.000000 0.0 0 \n", + "work_MWTEMPN -6.000000 6.000000 0.0 0 \n", + "work_OTHEMPN -6.000000 6.000000 0.0 0 \n", + "work_RETEMPN 0.000000 0.000000 0.0 1 " ] }, "metadata": {}, @@ -2803,12 +2819,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":1: PossibleOverspecification: WARNING: Model is possibly over-specified (hessian is nearly singular).\n", - " model.estimate(method='SLSQP', options={'maxiter':1000})\n", - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/larch/larch/linalg/__init__.py:18: UserWarning: minimum eig 8.29804005517378e-15 in general_inverse\n", - " warnings.warn(f\"minimum eig {min_eig} in general_inverse\")\n", - ":1: RuntimeWarning: invalid value encountered in sqrt\n", - " model.estimate(method='SLSQP', options={'maxiter':1000})\n" + "/Users/jpn/Git/est-mode/larch/src/larch/model/jaxmodel.py:1156: PossibleOverspecification: Model is possibly over-specified (hessian is nearly singular).\n", + " self.calculate_parameter_covariance()\n" ] }, { @@ -2828,11 +2840,11 @@ " \n", " \n", " coef_distance_joint\n", - " -0.376392\n", + " -0.222590\n", " \n", " \n", " coef_mode_choice_logsum\n", - " 0.163028\n", + " 0.908189\n", " \n", " \n", " coef_one\n", @@ -2840,15 +2852,15 @@ " \n", " \n", " coef_prox_dest_outbound_work\n", - " -0.359504\n", + " -0.278949\n", " \n", " \n", " coef_prox_home_inbound_work\n", - " -0.174104\n", + " -0.121975\n", " \n", " \n", " coef_prox_home_outbound_work\n", - " -0.522711\n", + " -0.419012\n", " \n", " \n", " coef_util_distance_atwork\n", @@ -2856,19 +2868,19 @@ " \n", " \n", " coef_util_distance_eatout\n", - " -0.366193\n", + " -0.219723\n", " \n", " \n", " coef_util_distance_escort\n", - " -0.337785\n", + " -0.235858\n", " \n", " \n", " coef_util_distance_othdiscr\n", - " -0.408787\n", + " -0.241573\n", " \n", " \n", " coef_util_distance_othmaint\n", - " -0.257971\n", + " -0.177610\n", " \n", " \n", " coef_util_distance_school\n", @@ -2876,27 +2888,27 @@ " \n", " \n", " coef_util_distance_shopping\n", - " -0.390483\n", + " -0.227090\n", " \n", " \n", " coef_util_distance_social\n", - " -0.338764\n", + " -0.227558\n", " \n", " \n", " coef_util_distance_univ\n", - " -0.186380\n", + " -0.139388\n", " \n", " \n", " coef_util_distance_work_inbound\n", - " -0.094761\n", + " 0.089849\n", " \n", " \n", " coef_util_distance_work_outbound\n", - " -0.300511\n", + " -0.138174\n", " \n", " \n", " eatout_HEREMPN\n", - " -4.274182\n", + " -2.550718\n", " \n", " \n", " eatout_RETEMPN\n", @@ -2904,39 +2916,39 @@ " \n", " \n", " escort_AGE0519\n", - " -1.513508\n", + " -0.039579\n", " \n", " \n", " escort_HEREMPN\n", - " -6.000000\n", + " -2.848681\n", " \n", " \n", " escort_HSENROLL\n", - " -3.172185\n", + " -2.260284\n", " \n", " \n", " escort_RETEMPN\n", - " -2.099140\n", + " -0.886457\n", " \n", " \n", " escort_TOTHH\n", - " -6.000000\n", + " -6.907755\n", " \n", " \n", " othdiscr_HEREMPN\n", - " -6.000000\n", + " -4.394168\n", " \n", " \n", " othdiscr_HSENROLL\n", - " -6.000000\n", + " -3.310820\n", " \n", " \n", " othdiscr_OTHEMPN\n", - " -4.741924\n", + " -2.825965\n", " \n", " \n", " othdiscr_RETEMPN\n", - " -0.420810\n", + " -2.884521\n", " \n", " \n", " othdiscr_TOTHH\n", @@ -2944,15 +2956,15 @@ " \n", " \n", " othmaint_HEREMPN\n", - " -6.000000\n", + " -1.693356\n", " \n", " \n", " othmaint_RETEMPN\n", - " -4.468097\n", + " -0.351270\n", " \n", " \n", " othmaint_TOTHH\n", - " -6.000000\n", + " -6.907755\n", " \n", " \n", " shopping_RETEMPN\n", @@ -2960,19 +2972,19 @@ " \n", " \n", " shopping_TOTHH\n", - " -6.000000\n", + " -6.907755\n", " \n", " \n", " social_HEREMPN\n", - " -6.000000\n", + " -1.516222\n", " \n", " \n", " social_RETEMPN\n", - " -3.463457\n", + " -0.098839\n", " \n", " \n", " social_TOTHH\n", - " -6.000000\n", + " -6.907755\n", " \n", " \n", " univ_COLLFTE\n", @@ -2984,11 +2996,11 @@ " \n", " \n", " univ_TOTHH\n", - " -6.000000\n", + " -6.907755\n", " \n", " \n", " work_AGREMPN\n", - " 1.145159\n", + " 0.122431\n", " \n", " \n", " work_FPSEMPN\n", @@ -2996,22 +3008,22 @@ " \n", " \n", " work_HEREMPN\n", - " -4.551520\n", + " -1.959508\n", " \n", " \n", " work_MWTEMPN\n", - " -6.000000\n", + " -5.322959\n", " \n", " \n", " work_OTHEMPN\n", - " -5.205310\n", + " -2.512682\n", " \n", " \n", " work_RETEMPN\n", " 0.000000\n", " \n", " \n", - "loglike-12569.486099970745d_loglike\n", + "
logloss2.543504818049292d_logloss\n", " \n", " \n", " \n", @@ -3025,11 +3037,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3037,15 +3049,15 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3053,19 +3065,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3073,27 +3085,27 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3101,19 +3113,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3121,19 +3133,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3141,11 +3153,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3153,7 +3165,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3161,11 +3173,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3173,11 +3185,11 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3185,140 +3197,140 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - "
coef_distance_joint-0.0015450.000054
coef_mode_choice_logsum-0.0371690.000028
coef_one
coef_prox_dest_outbound_work-0.004856-0.000016
coef_prox_home_inbound_work-0.0006900.000044
coef_prox_home_outbound_work0.006258-0.000010
coef_util_distance_atwork
coef_util_distance_eatout0.0009010.000017
coef_util_distance_escort0.0016000.000004
coef_util_distance_othdiscr-0.002904-0.000030
coef_util_distance_othmaint0.002059-0.000009
coef_util_distance_school
coef_util_distance_shopping-0.0016370.000006
coef_util_distance_social-0.000562-0.000076
coef_util_distance_univ-0.0014910.000026
coef_util_distance_work_inbound0.001402-0.000026
coef_util_distance_work_outbound0.0099840.000069
eatout_HEREMPN0.000060-0.000049
eatout_RETEMPN
escort_AGE0519-0.000103-0.000144
escort_HEREMPN-0.2823510.000048
escort_HSENROLL-0.0001000.000044
escort_RETEMPN0.0002190.000042
escort_TOTHH
othdiscr_HEREMPN-0.0837150.000056
othdiscr_HSENROLL-0.013300-0.000088
othdiscr_OTHEMPN-0.0001250.000216
othdiscr_RETEMPN-0.000008-0.000059
othdiscr_TOTHH
othmaint_HEREMPN-14.917882-0.000220
othmaint_RETEMPN0.000013-0.000006
othmaint_TOTHH
shopping_RETEMPN-6.303186-0.005801
shopping_TOTHH
social_HEREMPN-2.2981350.000007
social_RETEMPN-0.000206-0.000072
social_TOTHH
univ_COLLFTE-12.165359-0.003131
univ_COLLPTE-12.781555-0.002441
univ_TOTHH
work_AGREMPN0.000453-0.000051
work_FPSEMPN-0.905637-0.000190
work_HEREMPN0.0002220.000081
work_MWTEMPN-0.021745-0.000196
work_OTHEMPN-0.000419-0.000045
work_RETEMPN0.000000
nit87nfev147njev87status0message'Optimization terminated successfully'successTrueelapsed_time0:00:21.469689method'SLSQP'n_cases2490iteration_number87logloss5.04798638553042" + "nit87nfev92njev87status0message'Optimization terminated successfully'successTrueelapsed_time0:00:19.360953method'SLSQP'n_cases31028iteration_number87loglike-78919.86749443343" ], "text/plain": [ "┣ x: coef_UNAVAILABLE -999.000000\n", - "┃ coef_distance_joint -0.376392\n", - "┃ coef_mode_choice_logsum 0.163028\n", + "┃ coef_distance_joint -0.222590\n", + "┃ coef_mode_choice_logsum 0.908189\n", "┃ coef_one 1.000000\n", - "┃ coef_prox_dest_outbound_work -0.359504\n", - "┃ coef_prox_home_inbound_work -0.174104\n", - "┃ coef_prox_home_outbound_work -0.522711\n", + "┃ coef_prox_dest_outbound_work -0.278949\n", + "┃ coef_prox_home_inbound_work -0.121975\n", + "┃ coef_prox_home_outbound_work -0.419012\n", "┃ coef_util_distance_atwork -0.122335\n", - "┃ coef_util_distance_eatout -0.366193\n", - "┃ coef_util_distance_escort -0.337785\n", - "┃ coef_util_distance_othdiscr -0.408787\n", - "┃ coef_util_distance_othmaint -0.257971\n", + "┃ coef_util_distance_eatout -0.219723\n", + "┃ coef_util_distance_escort -0.235858\n", + "┃ coef_util_distance_othdiscr -0.241573\n", + "┃ coef_util_distance_othmaint -0.177610\n", "┃ coef_util_distance_school -0.105600\n", - "┃ coef_util_distance_shopping -0.390483\n", - "┃ coef_util_distance_social -0.338764\n", - "┃ coef_util_distance_univ -0.186380\n", - "┃ coef_util_distance_work_inbound -0.094761\n", - "┃ coef_util_distance_work_outbound -0.300511\n", - "┃ eatout_HEREMPN -4.274182\n", + "┃ coef_util_distance_shopping -0.227090\n", + "┃ coef_util_distance_social -0.227558\n", + "┃ coef_util_distance_univ -0.139388\n", + "┃ coef_util_distance_work_inbound 0.089849\n", + "┃ coef_util_distance_work_outbound -0.138174\n", + "┃ eatout_HEREMPN -2.550718\n", "┃ eatout_RETEMPN -0.298406\n", - "┃ escort_AGE0519 -1.513508\n", - "┃ escort_HEREMPN -6.000000\n", - "┃ escort_HSENROLL -3.172185\n", - "┃ escort_RETEMPN -2.099140\n", - "┃ escort_TOTHH -6.000000\n", - "┃ othdiscr_HEREMPN -6.000000\n", - "┃ othdiscr_HSENROLL -6.000000\n", - "┃ othdiscr_OTHEMPN -4.741924\n", - "┃ othdiscr_RETEMPN -0.420810\n", + "┃ escort_AGE0519 -0.039579\n", + "┃ escort_HEREMPN -2.848681\n", + "┃ escort_HSENROLL -2.260284\n", + "┃ escort_RETEMPN -0.886457\n", + "┃ escort_TOTHH -6.907755\n", + "┃ othdiscr_HEREMPN -4.394168\n", + "┃ othdiscr_HSENROLL -3.310820\n", + "┃ othdiscr_OTHEMPN -2.825965\n", + "┃ othdiscr_RETEMPN -2.884521\n", "┃ othdiscr_TOTHH -1.378326\n", - "┃ othmaint_HEREMPN -6.000000\n", - "┃ othmaint_RETEMPN -4.468097\n", - "┃ othmaint_TOTHH -6.000000\n", + "┃ othmaint_HEREMPN -1.693356\n", + "┃ othmaint_RETEMPN -0.351270\n", + "┃ othmaint_TOTHH -6.907755\n", "┃ shopping_RETEMPN -6.000000\n", - "┃ shopping_TOTHH -6.000000\n", - "┃ social_HEREMPN -6.000000\n", - "┃ social_RETEMPN -3.463457\n", - "┃ social_TOTHH -6.000000\n", + "┃ shopping_TOTHH -6.907755\n", + "┃ social_HEREMPN -1.516222\n", + "┃ social_RETEMPN -0.098839\n", + "┃ social_TOTHH -6.907755\n", "┃ univ_COLLFTE -6.000000\n", "┃ univ_COLLPTE -6.000000\n", - "┃ univ_TOTHH -6.000000\n", - "┃ work_AGREMPN 1.145159\n", + "┃ univ_TOTHH -6.907755\n", + "┃ work_AGREMPN 0.122431\n", "┃ work_FPSEMPN -6.000000\n", - "┃ work_HEREMPN -4.551520\n", - "┃ work_MWTEMPN -6.000000\n", - "┃ work_OTHEMPN -5.205310\n", + "┃ work_HEREMPN -1.959508\n", + "┃ work_MWTEMPN -5.322959\n", + "┃ work_OTHEMPN -2.512682\n", "┃ work_RETEMPN 0.000000\n", "┃ dtype: float64\n", - "┣ loglike: -12569.486099970745\n", - "┣ d_loglike: coef_UNAVAILABLE 0.000000\n", - "┃ coef_distance_joint -0.001545\n", - "┃ coef_mode_choice_logsum -0.037169\n", - "┃ coef_one 0.000000\n", - "┃ coef_prox_dest_outbound_work -0.004856\n", - "┃ coef_prox_home_inbound_work -0.000690\n", - "┃ coef_prox_home_outbound_work 0.006258\n", - "┃ coef_util_distance_atwork 0.000000\n", - "┃ coef_util_distance_eatout 0.000901\n", - "┃ coef_util_distance_escort 0.001600\n", - "┃ coef_util_distance_othdiscr -0.002904\n", - "┃ coef_util_distance_othmaint 0.002059\n", - "┃ coef_util_distance_school 0.000000\n", - "┃ coef_util_distance_shopping -0.001637\n", - "┃ coef_util_distance_social -0.000562\n", - "┃ coef_util_distance_univ -0.001491\n", - "┃ coef_util_distance_work_inbound 0.001402\n", - "┃ coef_util_distance_work_outbound 0.009984\n", - "┃ eatout_HEREMPN 0.000060\n", - "┃ eatout_RETEMPN 0.000000\n", - "┃ escort_AGE0519 -0.000103\n", - "┃ escort_HEREMPN -0.282351\n", - "┃ escort_HSENROLL -0.000100\n", - "┃ escort_RETEMPN 0.000219\n", - "┃ escort_TOTHH 0.000000\n", - "┃ othdiscr_HEREMPN -0.083715\n", - "┃ othdiscr_HSENROLL -0.013300\n", - "┃ othdiscr_OTHEMPN -0.000125\n", - "┃ othdiscr_RETEMPN -0.000008\n", - "┃ othdiscr_TOTHH 0.000000\n", - "┃ othmaint_HEREMPN -14.917882\n", - "┃ othmaint_RETEMPN 0.000013\n", - "┃ othmaint_TOTHH 0.000000\n", - "┃ shopping_RETEMPN -6.303186\n", - "┃ shopping_TOTHH 0.000000\n", - "┃ social_HEREMPN -2.298135\n", - "┃ social_RETEMPN -0.000206\n", - "┃ social_TOTHH 0.000000\n", - "┃ univ_COLLFTE -12.165359\n", - "┃ univ_COLLPTE -12.781555\n", - "┃ univ_TOTHH 0.000000\n", - "┃ work_AGREMPN 0.000453\n", - "┃ work_FPSEMPN -0.905637\n", - "┃ work_HEREMPN 0.000222\n", - "┃ work_MWTEMPN -0.021745\n", - "┃ work_OTHEMPN -0.000419\n", - "┃ work_RETEMPN 0.000000\n", + "┣ logloss: 2.543504818049292\n", + "┣ d_logloss: coef_UNAVAILABLE 0.000000\n", + "┃ coef_distance_joint 0.000054\n", + "┃ coef_mode_choice_logsum 0.000028\n", + "┃ coef_one 0.000000\n", + "┃ coef_prox_dest_outbound_work -0.000016\n", + "┃ coef_prox_home_inbound_work 0.000044\n", + "┃ coef_prox_home_outbound_work -0.000010\n", + "┃ coef_util_distance_atwork 0.000000\n", + "┃ coef_util_distance_eatout 0.000017\n", + "┃ coef_util_distance_escort 0.000004\n", + "┃ coef_util_distance_othdiscr -0.000030\n", + "┃ coef_util_distance_othmaint -0.000009\n", + "┃ coef_util_distance_school 0.000000\n", + "┃ coef_util_distance_shopping 0.000006\n", + "┃ coef_util_distance_social -0.000076\n", + "┃ coef_util_distance_univ 0.000026\n", + "┃ coef_util_distance_work_inbound -0.000026\n", + "┃ coef_util_distance_work_outbound 0.000069\n", + "┃ eatout_HEREMPN -0.000049\n", + "┃ eatout_RETEMPN 0.000000\n", + "┃ escort_AGE0519 -0.000144\n", + "┃ escort_HEREMPN 0.000048\n", + "┃ escort_HSENROLL 0.000044\n", + "┃ escort_RETEMPN 0.000042\n", + "┃ escort_TOTHH 0.000000\n", + "┃ othdiscr_HEREMPN 0.000056\n", + "┃ othdiscr_HSENROLL -0.000088\n", + "┃ othdiscr_OTHEMPN 0.000216\n", + "┃ othdiscr_RETEMPN -0.000059\n", + "┃ othdiscr_TOTHH 0.000000\n", + "┃ othmaint_HEREMPN -0.000220\n", + "┃ othmaint_RETEMPN -0.000006\n", + "┃ othmaint_TOTHH 0.000000\n", + "┃ shopping_RETEMPN -0.005801\n", + "┃ shopping_TOTHH 0.000000\n", + "┃ social_HEREMPN 0.000007\n", + "┃ social_RETEMPN -0.000072\n", + "┃ social_TOTHH 0.000000\n", + "┃ univ_COLLFTE -0.003131\n", + "┃ univ_COLLPTE -0.002441\n", + "┃ univ_TOTHH 0.000000\n", + "┃ work_AGREMPN -0.000051\n", + "┃ work_FPSEMPN -0.000190\n", + "┃ work_HEREMPN 0.000081\n", + "┃ work_MWTEMPN -0.000196\n", + "┃ work_OTHEMPN -0.000045\n", + "┃ work_RETEMPN 0.000000\n", "┃ dtype: float64\n", "┣ nit: 87\n", - "┣ nfev: 147\n", + "┣ nfev: 92\n", "┣ njev: 87\n", "┣ status: 0\n", "┣ message: 'Optimization terminated successfully'\n", "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=21, microseconds=469689)\n", + "┣ elapsed_time: datetime.timedelta(seconds=19, microseconds=360953)\n", "┣ method: 'SLSQP'\n", - "┣ n_cases: 2490\n", + "┣ n_cases: 31028\n", "┣ iteration_number: 87\n", - "┣ logloss: 5.04798638553042" + "┣ loglike: -78919.86749443343" ] }, "execution_count": 11, @@ -3345,490 +3357,469 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Std Err t Stat Signif Like Ratio Null Value Constrained
coef_UNAVAILABLE-999. NA NA NA 0.00fixed value
coef_distance_joint-0.376 0.0762-4.94*** NA 0.00
coef_mode_choice_logsum 0.163 0.00797 20.46*** NA 0.00
coef_one 1.00 NA NA NA 0.00fixed value
coef_prox_dest_outbound_work-0.360 441.-0.00 NA 0.00
coef_prox_home_inbound_work-0.174 0.0368-4.73*** NA 0.00
coef_prox_home_outbound_work-0.523 441.-0.00 NA 0.00
coef_util_distance_atwork-0.122 2.43e-06-BIG*** NA 0.00
coef_util_distance_eatout-0.366 0.0630-5.81*** NA 0.00
coef_util_distance_escort-0.338 0.0329-10.28*** NA 0.00
coef_util_distance_othdiscr-0.409 0.0322-12.71*** NA 0.00
coef_util_distance_othmaint-0.258 0.0368-7.02*** NA 0.00
coef_util_distance_school-0.106 4.08e-06-BIG*** NA 0.00
coef_util_distance_shopping-0.390 0.0251-15.56*** NA 0.00
coef_util_distance_social-0.339 0.0631-5.36*** NA 0.00
coef_util_distance_univ-0.186 0.0428-4.35*** NA 0.00
coef_util_distance_work_inbound-0.0948 441.-0.00 NA 0.00
coef_util_distance_work_outbound-0.301 0.0272-11.05*** NA 0.00
eatout_HEREMPN-4.27 1.02-4.19*** NA 0.00
eatout_RETEMPN-0.298 NA NA NA 0.00fixed value
escort_AGE0519-1.51 2.88-0.53 NA 0.00
escort_HEREMPN-6.00 NA NA[***] 93.05 0.00escort_HEREMPN ≥ -6.0
escort_HSENROLL-3.17 2.87-1.10 NA 0.00
escort_RETEMPN-2.10 3.12-0.67 NA 0.00
escort_TOTHH-6.91 NA NA NA 0.00fixed value
othdiscr_HEREMPN-6.00 NA NA[***] 63.28 0.00othdiscr_HEREMPN ≥ -6.0
othdiscr_HSENROLL-6.00 NA NA[***] 23.13 0.00othdiscr_HSENROLL ≥ -6.0
othdiscr_OTHEMPN-4.74 2.07-2.29* NA 0.00
othdiscr_RETEMPN-0.421 0.383-1.10 NA 0.00
othdiscr_TOTHH-1.38 NA NA NA 0.00fixed value
othmaint_HEREMPN-6.00 NA NA[***] 93.87 0.00othmaint_HEREMPN ≥ -6.0
othmaint_RETEMPN-4.47 0.487-9.18*** NA 0.00
othmaint_TOTHH-6.91 NA NA NA 0.00fixed value
shopping_RETEMPN-6.00 NA NA[***] 107.89 0.00shopping_RETEMPN ≥ -6.0
shopping_TOTHH-6.91 NA NA NA 0.00fixed value
social_HEREMPN-6.00 NA NA[***] 33.82 0.00social_HEREMPN ≥ -6.0
social_RETEMPN-3.46 0.666-5.20*** NA 0.00
social_TOTHH-6.91 NA NA NA 0.00fixed value
univ_COLLFTE-6.00 NA NA[***] 379.06 0.00univ_COLLFTE ≥ -6.0
univ_COLLPTE-6.00 NA NA[***] 390.32 0.00univ_COLLPTE ≥ -6.0
univ_TOTHH-6.91 NA NA NA 0.00fixed value
work_AGREMPN 1.15 0.433 2.65** NA 0.00
work_FPSEMPN-6.00 NA NA[***] 647.25 0.00work_FPSEMPN ≥ -6.0
work_HEREMPN-4.55 0.535-8.51*** NA 0.00
work_MWTEMPN-6.00 NA NA[***] 106.49 0.00work_MWTEMPN ≥ -6.0
work_OTHEMPN-5.21 1.18-4.42*** NA 0.00
work_RETEMPN 0.00 NA NA NA 0.00fixed value
" + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ValueStd Errt StatSignifNull ValueConstrained
Parameter      
coef_UNAVAILABLE-999. 0.00 NA 0.00fixed value
coef_distance_joint-0.223 0.0134-16.56*** 0.00
coef_mode_choice_logsum 0.908 0.0111 82.17*** 0.00
coef_one 1.00 0.00 NA 0.00fixed value
coef_prox_dest_outbound_work-0.279 158.-0.00 0.00
coef_prox_home_inbound_work-0.122 0.00393-31.03*** 0.00
coef_prox_home_outbound_work-0.419 158.-0.00 0.00
coef_util_distance_atwork-0.122 NA NA 0.00
coef_util_distance_eatout-0.220 0.0130-16.94*** 0.00
coef_util_distance_escort-0.236 0.00671-35.15*** 0.00
coef_util_distance_othdiscr-0.242 0.00636-37.96*** 0.00
coef_util_distance_othmaint-0.178 0.00584-30.41*** 0.00
coef_util_distance_school-0.106 NA NA 0.00
coef_util_distance_shopping-0.227 0.00490-46.30*** 0.00
coef_util_distance_social-0.228 0.0116-19.56*** 0.00
coef_util_distance_univ-0.139 0.00887-15.71*** 0.00
coef_util_distance_work_inbound 0.0898 158. 0.00 0.00
coef_util_distance_work_outbound-0.138 0.00378-36.55*** 0.00
eatout_HEREMPN-2.55 0.279-9.16*** 0.00
eatout_RETEMPN-0.298 0.00 NA 0.00fixed value
escort_AGE0519-0.0396 NA NA 0.00
escort_HEREMPN-2.85 NA NA 0.00
escort_HSENROLL-2.26 NA NA 0.00
escort_RETEMPN-0.886 NA NA 0.00
escort_TOTHH-6.91 0.00 NA 0.00fixed value
othdiscr_HEREMPN-4.39 0.449-9.78*** 0.00
othdiscr_HSENROLL-3.31 0.341-9.70*** 0.00
othdiscr_OTHEMPN-2.83 0.181-15.63*** 0.00
othdiscr_RETEMPN-2.88 0.379-7.60*** 0.00
othdiscr_TOTHH-1.38 0.00 NA 0.00fixed value
othmaint_HEREMPN-1.69 NA NA 0.00
othmaint_RETEMPN-0.351 NA NA 0.00
othmaint_TOTHH-6.91 0.00 NA 0.00fixed value
shopping_RETEMPN-6.00 0.00 NA 0.00shopping_RETEMPN ≥ -6.0
shopping_TOTHH-6.91 0.00 NA 0.00fixed value
social_HEREMPN-1.52 NA NA 0.00
social_RETEMPN-0.0988 NA NA 0.00
social_TOTHH-6.91 0.00 NA 0.00fixed value
univ_COLLFTE-6.00 0.00 NA 0.00univ_COLLFTE ≥ -6.0
univ_COLLPTE-6.00 0.00 NA 0.00univ_COLLPTE ≥ -6.0
univ_TOTHH-6.91 0.00 NA 0.00fixed value
work_AGREMPN 0.122 0.169 0.73 0.00
work_FPSEMPN-6.00 5.27e-09-BIG*** 0.00work_FPSEMPN ≥ -6.0
work_HEREMPN-1.96 0.0705-27.78*** 0.00
work_MWTEMPN-5.32 0.384-13.86*** 0.00
work_OTHEMPN-2.51 0.0972-25.86*** 0.00
work_RETEMPN 0.00 0.00 NA 0.00fixed value
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 12, @@ -4157,12 +4148,12 @@ " work\n", " trip\n", " 0.000000\n", - " 0.240157\n", - " 0.000595\n", - " 0.002534\n", - " 0.001318\n", - " 0.754800\n", - " 0.000595\n", + " 0.423805\n", + " 0.001051\n", + " 0.059726\n", + " 0.034350\n", + " 0.479002\n", + " 0.002067\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4172,15 +4163,15 @@ " 15\n", " escort\n", " trip\n", - " 0.002577\n", - " 0.315809\n", + " 0.000651\n", + " 0.268207\n", " 0.000000\n", - " 0.006387\n", + " 0.037695\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.567232\n", - " 0.107996\n", + " 0.625554\n", + " 0.067893\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4205,9 +4196,9 @@ " eatout\n", " trip\n", " 0.000000\n", - " 0.981581\n", + " 0.904850\n", " 0.000000\n", - " 0.018419\n", + " 0.095150\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4220,10 +4211,10 @@ " 18\n", " othmaint\n", " trip\n", - " 0.066899\n", - " 0.767274\n", + " 0.001125\n", + " 0.791941\n", " 0.000000\n", - " 0.165826\n", + " 0.206934\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4236,10 +4227,10 @@ " 19\n", " social\n", " trip\n", - " 0.028736\n", - " 0.900036\n", + " 0.000888\n", + " 0.804213\n", " 0.000000\n", - " 0.071228\n", + " 0.194899\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4252,15 +4243,15 @@ " 20\n", " othdiscr\n", " trip\n", - " 0.273261\n", - " 0.711905\n", + " 0.605815\n", + " 0.134341\n", " 0.000000\n", - " 0.002688\n", - " 0.009458\n", + " 0.029688\n", + " 0.142442\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.002688\n", + " 0.087714\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4300,13 +4291,13 @@ "11 social non_mandatory 0.000000 0.522000 0.000000 0.478000 \n", "12 othdiscr non_mandatory 0.252252 0.212212 0.000000 0.272272 \n", "13 atwork atwork 0.000000 0.742000 0.000000 0.258000 \n", - "14 work trip 0.000000 0.240157 0.000595 0.002534 \n", - "15 escort trip 0.002577 0.315809 0.000000 0.006387 \n", + "14 work trip 0.000000 0.423805 0.001051 0.059726 \n", + "15 escort trip 0.000651 0.268207 0.000000 0.037695 \n", "16 shopping trip 0.287459 0.712541 0.000000 0.000000 \n", - "17 eatout trip 0.000000 0.981581 0.000000 0.018419 \n", - "18 othmaint trip 0.066899 0.767274 0.000000 0.165826 \n", - "19 social trip 0.028736 0.900036 0.000000 0.071228 \n", - "20 othdiscr trip 0.273261 0.711905 0.000000 0.002688 \n", + "17 eatout trip 0.000000 0.904850 0.000000 0.095150 \n", + "18 othmaint trip 0.001125 0.791941 0.000000 0.206934 \n", + "19 social trip 0.000888 0.804213 0.000000 0.194899 \n", + "20 othdiscr trip 0.605815 0.134341 0.000000 0.029688 \n", "21 univ trip 0.167856 0.000000 0.000000 0.000000 \n", "\n", " OTHEMPN AGREMPN MWTEMPN AGE0519 HSENROLL COLLFTE COLLPTE \n", @@ -4324,13 +4315,13 @@ "11 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "12 0.165165 0.000000 0.000000 0.000000 0.098098 0.000000 0.000000 \n", "13 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "14 0.001318 0.754800 0.000595 0.000000 0.000000 0.000000 0.000000 \n", - "15 0.000000 0.000000 0.000000 0.567232 0.107996 0.000000 0.000000 \n", + "14 0.034350 0.479002 0.002067 0.000000 0.000000 0.000000 0.000000 \n", + "15 0.000000 0.000000 0.000000 0.625554 0.067893 0.000000 0.000000 \n", "16 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "17 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "18 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "19 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "20 0.009458 0.000000 0.000000 0.000000 0.002688 0.000000 0.000000 \n", + "20 0.142442 0.000000 0.000000 0.000000 0.087714 0.000000 0.000000 \n", "21 0.000000 0.000000 0.000000 0.000000 0.000000 0.416072 0.416072 " ] }, @@ -4424,31 +4415,31 @@ " \n", " 2\n", " coef_mode_choice_logsum\n", - " 0.163028\n", + " 0.908189\n", " F\n", " \n", " \n", " 3\n", " coef_distance_joint\n", - " -0.376392\n", + " -0.222590\n", " F\n", " \n", " \n", " 4\n", " coef_util_distance_work_outbound\n", - " -0.300511\n", + " -0.138174\n", " F\n", " \n", " \n", " 5\n", " coef_util_distance_work_inbound\n", - " -0.094761\n", + " 0.089849\n", " F\n", " \n", " \n", " 6\n", " coef_util_distance_univ\n", - " -0.186380\n", + " -0.139388\n", " F\n", " \n", " \n", @@ -4460,37 +4451,37 @@ " \n", " 8\n", " coef_util_distance_escort\n", - " -0.337785\n", + " -0.235858\n", " F\n", " \n", " \n", " 9\n", " coef_util_distance_shopping\n", - " -0.390483\n", + " -0.227090\n", " F\n", " \n", " \n", " 10\n", " coef_util_distance_eatout\n", - " -0.366193\n", + " -0.219723\n", " F\n", " \n", " \n", " 11\n", " coef_util_distance_othmaint\n", - " -0.257971\n", + " -0.177610\n", " F\n", " \n", " \n", " 12\n", " coef_util_distance_social\n", - " -0.338764\n", + " -0.227558\n", " F\n", " \n", " \n", " 13\n", " coef_util_distance_othdiscr\n", - " -0.408787\n", + " -0.241573\n", " F\n", " \n", " \n", @@ -4502,19 +4493,19 @@ " \n", " 15\n", " coef_prox_home_outbound_work\n", - " -0.522711\n", + " -0.419012\n", " F\n", " \n", " \n", " 16\n", " coef_prox_home_inbound_work\n", - " -0.174104\n", + " -0.121975\n", " F\n", " \n", " \n", " 17\n", " coef_prox_dest_outbound_work\n", - " -0.359504\n", + " -0.278949\n", " F\n", " \n", " \n", @@ -4525,22 +4516,22 @@ " coefficient_name value constrain\n", "0 coef_UNAVAILABLE -999.000000 T\n", "1 coef_one 1.000000 T\n", - "2 coef_mode_choice_logsum 0.163028 F\n", - "3 coef_distance_joint -0.376392 F\n", - "4 coef_util_distance_work_outbound -0.300511 F\n", - "5 coef_util_distance_work_inbound -0.094761 F\n", - "6 coef_util_distance_univ -0.186380 F\n", + "2 coef_mode_choice_logsum 0.908189 F\n", + "3 coef_distance_joint -0.222590 F\n", + "4 coef_util_distance_work_outbound -0.138174 F\n", + "5 coef_util_distance_work_inbound 0.089849 F\n", + "6 coef_util_distance_univ -0.139388 F\n", "7 coef_util_distance_school -0.105600 F\n", - "8 coef_util_distance_escort -0.337785 F\n", - "9 coef_util_distance_shopping -0.390483 F\n", - "10 coef_util_distance_eatout -0.366193 F\n", - "11 coef_util_distance_othmaint -0.257971 F\n", - "12 coef_util_distance_social -0.338764 F\n", - "13 coef_util_distance_othdiscr -0.408787 F\n", + "8 coef_util_distance_escort -0.235858 F\n", + "9 coef_util_distance_shopping -0.227090 F\n", + "10 coef_util_distance_eatout -0.219723 F\n", + "11 coef_util_distance_othmaint -0.177610 F\n", + "12 coef_util_distance_social -0.227558 F\n", + "13 coef_util_distance_othdiscr -0.241573 F\n", "14 coef_util_distance_atwork -0.122335 F\n", - "15 coef_prox_home_outbound_work -0.522711 F\n", - "16 coef_prox_home_inbound_work -0.174104 F\n", - "17 coef_prox_dest_outbound_work -0.359504 F" + "15 coef_prox_home_outbound_work -0.419012 F\n", + "16 coef_prox_home_inbound_work -0.121975 F\n", + "17 coef_prox_dest_outbound_work -0.278949 F" ] }, "execution_count": 17, @@ -4839,12 +4830,12 @@ " work\n", " trip\n", " 0.000000\n", - " 0.240157\n", - " 0.000595\n", - " 0.002534\n", - " 0.001318\n", - " 0.754800\n", - " 0.000595\n", + " 0.423805\n", + " 0.001051\n", + " 0.059726\n", + " 0.034350\n", + " 0.479002\n", + " 0.002067\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4855,15 +4846,15 @@ " 15\n", " escort\n", " trip\n", - " 0.002577\n", - " 0.315809\n", + " 0.000651\n", + " 0.268207\n", " 0.000000\n", - " 0.006387\n", + " 0.037695\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.567232\n", - " 0.107996\n", + " 0.625554\n", + " 0.067893\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4890,9 +4881,9 @@ " eatout\n", " trip\n", " 0.000000\n", - " 0.981581\n", + " 0.904850\n", " 0.000000\n", - " 0.018419\n", + " 0.095150\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4906,10 +4897,10 @@ " 18\n", " othmaint\n", " trip\n", - " 0.066899\n", - " 0.767274\n", + " 0.001125\n", + " 0.791941\n", " 0.000000\n", - " 0.165826\n", + " 0.206934\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4923,10 +4914,10 @@ " 19\n", " social\n", " trip\n", - " 0.028736\n", - " 0.900036\n", + " 0.000888\n", + " 0.804213\n", " 0.000000\n", - " 0.071228\n", + " 0.194899\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", @@ -4940,15 +4931,15 @@ " 20\n", " othdiscr\n", " trip\n", - " 0.273261\n", - " 0.711905\n", + " 0.605815\n", + " 0.134341\n", " 0.000000\n", - " 0.002688\n", - " 0.009458\n", + " 0.029688\n", + " 0.142442\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 0.002688\n", + " 0.087714\n", " 0.000000\n", " 0.000000\n", " \n", @@ -4989,13 +4980,13 @@ "11 11 social non_mandatory 0.000000 0.522000 0.000000 \n", "12 12 othdiscr non_mandatory 0.252252 0.212212 0.000000 \n", "13 13 atwork atwork 0.000000 0.742000 0.000000 \n", - "14 14 work trip 0.000000 0.240157 0.000595 \n", - "15 15 escort trip 0.002577 0.315809 0.000000 \n", + "14 14 work trip 0.000000 0.423805 0.001051 \n", + "15 15 escort trip 0.000651 0.268207 0.000000 \n", "16 16 shopping trip 0.287459 0.712541 0.000000 \n", - "17 17 eatout trip 0.000000 0.981581 0.000000 \n", - "18 18 othmaint trip 0.066899 0.767274 0.000000 \n", - "19 19 social trip 0.028736 0.900036 0.000000 \n", - "20 20 othdiscr trip 0.273261 0.711905 0.000000 \n", + "17 17 eatout trip 0.000000 0.904850 0.000000 \n", + "18 18 othmaint trip 0.001125 0.791941 0.000000 \n", + "19 19 social trip 0.000888 0.804213 0.000000 \n", + "20 20 othdiscr trip 0.605815 0.134341 0.000000 \n", "21 21 univ trip 0.167856 0.000000 0.000000 \n", "\n", " HEREMPN OTHEMPN AGREMPN MWTEMPN AGE0519 HSENROLL COLLFTE \\\n", @@ -5013,13 +5004,13 @@ "11 0.478000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "12 0.272272 0.165165 0.000000 0.000000 0.000000 0.098098 0.000000 \n", "13 0.258000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "14 0.002534 0.001318 0.754800 0.000595 0.000000 0.000000 0.000000 \n", - "15 0.006387 0.000000 0.000000 0.000000 0.567232 0.107996 0.000000 \n", + "14 0.059726 0.034350 0.479002 0.002067 0.000000 0.000000 0.000000 \n", + "15 0.037695 0.000000 0.000000 0.000000 0.625554 0.067893 0.000000 \n", "16 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "17 0.018419 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "18 0.165826 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "19 0.071228 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", - "20 0.002688 0.009458 0.000000 0.000000 0.000000 0.002688 0.000000 \n", + "17 0.095150 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "18 0.206934 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "19 0.194899 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "20 0.029688 0.142442 0.000000 0.000000 0.000000 0.087714 0.000000 \n", "21 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.416072 \n", "\n", " COLLPTE \n", @@ -5064,7 +5055,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -5078,7 +5069,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/23_trip_mode_choice.ipynb b/activitysim/examples/example_estimation/notebooks/23_trip_mode_choice.ipynb index acf84e2740..a38eb92392 100644 --- a/activitysim/examples/example_estimation/notebooks/23_trip_mode_choice.ipynb +++ b/activitysim/examples/example_estimation/notebooks/23_trip_mode_choice.ipynb @@ -34,27 +34,74 @@ "id": "s53VwlPwtNnr", "outputId": "d1208b7a-c1f2-4b0b-c439-bf312fe12be0" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAX not found. Some functionality will be unavailable.\n" + ] + }, + { + "data": { + "text/plain": [ + "{'larch': '6.0.32',\n", + " 'sharrow': '2.13.0',\n", + " 'numpy': '1.26.4',\n", + " 'pandas': '1.5.3',\n", + " 'xarray': '2024.3.0',\n", + " 'numba': '0.60.0'}" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "import os\n", - "import larch # !conda install larch -c conda-forge # for estimation\n", - "import pandas as pd" + "import larch as lx\n", + "import pandas as pd\n", + "\n", + "lx.versions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll work in our `test` directory, where ActivitySim has saved the estimation data bundles." + "For this demo, we will assume that you have already run ActivitySim in estimation\n", + "mode, and saved the required estimation data bundles (EDB's) to disk. See\n", + "the [first notebook](./01_estimation_mode.ipynb) for details. The following module\n", + "will run a script to set everything up if the example data is not already available." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EDB directory already populated.\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('test-estimation-data/activitysim-prototype-mtc-extended')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "os.chdir('test')" + "from est_mode_setup import prepare\n", + "\n", + "prepare()" ] }, { @@ -70,11 +117,13 @@ "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/Users/jeffnewman/OneDrive - Cambridge Systematics/Git/activitysim/activitysim/estimation/larch/mode_choice.py:126: DtypeWarning: Columns (411) have mixed types.Specify dtype option on import or set low_memory=False.\n", - " return mode_choice_model(\n" + "loading from output-est-mode/estimation_data_bundle/trip_mode_choice/trip_mode_choice_coefficients.csv\n", + "loading from output-est-mode/estimation_data_bundle/trip_mode_choice/trip_mode_choice_coefficients_template.csv\n", + "loading spec from output-est-mode/estimation_data_bundle/trip_mode_choice/trip_mode_choice_SPEC.csv\n", + "loading from output-est-mode/estimation_data_bundle/trip_mode_choice/trip_mode_choice_values_combined.parquet\n" ] } ], @@ -82,7 +131,11 @@ "modelname = \"trip_mode_choice\"\n", "\n", "from activitysim.estimation.larch import component_model\n", - "model, data = component_model(modelname, return_data=True)" + "model, data = component_model(\n", + " modelname,\n", + " edb_directory=f\"output-est-mode/estimation_data_bundle/{modelname}/\",\n", + " return_data=True,\n", + ")" ] }, { @@ -685,15 +738,15 @@ " util_DRIVEALONEFREE_In_vehicle_time\n", " util_DRIVEALONEFREE_Terminal_time\n", " ...\n", - " drive_lrf_available_inbound\n", - " drive_express_available_outbound\n", - " drive_express_available_inbound\n", " drive_heavyrail_available_outbound\n", " drive_heavyrail_available_inbound\n", " drive_commuter_available_outbound\n", " drive_commuter_available_inbound\n", " walk_ferry_available\n", " drive_ferry_available\n", + " distance\n", + " distance_walk_od\n", + " distance_bike_od\n", " override_choice_code\n", " \n", " \n", @@ -723,17 +776,17 @@ " \n", " \n", " \n", - " 6812\n", - " 54497\n", + " 1870\n", + " 14961\n", " WALK\n", " WALK\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 2.72\n", - " 7.72508\n", + " 0.0\n", + " 10.52\n", + " 10.63286\n", " ...\n", " False\n", " False\n", @@ -741,23 +794,23 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", + " 3.78\n", + " 3.78\n", + " 3.78\n", " 7\n", " \n", " \n", - " 6812\n", - " 54501\n", + " 1870\n", + " 14965\n", " WALK\n", " WALK\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 2.76\n", - " 7.72508\n", + " 0.0\n", + " 10.31\n", + " 10.63286\n", " ...\n", " False\n", " False\n", @@ -765,71 +818,71 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", + " 3.79\n", + " 3.79\n", + " 3.79\n", " 7\n", " \n", " \n", - " 8110\n", - " 64881\n", - " WALK\n", - " WALK\n", + " 20468\n", + " 163745\n", + " WALK_LOC\n", + " WALK_LOC\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 4.43\n", - " 17.09892\n", + " 0.0\n", + " 4.72\n", + " 6.62312\n", " ...\n", + " True\n", " False\n", + " True\n", " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " 7\n", + " 2.07\n", + " 2.07\n", + " 2.07\n", + " 9\n", " \n", " \n", - " 8110\n", - " 64885\n", - " WALK\n", - " WALK\n", + " 20468\n", + " 163749\n", + " WALK_LOC\n", + " TNC_SINGLE\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 4.43\n", - " 17.09892\n", + " 0.0\n", + " 4.72\n", + " 6.62312\n", " ...\n", " False\n", + " True\n", " False\n", + " True\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " False\n", - " 7\n", + " 2.07\n", + " 2.07\n", + " 2.07\n", + " 20\n", " \n", " \n", - " 11013\n", - " 88105\n", - " DRIVEALONEFREE\n", + " 27055\n", + " 216441\n", + " SHARED3FREE\n", " DRIVEALONEFREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 10.53\n", - " 9.08660\n", + " 6.77\n", + " 4.26534\n", " ...\n", " False\n", " False\n", @@ -837,9 +890,9 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", + " 2.49\n", + " 2.49\n", + " 2.49\n", " 1\n", " \n", " \n", @@ -867,17 +920,17 @@ " ...\n", " \n", " \n", - " 309796968\n", - " 2478375745\n", - " SHARED3FREE\n", - " SHARED3FREE\n", + " 310202384\n", + " 2481619077\n", + " DRIVEALONEFREE\n", + " DRIVEALONEFREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 8.84\n", - " 6.83436\n", + " 2.74\n", + " 1.91196\n", " ...\n", " False\n", " False\n", @@ -885,23 +938,23 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", - " 5\n", + " 1.66\n", + " 2.55\n", + " 2.55\n", + " 1\n", " \n", " \n", - " 309796968\n", - " 2478375749\n", - " SHARED3FREE\n", - " SHARED3FREE\n", + " 310212634\n", + " 2481701073\n", + " DRIVEALONEFREE\n", + " DRIVEALONEFREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 8.50\n", - " 6.83436\n", + " 6.42\n", + " 2.66128\n", " ...\n", " False\n", " False\n", @@ -909,14 +962,14 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", - " 5\n", + " 2.57\n", + " 2.57\n", + " 2.57\n", + " 1\n", " \n", " \n", - " 309796969\n", - " 2478375753\n", + " 310212634\n", + " 2481701077\n", " DRIVEALONEFREE\n", " DRIVEALONEFREE\n", " 0.0\n", @@ -924,8 +977,8 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 4.00\n", - " 5.00346\n", + " 6.42\n", + " 2.66128\n", " ...\n", " False\n", " False\n", @@ -933,23 +986,23 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", + " 2.57\n", + " 2.57\n", + " 2.57\n", " 1\n", " \n", " \n", - " 309796969\n", - " 2478375757\n", - " TNC_SHARED\n", - " TNC_SHARED\n", + " 310220296\n", + " 2481762369\n", + " DRIVEALONEFREE\n", + " DRIVEALONEFREE\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.89\n", - " 9.29502\n", + " 6.72\n", + " 4.02884\n", " ...\n", " False\n", " False\n", @@ -957,14 +1010,14 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", - " 21\n", + " 2.90\n", + " 2.90\n", + " 2.90\n", + " 1\n", " \n", " \n", - " 309796969\n", - " 2478375758\n", + " 310220296\n", + " 2481762373\n", " DRIVEALONEFREE\n", " DRIVEALONEFREE\n", " 0.0\n", @@ -972,8 +1025,8 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 3.73\n", - " 4.29156\n", + " 6.87\n", + " 4.02884\n", " ...\n", " False\n", " False\n", @@ -981,228 +1034,214 @@ " False\n", " False\n", " False\n", - " False\n", - " False\n", - " False\n", + " 2.90\n", + " 2.90\n", + " 2.90\n", " 1\n", " \n", " \n", "\n", - "

14352 rows × 475 columns

\n", + "

176389 rows × 480 columns

\n", "" ], "text/plain": [ " trip_id model_choice override_choice \\\n", "tour_id \n", - "6812 54497 WALK WALK \n", - "6812 54501 WALK WALK \n", - "8110 64881 WALK WALK \n", - "8110 64885 WALK WALK \n", - "11013 88105 DRIVEALONEFREE DRIVEALONEFREE \n", + "1870 14961 WALK WALK \n", + "1870 14965 WALK WALK \n", + "20468 163745 WALK_LOC WALK_LOC \n", + "20468 163749 WALK_LOC TNC_SINGLE \n", + "27055 216441 SHARED3FREE DRIVEALONEFREE \n", "... ... ... ... \n", - "309796968 2478375745 SHARED3FREE SHARED3FREE \n", - "309796968 2478375749 SHARED3FREE SHARED3FREE \n", - "309796969 2478375753 DRIVEALONEFREE DRIVEALONEFREE \n", - "309796969 2478375757 TNC_SHARED TNC_SHARED \n", - "309796969 2478375758 DRIVEALONEFREE DRIVEALONEFREE \n", + "310202384 2481619077 DRIVEALONEFREE DRIVEALONEFREE \n", + "310212634 2481701073 DRIVEALONEFREE DRIVEALONEFREE \n", + "310212634 2481701077 DRIVEALONEFREE DRIVEALONEFREE \n", + "310220296 2481762369 DRIVEALONEFREE DRIVEALONEFREE \n", + "310220296 2481762373 DRIVEALONEFREE DRIVEALONEFREE \n", "\n", " util_DRIVEALONEFREE_Unavailable \\\n", "tour_id \n", - "6812 0.0 \n", - "6812 0.0 \n", - "8110 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", + "1870 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", "... ... \n", - "309796968 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_for_zero_auto_households \\\n", "tour_id \n", - "6812 1.0 \n", - "6812 1.0 \n", - "8110 1.0 \n", - "8110 1.0 \n", - "11013 0.0 \n", + "1870 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", "... ... \n", - "309796968 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16 \\\n", "tour_id \n", - "6812 0.0 \n", - "6812 0.0 \n", - "8110 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", + "1870 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", "... ... \n", - "309796968 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_for_joint_tours \\\n", "tour_id \n", - "6812 0.0 \n", - "6812 0.0 \n", - "8110 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", + "1870 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", "... ... \n", - "309796968 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_Unavailable_if_didnt_drive_to_work \\\n", "tour_id \n", - "6812 0.0 \n", - "6812 0.0 \n", - "8110 0.0 \n", - "8110 0.0 \n", - "11013 0.0 \n", + "1870 0.0 \n", + "1870 0.0 \n", + "20468 0.0 \n", + "20468 0.0 \n", + "27055 0.0 \n", "... ... \n", - "309796968 0.0 \n", - "309796968 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", - "309796969 0.0 \n", + "310202384 0.0 \n", + "310212634 0.0 \n", + "310212634 0.0 \n", + "310220296 0.0 \n", + "310220296 0.0 \n", "\n", " util_DRIVEALONEFREE_In_vehicle_time \\\n", "tour_id \n", - "6812 2.72 \n", - "6812 2.76 \n", - "8110 4.43 \n", - "8110 4.43 \n", - "11013 10.53 \n", + "1870 10.52 \n", + "1870 10.31 \n", + "20468 4.72 \n", + "20468 4.72 \n", + "27055 6.77 \n", "... ... \n", - "309796968 8.84 \n", - "309796968 8.50 \n", - "309796969 4.00 \n", - "309796969 1.89 \n", - "309796969 3.73 \n", + "310202384 2.74 \n", + "310212634 6.42 \n", + "310212634 6.42 \n", + "310220296 6.72 \n", + "310220296 6.87 \n", "\n", " util_DRIVEALONEFREE_Terminal_time ... \\\n", "tour_id ... \n", - "6812 7.72508 ... \n", - "6812 7.72508 ... \n", - "8110 17.09892 ... \n", - "8110 17.09892 ... \n", - "11013 9.08660 ... \n", + "1870 10.63286 ... \n", + "1870 10.63286 ... \n", + "20468 6.62312 ... \n", + "20468 6.62312 ... \n", + "27055 4.26534 ... \n", "... ... ... \n", - "309796968 6.83436 ... \n", - "309796968 6.83436 ... \n", - "309796969 5.00346 ... \n", - "309796969 9.29502 ... \n", - "309796969 4.29156 ... \n", - "\n", - " drive_lrf_available_inbound drive_express_available_outbound \\\n", - "tour_id \n", - "6812 False False \n", - "6812 False False \n", - "8110 False False \n", - "8110 False False \n", - "11013 False False \n", - "... ... ... \n", - "309796968 False False \n", - "309796968 False False \n", - "309796969 False False \n", - "309796969 False False \n", - "309796969 False False \n", - "\n", - " drive_express_available_inbound \\\n", - "tour_id \n", - "6812 False \n", - "6812 False \n", - "8110 False \n", - "8110 False \n", - "11013 False \n", - "... ... \n", - "309796968 False \n", - "309796968 False \n", - "309796969 False \n", - "309796969 False \n", - "309796969 False \n", + "310202384 1.91196 ... \n", + "310212634 2.66128 ... \n", + "310212634 2.66128 ... \n", + "310220296 4.02884 ... \n", + "310220296 4.02884 ... \n", "\n", " drive_heavyrail_available_outbound \\\n", "tour_id \n", - "6812 False \n", - "6812 False \n", - "8110 False \n", - "8110 False \n", - "11013 False \n", + "1870 False \n", + "1870 False \n", + "20468 True \n", + "20468 False \n", + "27055 False \n", "... ... \n", - "309796968 False \n", - "309796968 False \n", - "309796969 False \n", - "309796969 False \n", - "309796969 False \n", + "310202384 False \n", + "310212634 False \n", + "310212634 False \n", + "310220296 False \n", + "310220296 False \n", "\n", " drive_heavyrail_available_inbound \\\n", "tour_id \n", - "6812 False \n", - "6812 False \n", - "8110 False \n", - "8110 False \n", - "11013 False \n", + "1870 False \n", + "1870 False \n", + "20468 False \n", + "20468 True \n", + "27055 False \n", "... ... \n", - "309796968 False \n", - "309796968 False \n", - "309796969 False \n", - "309796969 False \n", - "309796969 False \n", + "310202384 False \n", + "310212634 False \n", + "310212634 False \n", + "310220296 False \n", + "310220296 False \n", "\n", " drive_commuter_available_outbound \\\n", "tour_id \n", - "6812 False \n", - "6812 False \n", - "8110 False \n", - "8110 False \n", - "11013 False \n", + "1870 False \n", + "1870 False \n", + "20468 True \n", + "20468 False \n", + "27055 False \n", "... ... \n", - "309796968 False \n", - "309796968 False \n", - "309796969 False \n", - "309796969 False \n", - "309796969 False \n", + "310202384 False \n", + "310212634 False \n", + "310212634 False \n", + "310220296 False \n", + "310220296 False \n", "\n", " drive_commuter_available_inbound walk_ferry_available \\\n", "tour_id \n", - "6812 False False \n", - "6812 False False \n", - "8110 False False \n", - "8110 False False \n", - "11013 False False \n", + "1870 False False \n", + "1870 False False \n", + "20468 False False \n", + "20468 True False \n", + "27055 False False \n", "... ... ... \n", - "309796968 False False \n", - "309796968 False False \n", - "309796969 False False \n", - "309796969 False False \n", - "309796969 False False \n", + "310202384 False False \n", + "310212634 False False \n", + "310212634 False False \n", + "310220296 False False \n", + "310220296 False False \n", "\n", - " drive_ferry_available override_choice_code \n", - "tour_id \n", - "6812 False 7 \n", - "6812 False 7 \n", - "8110 False 7 \n", - "8110 False 7 \n", - "11013 False 1 \n", - "... ... ... \n", - "309796968 False 5 \n", - "309796968 False 5 \n", - "309796969 False 1 \n", - "309796969 False 21 \n", - "309796969 False 1 \n", + " drive_ferry_available distance distance_walk_od \\\n", + "tour_id \n", + "1870 False 3.78 3.78 \n", + "1870 False 3.79 3.79 \n", + "20468 False 2.07 2.07 \n", + "20468 False 2.07 2.07 \n", + "27055 False 2.49 2.49 \n", + "... ... ... ... \n", + "310202384 False 1.66 2.55 \n", + "310212634 False 2.57 2.57 \n", + "310212634 False 2.57 2.57 \n", + "310220296 False 2.90 2.90 \n", + "310220296 False 2.90 2.90 \n", + "\n", + " distance_bike_od override_choice_code \n", + "tour_id \n", + "1870 3.78 7 \n", + "1870 3.79 7 \n", + "20468 2.07 9 \n", + "20468 2.07 20 \n", + "27055 2.49 1 \n", + "... ... ... \n", + "310202384 2.55 1 \n", + "310212634 2.57 1 \n", + "310212634 2.57 1 \n", + "310220296 2.90 1 \n", + "310220296 2.90 1 \n", "\n", - "[14352 rows x 475 columns]" + "[176389 rows x 480 columns]" ] }, "execution_count": 6, @@ -1228,41 +1267,10 @@ "execution_count": 7, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "req_data does not request avail_ca or avail_co but it is set and being provided\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (1 issues)\n", - "problem: low-variance-data-co (1 issues)\n", - "problem: chosen-but-not-available (2 issues)\n", - "problem: low-variance-data-co (1 issues)\n" - ] - }, { "data": { "text/plain": [ - "-10094.898223413013" + "-94787.94601063678" ] }, "execution_count": 7, @@ -1271,7 +1279,6 @@ } ], "source": [ - "model.load_data()\n", "model.doctor(repair_ch_av='-')\n", "model.loglike()" ] @@ -1284,7 +1291,7 @@ { "data": { "text/html": [ - "

Iteration 110 [Optimization terminated successfully]

" + "

Iteration 304 [Optimization terminated successfully]

" ], "text/plain": [ "" @@ -1296,7 +1303,7 @@ { "data": { "text/html": [ - "

Best LL = -7541.342641931288

" + "

Best LL = -83882.48668326798

" ], "text/plain": [ "" @@ -1327,70 +1334,74 @@ " \n", " \n", " value\n", + " best\n", " initvalue\n", - " nullvalue\n", " minimum\n", " maximum\n", + " nullvalue\n", " holdfast\n", - " note\n", - " best\n", + " \n", + " \n", + " param_name\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " -999\n", " -999.000000\n", + " -999.000000\n", " -999.0000\n", " -999.0\n", " -999.0\n", - " -999.0\n", + " 0.0\n", " 1\n", - " \n", - " -999.000000\n", " \n", " \n", " 1\n", " 1.000000\n", + " 1.000000\n", " 1.0000\n", " 1.0\n", " 1.0\n", - " 1.0\n", + " 0.0\n", " 1\n", - " \n", - " 1.000000\n", " \n", " \n", " coef_age010_trn\n", - " 0.360551\n", + " 0.131028\n", + " 0.131028\n", " 0.0000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.360551\n", " \n", " \n", " coef_age1619_da\n", - " 0.344530\n", + " 0.432972\n", + " 0.432972\n", " 0.0000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.344530\n", " \n", " \n", " coef_age16p_sr\n", - " -0.151886\n", + " -0.403317\n", + " -0.403317\n", " 0.0000\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.151886\n", " \n", " \n", " ...\n", @@ -1401,114 +1412,106 @@ " ...\n", " ...\n", " ...\n", - " ...\n", " \n", " \n", - " coef_sr3p_ASC_sr3p_othdiscr\n", - " 0.844944\n", - " 0.7398\n", + " coef_walk_transit_ASC_walk_school\n", + " -1.566510\n", + " -1.566510\n", + " -1.1828\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " 0.844944\n", " \n", " \n", - " coef_sr3p_ASC_walk_othdiscr\n", - " -5.841028\n", - " -0.5272\n", + " coef_walk_transit_ASC_walk_shopping\n", + " -1.250219\n", + " -1.250219\n", + " -0.1943\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -5.841028\n", " \n", " \n", - " coef_walk_transit_ASC_sr2_othdiscr\n", - " -1.232224\n", - " -2.7590\n", + " coef_walk_transit_ASC_walk_social\n", + " -0.846190\n", + " -0.846190\n", + " -0.7651\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.232224\n", " \n", " \n", - " coef_walk_transit_ASC_sr3p_othdiscr\n", - " -1.199264\n", - " -2.5126\n", + " coef_walk_transit_ASC_walk_univ\n", + " -1.031100\n", + " -1.031100\n", + " -1.0311\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -1.199264\n", " \n", " \n", - " coef_walk_transit_ASC_walk_othdiscr\n", - " -0.980497\n", - " -0.4997\n", + " coef_walk_transit_ASC_walk_work\n", + " 0.296352\n", + " 0.296352\n", + " 0.4432\n", + " -inf\n", + " inf\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0\n", - " \n", - " -0.980497\n", " \n", " \n", "\n", - "

272 rows × 8 columns

\n", + "

272 rows × 7 columns

\n", "" ], "text/plain": [ - " value initvalue nullvalue \\\n", - "-999 -999.000000 -999.0000 -999.0 \n", - "1 1.000000 1.0000 1.0 \n", - "coef_age010_trn 0.360551 0.0000 0.0 \n", - "coef_age1619_da 0.344530 0.0000 0.0 \n", - "coef_age16p_sr -0.151886 0.0000 0.0 \n", - "... ... ... ... \n", - "coef_sr3p_ASC_sr3p_othdiscr 0.844944 0.7398 0.0 \n", - "coef_sr3p_ASC_walk_othdiscr -5.841028 -0.5272 0.0 \n", - "coef_walk_transit_ASC_sr2_othdiscr -1.232224 -2.7590 0.0 \n", - "coef_walk_transit_ASC_sr3p_othdiscr -1.199264 -2.5126 0.0 \n", - "coef_walk_transit_ASC_walk_othdiscr -0.980497 -0.4997 0.0 \n", + " value best initvalue \\\n", + "param_name \n", + "-999 -999.000000 -999.000000 -999.0000 \n", + "1 1.000000 1.000000 1.0000 \n", + "coef_age010_trn 0.131028 0.131028 0.0000 \n", + "coef_age1619_da 0.432972 0.432972 0.0000 \n", + "coef_age16p_sr -0.403317 -0.403317 0.0000 \n", + "... ... ... ... \n", + "coef_walk_transit_ASC_walk_school -1.566510 -1.566510 -1.1828 \n", + "coef_walk_transit_ASC_walk_shopping -1.250219 -1.250219 -0.1943 \n", + "coef_walk_transit_ASC_walk_social -0.846190 -0.846190 -0.7651 \n", + "coef_walk_transit_ASC_walk_univ -1.031100 -1.031100 -1.0311 \n", + "coef_walk_transit_ASC_walk_work 0.296352 0.296352 0.4432 \n", "\n", - " minimum maximum holdfast note \\\n", - "-999 -999.0 -999.0 1 \n", - "1 1.0 1.0 1 \n", - "coef_age010_trn NaN NaN 0 \n", - "coef_age1619_da NaN NaN 0 \n", - "coef_age16p_sr NaN NaN 0 \n", - "... ... ... ... ... \n", - "coef_sr3p_ASC_sr3p_othdiscr NaN NaN 0 \n", - "coef_sr3p_ASC_walk_othdiscr NaN NaN 0 \n", - "coef_walk_transit_ASC_sr2_othdiscr NaN NaN 0 \n", - "coef_walk_transit_ASC_sr3p_othdiscr NaN NaN 0 \n", - "coef_walk_transit_ASC_walk_othdiscr NaN NaN 0 \n", + " minimum maximum nullvalue holdfast \n", + "param_name \n", + "-999 -999.0 -999.0 0.0 1 \n", + "1 1.0 1.0 0.0 1 \n", + "coef_age010_trn -inf inf 0.0 0 \n", + "coef_age1619_da -inf inf 0.0 0 \n", + "coef_age16p_sr -inf inf 0.0 0 \n", + "... ... ... ... ... \n", + "coef_walk_transit_ASC_walk_school -inf inf 0.0 0 \n", + "coef_walk_transit_ASC_walk_shopping -inf inf 0.0 0 \n", + "coef_walk_transit_ASC_walk_social -inf inf 0.0 0 \n", + "coef_walk_transit_ASC_walk_univ -inf inf 0.0 0 \n", + "coef_walk_transit_ASC_walk_work -inf inf 0.0 0 \n", "\n", - " best \n", - "-999 -999.000000 \n", - "1 1.000000 \n", - "coef_age010_trn 0.360551 \n", - "coef_age1619_da 0.344530 \n", - "coef_age16p_sr -0.151886 \n", - "... ... \n", - "coef_sr3p_ASC_sr3p_othdiscr 0.844944 \n", - "coef_sr3p_ASC_walk_othdiscr -5.841028 \n", - "coef_walk_transit_ASC_sr2_othdiscr -1.232224 \n", - "coef_walk_transit_ASC_sr3p_othdiscr -1.199264 \n", - "coef_walk_transit_ASC_walk_othdiscr -0.980497 \n", - "\n", - "[272 rows x 8 columns]" + "[272 rows x 7 columns]" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jpn/Git/est-mode/larch/src/larch/model/optimization.py:338: UserWarning: SLSQP may not play nicely with unbounded parameters\n", + "if you get poor results, consider setting global bounds with model.set_cap()\n", + " warnings.warn( # infinite bounds # )\n" + ] + }, { "data": { "text/html": [ @@ -1530,173 +1533,461 @@ " \n", " \n", " coef_age010_trn\n", - " 0.360551\n", + " 0.131028\n", " \n", " \n", " coef_age1619_da\n", - " 0.344530\n", + " 0.432972\n", " \n", " \n", " coef_age16p_sr\n", - " -0.151886\n", + " -0.403317\n", " \n", " \n", " coef_bike_ASC_rh\n", " -7.000000\n", " \n", " \n", - " coef_bike_ASC_walk_work\n", - " -2.659172\n", + " coef_bike_ASC_walk_eatout\n", + " -1.688820\n", " \n", " \n", - " coef_drive_transit_ASC_commuter_work\n", - " 0.426505\n", + " coef_bike_ASC_walk_escort\n", + " -13.520300\n", " \n", " \n", - " coef_drive_transit_ASC_express_work\n", - " -0.355400\n", + " coef_bike_ASC_walk_othdiscr\n", + " -1.324400\n", " \n", " \n", - " coef_drive_transit_ASC_ferry_work\n", - " 0.527700\n", + " coef_bike_ASC_walk_othmaint\n", + " -0.712317\n", " \n", " \n", - " coef_drive_transit_ASC_heavyrail_work\n", - " -11.994128\n", + " coef_bike_ASC_walk_school\n", + " -2.411542\n", " \n", " \n", - " coef_drive_transit_ASC_lightrail_work\n", - " -10.300241\n", + " coef_bike_ASC_walk_shopping\n", + " -1.577746\n", " \n", " \n", - " coef_drive_transit_ASC_rh\n", - " -162.171583\n", + " coef_bike_ASC_walk_social\n", + " -13.238401\n", " \n", " \n", - " coef_hhsize1_sr\n", - " -0.890929\n", + " coef_bike_ASC_walk_univ\n", + " -0.339900\n", " \n", " \n", - " coef_hhsize2_sr\n", - " 0.039653\n", + " coef_bike_ASC_walk_work\n", + " -2.059726\n", " \n", " \n", - " coef_ivt_work\n", - " -0.010155\n", + " coef_drive_transit_ASC_commuter_escort\n", + " 0.544200\n", " \n", " \n", - " coef_joint_auto_ASC_rh_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 6.898234\n", " \n", " \n", - " coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_commuter_univ_school\n", + " 3.472482\n", " \n", " \n", - " coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_commuter_work\n", + " 0.928536\n", " \n", " \n", - " coef_joint_auto_ASC_walk_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_express_escort\n", + " 0.754700\n", " \n", " \n", - " coef_joint_bike_ASC_rh_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 0.673466\n", " \n", " \n", - " coef_joint_bike_ASC_walk_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_express_univ_school\n", + " -0.091011\n", " \n", " \n", - " coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_express_work\n", + " 0.063342\n", " \n", " \n", - " coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_ferry_escort\n", + " 0.600500\n", " \n", " \n", - " coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " -1.435555\n", " \n", " \n", - " coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_ferry_univ_school\n", + " 0.935424\n", " \n", " \n", - " coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_ferry_work\n", + " 0.556372\n", " \n", " \n", - " coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_heavyrail_escort\n", + " -3.973160\n", " \n", " \n", - " coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 0.985065\n", " \n", " \n", - " coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_heavyrail_univ_school\n", + " 0.729763\n", " \n", " \n", - " coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_heavyrail_work\n", + " 0.821984\n", " \n", " \n", - " coef_joint_ride_hail_ASC_tnc_shared\n", - " 0.000000\n", + " coef_drive_transit_ASC_lightrail_escort\n", + " 2.308376\n", " \n", " \n", - " coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 0.501609\n", " \n", " \n", - " coef_joint_ride_hail_ASC_walk_transit\n", - " 0.000000\n", + " coef_drive_transit_ASC_lightrail_univ_school\n", + " 3.943847\n", " \n", " \n", - " coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_lightrail_work\n", + " 0.635303\n", " \n", " \n", - " coef_joint_walk_ASC_rh_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_drive_transit_ASC_rh\n", + " -3.908149\n", " \n", " \n", - " coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_hhsize1_sr\n", + " -0.789606\n", " \n", " \n", - " coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork\n", - " 0.000000\n", + " coef_hhsize2_sr\n", + " -0.058339\n", + " \n", + " \n", + " coef_ivt_escort_shopping_eatout_othdiscr_atwork\n", + " -0.011979\n", + " \n", + " \n", + " coef_ivt_othmaint_social\n", + " -0.008160\n", + " \n", + " \n", + " coef_ivt_univ_school\n", + " -0.016233\n", + " \n", + " \n", + " coef_ivt_work\n", + " -0.014958\n", + " \n", + " \n", + " coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr\n", + " -7.345956\n", + " \n", + " \n", + " coef_joint_auto_ASC_rh_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr\n", + " 1.280849\n", + " \n", + " \n", + " coef_joint_auto_ASC_sr2_shopping\n", + " 2.351884\n", + " \n", + " \n", + " coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr\n", + " 1.246167\n", + " \n", + " \n", + " coef_joint_auto_ASC_sr3p_shopping\n", + " -19.045412\n", + " \n", + " \n", + " coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr\n", + " -0.098984\n", + " \n", + " \n", + " coef_joint_auto_ASC_walk_shopping\n", + " -23.468800\n", + " \n", + " \n", + " coef_joint_auto_ASC_walk_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr\n", + " -12.305749\n", + " \n", + " \n", + " coef_joint_bike_ASC_rh_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_bike_ASC_walk_eatout\n", + " -15.558800\n", + " \n", + " \n", + " coef_joint_bike_ASC_walk_othdiscr\n", + " -14.444000\n", + " \n", + " \n", + " coef_joint_bike_ASC_walk_othmaint\n", + " -13.519200\n", + " \n", + " \n", + " coef_joint_bike_ASC_walk_shopping\n", + " -7.047600\n", + " \n", + " \n", + " coef_joint_bike_ASC_walk_social\n", + " -26.171400\n", + " \n", + " \n", + " coef_joint_bike_ASC_walk_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr\n", + " 0.512900\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr\n", + " -0.805943\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr\n", + " 2.029768\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr\n", + " 3.190747\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr\n", + " 0.539200\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr\n", + " 2.050928\n", + " \n", + " \n", + " coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr\n", + " -6.819150\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr\n", + " -6.822328\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr\n", + " -7.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_tnc_shared\n", + " -0.345956\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr\n", + " -4.733900\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr\n", + " -7.012565\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_walk_transit\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr\n", + " -3.048765\n", + " \n", + " \n", + " coef_joint_walk_ASC_rh_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr\n", + " 0.512900\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr\n", + " 0.664800\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork\n", + " 0.000000\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr\n", + " 0.646600\n", " \n", " \n", " coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", " \n", + " coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr\n", + " 2.769790\n", + " \n", + " \n", " coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", " \n", + " coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr\n", + " 0.727835\n", + " \n", + " \n", " coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", " \n", + " coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr\n", + " 0.073906\n", + " \n", + " \n", " coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", " \n", + " coef_joint_walk_transit_ASC_sr2_eatout\n", + " -14.913400\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr2_othdiscr\n", + " -14.980100\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr2_othmaint\n", + " -5.324150\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr2_shopping\n", + " -21.576800\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr2_social\n", + " -20.502200\n", + " \n", + " \n", " coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", " \n", + " coef_joint_walk_transit_ASC_sr3p_eatout\n", + " -16.758700\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr3p_othdiscr\n", + " -16.735400\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr3p_othmaint\n", + " -3.973990\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr3p_shopping\n", + " -25.595300\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_sr3p_social\n", + " -34.737800\n", + " \n", + " \n", " coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", " \n", + " coef_joint_walk_transit_ASC_walk_eatout\n", + " 3.421757\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_walk_othdiscr\n", + " -1.023876\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_walk_othmaint\n", + " 0.282606\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_walk_shopping\n", + " 0.717138\n", + " \n", + " \n", + " coef_joint_walk_transit_ASC_walk_social\n", + " -2.272422\n", + " \n", + " \n", " coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork\n", " 0.000000\n", " \n", @@ -1737,3414 +2028,3144 @@ " 0.500000\n", " \n", " \n", - " coef_ride_hail_ASC_sr2_work\n", - " -24.964153\n", + " coef_ride_hail_ASC_sr2_eatout_social_othdiscr\n", + " -6.474676\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr2_escort_shopping_othmaint\n", + " -3.837659\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr2_school\n", + " -1.923960\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr2_univ\n", + " -4.337200\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr2_work\n", + " -12.531625\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr3p_eatout_social_othdiscr\n", + " -6.907989\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr3p_school\n", + " -8.857391\n", + " \n", + " \n", + " coef_ride_hail_ASC_sr3p_univ\n", + " -4.922000\n", " \n", " \n", " coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork\n", - " -29.661854\n", + " -10.063483\n", + " \n", + " \n", + " coef_ride_hail_ASC_taxi_eatout_social_othdiscr\n", + " -2.560139\n", + " \n", + " \n", + " coef_ride_hail_ASC_taxi_escort_shopping_othmaint\n", + " -3.667690\n", + " \n", + " \n", + " coef_ride_hail_ASC_taxi_school\n", + " 0.194629\n", + " \n", + " \n", + " coef_ride_hail_ASC_taxi_univ\n", + " -1.599400\n", " \n", " \n", " coef_ride_hail_ASC_taxi_work\n", - " -2.519566\n", + " -2.416191\n", " \n", " \n", " coef_ride_hail_ASC_tnc_shared\n", - " 23.268241\n", + " 0.940193\n", + " \n", + " \n", + " coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr\n", + " 3.020074\n", + " \n", + " \n", + " coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint\n", + " 2.436588\n", + " \n", + " \n", + " coef_ride_hail_ASC_tnc_single_school\n", + " 2.043069\n", + " \n", + " \n", + " coef_ride_hail_ASC_tnc_single_univ\n", + " 0.108100\n", " \n", " \n", " coef_ride_hail_ASC_tnc_single_work\n", - " 23.984210\n", + " 2.658594\n", + " \n", + " \n", + " coef_ride_hail_ASC_walk_eatout_social_othdiscr\n", + " -1.924015\n", + " \n", + " \n", + " coef_ride_hail_ASC_walk_school\n", + " -0.961041\n", " \n", " \n", " coef_ride_hail_ASC_walk_transit\n", - " 22.114587\n", + " 1.263022\n", + " \n", + " \n", + " coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint\n", + " -3.676198\n", " \n", " \n", " coef_ride_hail_ASC_walk_work\n", - " 21.771188\n", + " 1.329192\n", + " \n", + " \n", + " coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr\n", + " 0.000000\n", + " \n", + " \n", + " coef_sov_ASC_rh_school\n", + " -9.212494\n", + " \n", + " \n", + " coef_sov_ASC_rh_univ\n", + " -6.649000\n", " \n", " \n", " coef_sov_ASC_rh_work_atwork\n", " -7.000000\n", " \n", " \n", - " coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork\n", - " -999.000000\n", + " coef_sov_ASC_sr2_escort\n", + " 0.000000\n", + " \n", + " \n", + " coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " -999.000000\n", + " \n", + " \n", + " coef_sov_ASC_sr3p_escort\n", + " 0.000000\n", + " \n", + " \n", + " coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " -999.000000\n", + " \n", + " \n", + " coef_sov_ASC_walk_eatout\n", + " -1.882701\n", + " \n", + " \n", + " coef_sov_ASC_walk_escort\n", + " 0.000000\n", + " \n", + " \n", + " coef_sov_ASC_walk_othdiscr\n", + " -1.659633\n", + " \n", + " \n", + " coef_sov_ASC_walk_othmaint\n", + " -1.375899\n", + " \n", + " \n", + " coef_sov_ASC_walk_school\n", + " -2.296910\n", + " \n", + " \n", + " coef_sov_ASC_walk_shopping\n", + " -1.588365\n", + " \n", + " \n", + " coef_sov_ASC_walk_social\n", + " -1.874278\n", + " \n", + " \n", + " coef_sov_ASC_walk_univ\n", + " -1.057900\n", + " \n", + " \n", + " coef_sov_ASC_walk_work\n", + " -1.173975\n", + " \n", + " \n", + " coef_sr2_ASC_rh_univ\n", + " -6.689700\n", + " \n", + " \n", + " coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " -7.000000\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_eatout\n", + " 1.537811\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_escort\n", + " 0.829193\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_othdiscr\n", + " 1.155943\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_othmaint\n", + " 1.499065\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_school\n", + " -0.206439\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_shopping\n", + " 1.776150\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_social\n", + " 0.975353\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_univ\n", + " 0.430400\n", + " \n", + " \n", + " coef_sr2_ASC_sr2_work\n", + " 0.469947\n", + " \n", + " \n", + " coef_sr2_ASC_sr3p\n", + " -999.000000\n", + " \n", + " \n", + " coef_sr2_ASC_walk_eatout\n", + " -0.188724\n", + " \n", + " \n", + " coef_sr2_ASC_walk_escort\n", + " -2.206208\n", + " \n", + " \n", + " coef_sr2_ASC_walk_othdiscr\n", + " -0.448739\n", + " \n", + " \n", + " coef_sr2_ASC_walk_othmaint\n", + " -0.602562\n", + " \n", + " \n", + " coef_sr2_ASC_walk_school\n", + " -0.134158\n", + " \n", + " \n", + " coef_sr2_ASC_walk_shopping\n", + " -0.528320\n", + " \n", + " \n", + " coef_sr2_ASC_walk_social\n", + " -0.791489\n", + " \n", + " \n", + " coef_sr2_ASC_walk_univ\n", + " 1.304100\n", + " \n", + " \n", + " coef_sr2_ASC_walk_work\n", + " -0.125444\n", + " \n", + " \n", + " coef_sr3p_ASC_rh_school\n", + " -6.902592\n", + " \n", + " \n", + " coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr\n", + " -7.000000\n", + " \n", + " \n", + " coef_sr3p_ASC_rh_work\n", + " -71.917700\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_eatout\n", + " 0.017042\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_escort\n", + " 0.131909\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_othdiscr\n", + " -0.193304\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_othmaint\n", + " 0.059680\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_school\n", + " -1.380673\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_shopping\n", + " 0.409428\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_social\n", + " 0.441203\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_univ\n", + " -0.311700\n", + " \n", + " \n", + " coef_sr3p_ASC_sr2_work\n", + " -0.768708\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_eatout\n", + " 1.747680\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_escort\n", + " 1.121766\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_othdiscr\n", + " 1.207573\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_othmaint\n", + " 1.478403\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_school\n", + " -0.385096\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_shopping\n", + " 1.857665\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_social\n", + " 1.384914\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_univ\n", + " 0.629300\n", + " \n", + " \n", + " coef_sr3p_ASC_sr3p_work\n", + " 0.254527\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_eatout\n", + " -0.239650\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_escort\n", + " -1.295563\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_othdiscr\n", + " -0.711999\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_othmaint\n", + " -0.346602\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_school\n", + " -0.602570\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_shopping\n", + " -0.431074\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_social\n", + " -0.451426\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_univ\n", + " 1.679300\n", + " \n", + " \n", + " coef_sr3p_ASC_walk_work\n", + " -0.120488\n", + " \n", + " \n", + " coef_walk_ASC_rh\n", + " -7.000000\n", + " \n", + " \n", + " coef_walk_transit_ASC_commuter_escort\n", + " 0.544200\n", + " \n", + " \n", + " coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 0.183292\n", + " \n", + " \n", + " coef_walk_transit_ASC_commuter_univ_school\n", + " 2.151500\n", + " \n", + " \n", + " coef_walk_transit_ASC_commuter_work\n", + " 0.645876\n", + " \n", + " \n", + " coef_walk_transit_ASC_express_escort\n", + " 0.754700\n", + " \n", + " \n", + " coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 1.094351\n", + " \n", + " \n", + " coef_walk_transit_ASC_express_univ_school\n", + " 0.735906\n", + " \n", + " \n", + " coef_walk_transit_ASC_express_work\n", + " -0.116260\n", + " \n", + " \n", + " coef_walk_transit_ASC_ferry_escort\n", + " 0.600500\n", + " \n", + " \n", + " coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " -5.309557\n", + " \n", + " \n", + " coef_walk_transit_ASC_ferry_univ_school\n", + " 0.102333\n", + " \n", + " \n", + " coef_walk_transit_ASC_ferry_work\n", + " -0.283494\n", + " \n", + " \n", + " coef_walk_transit_ASC_heavyrail_escort\n", + " 1.731811\n", + " \n", + " \n", + " coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 1.189277\n", + " \n", + " \n", + " coef_walk_transit_ASC_heavyrail_univ_school\n", + " 1.498435\n", + " \n", + " \n", + " coef_walk_transit_ASC_heavyrail_work\n", + " 0.661041\n", + " \n", + " \n", + " coef_walk_transit_ASC_lightrail_escort\n", + " 2.373483\n", + " \n", + " \n", + " coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork\n", + " 0.938829\n", + " \n", + " \n", + " coef_walk_transit_ASC_lightrail_univ_school\n", + " 1.962454\n", + " \n", + " \n", + " coef_walk_transit_ASC_lightrail_work\n", + " 0.723958\n", + " \n", + " \n", + " coef_walk_transit_ASC_rh_eatout_social_othdiscr\n", + " -4.964980\n", + " \n", + " \n", + " coef_walk_transit_ASC_rh_escort_shopping_othmaint\n", + " -5.007587\n", + " \n", + " \n", + " coef_walk_transit_ASC_rh_school\n", + " -7.198073\n", + " \n", + " \n", + " coef_walk_transit_ASC_rh_univ\n", + " -4.269100\n", + " \n", + " \n", + " coef_walk_transit_ASC_rh_work\n", + " -4.008746\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_eatout\n", + " -2.123282\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_escort\n", + " -0.578643\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_othdiscr\n", + " -1.931708\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_othmaint\n", + " -34.674600\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_school\n", + " -3.455103\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_shopping\n", + " -2.572471\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_social\n", + " -2.270677\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_univ\n", + " -4.005000\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr2_work\n", + " -2.579831\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_eatout\n", + " -4.643497\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_escort\n", + " -4.036703\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_othdiscr\n", + " -1.885419\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_othmaint\n", + " -29.385800\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_school\n", + " -3.509061\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_shopping\n", + " -2.484662\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_social\n", + " -21.630900\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_univ\n", + " -28.697200\n", + " \n", + " \n", + " coef_walk_transit_ASC_sr3p_work\n", + " -3.227732\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_eatout\n", + " 1.418767\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_escort\n", + " -1.542069\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_othdiscr\n", + " -0.862913\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_othmaint\n", + " 0.213330\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_school\n", + " -1.566510\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_shopping\n", + " -1.250219\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_social\n", + " -0.846190\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_univ\n", + " -1.031100\n", + " \n", + " \n", + " coef_walk_transit_ASC_walk_work\n", + " 0.296352\n", + " \n", + " \n", + "logloss0.5159237004389526d_logloss\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - "
0
-9990.000000e+00
10.000000e+00
coef_age010_trn-8.052927e-05
coef_age1619_da-5.187809e-05
coef_age16p_sr-4.063469e-05
coef_bike_ASC_rh0.000000e+00
coef_bike_ASC_walk_eatout-5.123004e-06
coef_bike_ASC_walk_escort-3.419598e-13
coef_bike_ASC_walk_othdiscr-2.593268e-05
coef_bike_ASC_walk_othmaint-1.081020e-04
coef_bike_ASC_walk_school4.476578e-05
coef_bike_ASC_walk_shopping2.508159e-06
coef_bike_ASC_walk_social-2.900688e-12
coef_bike_ASC_walk_univ0.000000e+00
coef_bike_ASC_walk_work-2.396275e-05
coef_drive_transit_ASC_commuter_escort0.000000e+00
coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork-2.460074e-05
coef_drive_transit_ASC_commuter_univ_school-1.203052e-05
coef_drive_transit_ASC_commuter_work-5.739187e-06
coef_drive_transit_ASC_express_escort0.000000e+00
coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork2.861095e-05
coef_drive_transit_ASC_express_univ_school1.660556e-05
coef_drive_transit_ASC_express_work2.987642e-05
coef_drive_transit_ASC_ferry_escort0.000000e+00
coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork3.202672e-05
coef_drive_transit_ASC_ferry_univ_school8.151265e-06
coef_drive_transit_ASC_ferry_work-2.890979e-05
coef_drive_transit_ASC_heavyrail_escort-6.480364e-09
coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork-3.208220e-05
coef_drive_transit_ASC_heavyrail_univ_school1.938031e-05
coef_drive_transit_ASC_heavyrail_work-3.909540e-05
coef_drive_transit_ASC_lightrail_escort3.266187e-07
coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork2.070144e-05
coef_drive_transit_ASC_lightrail_univ_school-2.353233e-05
coef_drive_transit_ASC_lightrail_work-7.550447e-06
coef_drive_transit_ASC_rh-4.413205e-06
coef_hhsize1_sr1.028834e-04
coef_hhsize2_sr3.066434e-05
coef_ivt_escort_shopping_eatout_othdiscr_atwork7.728991e-05
coef_ivt_othmaint_social1.115618e-04
coef_ivt_univ_school1.895929e-05
coef_ivt_work-3.266536e-05
coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr-8.027129e-07
coef_joint_auto_ASC_rh_work_univ_school_escort_atwork0.000000e+00
coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr-5.293412e-05
coef_joint_auto_ASC_sr2_shopping-5.407467e-05
coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork0.000000e+00
coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr-3.500718e-05
coef_joint_auto_ASC_sr3p_shopping-3.393545e-11
coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork0.000000e+00
coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr3.607641e-05
coef_joint_auto_ASC_walk_shopping-1.531238e-13
coef_joint_auto_ASC_walk_work_univ_school_escort_atwork0.000000e+00
coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr-1.751330e-10
coef_joint_bike_ASC_rh_work_univ_school_escort_atwork0.000000e+00
coef_joint_bike_ASC_walk_eatout0.000000e+00
coef_joint_bike_ASC_walk_othdiscr-3.130754e-15
coef_joint_bike_ASC_walk_othmaint-8.694082e-14
coef_joint_bike_ASC_walk_shopping0.000000e+00
coef_joint_bike_ASC_walk_social0.000000e+00
coef_joint_bike_ASC_walk_work_univ_school_escort_atwork0.000000e+00
coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork0.000000e+00
coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork-999.000000coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr-5.692884e-09
coef_sov_ASC_walk_work-3.007257coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork0.000000e+00
coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork-7.000000coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr1.048025e-05
coef_sr2_ASC_sr2_work0.197457coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork0.000000e+00
coef_sr2_ASC_sr3p-999.000000coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr-1.010350e-05
coef_sr2_ASC_walk_work-2.222935coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork0.000000e+00
coef_sr3p_ASC_rh_work-71.917700coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_sr3p_ASC_sr2_work-0.953951coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork0.000000e+00
coef_sr3p_ASC_sr3p_work0.002282coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr-3.710584e-07
coef_sr3p_ASC_walk_work-2.356624coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork0.000000e+00
coef_walk_ASC_rh-7.000000coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr4.173913e-07
coef_walk_transit_ASC_commuter_work0.401200coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork0.000000e+00
coef_walk_transit_ASC_express_work-0.355400coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr4.355591e-07
coef_walk_transit_ASC_ferry_work0.527700coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork0.000000e+00
coef_walk_transit_ASC_heavyrail_work0.502539coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr-1.084345e-16
coef_walk_transit_ASC_lightrail_work0.632593coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork0.000000e+00
coef_walk_transit_ASC_rh_work-2.869542coef_joint_ride_hail_ASC_tnc_shared-8.027126e-07
coef_walk_transit_ASC_sr2_work-2.256686coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr-2.950989e-13
coef_walk_transit_ASC_sr3p_work-2.653448coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork0.000000e+00
coef_walk_transit_ASC_walk_work-0.391438coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr-5.023739e-08
coef_bike_ASC_walk_univ-0.339900coef_joint_ride_hail_ASC_walk_transit0.000000e+00
coef_drive_transit_ASC_commuter_univ_school0.908200coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork0.000000e+00
coef_drive_transit_ASC_express_univ_school0.322400coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr-5.023739e-08
coef_drive_transit_ASC_ferry_univ_school1.723700coef_joint_walk_ASC_rh_work_univ_school_escort_atwork0.000000e+00
coef_drive_transit_ASC_heavyrail_univ_school0.849000coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_drive_transit_ASC_lightrail_univ_school1.443600coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork0.000000e+00
coef_ivt_univ_school-0.008267coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_ride_hail_ASC_sr2_univ-4.337200coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork0.000000e+00
coef_ride_hail_ASC_sr3p_univ-4.922000coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_ride_hail_ASC_taxi_univ-1.599400coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork0.000000e+00
coef_ride_hail_ASC_tnc_single_univ0.108100coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr-1.622222e-05
coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint-26.322181coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork0.000000e+00
coef_sov_ASC_rh_univ-6.649000coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr7.683959e-06
coef_sov_ASC_walk_univ-1.057900coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork0.000000e+00
coef_sr2_ASC_rh_univ-6.689700coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr3.133619e-05
coef_sr2_ASC_sr2_univ0.430400coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork0.000000e+00
coef_sr2_ASC_walk_univ1.304100coef_joint_walk_transit_ASC_sr2_eatout-1.311308e-13
coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr-7.000000coef_joint_walk_transit_ASC_sr2_othdiscr-1.742242e-13
coef_sr3p_ASC_sr2_univ-0.311700coef_joint_walk_transit_ASC_sr2_othmaint-6.720435e-09
coef_sr3p_ASC_sr3p_univ0.629300coef_joint_walk_transit_ASC_sr2_shopping-4.685990e-15
coef_sr3p_ASC_walk_univ1.679300coef_joint_walk_transit_ASC_sr2_social-5.557123e-14
coef_walk_transit_ASC_commuter_univ_school0.908200coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork0.000000e+00
coef_walk_transit_ASC_express_univ_school0.322400coef_joint_walk_transit_ASC_sr3p_eatout-1.019099e-14
coef_walk_transit_ASC_ferry_univ_school1.723700coef_joint_walk_transit_ASC_sr3p_othdiscr-1.731132e-14
coef_walk_transit_ASC_heavyrail_univ_school0.866565coef_joint_walk_transit_ASC_sr3p_othmaint-5.123603e-08
coef_walk_transit_ASC_lightrail_univ_school1.567308coef_joint_walk_transit_ASC_sr3p_shopping-4.098772e-17
coef_walk_transit_ASC_rh_univ-4.269100coef_joint_walk_transit_ASC_sr3p_social-4.280627e-21
coef_walk_transit_ASC_sr2_univ-4.005000coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork0.000000e+00
coef_walk_transit_ASC_sr3p_univ-28.697200coef_joint_walk_transit_ASC_walk_eatout1.113550e-06
coef_walk_transit_ASC_walk_univ-1.031100coef_joint_walk_transit_ASC_walk_othdiscr-1.701692e-06
coef_bike_ASC_walk_school-106.063114coef_joint_walk_transit_ASC_walk_othmaint1.228869e-06
coef_ride_hail_ASC_sr2_school-17.561865coef_joint_walk_transit_ASC_walk_shopping-1.792711e-05
coef_ride_hail_ASC_sr3p_school-17.869355coef_joint_walk_transit_ASC_walk_social-5.774335e-07
coef_ride_hail_ASC_taxi_school-1.638521coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork0.000000e+00
coef_ride_hail_ASC_tnc_single_school23.693955coef_nest_AUTO3.798269e-03
coef_ride_hail_ASC_walk_school-17.881588coef_nest_AUTO_DRIVEALONE-7.484479e-05
coef_sov_ASC_rh_school-126.456157coef_nest_AUTO_SHAREDRIDE2-1.770846e-05
coef_sov_ASC_walk_school-3.115432coef_nest_AUTO_SHAREDRIDE31.242528e-16
coef_sr2_ASC_sr2_school-0.540540coef_nest_NONMOTORIZED-2.822089e-04
coef_sr2_ASC_walk_school-2.041209coef_nest_RIDEHAIL4.806521e-02
coef_sr3p_ASC_rh_school-167.923229coef_nest_TRANSIT1.215429e-16
coef_sr3p_ASC_sr2_school-1.017529coef_nest_TRANSIT_DRIVEACCESS-5.845497e-04
coef_sr3p_ASC_sr3p_school0.193124coef_nest_TRANSIT_WALKACCESS-1.988260e-03
coef_sr3p_ASC_walk_school-2.444740coef_ride_hail_ASC_sr2_eatout_social_othdiscr-2.996284e-07
coef_walk_transit_ASC_rh_school-4.361987coef_ride_hail_ASC_sr2_escort_shopping_othmaint5.673196e-06
coef_walk_transit_ASC_sr2_school-2.270275coef_ride_hail_ASC_sr2_school-7.458355e-06
coef_walk_transit_ASC_sr3p_school-2.406738coef_ride_hail_ASC_sr2_univ0.000000e+00
coef_walk_transit_ASC_walk_school-1.495040coef_ride_hail_ASC_sr2_work8.272446e-06
coef_bike_ASC_walk_escort-13.520327coef_ride_hail_ASC_sr3p_eatout_social_othdiscr-1.686483e-07
coef_drive_transit_ASC_commuter_escort0.544200coef_ride_hail_ASC_sr3p_school8.540094e-05
coef_drive_transit_ASC_express_escort0.754700coef_ride_hail_ASC_sr3p_univ0.000000e+00
coef_drive_transit_ASC_ferry_escort0.600500coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork-1.001284e-07
coef_drive_transit_ASC_heavyrail_escort-14.234170coef_ride_hail_ASC_taxi_eatout_social_othdiscr-9.851593e-10
coef_drive_transit_ASC_lightrail_escort0.525200coef_ride_hail_ASC_taxi_escort_shopping_othmaint-1.492910e-09
coef_ivt_escort_shopping_eatout_othdiscr_atwork-0.011935coef_ride_hail_ASC_taxi_school2.540371e-06
coef_ride_hail_ASC_sr2_escort_shopping_othmaint-23.873934coef_ride_hail_ASC_taxi_univ0.000000e+00
coef_ride_hail_ASC_taxi_escort_shopping_othmaint-3.664573coef_ride_hail_ASC_taxi_work-7.883260e-09
coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint24.219922coef_ride_hail_ASC_tnc_shared-8.319215e-08
coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr0.000000coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr-7.330852e-05
coef_sov_ASC_sr2_escort0.000000coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint4.713975e-05
coef_sov_ASC_sr3p_escort0.000000coef_ride_hail_ASC_tnc_single_school-6.786929e-05
coef_sov_ASC_walk_escort0.000000coef_ride_hail_ASC_tnc_single_univ0.000000e+00
coef_sr2_ASC_sr2_escort0.488426coef_ride_hail_ASC_tnc_single_work-6.171617e-05
coef_sr2_ASC_walk_escort-25.486556coef_ride_hail_ASC_walk_eatout_social_othdiscr-5.637237e-06
coef_sr3p_ASC_sr2_escort-0.206514coef_ride_hail_ASC_walk_school3.297792e-05
coef_sr3p_ASC_sr3p_escort0.895787coef_ride_hail_ASC_walk_transit6.334090e-05
coef_sr3p_ASC_walk_escort-3.416048coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint-2.013343e-05
coef_walk_transit_ASC_commuter_escort0.544200coef_ride_hail_ASC_walk_work-8.560547e-06
coef_walk_transit_ASC_express_escort0.754700coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_walk_transit_ASC_ferry_escort0.600500coef_sov_ASC_rh_school-4.695209e-07
coef_walk_transit_ASC_heavyrail_escort0.850280coef_sov_ASC_rh_univ0.000000e+00
coef_walk_transit_ASC_lightrail_escort1.125205coef_sov_ASC_rh_work_atwork0.000000e+00
coef_walk_transit_ASC_rh_escort_shopping_othmaint-2.359575coef_sov_ASC_sr2_escort0.000000e+00
coef_walk_transit_ASC_sr2_escort-1.020599coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00
coef_walk_transit_ASC_sr3p_escort-184.696926coef_sov_ASC_sr3p_escort0.000000e+00
coef_walk_transit_ASC_walk_escort-88.120509coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00
coef_bike_ASC_walk_shopping-23.156539coef_sov_ASC_walk_eatout2.000937e-05
coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork0.512900coef_sov_ASC_walk_escort0.000000e+00
coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork0.664800coef_sov_ASC_walk_othdiscr-1.541924e-05
coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork0.646600coef_sov_ASC_walk_othmaint1.028660e-05
coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork0.540300coef_sov_ASC_walk_school3.206853e-05
coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork0.539200coef_sov_ASC_walk_shopping4.947660e-06
coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr-7.000000coef_sov_ASC_walk_social-4.512895e-05
coef_joint_auto_ASC_sr2_shopping2.775344coef_sov_ASC_walk_univ0.000000e+00
coef_joint_auto_ASC_sr3p_shopping-19.064341coef_sov_ASC_walk_work-1.780858e-04
coef_joint_auto_ASC_walk_shopping-23.468836coef_sr2_ASC_rh_univ0.000000e+00
coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr-12.305700coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00
coef_joint_bike_ASC_walk_shopping-7.047600coef_sr2_ASC_sr2_eatout-4.140956e-05
coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr0.512900coef_sr2_ASC_sr2_escort4.290147e-05
coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr0.664800coef_sr2_ASC_sr2_othdiscr-6.726220e-05
coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr0.646600coef_sr2_ASC_sr2_othmaint-3.357184e-04
coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr0.540300coef_sr2_ASC_sr2_school5.619690e-05
coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr0.539200coef_sr2_ASC_sr2_shopping5.088492e-05
coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr4.613800coef_sr2_ASC_sr2_social-1.364701e-06
coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr-7.000000coef_sr2_ASC_sr2_univ0.000000e+00
coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr-7.000000coef_sr2_ASC_sr2_work3.859442e-05
coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr-7.000000coef_sr2_ASC_sr3p0.000000e+00
coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr-4.733900coef_sr2_ASC_walk_eatout-8.282582e-06
coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr-7.000000coef_sr2_ASC_walk_escort9.198932e-06
coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr-3.036200coef_sr2_ASC_walk_othdiscr-3.271701e-05
coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr0.512900coef_sr2_ASC_walk_othmaint-4.830644e-05
coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr0.664800coef_sr2_ASC_walk_school-1.464562e-04
coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr0.646600coef_sr2_ASC_walk_shopping-4.380221e-05
coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr21.596514coef_sr2_ASC_walk_social-7.099048e-05
coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr0.924477coef_sr2_ASC_walk_univ0.000000e+00
coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr3.132294coef_sr2_ASC_walk_work1.223257e-05
coef_joint_walk_transit_ASC_sr2_shopping-21.576802coef_sr3p_ASC_rh_school1.022791e-05
coef_joint_walk_transit_ASC_sr3p_shopping-25.595300coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr0.000000e+00
coef_joint_walk_transit_ASC_walk_shopping-101.701521coef_sr3p_ASC_rh_work-3.585395e-34
coef_sov_ASC_walk_shopping-3.786742coef_sr3p_ASC_sr2_eatout4.626279e-05
coef_sr2_ASC_sr2_shopping1.746355coef_sr3p_ASC_sr2_escort1.179670e-04
coef_sr2_ASC_walk_shopping-3.653076coef_sr3p_ASC_sr2_othdiscr-2.422139e-05
coef_sr3p_ASC_sr2_shopping0.336306coef_sr3p_ASC_sr2_othmaint4.015271e-05
coef_sr3p_ASC_sr3p_shopping1.642740coef_sr3p_ASC_sr2_school-7.447033e-05
coef_sr3p_ASC_walk_shopping-3.919129coef_sr3p_ASC_sr2_shopping-1.080924e-04
coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork0.512900coef_sr3p_ASC_sr2_social5.325523e-05
coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork0.664800coef_sr3p_ASC_sr2_univ0.000000e+00
coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork0.646600coef_sr3p_ASC_sr2_work1.444028e-04
coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork0.926216coef_sr3p_ASC_sr3p_eatout-9.199681e-07
coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork0.831361coef_sr3p_ASC_sr3p_escort8.270563e-05
coef_walk_transit_ASC_sr2_shopping-2.123317coef_sr3p_ASC_sr3p_othdiscr-4.927531e-06
coef_walk_transit_ASC_sr3p_shopping-91.093531coef_sr3p_ASC_sr3p_othmaint-5.334583e-05
coef_walk_transit_ASC_walk_shopping-0.813508coef_sr3p_ASC_sr3p_school-6.413479e-05
coef_bike_ASC_walk_eatout-174.816115coef_sr3p_ASC_sr3p_shopping2.347327e-06
coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr0.381044coef_sr3p_ASC_sr3p_social-7.650571e-05
coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr0.389086coef_sr3p_ASC_sr3p_univ0.000000e+00
coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr-4.379431coef_sr3p_ASC_sr3p_work6.672288e-05
coef_joint_bike_ASC_walk_eatout-15.558800coef_sr3p_ASC_walk_eatout-1.002897e-05
coef_joint_walk_transit_ASC_sr2_eatout-14.914320coef_sr3p_ASC_walk_escort-1.132764e-04
coef_joint_walk_transit_ASC_sr3p_eatout-16.758772coef_sr3p_ASC_walk_othdiscr1.694649e-05
coef_joint_walk_transit_ASC_walk_eatout1.101858coef_sr3p_ASC_walk_othmaint1.223450e-05
coef_ride_hail_ASC_sr2_eatout_social_othdiscr-16.851846coef_sr3p_ASC_walk_school6.705206e-05
coef_ride_hail_ASC_sr3p_eatout_social_othdiscr-11.873288coef_sr3p_ASC_walk_shopping-3.926960e-05
coef_ride_hail_ASC_taxi_eatout_social_othdiscr-2.563243coef_sr3p_ASC_walk_social-5.151184e-05
coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr23.995880coef_sr3p_ASC_walk_univ0.000000e+00
coef_ride_hail_ASC_walk_eatout_social_othdiscr-17.718714coef_sr3p_ASC_walk_work-2.902005e-05
coef_sov_ASC_walk_eatout-2.633796coef_walk_ASC_rh0.000000e+00
coef_sr2_ASC_sr2_eatout1.101640coef_walk_transit_ASC_commuter_escort0.000000e+00
coef_sr2_ASC_walk_eatout-4.547177coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork2.306946e-06
coef_sr3p_ASC_sr2_eatout-0.213200coef_walk_transit_ASC_commuter_univ_school-1.192088e-05
coef_sr3p_ASC_sr3p_eatout1.474080coef_walk_transit_ASC_commuter_work1.090185e-05
coef_sr3p_ASC_walk_eatout-2.508248coef_walk_transit_ASC_express_escort0.000000e+00
coef_walk_transit_ASC_rh_eatout_social_othdiscr-2.658491coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork-1.268928e-04
coef_walk_transit_ASC_sr2_eatout-2.006929coef_walk_transit_ASC_express_univ_school-9.703439e-06
coef_walk_transit_ASC_sr3p_eatout-2.523163coef_walk_transit_ASC_express_work1.090671e-05
coef_walk_transit_ASC_walk_eatout0.166429coef_walk_transit_ASC_ferry_escort0.000000e+00
coef_bike_ASC_walk_othmaint-0.784009coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork-3.047071e-10
coef_ivt_othmaint_social-0.012116coef_walk_transit_ASC_ferry_univ_school2.887862e-05
coef_joint_bike_ASC_walk_othmaint-13.519200coef_walk_transit_ASC_ferry_work-7.060814e-06
coef_joint_walk_transit_ASC_sr2_othmaint-11.323061coef_walk_transit_ASC_heavyrail_escort8.334112e-07
coef_joint_walk_transit_ASC_sr3p_othmaint-44.010114coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork2.034887e-05
coef_joint_walk_transit_ASC_walk_othmaint-73.569640coef_walk_transit_ASC_heavyrail_univ_school1.130434e-05
coef_sov_ASC_walk_othmaint-4.426307coef_walk_transit_ASC_heavyrail_work1.800939e-05
coef_sr2_ASC_sr2_othmaint0.934836coef_walk_transit_ASC_lightrail_escort2.747481e-07
coef_sr2_ASC_walk_othmaint-3.138692coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork5.538127e-05
coef_sr3p_ASC_sr2_othmaint0.042064coef_walk_transit_ASC_lightrail_univ_school-6.674879e-05
coef_sr3p_ASC_sr3p_othmaint1.128336coef_walk_transit_ASC_lightrail_work9.489701e-05
coef_sr3p_ASC_walk_othmaint-5.066409coef_walk_transit_ASC_rh_eatout_social_othdiscr4.837296e-06
coef_walk_transit_ASC_sr2_othmaint-34.674600coef_walk_transit_ASC_rh_escort_shopping_othmaint4.659828e-05
coef_walk_transit_ASC_sr3p_othmaint-29.385800coef_walk_transit_ASC_rh_school3.174726e-05
coef_walk_transit_ASC_walk_othmaint-0.288117coef_walk_transit_ASC_rh_univ0.000000e+00
coef_bike_ASC_walk_social-13.240952coef_walk_transit_ASC_rh_work-1.723890e-06
coef_joint_bike_ASC_walk_social-26.171400coef_walk_transit_ASC_sr2_eatout-1.514648e-05
coef_joint_walk_transit_ASC_sr2_social-20.502200coef_walk_transit_ASC_sr2_escort-9.735364e-06
coef_joint_walk_transit_ASC_sr3p_social-34.737800coef_walk_transit_ASC_sr2_othdiscr2.700726e-05
coef_joint_walk_transit_ASC_walk_social-2.385214coef_walk_transit_ASC_sr2_othmaint-6.519662e-20
coef_sov_ASC_walk_social-25.269333coef_walk_transit_ASC_sr2_school-2.011443e-06
coef_sr2_ASC_sr2_social0.768269coef_walk_transit_ASC_sr2_shopping-9.388409e-06
coef_sr2_ASC_walk_social-2.850657coef_walk_transit_ASC_sr2_social9.230328e-07
coef_sr3p_ASC_sr2_social-0.122347coef_walk_transit_ASC_sr2_univ0.000000e+00
coef_sr3p_ASC_sr3p_social1.210687coef_walk_transit_ASC_sr2_work-1.261236e-04
coef_sr3p_ASC_walk_social-3.080113coef_walk_transit_ASC_sr3p_eatout6.744761e-06
coef_walk_transit_ASC_sr2_social-2.064534coef_walk_transit_ASC_sr3p_escort-2.229624e-07
coef_walk_transit_ASC_sr3p_social-21.630900coef_walk_transit_ASC_sr3p_othdiscr-1.310142e-05
coef_walk_transit_ASC_walk_social-2.314604coef_walk_transit_ASC_sr3p_othmaint-1.028683e-16
coef_bike_ASC_walk_othdiscr-1.397187coef_walk_transit_ASC_sr3p_school1.154167e-04
coef_joint_bike_ASC_walk_othdiscr-14.444000coef_walk_transit_ASC_sr3p_shopping-5.588721e-05
coef_joint_walk_transit_ASC_sr2_othdiscr-14.980100coef_walk_transit_ASC_sr3p_social-1.622526e-16
coef_joint_walk_transit_ASC_sr3p_othdiscr-16.735568coef_walk_transit_ASC_sr3p_univ0.000000e+00
coef_joint_walk_transit_ASC_walk_othdiscr-25.948045coef_walk_transit_ASC_sr3p_work-1.697982e-05
coef_sov_ASC_walk_othdiscr-4.939783coef_walk_transit_ASC_walk_eatout-1.290994e-04
coef_sr2_ASC_sr2_othdiscr0.855704coef_walk_transit_ASC_walk_escort1.459589e-06
coef_sr2_ASC_walk_othdiscr-2.470470coef_walk_transit_ASC_walk_othdiscr-6.642421e-05
coef_sr3p_ASC_sr2_othdiscr-0.417630coef_walk_transit_ASC_walk_othmaint-5.294680e-05
coef_sr3p_ASC_sr3p_othdiscr0.844944coef_walk_transit_ASC_walk_school9.694344e-05
coef_sr3p_ASC_walk_othdiscr-5.841028coef_walk_transit_ASC_walk_shopping4.504021e-05
coef_walk_transit_ASC_sr2_othdiscr-1.232224coef_walk_transit_ASC_walk_social-7.533156e-05
coef_walk_transit_ASC_sr3p_othdiscr-1.199264coef_walk_transit_ASC_walk_univ0.000000e+00
coef_walk_transit_ASC_walk_othdiscr-0.980497coef_walk_transit_ASC_walk_work-1.629846e-04
loglike-7541.342641931288d_loglike\n", + "
nit304nfev317njev304status0message'Optimization terminated successfully'successTrueelapsed_time0:03:32.168906method'SLSQP'n_cases162587iteration_number304loglike-83882.486683268" + ], + "text/plain": [ + "┣ x: -999 -999.000000\n", + "┃ 1 1.000000\n", + "┃ coef_age010_trn 0.131028\n", + "┃ coef_age1619_da 0.432972\n", + "┃ coef_age16p_sr -0.403317\n", + "┃ ... \n", + "┃ coef_walk_transit_ASC_walk_school -1.566510\n", + "┃ coef_walk_transit_ASC_walk_shopping -1.250219\n", + "┃ coef_walk_transit_ASC_walk_social -0.846190\n", + "┃ coef_walk_transit_ASC_walk_univ -1.031100\n", + "┃ coef_walk_transit_ASC_walk_work 0.296352\n", + "┃ Length: 272, dtype: float64\n", + "┣ logloss: 0.5159237004389526\n", + "┣ d_logloss: -999 0.000000\n", + "┃ 1 0.000000\n", + "┃ coef_age010_trn -0.000081\n", + "┃ coef_age1619_da -0.000052\n", + "┃ coef_age16p_sr -0.000041\n", + "┃ ... \n", + "┃ coef_walk_transit_ASC_walk_school 0.000097\n", + "┃ coef_walk_transit_ASC_walk_shopping 0.000045\n", + "┃ coef_walk_transit_ASC_walk_social -0.000075\n", + "┃ coef_walk_transit_ASC_walk_univ 0.000000\n", + "┃ coef_walk_transit_ASC_walk_work -0.000163\n", + "┃ Length: 272, dtype: float64\n", + "┣ nit: 304\n", + "┣ nfev: 317\n", + "┣ njev: 304\n", + "┣ status: 0\n", + "┣ message: 'Optimization terminated successfully'\n", + "┣ success: True\n", + "┣ elapsed_time: datetime.timedelta(seconds=212, microseconds=168906)\n", + "┣ method: 'SLSQP'\n", + "┣ n_cases: 162587\n", + "┣ iteration_number: 304\n", + "┣ loglike: -83882.486683268" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.maximize_loglike(method='SLSQP', options={\"maxiter\": 1000})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Estimated coefficients" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - "
0
 ValueNull Value
Parameter  
-9990.000000e+00-999-999. 0.00
10.000000e+001 1.00 0.00
coef_age010_trn6.536294e-06coef_age010_trn 0.131 0.00
coef_age1619_da-2.022165e-05coef_age1619_da 0.433 0.00
coef_age16p_sr-1.531626e-03coef_age16p_sr-0.403 0.00
coef_bike_ASC_rh0.000000e+00coef_bike_ASC_rh-7.00 0.00
coef_bike_ASC_walk_work4.331337e-05coef_bike_ASC_walk_eatout-1.69 0.00
coef_drive_transit_ASC_commuter_work-4.495517e-05coef_bike_ASC_walk_escort-13.5 0.00
coef_drive_transit_ASC_express_work0.000000e+00coef_bike_ASC_walk_othdiscr-1.32 0.00
coef_drive_transit_ASC_ferry_work0.000000e+00coef_bike_ASC_walk_othmaint-0.712 0.00
coef_drive_transit_ASC_heavyrail_work-4.473961e-10coef_bike_ASC_walk_school-2.41 0.00
coef_drive_transit_ASC_lightrail_work-2.507220e-09coef_bike_ASC_walk_shopping-1.58 0.00
coef_drive_transit_ASC_rh-1.718236e-62coef_bike_ASC_walk_social-13.2 0.00
coef_hhsize1_sr4.378810e-05coef_bike_ASC_walk_univ-0.340 0.00
coef_hhsize2_sr-9.408883e-04coef_bike_ASC_walk_work-2.06 0.00
coef_ivt_work5.462510e-02coef_drive_transit_ASC_commuter_escort 0.544 0.00
coef_joint_auto_ASC_rh_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork 6.90 0.00
coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_commuter_univ_school 3.47 0.00
coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_commuter_work 0.929 0.00
coef_joint_auto_ASC_walk_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_express_escort 0.755 0.00
coef_joint_bike_ASC_rh_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork 0.673 0.00
coef_joint_bike_ASC_walk_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_express_univ_school-0.0910 0.00
coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_express_work 0.0633 0.00
coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_ferry_escort 0.601 0.00
coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork-1.44 0.00
coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_ferry_univ_school 0.935 0.00
coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_ferry_work 0.556 0.00
coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_heavyrail_escort-3.97 0.00
coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.985 0.00
coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_heavyrail_univ_school 0.730 0.00
coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_heavyrail_work 0.822 0.00
coef_joint_ride_hail_ASC_tnc_shared0.000000e+00coef_drive_transit_ASC_lightrail_escort 2.31 0.00
coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.502 0.00
coef_joint_ride_hail_ASC_walk_transit0.000000e+00coef_drive_transit_ASC_lightrail_univ_school 3.94 0.00
coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_lightrail_work 0.635 0.00
coef_joint_walk_ASC_rh_work_univ_school_escort_atwork0.000000e+00coef_drive_transit_ASC_rh-3.91 0.00
coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork0.000000e+00coef_hhsize1_sr-0.790 0.00
coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork0.000000e+00coef_hhsize2_sr-0.0583 0.00
coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork0.000000e+00coef_ivt_escort_shopping_eatout_othdiscr_atwork-0.0120 0.00
coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork0.000000e+00coef_ivt_othmaint_social-0.00816 0.00
coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork0.000000e+00coef_ivt_univ_school-0.0162 0.00
coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork0.000000e+00coef_ivt_work-0.0150 0.00
coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork0.000000e+00coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr-7.35 0.00
coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork0.000000e+00coef_joint_auto_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork0.000000e+00coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr 1.28 0.00
coef_nest_AUTO0.000000e+00coef_joint_auto_ASC_sr2_shopping 2.35 0.00
coef_nest_AUTO_DRIVEALONE0.000000e+00coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork 0.00 0.00
coef_nest_AUTO_SHAREDRIDE20.000000e+00coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr 1.25 0.00
coef_nest_AUTO_SHAREDRIDE30.000000e+00coef_joint_auto_ASC_sr3p_shopping-19.0 0.00
coef_nest_NONMOTORIZED0.000000e+00coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork 0.00 0.00
coef_nest_RIDEHAIL0.000000e+00coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr-0.0990 0.00
coef_nest_TRANSIT0.000000e+00coef_joint_auto_ASC_walk_shopping-23.5 0.00
coef_nest_TRANSIT_DRIVEACCESS0.000000e+00coef_joint_auto_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_nest_TRANSIT_WALKACCESS0.000000e+00coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr-12.3 0.00
coef_ride_hail_ASC_sr2_work-1.076131e-17coef_joint_bike_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork-4.912817e-20coef_joint_bike_ASC_walk_eatout-15.6 0.00
coef_ride_hail_ASC_taxi_work-2.445223e-27coef_joint_bike_ASC_walk_othdiscr-14.4 0.00
coef_ride_hail_ASC_tnc_shared9.512800e-04coef_joint_bike_ASC_walk_othmaint-13.5 0.00
coef_ride_hail_ASC_tnc_single_work-5.210129e-04coef_joint_bike_ASC_walk_shopping-7.05 0.00
coef_ride_hail_ASC_walk_transit-1.264748e-04coef_joint_bike_ASC_walk_social-26.2 0.00
coef_ride_hail_ASC_walk_work-1.549984e-05coef_joint_bike_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_sov_ASC_rh_work_atwork0.000000e+00coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr 0.513 0.00
coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork 0.00 0.00
coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr-0.806 0.00
coef_sov_ASC_walk_work-1.293137e-04coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork 0.00 0.00
coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr 2.03 0.00
coef_sr2_ASC_sr2_work-4.657072e-04coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork 0.00 0.00
coef_sr2_ASC_sr3p0.000000e+00coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr 3.19 0.00
coef_sr2_ASC_walk_work-5.813633e-05coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork 0.00 0.00
coef_sr3p_ASC_rh_work-8.206902e-30coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr 0.539 0.00
coef_sr3p_ASC_sr2_work2.351910e-04coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork 0.00 0.00
coef_sr3p_ASC_sr3p_work-5.735054e-04coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr 2.05 0.00
coef_sr3p_ASC_walk_work3.486286e-05coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_walk_ASC_rh0.000000e+00coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr-6.82 0.00
coef_walk_transit_ASC_commuter_work0.000000e+00coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork 0.00 0.00
coef_walk_transit_ASC_express_work0.000000e+00coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr-6.82 0.00
coef_walk_transit_ASC_ferry_work0.000000e+00coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork 0.00 0.00
coef_walk_transit_ASC_heavyrail_work3.025768e-04coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_walk_transit_ASC_lightrail_work-1.644943e-03coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork 0.00 0.00
coef_walk_transit_ASC_rh_work-2.191119e-05coef_joint_ride_hail_ASC_tnc_shared-0.346 0.00
coef_walk_transit_ASC_sr2_work5.241777e-05coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr-4.73 0.00
coef_walk_transit_ASC_sr3p_work-2.945579e-05coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork 0.00 0.00
coef_walk_transit_ASC_walk_work6.752091e-04coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr-7.01 0.00
coef_bike_ASC_walk_univ0.000000e+00coef_joint_ride_hail_ASC_walk_transit 0.00 0.00
coef_drive_transit_ASC_commuter_univ_school0.000000e+00coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_drive_transit_ASC_express_univ_school0.000000e+00coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr-3.05 0.00
coef_drive_transit_ASC_ferry_univ_school0.000000e+00coef_joint_walk_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_drive_transit_ASC_heavyrail_univ_school0.000000e+00coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr 0.513 0.00
coef_drive_transit_ASC_lightrail_univ_school0.000000e+00coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork 0.00 0.00
coef_ivt_univ_school-1.050483e-02coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr 0.665 0.00
coef_ride_hail_ASC_sr2_univ0.000000e+00coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork 0.00 0.00
coef_ride_hail_ASC_sr3p_univ0.000000e+00coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr 0.647 0.00
coef_ride_hail_ASC_taxi_univ0.000000e+00coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork 0.00 0.00
coef_ride_hail_ASC_tnc_single_univ0.000000e+00coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr 2.77 0.00
coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint-2.749099e-18coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork 0.00 0.00
coef_sov_ASC_rh_univ0.000000e+00coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr 0.728 0.00
coef_sov_ASC_walk_univ0.000000e+00coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork 0.00 0.00
coef_sr2_ASC_rh_univ0.000000e+00coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr 0.0739 0.00
coef_sr2_ASC_sr2_univ0.000000e+00coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_sr2_ASC_walk_univ0.000000e+00coef_joint_walk_transit_ASC_sr2_eatout-14.9 0.00
coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_joint_walk_transit_ASC_sr2_othdiscr-15.0 0.00
coef_sr3p_ASC_sr2_univ0.000000e+00coef_joint_walk_transit_ASC_sr2_othmaint-5.32 0.00
coef_sr3p_ASC_sr3p_univ0.000000e+00coef_joint_walk_transit_ASC_sr2_shopping-21.6 0.00
coef_sr3p_ASC_walk_univ0.000000e+00coef_joint_walk_transit_ASC_sr2_social-20.5 0.00
coef_walk_transit_ASC_commuter_univ_school0.000000e+00
coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork 0.00 0.00
coef_walk_transit_ASC_express_univ_school0.000000e+00coef_joint_walk_transit_ASC_sr3p_eatout-16.8 0.00
coef_walk_transit_ASC_ferry_univ_school0.000000e+00coef_joint_walk_transit_ASC_sr3p_othdiscr-16.7 0.00
coef_walk_transit_ASC_heavyrail_univ_school-5.322431e-05coef_joint_walk_transit_ASC_sr3p_othmaint-3.97 0.00
coef_walk_transit_ASC_lightrail_univ_school1.268521e-04coef_joint_walk_transit_ASC_sr3p_shopping-25.6 0.00
coef_walk_transit_ASC_rh_univ0.000000e+00coef_joint_walk_transit_ASC_sr3p_social-34.7 0.00
coef_walk_transit_ASC_sr2_univ0.000000e+00coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork 0.00 0.00
coef_walk_transit_ASC_sr3p_univ0.000000e+00coef_joint_walk_transit_ASC_walk_eatout 3.42 0.00
coef_walk_transit_ASC_walk_univ0.000000e+00coef_joint_walk_transit_ASC_walk_othdiscr-1.02 0.00
coef_bike_ASC_walk_school-2.045778e-57coef_joint_walk_transit_ASC_walk_othmaint 0.283 0.00
coef_ride_hail_ASC_sr2_school-7.168630e-16coef_joint_walk_transit_ASC_walk_shopping 0.717 0.00
coef_ride_hail_ASC_sr3p_school-4.930109e-16coef_joint_walk_transit_ASC_walk_social-2.27 0.00
coef_ride_hail_ASC_taxi_school-4.621869e-27coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_ride_hail_ASC_tnc_single_school-1.784036e-04coef_nest_AUTO 0.720 1.00
coef_ride_hail_ASC_walk_school-4.237276e-16coef_nest_AUTO_DRIVEALONE 0.350 1.00
coef_sov_ASC_rh_school-4.635032e-48coef_nest_AUTO_SHAREDRIDE2 0.350 1.00
coef_sov_ASC_walk_school-2.359157e-05coef_nest_AUTO_SHAREDRIDE3 0.350 1.00
coef_sr2_ASC_sr2_school5.082394e-05coef_nest_NONMOTORIZED 0.720 1.00
coef_sr2_ASC_walk_school-3.377311e-05coef_nest_RIDEHAIL 0.360 1.00
coef_sr3p_ASC_rh_school-8.786869e-64coef_nest_TRANSIT 0.720 1.00
coef_sr3p_ASC_sr2_school-1.979710e-04coef_nest_TRANSIT_DRIVEACCESS 0.500 1.00
coef_sr3p_ASC_sr3p_school2.444092e-04coef_nest_TRANSIT_WALKACCESS 0.500 1.00
coef_sr3p_ASC_walk_school-1.610767e-04coef_ride_hail_ASC_sr2_eatout_social_othdiscr-6.47 0.00
coef_walk_transit_ASC_rh_school1.961319e-05coef_ride_hail_ASC_sr2_escort_shopping_othmaint-3.84 0.00
coef_walk_transit_ASC_sr2_school2.811230e-05coef_ride_hail_ASC_sr2_school-1.92 0.00
coef_walk_transit_ASC_sr3p_school-4.190001e-05coef_ride_hail_ASC_sr2_univ-4.34 0.00
coef_walk_transit_ASC_walk_school-1.524977e-05coef_ride_hail_ASC_sr2_work-12.5 0.00
coef_bike_ASC_walk_escort-8.352243e-10coef_ride_hail_ASC_sr3p_eatout_social_othdiscr-6.91 0.00
coef_drive_transit_ASC_commuter_escort0.000000e+00coef_ride_hail_ASC_sr3p_school-8.86 0.00
coef_drive_transit_ASC_express_escort0.000000e+00coef_ride_hail_ASC_sr3p_univ-4.92 0.00
coef_drive_transit_ASC_ferry_escort0.000000e+00coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork-10.1 0.00
coef_drive_transit_ASC_heavyrail_escort-1.175371e-11coef_ride_hail_ASC_taxi_eatout_social_othdiscr-2.56 0.00
coef_drive_transit_ASC_lightrail_escort0.000000e+00coef_ride_hail_ASC_taxi_escort_shopping_othmaint-3.67 0.00
coef_ivt_escort_shopping_eatout_othdiscr_atwork-7.640350e-02coef_ride_hail_ASC_taxi_school 0.195 0.00
coef_ride_hail_ASC_sr2_escort_shopping_othmaint-2.138916e-17coef_ride_hail_ASC_taxi_univ-1.60 0.00
coef_ride_hail_ASC_taxi_escort_shopping_othmaint-2.798746e-29coef_ride_hail_ASC_taxi_work-2.42 0.00
coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint9.394624e-05coef_ride_hail_ASC_tnc_shared 0.940 0.00
coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr 3.02 0.00
coef_sov_ASC_sr2_escort0.000000e+00coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint 2.44 0.00
coef_sov_ASC_sr3p_escort0.000000e+00coef_ride_hail_ASC_tnc_single_school 2.04 0.00
coef_sov_ASC_walk_escort0.000000e+00coef_ride_hail_ASC_tnc_single_univ 0.108 0.00
coef_sr2_ASC_sr2_escort-6.160566e-04coef_ride_hail_ASC_tnc_single_work 2.66 0.00
coef_sr2_ASC_walk_escort-1.374539e-08coef_ride_hail_ASC_walk_eatout_social_othdiscr-1.92 0.00
coef_sr3p_ASC_sr2_escort4.939249e-05coef_ride_hail_ASC_walk_school-0.961 0.00
coef_sr3p_ASC_sr3p_escort-5.312809e-05coef_ride_hail_ASC_walk_transit 1.26 0.00
coef_sr3p_ASC_walk_escort7.813745e-07coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint-3.68 0.00
coef_walk_transit_ASC_commuter_escort0.000000e+00coef_ride_hail_ASC_walk_work 1.33 0.00
coef_walk_transit_ASC_express_escort0.000000e+00coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr 0.00 0.00
coef_walk_transit_ASC_ferry_escort0.000000e+00coef_sov_ASC_rh_school-9.21 0.00
coef_walk_transit_ASC_heavyrail_escort1.847275e-05coef_sov_ASC_rh_univ-6.65 0.00
coef_walk_transit_ASC_lightrail_escort-6.175222e-05coef_sov_ASC_rh_work_atwork-7.00 0.00
coef_walk_transit_ASC_rh_escort_shopping_othmaint-3.544690e-05coef_sov_ASC_sr2_escort 0.00 0.00
coef_walk_transit_ASC_sr2_escort-4.425501e-05coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork-999. 0.00
coef_walk_transit_ASC_sr3p_escort-4.715077e-99coef_sov_ASC_sr3p_escort 0.00 0.00
coef_walk_transit_ASC_walk_escort-5.506864e-35coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork-999. 0.00
coef_bike_ASC_walk_shopping-1.404547e-12coef_sov_ASC_walk_eatout-1.88 0.00
coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sov_ASC_walk_escort 0.00 0.00
coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sov_ASC_walk_othdiscr-1.66 0.00
coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sov_ASC_walk_othmaint-1.38 0.00
coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sov_ASC_walk_school-2.30 0.00
coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sov_ASC_walk_shopping-1.59 0.00
coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sov_ASC_walk_social-1.87 0.00
coef_joint_auto_ASC_sr2_shopping1.199811e-05coef_sov_ASC_walk_univ-1.06 0.00
coef_joint_auto_ASC_sr3p_shopping-5.796288e-07coef_sov_ASC_walk_work-1.17 0.00
coef_joint_auto_ASC_walk_shopping-1.431461e-09coef_sr2_ASC_rh_univ-6.69 0.00
coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork-7.00 0.00
coef_joint_bike_ASC_walk_shopping0.000000e+00coef_sr2_ASC_sr2_eatout 1.54 0.00
coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_escort 0.829 0.00
coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_othdiscr 1.16 0.00
coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_othmaint 1.50 0.00
coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_school-0.206 0.00
coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_shopping 1.78 0.00
coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_social 0.975 0.00
coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_univ 0.430 0.00
coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr2_work 0.470 0.00
coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_sr3p-999. 0.00
coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_walk_eatout-0.189 0.00
coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_walk_escort-2.21 0.00
coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_walk_othdiscr-0.449 0.00
coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_walk_othmaint-0.603 0.00
coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_walk_school-0.134 0.00
coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr0.000000e+00coef_sr2_ASC_walk_shopping-0.528 0.00
coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr3.150898e-09coef_sr2_ASC_walk_social-0.791 0.00
coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr-1.676959e-05coef_sr2_ASC_walk_univ 1.30 0.00
coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr-4.853053e-05coef_sr2_ASC_walk_work-0.125 0.00
coef_joint_walk_transit_ASC_sr2_shopping-6.388223e-11coef_sr3p_ASC_rh_school-6.90 0.00
coef_joint_walk_transit_ASC_sr3p_shopping-3.009123e-13coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_joint_walk_transit_ASC_walk_shopping-1.854492e-40coef_sr3p_ASC_rh_work-71.9 0.00
coef_sov_ASC_walk_shopping1.979504e-05coef_sr3p_ASC_sr2_eatout 0.0170 0.00
coef_sr2_ASC_sr2_shopping-1.633169e-04coef_sr3p_ASC_sr2_escort 0.132 0.00
coef_sr2_ASC_walk_shopping-2.087183e-05coef_sr3p_ASC_sr2_othdiscr-0.193 0.00
coef_sr3p_ASC_sr2_shopping-2.114611e-05coef_sr3p_ASC_sr2_othmaint 0.0597 0.00
coef_sr3p_ASC_sr3p_shopping-7.777893e-06coef_sr3p_ASC_sr2_school-1.38 0.00
coef_sr3p_ASC_walk_shopping-5.499761e-05coef_sr3p_ASC_sr2_shopping 0.409 0.00
coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sr3p_ASC_sr2_social 0.441 0.00
coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sr3p_ASC_sr2_univ-0.312 0.00
coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork0.000000e+00coef_sr3p_ASC_sr2_work-0.769 0.00
coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork-9.355912e-05coef_sr3p_ASC_sr3p_eatout 1.75 0.00
coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork1.458827e-04coef_sr3p_ASC_sr3p_escort 1.12 0.00
coef_walk_transit_ASC_sr2_shopping-4.838269e-05coef_sr3p_ASC_sr3p_othdiscr 1.21 0.00
coef_walk_transit_ASC_sr3p_shopping-7.841219e-48coef_sr3p_ASC_sr3p_othmaint 1.48 0.00
coef_walk_transit_ASC_walk_shopping-5.761910e-05coef_sr3p_ASC_sr3p_school-0.385 0.00
coef_bike_ASC_walk_eatout-5.163611e-94coef_sr3p_ASC_sr3p_shopping 1.86 0.00
coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr1.042498e-05coef_sr3p_ASC_sr3p_social 1.38 0.00
coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr6.920224e-06coef_sr3p_ASC_sr3p_univ 0.629 0.00
coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr-5.600401e-05coef_sr3p_ASC_sr3p_work 0.255 0.00
coef_joint_bike_ASC_walk_eatout0.000000e+00coef_sr3p_ASC_walk_eatout-0.240 0.00
coef_joint_walk_transit_ASC_sr2_eatout-2.828607e-08coef_sr3p_ASC_walk_escort-1.30 0.00
coef_joint_walk_transit_ASC_sr3p_eatout-2.226057e-09coef_sr3p_ASC_walk_othdiscr-0.712 0.00
coef_joint_walk_transit_ASC_walk_eatout-1.504477e-05coef_sr3p_ASC_walk_othmaint-0.347 0.00
coef_ride_hail_ASC_sr2_eatout_social_othdiscr-3.869795e-16coef_sr3p_ASC_walk_school-0.603 0.00
coef_ride_hail_ASC_sr3p_eatout_social_othdiscr-1.643875e-13coef_sr3p_ASC_walk_shopping-0.431 0.00
coef_ride_hail_ASC_taxi_eatout_social_othdiscr-2.363466e-28coef_sr3p_ASC_walk_social-0.451 0.00
coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr-2.038351e-04coef_sr3p_ASC_walk_univ 1.68 0.00
coef_ride_hail_ASC_walk_eatout_social_othdiscr-1.208287e-15coef_sr3p_ASC_walk_work-0.120 0.00
coef_sov_ASC_walk_eatout1.478005e-05coef_walk_ASC_rh-7.00 0.00
coef_sr2_ASC_sr2_eatout1.134955e-05coef_walk_transit_ASC_commuter_escort 0.544 0.00
coef_sr2_ASC_walk_eatout-5.387236e-05coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork 0.183 0.00
coef_sr3p_ASC_sr2_eatout-4.592690e-05coef_walk_transit_ASC_commuter_univ_school 2.15 0.00
coef_sr3p_ASC_sr3p_eatout8.013239e-05coef_walk_transit_ASC_commuter_work 0.646 0.00
coef_sr3p_ASC_walk_eatout-2.559943e-05coef_walk_transit_ASC_express_escort 0.755 0.00
coef_walk_transit_ASC_rh_eatout_social_othdiscr2.475426e-05coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork 1.09 0.00
coef_walk_transit_ASC_sr2_eatout-8.378197e-06coef_walk_transit_ASC_express_univ_school 0.736 0.00
coef_walk_transit_ASC_sr3p_eatout5.928461e-05coef_walk_transit_ASC_express_work-0.116 0.00
coef_walk_transit_ASC_walk_eatout3.351367e-05coef_walk_transit_ASC_ferry_escort 0.601 0.00
coef_bike_ASC_walk_othmaint-1.105637e-05coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork-5.31 0.00
coef_ivt_othmaint_social5.370351e-02coef_walk_transit_ASC_ferry_univ_school 0.102 0.00
coef_joint_bike_ASC_walk_othmaint0.000000e+00coef_walk_transit_ASC_ferry_work-0.283 0.00
coef_joint_walk_transit_ASC_sr2_othmaint-1.624906e-06coef_walk_transit_ASC_heavyrail_escort 1.73 0.00
coef_joint_walk_transit_ASC_sr3p_othmaint-7.397451e-24coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork 1.19 0.00
coef_joint_walk_transit_ASC_walk_othmaint-3.953263e-30coef_walk_transit_ASC_heavyrail_univ_school 1.50 0.00
coef_sov_ASC_walk_othmaint5.401771e-05coef_walk_transit_ASC_heavyrail_work 0.661 0.00
coef_sr2_ASC_sr2_othmaint-4.666221e-05coef_walk_transit_ASC_lightrail_escort 2.37 0.00
coef_sr2_ASC_walk_othmaint4.186596e-05coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.939 0.00
coef_sr3p_ASC_sr2_othmaint7.950676e-05coef_walk_transit_ASC_lightrail_univ_school 1.96 0.00
coef_sr3p_ASC_sr3p_othmaint-8.383183e-05coef_walk_transit_ASC_lightrail_work 0.724 0.00
coef_sr3p_ASC_walk_othmaint1.080875e-04coef_walk_transit_ASC_rh_eatout_social_othdiscr-4.96 0.00
coef_walk_transit_ASC_sr2_othmaint-4.017102e-15coef_walk_transit_ASC_rh_escort_shopping_othmaint-5.01 0.00
coef_walk_transit_ASC_sr3p_othmaint-6.376816e-12coef_walk_transit_ASC_rh_school-7.20 0.00
coef_walk_transit_ASC_walk_othmaint1.941271e-05coef_walk_transit_ASC_rh_univ-4.27 0.00
coef_bike_ASC_walk_social-7.802548e-08coef_walk_transit_ASC_rh_work-4.01 0.00
coef_joint_bike_ASC_walk_social0.000000e+00coef_walk_transit_ASC_sr2_eatout-2.12 0.00
coef_joint_walk_transit_ASC_sr2_social0.000000e+00coef_walk_transit_ASC_sr2_escort-0.579 0.00
coef_joint_walk_transit_ASC_sr3p_social-2.473076e-24coef_walk_transit_ASC_sr2_othdiscr-1.93 0.00
coef_joint_walk_transit_ASC_walk_social-4.316912e-11coef_walk_transit_ASC_sr2_othmaint-34.7 0.00
coef_sov_ASC_walk_social-5.943503e-10coef_walk_transit_ASC_sr2_school-3.46 0.00
coef_sr2_ASC_sr2_social-2.952234e-05coef_walk_transit_ASC_sr2_shopping-2.57 0.00
coef_sr2_ASC_walk_social2.268310e-05coef_walk_transit_ASC_sr2_social-2.27 0.00
coef_sr3p_ASC_sr2_social1.341521e-05coef_walk_transit_ASC_sr2_univ-4.00 0.00
coef_sr3p_ASC_sr3p_social3.699722e-05coef_walk_transit_ASC_sr2_work-2.58 0.00
coef_sr3p_ASC_walk_social1.658572e-05coef_walk_transit_ASC_sr3p_eatout-4.64 0.00
coef_walk_transit_ASC_sr2_social2.083999e-04coef_walk_transit_ASC_sr3p_escort-4.04 0.00
coef_walk_transit_ASC_sr3p_social-4.566934e-12coef_walk_transit_ASC_sr3p_othdiscr-1.89 0.00
coef_walk_transit_ASC_walk_social-1.676922e-04coef_walk_transit_ASC_sr3p_othmaint-29.4 0.00
coef_bike_ASC_walk_othdiscr5.983509e-05coef_walk_transit_ASC_sr3p_school-3.51 0.00
coef_joint_bike_ASC_walk_othdiscr0.000000e+00coef_walk_transit_ASC_sr3p_shopping-2.48 0.00
coef_joint_walk_transit_ASC_sr2_othdiscr0.000000e+00coef_walk_transit_ASC_sr3p_social-21.6 0.00
coef_joint_walk_transit_ASC_sr3p_othdiscr-5.170098e-09coef_walk_transit_ASC_sr3p_univ-28.7 0.00
coef_joint_walk_transit_ASC_walk_othdiscr-8.676475e-14coef_walk_transit_ASC_sr3p_work-3.23 0.00
coef_sov_ASC_walk_othdiscr4.282980e-06coef_walk_transit_ASC_walk_eatout 1.42 0.00
coef_sr2_ASC_sr2_othdiscr-6.122804e-05coef_walk_transit_ASC_walk_escort-1.54 0.00
coef_sr2_ASC_walk_othdiscr-2.831322e-05coef_walk_transit_ASC_walk_othdiscr-0.863 0.00
coef_sr3p_ASC_sr2_othdiscr-4.358718e-05coef_walk_transit_ASC_walk_othmaint 0.213 0.00
coef_sr3p_ASC_sr3p_othdiscr-8.122719e-06coef_walk_transit_ASC_walk_school-1.57 0.00
coef_sr3p_ASC_walk_othdiscr4.957928e-05coef_walk_transit_ASC_walk_shopping-1.25 0.00
coef_walk_transit_ASC_sr2_othdiscr8.887145e-06coef_walk_transit_ASC_walk_social-0.846 0.00
coef_walk_transit_ASC_sr3p_othdiscr2.325113e-05coef_walk_transit_ASC_walk_univ-1.03 0.00
coef_walk_transit_ASC_walk_othdiscr-4.684099e-05coef_walk_transit_ASC_walk_work 0.296 0.00
nit110nfev255njev110status0message'Optimization terminated successfully'successTrueelapsed_time0:02:12.823819method'SLSQP'n_cases13279iteration_number110logloss0.5679149515725046" - ], - "text/plain": [ - "┣ x: -999 -999.000000\n", - "┃ 1 1.000000\n", - "┃ coef_age010_trn 0.360551\n", - "┃ coef_age1619_da 0.344530\n", - "┃ coef_age16p_sr -0.151886\n", - "┃ ... \n", - "┃ coef_sr3p_ASC_sr3p_othdiscr 0.844944\n", - "┃ coef_sr3p_ASC_walk_othdiscr -5.841028\n", - "┃ coef_walk_transit_ASC_sr2_othdiscr -1.232224\n", - "┃ coef_walk_transit_ASC_sr3p_othdiscr -1.199264\n", - "┃ coef_walk_transit_ASC_walk_othdiscr -0.980497\n", - "┃ Length: 272, dtype: float64\n", - "┣ loglike: -7541.342641931288\n", - "┣ d_loglike: -999 0.000000\n", - "┃ 1 0.000000\n", - "┃ coef_age010_trn 0.000007\n", - "┃ coef_age1619_da -0.000020\n", - "┃ coef_age16p_sr -0.001532\n", - "┃ ... \n", - "┃ coef_sr3p_ASC_sr3p_othdiscr -0.000008\n", - "┃ coef_sr3p_ASC_walk_othdiscr 0.000050\n", - "┃ coef_walk_transit_ASC_sr2_othdiscr 0.000009\n", - "┃ coef_walk_transit_ASC_sr3p_othdiscr 0.000023\n", - "┃ coef_walk_transit_ASC_walk_othdiscr -0.000047\n", - "┃ Length: 272, dtype: float64\n", - "┣ nit: 110\n", - "┣ nfev: 255\n", - "┣ njev: 110\n", - "┣ status: 0\n", - "┣ message: 'Optimization terminated successfully'\n", - "┣ success: True\n", - "┣ elapsed_time: datetime.timedelta(seconds=132, microseconds=823819)\n", - "┣ method: 'SLSQP'\n", - "┣ n_cases: 13279\n", - "┣ iteration_number: 110\n", - "┣ logloss: 0.5679149515725046" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.maximize_loglike(method='SLSQP', options={\"maxiter\": 1000})" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Estimated coefficients" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Value Null Value
-999-999.-999.00
1 1.00 1.00
coef_age010_trn 0.361 0.00
coef_age1619_da 0.345 0.00
coef_age16p_sr-0.152 0.00
coef_bike_ASC_rh-7.00 0.00
coef_bike_ASC_walk_work-2.66 0.00
coef_drive_transit_ASC_commuter_work 0.427 0.00
coef_drive_transit_ASC_express_work-0.355 0.00
coef_drive_transit_ASC_ferry_work 0.528 0.00
coef_drive_transit_ASC_heavyrail_work-12.0 0.00
coef_drive_transit_ASC_lightrail_work-10.3 0.00
coef_drive_transit_ASC_rh-162. 0.00
coef_hhsize1_sr-0.891 0.00
coef_hhsize2_sr 0.0397 0.00
coef_ivt_work-0.0102 0.00
coef_joint_auto_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_joint_auto_ASC_sr2_work_univ_school_escort_atwork 0.00 0.00
coef_joint_auto_ASC_sr3p_work_univ_school_escort_atwork 0.00 0.00
coef_joint_auto_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_joint_bike_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_joint_bike_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_joint_drive_transit_ASC_commuter_work_univ_school_escort_atwork 0.00 0.00
coef_joint_drive_transit_ASC_express_work_univ_school_escort_atwork 0.00 0.00
coef_joint_drive_transit_ASC_ferry_work_univ_school_escort_atwork 0.00 0.00
coef_joint_drive_transit_ASC_heavyrail_work_univ_school_escort_atwork 0.00 0.00
coef_joint_drive_transit_ASC_lightrail_work_univ_school_escort_atwork 0.00 0.00
coef_joint_drive_transit_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_joint_ride_hail_ASC_sr2_work_univ_school_escort_atwork 0.00 0.00
coef_joint_ride_hail_ASC_sr3p_work_univ_school_escort_atwork 0.00 0.00
coef_joint_ride_hail_ASC_taxi_work_univ_school_escort_atwork 0.00 0.00
coef_joint_ride_hail_ASC_tnc_shared 0.00 0.00
coef_joint_ride_hail_ASC_tnc_single_work_univ_school_escort_atwork 0.00 0.00
coef_joint_ride_hail_ASC_walk_transit 0.00 0.00
coef_joint_ride_hail_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_commuter_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_express_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_ferry_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_heavyrail_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_lightrail_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_rh_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_sr2_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_sr3p_work_univ_school_escort_atwork 0.00 0.00
coef_joint_walk_transit_ASC_walk_work_univ_school_escort_atwork 0.00 0.00
coef_nest_AUTO 0.720 1.00
coef_nest_AUTO_DRIVEALONE 0.350 1.00
coef_nest_AUTO_SHAREDRIDE2 0.350 1.00
coef_nest_AUTO_SHAREDRIDE3 0.350 1.00
coef_nest_NONMOTORIZED 0.720 1.00
coef_nest_RIDEHAIL 0.360 1.00
coef_nest_TRANSIT 0.720 1.00
coef_nest_TRANSIT_DRIVEACCESS 0.500 1.00
coef_nest_TRANSIT_WALKACCESS 0.500 1.00
coef_ride_hail_ASC_sr2_work-25.0 0.00
coef_ride_hail_ASC_sr3p_work_escort_shopping_othmaint_atwork-29.7 0.00
coef_ride_hail_ASC_taxi_work-2.52 0.00
coef_ride_hail_ASC_tnc_shared 23.3 0.00
coef_ride_hail_ASC_tnc_single_work 24.0 0.00
coef_ride_hail_ASC_walk_transit 22.1 0.00
coef_ride_hail_ASC_walk_work 21.8 0.00
coef_sov_ASC_rh_work_atwork-7.00 0.00
coef_sov_ASC_sr2_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork-999. 0.00
coef_sov_ASC_sr3p_work_univ_school_shopping_eatout_othmaint_social_othdiscr_atwork-999. 0.00
coef_sov_ASC_walk_work-3.01 0.00
coef_sr2_ASC_rh_work_school_escort_shopping_eatout_othmaint_social_othdiscr_atwork-7.00 0.00
coef_sr2_ASC_sr2_work 0.197 0.00
coef_sr2_ASC_sr3p-999. 0.00
coef_sr2_ASC_walk_work-2.22 0.00
coef_sr3p_ASC_rh_work-71.9 0.00
coef_sr3p_ASC_sr2_work-0.954 0.00
coef_sr3p_ASC_sr3p_work 0.00228 0.00
coef_sr3p_ASC_walk_work-2.36 0.00
coef_walk_ASC_rh-7.00 0.00
coef_walk_transit_ASC_commuter_work 0.401 0.00
coef_walk_transit_ASC_express_work-0.355 0.00
coef_walk_transit_ASC_ferry_work 0.528 0.00
coef_walk_transit_ASC_heavyrail_work 0.503 0.00
coef_walk_transit_ASC_lightrail_work 0.633 0.00
coef_walk_transit_ASC_rh_work-2.87 0.00
coef_walk_transit_ASC_sr2_work-2.26 0.00
coef_walk_transit_ASC_sr3p_work-2.65 0.00
coef_walk_transit_ASC_walk_work-0.391 0.00
coef_bike_ASC_walk_univ-0.340 0.00
coef_drive_transit_ASC_commuter_univ_school 0.908 0.00
coef_drive_transit_ASC_express_univ_school 0.322 0.00
coef_drive_transit_ASC_ferry_univ_school 1.72 0.00
coef_drive_transit_ASC_heavyrail_univ_school 0.849 0.00
coef_drive_transit_ASC_lightrail_univ_school 1.44 0.00
coef_ivt_univ_school-0.00827 0.00
coef_ride_hail_ASC_sr2_univ-4.34 0.00
coef_ride_hail_ASC_sr3p_univ-4.92 0.00
coef_ride_hail_ASC_taxi_univ-1.60 0.00
coef_ride_hail_ASC_tnc_single_univ 0.108 0.00
coef_ride_hail_ASC_walk_univ_escort_shopping_othmaint-26.3 0.00
coef_sov_ASC_rh_univ-6.65 0.00
coef_sov_ASC_walk_univ-1.06 0.00
coef_sr2_ASC_rh_univ-6.69 0.00
coef_sr2_ASC_sr2_univ 0.430 0.00
coef_sr2_ASC_walk_univ 1.30 0.00
coef_sr3p_ASC_rh_univ_escort_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_sr3p_ASC_sr2_univ-0.312 0.00
coef_sr3p_ASC_sr3p_univ 0.629 0.00
coef_sr3p_ASC_walk_univ 1.68 0.00
coef_walk_transit_ASC_commuter_univ_school 0.908 0.00
coef_walk_transit_ASC_express_univ_school 0.322 0.00
coef_walk_transit_ASC_ferry_univ_school 1.72 0.00
coef_walk_transit_ASC_heavyrail_univ_school 0.867 0.00
coef_walk_transit_ASC_lightrail_univ_school 1.57 0.00
coef_walk_transit_ASC_rh_univ-4.27 0.00
coef_walk_transit_ASC_sr2_univ-4.00 0.00
coef_walk_transit_ASC_sr3p_univ-28.7 0.00
coef_walk_transit_ASC_walk_univ-1.03 0.00
coef_bike_ASC_walk_school-106. 0.00
coef_ride_hail_ASC_sr2_school-17.6 0.00
coef_ride_hail_ASC_sr3p_school-17.9 0.00
coef_ride_hail_ASC_taxi_school-1.64 0.00
coef_ride_hail_ASC_tnc_single_school 23.7 0.00
coef_ride_hail_ASC_walk_school-17.9 0.00
coef_sov_ASC_rh_school-126. 0.00
coef_sov_ASC_walk_school-3.12 0.00
coef_sr2_ASC_sr2_school-0.541 0.00
coef_sr2_ASC_walk_school-2.04 0.00
coef_sr3p_ASC_rh_school-168. 0.00
coef_sr3p_ASC_sr2_school-1.02 0.00
coef_sr3p_ASC_sr3p_school 0.193 0.00
coef_sr3p_ASC_walk_school-2.44 0.00
coef_walk_transit_ASC_rh_school-4.36 0.00
coef_walk_transit_ASC_sr2_school-2.27 0.00
coef_walk_transit_ASC_sr3p_school-2.41 0.00
coef_walk_transit_ASC_walk_school-1.50 0.00
coef_bike_ASC_walk_escort-13.5 0.00
coef_drive_transit_ASC_commuter_escort 0.544 0.00
coef_drive_transit_ASC_express_escort 0.755 0.00
coef_drive_transit_ASC_ferry_escort 0.601 0.00
coef_drive_transit_ASC_heavyrail_escort-14.2 0.00
coef_drive_transit_ASC_lightrail_escort 0.525 0.00
coef_ivt_escort_shopping_eatout_othdiscr_atwork-0.0119 0.00
coef_ride_hail_ASC_sr2_escort_shopping_othmaint-23.9 0.00
coef_ride_hail_ASC_taxi_escort_shopping_othmaint-3.66 0.00
coef_ride_hail_ASC_tnc_single_escort_shopping_othmaint 24.2 0.00
coef_sov_ASC_rh_escort_shopping_eatout_othmaint_social_othdiscr 0.00 0.00
coef_sov_ASC_sr2_escort 0.00 0.00
coef_sov_ASC_sr3p_escort 0.00 0.00
coef_sov_ASC_walk_escort 0.00 0.00
coef_sr2_ASC_sr2_escort 0.488 0.00
coef_sr2_ASC_walk_escort-25.5 0.00
coef_sr3p_ASC_sr2_escort-0.207 0.00
coef_sr3p_ASC_sr3p_escort 0.896 0.00
coef_sr3p_ASC_walk_escort-3.42 0.00
coef_walk_transit_ASC_commuter_escort 0.544 0.00
coef_walk_transit_ASC_express_escort 0.755 0.00
coef_walk_transit_ASC_ferry_escort 0.601 0.00
coef_walk_transit_ASC_heavyrail_escort 0.850 0.00
coef_walk_transit_ASC_lightrail_escort 1.13 0.00
coef_walk_transit_ASC_rh_escort_shopping_othmaint-2.36 0.00
coef_walk_transit_ASC_sr2_escort-1.02 0.00
coef_walk_transit_ASC_sr3p_escort-185. 0.00
coef_walk_transit_ASC_walk_escort-88.1 0.00
coef_bike_ASC_walk_shopping-23.2 0.00
coef_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork 0.513 0.00
coef_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork 0.665 0.00
coef_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork 0.647 0.00
coef_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.540 0.00
coef_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.539 0.00
coef_joint_auto_ASC_rh_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_joint_auto_ASC_sr2_shopping 2.78 0.00
coef_joint_auto_ASC_sr3p_shopping-19.1 0.00
coef_joint_auto_ASC_walk_shopping-23.5 0.00
coef_joint_bike_ASC_rh_shopping_eatout_othmaint_social_othdiscr-12.3 0.00
coef_joint_bike_ASC_walk_shopping-7.05 0.00
coef_joint_drive_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr 0.513 0.00
coef_joint_drive_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr 0.665 0.00
coef_joint_drive_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr 0.647 0.00
coef_joint_drive_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr 0.540 0.00
coef_joint_drive_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr 0.539 0.00
coef_joint_drive_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr 4.61 0.00
coef_joint_ride_hail_ASC_sr2_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_joint_ride_hail_ASC_sr3p_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_joint_ride_hail_ASC_taxi_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_joint_ride_hail_ASC_tnc_single_shopping_eatout_othmaint_social_othdiscr-4.73 0.00
coef_joint_ride_hail_ASC_walk_shopping_eatout_othmaint_social_othdiscr-7.00 0.00
coef_joint_walk_ASC_rh_shopping_eatout_othmaint_social_othdiscr-3.04 0.00
coef_joint_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr 0.513 0.00
coef_joint_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr 0.665 0.00
coef_joint_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr 0.647 0.00
coef_joint_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr 21.6 0.00
coef_joint_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr 0.924 0.00
coef_joint_walk_transit_ASC_rh_shopping_eatout_othmaint_social_othdiscr 3.13 0.00
coef_joint_walk_transit_ASC_sr2_shopping-21.6 0.00
coef_joint_walk_transit_ASC_sr3p_shopping-25.6 0.00
coef_joint_walk_transit_ASC_walk_shopping-102. 0.00
coef_sov_ASC_walk_shopping-3.79 0.00
coef_sr2_ASC_sr2_shopping 1.75 0.00
coef_sr2_ASC_walk_shopping-3.65 0.00
coef_sr3p_ASC_sr2_shopping 0.336 0.00
coef_sr3p_ASC_sr3p_shopping 1.64 0.00
coef_sr3p_ASC_walk_shopping-3.92 0.00
coef_walk_transit_ASC_commuter_shopping_eatout_othmaint_social_othdiscr_atwork 0.513 0.00
coef_walk_transit_ASC_express_shopping_eatout_othmaint_social_othdiscr_atwork 0.665 0.00
coef_walk_transit_ASC_ferry_shopping_eatout_othmaint_social_othdiscr_atwork 0.647 0.00
coef_walk_transit_ASC_heavyrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.926 0.00
coef_walk_transit_ASC_lightrail_shopping_eatout_othmaint_social_othdiscr_atwork 0.831 0.00
coef_walk_transit_ASC_sr2_shopping-2.12 0.00
coef_walk_transit_ASC_sr3p_shopping-91.1 0.00
coef_walk_transit_ASC_walk_shopping-0.814 0.00
coef_bike_ASC_walk_eatout-175. 0.00
coef_joint_auto_ASC_sr2_eatout_othmaint_social_othdiscr 0.381 0.00
coef_joint_auto_ASC_sr3p_eatout_othmaint_social_othdiscr 0.389 0.00
coef_joint_auto_ASC_walk_eatout_othmaint_social_othdiscr-4.38 0.00
coef_joint_bike_ASC_walk_eatout-15.6 0.00
coef_joint_walk_transit_ASC_sr2_eatout-14.9 0.00
coef_joint_walk_transit_ASC_sr3p_eatout-16.8 0.00
coef_joint_walk_transit_ASC_walk_eatout 1.10 0.00
coef_ride_hail_ASC_sr2_eatout_social_othdiscr-16.9 0.00
coef_ride_hail_ASC_sr3p_eatout_social_othdiscr-11.9 0.00
coef_ride_hail_ASC_taxi_eatout_social_othdiscr-2.56 0.00
coef_ride_hail_ASC_tnc_single_eatout_social_othdiscr 24.0 0.00
coef_ride_hail_ASC_walk_eatout_social_othdiscr-17.7 0.00
coef_sov_ASC_walk_eatout-2.63 0.00
coef_sr2_ASC_sr2_eatout 1.10 0.00
coef_sr2_ASC_walk_eatout-4.55 0.00
coef_sr3p_ASC_sr2_eatout-0.213 0.00
coef_sr3p_ASC_sr3p_eatout 1.47 0.00
coef_sr3p_ASC_walk_eatout-2.51 0.00
coef_walk_transit_ASC_rh_eatout_social_othdiscr-2.66 0.00
coef_walk_transit_ASC_sr2_eatout-2.01 0.00
coef_walk_transit_ASC_sr3p_eatout-2.52 0.00
coef_walk_transit_ASC_walk_eatout 0.166 0.00
coef_bike_ASC_walk_othmaint-0.784 0.00
coef_ivt_othmaint_social-0.0121 0.00
coef_joint_bike_ASC_walk_othmaint-13.5 0.00
coef_joint_walk_transit_ASC_sr2_othmaint-11.3 0.00
coef_joint_walk_transit_ASC_sr3p_othmaint-44.0 0.00
coef_joint_walk_transit_ASC_walk_othmaint-73.6 0.00
coef_sov_ASC_walk_othmaint-4.43 0.00
coef_sr2_ASC_sr2_othmaint 0.935 0.00
coef_sr2_ASC_walk_othmaint-3.14 0.00
coef_sr3p_ASC_sr2_othmaint 0.0421 0.00
coef_sr3p_ASC_sr3p_othmaint 1.13 0.00
coef_sr3p_ASC_walk_othmaint-5.07 0.00
coef_walk_transit_ASC_sr2_othmaint-34.7 0.00
coef_walk_transit_ASC_sr3p_othmaint-29.4 0.00
coef_walk_transit_ASC_walk_othmaint-0.288 0.00
coef_bike_ASC_walk_social-13.2 0.00
coef_joint_bike_ASC_walk_social-26.2 0.00
coef_joint_walk_transit_ASC_sr2_social-20.5 0.00
coef_joint_walk_transit_ASC_sr3p_social-34.7 0.00
coef_joint_walk_transit_ASC_walk_social-2.39 0.00
coef_sov_ASC_walk_social-25.3 0.00
coef_sr2_ASC_sr2_social 0.768 0.00
coef_sr2_ASC_walk_social-2.85 0.00
coef_sr3p_ASC_sr2_social-0.122 0.00
coef_sr3p_ASC_sr3p_social 1.21 0.00
coef_sr3p_ASC_walk_social-3.08 0.00
coef_walk_transit_ASC_sr2_social-2.06 0.00
coef_walk_transit_ASC_sr3p_social-21.6 0.00
coef_walk_transit_ASC_walk_social-2.31 0.00
coef_bike_ASC_walk_othdiscr-1.40 0.00
coef_joint_bike_ASC_walk_othdiscr-14.4 0.00
coef_joint_walk_transit_ASC_sr2_othdiscr-15.0 0.00
coef_joint_walk_transit_ASC_sr3p_othdiscr-16.7 0.00
coef_joint_walk_transit_ASC_walk_othdiscr-25.9 0.00
coef_sov_ASC_walk_othdiscr-4.94 0.00
coef_sr2_ASC_sr2_othdiscr 0.856 0.00
coef_sr2_ASC_walk_othdiscr-2.47 0.00
coef_sr3p_ASC_sr2_othdiscr-0.418 0.00
coef_sr3p_ASC_sr3p_othdiscr 0.845 0.00
coef_sr3p_ASC_walk_othdiscr-5.84 0.00
coef_walk_transit_ASC_sr2_othdiscr-1.23 0.00
coef_walk_transit_ASC_sr3p_othdiscr-1.20 0.00
coef_walk_transit_ASC_walk_othdiscr-0.980 0.00
" + "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -5168,7 +5189,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -5189,7 +5210,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -5211,7 +5232,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -5280,7 +5301,7 @@ " \n", " 309\n", " coef_walk_transit_ASC_walk_eatout\n", - " 0.166429\n", + " 1.418767\n", " F\n", " \n", " \n", @@ -5320,7 +5341,7 @@ "3 coef_nest_AUTO_DRIVEALONE 0.350000 T\n", "4 coef_nest_AUTO_SHAREDRIDE2 0.350000 T\n", ".. ... ... ...\n", - "309 coef_walk_transit_ASC_walk_eatout 0.166429 F\n", + "309 coef_walk_transit_ASC_walk_eatout 1.418767 F\n", "310 walk_express_penalty 10.000000 T\n", "311 adjust_tnc_shared 30.000000 T\n", "312 coef_origin_density_applied_work_univ_school 0.000000 T\n", @@ -5329,7 +5350,7 @@ "[314 rows x 3 columns]" ] }, - "execution_count": 19, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -5346,7 +5367,7 @@ "toc_visible": true }, "kernelspec": { - "display_name": "Python 3", + "display_name": "ESTER", "language": "python", "name": "python3" }, @@ -5360,7 +5381,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.15" }, "toc": { "base_numbering": 1, diff --git a/activitysim/examples/example_estimation/notebooks/est_mode_setup.py b/activitysim/examples/example_estimation/notebooks/est_mode_setup.py new file mode 100644 index 0000000000..af0546cbe2 --- /dev/null +++ b/activitysim/examples/example_estimation/notebooks/est_mode_setup.py @@ -0,0 +1,83 @@ +from __future__ import annotations + +import argparse +import os +import shutil +import sys +import warnings +from pathlib import Path + +# suppress RuntimeWarning from xarray +warnings.filterwarnings( + "ignore", + category=RuntimeWarning, + module="xarray", +) + + +def prepare( + household_sample_size: int = 20_000, subdir: str = "test-estimation-data" +) -> Path: + """Prepare the example for estimation. + + This function prepares the example for estimation by downloading the example data and + setting up the working directory. The current working directory is then set to the + created example directory. + + Parameters + ---------- + household_sample_size : int, optional + The number of households to sample from the synthetic population. The default is 20_000. + subdir : str, optional + The subdirectory to store the example data. The default is "test-estimation-data". + + Returns + ------- + Path + The path to the created example directory. + """ + root_dir = Path(__file__).parent.parent.resolve() + sys.path.insert(0, str(root_dir)) + + try: + from build_full_mtc_example import as_needed + except ImportError: + print( + "Please run this script from the " + "activitysim/examples/example_estimation/notebooks directory." + ) + raise + + as_needed(root_dir / "notebooks" / subdir, household_sample_size) + relative_path = os.path.relpath( + root_dir / "notebooks" / subdir / "activitysim-prototype-mtc-extended" + ) + os.chdir(relative_path) + return Path(relative_path) + + +def backup(filename: str | os.PathLike): + """Create or restore from a backup copy of a file.""" + backup_filename = f"{filename}.bak" + if Path(backup_filename).exists(): + shutil.copy(backup_filename, filename) + else: + shutil.copy(filename, backup_filename) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Prepare the example for estimation.") + parser.add_argument( + "--household_sample_size", + type=int, + default=20_000, + help="The number of households to sample from the synthetic population.", + ) + parser.add_argument( + "--subdir", + type=str, + default="test-estimation-data", + help="The subdirectory to store the example data.", + ) + args = parser.parse_args() + prepare(args.household_sample_size, args.subdir) diff --git a/activitysim/examples/example_estimation/scripts/infer.py b/activitysim/examples/example_estimation/scripts/infer.py index 6b6991992f..94869cffb2 100644 --- a/activitysim/examples/example_estimation/scripts/infer.py +++ b/activitysim/examples/example_estimation/scripts/infer.py @@ -1,6 +1,8 @@ # ActivitySim # See full license in LICENSE.txt. +from __future__ import annotations + import logging import os import sys @@ -165,6 +167,8 @@ def read_alts(): alts = read_alts() tour_types = list(alts.columns.values) + if "tot_tours" in tour_types: + tour_types.remove("tot_tours") # tour_frequency is index in alts table alts["alt_id"] = alts.index @@ -806,7 +810,7 @@ def infer(state: workflow.State, configs_dir, input_dir, output_dir): assert skip_controls or check_controls("joint_tour_participants", "index") # patch_tour_ids - trips = patch_trip_ids(tours, trips) + trips = patch_trip_ids(state, tours, trips) survey_tables["trips"]["table"] = trips # so we can check_controls assert skip_controls or check_controls("trips", "index") @@ -846,18 +850,27 @@ def infer(state: workflow.State, configs_dir, input_dir, output_dir): # python infer.py data args = sys.argv[1:] -assert len(args) == 2, "usage: python infer.py " +assert len(args) == 3, "usage: python infer.py " data_dir = args[0] configs_dir = args[1] +output_dir = args[2] with open(os.path.join(configs_dir, "constants.yaml")) as stream: CONSTANTS = yaml.load(stream, Loader=yaml.SafeLoader) input_dir = os.path.join(data_dir, "survey_data/") -output_dir = input_dir if apply_controls: read_tables(input_dir, control_tables) +state = ( + workflow.State() + .initialize_filesystem( + configs_dir=(configs_dir,), + output_dir=output_dir, + data_dir=(data_dir,), + ) + .load_settings() +) infer(state, configs_dir, input_dir, output_dir) diff --git a/activitysim/examples/example_manifest.yaml b/activitysim/examples/example_manifest.yaml index 769dad925a..c3e8ededa7 100644 --- a/activitysim/examples/example_manifest.yaml +++ b/activitysim/examples/example_manifest.yaml @@ -508,6 +508,7 @@ include: - production_semcog/extensions - production_semcog/data + - production_semcog/data_model - production_semcog/configs - production_semcog/configs_mp - production_semcog/output @@ -618,220 +619,6 @@ data/land_use.csv 36383b4c9dacdd7dd10c84b4479aa9f53ced23e155b6d354c468decc6710c80e -- name: placeholder_sandag_1_zone - description: 90-TAZ (includes univ) 1-zone test example for the SANDAG region - # activitysim create -e placeholder_sandag_1_zone -d test_placeholder_sandag_1_zone - # cd test_placeholder_sandag_1_zone - # activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml - # cd .. - include: - - placeholder_sandag/../prototype_mtc/configs - prototype_mtc - - placeholder_sandag/configs_1_zone - - placeholder_sandag/data_1 - - placeholder_sandag/output_1 - -- name: placeholder_sandag_1_zone_full - description: full 1-zone example for the SANDAG region - # activitysim create -e placeholder_sandag_1_zone_full -d test_placeholder_sandag_1_zone_full - # cd test_placeholder_sandag_1_zone_full - # activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml - # cd .. - include: - - placeholder_sandag/../prototype_mtc/configs - prototype_mtc - - placeholder_sandag/configs_1_zone - # placeholder_sandag/data_1 # load data from activitysim_resources instead - - placeholder_sandag/output_1 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/households.csv - data_1/households.csv - 2b0b19a1a0b00901e80a533fc6418a4dbeb3d0b017d9feadae71324f9145dcec - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/persons.csv - data_1/persons.csv - 7864364ef70ab3f490570768da12984593da81921a0cd3f8e4b0d724ae436f7a - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/land_use.csv - data_1/land_use.csv - 2088fd1375a6a5ee253cc11da5f1b9171a9e0b788896589197ecd41ded35edd0 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/skims1.omx - data_1/skims1.omx - 33cd691c51b205e0c2bd09dba5612cd05862127f3c8ffc83c4fd533e83a0817b - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/skims2.omx - data_1/skims2.omx - e650d70aeb932a1452f636088af599abe6e66dd0843a045130d8e683601b5a82 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/skims3.omx - data_1/skims3.omx - 9940974c5cde572ad88e1e1d3db7ba7e7954084599f65aac1ebe575233cde68d - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/skims4.omx - data_1/skims4.omx - 586cb610b15d698e5ebbb6ba02847c405b5ed6b65c24a01cd812684cf665631c - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/skims5.omx - data_1/skims5.omx - c3584e8c413d63ee38847ece0cc665c969a2152480bd4ca71dfbe9e91b59b2bd - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/skims6.omx - data_1/skims6.omx - e3f7fb1e0b334fc83dc69985dce8b925e3660149c5de5635c7d8464e306074b9 - -- name: placeholder_sandag_2_zone - description: 90-TAZ 609-MAZ (includes univ) 2-zone test example for the SANDAG region - # activitysim create -e placeholder_sandag_2_zone -d test_placeholder_sandag_2_zone - # cd test_placeholder_sandag_2_zone - # activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml - # cd .. - include: - - placeholder_sandag/../placeholder_psrc/configs - placeholder_psrc - - placeholder_sandag/configs_2_zone - - placeholder_sandag/data_2 - - placeholder_sandag/data_3/maz_to_maz_bike.csv - data_2/maz_to_maz_bike.csv - # the original data for data_2 was corrupted, but there's no need to store this file twice in the repo - - placeholder_sandag/output_2 - -- name: placeholder_sandag_2_zone_full - description: full 2-zone example for the SANDAG region - # activitysim create -e placeholder_sandag_2_zone_full -d test_placeholder_sandag_2_zone_full - # cd test_placeholder_sandag_2_zone_full - # activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml - # cd .. - include: - - placeholder_sandag/../placeholder_psrc/configs - placeholder_psrc - - placeholder_sandag/configs_2_zone - # placeholder_sandag/data_2 # load data from activitysim_resources instead - - placeholder_sandag/output_2 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/households.csv - data_2/households.csv - 4afe40dfbdb89f17cd150fd5b32245364d538cdebb91fd323e18c6f570d1a087 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/land_use.csv - data_2/land_use.csv - e914b54b16000af84d2e49e27697898028a7c007a5792812c7274ce33e1dc064 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/maz.csv - data_2/maz.csv - d9d908adcbe1e56fbb6d50665e767c317cdfbeedeae675dda449206f2a7fb3f1 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/maz_to_maz_bike.csv - data_2/maz_to_maz_bike.csv - c68322fff0ff32a7d487b7cd8dd1e205192d2728621c9cc541e8c41722293cbc - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/maz_to_maz_walk.csv - data_2/maz_to_maz_walk.csv - 76c702d8ded8ae9eb7ae978ffa35c1e74ae6264dd2f90d96cdaa42d49c54684a - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/persons.csv - data_2/persons.csv - 7864364ef70ab3f490570768da12984593da81921a0cd3f8e4b0d724ae436f7a - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/taz.csv - data_2/taz.csv - ac9fa2f5adc13e90b1fa5537444f25b9ea389bdfe56e7e9f1ef3be9eb63014ef - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/skims1.omx - data_2/skims1.omx - 4ad4aa7669c095a0dfe94c48bc00f57ff7b07c623f4322d75d4ef5c69bcfabcd - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/skims2.omx - data_2/skims2.omx - fad6033a5ddbd2efbd3ca20b5b6bb98408ad57708d91cf129fabf8d4ec8d8063 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/skims3.omx - data_2/skims3.omx - c7691c95436a6599e7c5cb497eecd4b86a669a3078785ec37f40247f15016e9c - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/skims4.omx - data_2/skims4.omx - 61f907862c4cff5617c9fe36c0b68885277821b1a1cfa1b9290f30542f04cbbe - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/skims5.omx - data_2/skims5.omx - 04f5b2bad494b39eadb3a59e040aa1603edaa7cdc12ba1f457eacc69b0f89f60 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/skims6.omx - data_2/skims6.omx - 77a82afa09ee1f4c48aa7928e96756525d170402ca99da04cdf676e45cb6fbcf - -- name: placeholder_sandag_3_zone - description: 90-TAZ 609-MAZ (includes univ) 3-zone test example for the SANDAG region - # activitysim create -e placeholder_sandag_3_zone -d test_placeholder_sandag_3_zone - # cd test_placeholder_sandag_3_zone - # activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml - # cd .. - include: - - placeholder_sandag/data_3 - - placeholder_sandag/../prototype_mtc/configs - prototype_mtc - - placeholder_sandag/configs_3_zone - - placeholder_sandag/configs_skip_accessibility - - placeholder_sandag/output_3 - subdirs: - configs_dir: - - configs_3_zone - - prototype_mtc/configs - data_dir: data_3 - output_dir: output_3 - -- name: placeholder_sandag_3_zone_full - description: full 3-zone example for the SANDAG region - # activitysim create -e placeholder_sandag_3_zone_full -d test_placeholder_sandag_3_zone_full - # cd test_placeholder_sandag_3_zone_full - # activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml - # cd .. - include: - # placeholder_sandag/data_3 # load data from activitysim_resources instead - - placeholder_sandag/../prototype_mtc/configs - prototype_mtc - - placeholder_sandag/configs_3_zone - - placeholder_sandag/configs_skip_accessibility - - placeholder_sandag/output_3 - - placeholder_sandag/data_3/cached_accessibility.csv.gz - data_3/cached_accessibility.csv.gz - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz_skims1.omx - data_3/taz_skims1.omx - 5b56d0e79ec671e37f8c71f7fedd741d7bf32d2bced866ab1f03f3973fccce8c - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz_skims2.omx - data_3/taz_skims2.omx - fbdd68ba7f8c82914b47da885326da35499293fd9097f5928b5247bbf8f70376 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz_skims3.omx - data_3/taz_skims3.omx - 57e2e72e4e5ab19ecccc240df8223fc6433d315ca710dca975f81f32dc25e92d - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz_skims4.omx - data_3/taz_skims4.omx - f68cf6cf0b5c8e58a19d8ba9ea6cc39abcce0af417f635d6ccffdd28dae50779 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/tap_skims1.omx - data_3/tap_skims1.omx - a26f38efab2f88a5923938b7572e47badac487a54d4819616bb5ccc5c19a6eb0 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/tap_skims2.omx - data_3/tap_skims2.omx - a0aef494023763572674acbe755d665db100c1d18f664b464c514b30503824d9 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/tap_skims3.omx - data_3/tap_skims3.omx - a33659454e215402618a352259398eed59a8e42991fd8890e267e563a0730853 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/tap_skims4.omx - data_3/tap_skims4.omx - f905398e850ed005df5647de46f13eb976ba3c313f2f7aea1f71c369c9004c7f - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/households.csv - data_3/households.csv - e504d391c19367b86a09074bbabeb9149a419a8e07f98cd7e380f98b399c1cd8 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/persons.csv - data_3/persons.csv - 7864364ef70ab3f490570768da12984593da81921a0cd3f8e4b0d724ae436f7a - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/land_use.csv - data_3/land_use.csv - d773c95d08d24962d53f54929080bacb91993c01925350b0d92a32f18b66d790 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/maz.csv - data_3/maz.csv - c8162a6f38541f62ed706529c062bd0c4158bbcfbc1f65d787b506a5ad218dda - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz.csv - data_3/taz.csv - ac9fa2f5adc13e90b1fa5537444f25b9ea389bdfe56e7e9f1ef3be9eb63014ef - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/maz_to_maz_bike.csv - data_3/maz_to_maz_bike.csv - 39199f42334c65f1eadf2c47213ee8a10d83eb0bac4a7447a6fbd165d9065e11 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/maz_to_maz_walk.csv - data_3/maz_to_maz_walk.csv - 8cf6cd05e95ed08a7501229ed8ec515d83fd2904d407ecc350f1867ef2a9b378 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/maz_to_tap_walk.csv - data_3/maz_to_tap_walk.csv - 2d0e4c49f7d94f8d15ee9a5d39d9dc9c9ab10cfe6259a835284053c84cef94d5 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/maz_to_tap_drive.csv - data_3/maz_to_tap_drive.csv - bd4c4ef6a87c0c3db18615f6c2dcf6e863aac62afce48f627ffa142c9c4e9789 - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/tap.csv - data_3/tap.csv - 9b74d18d681a1c61708dd5767d90d7872443a0ef7be189f802c3905592f3c8da - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/tap_lines.csv - data_3/tap_lines.csv - 0e1b2c532e5e85b48e2ac77b2836be7ec0cc7cba79907c6f5fb11d2ba171230a - - name: prototype_sandag_xborder description: SANDAG cross border travel model # activitysim create -e prototype_sandag_xborder -d test_prototype_sandag_xborder diff --git a/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py index 7291c65337..1ce3861681 100644 --- a/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py @@ -149,13 +149,15 @@ tap_df.to_csv(os.path.join(output_data, "tap.csv"), index=False) # create taz_z3 and tap skims -with omx.open_file( - os.path.join(input_data, "skims.omx"), "r" -) as ur_skims, omx.open_file( - os.path.join(output_data, "taz_skims.omx"), "w" -) as output_taz_skims_file, omx.open_file( - os.path.join(output_data, "tap_skims.omx"), "w" -) as output_tap_skims_file: +with ( + omx.open_file(os.path.join(input_data, "skims.omx"), "r") as ur_skims, + omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" + ) as output_taz_skims_file, + omx.open_file( + os.path.join(output_data, "tap_skims.omx"), "w" + ) as output_tap_skims_file, +): for skim_name in ur_skims.list_matrices(): ur_skim = ur_skims[skim_name][:] new_skim = ur_skim[taz_zone_indexes, :][:, taz_zone_indexes] diff --git a/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py index a4c6c46fcb..20c7bccf53 100644 --- a/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py @@ -104,11 +104,10 @@ # ### Create taz skims -with omx.open_file( - os.path.join(input_data, "skims.omx"), "r" -) as skims_file, omx.open_file( - os.path.join(output_data, "taz_skims.omx"), "w" -) as output_skims_file: +with ( + omx.open_file(os.path.join(input_data, "skims.omx"), "r") as skims_file, + omx.open_file(os.path.join(output_data, "taz_skims.omx"), "w") as output_skims_file, +): skims = skims_file.list_matrices() num_zones = skims_file.shape()[0] diff --git a/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py b/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py index 46aa8bf466..3e956301e9 100644 --- a/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py +++ b/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py @@ -2,13 +2,13 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import sys from pathlib import Path import pandas as pd -import pkg_resources import pytest from activitysim.core import test, workflow @@ -16,12 +16,12 @@ def example_path(dirname): resource = os.path.join("examples", "placeholder_multiple_zone", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def mtc_example_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def build_data(): diff --git a/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py index 0a43cce220..54224087d6 100644 --- a/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py @@ -143,13 +143,15 @@ tap_df.to_csv(os.path.join(output_data, "tap.csv"), index=False) # create taz_z3 and tap skims -with omx.open_file( - os.path.join(input_data, "skims.omx"), "r" -) as ur_skims, omx.open_file( - os.path.join(output_data, "taz_skims.omx"), "w" -) as output_taz_skims_file, omx.open_file( - os.path.join(output_data, "tap_skims.omx"), "w" -) as output_tap_skims_file: +with ( + omx.open_file(os.path.join(input_data, "skims.omx"), "r") as ur_skims, + omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" + ) as output_taz_skims_file, + omx.open_file( + os.path.join(output_data, "tap_skims.omx"), "w" + ) as output_tap_skims_file, +): for skim_name in ur_skims.list_matrices(): ur_skim = ur_skims[skim_name][:] new_skim = ur_skim[taz_zone_indexes, :][:, taz_zone_indexes] diff --git a/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py index fbb26e2aaa..a6f5750a0f 100644 --- a/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py @@ -101,11 +101,10 @@ # ### Create taz skims -with omx.open_file( - os.path.join(input_data, "skims.omx"), "r" -) as skims_file, omx.open_file( - os.path.join(output_data, "taz_skims.omx"), "w" -) as output_skims_file: +with ( + omx.open_file(os.path.join(input_data, "skims.omx"), "r") as skims_file, + omx.open_file(os.path.join(output_data, "taz_skims.omx"), "w") as output_skims_file, +): skims = skims_file.list_matrices() num_zones = skims_file.shape()[0] diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv index 8cc5fb59e8..039fa9e66d 100755 --- a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv @@ -33,7 +33,7 @@ util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interact util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) * _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_1_6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 diff --git a/activitysim/examples/placeholder_sandag/test/test_sandag.py b/activitysim/examples/placeholder_sandag/test/test_sandag.py deleted file mode 100644 index cda0d08725..0000000000 --- a/activitysim/examples/placeholder_sandag/test/test_sandag.py +++ /dev/null @@ -1,383 +0,0 @@ -from __future__ import annotations - -# ActivitySim -# See full license in LICENSE.txt. -import os -import shutil -import subprocess -import sys -from pathlib import Path - -import pandas as pd -import pkg_resources -import pytest - -from activitysim.core import configuration, test, workflow - - -def example_path(dirname): - resource = os.path.join("examples", "placeholder_sandag", dirname) - return pkg_resources.resource_filename("activitysim", resource) - - -def mtc_example_path(dirname): - resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) - - -def psrc_example_path(dirname): - resource = os.path.join("examples", "placeholder_psrc", dirname) - return pkg_resources.resource_filename("activitysim", resource) - - -def build_data(): - shutil.copy( - example_path(os.path.join("data_3", "maz_to_maz_bike.csv")), - example_path(os.path.join("data_2", "maz_to_maz_bike.csv")), - ) - - -@pytest.fixture(scope="module") -def data(): - build_data() - - -def run_test(zone, multiprocess=False, sharrow=False, recode=True): - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(zone): - # ## regress tours - if sharrow and os.path.isfile( - test_path(f"regress/final_{zone}_zone_tours_sh.csv") - ): - regress_tours_df = pd.read_csv( - test_path(f"regress/final_{zone}_zone_tours_sh.csv") - ) - else: - regress_tours_df = pd.read_csv( - test_path(f"regress/final_{zone}_zone_tours.csv") - ) - tours_df = pd.read_csv(test_path(f"output_{zone}/final_{zone}_zone_tours.csv")) - tours_df.to_csv( - test_path(f"regress/final_{zone}_zone_tours_last_run.csv"), index=False - ) - print("regress tours") - test.assert_frame_substantively_equal( - tours_df, regress_tours_df, rtol=1e-03, check_dtype=False - ) - - # ## regress trips - if sharrow and os.path.isfile( - test_path(f"regress/final_{zone}_zone_trips_sh.csv") - ): - regress_trips_df = pd.read_csv( - test_path(f"regress/final_{zone}_zone_trips_sh.csv") - ) - else: - regress_trips_df = pd.read_csv( - test_path(f"regress/final_{zone}_zone_trips.csv") - ) - trips_df = pd.read_csv(test_path(f"output_{zone}/final_{zone}_zone_trips.csv")) - trips_df.to_csv( - test_path(f"regress/final_{zone}_zone_trips_last_run.csv"), index=False - ) - print("regress trips") - test.assert_frame_substantively_equal( - trips_df, regress_trips_df, rtol=1e-03, check_dtype=False - ) - - if zone == "2": - # also test accessibility for the 2-zone system - regress_accessibility_df = pd.read_csv( - test_path( - f"regress/final_{zone}_zone_proto_disaggregate_accessibility.csv" - ) - ) - final_accessibility_df = pd.read_csv( - test_path( - f"output_{zone}/final_{zone}_zone_proto_disaggregate_accessibility.csv" - ) - ) - final_accessibility_df = final_accessibility_df[ - [ - c - for c in final_accessibility_df.columns - if not c.startswith("_original_") - ] - ] - test.assert_frame_substantively_equal( - final_accessibility_df, - regress_accessibility_df, - check_dtype=False, - ) - - # run test - file_path = os.path.join(os.path.dirname(__file__), "simulation.py") - - if zone == "2": - base_configs = psrc_example_path("configs") - else: - base_configs = mtc_example_path("configs") - - run_args = [ - "-c", - test_path(f"configs_{zone}_zone"), - "-c", - example_path(f"configs_{zone}_zone"), - "-c", - base_configs, - "-d", - example_path(f"data_{zone}"), - "-o", - test_path(f"output_{zone}"), - ] - - if multiprocess: - run_args = run_args + ["-s", "settings_mp.yaml"] - elif not recode: - run_args = run_args + ["-s", "settings_no_recode.yaml"] - - if sharrow: - run_args = ["-c", test_path(f"configs_{zone}_sharrow")] + run_args - - try: - subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) - except FileNotFoundError: - subprocess.run([sys.executable, file_path] + run_args, check=True) - from tempfile import TemporaryFile - from time import sleep - - with TemporaryFile() as outputstream: - env = os.environ.copy() - pythonpath = env.pop("PYTHONPATH", None) - process = subprocess.Popen( - args=[sys.executable, file_path] + run_args, - shell=True, - stdout=outputstream, - stderr=subprocess.STDOUT, - cwd=os.getcwd(), - env=env, - ) - while process.poll() is None: - where = outputstream.tell() - lines = outputstream.read() - if not lines: - # Adjust the sleep interval to your needs - sleep(0.25) - # make sure pointing to the last place we read - outputstream.seek(where) - else: - # Windows adds an extra carriage return and then chokes on - # it when displaying (or, as it were, not displaying) the - # output. So we give Windows a little helping hand. - print(lines.decode().replace("\r\n", "\n"), end="") - - regress(zone) - - -def test_1_zone(data): - run_test(zone="1", multiprocess=False) - - -def test_1_zone_mp(data): - run_test(zone="1", multiprocess=True) - - -def test_1_zone_sharrow(data): - # Run both single and MP in one test function - # guarantees that compile happens in single - run_test(zone="1", multiprocess=False, sharrow=True) - run_test(zone="1", multiprocess=True, sharrow=True) - - -def test_2_zone(data): - run_test(zone="2", multiprocess=False) - - -def test_2_zone_local_compute(data): - def _test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - import activitysim.abm # register components # noqa: F401 - - state = workflow.State.make_default( - data_dir=example_path("data_2"), - configs_dir=( - _test_path("configs_2_zone"), - example_path("configs_2_zone"), - psrc_example_path("configs"), - ), - output_dir=_test_path("output_2"), - ) - state.run.all(resume_after=None) - # ## regress tours - regress_tours_df = pd.read_csv(_test_path(f"regress/final_2_zone_tours.csv")) - tours_df = pd.read_csv(_test_path(f"output_2/final_2_zone_tours.csv")) - tours_df.to_csv( - _test_path(f"regress/final_2_zone_tours_last_run_localcompute.csv"), index=False - ) - test.assert_frame_substantively_equal( - tours_df, regress_tours_df, rtol=1e-03, check_dtype=False - ) - - # ## regress trips - regress_trips_df = pd.read_csv(_test_path(f"regress/final_2_zone_trips.csv")) - trips_df = pd.read_csv(_test_path(f"output_2/final_2_zone_trips.csv")) - trips_df.to_csv(_test_path(f"regress/final_2_zone_trips_last_run.csv"), index=False) - test.assert_frame_substantively_equal( - trips_df, regress_trips_df, rtol=1e-03, check_dtype=False - ) - - # also test accessibility for the 2-zone system - regress_accessibility_df = pd.read_csv( - _test_path(f"regress/final_2_zone_proto_disaggregate_accessibility.csv") - ) - final_accessibility_df = pd.read_csv( - _test_path(f"output_2/final_2_zone_proto_disaggregate_accessibility.csv") - ) - final_accessibility_df = final_accessibility_df[ - [c for c in final_accessibility_df.columns if not c.startswith("_original_")] - ] - test.assert_frame_substantively_equal( - final_accessibility_df, - regress_accessibility_df, - check_dtype=False, - ) - - -def test_2_zone_norecode(data): - run_test(zone="2", multiprocess=False, recode=False) - - -def test_2_zone_mp(data): - run_test(zone="2", multiprocess=True) - - -def test_2_zone_sharrow(data): - # Run both single and MP in one test function - # guarantees that compile happens in single - run_test(zone="2", multiprocess=False, sharrow=True) - run_test(zone="2", multiprocess=True, sharrow=True) - - -def test_3_zone(data): - run_test(zone="3", multiprocess=False) - - -def test_3_zone_mp(data): - run_test(zone="3", multiprocess=True) - - -def test_3_zone_sharrow(data): - # Run both single and MP in one test function - # guarantees that compile happens in single - run_test(zone="3", multiprocess=False, sharrow=True) - run_test(zone="3", multiprocess=True, sharrow=True) - - -EXPECTED_MODELS_3_ZONE = [ - "initialize_landuse", - "initialize_households", - "compute_accessibility", - "initialize_los", - "initialize_tvpb", - "school_location", - "workplace_location", - "auto_ownership_simulate", - "free_parking", - "cdap_simulate", - "mandatory_tour_frequency", - "mandatory_tour_scheduling", - "joint_tour_frequency", - "joint_tour_composition", - "joint_tour_participation", - "joint_tour_destination", - "joint_tour_scheduling", - "non_mandatory_tour_frequency", - "non_mandatory_tour_destination", - "non_mandatory_tour_scheduling", - "tour_mode_choice_simulate", - "atwork_subtour_frequency", - "atwork_subtour_destination", - "atwork_subtour_scheduling", - "atwork_subtour_mode_choice", - "stop_frequency", - "trip_purpose", - "trip_destination", - "trip_purpose_and_destination", - "trip_scheduling", - "trip_mode_choice", - "write_data_dictionary", - "track_skim_usage", - "write_trip_matrices", - "write_tables", -] - - -@test.run_if_exists("placeholder_sandag_3_zone_reference_pipeline.zip") -def test_3_zone_progressive(): - import activitysim.abm # register components - - state = workflow.create_example( - "placeholder_sandag_3_zone", directory="/tmp/placeholder_sandag_3_zone" - ) - - assert state.settings.models == EXPECTED_MODELS_3_ZONE - assert state.settings.chunk_size == 0 - assert state.settings.sharrow == False - - state.settings.recode_pipeline_columns = True - state.settings.treat_warnings_as_errors = False - state.settings.households_sample_size = 30 - state.settings.use_shadow_pricing = False - state.settings.want_dest_choice_sample_tables = False - state.settings.want_dest_choice_presampling = True - state.settings.cleanup_pipeline_after_run = True - state.settings.output_tables = configuration.OutputTables( - h5_store=False, - action="include", - prefix="final_3_zone_", - sort=True, - tables=["trips", "tours"], - ) - from activitysim.abm.tables.skims import network_los_preload - - state.get(network_los_preload) - state.network_settings.read_skim_cache = False - state.network_settings.write_skim_cache = False - state.network_settings.rebuild_tvpb_cache = False - - for step_name in EXPECTED_MODELS_3_ZONE: - state.run.by_name(step_name) - try: - state.checkpoint.check_against( - Path(__file__).parent.joinpath( - "placeholder_sandag_3_zone_reference_pipeline.zip" - ), - checkpoint_name=step_name, - ) - except Exception: - print(f"> placeholder_sandag_3_zone {step_name}: ERROR") - raise - else: - print(f"> placeholder_sandag_3_zone {step_name}: ok") - - -if __name__ == "__main__": - # call each test explicitly so we get a pass/fail for each - build_data() - run_test(zone="1", multiprocess=False) - run_test(zone="1", multiprocess=True) - run_test(zone="1", multiprocess=False, sharrow=True) - run_test(zone="1", multiprocess=True, sharrow=True) - - run_test(zone="2", multiprocess=False) - run_test(zone="2", multiprocess=True) - run_test(zone="2", multiprocess=False, sharrow=True) - run_test(zone="2", multiprocess=True, sharrow=True) - - run_test(zone="3", multiprocess=False) - run_test(zone="3", multiprocess=True) - run_test(zone="3", multiprocess=False, sharrow=True) - run_test(zone="3", multiprocess=True, sharrow=True) diff --git a/activitysim/examples/production_semcog/data_model/enums.py b/activitysim/examples/production_semcog/data_model/enums.py index 71c4369248..8ae8f9eb4c 100644 --- a/activitysim/examples/production_semcog/data_model/enums.py +++ b/activitysim/examples/production_semcog/data_model/enums.py @@ -3,6 +3,7 @@ Instructions: modify these enumerated variables as needed for your ActivitySim implementation. """ + from enum import IntEnum diff --git a/activitysim/examples/production_semcog/data_model/input_checks.py b/activitysim/examples/production_semcog/data_model/input_checks.py index b9b1f338b1..ce93a86e0c 100644 --- a/activitysim/examples/production_semcog/data_model/input_checks.py +++ b/activitysim/examples/production_semcog/data_model/input_checks.py @@ -3,6 +3,7 @@ Instructions: customize these example values for your own ActivitySim implementation """ + from typing import List, Optional import os, sys, logging diff --git a/activitysim/examples/production_semcog/test/test_semcog.py b/activitysim/examples/production_semcog/test/test_semcog.py index 10651d4453..e247fd6451 100644 --- a/activitysim/examples/production_semcog/test/test_semcog.py +++ b/activitysim/examples/production_semcog/test/test_semcog.py @@ -2,11 +2,11 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import pandas as pd -import pkg_resources from activitysim.core.test._tools import assert_frame_substantively_equal @@ -14,7 +14,7 @@ def run_test_semcog(multiprocess=False): def example_path(dirname): resource = os.path.join("examples", "production_semcog", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/activitysim/examples/prototype_arc/configs/settings.yaml b/activitysim/examples/prototype_arc/configs/settings.yaml index 6ff25b94e0..185f67a103 100644 --- a/activitysim/examples/prototype_arc/configs/settings.yaml +++ b/activitysim/examples/prototype_arc/configs/settings.yaml @@ -98,6 +98,10 @@ input_table_list: # assume enough RAM to not chunk chunk_training_mode: disabled +households_sample_size: 100 + +check_model_settings: False + models: - initialize_landuse - initialize_households @@ -129,14 +133,15 @@ models: - trip_scheduling_choice - trip_departure_choice - trip_mode_choice - - parking_location +# - parking_location - write_data_dictionary - track_skim_usage - write_trip_matrices - write_tables -# resume_after: +#resume_after: trip_purpose_and_destination +num_processes: 2 multiprocess: False fail_fast: True diff --git a/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml index 3d1231f0a9..a0e4f1ee75 100644 --- a/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml +++ b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml @@ -9,12 +9,16 @@ # - start_period # - end_period -SPECIFICATION: trip_scheduling_choice.csv +SPEC: trip_scheduling_choice.csv #COEFFICIENTS: trip_scheduling_choice_coeff.csv #SAMPLE_ALTERNATIVES: trip_departure_sample_patterns.csv -PREPROCESSOR: +compute_settings: + protect_columns: + - schedule_id + +preprocessor: SPEC: trip_scheduling_choice_preprocessor DF: tours TABLES: diff --git a/activitysim/examples/prototype_arc/test/output/.gitignore b/activitysim/examples/prototype_arc/test/output/.gitignore deleted file mode 100644 index bf5bf15e3e..0000000000 --- a/activitysim/examples/prototype_arc/test/output/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -*.csv -*.log -*.prof -*.h5 -*.txt -*.yaml -*.omx diff --git a/activitysim/examples/prototype_arc/test/output/cache/.gitignore b/activitysim/examples/prototype_arc/test/output/cache/.gitignore deleted file mode 100644 index 1d085cacc9..0000000000 --- a/activitysim/examples/prototype_arc/test/output/cache/.gitignore +++ /dev/null @@ -1 +0,0 @@ -** diff --git a/activitysim/examples/prototype_arc/test/output/trace/.gitignore b/activitysim/examples/prototype_arc/test/output/trace/.gitignore deleted file mode 100644 index 8edb806780..0000000000 --- a/activitysim/examples/prototype_arc/test/output/trace/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.csv -*.log -*.txt diff --git a/activitysim/examples/prototype_arc/test/simulation.py b/activitysim/examples/prototype_arc/test/simulation.py old mode 100755 new mode 100644 diff --git a/activitysim/examples/prototype_arc/test/test_arc.py b/activitysim/examples/prototype_arc/test/test_arc.py index 54462ec958..3e637289c5 100644 --- a/activitysim/examples/prototype_arc/test/test_arc.py +++ b/activitysim/examples/prototype_arc/test/test_arc.py @@ -2,13 +2,13 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import sys import pandas as pd import pandas.testing as pdt -import pkg_resources from activitysim.core.test import assert_frame_substantively_equal @@ -16,7 +16,7 @@ def _test_arc(recode=False, sharrow=False): def example_path(dirname): resource = os.path.join("examples", "prototype_arc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/activitysim/examples/prototype_marin/test/test_marin.py b/activitysim/examples/prototype_marin/test/test_marin.py index 4de5028f19..11f5cd88f1 100644 --- a/activitysim/examples/prototype_marin/test/test_marin.py +++ b/activitysim/examples/prototype_marin/test/test_marin.py @@ -2,20 +2,20 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess from pathlib import Path import pandas as pd import pandas.testing as pdt -import pkg_resources from activitysim.core import test, workflow def example_path(dirname): resource = os.path.join("examples", "prototype_marin", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def _test_path(dirname): diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv index 6c735c4237..779109503a 100644 --- a/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv @@ -32,7 +32,7 @@ util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours #,,, util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_1_6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 diff --git a/activitysim/examples/prototype_mtc/test/test_mtc.py b/activitysim/examples/prototype_mtc/test/test_mtc.py index b72ac5c495..06878f4f85 100644 --- a/activitysim/examples/prototype_mtc/test/test_mtc.py +++ b/activitysim/examples/prototype_mtc/test/test_mtc.py @@ -2,6 +2,7 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import sys @@ -9,7 +10,6 @@ import pandas as pd import pandas.testing as pdt -import pkg_resources from activitysim.core import test, workflow @@ -17,7 +17,7 @@ def run_test_mtc(multiprocess=False, chunkless=False, recode=False, sharrow=False): def example_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/activitysim/examples/prototype_mtc_extended/data_model/enums.py b/activitysim/examples/prototype_mtc_extended/data_model/enums.py index 124647e5db..b28960501a 100644 --- a/activitysim/examples/prototype_mtc_extended/data_model/enums.py +++ b/activitysim/examples/prototype_mtc_extended/data_model/enums.py @@ -3,6 +3,7 @@ Instructions: modify these enumerated variables as needed for your ActivitySim implementation. """ + from enum import IntEnum diff --git a/activitysim/examples/prototype_mtc_extended/data_model/input_checks.py b/activitysim/examples/prototype_mtc_extended/data_model/input_checks.py index 1cc63e5836..f87767ab69 100644 --- a/activitysim/examples/prototype_mtc_extended/data_model/input_checks.py +++ b/activitysim/examples/prototype_mtc_extended/data_model/input_checks.py @@ -3,6 +3,7 @@ Instructions: customize these example values for your own ActivitySim implementation """ + from __future__ import annotations import csv diff --git a/activitysim/examples/prototype_mtc_extended/data_model/input_checks_pydantic_dev.py b/activitysim/examples/prototype_mtc_extended/data_model/input_checks_pydantic_dev.py index b171119066..f2c3ddb997 100644 --- a/activitysim/examples/prototype_mtc_extended/data_model/input_checks_pydantic_dev.py +++ b/activitysim/examples/prototype_mtc_extended/data_model/input_checks_pydantic_dev.py @@ -3,6 +3,7 @@ Instructions: customize these example values for your own ActivitySim implementation """ + from typing import List, Optional import os, sys, logging diff --git a/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py b/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py index f718f4745d..ed6e352c48 100644 --- a/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py +++ b/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py @@ -1,11 +1,11 @@ from __future__ import annotations import argparse +import importlib.resources import os import shutil import pandas as pd -import pkg_resources import yaml from activitysim.cli.run import add_run_args, run @@ -35,12 +35,12 @@ def integer_params(params): def base_path(dirname): resource = os.path.join("examples", "placeholder_sandag_2_zone", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def extended_path(dirname): resource = os.path.join("examples", "placeholder_sandag_2_zone_extended", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def run_model(): diff --git a/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py b/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py index f78b7f8b99..ae74051737 100644 --- a/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py +++ b/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py @@ -2,6 +2,7 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import sys @@ -9,7 +10,6 @@ import pandas as pd import pandas.testing as pdt -import pkg_resources import pytest from activitysim.core import configuration, test, workflow @@ -23,11 +23,11 @@ def _test_prototype_mtc_extended( ): def example_path(dirname): resource = os.path.join("examples", "prototype_mtc_extended", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def example_mtc_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling.yaml index 34b5a9a8e2..0411943461 100644 --- a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling.yaml +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling.yaml @@ -1,5 +1,8 @@ -SPEC: tour_scheduling_nonmandatory.csv -COEFFICIENTS: tour_scheduling_nonmandatory_coeffs.csv +# Should not specify both general SPEC and SPEC_SEGMENTS.SPEC +# SPEC: tour_scheduling_nonmandatory.csv + +# Should not specify both COEFFICENTS and SPEC_SEGMENTS +# COEFFICIENTS: tour_scheduling_nonmandatory_coeffs.csv LOGIT_TYPE: MNL diff --git a/activitysim/examples/prototype_mwcog/test/test_mwcog.py b/activitysim/examples/prototype_mwcog/test/test_mwcog.py index 8978d269d0..9bc6cae753 100644 --- a/activitysim/examples/prototype_mwcog/test/test_mwcog.py +++ b/activitysim/examples/prototype_mwcog/test/test_mwcog.py @@ -2,13 +2,13 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import sys import pandas as pd import pandas.testing as pdt -import pkg_resources from activitysim.core import test @@ -16,7 +16,7 @@ def _test_mwcog(sharrow=False): def example_path(dirname): resource = os.path.join("examples", "prototype_mwcog", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/activitysim/examples/prototype_sandag_xborder/configs/estimation.yaml b/activitysim/examples/prototype_sandag_xborder/configs/estimation.yaml index bbe11f7fc8..fc857fbb98 100644 --- a/activitysim/examples/prototype_sandag_xborder/configs/estimation.yaml +++ b/activitysim/examples/prototype_sandag_xborder/configs/estimation.yaml @@ -29,55 +29,7 @@ survey_tables: file_name: trips_survey.csv index_col: trip_id -estimation_table_recipes: - - interaction_sample_simulate: - omnibus_tables: - choosers_combined: - - choices - - override_choices - - choosers - alternatives_combined: - - interaction_sample_alternatives - - interaction_expression_values - omnibus_tables_append_columns: [choosers_combined] - - interaction_simulate: - omnibus_tables: - choosers_combined: - - choices - - override_choices - - choosers - omnibus_tables_append_columns: [choosers_combined] - - simple_simulate: - omnibus_tables: - values_combined: - - choices - - override_choices - - expression_values - - choosers - omnibus_tables_append_columns: [values_combined] - - cdap_simulate: - omnibus_tables: - values_combined: - - choices - - override_choices - - choosers - omnibus_tables_append_columns: [values_combined] - - simple_probabilistic: - omnibus_tables: - values_combined: - - choices - - override_choices - - choosers - - probs - omnibus_tables_append_columns: [values_combined] - - -model_estimation_table_types: +estimation_table_types: tour_scheduling_probabilistic: simple_probabilistic tour_od_choice: interaction_sample_simulate school_location: interaction_sample_simulate diff --git a/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py b/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py index e9d538cde8..608e430763 100644 --- a/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py +++ b/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py @@ -2,6 +2,7 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess import sys @@ -9,7 +10,6 @@ import pandas as pd import pandas.testing as pdt -import pkg_resources from activitysim.core import workflow from activitysim.core.test import run_if_exists @@ -18,7 +18,7 @@ def _test_sandag_xborder(sharrow=False, mp=True): def example_path(dirname): resource = os.path.join("examples", "prototype_sandag_xborder", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/activitysim/workflows/steps/cmd/__init__.py b/activitysim/workflows/steps/cmd/__init__.py index e62b19e851..1463609e30 100644 --- a/activitysim/workflows/steps/cmd/__init__.py +++ b/activitysim/workflows/steps/cmd/__init__.py @@ -4,6 +4,7 @@ environment,variable expansion, and expansion of ~ to a user’s home directory. """ + import logging from .dsl import CmdStep diff --git a/activitysim/workflows/steps/cmd/dsl.py b/activitysim/workflows/steps/cmd/dsl.py index 1d05a7d3b6..7337eab3ca 100644 --- a/activitysim/workflows/steps/cmd/dsl.py +++ b/activitysim/workflows/steps/cmd/dsl.py @@ -1,4 +1,5 @@ """pypyr step yaml definition for commands - domain specific language.""" + import logging import os import shlex diff --git a/activitysim/workflows/steps/contrast/data_inventory.py b/activitysim/workflows/steps/contrast/data_inventory.py index a3ff172a31..70b5f4a104 100644 --- a/activitysim/workflows/steps/contrast/data_inventory.py +++ b/activitysim/workflows/steps/contrast/data_inventory.py @@ -63,7 +63,7 @@ def run_step(context: Context) -> None: 1 ), index=dtypes_table.index, - ).apply(lambda x: "" if x else "\u2B05") + ).apply(lambda x: "" if x else "\u2b05") report << dtypes_table with report: diff --git a/activitysim/workflows/steps/main.py b/activitysim/workflows/steps/main.py index ccefaa825b..9859254d2b 100644 --- a/activitysim/workflows/steps/main.py +++ b/activitysim/workflows/steps/main.py @@ -1,4 +1,5 @@ """Naive custom loader without any error handling.""" + from __future__ import annotations import os diff --git a/activitysim/workflows/steps/progression.py b/activitysim/workflows/steps/progression.py index c0832dc46c..d77513bfa8 100644 --- a/activitysim/workflows/steps/progression.py +++ b/activitysim/workflows/steps/progression.py @@ -96,7 +96,7 @@ def update_progress_overall(description, formatting=""): def reset_progress_step(*args, description="", prefix="", **kwargs): if not os.environ.get("NO_RICH", False): - print(f"\u23F1 {time.strftime('%I:%M:%S %p')} - {description}") + print(f"\u23f1 {time.strftime('%I:%M:%S %p')} - {description}") progress.reset(progress_step, *args, description=prefix + description, **kwargs) else: print("╭" + "─" * (len(description) + 2) + "╮") diff --git a/conda-environments/activitysim-dev-base.yml b/conda-environments/activitysim-dev-base.yml index 74df60783d..e69de29bb2 100644 --- a/conda-environments/activitysim-dev-base.yml +++ b/conda-environments/activitysim-dev-base.yml @@ -1,81 +0,0 @@ -# Environment for Advanced Development -# This is a set of recommended dependencies for ActivitySim developers. -# It includes a variety of tools and packages not necessary for actually -# running models, but useful for writing code, running tests and -# experiments, etc. -# -# This file does not install ActivitySim or Sharrow, you must do that yourself -# (so that you can install a preferred branch or fork) -# -# usage: $ mamba env create --file=activitysim-dev-base.yml -n ASIM-DEV - -channels: -- conda-forge -- nodefaults -dependencies: -- python=3.10 -- pip -- altair -- asv # for benchmarking -- black >= 22.0,<23 -- bump2version # for making a release -- coveralls -- cytoolz = 0.12.* -- dask = 2023.11.* -- descartes -- filelock -- fsspec -- geopandas -- gh -- git -- ipykernel # so this env will appear in jupyter as a selection -- isort -- jupyterlab -- larch = 5.7.* -- matplotlib -- multimethod <2.0 -- myst-parser # allows markdown in sphinx -- nbconvert -- nbformat -- nbmake -- numba = 0.57.* -- numexpr -- numpy = 1.24.* -- numpydoc -- openmatrix = 0.3.* -- orca = 1.8 -- pandas = 2.2.* -- pandera >= 0.15, <0.18.1 -- platformdirs = 3.2.* -- pre-commit -- psutil = 5.9.* -- pyarrow = 11.* -- pycodestyle -- pydantic = 2.6.0 -- pydata-sphinx-theme -- pyinstrument = 4.4 -- pypyr = 5.8.* -- pytables >=3.9 -- pytest = 7.2.* -- pytest-cov -- pytest-regressions -- pyyaml = 6.* -- requests = 2.28.* -- rich = 13.3.* -- ruby # required for benchmarking pre-commit hooks -- ruff -- setuptools_scm -- scikit-learn = 1.2.* -- simwrapper > 1.7 -- snakeviz # for profiling -- sparse -- sphinx = 6.1.* -- sphinx_rtd_theme = 1.2.* -- sphinx-argparse = 0.4.* -- xarray = 2025.01.* -- xmle -- zarr>=2,<3 -- zstandard - -- pip: - - autodoc_pydantic diff --git a/conda-environments/activitysim-dev.yml b/conda-environments/activitysim-dev.yml index 50d67cfc2a..e69de29bb2 100644 --- a/conda-environments/activitysim-dev.yml +++ b/conda-environments/activitysim-dev.yml @@ -1,79 +0,0 @@ -# Environment for development -# This is a set of recommended dependencies for ActivitySim developers. -# It includes a variety of tools and packages not necessary for actually -# running models, but useful for writing code, running tests and -# experiments, etc. -# -# usage: $ mamba env create --file=activitysim-dev.yml -n ASIM-SH -channels: -- conda-forge -- nodefaults -dependencies: -- python=3.10 -- pip -- altair -- asv # for benchmarking -- black >= 22.0,<23 -- bump2version # for making a release -- coveralls -- cytoolz = 0.12.* -- dask = 2023.11.* -- descartes -- filelock -- fsspec -- geopandas -- gh -- git -- ipykernel # so this env will appear in jupyter as a selection -- isort -- jupyterlab -- larch = 5.7.* -- matplotlib -- multimethod <2.0 -- myst-parser # allows markdown in sphinx -- nbconvert -- nbformat -- nbmake -- numba = 0.57.* -- numexpr -- numpy = 1.24.* -- numpydoc -- openmatrix = 0.3.* -- orca = 1.8 -- pandas = 2.2.* -- pandera >= 0.15, <0.18.1 -- platformdirs = 3.2.* -- pre-commit -- psutil = 5.9.* -- pyarrow = 11.* -- pycodestyle -- pydantic = 2.6.* -- pydata-sphinx-theme -- pyinstrument = 4.4 -- pypyr = 5.8.* -- pytables >=3.9 -- pytest = 7.2.* -- pytest-cov -- pytest-regressions -- pyyaml = 6.* -- requests = 2.28.* -- rich = 13.3.* -- ruby # required for benchmarking pre-commit hooks -- ruff -- setuptools_scm -- scikit-learn = 1.2.* -- sharrow >= 2.9.1 -- simwrapper > 1.7 -- snakeviz # for profiling -- sparse -- sphinx = 6.1.* -- sphinx_rtd_theme = 1.2.* -- sphinx-argparse = 0.4.* -- xarray = 2025.01.* -- xmle -- zarr>=2,<3 -- zstandard - -- pip: - - autodoc_pydantic - - -e .. diff --git a/conda-environments/docbuild.yml b/conda-environments/docbuild.yml index 275709c4e3..e69de29bb2 100644 --- a/conda-environments/docbuild.yml +++ b/conda-environments/docbuild.yml @@ -1,62 +0,0 @@ -# Environment for building docs -# -# This conda environment is used to build the documentation. It includes a -# number of dependencies needed for the documentation only, and not to run or -# test ActivitySim itself. Note that ActivitySim itself is *not* installed -# in this environment, you must install it separately after using this recipe, -# which allows you to install the specific version you want. - -name: docbuild -channels: -- conda-forge -dependencies: -- python=3.10 -- pip -- altair -- black >= 22.0,<23 -- bump2version -- coveralls -- cytoolz >= 0.8.1 -- descartes -- geopandas -- gh -- git -- jupyter-book -- jupyterlab -- larch >=5.5.3 -- matplotlib -- multimethod <2.0 -- myst-nb -- myst-parser -- numba >= 0.57 -- numpy >= 1.16.1, <2 -- numpydoc -- openmatrix >= 0.3.4.1 -- pandas = 2.2.* -- pandera >= 0.15, <0.18.1 -- platformdirs -- psutil >= 4.1 -- pyarrow >= 2.0,<19 -- pydantic = 2.6.* -- pypyr >= 5.3 -- pytables >=3.9 -- pytest -- pytest-cov -- pytest-regressions -- pyyaml >= 5.1 -- requests >= 2.7 -- scikit-learn >= 1.1 -- sharrow >= 2.9.1 -- simwrapper > 1.7 -- sparse -- sphinx-argparse -- sphinx-autosummary-accessors -- sphinx-copybutton -- sphinx-remove-toctrees -- sphinx_rtd_theme -- xarray = 2025.01.* -- zarr>=2,<3 - -- pip: - - autodoc_pydantic - - -e .. diff --git a/conda-environments/github-actions-tests.yml b/conda-environments/github-actions-tests.yml index 019bcccda3..e69de29bb2 100644 --- a/conda-environments/github-actions-tests.yml +++ b/conda-environments/github-actions-tests.yml @@ -1,41 +0,0 @@ -# Environment for testing in GitHub Actions -# This environment contains a minimal set of dependencies needed to run most tests. -# It does not install ActivitySim itself (which is done by the test scripts) and -# is not meant for use outside the CI tools. -name: asim-test -channels: -- conda-forge -dependencies: -- pip -- black = 22.12.0 -- coveralls = 3.3.1 -- cytoolz = 0.12.2 -- dask = 2023.11.* -- isort = 5.12.0 -- multimethod <2.0 -- nbmake = 1.4.6 -- numba = 0.57.* -- numpy = 1.24.* -- openmatrix = 0.3.5.0 -- orca = 1.8 -- pandera >= 0.15, <0.18.1 -- pandas = 2.2.* -- platformdirs = 3.2.* -- psutil = 5.9.* -- pyarrow = 11.* -- pydantic = 2.6.* -- pypyr = 5.8.* -- pytables >= 3.9 -- pytest = 7.2.* -- pytest-cov -- pytest-regressions -- pyyaml = 6.* -- requests = 2.28.* -- ruff -- scikit-learn = 1.2.* -- sharrow >= 2.9.1 -- simwrapper > 1.7 -- sparse -- xarray = 2025.01.* -- zarr>=2,<3 -- zstandard diff --git a/docs/Makefile b/docs/Makefile index ba6e4b5159..877005ed39 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -3,15 +3,10 @@ # You can set these variables from the command line. SPHINXOPTS = -SPHINXBUILD = sphinx-build +SPHINXBUILD = uv run --project .. sphinx-build PAPER = BUILDDIR = _build -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter @@ -53,7 +48,7 @@ html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - python add_image_map.py + uv run --project .. add_image_map.py dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @@ -64,7 +59,7 @@ singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - python add_image_map.py + uv run --project .. add_image_map.py pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle diff --git a/docs/_static/theme_overrides.css b/docs/_static/theme_overrides.css index 231ec5701a..772d0e7ebe 100644 --- a/docs/_static/theme_overrides.css +++ b/docs/_static/theme_overrides.css @@ -8,3 +8,7 @@ div.sd-card-header { font-weight: 800; var(--pst-font-family-base); } + +div.sd-card { + margin-bottom: 20px; +} diff --git a/docs/dev-guide/build-docs.md b/docs/dev-guide/build-docs.md index dc8c5d67d3..d59bee572b 100644 --- a/docs/dev-guide/build-docs.md +++ b/docs/dev-guide/build-docs.md @@ -15,21 +15,16 @@ them into html as well. ActivitySim's docstrings are written in ## Building the Documentation Developers who want to test a build of the ActivitySim documentation locally can -do so using `sphinx`. A pre-packaged conda environment is available to simplify this -process. On the command line, starting from the `activitysim` directory that constitutes the -main repository (i.e. you should see subdirectories including `activitysim`, -`conda-environments`, `docs`, and a few others) run these commands: +do so using `sphinx`. The *uv* `dev` environment includes the required dependencies. On the command line, starting from the `activitysim` directory that constitutes the +main repository (i.e. you should see subdirectories including `activitysim`, `docs`, and a few others) run these commands: ```bash -mkdir -p ../.env -mamba env update -p ../.env/DOCBUILD -f conda-environments/docbuild.yml -conda activate ../.env/DOCBUILD cd docs make clean make html ``` -This will build the docs in the `docs/_build/html` directory. They can be viewed +This will build the docs in the `docs/_build/html` directory. They can be viewed in a web browser using the `file:///` protocol, or by double-clicking on the `index.html` file (or any other .html file in that directory). diff --git a/docs/dev-guide/changes.md b/docs/dev-guide/changes.md index e8a94effd4..2cd584b3c4 100644 --- a/docs/dev-guide/changes.md +++ b/docs/dev-guide/changes.md @@ -5,6 +5,118 @@ major new features that may require modifications to existing model configuratio or code to utilize, as well as breaking changes that may cause existing model configurations or code to fail to run correctly. + +## Upcoming Changes + +This section describes changes that are implemented in current development +branch (i.e., the main branch on GitHub), but not yet released in a stable version +of ActivitySim. See below under the various version headings for changes in +released versions. + + +## v1.5.1 + +This release includes a handful of minor updates and fixes, as well as enhancements +to the ActivtySim documentation. Users should generally not expect any breaking +changes relative to v1.5.0, except that when running a simulation there will be a +significant reduction in logging messages displayed on screen and written to the run log. + + +## v1.5 + +This release includes most of the new features and enhancements developed as part +of the Phase 10 work. + +### Preprocessing & Annotation + +We have expanded preprocessing & annotation functionality, which is now standardized +in formatting and available on most model components. Existing model implementations +may need to make minor upgrades to model configuration files to conform with the new +standardized formatting. + +### Estimation Mode + +Estimation mode has been updated to work with Larch v6. This new version of Larch +is modernized and more stable across platforms, and is more consistent with ActivitySim +spec files (as both are now built on Sharrow). The overall workflow for re-estimating +model parameters is very similar to before, but users will need to use Larch v6 instead +of Larch v5. In addition, some new capabilities have been added for modifying model +specifications in Larch (instead of re-running ActivitySim). + +### Using UV for Dependency Management + +Beginning with version 1.5, ActivitySim uses [UV](https://uv.dev/) for dependency +management. UV is a modern dependency management tool that is designed to be +simple to use and easy to understand. See [Installing ActivitySim](Installing-ActivitySim) +for details on how to install ActivitySim using UV. + +### Skim Naming Conflict Resolution + +The SkimDataset structure (required when using sharrow, optional in legacy mode) +requires every skim variable to have a unique name. It also merges OMX variables +based on time period, so that e.g. `BIKETIME__AM` and `BIKETIME__PM`, which would +be 2-d arrays in the OMX file, become just two different parts of a 3-d array +called `BIKETIME` in the SkimDataset. This is problematic when the skims also +contain a 2-d array called `BIKETIME`, as that has no temporal dimension, and it +gets loaded into a 2-d array in the SkimDataset, with the same name as the 3-d array, +and thus one is overwritten and lost. + +ActivitySim now includes a skims input check to identify this overwriting condition, +and raise an error if it is happening, so that the user can correct the condition +via (1) the `omx_ignore_patterns` setting, (2) revising the skim generation process +to not create the overlapping named skims in the file in the first place, +or (3) renaming one or both skims if the users actually wants both skims variables +in the model. The error message generated includes a link to instructions and +discussion of these alternatives. + +### Settings Checker + +A new settings checker has been added to validate model configuration files +before running the model. This tool checks for common configuration errors, +such as missing required settings, incorrect data types, and invalid values. +This can help users identify and fix configuration issues before running +the model, which can save time and effort. In prior versions, configuration +errors would often only be discovered when the model was run, which could +lead to long run times before the error was encountered. + +### Expression Profiling (legacy mode only) + +ActivitySim now includes a new performance profiling feature for expression evaluation +in the ActivitySim framework. The feature allows developers to track and log the +runtime of individual expressions, providing insights into potential bottlenecks +in complex models. Key changes include the integration of a performance timer, +updates to various core functions to support profiling, and new configuration +settings for controlling profiling behavior. +See [Expression Profiling](Expression-Profiling) for details. + +### Telecommute Status Model + +A new telecommute status model component has been added to ActivitySim. This component +models the telecommute status of workers, which can be used to determine +whether a worker telecommutes full-time, part-time, or not at all. A simple +implementation of the telecommute status model can be based on the worker's telecommute +frequency. For example, if a worker telecommutes 4 days a week, then there is +a 80% probability for them to telecommute on the simulation day. The telecommute +status model software can accommodate more complex model forms if needed. An example +telecommute status model specification can be found in +[ActivitySim/sandag-abm3-example#30](https://github.com/ActivitySim/sandag-abm3-example/pull/30). + + +## v1.4 + +### Improved Estimation Mode + +Version 1.4 includes several improvements to the estimation mode, including: + +- The ability to run estimation mode in parallel, which can significantly + speed up the estimation process for large models. +- The ability to modify the model specification and coefficients file(s) for + the estimated submodels without re-running ActivitySim, which allows for more + flexibility in the estimation process. +- Other improvements to the estimation mode workflow, including better error + handling, logging, and model evaluation tools. + + ## v1.3 ### New Canonical Examples diff --git a/docs/dev-guide/components/telecommute_status.md b/docs/dev-guide/components/telecommute_status.md new file mode 100644 index 0000000000..c889f7e32e --- /dev/null +++ b/docs/dev-guide/components/telecommute_status.md @@ -0,0 +1,66 @@ +(component-telecommute_status)= +# Telecommute Status + +```{eval-rst} +.. currentmodule:: activitysim.abm.models.telecommute_status +``` + +ActivitySim telecommute representation consists of two long term submodels - +a person [work_from_home](work_from_home) model and +a person [telecommute_frequency](telecommute_frequency) model. +The work from home model predicts if a worker works exclusively from home, +whereas the telecommute frequency model predicts number of days in a week a worker telecommutes, +if they do not exclusively work from home. +However, neither of them predicts whether a worker telecommutes or not on the simulation day. +This telecommute status model extends the previous two models to predict for all workers whether +they telecommute on the simulation day. + +A simple implementation of the telecommute status model can be based on the worker's telecommute frequency. +For example, if a worker telecommutes 4 days a week, then there is a 80% probability for them +to telecommute on the simulation day. +The telecommute status model software can accommodate more complex model forms if needed. + +There have been discussions about where to place the telecommute status model within the model sequence, +particularly regarding its interation with the Coordinated Daily Activity Pattern (CDAP) model. +Some have proposed expanding the CDAP definition of the "Mandatory" day pattern to include commuting, telecommuting and working from home, +and then applying the telecommute status model to workers with a "Mandatory" day pattern. +While this idea had merit, it would require re-defining and re-estimating CDAP for many regions, which presents practical challenges. + +During Phase 9B development, the Consortium collaboratively reached a consensus on a preferred design for explicitly modeling telecommuting. +It was decided that the existing CDAP definitions would remain unchanged. The new design introduces the ability +to model hybrid workers—those who work both in-home and out-of-home on the simulation day. To support this, +the Consortium recommended adding two new models: a Telecommute Arrangement model and an In-Home Work Activity Duration model. + +As of August 2025, these two models remain at the design stage and have not yet been implemented. Once deployed, +they will supersede the current telecommute status model, which will no longer be needed. In the interim, +the telecommute status model can be used to flag telecommuters in the simulation. + +The main interface to the telecommute status model is the +[telecommute_status](activitysim.abm.models.telecommute_status) function. This +function is registered as an Inject step in the example Pipeline. + +## Structure + +- *Configuration File*: `telecommute_status.yaml` +- *Core Table*: `persons` +- *Result Table*: `is_telecommuting` + + +## Configuration + +```{eval-rst} +.. autopydantic_model:: TelecommuteStatusSettings + :inherited-members: BaseModel, PydanticReadable + :show-inheritance: +``` + +### Examples + +- [Example SANDAG ABM3](https://github.com/ActivitySim/sandag-abm3-example/tree/main/configs/resident/telecommute_status.yaml) + + +## Implementation + +```{eval-rst} +.. autofunction:: telecommute_status +``` diff --git a/docs/dev-guide/install.md b/docs/dev-guide/install.md index 8f4b07bd8e..d4492f0978 100644 --- a/docs/dev-guide/install.md +++ b/docs/dev-guide/install.md @@ -1,73 +1,87 @@ (developer-installation)= # Developer Installation -Installing ActivitySim as a developer is almost as easy as just using it, -but making some tweaks to the processes enables live code development and -testing. - -## Package Manager - -ActivitySim has a lot of dependencies. It's easiest and fastest to install -them using a package manager like conda, or its faster and free sibling -[Mambaforge](https://github.com/conda-forge/miniforge#mambaforge). -Depending on your security settings, you might need to install in a -container like docker, instructions for that are coming soon. - -Note that if you are installing `mamba`, you only should install `mamba` -in the *base* environment. If you install `mamba` itself in other environments, -it will not function correctly. If you've got an existing conda installation -and you want to install mamba into it, you can install mamba into the *base* -environment like this: - -```sh -conda update conda -n base -conda install -n base -c conda-forge mamba +Installing ActivitySim as a developer is as easy as just using it with *uv*. +The easiest wat to make sure you are up-to-date is to run `uv sync --locked`, +which will make sure that all the dependencies are loaded correctly. + +Depending on what you are working on, you may want to check out a branch +other than the default `main`. To do so, you can use a `git switch` command +to any other existing branch name. If you want to start an new +branch, first create it with `git branch cool-new-feature` and then switch +to it with `git switch cool-new-feature`. + +By default, *uv* installs projects in editable mode, such that changes to the +source code are immediately reflected in the environment. + +```{important} +If you add to the ActivitySim dependencies during development or remove, make +sure to use the `uv add` and `uv remove` commands so that the `pyproject.toml` +and `uv.lock` files are updated correctly and your virtual environment is +updated. ``` -While you are at it, if you are a Jupyter user you might want to also install -`nb_conda_kernels` in your base conda environment alongside any other `jupyter` -libraries: +## Cloning from GitHub + +Developers who want to work on ActivitySim should clone the repository from GitHub. +If you have the [GitHub command line tool](https://cli.github.com) installed, you +*could* run this command to clone the consortium's repository: -```sh -mamba install -n base nb_conda_kernels -c conda-forge +```{sh} +gh repo clone ActivitySim/activitysim ``` -This will ensure your development environments are selectable as kernels in -Jupyter Notebook/Lab/Etc. +Usually, you'll actually not want to do this. Instead, **you should work on your +own fork of the repository.** You can create a fork on GitHub using the web interface +or the command line tool's [fork](https://cli.github.com/manual/gh_repo_fork) command. +Then you would clone the repository by referencing your fork: + +```{sh} +gh repo clone MyUsernameOrOrganization/activitysim +``` -## Environment +This way, you can make whatever changes you want in your fork and store them locally +on your computer or push them to GitHub, and they definitely won't step on anyone +else's work. When you're ready to share your awesome new features, you can open a +pull request to do so. -It's convenient to start from a completely clean conda environment -and git repository. Assuming you have `mamba` installed, and you -want to install in a new directory called "workspace" run: +Also, you may notice that the consortium repository has a huge history and includes +a lot of older data files that you probably don't need. To reduce your download time +and disk space usage, you can tell Git that you don't want that whole history. If you +just want to have access to the current code and a couple of years history, you can +cut off the older history using the `shallow-since` option: -```sh -mkdir workspace -cd workspace -mamba env create -p ASIM-ENV --file https://raw.githubusercontent.com/ActivitySim/activitysim/main/conda-environments/activitysim-dev-base.yml -conda activate ./ASIM-ENV -git clone https://github.com/ActivitySim/sharrow.git -python -m pip install -e ./sharrow -git clone https://github.com/ActivitySim/activitysim.git -python -m pip install -e ./activitysim +```{sh} +gh repo clone MyUsernameOrOrganization/activitysim -- --shallow-since="2025-01-01" ``` -Note the above commands will create an environment with all the -necessary dependencies, clone both ActivitySim and sharrow from GitHub, -and `pip install` each of these libraries in editable mode, which -will allow your code changes to be reflected when running ActivitySim -in this environment. +This can reduce the cloning download and disk usage by several gigabytes! By default +you won't see all your branches appear in this more limited clone, just the `main` +branch. -Depending on what you are working on, you may want to check out a branch -other than `develop`. To do so, you can point the `git switch` command -above to any other existing branch name. If you want to start an new -branch, first create it with `git branch cool-new-feature` and then switch -to it with `git switch cool-new-feature`. +### Fetching a Specific Branch -Now your environment should be ready to use. Happy coding! +This is easily solved by downloading individual branches specifically by +name. -```{important} -If you add to the ActivitySim dependencies, make sure to also update -the environments in `conda-environments`, which are used for testing -and development. +```{sh} +# change into the git repo's directory if not already there +cd activitysim + +# Fetch the specific branch named "patch-67" +git fetch origin refs/heads/patch-67:refs/remotes/origin/patch-67 + +# Check out the branch as a local branch to work on +git checkout -b patch-67 origin/patch-67 +``` + +### Fetching All Branches in a Fork + +If you want to work more expansively, you may want to fetch all the branches in +your fork, rather than getting specific branches one at a time. You can change the +repo settings to do so by adding to the Git config file: + +```{sh} +git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" +git fetch --shallow-since="2025-01-01" origin ``` diff --git a/docs/dev-guide/logging.md b/docs/dev-guide/logging.md index f2a5a3db7c..b00451c463 100644 --- a/docs/dev-guide/logging.md +++ b/docs/dev-guide/logging.md @@ -69,3 +69,67 @@ handlers: if_sub_task: WARNING if_not_sub_task: NOTSET ``` + +## Logging levels +Python's built-in `logging` module that includes five levels of logging, which are (in order +of increasing severity): `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL`. One can set the +minimum level to display messages in both the console window as well as the output logfile +within `logging.yaml` in the model settings. For example, if the block of code below were +inside the `logging.yaml` file, than the console window and output activitysim.log file would +print every logging message at the level of `INFO` and above: + +```yaml +loggers: + activitysim: + level: INFO + handlers: [console, logfile] + propogate: false +``` + +However, if a model run were to crash and the user wanted to print all of the `DEBUG` messages +in order to diagnose what was causing the crash, they would need to change the `level` within +the logging settings: + +```yaml +loggers: + activitysim: + level: DEBUG + handlers: [console, logfile] + propogate: false +``` + +The following guidelines demonstrate how each level is used within ActivitySim: + +### Debug (Level 10) +The `DEBUG` message indicates detailed information that would be of interest to a user while +debugging a model. The information reported at this level can include: +- Runtimes of specific steps of model components, such as the time to run each of sampling, + logsum computation, and simulation in destination choice +- Table attributes at various stages of processing, such as the size or columns +- Evaluations of preprocessor or specification expressions +- General repetitive messages that can be used to narrow down exactly where an error is occuring + +### Info (Level 20) +The `INFO` message gives reports general information about how the status of the model run, +particularly where in the model flow the system is at. The information reported at this level +can include: +- Beginning and ending of a model step +- Intermediate stages of a longer step. For example, in trip destination, the trip number and + segment will be reported at this level. + +### Warning (Level 30) +The `WARNING` message notifies the user of a potential issue that they should be aware of, +but doesn't result in the model system failing. The information reported at this level can include: +- Future changes to dependencies +- ActivitySim needing to force certain travel behavior due to such behavior not working + +### Error (Level 40) +The `ERROR` message gives the user information that is causing an error in a model step. The +information reported at this level can include: +- More detailed issues on what could be causing an error message that wouldn't be shown in the + traceback message + +## Critical (Level 50) +The `CRITICAL` message gives the user information that is causing a critical error in a model step. +The information reported at this level can include: +- Reporting to the user on the teardown of a subprocess \ No newline at end of file diff --git a/docs/development.rst b/docs/development.rst index 8ba941f24a..b71373f7c7 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -322,7 +322,7 @@ Generally speaking, there are two types of ActivitySim examples: test examples a examples are :ref:`prototype_mtc`, :ref:`example_estimation`, :ref:`placeholder_multiple_zone`, and :ref:`prototype_marin`. These examples are owned and maintained by the project. * Agency examples - these are agency partner model implementations currently being setup. The current agency examples - are :ref:`prototype_arc`, :ref:`prototype_semcog`, :ref:`placeholder_psrc`, :ref:`placeholder_sandag`, and :ref:`prototype_sandag_xborder`. These examples can be + are :ref:`prototype_arc`, :ref:`prototype_semcog`, :ref:`placeholder_psrc`, and :ref:`prototype_sandag_xborder`. These examples can be configured in ways different from the test examples, include new inputs and expressions, and may include new planned software components for contribution to ActivitySim. These examples are owned by the agency. diff --git a/docs/index.rst b/docs/index.rst index 421d776e78..6641997c83 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -33,6 +33,40 @@ the development and management of the ActivitySim is on the `project site `__, + our one-zone system prototype. This example is originally based on MTC's Travel Model One (TM1), + but has evolved to be a slightly different model. + - The `SANDAG Example `__, + our two-zone system model. Some effort has been made to keep it aligned + with SANDAG's model, but it is not an exact copy of SANDAG's production model. + + .. grid-item-card:: + + :fa:`square-arrow-up-right` |nbsp| |nbsp| Member Agency Models + + ^^^ + + Several consortium member agencies have open-sourced their ActivitySim + implementations. These open models may or may not be complete calibrated + tools. Unless clearly marked, users should not assume that mlinked models are + "official" implementations used for policy analysis; public agencies often + publish in-progress model development to foster collaboration and transparency. + Contact the agencies directly with questions. + + - `Puget Sound Regional Commission `__ (Seattle) + - `Atlanta Regional Commission `__ + - `Metropolitan Council `__ (Minneapolis-St. Paul) + - `Oregon Modeling Statewide Collaborative `__ + .. toctree:: :hidden: diff --git a/docs/users-guide/estimation-mode/asim-est.md b/docs/users-guide/estimation-mode/asim-est.md new file mode 100644 index 0000000000..77ef1e65aa --- /dev/null +++ b/docs/users-guide/estimation-mode/asim-est.md @@ -0,0 +1,34 @@ +# Running ActivitySim in Estimation Mode + +ActivitySim is run in estimation mode to read ActivitySim-format travel survey +files, and apply the ActivitySim submodels to write estimation data bundles (EDBs) +that contains the model utility specifications, coefficients, chooser data, and +alternatives data for each submodel. These EDBs are then used with Larch to +re-estimate the model parameters. + +ActivitySim can be run in estimation mode by including a few extra settings in +the `estimation.yaml` config file. The key setting in this file is the `enabled` +setting, which must be set to `True` in order to run in estimation mode. The +default value for this setting is `False`, so if it is not explicitly set to +`True`, ActivitySim will run in normal simulation mode, and everything else +in the `estimation.yaml` config file will be ignored. These settings are +documented below. After running ActivitySim in estimation mode, the EDBs will be +written to disk, and can be used with Larch to re-estimate the model parameters. + +```{eval-rst} +.. currentmodule:: activitysim.core.estimation +``` + +## Configuration Settings + +```{eval-rst} +.. autopydantic_model:: EstimationConfig + :inherited-members: PydanticReadable + :show-inheritance: +``` + +## Survey Table Settings + +```{eval-rst} +.. autopydantic_model:: SurveyTableConfig +``` diff --git a/docs/users-guide/estimation-mode/index.md b/docs/users-guide/estimation-mode/index.md new file mode 100644 index 0000000000..4593a5a42c --- /dev/null +++ b/docs/users-guide/estimation-mode/index.md @@ -0,0 +1,58 @@ + +# Estimation Mode + +ActivitySim includes the ability to re-estimate submodels using choice model estimation +tools. It is possible to output the data needed for estimation and then use more or less +any parameter estimation tool to find the best-fitting parameters for each model, but +ActivitySim has a built-in integration with the [`larch`](https://larch.driftless.xyz) +package, which is an open source Python package for estimating discrete choice models. + +## Estimation Workflow, Summarized + +The general workflow for estimating models is shown in the following figures and +explained in more detail below. + +![estimation workflow](https://activitysim.github.io/activitysim/develop/_images/estimation_tools.jpg) + +First, the user converts their household travel survey into ActivitySim-format +households, persons, tours, joint tour participants, and trip tables. The +households and persons tables must have the same fields as the synthetic population +input tables since the surveyed households and persons will be run through the same +set of submodels as the simulated households and persons. + +The ActivitySim estimation example [``scripts\infer.py``](https://github.com/ActivitySim/activitysim/blob/main/activitysim/examples/example_estimation/scripts/infer.py) +module reads the ActivitySim-format household travel survey files and checks for +inconsistencies in the input tables versus the model design, and calculates +additional fields such as the household joint tour frequency based on the trips +and joint tour participants table. Survey households and persons observed choices +much match the model design (i.e. a person cannot have more work tours than the model +allows). + +ActivitySim is then run in estimation mode to read the ActivitySim-format +travel survey files, and apply the ActivitySim submodels to write estimation data bundles +(EDBs) that contains the model utility specifications, coefficients, chooser data, +and alternatives data for each submodel. + +The relevant EDBs are read and transformed into the format required by the model +estimation tool (i.e. larch) and then the coefficients are re-estimated. The +``activitysim.estimation.larch`` library is included for integration with larch +and there is a Jupyter Notebook estimation example for most core submodels. +Certain kinds of changes to the model specification are allowed during the estimation +process, as long as the required data fields are present in the EDB. For example, +the user can add new expressions that transform existing data, such as converting +a continuous variable into a categorical variable, a polynomial transform, or a +piecewise linear form. More intensive changes to the model specification, such as +adding data that is not in the EDB, or adding new alternatives, are generally not +possible without re-running the estimation mode to write a new EDB. + +Based on the results of the estimation, the user can then update the model +specification and coefficients file(s) for the estimated submodel. + +```{eval-rst} +.. toctree:: + :maxdepth: 2 + + Running ActivitySim in Estimation Mode + Using Larch to Re-estimate Models + ActivitySim Larch Tool API +``` diff --git a/docs/users-guide/estimation-mode/larch-api.rst b/docs/users-guide/estimation-mode/larch-api.rst new file mode 100644 index 0000000000..94805cda03 --- /dev/null +++ b/docs/users-guide/estimation-mode/larch-api.rst @@ -0,0 +1,50 @@ +============== +Larch Tool API +============== + +.. currentmodule:: activitysim.estimation.larch + + +activitysim.estimation.larch.general +------------------------------------ + +.. automodule:: activitysim.estimation.larch.general + :members: + + +activitysim.estimation.larch.data_maker +--------------------------------------- + +.. automodule:: activitysim.estimation.larch.data_maker + :members: + +activitysim.estimation.larch.simple_simulate +-------------------------------------------- + +.. automodule:: activitysim.estimation.larch.simple_simulate + :members: + +activitysim.estimation.larch.cdap +--------------------------------- + +.. automodule:: activitysim.estimation.larch.cdap + :members: + +activitysim.estimation.larch.location_choice +-------------------------------------------- + +.. automodule:: activitysim.estimation.larch.location_choice + :members: + +.. automodule:: activitysim.estimation.larch.mode_choice + :members: + +.. automodule:: activitysim.estimation.larch.nonmand_tour_freq + :members: + +.. automodule:: activitysim.estimation.larch.scheduling + :members: + +.. automodule:: activitysim.estimation.larch.stop_frequency + :members: +``` diff --git a/docs/users-guide/estimation-mode/larch.md b/docs/users-guide/estimation-mode/larch.md new file mode 100644 index 0000000000..da029b6365 --- /dev/null +++ b/docs/users-guide/estimation-mode/larch.md @@ -0,0 +1,321 @@ +# Using Larch + +ActivitySim component models are mostly built as discrete choice models. The +parameters for these models typically need to be estimated based on observed +survey data. The estimation process is facilitated by the Larch package, which +is a Python package for estimating discrete choice models. Larch is a +general-purpose package that can be used to estimate a wide variety of discrete +choice models, including the multinomial logit and nested logit models that are +commonly used in ActivitySim. This section highlights some of the features of +Larch, particularly as they relate to ActivitySim, as there are a few subtle +differences between the two packages that users should be aware of when +estimating models. + +## Setting up Larch Models + +ActivitySim includes a number of scripts and tools to set up Larch models for +estimation. The `activitysim.estimation.larch` library includes functions to +read the EDBs written by ActivitySim and convert them into Larch models, +including a generic [`component_model`](activitysim.estimation.larch.component_model) +function that can be used to load the data and set up Larch for any standard +ActivitySim component. This function is demonstrated in the [example notebooks] +(#example-notebooks). + +When given a truthy `return_data` argument, the `component_model` function will +return a 2-tuple of the Larch model and the data used to create it. The data as +the second element of this tuple should be treated as a *copy* of the data used +to create the model, and is provided primarily for the user to review and use in +debugging if needed. If it is necessary to modify the data (e.g. to recreate +temporary variables), the user should modify the `data` attribute of the model +itself (i.e. `model.data` if `model` is the first element of the returned +tuple), not the data returned in the second element of the tuple. + +## Model Specification + +By default, the process of estimating parameters for ActivitySim model +components with Larch is based on the existing model specification files. These +are the CSV files that are used to define the utility function for each logit +component. When running ActivitySim, these files are typically found in the +configs directory, but when running in estimation mode, they are written out to +the EDB as well, which is where the `activitysim.estimation.larch` library +functions look for these input files. + +Users are not limited to using the existing model specification files, however. +The Larch tools for model estimation now allow users to modify the model +specification files, and then re-estimate the model, including existing and new +parameters. The revised model specification files must rely on the same data +that has already been written out to the EDB, but the user can add new +expressions to the specification to transform the data, or to create new +variables. This is particularly useful for creating new piecewise linear +transformations, or for creating new categorical variables from continuous +variables. The user can also add new variables to the specification that are not +in the EDB, but this will require re-running ActivitySim in estimation mode to +write a new EDB. Examples for how to re-specify the model specification files +are included in [selected example notebooks](#examples-that-include-re-specification). + +## Maximum Likelihood Estimation + +The approach used to estimate the parameters of a discrete choice model is +maximum likelihood estimation (MLE). The goal of MLE is to find the set of +parameters that maximize the likelihood of observing the choice data that we +have collected. + +Finding the maximum likelihood estimates of the parameters is a non-linear +optimization problem. To solve this problem, Larch primarily relies on the +widely-used `scipy.optimize` package, which provides a number of +[optimization algorithms](https://docs.scipy.org/doc/scipy/reference/optimize.html#local-multivariate-optimization) +that can be used to find the maximum likelihood estimates. Different algorithms +have different strengths and weaknesses, and the choice of algorithm can have a +significant impact on the speed and accuracy of the estimation process. By +default, when no constraints or bounds are present, Larch uses an +implementation of the [BHHH algorithm](https://en.wikipedia.org/wiki/Berndt–Hall–Hall–Hausman_algorithm), +which is not included in scipy but is usually efficient for simple, well +specified choice models without any constraints. When constraints or bounds are +present, by default Larch uses the `scipy.optimize.minimize` function with the +`SLSQP` algorithm. The `larch.Model.estimate` method allows the user to specify +the optimization algorithm to use via the `method` argument, which can be set to +'BHHH', 'SLSQP', or any other algorithm supported by `scipy.optimize.minimize`. +If you are estimating a model and find the optimization is not converging as +fast as expected (or at all), you may want to try a different optimization +algorithm. + +## Model Evaluation + +The `larch.Model` class includes a number of methods for evaluating the +quality of each estimated model. These tools are explained in +[detail](https://larch.driftless.xyz/v6.0/user-guide/analysis.html) in the +Larch documentation. + +A [simple aggregate analysis](https://larch.driftless.xyz/v6.0/user-guide/analysis.html#choice-and-availability-summary) +of a Larch model data’s choice and availability statistics is available. + +Larch also includes methods to +[analyze model predictions](https://larch.driftless.xyz/v6.0/user-guide/analysis.html#analyze-predictions) +across various dimensions. The `analyze_predictions_co` method can be used to +examine how well the model predicts choices against any available (or +computable) attribute of the chooser. In addition, there are tools to evaluate +[demand elasticity](https://larch.driftless.xyz/v6.0/user-guide/analysis.html#elasticity) with +respect to changes in underlying data. + +## Model Overspecification + +When using ActivitySim for simulation, there are generally few limitations or +requirements on the uniqueness of data elements. For example, it may end up +being confusing for a user, but there is nothing fundamentally wrong with having +two different variables in the model specification that both represent "income" +but have different scales, or with having alternative-specific constants for all +the alternatives. In model estimation, however, this can lead to problems. +Having two data elements that are perfectly correlated (e.g. two different +variables that both represent "income") or having a full set of +alternative-specific values for all the alternatives can lead to numerical +problems in the estimation process, as the log likelihood function will have +flat areas and will not have a unique maximum. This is called "model +overspecification". In Larch, the user is warned if an estimated model appears +to be overspecified, see the Larch documentation +[for details](https://larch.driftless.xyz/v6.0/user-guide/choice-models.html#overspecification). + +## Recreating Temporary Variables + +When writing out estimation data bundles, ActivitySim may omit certain temporary +variables included in a model spec. For example, in the example workplace +location choice model, the spec creates a temporary variable +["_DIST"](https://github.com/ActivitySim/activitysim-prototype-mtc/blob/7da9d6d6deca670cc4701fea749a270ab6fe77aa/configs/workplace_location.csv#L2) +which is then reused in several subsequent expressions. When the model's +estimation data bundle is written out, the "_DIST" variable may not be +included[^1]. This is not a problem when simply re-estimating the parameters of +the current model specification, as all the piecewise linear transformations +that use "_DIST" are included. However, if the user wanted to change those +piecewise linear transformations (e.g. by moving the breakpoints), the absence +of the "_DIST" value will be relevant. + +[^1]: Future versions of ActivitySim may include these values in the EDB output. + +If the missing temporary value can be reconstructed from the data that *is* +included in the EDB, it can be added back into the model's data. For example, +here we reconstitute the total distance by summing up over the piecewise +component parts: + +```{python} +model.data["_DIST"] = ( + model.data.util_dist_0_1 + + model.data.util_dist_1_2 + + model.data.util_dist_2_5 + + model.data.util_dist_5_15 + + model.data.util_dist_15_up +) +``` + +Note in this expression, we are modifying `model.data`, i.e. the data attached +to the model. If you have other raw data available in your estimation notebook, +e.g., from running `model, data = component_model(..., return_data=True)`, it is +not sufficient to manipulate `data` itself; you must manipulate `model.data` or +otherwise re-attach any data changes to the model, or else the changes will not +show up in estimation. + +## Expressing Alternative Availability + +In ActivitySim, the unavailability of alternatives is typically expressed in the +utility function given in the model specification, by including an indicator variable +for unavailable alternatives, which is then attached to a large negative coefficient. +This creates a large negative utility for the unavailable alternative, which will +render it effectively unavailable in the choice model. If *all* the alternatives +are made unavailable in this manner, this can result in a condition where no +alternative can be chosen, and ActivitySim will raise an error. + +When estimating models in Larch for use with ActivitySim, it is totally acceptable and +appropriate to use this approach to express alternative availability, +by embedding it in the utility function. This will greatly simplify the process +of subsequently transferring the resulting model specification and parameters +back to the ActivitySim model. However, it is important to note that this +approach is not the only way to express alternative availability in Larch. + +Larch includes a system to define the availability of alternatives explicitly as a +[separate array of values](https://larch.driftless.xyz/dev/user-guide/choice-models.html#availability), +which is not included in the utility function. This is +more robust in estimation, as the Larch computational engine can (and will) +automatically shift the utility values to avoid numerical underflow or overflow +issues that can arise when some choices are very unlikely but not strictly unavailable. +When using the ActivitySim style of expressing alternative availability, the onus +is entirely on the user to ensure that the utility values are not so large or small +that they cause numerical problems. If this is not checked, it is possible that +the model will appear to be estimating correctly in Larch, but the resulting model +will underflow in ActivitySim, resulting in an error when the model is run. + +The scripts that build Larch models from estimation data bundles +(`activitysim.estimation.larch`) will attempt to identify unavailability flags +in the utility specifications, and when such flags are found it will automatically +convert them to the Larch availability array format. However, since specification +files can be complex, and the unavailability flags can be expressed in many different +ways, it is possible that the automatic detection will not always work as expected. +It is a good idea to check the +[choice and availability summary](https://larch.driftless.xyz/dev/user-guide/analysis.html#choice-and-availability-summary) +on the Larch model to confirm that the availability of alternatives is being +processes as expected. + +## Components that have Related Models + +Within ActivitySim, it is possible for multiple parts of model components +to share a common set of coefficients. It is even possible for completely +separate components to do so. For example, in the MTC example model, +the joint tour destination choice model and the non-mandatory tour destination +choice model share a common set of coefficients written in a single file. +To re-estimate these coefficients, the user must simultaneously work with all +the estimation survey data from both models. + +In Larch, the case of two models sharing coefficients is handled by creating two separate +`Model` objects, one for each model, and then using the `ModelGroup` object to link them +together. The `ModelGroup` object allows the user to specify a set of common parameters +for two or more models, and then estimate them together. In the case of re-estimating +the joint tour destination choice model and the non-mandatory tour destination +choice model, it may be that both models have a similar (or even identical) +utility structure. In other cases, the linked models may have different utility +structures, which share a subset of parameters, but also may have other parameters +that are unique to each model. In either case, when using the `ModelGroup` object, +parameters are identified as being linked across models by having a common name. + +There are also components in ActivitySim where a single component can embed multiple +discrete choice models which share details, but each sub-model can have a different +utility structure or different sets of parameters. For example, the `tour_mode_choice` +component has a coefficient template file, which allows the model developer to +specify a different set of coefficients for each tour purpose, which are otherwise +processed using a common utility function. This is implemented in Larch with the +`ModelGroup` object, where each purpose is represented as a separate `Model` object, +and the `ModelGroup` object is used to link them together. This logic is further +extended by including the at-work subtour mode choice component, which allows for +the joint estimation of the tour mode choice model and the at-work subtour mode +choice model, which very reasonably share numerous parameters, but also have a few +differences. Similarly, the stop frequency and CDAP models are implemented for +Larch estimation as `ModelGroup` objects, segmented on tour purpose and household +size, respectively. + +When estimating a `ModelGroup` object, process for estimating the likelihood +maximizing parameters is the same as for a single model: the log likelihood is computed +for each observation (i.e. chooser) in the data set according to the parameters, model, +and data for that chooser, and the overall log likelihood is the sum of all the +chooser log likelihoods. By using this approach, the rest of the estimation process is +the same as for a single model, including finding parameter estimates, the standard +error of those estimates, and any statistical tests or interpretations that are +desired. + +## Components with Size Terms + +Location choice models in ActivitySim (and in discrete choice modeling +in general) usually include a "size" term. The size term is a measure +of the quantity of the alternative, which in location choice models is +typically a geographic area that contains multiple distinct alternatives. +For example, in a workplace location choice model, the size term might +be the number of jobs in the zone. In practice, the size term is a statistical +approximation of the number of opportunities available in the zone, and +can be composed of multiple components, such as the number of employers, the +number of households, and/or the number of retail establishments. + +The size term is included in the utility function of the model, but it is +expressed differently from other qualitative measures. The typical model +specification for a location choice model will include a utility function +given in a spec file, which will represent the quality of the alternative(s) +that are being considered. Put another way, the "regular" utility function +is a measure of the quality of the alternative, while the size term is a +measure of the quantity of the alternative. + +In ActivitySim, size terms appear not in the utility spec files, but instead +are expressed in a separate "size term" spec file, typically named +"destination_choice_size_terms.csv". This one file contains all the size +terms for all the location choice models. + +When using Larch for model estimation, size terms can be estimated alongside the +other parameters. The `update_size_spec` function in the `activitysim.estimation.larch` library +allows the user to update the size term specification for a model. This function +takes the existing size term specification and updates the appropriate rows +that correspond to the model being re-estimated. The resulting updated size +term output file will also include the (unmodified) size term specification +for all other size-based models. When copying the revised size term specification +to the model configuration, the user should be careful that re-estimation updates +from multiple models are not inadvertently overwriting each other. + +As an alternative, users can choose to *not* re-estimate the size terms, by +providing exogenous size terms in the model specification, and instructing Larch +not to re-estimate these parameters. This is done via the `Model.lock_value` +command, which will fix any given named parameter to a specific value. This command +takes two arguments: the name of the parameter to be fixed, and the value to +fix it to. The `lock_value` command can be used to fix the size term parameters +to the values in the size term specification file, and then the model will be +estimated without re-estimating the size terms. If no re-estimation is desired, +users can also safely ignore the `update_size_spec` function. + +## Example Notebooks + +ActivitySim includes a collection of Jupyter notebooks with interactive +re-estimation examples for many core submodels, which can be found in the GitHub +repository under the [`activitysim/examples/example_estimation/notebooks`](https://github.com/ActivitySim/activitysim/tree/main/activitysim/examples/example_estimation/notebooks) +directory. Most of these notebooks demonstrate the process of re-estimating +model parameters, without changing the model specification, i.e. finding updated +values for coefficients without changing the mathematical form of a model's +utility function. + +### Examples that include Re-Specification + +A selection of these notebooks have also been updated to demonstrate the process +of estimating model parameters and also *changing the model specification*. +These notebooks generally include instructions and a demonstration of how to +modify the model specification, and then re-estimate the model parameters, as +well as how to compare the results of the original and modified models +side-by-side, which can be useful for understanding the impact of the changes +made, and conducting statistical tests to determine if the changes made are +statistically significant. + +The following notebooks include examples of modifying the model specification: + +- [`03_work_location.ipynb`](https://github.com/ActivitySim/activitysim/tree/main/activitysim/examples/example_estimation/notebooks/03_work_location.ipynb): + This notebook includes a demonstration of modification to the SPEC file for a + destination choice model, using the "interact-sample-simulate" type model. +- [`04_auto_ownership.ipynb`](https://github.com/ActivitySim/activitysim/tree/main/activitysim/examples/example_estimation/notebooks/04_auto_ownership.ipynb): + This notebook includes a demonstration of modification to the SPEC file for the + auto ownership model. It shows an example of an edit in the utility function + for a "simple simulate" type model. +- [`06_cdap.ipynb`](https://github.com/ActivitySim/activitysim/tree/main/activitysim/examples/example_estimation/notebooks/06_cdap.ipynb): + This notebook includes a demonstration of modification to the SPEC file for the + CDAP model. This model has a complex structure that is unique among the + ActivitySim component models. +- [`17_tour_mode_choice.ipynb`](https://github.com/ActivitySim/activitysim/tree/main/activitysim/examples/example_estimation/notebooks/17_tour_mode_choice.ipynb): + This notebook includes a demonstration of modification to the spec, coefficients, + and coefficients template file for the tour mode choice model. diff --git a/docs/users-guide/example_models.rst b/docs/users-guide/example_models.rst index fbb727f623..a671302d32 100644 --- a/docs/users-guide/example_models.rst +++ b/docs/users-guide/example_models.rst @@ -2985,25 +2985,24 @@ Running the model To run the example, do the following: -* Activate the correct conda environment if needed * View the list of available examples :: - activitysim create --list + uv run activitysim create --list * Create a local copy of an example folder :: - activitysim create --example prototype_mtc --destination my_test_example + uv run activitysim create --example prototype_mtc --destination my_test_example * Run the example :: cd my_test_example - activitysim run -c configs -d data -o output + uv run activitysim run -c configs -d data -o output * ActivitySim will log progress and write outputs to the output folder. @@ -3019,7 +3018,7 @@ The example should run in a few minutes since it runs a small sample of househol :: - python simulation.py + uv run simulation.py .. _multiprocess_example : @@ -3032,7 +3031,7 @@ include the multiprocessing configuration settings via settings file inheritance :: - activitysim run -c configs_mp -c configs -d data -o output + uv run activitysim run -c configs_mp -c configs -d data -o output The multiprocessing example also writes outputs to the output folder. diff --git a/docs/users-guide/index.rst b/docs/users-guide/index.rst index 35f60622fb..d464a6cd0d 100644 --- a/docs/users-guide/index.rst +++ b/docs/users-guide/index.rst @@ -44,6 +44,7 @@ Contents visualization example_models example_performance + estimation-mode/index .. toctree:: :maxdepth: 1 other_examples diff --git a/docs/users-guide/model_anatomy.rst b/docs/users-guide/model_anatomy.rst index 461991a2e4..a1e0cc2753 100644 --- a/docs/users-guide/model_anatomy.rst +++ b/docs/users-guide/model_anatomy.rst @@ -21,21 +21,21 @@ file and the ``configs\network_los.yaml`` file. The following tables are currently implemented: - * households - household attributes for each household being simulated. Index: ``household_id`` (see ``activitysim.abm.tables.households.py``) - * landuse - zonal land use (such as population and employment) attributes. Index: ``zone_id`` (see ``activitysim.abm.tables.landuse.py``) - * persons - person attributes for each person being simulated. Index: ``person_id`` (see ``activitysim.abm.tables.persons.py``) - * time windows - manages person time windows throughout the simulation. See :ref:`time_windows`. Index: ``person_id`` (see the person_windows table create decorator in ``activitysim.abm.tables.time_windows.py``) - * tours - tour attributes for each tour (mandatory, non-mandatory, joint, and atwork-subtour) being simulated. Index: ``tour_id`` (see ``activitysim.abm.models.util.tour_frequency.py``) - * trips - trip attributes for each trip being simulated. Index: ``trip_id`` (see ``activitysim.abm.models.stop_frequency.py``) +* households - household attributes for each household being simulated. Index: ``household_id`` (see ``activitysim.abm.tables.households.py``) +* landuse - zonal land use (such as population and employment) attributes. Index: ``zone_id`` (see ``activitysim.abm.tables.landuse.py``) +* persons - person attributes for each person being simulated. Index: ``person_id`` (see ``activitysim.abm.tables.persons.py``) +* time windows - manages person time windows throughout the simulation. See :ref:`time_windows`. Index: ``person_id`` (see the person_windows table create decorator in ``activitysim.abm.tables.time_windows.py``) +* tours - tour attributes for each tour (mandatory, non-mandatory, joint, and atwork-subtour) being simulated. Index: ``tour_id`` (see ``activitysim.abm.models.util.tour_frequency.py``) +* trips - trip attributes for each trip being simulated. Index: ``trip_id`` (see ``activitysim.abm.models.stop_frequency.py``) A few additional tables are also used, which are not really tables, but classes: - * input store - reads input data tables from the input data store - * constants - various constants used throughout the model system, such as person type codes - * shadow pricing - shadow price calculator and associated utility methods, see :ref:`shadow_pricing` - * size terms - created by reading the ``destination_choice_size_terms.csv`` input file. Index - ``segment`` (see ``activitysim.abm.tables.size_terms.py``) - * skims - each model runs requires skims, but how the skims are defined can vary significantly depending on the ActivitySim implementation. The skims class defines Inject injectables to access the skim matrices. The skims class reads the skims from the omx_file on disk. - * table dictionary - stores which tables should be registered as random number generator channels for restartability of the pipeline +* input store - reads input data tables from the input data store +* constants - various constants used throughout the model system, such as person type codes +* shadow pricing - shadow price calculator and associated utility methods, see :ref:`shadow_pricing` +* size terms - created by reading the ``destination_choice_size_terms.csv`` input file. Index - ``segment`` (see ``activitysim.abm.tables.size_terms.py``) +* skims - each model runs requires skims, but how the skims are defined can vary significantly depending on the ActivitySim implementation. The skims class defines Inject injectables to access the skim matrices. The skims class reads the skims from the omx_file on disk. +* table dictionary - stores which tables should be registered as random number generator channels for restartability of the pipeline @@ -54,10 +54,10 @@ system for non-motorized travel, and optionally a transit access points (TAPs) z The three versions of multiple zone systems are one-zone, two-zone, and three-zone. - * **One-zone**: This version is based on TM1 and supports only TAZs. All origins and +* **One-zone**: This version is based on TM1 and supports only TAZs. All origins and destinations are represented at the TAZ level, and all skims including auto, transit, and non-motorized times and costs are also represented at the TAZ level. - * **Two-zone**: This version is similar to many DaySim models. It uses microzones (MAZs) +* **Two-zone**: This version is similar to many DaySim models. It uses microzones (MAZs) for origins and destinations, and TAZs for specification of auto and transit times and costs. Impedance for walk or bike all-the-way from the origin to the destination can be specified at the MAZ level for close together origins and destinations, and at @@ -65,7 +65,7 @@ The three versions of multiple zone systems are one-zone, two-zone, and three-zo walk access and egress times with times specified in the MAZ file by transit mode. Careful pre-calculation of the assumed transit walk access and egress time by MAZ and transit mode is required depending on the network scenario. - * **Three-zone**: This version is based on the SANDAG generation of CT-RAMP models. +* **Three-zone**: This version is based on the SANDAG generation of CT-RAMP models. Origins and destinations are represented at the MAZ level. Impedance for walk or bike all-the-way from the origin to the destination can be specified at the MAZ level for close together origins and destinations, and at the TAZ level for further @@ -84,8 +84,15 @@ The three versions of multiple zone systems are one-zone, two-zone, and three-zo combinations of nearby boarding and alighting TAPs for each origin destination MAZ pair. -Regions that have an interest in more precise transit forecasts may wish to adopt the -three-zone approach, while other regions may adopt the one or two-zone approach. The +.. caution:: + The ActivitySim consortium is moving away from the three-zone approach, in favor of + to the one- or two-zone approaches. The code for the three-zone approach remains + available for users who have already implemented it, but it is recommended that + users consider the one- or two-zone approaches for new implementations. + The three-zone system may be formally deprecated and removed in the future. + +Regions that have an interest in more precise transit and non-motorized forecasts +may wish to adopt the two-zone approach, while other regions may adopt the one or two-zone approach. The microzone version requires coding households and land use at the microzone level. Typically an all-streets network is used for representation of non-motorized impedances. This requires a routable all-streets network, with centroids and connectors for @@ -103,23 +110,88 @@ transit modeling. initial development, these examples were insufficient for validation and performance testing of the new software. As a result, the :ref:`prototype_marin` example was created. -Example simple test configurations and inputs for two and three-zone system models are described below. + +.. _omx_skims : + +Skims +~~~~~ + +The basic level-of-service data that represents the transportation system is +made available to ActivitySim via one or more sets of "skims". Skims are +essentially matrices of travel times, costs, and other level of service attributes, +calculated between various zones in the system. This skim data is made available +to ActivitySim using files in the`openmatrix `__ +(OMX) format. All of the skim data can be provided in a single OMX file, or +multiple OMX files can be used (this is typical for larger models, to keep file +sizes manageable). If multiple files are used, the content of those files is +simply concatenated together into a single notional bucket of skim data when +the model is run. Within that bucket, each skim variable is identified by a unique name. +For skim variables that vary across model time periods, the time period is +appended to the skim name, separated by a double underscore (e.g. ``BUS_IVT__AM``). + +.. caution:: + When using "legacy" mode for ActivitySim, it is possible (but not recommended) + to have a skim variable that has both a time period agnostic value as well as + a set of time period dependent values, e.g. "WALK_TIME" and "WALK_TIME__AM". + If you have conflicting names like this, a warning message will be issued, which + will look like this in an ActivitySim log file: + + .. code-block:: text + + WARNING: activitysim/core/skim_dict_factory.py:212: + UserWarning: some skims have both time-dependent and time-agnostic versions: + - BIKE_LOGSUM + - BIKE_TIME + + This is a warning, not an error, and the model will run if not using sharrow. + However, if "sharrow" mode is activated, this will result in an error once the + skims are actually loaded, unless instructions are included in the settings file + to resolve the conflict. The error message will look like this: + + .. code-block:: text + + ERROR: skims ['BIKE_TIME'] are present in both time-dependent and time-agnostic formats. + Please add ignore rules to the omx_ignore_patterns setting to resolve this issue. + To ignore the time dependent skims, add the following to your settings file: + + omx_ignore_patterns: + - '^BIKE_TIME__.+' + + To ignore the time agnostic skims, add the following to your settings file: + + omx_ignore_patterns: + - '^BIKE_TIME$' + + You can also do some variation or combination of the two, as long as you resolve + the conflict(s). In addition, note that minor edits to model spec files may be + needed to accommodate these changes in how skim data is represented (e.g. changing + `odt_skims` to `od_skims`, or similar modifications wherever the offending variable + names are used). Alternatively, you can modify the skim data in the source files to + remove the naming conflicts, which is typically done upstream of ActivitySim in + whatever tool you are using to create the skims in the first place. + + It should be relatively simple to resolve the conflict by following the instructions + in the error message. The cleaner and more reliable solution is to ensure each skim + variable has a unique name, e.g. by changing the name on the time period agnostic + value, so that instead of "BIKE_TIME" it is "BIKE_TIME_BASE". This may also require + minor edits to the model spec files to accommodate the new skim name. + Examples ~~~~~~~~ +Example simple test configurations and inputs for two and three-zone system models are described below. To run the two zone and three zone system examples, do the following: -* Activate the correct conda environment if needed * Create a local copy of the example :: # simple two zone example - activitysim create -e placeholder_2_zone -d test_placeholder_2_zone + uv run activitysim create -e placeholder_2_zone -d test_placeholder_2_zone # simple three zone example - activitysim create -e placeholder_3_zone -d test_placeholder_3_zone + uv run activitysim create -e placeholder_3_zone -d test_placeholder_3_zone * Change to the example directory @@ -128,11 +200,11 @@ To run the two zone and three zone system examples, do the following: :: # simple two zone example - activitysim run -c configs_2_zone -c configs -d data_2 -o output_2 + uv run activitysim run -c configs_2_zone -c configs -d data_2 -o output_2 # simple three zone example, single process and multiprocess (and makes use of settings file inheritance for running) - activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_static.yaml - activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_mp.yaml + uv run activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_static.yaml + uv run activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_mp.yaml Settings ~~~~~~~~ @@ -421,7 +493,7 @@ alternatives, coefficients, constants and other settings for each model. For mor Outputs ------- -The key output of ActivitySIm is the HDF5 data pipeline file ``output\pipeline.h5``. This datastore by default contains +The key output of ActivitySim is the HDF5 data pipeline file ``output\pipeline.h5``. This datastore by default contains a copy of each data table after each model step in which the table was modified. The exact fields for each set of outputs will be different for various implementations of ActivitySim. diff --git a/docs/users-guide/model_dev.rst b/docs/users-guide/model_dev.rst index b9fbc8572f..dd63911c9d 100644 --- a/docs/users-guide/model_dev.rst +++ b/docs/users-guide/model_dev.rst @@ -11,30 +11,54 @@ Input Data Preparation Estimation ---------- -ActivitySim includes the ability to re-estimate submodels using choice model estimation tools -such as `larch `__. To do so, ActivitySim adopts the concept of an estimation -data bundle (EDB), which is a collection of the necessary data to re-estimate a submodel. For example, for the auto ownership submodel, +ActivitySim includes the ability to re-estimate submodels using choice model estimation +tools such as `larch `__. To do so, ActivitySim adopts +the concept of an estimation data bundle (EDB), which is a collection of the necessary +data to re-estimate a submodel. For example, for the auto ownership submodel, the EDB consists of the following files: -* model settings - the auto_ownership_model_settings.yaml file -* coefficients - the auto_ownership_coefficients.csv file with each coefficient name, value, and constrain set to True or False if the coefficient is estimatable -* utilities specification - the auto_ownership_SPEC.csv utility expressions file -* chooser and alternatives data - the auto_ownership_values_combined.csv file with all chooser and alternatives data such as household information, land use information, and the utility data components for each alternative +* model settings - the auto_ownership_model_settings.yaml file -ActivitySim also includes Jupyter :ref:`estimation_example_notebooks` for estimating submodels with larch, as well as an ``activitysim.estimation.larch`` submodule that transforms EDBs into larch models. Additional estimation software translators can be added later if desired. +* coefficients - the auto_ownership_coefficients.csv file with each coefficient + name, value, and constrain set to True or False if the coefficient is estimatable -The combination of writing an EDB for a submodel + a larch estimation notebook means users can easily re-estimate submodels. This -combination of functionality means: +* utilities specification - the auto_ownership_SPEC.csv utility expressions file -* There is no duplication of model specifications. ActivitySim owns the specification and larch pivots off of it. Users code model specifications and utility expressions in ActivitySim so as to facilitate ease of use and eliminate inconsistencies and errors between the code used to estimate the models and the code used to apply the models. -* The EDB includes all the data and model structure information and the ``activitysim.estimation.larch`` submodule used by the example notebooks transforms the EDB to larch's data model for estimation. -* Users are able to add zones, alternatives, new chooser data, new taz data, new modes, new coefficients, revise utilities, and revise nesting structures in ActivitySim and larch responds accordingly. -* Eventually it may be desirable for ActivitySim to automatically write larch estimators (or other types of estimators), but for now the integration is loosely coupled rather than tightly coupled in order to provide flexibility. +* chooser and alternatives data - the auto_ownership_values_combined.csv file with + all chooser and alternatives data such as household information, land use + information, and the utility data components for each alternative + +ActivitySim also includes Jupyter :ref:`estimation_example_notebooks` for estimating +submodels with larch, as well as an ``activitysim.estimation.larch`` submodule that +transforms EDBs into larch models. Additional estimation software translators can +be added later if desired. + +The combination of writing an EDB for a submodel + a larch estimation notebook +means users can easily re-estimate submodels. This combination of functionality means: + +* There is no duplication of model specifications. ActivitySim owns the specification + and larch pivots off of it. Users code model specifications and utility expressions + in ActivitySim so as to facilitate ease of use and eliminate inconsistencies and + errors between the code used to estimate the models and the code used to apply the + models. + +* The EDB includes all the data and model structure information and the + ``activitysim.estimation.larch`` submodule used by the example notebooks transforms + the EDB to larch's data model for estimation. + +* Users are able to add zones, alternatives, new chooser data, new taz data, new + modes, new coefficients, revise utilities, and revise nesting structures in + ActivitySim and larch responds accordingly. + +* In the future ActivitySim may be more tightly coupled to Larch, but for now the + integration is loosely coupled to provide flexibility. Users preferring a different + estimation tool can write their own translator. Workflow ~~~~~~~~ -The general workflow for estimating models is shown in the following figures and explained in more detail below. +The general workflow for estimating models is shown in the following figures and +explained in more detail below. .. image:: ../images/estimation_tools.jpg @@ -57,19 +81,18 @@ Example To run the estimation example, do the following: -* Activate the correct conda environment if needed * Create a local copy of the estimation example folder :: - activitysim create -e example_estimation_sf -d test_example_estimation_sf + uv run activitysim create -e example_estimation_sf -d test_example_estimation_sf * Run the example :: cd test_example_estimation_sf - activitysim run -c configs_estimation/configs -c configs -o output -d data_sf + uv run activitysim run -c configs_estimation/configs -c configs -o output -d data_sf * ActivitySim should log some information and write outputs to the output folder, including EDBs for each submodel. The estimation example runs for about 15 minutes and writes EDBs for 2000 households. @@ -92,13 +115,11 @@ Additional settings for running ActivitySim in estimation mode are specified in Estimation Notebooks ~~~~~~~~~~~~~~~~~~~~ -ActivitySim includes a `Jupyter Notebook `__ recipe book with interactive re-estimation examples for each estimatable submodel. To run a Jupyter notebook, do the following: +ActivitySim includes a `Jupyter Notebook `__ recipe book with interactive examples. -* Open a conda prompt and activate the conda environment with ActivitySim installed -* If needed, ``conda install jupyterlab`` so you can run jupyter notebooks -* Type ``jupyter notebook`` to launch the web-based notebook manager -* Navigate to the ``examples/examples_estimaton/notebooks`` folder and select a notebook from the table below -* Save the updated coefficient file(s) to the configs folder and run the model in simulation mode +* To start JupyterLab, from the ActivitySim project directory run ``uv run jupyter lab``. This will start the JupyterLab server and pop up a browser window with the interactive development environment. +* Navigate to the ``examples/examples_estimaton/notebooks`` folder and select a notebook from the table below. +* Save the updated coefficient file(s) to the configs folder and run the model in simulation mode. +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Example | Notebook | @@ -193,4 +214,4 @@ Models API Calibration ----------- - \ No newline at end of file + diff --git a/docs/users-guide/modelsetup.rst b/docs/users-guide/modelsetup.rst index 2a64830625..a3293fdbdd 100644 --- a/docs/users-guide/modelsetup.rst +++ b/docs/users-guide/modelsetup.rst @@ -16,7 +16,7 @@ assumes the user is more experienced in running travel demand models and profici used ActivitySim or has not used recent versions of ActivitySim. More detailed instructions for installing and running ActivitySim are also available in this Users Guide. -* Use the :ref:`Pre-packaged Installer` +* Use the :ref:`pre-packaged installer` * :ref:`Run the Primary Example` * Placeholder (Edit model input files, configs, as needed) @@ -63,9 +63,9 @@ ActivitySim has features that makes it possible to customize model runs or impro * :ref:`Sharrow ` is a Python library designed to decrease run-time for ActivitySim models by creating an optimized compiled version of the model. This can also be turned on/off. * :ref:`Tracing ` allows the user to access information throughout the model run for a specified number of households/persons/zones. Enabling this feature will increase run-time and memory usage. It is recommended that this feature be turned off for typical model application. * Optimization of data types including: - + Converting string variables to pandas categoricals. ActivitySim releases ** and higher have this capability. - + Converting higher byte integer variables to lower byte integer variables (such as reducing ‘num tours’ from int64 to int8). - + Converting higher byte float variables to lower bytes. ActivitySim releases X.X.X and higher have this capability as a switch and defaults to turning this feature off. + + Converting string variables to pandas categoricals. ActivitySim releases 1.3.0 and higher have this capability. + + Converting higher byte integer variables to lower byte integer variables (such as reducing ‘num tours’ from int64 to int8). ActivitySim releases 1.3.0 and higher have this capability as a switch and defaults to turning this feature off. + + Converting higher byte float variables to lower bytes. ActivitySim releases 1.3.0 and higher have this capability as a switch and defaults to turning this feature off. Steps for enabling/disabling these options are included in the :ref:`Advanced Configuration` sub-section, under :ref:`Ways to Run the Model` page of this Users’ Guide. @@ -80,51 +80,27 @@ Steps for enabling/disabling these options are included in the :ref:`Advanced Co Software ________ -Activitysim is implemented in the Python programming language. It also uses several open source Python packages such as pandas, numpy, pytables, openmatrix etc. Hence it is recommended that you install and use a *conda* package manager for your system. -One easy way to do so is by using -`Mambaforge `__. -Mamba is a free open source cross-platform package manager that runs on -Windows, OS X and Linux and is fully compatible with conda packages. It is -also usually substantially faster than conda itself. Instructions to install mambaforge can be found `here `__. Installers for different Operating Systems can be found `here `__. - -Alternatively, if you prefer a package installer backed by corporate tech -support available (for a fee) as necessary, you can install -`Anaconda 64bit Python 3 `__, -although you should consult the `terms of service `__ -for this product and ensure you qualify since businesses and -governments with over 200 employees do not qualify for free usage. -If you're using `conda` instead of `mamba`, just replace every call to -`mamba` below with `conda`, as they share the same user interface and most -command formats. - -If you access the internet from behind a firewall, then you may need to -configure your proxy server. To do so, create a `.condarc` file in your -home installation folder, such as: - -:: - - proxy_servers: - http: http://myproxy.org:8080 - https: https://myproxy.org:8080 - ssl_verify: false - +Activitysim is implemented in the Python programming language. It uses several open source Python packages such as pandas, numpy, pytables, openmatrix etc. Installing ActivitySim ---------------------- -There are multiple ways to install the ActivitySim codebase: +There are two recommended ways to install ActivitySim: + +1. Using a :ref:`pre-packaged installer` -1. Using a :ref:`Pre-packaged Installer` (recommended for users who do not need to change the Python code) +2. Using the :ref:`UV Package and Project Manager` -2. Using a :ref:`Python package manager like mamba ` (recommended for users who need to change/customize the Python code) +The first is recommended for users who are new to Python and use Windows, do not actively create and manage Python virtual environments, +and do not need to change the ActivitySim code. The second is recommended for users who actively create and manage Python virtual environments, +and/or want to change/customize the ActivitySim code. -3. Using :ref:`pip - Python's standard package manager ` Pre-packaged Installer ______________________ -Begining with version 1.2, ActivitySim is now available for Windows via a +Beginning with version 1.2, ActivitySim is now available for Windows via a pre-packaged installer. This installer provides everything you need to run ActivitySim, including Python, all the necessary supporting packages, and ActivitySim itself. You should only choose this installation process if you @@ -146,127 +122,332 @@ Once the install is complete, ActivitySim can be run directly from any command prompt by running `/Scripts/ActivitySim.exe`. -Using *mamba* package manager -_____________________________ +UV Package and Project Manager +______________________________________ + +This method is recommended for ActivitySim users who are familiar with +Python, create and manage ActivitySim Python virtual environments, and optionally wish to customize ActivitySim code to run their models. +UV is a free open source cross-platform package and project manager that runs +on Windows, OS X, and Linux. It is 10-100x faster than conda, and pip itself, which is +the standard Python package manager. The *uv* features include automatic +environment management including installation and management of Python +versions and dependency locking. + +Install UV +^^^^^^^^^^^^^^ + +We recommend installing UV as an independent tool on your machine, separate from any existing package managers you may have such as conda or pip. + +For Windows users, run the following command in PowerShell to install *uv*. It does not require administrator privileges and installs *uv* for the current user only. +By default, uv is installed to ``~/.local/bin`` directory. Usually, this is ``C:/Users//.local/bin``. + +:: + + # Run the installer. Please review the printed message after installation. + powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" + + # Add uv to PATH + $env:PATH = "$env:USERPROFILE\.local\bin;$env:Path" + +If an agency wants to install *uv* globally for all users on Windows, run PowerShell as Administrator and run the following command. + +:: + + # Run the installer with a custom install directory (e.g., C:\shared\uv) that is accessible to all users + powershell -ExecutionPolicy ByPass -c {$env:UV_INSTALL_DIR = "C:\shared\uv";irm https://astral.sh/uv/install.ps1 | iex} + + # Add uv to PATH for all users (requires administrator privileges) + [Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\shared\uv", [EnvironmentVariableTarget]::Machine) + +For more instructions on installing *uv* on Windows, MacOS, or Linux, please visit https://docs.astral.sh/uv/getting-started/installation/. + +To verify that *uv* is installed correctly, open a new Command Prompt (not Anaconda Prompt) and run the following command. + +:: -This method is recommended for ActivitySim users who also wish to customize the Python code to run their models. The steps involved are described as follows: + uv --version -1. Install the *mamba* package manager as described in the :ref:`Software Requirements ` subsection. +.. note:: + If you already have *uv* installed from an older project and you encounter errors + such as + + :: -2. Create a conda environment (basically a Python install just for this project) -using mambaforge prompt or conda prompt depending on the package manager you use (on Windows) or the terminal (macOS or Linux):: + error: Failed to parse uv.lock... missing field version... + + later in the process, you may need to update *uv* to the latest version by reinstalling it via the official + installation script: https://docs.astral.sh/uv/getting-started/installation/#standalone-installer. + You can check the version of *uv* you have installed by running + + :: - mamba create -n asim python=3.10 activitysim -c conda-forge --override-channels + uv --version -This command will create the environment and install all the dependencies -required for running ActivitySim. It is only necessary to create the environment -once per machine, you do not need to (re)create the environment for each session. -If you would also like to install other tools or optional dependencies, it is -possible to do so by adding additional libraries to this command. For example:: - mamba create -n asim python=3.10 activitysim jupyterlab larch -c conda-forge --override-channels -This example installs a specific version of Python, version 3.9. A similar -approach can be used to install specific versions of other libraries as well, -including ActivitySim, itself. For example:: +Install ActivitySim with UV +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - mamba create -n asim python=3.9 activitysim=1.0.2 -c conda-forge --override-channels +There are two options to install ActivitySim using *uv*. -Additional libraries can also be installed later. You may want to consider these -tools for certain development tasks:: +The first is to use *uv* to install an official ActivitySim release from the Python Package Index (PyPI). +The second is to use *uv* to install ActivitySim from the source code repository and use the dependency lockfile. - # packages for testing - mamba install pytest pytest-cov coveralls black flake8 pytest-regressions -c conda-forge --override-channels -n asim +.. note:: + The first option (:ref:`Option 1: From PyPI`) is the quickest way to install ActivitySim from an official release and is recommended for users who do not wish to change the Python code. + However, they may end up using different deep dependencies than those tested by the developers. + The second option (:ref:`Option 2: From Source with Lockfile`) is recommended for users who may want to customize the Python code, and/or who want to run ActivitySim + exactly as it was tested by the developers using the dependency lockfile which results in the exact same deep dependencies. - # packages for building documentation - mamba install sphinx numpydoc sphinx_rtd_theme==0.5.2 -c conda-forge --override-channels -n asim +The steps involved are described as follows. - # packages for estimation integration - mamba install larch -c conda-forge --override-channels -n asim +Option 1: From PyPI +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - # packages for example notebooks - mamba install jupyterlab matplotlib geopandas descartes -c conda-forge --override-channels -n asim +You will use *uv* to create a project and virtual environment to work from and add ActivitySim. -To create an environment containing all these optional dependencies at once, you -can run the shortcut command +Open Command Prompt (not Anaconda Prompt), and run the following commands. :: - mamba env create activitysim/ASIM -n asim + # create a new project directory and cd into it + mkdir asim_project + cd asim_project + + # initialize a virtual environment + # This sets the Python version to 3.10, which is currently fully tested for ActivitySim development + uv init --python 3.10 + + # add ActivitySim package from the latest release on PyPI + uv add activitysim + +*uv* will create a new virtual environment within the ``asim_project`` project folder +and install ActivitySim and its dependencies. The virtual environment is a hidden folder +within the ``asim_project`` directory called ``.venv`` and operates the same way as Python's classic *venv*. You will notice +two new files created in the ``asim_project`` directory: ``pyproject.toml`` and ``uv.lock``. These files +are automatically created, updated, and used by *uv* to manage your ``asim_project`` project and its dependencies. +You can share these files with others to recreate the same environment for your ``asim_project`` project. For more guidance on sharing your working environment, +see the Common Q&A :ref:`How to share my working environment with others?` section below. -3. To use the **asim** environment, you need to activate it +By running the command ``uv add activitysim``, you install the official release of ActivitySim from PyPI and its direct dependencies +listed in ActivitySim's ``pyproject.toml`` file. This approach is the quickest +for getting started but it does not rely on ActivitySim's own lockfile to install deep dependencies so you may +end up with different versions of deep dependencies than those tested by ActivitySim developers. +If you want to ensure exact versions of ActivitySim's deep dependencies, you should install ActivitySim using Option 2: From Source with Lockfile. + +Option 2: From Source with Lockfile +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To install dependencies from the lockfile and run ActivitySim exactly how +its developers tested it, after installing *uv*, open Command Prompt, clone the ActivitySim project using Git. (If Git is not installed, +instructions can be found `here `_.) :: - conda activate asim -The activation of the correct environment needs to be done every time you -start a new session (e.g. opening a new conda Prompt window). + git clone https://github.com/ActivitySim/activitysim.git + cd activitysim -.. note:: +Run the ``uv sync --locked`` command to create a virtual environment using the lockfile. It will initialize a virtual environment within the ``activitysim`` directory +and install ActivitySim and all its dependencies exactly as specified in the ``uv.lock`` file. +The virtual environment is a hidden folder within the current directory called +``.venv`` and operates the same way as Python's classic *venv*. + +:: - The *activate* and *deactivate* commands to start and stop using environments - are called as `conda` even if you are otherwise using `mamba`. mamba is a drop-in replacement and uses the same commands and configuration options as conda. - You can swap almost all commands between conda & mamba. For more details, refer to `the mamba user guide `__. + uv sync --locked + # or uv sync --locked --no-editable -Using *pip* - Python's standard package manager -_______________________________________________ +It is worth pointing out that by default, *uv* installs projects in +editable mode, such that changes to the source code are immediately reflected +in the environment. ``uv sync`` accepts a ``--no-editable`` +flag, which instructs *uv* to install the project in non-editable mode, +removing any dependency on the source code. -If you prefer to install ActivitySim without a package manager like *mamba* or *conda*, it is possible to -do so with pip, although you may find it more difficult to get all of the -required dependencies installed correctly. If you can use conda for -the dependencies, you can get most of the libraries you need from there:: +Also, ``uv sync`` automatically installs the dependencies listed in ``pyproject.toml`` +under ``dependencies`` under ``[project]``, and it also installs those listed +under ``dev`` under ``[dependency-groups]``. If you want to +skip the dependency groups entirely with a *uv* install (and only install those +that would install via ``pip`` from ``pypi``), use the ``--no-default-groups`` flag +with ``uv sync``. - # required packages for running ActivitySim - mamba install cytoolz numpy pandas psutil pyarrow numba pytables pyyaml openmatrix requests -c conda-forge - # required for ActivitySim version 1.0.1 and earlier - pip install zbox +Which Option Should I Use? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -And then simply install activitysim with pip. ++--------------------------------------------------------------------------------+-----------+---------------------------+ +| If I want to ... | From PyPI | From Source with Lockfile | ++================================================================================+===========+===========================+ +| Install an official release of ActivitySim. | Yes | | ++--------------------------------------------------------------------------------+-----------+---------------------------+ +| Install a development version of ActivitySim. | | Yes | ++--------------------------------------------------------------------------------+-----------+---------------------------+ +| Install ActivitySim quickly to run models without changing the code. | Yes | | ++--------------------------------------------------------------------------------+-----------+---------------------------+ +| Do ActivitySim code development. | | Yes | ++--------------------------------------------------------------------------------+-----------+---------------------------+ +| Run ActivitySim with deep dependencies exactly as tested by the developers. | | Yes | ++--------------------------------------------------------------------------------+-----------+---------------------------+ + + +Run ActivitySim with UV +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Activate the virtual environment created by *uv*. This option is similar to using Python's classic venv or Conda env. :: - python -m pip install activitysim + # cd into the project directory if not already there + ## if you used the From PyPI option + cd asim_project + ## if you used the From Source with Lockfile option + cd activitysim + + # Activate the virtual environment + .venv\Scripts\activate + +Once the virtual environment is activated, you can run ActivitySim commands directly using the ``activitysim`` command. +For example, run the ActivitySim commandline using the following. More information about the commandline interface is available in +the :ref:`Ways to Run the Model` section. -If you are using a firewall you may need to add ``--trusted-host pypi.python.org --proxy=myproxy.org:8080`` to this command. +:: -For development work, can also install ActivitySim directly from source. Clone -the ActivitySim repository, and then from within that directory run:: + activitysim run -c configs -o output -d data - python -m pip install . -e +Alternatively, you can run ActivitySim commands directly using *uv* without activating the virtual environment. -The "-e" will install in editable mode, so any changes you make to the ActivitySim -code will also be reflected in your installation. +:: -Installing from source is easier if you have all the necessary dependencies already -installed in a development conda environment. Developers can create an -environment that has all the optional dependencies preinstalled by running:: + uv run activitysim run -c configs -o output -d data - mamba env create activitysim/ASIM-DEV +Common Q&A +^^^^^^^^^^^^^^^^ +My travel demand model requires additional Python packages not included with ActivitySim. How do I add them? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +You can add additional packages to your *uv* project by using the ``uv add`` command. For example, to add the ``geopandas`` package, +run the following command within your existing *uv* project directory. -If you prefer to use a different environment name than `ASIM-DEV`, just -append `--name OTHERNAME` to the command. Then all that's left to do is install -ActivitySim itself in editable mode as described above. +:: -.. note:: + # cd into your project directory + cd asim_project + + # Add geopandas package + uv add geopandas - ActivitySim is a 64bit Python 3 library that uses a number of packages from the - scientific Python ecosystem, most notably `pandas `__ - and `numpy `__. +This will add the package to your virtual environment and update the ``pyproject.toml`` and the ``uv.lock`` file to include the new package and its dependencies. + +If you envision having a version of Python packages that is different from the one used by ActivitySim, e.g., you need pandas 1.x for visualization (for some reason), +we recommend creating a separate *uv* project for your custom packages and managing them independently from ActivitySim. + +:: + + # Open Command Prompt + mkdir viz_project + cd viz_project + uv init + uv add pandas==1.5.3 + +Many agencies use commercial software that have Python APIs and dependencies that may conflict with ActivitySim dependencies. +In such cases, we also recommend creating a separate *uv* project for the commercial software and managing them independently from ActivitySim. + +:: + + # Open Command Prompt + mkdir emme_project + cd emme_project + uv init --python 2.7 + # Then copy the emme.pth file (provides EMME API handshakes) from the Emme installation directory to emme_project/.venv/Lib/site-packages/ + +When having multiple *uv* projects, you can switch between them by activating the respective virtual environments. + +:: + + # Activate visualization project + # Open Command Prompt + cd path\to\viz_project + .venv\Scripts\activate + + # Deactivate visualization project + deactivate + +How to share my working environment with others? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +You can share your working environment with others by sharing the ``uv.lock`` file and the ``pyproject.toml`` file located in your project directory (and ``.python-version`` file if it exists). +The ``uv.lock`` file contains the exact versions of all packages and dependencies used in your project. +Others can recreate the same environment by running the ``uv sync --locked`` command in a new project directory containing the shared files. + +:: + + # Initialize a new project directory + mkdir new_asim_project + cd new_asim_project + + # Copy .python-version file to new project directory (if exists) + copy path\to\shared\.python-version . + # Copy pyproject.toml file to new project directory + copy path\to\shared\pyproject.toml . + # Copy uv.lock file to new project directory + copy path\to\shared\uv.lock . + + # Recreate the same environment + uv sync --locked + +Can other users on the same server or machine use my already created virtual environment? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This is doable but it requires additional setup and admin rights - therefore we do not generally recommend it. We recommend following the practice in :ref:`How to share my working environment with others?`. + +If you'd still like to proceed, here are the recommended steps to follow (proceed with caution!): + +1. Ensure that you installed UV globally (requires admin rights) on the server/machine for all users. :ref:`Install UV` section above provides instructions on how to do this. + +2. Assuming you installed UV globally in ``C:\shared\uv\``, ensure that all users have read and execute permissions to this directory. + +3. Create a directory under ``C:\shared\uv\`` to install Python globally for UV. For example, open Command Prompt, create a directory named ``uv_python`` under ``C:\shared\uv\``. + +:: + + cd C:\shared\uv\ + mkdir uv_python + +4. Under Environment Variables > System variables (requires Admin), create a new system environment variable named ``UV_PYTHON_INSTALL_DIR`` and set its value to the Python directory created in step 3 ``C:\shared\uv\uv_python\``. + +5. Run the following command to install Python globally for UV. This should install Python executables globally in the ``UV_PYTHON_INSTALL_DIR`` directory. + +:: + + uv python install 3.10 + +6. Under Environment Variables > System variables (requires Admin), create a new system environment variable named ``UV_PYTHON`` and set its value to the ``python.exe`` created in step 5. + +7. Create a directory to host UV projects under ``C:\shared\uv\`` + +:: + + cd C:\shared\uv\ + mkdir uv_projects + cd uv_projects + +8. Create a new *uv* project and install ActivitySim using either :ref:`Option 1: From PyPI` or :ref:`Option 2: From Source with Lockfile` as described above. + +9. Ensure that all users have read and execute permissions to the shared uv directory. + +:: - As mentioned above, the recommended way to get your own scientific Python installation is to - install 64 bit Anaconda, which contains many of the libraries upon which - ActivitySim depends + some handy Python installation management tools. + icacls C:\shared\uv /reset /T - Anaconda includes the ``conda`` command line tool, which does a number of useful - things, including creating `environments `__ - (i.e. stand-alone Python installations/instances/sandboxes) that are the recommended - way to work with multiple versions of Python on one machine. Using conda - environments keeps multiple Python setups from conflicting with one another. +If I use the From PyPI option to install ActivitySim, would I run into dependency issues? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Using the :ref:`Option 1: From PyPI` option to install ActivitySim may result in different versions of deep dependencies than those tested by ActivitySim developers. +This is because the :ref:`Option 1: From PyPI` option installs only the direct dependencies listed in ActivitySim's ``pyproject.toml`` file, +and relies on *uv* to resolve and install the deep dependencies. It is likely that a newer version of ActivitySim deep dependencies +may cause compatibility issues. For example, see this recent update with ``numexpr``: https://github.com/pydata/numexpr/issues/540 - You need to activate the activitysim environment each time you start a new command - session. You can remove an environment with ``conda remove -n asim --all`` and - check the current active environment with ``conda info -e``. +When that happens, we recommend using the :ref:`Option 2: From Source with Lockfile` option to install ActivitySim, which ensures that +you are using the exact same deep dependencies as those tested by ActivitySim developers. In the meantime, you can also +report the compatibility issues to the ActivitySim development team via GitHub Issues, so that they can address them in future releases. - For more information on Anaconda, see Anaconda's `getting started - `__ guide. +If I want to use ``uv run`` to run ActivitySim commands, do I still need to activate the virtual environment? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +No, if you use ``uv run`` to run ActivitySim commands, you do not need to activate the virtual environment first. +However, you will need to call ``uv run`` in the project directory where the virtual environment is located. Also, like ``uv sync``, +``uv run`` automatically updates the lockfile and installs any missing dependencies before running the command. diff --git a/docs/users-guide/other_examples.rst b/docs/users-guide/other_examples.rst index 321b4882ba..662c82bc22 100644 --- a/docs/users-guide/other_examples.rst +++ b/docs/users-guide/other_examples.rst @@ -50,8 +50,6 @@ Some available examples include those listed in the table below. +-------------------------------------------+-----------------------------------------------------------+--------------+----------------------+ | placeholder_psrc | PSRC agency example | 2 | Future development | +-------------------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| placeholder_sandag | SANDAG agency example | 3 | Future development | -+-------------------------------------------+-----------------------------------------------------------+--------------+----------------------+ | prototype_sandag_xborder | SANDAG agency example | 3 | In development | +-------------------------------------------+-----------------------------------------------------------+--------------+----------------------+ | prototype_mwcog | MWCOG agency example | 2 | In development | @@ -100,10 +98,8 @@ has essentially the same configuration as the simpler three zone example above. *Example* - To run prototype_marin, do the following: -* Activate the correct conda environment if needed * Create a local copy of the example :: @@ -117,7 +113,7 @@ To run prototype_marin, do the following: :: # Marin TM2 work tour mode choice for the MTC region - activitysim run -c configs -d data -o output -s settings_mp.yaml + uv run activitysim run -c configs -d data -o output -s settings_mp.yaml * For optimal performance, configure multiprocessing and chunk_size based on machine hardware. @@ -197,25 +193,6 @@ prototype_mtc model design. It uses PSRC zones, land use, synthetic population, See example commands in `example_manifest.yaml `_ for running placeholder_psrc. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. -.. _placeholder_sandag : - -**placeholder_sandag** - - -.. note:: - - This example is in development - - -The placeholder_sandag is a multi-part model, containing one-, two-, and three- zone system (MAZs, TAZs, and TAPs) implementation of the -prototype_mtc model design. It uses SANDAG zones, land use, synthetic population, and network LOS (skims). - -*Example* - - -See example commands in `example_manifest.yaml `_ -for running placeholder_sandag. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. - .. _prototype_sandag_xborder : **prototype_sandag_xborder** diff --git a/docs/users-guide/performance/expr-profiling.md b/docs/users-guide/performance/expr-profiling.md new file mode 100644 index 0000000000..f510be64df --- /dev/null +++ b/docs/users-guide/performance/expr-profiling.md @@ -0,0 +1,107 @@ +# Expression Profiling + +Part of the appeal of ActivitySim is in its flexibility: it is possible to craft +a massive variety of mathematical forms and relationships through creative use +of the expressions found in most component spec files. But as we have all learned +from Spider-Man, with great power comes great responsibility. Users can write +arbitrary code in spec files, and the runtime performance of ActivitySim will +depend on the parsimony and efficiency of that code. + +Sometimes these spec files can be large, and it may be difficult to determine +simply by inspection which expressions in a given spec file are faster or slower. +ActivitySim now offers an expression-level profiling tool to assist in diagnosing +performance problems that arise from inefficient spec files. + +```{important} +At this time, +expression profiling only works for the evaluation of expressions in "legacy" mode. +It does not work in "sharrow" mode, as the compiled expressions run with sharrow +are not run in a serial fashion and are not able to be profiled in the same way. +``` + +## Profiling an Entire Model Run + +The simplest way to use the expression profiler is to set the +[`expression_profile`](activitysim.core.configuration.Settings.expression_profile) +configuration setting in the top level model settings (typically `settings.yaml`): + +```yaml +expression_profile: true +``` + +This will cause the profiler to be activated for all expressions in the model, +across all components. This includes expressions in the spec files, as well as +expressions in all preprocessors and annotators. Each time the expressions in +any spec file are evaluated, the profiler will record the time taken to evaluate +each expression. An "expr-performance" subdirectory will be created in the model's +logging directory, and a new log file will be created each time the expressions in +any spec file are evaluated. The file is named according to the `trace_label` found +where the expressions are being evaluated. It will include a list of all the evaluated +expressions from the spec file, along with the time taken to evaluate each expression. +For multi-processed models, each subprocess will create its own log file directory, +similar to the logging directory structure for the other model components. + +## Summary Outputs + +At the end of a model run where the `expression_profile` setting is active, +ActivitySim will also create a pair of summary files in the "expr-performance" +subdirectory. The first is named "expression-timing-subcomponents.html", +and contains a simple concatenation of the runtimes of +expressions in the various subcomponents stored in the log files, +filtered to only include expressions that tool a notable amount of time. +By default, this is set to 0.1 seconds, but can be changed by setting the +[`expression_profile_cutoff`](activitysim.core.configuration.Settings.expression_profile_cutoff) +configuration setting in the model settings. + +The second file, "expression-timing-components.html", shows an aggregate +summary of the runtimes for each expression, +aggregated across all the log files. The aggregation is by model component and +expression, so that this summary includes the total time taken to evaluate each +expression within each model component, recognizing that identical expressions +may be evaluated multiple times in different model subcomponents (e.g. across +different purposes, or tour numbers, etc.). This more aggregated summary is +typically the one that will be most useful for identifying expressions that +provide the most overall potential for performance improvement via streamlining. + +Users should note that the expression profiler is not a substitute for good coding +practices. It will not necessarily identify all performance problems, and it is not +able to suggest improvements to the expressions. It is simply a tool to help users +identify which expressions are taking the most time to evaluate, and therefore +which expressions are the best candidates for improvement. + +Also, users should understand that the expression profiler is not directly measuring the +computational complexity of the expressions, but rather the time taken to evaluate +the expressions. This time can be affected by a number of factors, including the +complexity of the expression, the size of the data being processed, and whether +there are other processes running on the machine at the same time competing for +resources. For multiprocessing model runs, those other processes may include +other the subprocesses of ActivitySim, which may lead to surprising results. + +There is also no adjustment made for parallelization of the expression evaluations. +For example, if the same expression is evaluated in parallel across 8 processes on +a machine with 8 cores, and each process takes 0.1 seconds to evaluate the expression, +the profiler will still show that the expression took 0.8 seconds to evaluate, even +though the total wall clock time taken to evaluate the expression across all processes +was only 0.1 seconds. + +Profiling expressions also adds some overhead to the model run, increasing the +total runtime of the model by a modest but noticeable amount. In consortium +[experiments](https://github.com/ActivitySim/activitysim/pull/936#issuecomment-3165410169) +with this tool, runtime for the full-scale SANDAG model was found to +increase by approximately 12.5% when the profiler was enabled, adding more than +13 minutes to a model run that already took 105 minutes. Users should thus +be careful about using the profiler in production runs. It is recommended turn off +the profiler in production runs, and only use it for debugging and development. + +## Profiling Individual Components + +The expression profiler can also be used to profile individual components, rather +than the entire model. This is done by setting the `compute_settings.performance_log` +attribute for the component in the model settings. This attribute can be set to the +filename where the profiler log file should be written, which will override +the default behavior of writing the log file to the "expr-performance" subdirectory. +This feature only works for components that are run in a single process, and which +have a `compute_settings` attribute. It is generally not recommended to use this +feature unless a specific component is suspected of having atypical performance +problems, as it will not provide the same summary reporting as profiling the entire +model. diff --git a/docs/users-guide/performance/index.md b/docs/users-guide/performance/index.md index 2f722f621d..ab807125e1 100644 --- a/docs/users-guide/performance/index.md +++ b/docs/users-guide/performance/index.md @@ -23,6 +23,7 @@ These techniques are the focus of this section. Chunking to Reduce Peak Memory Usage Compiling with Sharrow Skim Data Format + Expression Profiling ``` ## Checklist for Performance Tuning diff --git a/docs/users-guide/run_primary_example.rst b/docs/users-guide/run_primary_example.rst index 898b354041..d45e0eb4bf 100644 --- a/docs/users-guide/run_primary_example.rst +++ b/docs/users-guide/run_primary_example.rst @@ -3,22 +3,18 @@ Run the Primary Example To setup and run the primary example (see :ref:`examples`) from the command line interface, do the following: -* Open the mamba or conda command prompt -* If you installed ActivitySim using conda environments, activate the conda - environment with ActivitySim installed (i.e. ``conda activate asim``) +* Type ``uv run activitysim create -e prototype_mtc -d test_prototype_mtc`` to copy + the very small prototype_mtc example to a new test_prototype_mtc directory +* Change to the test_prototype_mtc directory ``cd test_prototype_mtc`` +* Type ``uv run activitysim run -c configs -o output -d data`` to run the example +* Review the outputs in the output directory +* ActivitySim will log progress and write outputs to the output folder. .. note:: - Most ``conda`` and ``mamba`` commands can be used interchangeably in the **mamba command prompt**. In the above step, you could instead use ``mamba activate asim`` in the mamba command prompt. -* Or, if you used the :ref:`pre-packaged installer`, + Or, if you used the :ref:`pre-packaged installer`, replace all the commands below that call ``activitysim ...`` with the complete path to your installed location, which is probably something like ``c:\programdata\activitysim\scripts\activitysim.exe``. -* Type ``activitysim create -e prototype_mtc -d test_prototype_mtc`` to copy - the very small prototype_mtc example to a new test_prototype_mtc directory -* Change to the test_prototype_mtc directory ``cd test_prototype_mtc`` -* Type ``activitysim run -c configs -o output -d data`` to run the example -* Review the outputs in the output directory -* ActivitySim will log progress and write outputs to the output folder. The example should run in a few minutes since it runs a small sample of households. diff --git a/docs/users-guide/visualization.rst b/docs/users-guide/visualization.rst index 2a930d337c..3da5a7fc0b 100644 --- a/docs/users-guide/visualization.rst +++ b/docs/users-guide/visualization.rst @@ -129,9 +129,13 @@ Trip-level skim data are also made available in the preprocessing stage by attac Install and Run Simwrapper ~~~~~~~~~~~~~~~~~~~~~~~~~~ -The SimWrapper Python package, which contains convenience functions for initiating the SimWrapper app in the browser and a local file server for accessing summary tables from this app, is automatically installed as a dependency of ActivitySim. However, you can also use SimWrapper independent of ActivitySim to, for example, visualize summaries on a different workstation. SimWrapper is available on both conda-forge and pip: +The SimWrapper Python package, which contains convenience functions for initiating the SimWrapper app in the browser and a local file server for accessing summary tables from this app, is automatically installed as a dependency of ActivitySim. However, you can also use SimWrapper independent of ActivitySim to, for example, visualize summaries on a different workstation. SimWrapper is available on both conda-forge and pypi: :: + > uv add simwrapper + +or + > conda install -c conda-forge simwrapper or diff --git a/docs/users-guide/ways_to_run.rst b/docs/users-guide/ways_to_run.rst index 98c1f09e8b..1b21221078 100644 --- a/docs/users-guide/ways_to_run.rst +++ b/docs/users-guide/ways_to_run.rst @@ -80,11 +80,9 @@ Refer to the :ref:`Run the Primary Example` section to learn how to run the prim Using Jupyter Notebook ______________________ -ActivitySim includes a `Jupyter Notebook `__ recipe book with interactive examples. To run a Jupyter notebook, do the following: +ActivitySim includes a `Jupyter Notebook `__ recipe book with interactive examples. -* Open a conda prompt and activate the conda environment with ActivitySim installed -* If needed, ``conda install jupyterlab`` so you can run jupyter notebooks -* Type ``jupyter notebook`` to launch the web-based notebook manager +* To start JupyterLab, from the ActivitySim project directory run ``uv run jupyter lab``. This will start the JupyterLab server and pop up a browser window with the interactive development environment. * Navigate to the ``examples/prototype_mtc/notebooks`` folder and select a notebook to learn more: * `Getting started `__ diff --git a/pyproject.toml b/pyproject.toml index 6a76cacb26..a8fef9948e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,11 +11,11 @@ name = "activitysim" dynamic = ["version"] dependencies = [ "cytoolz >= 0.8.1", - "multimethod <2.0", + "multimethod < 2.0", "numba >= 0.57", - "numpy >= 1.16.1, <2", + "numpy >= 1.16.1, <1.26", "openmatrix >= 0.3.4.1", - "pandas >= 2.2", + "pandas >= 2", "pandera >=0.15, <0.18.1", "platformdirs", "psutil >= 4.1", @@ -24,11 +24,11 @@ dependencies = [ "pypyr >= 5.3", "pyyaml >= 5.1", "requests >= 2.7", - "scikit-learn >= 1.1", - "sharrow >= 2.9.1", - "simwrapper > 1.7", + "scikit-learn >= 1.2", + "setuptools>=80.9.0", + "sharrow>=2.15", "sparse", - "tables >= 3.9", + "tables >= 3.9", # pytables is tables in pypi "xarray >= 2024.05", ] readme = "README.md" @@ -76,7 +76,6 @@ log_cli = true tb = "native" [tool.ruff] -select = ["E", "F", "B", "UP", "TID"] line-length = 140 exclude = [ ".git", @@ -88,12 +87,73 @@ exclude = [ "sandbox/" ] -[tool.ruff.isort] +[tool.ruff.lint] +select = ["E", "F", "B", "UP", "TID"] + +[tool.ruff.lint.isort] known-first-party = ["activitysim"] required-imports = ["from __future__ import annotations"] -[tool.ruff.pydocstyle] +[tool.ruff.lint.pydocstyle] convention = "numpy" -[tool.ruff.per-file-ignores] +[tool.ruff.lint.per-file-ignores] "__init__.py" = ["E402", "F401"] # Ignore import violations in all `__init__.py` files + +[dependency-groups] +dev = [ + "altair", + "autodoc_pydantic", + "asv", # for benchmarking + "black==22.12.0", + "bump2version", # for making a release + "coveralls>=3.3.1", + "dask==2023.11", + "descartes", + "filelock", + "fsspec", + "geopandas", + "gh", + "ipykernel", # so this env will appear in jupyter as a selection + "isort==5.12.0", + "jupyter-book", + "jupyterlab", + "larch>=6.0.42", + "matplotlib", + "myst-nb", + "myst-parser", # allows markdown in sphinx + "nbconvert", + "nbformat", + "nbmake==1.4.6", + "numexpr", + "numpydoc", + "pre-commit", + "pycodestyle", + "pydata-sphinx-theme", + "pydot>=4.0.1", + "pyinstrument==4.4", + "pytest==7.2", + "pytest-cov", + "pytest-regressions", + "requests>=2.32.3", + "rich==13.3", + "ruby", # for benchmarking pre-commit hooks + "ruff", + "setuptools_scm", + "simwrapper > 1.7", + "snakeviz", # for profiling + "sphinx==6.1", + "sphinx-argparse", + "sphinx-autosummary-accessors", + "sphinx-copybutton", + "sphinx-remove-toctrees", + "sphinx_rtd_theme==1.2", + "sphinx-argparse==0.4", + "xlsxwriter==3.2.5", + "xmle", + "zarr>=2,<3", + "zstandard" +] + +[tool.uv] +default-groups = ["dev"] diff --git a/test/cdap/test_cdap.py b/test/cdap/test_cdap.py index 38e2657769..b26078c904 100644 --- a/test/cdap/test_cdap.py +++ b/test/cdap/test_cdap.py @@ -162,9 +162,9 @@ def test_cdap_from_pipeline(reconnect_pipeline: workflow.State, caplog): lambda x: x[:-1].upper() if x.endswith("0") else x.upper() ) household_df["cdap_activity"] = household_df.apply( - lambda x: x["cdap_activity"] + "J" - if x["has_joint_tour"] == 1 - else x["cdap_activity"], + lambda x: ( + x["cdap_activity"] + "J" if x["has_joint_tour"] == 1 else x["cdap_activity"] + ), axis=1, ) diff --git a/test/random_seed/test_random_seed.py b/test/random_seed/test_random_seed.py index 6f4997f62d..d9a33f2bf1 100644 --- a/test/random_seed/test_random_seed.py +++ b/test/random_seed/test_random_seed.py @@ -2,13 +2,13 @@ # ActivitySim # See full license in LICENSE.txt. +import importlib.resources import os import subprocess from shutil import copytree import pandas as pd import pandas.testing as pdt -import pkg_resources import yaml @@ -35,7 +35,7 @@ def run_test_random_seed(): def example_path(dirname): resource = os.path.join("examples", "prototype_mtc", dirname) - return pkg_resources.resource_filename("activitysim", resource) + return str(importlib.resources.files("activitysim").joinpath(resource)) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) diff --git a/test/test_expression_profiling.py b/test/test_expression_profiling.py new file mode 100644 index 0000000000..f3b61a6fb2 --- /dev/null +++ b/test/test_expression_profiling.py @@ -0,0 +1,135 @@ +from __future__ import annotations + +import argparse +import os +from contextlib import contextmanager + +from activitysim.cli.run import add_run_args, run +from activitysim.core import timing, workflow + + +@contextmanager +def change_directory(path): + """ + Context manager to temporarily change the current working directory. + """ + old_cwd = os.getcwd() # Save the current working directory + try: + os.chdir(path) # Change to the new directory + yield # Execute the code within the 'with' block + finally: + os.chdir(old_cwd) # Revert to the original directory + + +def test_expression_profiling_mtc(): + state = workflow.create_example("prototype_mtc", temp=True) + + state.settings.expression_profile = True + state.run.all() + + # generate a summary of slower expression evaluation times + # across all models and write to a file + analyze = timing.AnalyzeEvalTiming(state) + analyze.component_report(style=state.settings.expression_profile_style) + analyze.subcomponent_report(style=state.settings.expression_profile_style) + + workdir = state.filesystem.working_dir + outdir = workdir.joinpath(state.filesystem.output_dir) + timestamp = state.get("run_timestamp", "unknown") + assert timestamp != "unknown", "Run timestamp should not be 'unknown'" + assert outdir.joinpath( + f"log/expr-performance/{timestamp}/expression-timing-subcomponents.html" + ).exists() + assert outdir.joinpath( + f"log/expr-performance/{timestamp}/expression-timing-components.html" + ).exists() + assert outdir.joinpath( + f"log/expr-performance/{timestamp}/tour_mode_choice.work.simple_simulate.eval_nl.eval_utils.log" + ).exists() + + +def test_expression_profiling_semcog(): + # testing a two zone system model + state = workflow.create_example("production_semcog", temp=True) + + state.settings.expression_profile = True + + print("state.filesystem.working_dir=", state.filesystem.working_dir) + # import the extensions module, which is located in the working directory + with change_directory(state.filesystem.working_dir): + import sys + + sys.path.insert(0, ".") + import extensions # noqa: F401 + + sys.path.pop(0) + + state.run.all() + + # generate a summary of slower expression evaluation times + # across all models and write to a file + analyze = timing.AnalyzeEvalTiming(state) + analyze.component_report(style=state.settings.expression_profile_style) + analyze.subcomponent_report(style=state.settings.expression_profile_style) + + workdir = state.filesystem.working_dir + outdir = workdir.joinpath(state.filesystem.output_dir) + + timestamp = state.get("run_timestamp", "unknown") + assert timestamp != "unknown", "Run timestamp should not be 'unknown'" + + assert outdir.joinpath( + f"expr-performance/{timestamp}/expression-timing-subcomponents.html" + ).exists() + assert outdir.joinpath( + f"expr-performance/{timestamp}/expression-timing-components.html" + ).exists() + assert outdir.joinpath( + f"expr-performance/{timestamp}/trip_destination.trip_num_1.atwork.compute_logsums.dp.preprocessor.trip_mode_choice_annotate_trips_preprocessor.log" + ).exists() + + +def test_expression_profiling_mtc_mp(): + state = workflow.create_example("prototype_mtc", temp=True) + # state = workflow.create_example("prototype_mtc", "/tmp/exprprof5") + with state.filesystem.working_dir.joinpath("configs_mp", "settings.yaml").open( + mode="a" + ) as f: + f.write("\n\nexpression_profile: true\n") + + args = [ + # "-c", + # str(state.filesystem.working_dir.joinpath("configs-override")), + "-c", + str(state.filesystem.working_dir.joinpath("configs_mp")), + "-c", + str(state.filesystem.working_dir.joinpath("configs")), + "-d", + str(state.filesystem.working_dir.joinpath("data")), + "-o", + str(state.filesystem.working_dir.joinpath("output")), + ] + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args(args) + run(args) + + ep_dir = state.filesystem.working_dir.joinpath("output", "log", "expr-performance") + + # list all the subdirectories in the output directory + subdirectories = [item for item in ep_dir.iterdir() if item.is_dir()] + + # should only be one subdirectory with a timestamp + assert ( + len(subdirectories) == 1 + ), "There should be exactly one subdirectory with a timestamp" + + timestamp = subdirectories[0].name + base_dir = ep_dir.joinpath(timestamp) + + assert base_dir.joinpath("expression-timing-subcomponents.html").exists() + assert base_dir.joinpath("expression-timing-components.html").exists() + assert base_dir.joinpath( + "mp_households_0-trip_destination.trip_num_1.atwork.compute_logsums.dp.preprocessor.trip_mode_choice_annotate_trips_preprocessor.log" + ).exists() diff --git a/test/test_skim_name_conflicts.py b/test/test_skim_name_conflicts.py new file mode 100644 index 0000000000..eafd5ee426 --- /dev/null +++ b/test/test_skim_name_conflicts.py @@ -0,0 +1,125 @@ +from __future__ import annotations + +import os +import shutil +from importlib.resources import files +from pathlib import Path + +import openmatrix +import pytest + +import activitysim.abm # noqa: F401 +from activitysim.core import workflow + + +def example_path(dirname): + resource = files("activitysim.examples.placeholder_sandag").joinpath(dirname) + return str(resource) + + +def mtc_example_path(dirname): + resource = files("activitysim.examples.prototype_mtc").joinpath(dirname) + return str(resource) + + +def psrc_example_path(dirname): + resource = files("activitysim.examples.placeholder_psrc").joinpath(dirname) + return str(resource) + + +@pytest.fixture(scope="session") +def example_data_dir(tmp_path_factory) -> Path: + """Fixture to provide the path to the example data directory.""" + td = tmp_path_factory.mktemp("skim-conflict-data") + shutil.copytree(example_path("data_2"), td.joinpath("data_2")) + shutil.copy( + example_path(os.path.join("data_3", "maz_to_maz_bike.csv")), + td.joinpath("data_2"), + ) + + # add extra skims to OMX to create a conflict + + with openmatrix.open_file(td.joinpath("data_2").joinpath("skims1.omx"), "a") as omx: + for t in ["EA", "AM", "MD", "PM", "EV"]: + # Create a new matrix for each time period + omx.createMatrix(f"DISTBIKE__{t}", obj=omx["DISTBIKE"][:]) + + return td.joinpath("data_2") + + +def test_skim_name_conflicts(example_data_dir, tmp_path_factory): + # when sharrow is required, the run should fail due to conflicting skim names + state = workflow.State.make_default( + data_dir=example_data_dir, + configs_dir=( + example_path("configs_2_zone"), + psrc_example_path("configs"), + ), + output_dir=tmp_path_factory.mktemp("out-fail"), + settings={ + "households_sample_size": 20, + "sharrow": "require", + "disable_zarr": True, + }, + ) + with pytest.raises(ValueError): + state.run( + [ + "initialize_landuse", + "initialize_households", + ] + ) + + +def test_skim_name_conflicts_no_sharrow(example_data_dir, tmp_path_factory): + # when sharrow is disabled, the run should warn about conflicting skim names but not fail + state = workflow.State.make_default( + data_dir=example_data_dir, + configs_dir=( + example_path("configs_2_zone"), + psrc_example_path("configs"), + ), + output_dir=tmp_path_factory.mktemp("out-pass"), + settings={ + "households_sample_size": 20, + "sharrow": False, + "disable_zarr": True, + }, + ) + # Run the beginning workflow with the modified settings, should only warn about the conflict + with pytest.warns( + UserWarning, + match="some skims have both time-dependent and time-agnostic versions", + ): + state.run( + [ + "initialize_landuse", + "initialize_households", + ] + ) + + +@pytest.mark.parametrize("solution", ["^DISTBIKE$", "^DISTBIKE__.+"]) +def test_skim_name_conflicts_ok(example_data_dir, tmp_path_factory, solution): + # when sharrow is required, and omx_ignore_patterns is set correctly, + # the run should work without raising an error + state = workflow.State.make_default( + data_dir=example_data_dir, + configs_dir=( + example_path("configs_2_zone"), + psrc_example_path("configs"), + ), + output_dir=tmp_path_factory.mktemp("out-solved"), + settings={ + "households_sample_size": 20, + "sharrow": "require", + "disable_zarr": True, + "omx_ignore_patterns": [solution], + }, + ) + state.run( + [ + "initialize_landuse", + "initialize_households", + ] + ) diff --git a/test/trace_id/.gitignore b/test/trace_id/.gitignore new file mode 100644 index 0000000000..67176c62d1 --- /dev/null +++ b/test/trace_id/.gitignore @@ -0,0 +1,2 @@ +configs*/ +output/ \ No newline at end of file diff --git a/test/trace_id/simulation.py b/test/trace_id/simulation.py new file mode 100644 index 0000000000..70cf3457fd --- /dev/null +++ b/test/trace_id/simulation.py @@ -0,0 +1,16 @@ +# ActivitySim +# See full license in LICENSE.txt. + +from __future__ import annotations + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/test/trace_id/test_trace_id.py b/test/trace_id/test_trace_id.py new file mode 100644 index 0000000000..4d678759e6 --- /dev/null +++ b/test/trace_id/test_trace_id.py @@ -0,0 +1,85 @@ +from __future__ import annotations + +# ActivitySim +# See full license in LICENSE.txt. +import importlib.resources +import os +import subprocess +from shutil import copytree + +import pandas as pd +import pandas.testing as pdt +import yaml + + +def update_settings(settings_file, key, value): + with open(settings_file, "r") as f: + settings = yaml.safe_load(f) + f.close() + + settings[key] = value + + with open(settings_file, "w") as f: + yaml.safe_dump(settings, f) + f.close() + + +def test_trace_ids_have_same_hash(): + def example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return str(importlib.resources.files("activitysim").joinpath(resource)) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + new_configs_dir = test_path("configs") + new_mp_configs_dir = test_path("configs_mp") + new_settings_file = os.path.join(new_configs_dir, "settings.yaml") + copytree(example_path("configs"), new_configs_dir) + copytree(example_path("configs_mp"), new_mp_configs_dir) + + update_settings( + new_settings_file, "trace_hh_id", 1932009 + ) # Household in the prototype_mtc example with 11 people + + def check_csv_suffix(directory): + suffix = None + mismatched_files = [] + for root, dirs, files in os.walk(directory): + for filename in files: + if filename.lower().endswith(".csv"): + file_suffix = filename[-10:] + if suffix is None: + suffix = file_suffix + elif file_suffix != suffix: + mismatched_files.append(os.path.join(root, filename)) + if mismatched_files: + raise AssertionError( + f"CSV files with mismatched suffixes: {mismatched_files}" + ) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + run_args = [ + "-c", + test_path("configs_mp"), + "-c", + test_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + + try: + os.mkdir(test_path("output")) + except FileExistsError: + pass + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + check_csv_suffix(os.path.join(test_path("output"), "trace")) + + +if __name__ == "__main__": + test_trace_ids_have_same_hash() diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000000..f1ffb126df --- /dev/null +++ b/uv.lock @@ -0,0 +1,6139 @@ +version = 1 +revision = 2 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", +] + +[[package]] +name = "accessible-pygments" +version = "0.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c1/bbac6a50d02774f91572938964c582fff4270eee73ab822a4aeea4d8b11b/accessible_pygments-0.0.5.tar.gz", hash = "sha256:40918d3e6a2b619ad424cb91e556bd3bd8865443d9f22f1dcdf79e33c8046872", size = 1377899, upload-time = "2024-05-10T11:23:10.216Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/3f/95338030883d8c8b91223b4e21744b04d11b161a3ef117295d8241f50ab4/accessible_pygments-0.0.5-py3-none-any.whl", hash = "sha256:88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7", size = 1395903, upload-time = "2024-05-10T11:23:08.421Z" }, +] + +[[package]] +name = "activitysim" +source = { editable = "." } +dependencies = [ + { name = "cytoolz" }, + { name = "multimethod" }, + { name = "numba" }, + { name = "numpy" }, + { name = "openmatrix" }, + { name = "pandas", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "pandera" }, + { name = "platformdirs" }, + { name = "psutil" }, + { name = "pyarrow" }, + { name = "pydantic" }, + { name = "pypyr" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "scikit-learn" }, + { name = "setuptools" }, + { name = "sharrow" }, + { name = "sparse" }, + { name = "tables", version = "3.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "tables", version = "3.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "xarray" }, +] + +[package.dev-dependencies] +dev = [ + { name = "altair" }, + { name = "asv" }, + { name = "autodoc-pydantic" }, + { name = "black" }, + { name = "bump2version" }, + { name = "coveralls" }, + { name = "dask" }, + { name = "descartes" }, + { name = "filelock" }, + { name = "fsspec" }, + { name = "geopandas" }, + { name = "gh" }, + { name = "ipykernel" }, + { name = "isort" }, + { name = "jupyter-book" }, + { name = "jupyterlab" }, + { name = "larch" }, + { name = "matplotlib" }, + { name = "myst-nb" }, + { name = "myst-parser" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "nbmake" }, + { name = "numexpr" }, + { name = "numpydoc" }, + { name = "pre-commit" }, + { name = "pycodestyle" }, + { name = "pydata-sphinx-theme" }, + { name = "pydot" }, + { name = "pyinstrument" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pytest-regressions" }, + { name = "requests" }, + { name = "rich" }, + { name = "ruby" }, + { name = "ruff" }, + { name = "setuptools-scm" }, + { name = "simwrapper" }, + { name = "snakeviz" }, + { name = "sphinx" }, + { name = "sphinx-argparse" }, + { name = "sphinx-autosummary-accessors" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-remove-toctrees" }, + { name = "sphinx-rtd-theme" }, + { name = "xlsxwriter" }, + { name = "xmle" }, + { name = "zarr", version = "2.18.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "zarr", version = "2.18.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "zstandard" }, +] + +[package.metadata] +requires-dist = [ + { name = "cytoolz", specifier = ">=0.8.1" }, + { name = "multimethod", specifier = "<2.0" }, + { name = "numba", specifier = ">=0.57" }, + { name = "numpy", specifier = ">=1.16.1,<1.26" }, + { name = "openmatrix", specifier = ">=0.3.4.1" }, + { name = "pandas", specifier = ">=2" }, + { name = "pandera", specifier = ">=0.15,<0.18.1" }, + { name = "platformdirs" }, + { name = "psutil", specifier = ">=4.1" }, + { name = "pyarrow", specifier = ">=2.0" }, + { name = "pydantic", specifier = ">=2.6" }, + { name = "pypyr", specifier = ">=5.3" }, + { name = "pyyaml", specifier = ">=5.1" }, + { name = "requests", specifier = ">=2.7" }, + { name = "scikit-learn", specifier = ">=1.2" }, + { name = "setuptools", specifier = ">=80.9.0" }, + { name = "sharrow", specifier = ">=2.15" }, + { name = "sparse" }, + { name = "tables", specifier = ">=3.9" }, + { name = "xarray", specifier = ">=2024.5" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "altair" }, + { name = "asv" }, + { name = "autodoc-pydantic" }, + { name = "black", specifier = "==22.12.0" }, + { name = "bump2version" }, + { name = "coveralls", specifier = ">=3.3.1" }, + { name = "dask", specifier = "==2023.11" }, + { name = "descartes" }, + { name = "filelock" }, + { name = "fsspec" }, + { name = "geopandas" }, + { name = "gh" }, + { name = "ipykernel" }, + { name = "isort", specifier = "==5.12.0" }, + { name = "jupyter-book" }, + { name = "jupyterlab" }, + { name = "larch", specifier = ">=6.0.42" }, + { name = "matplotlib" }, + { name = "myst-nb" }, + { name = "myst-parser" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "nbmake", specifier = "==1.4.6" }, + { name = "numexpr" }, + { name = "numpydoc" }, + { name = "pre-commit" }, + { name = "pycodestyle" }, + { name = "pydata-sphinx-theme" }, + { name = "pydot", specifier = ">=4.0.1" }, + { name = "pyinstrument", specifier = "==4.4" }, + { name = "pytest", specifier = "==7.2" }, + { name = "pytest-cov" }, + { name = "pytest-regressions" }, + { name = "requests", specifier = ">=2.32.3" }, + { name = "rich", specifier = "==13.3" }, + { name = "ruby" }, + { name = "ruff" }, + { name = "setuptools-scm" }, + { name = "simwrapper", specifier = ">1.7" }, + { name = "snakeviz" }, + { name = "sphinx", specifier = "==6.1" }, + { name = "sphinx-argparse" }, + { name = "sphinx-argparse", specifier = "==0.4" }, + { name = "sphinx-autosummary-accessors" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-remove-toctrees" }, + { name = "sphinx-rtd-theme", specifier = "==1.2" }, + { name = "xlsxwriter", specifier = "==3.2.5" }, + { name = "xmle" }, + { name = "zarr", specifier = ">=2,<3" }, + { name = "zstandard" }, +] + +[[package]] +name = "addicty" +version = "2023.9.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, + { name = "yamllint" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/14/4e/fa9a73c6b8b4939836b1057b64848af7bafdcc75d454c7b14e8451918ed4/addicty-2023.9.3.tar.gz", hash = "sha256:dcd4f39c9127c9ca0489d752367aa87f961d22581ab4252b1c3fa111ca2edf8f", size = 14766, upload-time = "2023-09-12T22:12:03.128Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/f9/b5e184d56e6e70830316821108041beb980016b6a495326ebd176012bfd3/addicty-2023.9.3-py3-none-any.whl", hash = "sha256:b0137268dee20f2611375f5b9477c37fb78ed448709b8dd66f1c30992a209645", size = 7533, upload-time = "2023-09-12T22:12:01.536Z" }, +] + +[[package]] +name = "alabaster" +version = "0.7.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776, upload-time = "2024-01-10T00:56:10.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" }, +] + +[[package]] +name = "altair" +version = "5.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "jsonschema" }, + { name = "narwhals" }, + { name = "packaging" }, + { name = "typing-extensions", marker = "python_full_version < '3.14'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/16/b1/f2969c7bdb8ad8bbdda031687defdce2c19afba2aa2c8e1d2a17f78376d8/altair-5.5.0.tar.gz", hash = "sha256:d960ebe6178c56de3855a68c47b516be38640b73fb3b5111c2a9ca90546dd73d", size = 705305, upload-time = "2024-11-23T23:39:58.542Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/f3/0b6ced594e51cc95d8c1fc1640d3623770d01e4969d29c0bd09945fafefa/altair-5.5.0-py3-none-any.whl", hash = "sha256:91a310b926508d560fe0148d02a194f38b824122641ef528113d029fcd129f8c", size = 731200, upload-time = "2024-11-23T23:39:56.4Z" }, +] + +[[package]] +name = "aniso8601" +version = "10.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/8d/52179c4e3f1978d3d9a285f98c706642522750ef343e9738286130423730/aniso8601-10.0.1.tar.gz", hash = "sha256:25488f8663dd1528ae1f54f94ac1ea51ae25b4d531539b8bc707fed184d16845", size = 47190, upload-time = "2025-04-18T17:29:42.995Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/75/e0e10dc7ed1408c28e03a6cb2d7a407f99320eb953f229d008a7a6d05546/aniso8601-10.0.1-py2.py3-none-any.whl", hash = "sha256:eb19717fd4e0db6de1aab06f12450ab92144246b257423fe020af5748c0cb89e", size = 52848, upload-time = "2025-04-18T17:29:41.492Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", size = 1783441, upload-time = "2025-07-30T10:02:05.147Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/3c0a35f46e52108d4707c44b95cfe2afcafc50800b5450c197454569b776/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f", size = 54393, upload-time = "2025-07-30T10:01:40.97Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f4/98bbd6ee89febd4f212696f13c03ca302b8552e7dbf9c8efa11ea4a388c3/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b", size = 29328, upload-time = "2025-07-30T10:01:41.916Z" }, + { url = "https://files.pythonhosted.org/packages/43/24/90a01c0ef12ac91a6be05969f29944643bc1e5e461155ae6559befa8f00b/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3c6702abc36bf3ccba3f802b799505def420a1b7039862014a65db3205967f5a", size = 31269, upload-time = "2025-07-30T10:01:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d3/942aa10782b2697eee7af5e12eeff5ebb325ccfb86dd8abda54174e377e4/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1c70058c6ab1e352304ac7e3b52554daadacd8d453c1752e547c76e9c99ac44", size = 86558, upload-time = "2025-07-30T10:01:43.943Z" }, + { url = "https://files.pythonhosted.org/packages/0d/82/b484f702fec5536e71836fc2dbc8c5267b3f6e78d2d539b4eaa6f0db8bf8/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2fd3bfbff3c5d74fef31a722f729bf93500910db650c925c2d6ef879a7e51cb", size = 92364, upload-time = "2025-07-30T10:01:44.887Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c1/a606ff83b3f1735f3759ad0f2cd9e038a0ad11a3de3b6c673aa41c24bb7b/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c4f9665de60b1b0e99bcd6be4f17d90339698ce954cfd8d9cf4f91c995165a92", size = 85637, upload-time = "2025-07-30T10:01:46.225Z" }, + { url = "https://files.pythonhosted.org/packages/44/b4/678503f12aceb0262f84fa201f6027ed77d71c5019ae03b399b97caa2f19/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ba92837e4a9aa6a508c8d2d7883ed5a8f6c308c89a4790e1e447a220deb79a85", size = 91934, upload-time = "2025-07-30T10:01:47.203Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c7/f36bd08ef9bd9f0a9cff9428406651f5937ce27b6c5b07b92d41f91ae541/argon2_cffi_bindings-25.1.0-cp314-cp314t-win32.whl", hash = "sha256:84a461d4d84ae1295871329b346a97f68eade8c53b6ed9a7ca2d7467f3c8ff6f", size = 28158, upload-time = "2025-07-30T10:01:48.341Z" }, + { url = "https://files.pythonhosted.org/packages/b3/80/0106a7448abb24a2c467bf7d527fe5413b7fdfa4ad6d6a96a43a62ef3988/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b55aec3565b65f56455eebc9b9f34130440404f27fe21c3b375bf1ea4d8fbae6", size = 32597, upload-time = "2025-07-30T10:01:49.112Z" }, + { url = "https://files.pythonhosted.org/packages/05/b8/d663c9caea07e9180b2cb662772865230715cbd573ba3b5e81793d580316/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:87c33a52407e4c41f3b70a9c2d3f6056d88b10dad7695be708c5021673f55623", size = 28231, upload-time = "2025-07-30T10:01:49.92Z" }, + { url = "https://files.pythonhosted.org/packages/1d/57/96b8b9f93166147826da5f90376e784a10582dd39a393c99bb62cfcf52f0/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500", size = 54121, upload-time = "2025-07-30T10:01:50.815Z" }, + { url = "https://files.pythonhosted.org/packages/0a/08/a9bebdb2e0e602dde230bdde8021b29f71f7841bd54801bcfd514acb5dcf/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44", size = 29177, upload-time = "2025-07-30T10:01:51.681Z" }, + { url = "https://files.pythonhosted.org/packages/b6/02/d297943bcacf05e4f2a94ab6f462831dc20158614e5d067c35d4e63b9acb/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0", size = 31090, upload-time = "2025-07-30T10:01:53.184Z" }, + { url = "https://files.pythonhosted.org/packages/c1/93/44365f3d75053e53893ec6d733e4a5e3147502663554b4d864587c7828a7/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6", size = 81246, upload-time = "2025-07-30T10:01:54.145Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/94108adfdd6e2ddf58be64f959a0b9c7d4ef2fa71086c38356d22dc501ea/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e924cfc503018a714f94a49a149fdc0b644eaead5d1f089330399134fa028a", size = 87126, upload-time = "2025-07-30T10:01:55.074Z" }, + { url = "https://files.pythonhosted.org/packages/72/70/7a2993a12b0ffa2a9271259b79cc616e2389ed1a4d93842fac5a1f923ffd/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d", size = 80343, upload-time = "2025-07-30T10:01:56.007Z" }, + { url = "https://files.pythonhosted.org/packages/78/9a/4e5157d893ffc712b74dbd868c7f62365618266982b64accab26bab01edc/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1db89609c06afa1a214a69a462ea741cf735b29a57530478c06eb81dd403de99", size = 86777, upload-time = "2025-07-30T10:01:56.943Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/15777dfde1c29d96de7f18edf4cc94c385646852e7c7b0320aa91ccca583/argon2_cffi_bindings-25.1.0-cp39-abi3-win32.whl", hash = "sha256:473bcb5f82924b1becbb637b63303ec8d10e84c8d241119419897a26116515d2", size = 27180, upload-time = "2025-07-30T10:01:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/a759ece8f1829d1f162261226fbfd2c6832b3ff7657384045286d2afa384/argon2_cffi_bindings-25.1.0-cp39-abi3-win_amd64.whl", hash = "sha256:a98cd7d17e9f7ce244c0803cad3c23a7d379c301ba618a5fa76a67d116618b98", size = 31715, upload-time = "2025-07-30T10:01:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/42/b9/f8d6fa329ab25128b7e98fd83a3cb34d9db5b059a9847eddb840a0af45dd/argon2_cffi_bindings-25.1.0-cp39-abi3-win_arm64.whl", hash = "sha256:b0fdbcf513833809c882823f98dc2f931cf659d9a1429616ac3adebb49f5db94", size = 27149, upload-time = "2025-07-30T10:01:59.329Z" }, + { url = "https://files.pythonhosted.org/packages/11/2d/ba4e4ca8d149f8dcc0d952ac0967089e1d759c7e5fcf0865a317eb680fbb/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6dca33a9859abf613e22733131fc9194091c1fa7cb3e131c143056b4856aa47e", size = 24549, upload-time = "2025-07-30T10:02:00.101Z" }, + { url = "https://files.pythonhosted.org/packages/5c/82/9b2386cc75ac0bd3210e12a44bfc7fd1632065ed8b80d573036eecb10442/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:21378b40e1b8d1655dd5310c84a40fc19a9aa5e6366e835ceb8576bf0fea716d", size = 25539, upload-time = "2025-07-30T10:02:00.929Z" }, + { url = "https://files.pythonhosted.org/packages/31/db/740de99a37aa727623730c90d92c22c9e12585b3c98c54b7960f7810289f/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d588dec224e2a83edbdc785a5e6f3c6cd736f46bfd4b441bbb5aa1f5085e584", size = 28467, upload-time = "2025-07-30T10:02:02.08Z" }, + { url = "https://files.pythonhosted.org/packages/71/7a/47c4509ea18d755f44e2b92b7178914f0c113946d11e16e626df8eaa2b0b/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5acb4e41090d53f17ca1110c3427f0a130f944b896fc8c83973219c97f57b690", size = 27355, upload-time = "2025-07-30T10:02:02.867Z" }, + { url = "https://files.pythonhosted.org/packages/ee/82/82745642d3c46e7cea25e1885b014b033f4693346ce46b7f47483cf5d448/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:da0c79c23a63723aa5d782250fbf51b768abca630285262fb5144ba5ae01e520", size = 29187, upload-time = "2025-07-30T10:02:03.674Z" }, +] + +[[package]] +name = "arrow" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "types-python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960, upload-time = "2023-09-30T22:11:18.25Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419, upload-time = "2023-09-30T22:11:16.072Z" }, +] + +[[package]] +name = "asciitree" +version = "0.3.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz", hash = "sha256:4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e", size = 3951, upload-time = "2016-09-05T19:10:42.681Z" } + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, +] + +[[package]] +name = "asv" +version = "0.6.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asv-runner" }, + { name = "build" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "importlib-metadata" }, + { name = "json5" }, + { name = "packaging" }, + { name = "pympler", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tabulate" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/88/50/f762be4ee8632d88aff4ba9e62e7c156a0684ef52db629c22bae24fda449/asv-0.6.5.tar.gz", hash = "sha256:a8eeb7c5037cd78c146bd727d27203132438d4d62f36e669eb0cd5d63da0cf39", size = 402650, upload-time = "2025-09-13T16:25:48.141Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/84/6db5430f169d42c72a92851a7491f868a593351bb41eafb3ed7d7c53140f/asv-0.6.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0174f8f1b8a0c8db4df44ae923f128f64951604489adca2282add143c4996d33", size = 180214, upload-time = "2025-09-13T16:23:58.384Z" }, + { url = "https://files.pythonhosted.org/packages/c3/af/defaf2f0ccc139deea6715fc252f39bd20d83c850dac77d4d27a429d43d7/asv-0.6.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5408856baf761e2520da08b40e854d33915a3d59c2b8187c9d510d570eee1df2", size = 180507, upload-time = "2025-09-13T16:24:00.561Z" }, + { url = "https://files.pythonhosted.org/packages/20/cc/f2cf0f562e6cfc60f761c247510984321030a60e67a1578189f5793b5646/asv-0.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a998342b9f8f74f10324dddcb90554872cf3458a7ce6c8c3e96267c087a3459", size = 253792, upload-time = "2025-09-13T16:24:02.671Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b4/1ce9b980728844fececcbcde487c24b5e130ec90c964e4fb0e19328f8817/asv-0.6.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4dad86244253438bffc8b1a8f941e48be1bf06e61fb51b3512102dd52dc6717b", size = 255498, upload-time = "2025-09-13T16:24:05.179Z" }, + { url = "https://files.pythonhosted.org/packages/70/12/67e0aba3248b92c7c48225f30a56ae783aa6c593a7f198551376321dc93f/asv-0.6.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0a0068a12760e952741fd88050164658867258ccf5df5ee380e8b871cc6c6666", size = 806724, upload-time = "2025-09-13T16:24:08.008Z" }, + { url = "https://files.pythonhosted.org/packages/a9/4c/8d07c5b94763a687046b349e4cffe7df7c2b2ce14421ec22d9e3eee6c113/asv-0.6.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a1272609150c74144c86bc243a050eff63581fe906987b9b931abcaf26c65ca0", size = 1384071, upload-time = "2025-09-13T16:24:11.477Z" }, + { url = "https://files.pythonhosted.org/packages/b4/cc/3dda985fcf4e2bb940f7c574988f71f4b1fbb8d68d8a6c22a2b3c908f6be/asv-0.6.5-cp310-cp310-win_amd64.whl", hash = "sha256:ce0a6e834a4c30f2b567eb59c7189831bb0c2b345d5b92376b69b0def020f691", size = 182794, upload-time = "2025-09-13T16:24:13.771Z" }, + { url = "https://files.pythonhosted.org/packages/b0/95/27569d3f5077153911863207c2d1f96ea8b21ef7e9f8bc969dfac29d65f7/asv-0.6.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cfc6e195f51d83060458f443155adf8b968d73520c63d0c28c72f30be8d58858", size = 180216, upload-time = "2025-09-13T16:24:15.452Z" }, + { url = "https://files.pythonhosted.org/packages/68/92/293280069e6cb7b670c72760edef05ef7e8fd2c77837d077c01b8d7b0448/asv-0.6.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:816a420666f39980e75b4dd58545a0702474811087b8c933dd14fb9f0cac5dd6", size = 180511, upload-time = "2025-09-13T16:24:17.144Z" }, + { url = "https://files.pythonhosted.org/packages/1d/aa/42e55241325cd03b489105206919dd56351f6b55113dd844ce0cba8b0d5c/asv-0.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5bba7568ca5c72e1d980746925c353ac9e76d46329fc324ed43778f91c5c00a1", size = 254428, upload-time = "2025-09-13T16:24:19.157Z" }, + { url = "https://files.pythonhosted.org/packages/3f/b6/271d74413393b886b073dc4aa5dbb698426cf8e4f6774555969a70921595/asv-0.6.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423f671f671f6ae5dd2a6912c64130ed374d01dfe2c3d05a6a5307cc47d5ed", size = 256087, upload-time = "2025-09-13T16:24:20.41Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3d/bddea222ad0141f4ae4b24ba406ebfd13ab1637a50c60407c13d5ec9e090/asv-0.6.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4d82cc4e95530ce386c0280d84586b6358a7e73b6bb6d814b35734c2d49cc43a", size = 808082, upload-time = "2025-09-13T16:24:22.048Z" }, + { url = "https://files.pythonhosted.org/packages/08/11/8199376b9df37457c2a59a55e7f43f501f3c44cb54279dc5307f4966f666/asv-0.6.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7911132aab8263751946ff79d9b75d1178ec278d2731f09d6d14ef4f26842c70", size = 1384612, upload-time = "2025-09-13T16:24:24.38Z" }, + { url = "https://files.pythonhosted.org/packages/b5/47/3aceb8c4ca6d91e00b3fa6c6312580958791407034b0afd588f66dc6690e/asv-0.6.5-cp311-cp311-win_amd64.whl", hash = "sha256:48fba7264d348b932fd4d2f42b6128836347d46af3d61df0c9d641bc61678af8", size = 182792, upload-time = "2025-09-13T16:24:26.124Z" }, + { url = "https://files.pythonhosted.org/packages/e7/58/3c94d6043f2d815480b873f302ecda3b9debb0f202556fd822b118e87415/asv-0.6.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:375da7109fa160d41e4b86a5de7783e8c9bc9f1c930a1c02c29b652b15d46835", size = 180231, upload-time = "2025-09-13T16:24:27.465Z" }, + { url = "https://files.pythonhosted.org/packages/f2/75/2a23346aabb19698e97b7ee8f57eb905dabf7460b226a2070c6cdd3e8c17/asv-0.6.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:980cb8e9c3be5350621c85201bfb25f70c26695f69bd4e91b19f1b3c97f00ff3", size = 180531, upload-time = "2025-09-13T16:24:28.693Z" }, + { url = "https://files.pythonhosted.org/packages/27/d3/22bc22619266bced0a53ff07ee94a41bb09fed2bbe505e07a146fc4c1a58/asv-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13f503d45077ba275d357a9712fe1506b98e507eb276ca01e981c9e5baf30b43", size = 254851, upload-time = "2025-09-13T16:24:30.035Z" }, + { url = "https://files.pythonhosted.org/packages/de/70/9991371db795a84b4fb0774ff050ed48730c14568953f9f59ca35170541b/asv-0.6.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:440aca773d254f6590f7a459bdc388441027bc2745eae644675665acc3809c2e", size = 256342, upload-time = "2025-09-13T16:24:31.309Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1d/7cb7f02091908201c45c609d29ced5bbc1101a057edc0e1fb153f7592b4e/asv-0.6.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bf63f7ee3d35ec8191543d82ca3a3be3a3c0cde8eb2d45a672f09f32ba5fbb37", size = 807867, upload-time = "2025-09-13T16:24:33.298Z" }, + { url = "https://files.pythonhosted.org/packages/ff/02/946c53292fe551b3bb977260f29b5bfa9f284bf17088ccef5c8ddf28f06c/asv-0.6.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:58a0d2de09ebc67642b661d904d2e686e0f32bb5e8b4867523a15ff7561f061a", size = 1384841, upload-time = "2025-09-13T16:24:34.857Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f7/b43efa62f20af7e9035f6fd6dadb7109feddfb4e0b1e2ff791656ae55606/asv-0.6.5-cp312-cp312-win_amd64.whl", hash = "sha256:8df71cd3c656680051e0d0b2834521f7ab6da3d4804c48354c0e5ca341a0a39e", size = 182804, upload-time = "2025-09-13T16:24:36.135Z" }, + { url = "https://files.pythonhosted.org/packages/25/70/a00673c98d30de3377b036cd85247274330ade931c0e4909c3e2d269c0c6/asv-0.6.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bedfc7f0138ab136ccd67f42575dd4b2471c811239ad8c7b7aabc83f5eba79c3", size = 180236, upload-time = "2025-09-13T16:24:37.775Z" }, + { url = "https://files.pythonhosted.org/packages/2f/fd/d2f5c43dcb614cfedd1f339feb2f711b0a69e7c2ad96d68b547d44227c80/asv-0.6.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2f062e0658e568b98154afe11d91b5fb631f884678b7ad4a00ebcc0d6aa6b41f", size = 180537, upload-time = "2025-09-13T16:24:39.396Z" }, + { url = "https://files.pythonhosted.org/packages/6d/00/a8dba759f554e6aedc5a7caf2a8efd00e5c69536560c670b1f41e7b53d83/asv-0.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6caedcca3ec60602b907caeab54d1706abb12e088ce96650862c6fc117831cc0", size = 254761, upload-time = "2025-09-13T16:24:41.262Z" }, + { url = "https://files.pythonhosted.org/packages/3e/bd/89c4483e1e781e39957547d7bda0a7a7af338911ea159cd66a9415cc811d/asv-0.6.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:861ae69bfdd8659f95a058891c98757d3a5f857bf0ddc5d810e0dabf3405042e", size = 256267, upload-time = "2025-09-13T16:24:43.033Z" }, + { url = "https://files.pythonhosted.org/packages/35/f1/752a51a07be0c153281f04795433524c76e6926063da005b78e2053117c5/asv-0.6.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7344c0020c1ab1cb33af9626cf24e05c346b4fd521d4f866f35a7a9a276f8e16", size = 806346, upload-time = "2025-09-13T16:24:45.123Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ce/c6d9f2dc42462db7897178e21e38c925d8efb75813dde8e7a0a2e5126387/asv-0.6.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1279a92cd8a601d2be5430afe3dd9f942ab0e6003f33ff1914dd9f638b595a3d", size = 1384779, upload-time = "2025-09-13T16:24:46.758Z" }, + { url = "https://files.pythonhosted.org/packages/f0/4f/48af74f756f1c67b71074c99f265d382927de742288cf416e212c1808c7d/asv-0.6.5-cp313-cp313-win_amd64.whl", hash = "sha256:dbc3269464ec27d025d3b25e0e1f3d616035e05e01bcfceb2f4e965278d72197", size = 182807, upload-time = "2025-09-13T16:24:47.978Z" }, + { url = "https://files.pythonhosted.org/packages/7a/a1/722271d6b4d7756a71a425deaa4c57e1341f84c153765cd432e001885388/asv-0.6.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:bacb55e91562d5c8aa1ec63393db8cd5faac15be20133f9b5b538453341604a7", size = 179850, upload-time = "2025-09-13T16:25:19.183Z" }, + { url = "https://files.pythonhosted.org/packages/44/8d/14b0691728311e295ef7d22dc08782eb02ef79e080a748a37c22e26bda45/asv-0.6.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd9d0476ed9712252b933a27b29e0208b68c0909f0ff512f9c95cc1112def49", size = 179470, upload-time = "2025-09-13T16:25:20.407Z" }, + { url = "https://files.pythonhosted.org/packages/63/19/ecd112b688913b406772c919c64da9d3345747cf127cb967cff8d83bc591/asv-0.6.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dca4988cee5bdb2aa7552a123fe1e405574d1e67fa084bde25c32d93f329462a", size = 180233, upload-time = "2025-09-13T16:25:21.634Z" }, + { url = "https://files.pythonhosted.org/packages/c9/6d/b89b6b240e43375025363e6f68ea1ea2e59db832fe5a22e5a22b4718b0ac/asv-0.6.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:43b25126ca1a8620887be80caa1e826e79224277fc637e31ad6cacd38b6a81a9", size = 182887, upload-time = "2025-09-13T16:25:23.052Z" }, + { url = "https://files.pythonhosted.org/packages/35/78/ee6ad8ca4de3ad89e382f7fd45eabcfecfcd6dca844462706a8aa1f8d895/asv-0.6.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5204d6e4c9d574a9f8dd9b3834c3385b8b118d48ce4fcb3bc10b61f60de287fd", size = 179852, upload-time = "2025-09-13T16:25:24.263Z" }, + { url = "https://files.pythonhosted.org/packages/de/24/22a85656df00f64ceb1bc7c4a5a358a3990410cd9a96c48486fc2c13bdaf/asv-0.6.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c419db85e40ca1cebefbe8bd5f338a16cbc5f7a2cbf2de0793f95d6bda9ede6c", size = 179470, upload-time = "2025-09-13T16:25:25.76Z" }, + { url = "https://files.pythonhosted.org/packages/33/28/30a5571658ab4cd0f8ba616afad7782ed7ad82e04a7b6eda77e480abf174/asv-0.6.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80a76dc32330c97bfba861c547dd17bcc04811946f386e00c8c7dfbb12354280", size = 180233, upload-time = "2025-09-13T16:25:27.158Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d6/04875bb5abf2c6b8390d63e0ff45dc0a5c6413377be975b9e825150c7d75/asv-0.6.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:0f26006545918b9a2fb78323823bc4f9fa8bad628fc2aae5bd77d41f58fa61ac", size = 182887, upload-time = "2025-09-13T16:25:28.58Z" }, +] + +[[package]] +name = "asv-runner" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/4b/da5ae9c35e0b9f793d07d4939ad99e1d2ba7c9c502fd6074af5ff4554b03/asv_runner-0.2.1.tar.gz", hash = "sha256:945dd301a06fa9102f221b1e9ddd048f5ecd863796d4c8cd487f5577fe0db66d", size = 39518, upload-time = "2024-02-17T14:11:48.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/9a/6872af94fc8e8072723946651e65f66e16a0ca0efec7806bce8c2e2483d1/asv_runner-0.2.1-py3-none-any.whl", hash = "sha256:655d466208ce311768071f5003a61611481b24b3ad5ac41fb8a6374197e647e9", size = 47660, upload-time = "2024-02-11T21:50:07.026Z" }, +] + +[[package]] +name = "async-lru" +version = "2.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/4d/71ec4d3939dc755264f680f6c2b4906423a304c3d18e96853f0a595dfe97/async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb", size = 10380, upload-time = "2025-03-16T17:25:36.919Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/49/d10027df9fce941cb8184e78a02857af36360d33e1721df81c5ed2179a1a/async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943", size = 6069, upload-time = "2025-03-16T17:25:35.422Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "autodoc-pydantic" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "sphinx" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/df/87120e2195f08d760bc5cf8a31cfa2381a6887517aa89453b23f1ae3354f/autodoc_pydantic-2.2.0-py3-none-any.whl", hash = "sha256:8c6a36fbf6ed2700ea9c6d21ea76ad541b621fbdf16b5a80ee04673548af4d95", size = 34001, upload-time = "2024-04-27T10:57:00.542Z" }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/bb/3387a5bf72121e1e2cd9223d20598c2fb599ef63517ff3e6ec526d8c4928/beautifulsoup4-4.14.0.tar.gz", hash = "sha256:e6150e53c8a52fd4f3b9b28839f8f0fb7c7f029d3c953a50b1762b0947c3cf85", size = 625697, upload-time = "2025-09-27T17:22:17.532Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/4f/3e23dfc8b4951103028d30f29e17aa703a87564abd71bc405964c36326dc/beautifulsoup4-4.14.0-py3-none-any.whl", hash = "sha256:aee96fbccdf2d2a8d1288b2afa51fc76bb60823b7881a50fb1ed5f711d1a7d73", size = 106466, upload-time = "2025-09-27T17:22:16.13Z" }, +] + +[[package]] +name = "black" +version = "22.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "mypy-extensions" }, + { name = "pathspec" }, + { name = "platformdirs" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/59/e873cc6807fb62c11131e5258ca15577a3b7452abad08dc49286cf8245e8/black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f", size = 553112, upload-time = "2022-12-09T15:57:04.428Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/d9/60852a6fc2f85374db20a9767dacfe50c2172eb8388f46018c8daf836995/black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d", size = 1556665, upload-time = "2022-12-09T16:04:10.897Z" }, + { url = "https://files.pythonhosted.org/packages/71/57/975782465cc6b514f2c972421e29b933dfbb51d4a95948a4e0e94f36ea38/black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351", size = 1205632, upload-time = "2022-12-09T16:14:38.465Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e0/6aa02d14785c4039b38bfed6f9ee28a952b2d101c64fc97b15811fa8bd04/black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f", size = 1536577, upload-time = "2022-12-09T16:04:12.721Z" }, + { url = "https://files.pythonhosted.org/packages/4c/49/420dcfccba3215dc4e5790fa47572ef14129df1c5e95dd87b5ad30211b01/black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4", size = 1209873, upload-time = "2022-12-09T16:14:40.318Z" }, + { url = "https://files.pythonhosted.org/packages/0c/51/1f7f93c0555eaf4cbb628e26ba026e3256174a45bd9397ff1ea7cf96bad5/black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf", size = 167343, upload-time = "2022-12-09T15:57:02.229Z" }, +] + +[[package]] +name = "bleach" +version = "6.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "blinker" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460, upload-time = "2024-11-08T17:25:47.436Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458, upload-time = "2024-11-08T17:25:46.184Z" }, +] + +[[package]] +name = "blosc" +version = "1.11.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/ca/3ec5a5d05e10ad200d887c8cfb9492d9a02e05f9f8f726aa178123b1711b/blosc-1.11.3.tar.gz", hash = "sha256:89ed658eba7814a92e89c44d8c524148d55921595bc133bd1a90f8888a9e088e", size = 1439627, upload-time = "2025-05-17T11:50:03.713Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/3f/23d182b246d1e877f57c21e1136ecc232b6d817015358770424509ad8ec7/blosc-1.11.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b96333a29cbd7c23811f84afb406eeefde668d1b30b52d8cf97619f1a6e2218", size = 2274740, upload-time = "2025-05-17T11:49:04.869Z" }, + { url = "https://files.pythonhosted.org/packages/cf/10/d722417e3606c51297490edf3f6b60afb35bba44726925a04be69d18256e/blosc-1.11.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f993509c04335426d140e44d33011604a35aeff48873a86158393cfb4cadba41", size = 1801992, upload-time = "2025-05-17T11:49:06.834Z" }, + { url = "https://files.pythonhosted.org/packages/3b/50/4e030a8b8f878b047b62e2838528ecf5c120471aa69ec1cc3b78b95d313b/blosc-1.11.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db3593bbe73fd9877feee6b97e12a16973fa16c2e4cb21286b64369724482b5e", size = 2485416, upload-time = "2025-05-17T11:49:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/c7/e4/20f13078cb0ae69bb59dee170e50fee38c033cede76259066f78572c4444/blosc-1.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed133aabada36fc04f5b435592a95498277441a0b8d6e106006879ec4d094e05", size = 2619961, upload-time = "2025-05-17T11:49:10.17Z" }, + { url = "https://files.pythonhosted.org/packages/76/9e/23291ae6ea2ae39815ed6b2a832372a0ac4927975751039ee524a9ea3e6f/blosc-1.11.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1f5aa57e574762fed475daa9172a53053e3eeb1f72979f7dd1739289472c475c", size = 2678244, upload-time = "2025-05-17T11:49:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/93/be/9db8fadc453ca97ec3b6d0d5274d0dac0b3458e996cc86a99b96eca005ba/blosc-1.11.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0dfed36910623db800ed98c2ef3ba24e2d65aa6972aafd10b9f0db550ec197fc", size = 2752730, upload-time = "2025-05-17T11:49:13.628Z" }, + { url = "https://files.pythonhosted.org/packages/52/4c/08824d1277441777619d49e3a6b016bd4e82b63a19fad4c51aeb0fcb49fa/blosc-1.11.3-cp310-cp310-win32.whl", hash = "sha256:179e7030cd3088cec9f9235eb54740db8eb6abfca2f3f80d62921dc5fe56d2dd", size = 1530970, upload-time = "2025-05-17T11:49:15.274Z" }, + { url = "https://files.pythonhosted.org/packages/29/60/ef9fd034a4c9027cc2e19392acd70749e90f615754230588c702994e1a2d/blosc-1.11.3-cp310-cp310-win_amd64.whl", hash = "sha256:b70a2f7ccbbc7b8c37f16816947ae3f15e05e1cb443b37c3bb21c4a472e7de0c", size = 1815667, upload-time = "2025-05-17T11:49:17.912Z" }, + { url = "https://files.pythonhosted.org/packages/27/bd/887108b6d3f50f1fbfc796470630920197635a27856ea0c097867780b827/blosc-1.11.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8e235534e09d428e3665d9bec8655913e1bd095b55436a11b5bc9a196e07d477", size = 2274751, upload-time = "2025-05-17T11:49:19.579Z" }, + { url = "https://files.pythonhosted.org/packages/77/c2/a6fbc2d29c95b09f18fa92a2cbb59cfab62c1c21535420faac7e22a9715e/blosc-1.11.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:953fa3bd263d0a23838598a91aaf623f3faa20160289ab5c53404d95814283ae", size = 1801974, upload-time = "2025-05-17T11:49:21.301Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d4/c98f6ada26b31ecdf827c407f1069c44ea7a2626de8afaabdc134dc57147/blosc-1.11.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89b57f7428e40329d2e2caa1c439078cef265b3bd91b64f05fd76ee845ec7b25", size = 2485416, upload-time = "2025-05-17T11:49:22.442Z" }, + { url = "https://files.pythonhosted.org/packages/38/d5/6be838160326ff13a5e10aca0a82a33dd5eda2298574553247c2963f1c20/blosc-1.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c3e148519bec17e05e5fa390d55d8c4270d18edba430bca7949ae1493fa79d4", size = 2619996, upload-time = "2025-05-17T11:49:24.098Z" }, + { url = "https://files.pythonhosted.org/packages/78/c0/a5229545f63c48a7ff1dee4182745509785471ab3d000e9984f0573e000f/blosc-1.11.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8014b760e051fbbf6c4c75f342721d908494c4631fdfc738b177849966f38526", size = 2678244, upload-time = "2025-05-17T11:49:25.792Z" }, + { url = "https://files.pythonhosted.org/packages/39/23/25a2caedac53a5fe60c6a240f98684b95331ab8f3fe0eeb009d5feb34881/blosc-1.11.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e9ded3af5b49d1912dc087a700a20c001e5992bb9a31b1b6eb22d3c4372d3d02", size = 2752740, upload-time = "2025-05-17T11:49:27.595Z" }, + { url = "https://files.pythonhosted.org/packages/13/41/d0d7d7b8aa1fc1d7526aa8deed79a3dd2bc80d882d41d1659ec711df52e7/blosc-1.11.3-cp311-cp311-win32.whl", hash = "sha256:5c8586f13caf8848c676101259842d77f49fa0ba83e3e4e8fdd6a7f6f7b34b3e", size = 1530967, upload-time = "2025-05-17T11:49:28.814Z" }, + { url = "https://files.pythonhosted.org/packages/ea/78/901d41c86ba0dccf5f422aa4e484f0be6fb643b73d7b83cdd2474f6b2ef6/blosc-1.11.3-cp311-cp311-win_amd64.whl", hash = "sha256:171a3a6e9ce365b43978de65e93732c4d30dbf478f532cf41cfcc4d4a68e120a", size = 1815692, upload-time = "2025-05-17T11:49:30.15Z" }, + { url = "https://files.pythonhosted.org/packages/32/ca/b7447cc735c5b5e364a74f33b2af1c3a5ca939f915d03045a021c3279152/blosc-1.11.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:075f7b57576e8197c3febbb0317a198b18911a6b882ac114de8c9e90d9058acb", size = 2291581, upload-time = "2025-05-17T11:49:31.313Z" }, + { url = "https://files.pythonhosted.org/packages/86/e8/1679a35c079f0b42d973cf4411152975710ff190273ddb507ee8a9d1baf0/blosc-1.11.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d5a63601d24bd722b2daa20b86380bc147969466471ea8bf7950ad2f5da19834", size = 1801978, upload-time = "2025-05-17T11:49:32.45Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ed/b01be8d05f970d48a3837a1e22796e934a72ad657ba1383f8e6d7893ae51/blosc-1.11.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9ec958830a22a20fea66f4d7f491e0993959974d68d104d3798c88f543dda14", size = 2485404, upload-time = "2025-05-17T11:49:33.724Z" }, + { url = "https://files.pythonhosted.org/packages/59/08/9c133c628932bbaca9429a1a82759c5f07d8bbb0d856ca25ce9863f808c4/blosc-1.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47dbe4ad431a773699a5779a98a982d8241eb412e4ddd1f19a4a869106d7a8d9", size = 2619988, upload-time = "2025-05-17T11:49:35.347Z" }, + { url = "https://files.pythonhosted.org/packages/64/f2/18353bdfa9cd7af34f2b40c7da0ba919200688f41f4ebe7d4e9720af545d/blosc-1.11.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f41e9202cd2d73238f2620725e84f668338aa45a53549a807d4c09fcf74e901f", size = 2678188, upload-time = "2025-05-17T11:49:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/87/59/77ea209329c7d1ed692dd7b44a81bc66817588940341372bdb3282a232ce/blosc-1.11.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52edad6b839b9ae2a7f1268fabe1570fd64bc5ba25c3f4f7aba5c5e555dd4a8a", size = 2752726, upload-time = "2025-05-17T11:49:38.59Z" }, + { url = "https://files.pythonhosted.org/packages/0a/a9/53b1ecb81f0332ab6538e43555644e19ea08184b3ed3d36242847147103c/blosc-1.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:1a5cbcaa68d73e1115fed9ff09c20d35ab34d3b5e9bc6f0a2865156c363c0168", size = 1815691, upload-time = "2025-05-17T11:49:39.767Z" }, + { url = "https://files.pythonhosted.org/packages/a5/23/6ee0e7270ad6299e73483dfad31b17f8acf66f7768094316a35ee0534f1d/blosc-1.11.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b474c70b9765587323dd1d7ff8e9fa9e9b35ccb3bee77e7658ce9faf2e05f7f", size = 2291576, upload-time = "2025-05-17T11:49:41.013Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/d8097dd6bf952d4bc1a31852f717d5a1157b32c1bea50dac723ed8e6bc8d/blosc-1.11.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:291d153864f53960861a48c2a5f6706adc2a84a2bdd9c3d1c5353d9c32748a03", size = 1801973, upload-time = "2025-05-17T11:49:42.259Z" }, + { url = "https://files.pythonhosted.org/packages/1e/cb/7fdf0756e6a38d6a28c5063bc8ba8a8c8b1a1ab6980d777c52ca7dd942b1/blosc-1.11.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece67bb34741a147e4120cff3ee3784121709a112d16795716b8f4239aaddfa4", size = 2485043, upload-time = "2025-05-17T11:49:44.034Z" }, + { url = "https://files.pythonhosted.org/packages/7c/b8/d21a1305356312ca0fc6bd54ad6fb91e7434f0efef545972eb72f040c815/blosc-1.11.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e70216dbddb85b69a8d0f62a4a5c09b7a1fce9ca2f329793e799f8b6f9fa3ab0", size = 2619988, upload-time = "2025-05-17T11:49:45.346Z" }, + { url = "https://files.pythonhosted.org/packages/a0/79/9ed273c9493e02f0bc5deacd3854ecabd6c6ba5371ed04b6c7702fd16f77/blosc-1.11.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:220865ffcac638f8f0f4b51259d4e4f3236165e5b43fffd1e836cd7cd29b9367", size = 2678176, upload-time = "2025-05-17T11:49:47.12Z" }, + { url = "https://files.pythonhosted.org/packages/79/0e/c50458a1e038c0f0da70c3223d2a34ad702b86a79d0921f23a8ffaae035f/blosc-1.11.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d57dde8c335378e8443757b69d0b29e90dfc53047d01311e952aecc815167dec", size = 2752740, upload-time = "2025-05-17T11:49:48.909Z" }, + { url = "https://files.pythonhosted.org/packages/f1/0e/3a5ed949e0e23eb576c08017bb39e8612607cf8f591d8149b0fb82469a03/blosc-1.11.3-cp313-cp313-win32.whl", hash = "sha256:d3d72046580a50177811916c78130d6ae7307420733de6e950cb567c896b1ca5", size = 1530991, upload-time = "2025-05-17T11:49:50.121Z" }, + { url = "https://files.pythonhosted.org/packages/06/d4/0c3cdaf34b3ef705fdab465ad8df4a3bce5bbdf2bca8f2515eae90ae28a0/blosc-1.11.3-cp313-cp313-win_amd64.whl", hash = "sha256:73721c1949f2b8d2f4168cababbfe6280511f0da9a971ba7ec9c56eab9603824", size = 1815688, upload-time = "2025-05-17T11:49:51.434Z" }, +] + +[[package]] +name = "blosc2" +version = "2.7.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "msgpack", marker = "python_full_version < '3.11'" }, + { name = "ndindex", marker = "python_full_version < '3.11'" }, + { name = "numexpr", marker = "python_full_version < '3.11'" }, + { name = "numpy", marker = "python_full_version < '3.11'" }, + { name = "py-cpuinfo", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/bb/19a5d672f86dd26be0fc4f3a4c04264c088f3309b7b9d4e3e853a1f3cfda/blosc2-2.7.1.tar.gz", hash = "sha256:34db4d41543b16e894d507d6c7d10a9a67c9dd420ff40b072f7c39185cbb8fe8", size = 5149754, upload-time = "2024-07-30T20:18:33.3Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/f4/cbd6c3aaa6d328f73f6c86d56df016edb48083291b90eb945572584fa8f6/blosc2-2.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ad698c6fca8dee677b7a1881206f7ac43ffd7c458733716a3de1e1f3c6ba1f79", size = 3930841, upload-time = "2024-07-30T20:17:32.954Z" }, + { url = "https://files.pythonhosted.org/packages/3f/e7/0f259887dc4b5ac48ed088a932444052905aba1a883d2bd79fd54f6a8ead/blosc2-2.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5923a22fb7cfdad571b316930e8812618ba8b2ac1f37ac05edcf3eda71beed9f", size = 3316501, upload-time = "2024-07-30T20:17:36.095Z" }, + { url = "https://files.pythonhosted.org/packages/45/6a/dc70194a05e03904a5c9fec9241838b3168afba98f31a0cc7b9a4451f033/blosc2-2.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18770f75174a3aae5712f53e9cb5885b258b730b281cbb3bf1e7a74ea3d94fae", size = 4262586, upload-time = "2024-07-30T20:17:39.271Z" }, + { url = "https://files.pythonhosted.org/packages/bb/1b/5abcd413e11222411ea6032be42aa4db3eac51ab04b967f7e8c669fdb857/blosc2-2.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3412e83e6b2508f3da0b0f3e0bf86bef4dac56f018525d2ab55ca50712a2b91a", size = 4409460, upload-time = "2024-07-30T20:17:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/44/fb/0bc4828c931402d711e9e26aa9938b7ed4f3abc4e7714edc9ab593ab83c8/blosc2-2.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:06e0933855a6cba347692f08de1aaa51a8858dda67e7c5eaeaab59663b897879", size = 4815324, upload-time = "2024-07-30T20:17:43.155Z" }, + { url = "https://files.pythonhosted.org/packages/db/64/6e11754d7498aa9e7fa13436e9eef00aaf1c74a9c67f74b36e134bd2c81a/blosc2-2.7.1-cp310-cp310-win32.whl", hash = "sha256:d5e03ec783841c82ba6704638f5847a80cac8625186932a8f3b47bc5fbda4f7e", size = 1982839, upload-time = "2024-07-30T20:17:48.104Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a5/0bf10f282853aaf77f8f7b919ca79813b56b2d7955625400d527eb268449/blosc2-2.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:150030e81bd5037f802ce7844281a37ff67e0998aa1735c48b02f3c6401bf0a1", size = 2374796, upload-time = "2024-07-30T20:17:49.67Z" }, + { url = "https://files.pythonhosted.org/packages/22/cb/2a5b2024afa43f9b90a21022c44211ba064dc3501e99e3a8ea5b275189dd/blosc2-2.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:51fa45187639cd1f7822355c91f6ceb0fbff6157eb6f9c32462782551fc61283", size = 3933072, upload-time = "2024-07-30T20:17:51.906Z" }, + { url = "https://files.pythonhosted.org/packages/77/3d/1dedc6be1a730d4ba75c599fa8f5426efd02cef7722ed7e54b16e0ae8702/blosc2-2.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8134aaaf72b670f2ddf258d9b64646c262d6b1b112a530d39f9a5d316f3b306", size = 3317470, upload-time = "2024-07-30T20:17:54.008Z" }, + { url = "https://files.pythonhosted.org/packages/e0/93/c1051b42f9797504c11d28185b7e4e343e716eb12152f087cf5312aa7b8b/blosc2-2.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c10a9505c6d2d5e58f03a1139b4a4b234511baa9ebeba17f8f1cc22881ca764", size = 4260663, upload-time = "2024-07-30T20:17:58.1Z" }, + { url = "https://files.pythonhosted.org/packages/3e/00/21f408b3257fff4e5166dbd666ee2739f088e139dc90743b09952ee0ebd8/blosc2-2.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed15f0eb6a99df425b33be948fb309a97e76bda37eae20022bc9611bce775592", size = 4406560, upload-time = "2024-07-30T20:17:59.903Z" }, + { url = "https://files.pythonhosted.org/packages/ba/4d/0295f619fad024e05a46afc1315661f08f3ac3f2c051c9bf060cfb91fe2d/blosc2-2.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7a369a72467b54fb45aa307cf6e3ae84ec0212a9b55cfa5f4d4eb06a06bb1472", size = 4814632, upload-time = "2024-07-30T20:18:02.039Z" }, + { url = "https://files.pythonhosted.org/packages/d8/f6/aeb8cd6c0184870ad2be3cf3664a23e45595024b47cc036e83f20b2d039f/blosc2-2.7.1-cp311-cp311-win32.whl", hash = "sha256:bf55816beaf34eaba021904ee7d6c428ca338d0f3ec7a5be04dda552258d0a8b", size = 1982521, upload-time = "2024-07-30T20:18:04.62Z" }, + { url = "https://files.pythonhosted.org/packages/df/e1/36db3625759c8e620ed992450e9579a02f023538292883e04189845d98d0/blosc2-2.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:9b00bcaeaf125491cc6dec5508389f95152de69cc678a63a0310a756511f3d21", size = 2375006, upload-time = "2024-07-30T20:18:09.64Z" }, + { url = "https://files.pythonhosted.org/packages/d8/83/417cc99eb9c46a295c9b9381834e9728ba1c583ad942610755a5348f9965/blosc2-2.7.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bd91a5d9e1d35b47bf5a3b6b440bc120f1fa0af45264c0a6ccca6b1083de43e9", size = 3937332, upload-time = "2024-07-30T20:18:11.366Z" }, + { url = "https://files.pythonhosted.org/packages/f1/85/3f817bcd5f665625a46056ea7acad8a4798238a37d85a22cc8294e885e89/blosc2-2.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2c7dbdd93378d01b048536b2eccbb77eaa73054665bc3a9396e4e391a50c4ad0", size = 3317749, upload-time = "2024-07-30T20:18:17.392Z" }, + { url = "https://files.pythonhosted.org/packages/01/00/35bac426ec7e1e0ea05193043bb2c1a3151861a2f5519ab070223ca5819e/blosc2-2.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c662a3cab4760c194407de1990bd70608af29ee30d6471072463cdc8cc6586c4", size = 4242056, upload-time = "2024-07-30T20:18:19.635Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/54099025ce55a33d2be80eda16821d695c0249c9826e14196e2655ca4a7e/blosc2-2.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f3e5ed25930596492dddac8022a729d538efb3c1c4e4904a0021288cf4835", size = 4390896, upload-time = "2024-07-30T20:18:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/40/2b/9fb84e2656f09ac90fed163490c11e88a8f5306e53f27b9eb324a2d966b9/blosc2-2.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:23763b3602df9b0e63d16d21abadaac426a74370a0a986f08bf5322bcfd207c6", size = 4793489, upload-time = "2024-07-30T20:18:24.059Z" }, + { url = "https://files.pythonhosted.org/packages/9b/f6/3864933ef0d51845a78f260dce9eba4e3938ff136d1dcd7a4b9d91d25191/blosc2-2.7.1-cp312-cp312-win32.whl", hash = "sha256:6c894ef42fabc49c6bd1c41d2e45ac24e911b3b711c1e26f9be93dbcbf5fd4e2", size = 1977960, upload-time = "2024-07-30T20:18:25.643Z" }, + { url = "https://files.pythonhosted.org/packages/77/81/44def26a468e14309a4cb7d5f6f0534e3e9eec292c0453a9624a4d9c0ebd/blosc2-2.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:a1a884f181a2a9612470bcd589794c7adda3eebdaed918e1a8b6e69683524b70", size = 2370429, upload-time = "2024-07-30T20:18:30.863Z" }, +] + +[[package]] +name = "blosc2" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "httpx", marker = "python_full_version >= '3.11'" }, + { name = "msgpack", marker = "python_full_version >= '3.11'" }, + { name = "ndindex", marker = "python_full_version >= '3.11'" }, + { name = "numexpr", marker = "python_full_version >= '3.11'" }, + { name = "numpy", marker = "python_full_version >= '3.11'" }, + { name = "platformdirs", marker = "python_full_version >= '3.11'" }, + { name = "py-cpuinfo", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/07/72/ce387bfd0c8f0e7acc7c62b8bc13d5beaabcef5a735800da0beeaf3ad1df/blosc2-3.1.1.tar.gz", hash = "sha256:1999f442676d31b07820fb97437caca3b1fbd7c94bfa2d18f6f26c2e9d90e622", size = 9927475, upload-time = "2025-02-14T11:24:38.053Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/4f/4cb0b133c71a590d0c7e02c6174ba81363e8ac196e4f23366dbc437b51af/blosc2-3.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0360121f37a556e69107f59d34da8d26c9cb9c970a34465b181678b556f9536c", size = 3979440, upload-time = "2025-02-14T11:23:55.183Z" }, + { url = "https://files.pythonhosted.org/packages/ac/68/b1f9a45dc04d0764fc510d3bbed821c4f97d1548b717f33b7c8cbe5d426a/blosc2-3.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64a86da9a784770815e14294b16200b696808f1a244f6675e3ecd12165c1e650", size = 3361371, upload-time = "2025-02-14T11:23:58.578Z" }, + { url = "https://files.pythonhosted.org/packages/19/56/47cd78d0a7f0f8d2ed1241b2df48f71e18834b0c2172a99dabd6c8388fe3/blosc2-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7aa92f21c63e22d0b04c2a84c26c4489ae7f9486b6eb1dbd9f492e1a51296f69", size = 4256670, upload-time = "2025-02-14T11:24:01.438Z" }, + { url = "https://files.pythonhosted.org/packages/c5/3c/4a8415fccaa0ee6c801d3cee3cc4cfac300261dc3395f2cb8fa1a458a588/blosc2-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69c9e486236bb5d1d7c62d412d92f10ad374d90bcf4039a1e7b7f2823470f0de", size = 4418537, upload-time = "2025-02-14T11:24:05.335Z" }, + { url = "https://files.pythonhosted.org/packages/61/33/3890fd4555f574b101b8ebbae199259d4ee7441933b650eff991510fec6e/blosc2-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b6b20c6a761f38b4266fa109242382eac7b466b770b4bf994f334930f94e37f", size = 2184619, upload-time = "2025-02-14T11:24:08.343Z" }, + { url = "https://files.pythonhosted.org/packages/83/03/2a62a18edd2e632a8d6a57a7795bb5a32abcc505050c254020c400a1dcde/blosc2-3.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c18a77ada14609efcc2ba4ebbf91e19ebf5292a1b6153d820c6245e226d0fb2", size = 3991129, upload-time = "2025-02-14T11:24:12.082Z" }, + { url = "https://files.pythonhosted.org/packages/e6/d0/e434a8de4a7826729504f5c1351c6dcab64ee0a87a57614ec730307b6316/blosc2-3.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6148dcd8e802bd845d610aebf1537cfa56b12f46706282d319adc4cd0ce6014b", size = 3361417, upload-time = "2025-02-14T11:24:13.928Z" }, + { url = "https://files.pythonhosted.org/packages/9f/54/981412a67003e08954cf94113de3a92a6b55c6c408f7862f28fc551dc7bf/blosc2-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1d31a0eb8023b3976f4b6af238600cbc4858b5d2c35103a419b4ed339e0ccb8", size = 4236591, upload-time = "2025-02-14T11:24:17.375Z" }, + { url = "https://files.pythonhosted.org/packages/4e/b1/a903f5017fe501d97189a87a6f100cfca09cb884a2f1ef9f68d65e767fca/blosc2-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2fab7291999d96d4e3f84fd97adaddce07c31dc06b0f15eab75334433299ab5", size = 4402233, upload-time = "2025-02-14T11:24:20.084Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d9/8fa3765e848b031321439273ee94ea3b4225480e50169f791d02d1b979f8/blosc2-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:db153e073b616f0408bbda7c60c5b039bfae4c19430c80b21f022d4b415071b0", size = 2178606, upload-time = "2025-02-14T11:24:21.897Z" }, + { url = "https://files.pythonhosted.org/packages/25/ad/9c2b566611f7eeace73303e8628f1bd811b85a848fffbd56c3283f140d96/blosc2-3.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b4bdc0d0e471a5a799a3ea047c1357a881ed14a3b4208de87d5bf46eabc4d90f", size = 3989170, upload-time = "2025-02-14T11:24:24.071Z" }, + { url = "https://files.pythonhosted.org/packages/72/2f/1fa26cd7f26b4fcb00ab081a625084e8f5ba0ce37bf6fe020231361240c0/blosc2-3.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f951160a7f13d6acc45234fa7df032188ddfbf664ff747342f4f3c3490123d7e", size = 3359806, upload-time = "2025-02-14T11:24:26.731Z" }, + { url = "https://files.pythonhosted.org/packages/37/49/dc2f354abde747ffb384ab94d1a8775b6e4d8062815119446b6a9d3439d3/blosc2-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30de8258400dae8e53a15c7e4bc631c4b5db0b954d17651da908ec8a652137f", size = 4235962, upload-time = "2025-02-14T11:24:29.632Z" }, + { url = "https://files.pythonhosted.org/packages/8b/14/cc880f88bde3dc890def8591a3babb8f463caf4edc95f3319f2718667f1e/blosc2-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fab9efb920fc54aaf1387346fcbea6764ebd3413311b31c0c661875eb83a6d2", size = 4401256, upload-time = "2025-02-14T11:24:33.14Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e6/c1602b0642110d621e9661b24eaa5f20bf691191d1e1915005b97fc18283/blosc2-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:3cb0f17ce4551ecff5a90eee5e297be73c29689fb82c026f51751d4e48cee4cd", size = 2178726, upload-time = "2025-02-14T11:24:34.766Z" }, +] + +[[package]] +name = "brotli" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/3a/dbf4fb970c1019a57b5e492e1e0eae745d32e59ba4d6161ab5422b08eefe/Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752", size = 873045, upload-time = "2023-09-07T14:03:16.894Z" }, + { url = "https://files.pythonhosted.org/packages/dd/11/afc14026ea7f44bd6eb9316d800d439d092c8d508752055ce8d03086079a/Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9", size = 446218, upload-time = "2023-09-07T14:03:18.917Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/7545a6e7729db43cb36c4287ae388d6885c85a86dd251768a47015dfde32/Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3", size = 2903872, upload-time = "2023-09-07T14:03:20.398Z" }, + { url = "https://files.pythonhosted.org/packages/32/23/35331c4d9391fcc0f29fd9bec2c76e4b4eeab769afbc4b11dd2e1098fb13/Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d", size = 2941254, upload-time = "2023-09-07T14:03:21.914Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/1671acb450c902edb64bd765d73603797c6c7280a9ada85a195f6b78c6e5/Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e", size = 2857293, upload-time = "2023-09-07T14:03:24Z" }, + { url = "https://files.pythonhosted.org/packages/d5/00/40f760cc27007912b327fe15bf6bfd8eaecbe451687f72a8abc587d503b3/Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da", size = 3002385, upload-time = "2023-09-07T14:03:26.248Z" }, + { url = "https://files.pythonhosted.org/packages/b8/cb/8aaa83f7a4caa131757668c0fb0c4b6384b09ffa77f2fba9570d87ab587d/Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80", size = 2911104, upload-time = "2023-09-07T14:03:27.849Z" }, + { url = "https://files.pythonhosted.org/packages/bc/c4/65456561d89d3c49f46b7fbeb8fe6e449f13bdc8ea7791832c5d476b2faf/Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d", size = 2809981, upload-time = "2023-09-07T14:03:29.92Z" }, + { url = "https://files.pythonhosted.org/packages/05/1b/cf49528437bae28abce5f6e059f0d0be6fecdcc1d3e33e7c54b3ca498425/Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0", size = 2935297, upload-time = "2023-09-07T14:03:32.035Z" }, + { url = "https://files.pythonhosted.org/packages/81/ff/190d4af610680bf0c5a09eb5d1eac6e99c7c8e216440f9c7cfd42b7adab5/Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e", size = 2930735, upload-time = "2023-09-07T14:03:33.801Z" }, + { url = "https://files.pythonhosted.org/packages/80/7d/f1abbc0c98f6e09abd3cad63ec34af17abc4c44f308a7a539010f79aae7a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5dab0844f2cf82be357a0eb11a9087f70c5430b2c241493fc122bb6f2bb0917c", size = 2933107, upload-time = "2024-10-18T12:32:09.016Z" }, + { url = "https://files.pythonhosted.org/packages/34/ce/5a5020ba48f2b5a4ad1c0522d095ad5847a0be508e7d7569c8630ce25062/Brotli-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4fe605b917c70283db7dfe5ada75e04561479075761a0b3866c081d035b01c1", size = 2845400, upload-time = "2024-10-18T12:32:11.134Z" }, + { url = "https://files.pythonhosted.org/packages/44/89/fa2c4355ab1eecf3994e5a0a7f5492c6ff81dfcb5f9ba7859bd534bb5c1a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1e9a65b5736232e7a7f91ff3d02277f11d339bf34099a56cdab6a8b3410a02b2", size = 3031985, upload-time = "2024-10-18T12:32:12.813Z" }, + { url = "https://files.pythonhosted.org/packages/af/a4/79196b4a1674143d19dca400866b1a4d1a089040df7b93b88ebae81f3447/Brotli-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:58d4b711689366d4a03ac7957ab8c28890415e267f9b6589969e74b6e42225ec", size = 2927099, upload-time = "2024-10-18T12:32:14.733Z" }, + { url = "https://files.pythonhosted.org/packages/e9/54/1c0278556a097f9651e657b873ab08f01b9a9ae4cac128ceb66427d7cd20/Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2", size = 333172, upload-time = "2023-09-07T14:03:35.212Z" }, + { url = "https://files.pythonhosted.org/packages/f7/65/b785722e941193fd8b571afd9edbec2a9b838ddec4375d8af33a50b8dab9/Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128", size = 357255, upload-time = "2023-09-07T14:03:36.447Z" }, + { url = "https://files.pythonhosted.org/packages/96/12/ad41e7fadd5db55459c4c401842b47f7fee51068f86dd2894dd0dcfc2d2a/Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc", size = 873068, upload-time = "2023-09-07T14:03:37.779Z" }, + { url = "https://files.pythonhosted.org/packages/95/4e/5afab7b2b4b61a84e9c75b17814198ce515343a44e2ed4488fac314cd0a9/Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6", size = 446244, upload-time = "2023-09-07T14:03:39.223Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e6/f305eb61fb9a8580c525478a4a34c5ae1a9bcb12c3aee619114940bc513d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd", size = 2906500, upload-time = "2023-09-07T14:03:40.858Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4f/af6846cfbc1550a3024e5d3775ede1e00474c40882c7bf5b37a43ca35e91/Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf", size = 2943950, upload-time = "2023-09-07T14:03:42.896Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e7/ca2993c7682d8629b62630ebf0d1f3bb3d579e667ce8e7ca03a0a0576a2d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61", size = 2918527, upload-time = "2023-09-07T14:03:44.552Z" }, + { url = "https://files.pythonhosted.org/packages/b3/96/da98e7bedc4c51104d29cc61e5f449a502dd3dbc211944546a4cc65500d3/Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327", size = 2845489, upload-time = "2023-09-07T14:03:46.594Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ef/ccbc16947d6ce943a7f57e1a40596c75859eeb6d279c6994eddd69615265/Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd", size = 2914080, upload-time = "2023-09-07T14:03:48.204Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/0bd38d758d1afa62a5524172f0b18626bb2392d717ff94806f741fcd5ee9/Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9", size = 2813051, upload-time = "2023-09-07T14:03:50.348Z" }, + { url = "https://files.pythonhosted.org/packages/14/56/48859dd5d129d7519e001f06dcfbb6e2cf6db92b2702c0c2ce7d97e086c1/Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265", size = 2938172, upload-time = "2023-09-07T14:03:52.395Z" }, + { url = "https://files.pythonhosted.org/packages/3d/77/a236d5f8cd9e9f4348da5acc75ab032ab1ab2c03cc8f430d24eea2672888/Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8", size = 2933023, upload-time = "2023-09-07T14:03:53.96Z" }, + { url = "https://files.pythonhosted.org/packages/f1/87/3b283efc0f5cb35f7f84c0c240b1e1a1003a5e47141a4881bf87c86d0ce2/Brotli-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c247dd99d39e0338a604f8c2b3bc7061d5c2e9e2ac7ba9cc1be5a69cb6cd832f", size = 2935871, upload-time = "2024-10-18T12:32:16.688Z" }, + { url = "https://files.pythonhosted.org/packages/f3/eb/2be4cc3e2141dc1a43ad4ca1875a72088229de38c68e842746b342667b2a/Brotli-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b2c248cd517c222d89e74669a4adfa5577e06ab68771a529060cf5a156e9757", size = 2847784, upload-time = "2024-10-18T12:32:18.459Z" }, + { url = "https://files.pythonhosted.org/packages/66/13/b58ddebfd35edde572ccefe6890cf7c493f0c319aad2a5badee134b4d8ec/Brotli-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a24c50840d89ded6c9a8fdc7b6ed3692ed4e86f1c4a4a938e1e92def92933e0", size = 3034905, upload-time = "2024-10-18T12:32:20.192Z" }, + { url = "https://files.pythonhosted.org/packages/84/9c/bc96b6c7db824998a49ed3b38e441a2cae9234da6fa11f6ed17e8cf4f147/Brotli-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f31859074d57b4639318523d6ffdca586ace54271a73ad23ad021acd807eb14b", size = 2929467, upload-time = "2024-10-18T12:32:21.774Z" }, + { url = "https://files.pythonhosted.org/packages/e7/71/8f161dee223c7ff7fea9d44893fba953ce97cf2c3c33f78ba260a91bcff5/Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50", size = 333169, upload-time = "2023-09-07T14:03:55.404Z" }, + { url = "https://files.pythonhosted.org/packages/02/8a/fece0ee1057643cb2a5bbf59682de13f1725f8482b2c057d4e799d7ade75/Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1", size = 357253, upload-time = "2023-09-07T14:03:56.643Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d0/5373ae13b93fe00095a58efcbce837fd470ca39f703a235d2a999baadfbc/Brotli-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32d95b80260d79926f5fab3c41701dbb818fde1c9da590e77e571eefd14abe28", size = 815693, upload-time = "2024-10-18T12:32:23.824Z" }, + { url = "https://files.pythonhosted.org/packages/8e/48/f6e1cdf86751300c288c1459724bfa6917a80e30dbfc326f92cea5d3683a/Brotli-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b760c65308ff1e462f65d69c12e4ae085cff3b332d894637f6273a12a482d09f", size = 422489, upload-time = "2024-10-18T12:32:25.641Z" }, + { url = "https://files.pythonhosted.org/packages/06/88/564958cedce636d0f1bed313381dfc4b4e3d3f6015a63dae6146e1b8c65c/Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409", size = 873081, upload-time = "2023-09-07T14:03:57.967Z" }, + { url = "https://files.pythonhosted.org/packages/58/79/b7026a8bb65da9a6bb7d14329fd2bd48d2b7f86d7329d5cc8ddc6a90526f/Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2", size = 446244, upload-time = "2023-09-07T14:03:59.319Z" }, + { url = "https://files.pythonhosted.org/packages/e5/18/c18c32ecea41b6c0004e15606e274006366fe19436b6adccc1ae7b2e50c2/Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451", size = 2906505, upload-time = "2023-09-07T14:04:01.327Z" }, + { url = "https://files.pythonhosted.org/packages/08/c8/69ec0496b1ada7569b62d85893d928e865df29b90736558d6c98c2031208/Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91", size = 2944152, upload-time = "2023-09-07T14:04:03.033Z" }, + { url = "https://files.pythonhosted.org/packages/ab/fb/0517cea182219d6768113a38167ef6d4eb157a033178cc938033a552ed6d/Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408", size = 2919252, upload-time = "2023-09-07T14:04:04.675Z" }, + { url = "https://files.pythonhosted.org/packages/c7/53/73a3431662e33ae61a5c80b1b9d2d18f58dfa910ae8dd696e57d39f1a2f5/Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0", size = 2845955, upload-time = "2023-09-07T14:04:06.585Z" }, + { url = "https://files.pythonhosted.org/packages/55/ac/bd280708d9c5ebdbf9de01459e625a3e3803cce0784f47d633562cf40e83/Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc", size = 2914304, upload-time = "2023-09-07T14:04:08.668Z" }, + { url = "https://files.pythonhosted.org/packages/76/58/5c391b41ecfc4527d2cc3350719b02e87cb424ef8ba2023fb662f9bf743c/Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180", size = 2814452, upload-time = "2023-09-07T14:04:10.736Z" }, + { url = "https://files.pythonhosted.org/packages/c7/4e/91b8256dfe99c407f174924b65a01f5305e303f486cc7a2e8a5d43c8bec3/Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248", size = 2938751, upload-time = "2023-09-07T14:04:12.875Z" }, + { url = "https://files.pythonhosted.org/packages/5a/a6/e2a39a5d3b412938362bbbeba5af904092bf3f95b867b4a3eb856104074e/Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966", size = 2933757, upload-time = "2023-09-07T14:04:14.551Z" }, + { url = "https://files.pythonhosted.org/packages/13/f0/358354786280a509482e0e77c1a5459e439766597d280f28cb097642fc26/Brotli-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:87a3044c3a35055527ac75e419dfa9f4f3667a1e887ee80360589eb8c90aabb9", size = 2936146, upload-time = "2024-10-18T12:32:27.257Z" }, + { url = "https://files.pythonhosted.org/packages/80/f7/daf538c1060d3a88266b80ecc1d1c98b79553b3f117a485653f17070ea2a/Brotli-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c5529b34c1c9d937168297f2c1fde7ebe9ebdd5e121297ff9c043bdb2ae3d6fb", size = 2848055, upload-time = "2024-10-18T12:32:29.376Z" }, + { url = "https://files.pythonhosted.org/packages/ad/cf/0eaa0585c4077d3c2d1edf322d8e97aabf317941d3a72d7b3ad8bce004b0/Brotli-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ca63e1890ede90b2e4454f9a65135a4d387a4585ff8282bb72964fab893f2111", size = 3035102, upload-time = "2024-10-18T12:32:31.371Z" }, + { url = "https://files.pythonhosted.org/packages/d8/63/1c1585b2aa554fe6dbce30f0c18bdbc877fa9a1bf5ff17677d9cca0ac122/Brotli-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e79e6520141d792237c70bcd7a3b122d00f2613769ae0cb61c52e89fd3443839", size = 2930029, upload-time = "2024-10-18T12:32:33.293Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3b/4e3fd1893eb3bbfef8e5a80d4508bec17a57bb92d586c85c12d28666bb13/Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0", size = 333276, upload-time = "2023-09-07T14:04:16.49Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d5/942051b45a9e883b5b6e98c041698b1eb2012d25e5948c58d6bf85b1bb43/Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951", size = 357255, upload-time = "2023-09-07T14:04:17.83Z" }, + { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" }, +] + +[[package]] +name = "brotlicffi" +version = "1.1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13", size = 465192, upload-time = "2023-09-14T14:22:40.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/11/7b96009d3dcc2c931e828ce1e157f03824a69fb728d06bfd7b2fc6f93718/brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851", size = 453786, upload-time = "2023-09-14T14:21:57.72Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e6/a8f46f4a4ee7856fbd6ac0c6fb0dc65ed181ba46cd77875b8d9bbe494d9e/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b", size = 2911165, upload-time = "2023-09-14T14:21:59.613Z" }, + { url = "https://files.pythonhosted.org/packages/be/20/201559dff14e83ba345a5ec03335607e47467b6633c210607e693aefac40/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814", size = 2927895, upload-time = "2023-09-14T14:22:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/cd/15/695b1409264143be3c933f708a3f81d53c4a1e1ebbc06f46331decbf6563/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820", size = 2851834, upload-time = "2023-09-14T14:22:03.571Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/b961a702463b6005baf952794c2e9e0099bde657d0d7e007f923883b907f/brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb", size = 341731, upload-time = "2023-09-14T14:22:05.74Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fa/5408a03c041114ceab628ce21766a4ea882aa6f6f0a800e04ee3a30ec6b9/brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613", size = 366783, upload-time = "2023-09-14T14:22:07.096Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3b/bd4f3d2bcf2306ae66b0346f5b42af1962480b200096ffc7abc3bd130eca/brotlicffi-1.1.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e4aeb0bd2540cb91b069dbdd54d458da8c4334ceaf2d25df2f4af576d6766ca", size = 397397, upload-time = "2023-09-14T14:22:08.519Z" }, + { url = "https://files.pythonhosted.org/packages/54/10/1fd57864449360852c535c2381ee7120ba8f390aa3869df967c44ca7eba1/brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7b0033b0d37bb33009fb2fef73310e432e76f688af76c156b3594389d81391", size = 379698, upload-time = "2023-09-14T14:22:10.52Z" }, + { url = "https://files.pythonhosted.org/packages/e5/95/15aa422aa6450e6556e54a5fd1650ff59f470aed77ac739aa90ab63dc611/brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54a07bb2374a1eba8ebb52b6fafffa2afd3c4df85ddd38fcc0511f2bb387c2a8", size = 378635, upload-time = "2023-09-14T14:22:11.982Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a7/f254e13b2cb43337d6d99a4ec10394c134e41bfda8a2eff15b75627f4a3d/brotlicffi-1.1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7901a7dc4b88f1c1475de59ae9be59799db1007b7d059817948d8e4f12e24e35", size = 385719, upload-time = "2023-09-14T14:22:13.483Z" }, + { url = "https://files.pythonhosted.org/packages/72/a9/0971251c4427c14b2a827dba3d910d4d3330dabf23d4278bf6d06a978847/brotlicffi-1.1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce01c7316aebc7fce59da734286148b1d1b9455f89cf2c8a4dfce7d41db55c2d", size = 361760, upload-time = "2023-09-14T14:22:14.767Z" }, +] + +[[package]] +name = "build" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "os_name == 'nt'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10.2'" }, + { name = "packaging" }, + { name = "pyproject-hooks" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/1c/23e33405a7c9eac261dff640926b8b5adaed6a6eb3e1767d441ed611d0c0/build-1.3.0.tar.gz", hash = "sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397", size = 48544, upload-time = "2025-08-01T21:27:09.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/8c/2b30c12155ad8de0cf641d76a8b396a16d2c36bc6d50b621a62b7c4567c1/build-1.3.0-py3-none-any.whl", hash = "sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4", size = 23382, upload-time = "2025-08-01T21:27:07.844Z" }, +] + +[[package]] +name = "bump2version" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/29/2a/688aca6eeebfe8941235be53f4da780c6edee05dbbea5d7abaa3aab6fad2/bump2version-1.0.1.tar.gz", hash = "sha256:762cb2bfad61f4ec8e2bdf452c7c267416f8c70dd9ecb1653fd0bbb01fa936e6", size = 36236, upload-time = "2020-10-07T18:38:40.119Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/e3/fa60c47d7c344533142eb3af0b73234ef8ea3fb2da742ab976b947e717df/bump2version-1.0.1-py2.py3-none-any.whl", hash = "sha256:37f927ea17cde7ae2d7baf832f8e80ce3777624554a653006c9144f8017fe410", size = 22030, upload-time = "2020-10-07T18:38:38.148Z" }, +] + +[[package]] +name = "certifi" +version = "2025.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" }, + { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" }, + { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" }, + { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" }, + { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" }, + { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" }, + { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" }, + { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" }, + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/98/f3b8013223728a99b908c9344da3aa04ee6e3fa235f19409033eda92fb78/charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72", size = 207695, upload-time = "2025-08-09T07:55:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/21/40/5188be1e3118c82dcb7c2a5ba101b783822cfb413a0268ed3be0468532de/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe", size = 147153, upload-time = "2025-08-09T07:55:38.467Z" }, + { url = "https://files.pythonhosted.org/packages/37/60/5d0d74bc1e1380f0b72c327948d9c2aca14b46a9efd87604e724260f384c/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601", size = 160428, upload-time = "2025-08-09T07:55:40.072Z" }, + { url = "https://files.pythonhosted.org/packages/85/9a/d891f63722d9158688de58d050c59dc3da560ea7f04f4c53e769de5140f5/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c", size = 157627, upload-time = "2025-08-09T07:55:41.706Z" }, + { url = "https://files.pythonhosted.org/packages/65/1a/7425c952944a6521a9cfa7e675343f83fd82085b8af2b1373a2409c683dc/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2", size = 152388, upload-time = "2025-08-09T07:55:43.262Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c9/a2c9c2a355a8594ce2446085e2ec97fd44d323c684ff32042e2a6b718e1d/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0", size = 150077, upload-time = "2025-08-09T07:55:44.903Z" }, + { url = "https://files.pythonhosted.org/packages/3b/38/20a1f44e4851aa1c9105d6e7110c9d020e093dfa5836d712a5f074a12bf7/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0", size = 161631, upload-time = "2025-08-09T07:55:46.346Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fa/384d2c0f57edad03d7bec3ebefb462090d8905b4ff5a2d2525f3bb711fac/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0", size = 159210, upload-time = "2025-08-09T07:55:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/33/9e/eca49d35867ca2db336b6ca27617deed4653b97ebf45dfc21311ce473c37/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a", size = 153739, upload-time = "2025-08-09T07:55:48.744Z" }, + { url = "https://files.pythonhosted.org/packages/2a/91/26c3036e62dfe8de8061182d33be5025e2424002125c9500faff74a6735e/charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f", size = 99825, upload-time = "2025-08-09T07:55:50.305Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/f05db471f81af1fa01839d44ae2a8bfeec8d2a8b4590f16c4e7393afd323/charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669", size = 107452, upload-time = "2025-08-09T07:55:51.461Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" }, + { url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" }, + { url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" }, + { url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" }, + { url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" }, + { url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" }, + { url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, +] + +[[package]] +name = "cloudpickle" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/39/069100b84d7418bc358d81669d5748efb14b9cceacd2f9c75f550424132f/cloudpickle-3.1.1.tar.gz", hash = "sha256:b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64", size = 22113, upload-time = "2025-01-14T17:02:05.085Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl", hash = "sha256:c8c5a44295039331ee9dad40ba100a9c7297b6f988e50e87ccdf3765a668350e", size = 20992, upload-time = "2025-01-14T17:02:02.417Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551, upload-time = "2025-04-15T17:34:46.581Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399, upload-time = "2025-04-15T17:34:51.427Z" }, + { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061, upload-time = "2025-04-15T17:34:55.961Z" }, + { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956, upload-time = "2025-04-15T17:35:00.992Z" }, + { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872, upload-time = "2025-04-15T17:35:06.177Z" }, + { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027, upload-time = "2025-04-15T17:35:11.244Z" }, + { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641, upload-time = "2025-04-15T17:35:26.701Z" }, + { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075, upload-time = "2025-04-15T17:35:43.204Z" }, + { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534, upload-time = "2025-04-15T17:35:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188, upload-time = "2025-04-15T17:35:50.064Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636, upload-time = "2025-04-15T17:35:54.473Z" }, + { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636, upload-time = "2025-04-15T17:35:58.283Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053, upload-time = "2025-04-15T17:36:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985, upload-time = "2025-04-15T17:36:08.275Z" }, + { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750, upload-time = "2025-04-15T17:36:13.29Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246, upload-time = "2025-04-15T17:36:18.329Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728, upload-time = "2025-04-15T17:36:33.878Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762, upload-time = "2025-04-15T17:36:51.295Z" }, + { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196, upload-time = "2025-04-15T17:36:55.002Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017, upload-time = "2025-04-15T17:36:58.576Z" }, + { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580, upload-time = "2025-04-15T17:37:03.105Z" }, + { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530, upload-time = "2025-04-15T17:37:07.026Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688, upload-time = "2025-04-15T17:37:11.481Z" }, + { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331, upload-time = "2025-04-15T17:37:18.212Z" }, + { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963, upload-time = "2025-04-15T17:37:22.76Z" }, + { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681, upload-time = "2025-04-15T17:37:33.001Z" }, + { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674, upload-time = "2025-04-15T17:37:48.64Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480, upload-time = "2025-04-15T17:38:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489, upload-time = "2025-04-15T17:38:10.338Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042, upload-time = "2025-04-15T17:38:14.239Z" }, + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" }, + { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681, upload-time = "2025-04-15T17:44:59.314Z" }, + { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101, upload-time = "2025-04-15T17:45:04.165Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599, upload-time = "2025-04-15T17:45:08.456Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807, upload-time = "2025-04-15T17:45:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729, upload-time = "2025-04-15T17:45:20.166Z" }, + { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + +[[package]] +name = "coverage" +version = "7.10.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987, upload-time = "2025-09-21T20:00:57.218Z" }, + { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388, upload-time = "2025-09-21T20:01:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148, upload-time = "2025-09-21T20:01:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958, upload-time = "2025-09-21T20:01:03.355Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819, upload-time = "2025-09-21T20:01:04.968Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754, upload-time = "2025-09-21T20:01:06.321Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860, upload-time = "2025-09-21T20:01:07.605Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877, upload-time = "2025-09-21T20:01:08.829Z" }, + { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108, upload-time = "2025-09-21T20:01:10.527Z" }, + { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752, upload-time = "2025-09-21T20:01:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497, upload-time = "2025-09-21T20:01:13.459Z" }, + { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392, upload-time = "2025-09-21T20:01:14.722Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102, upload-time = "2025-09-21T20:01:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505, upload-time = "2025-09-21T20:01:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898, upload-time = "2025-09-21T20:01:19.488Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831, upload-time = "2025-09-21T20:01:20.817Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937, upload-time = "2025-09-21T20:01:22.171Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021, upload-time = "2025-09-21T20:01:23.907Z" }, + { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626, upload-time = "2025-09-21T20:01:25.721Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682, upload-time = "2025-09-21T20:01:27.105Z" }, + { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402, upload-time = "2025-09-21T20:01:28.629Z" }, + { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320, upload-time = "2025-09-21T20:01:30.004Z" }, + { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536, upload-time = "2025-09-21T20:01:32.184Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425, upload-time = "2025-09-21T20:01:33.557Z" }, + { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103, upload-time = "2025-09-21T20:01:34.929Z" }, + { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" }, + { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" }, + { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" }, + { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" }, + { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" }, + { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" }, + { url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320, upload-time = "2025-09-21T20:01:56.629Z" }, + { url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575, upload-time = "2025-09-21T20:01:58.203Z" }, + { url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568, upload-time = "2025-09-21T20:01:59.748Z" }, + { url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174, upload-time = "2025-09-21T20:02:01.192Z" }, + { url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447, upload-time = "2025-09-21T20:02:02.701Z" }, + { url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779, upload-time = "2025-09-21T20:02:04.185Z" }, + { url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604, upload-time = "2025-09-21T20:02:06.034Z" }, + { url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497, upload-time = "2025-09-21T20:02:07.619Z" }, + { url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350, upload-time = "2025-09-21T20:02:10.34Z" }, + { url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111, upload-time = "2025-09-21T20:02:12.122Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746, upload-time = "2025-09-21T20:02:13.919Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541, upload-time = "2025-09-21T20:02:15.57Z" }, + { url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170, upload-time = "2025-09-21T20:02:17.395Z" }, + { url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029, upload-time = "2025-09-21T20:02:18.936Z" }, + { url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259, upload-time = "2025-09-21T20:02:20.44Z" }, + { url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592, upload-time = "2025-09-21T20:02:22.313Z" }, + { url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768, upload-time = "2025-09-21T20:02:24.287Z" }, + { url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995, upload-time = "2025-09-21T20:02:26.133Z" }, + { url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546, upload-time = "2025-09-21T20:02:27.716Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544, upload-time = "2025-09-21T20:02:29.216Z" }, + { url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308, upload-time = "2025-09-21T20:02:31.226Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920, upload-time = "2025-09-21T20:02:32.823Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434, upload-time = "2025-09-21T20:02:34.86Z" }, + { url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403, upload-time = "2025-09-21T20:02:37.034Z" }, + { url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469, upload-time = "2025-09-21T20:02:39.011Z" }, + { url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731, upload-time = "2025-09-21T20:02:40.939Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302, upload-time = "2025-09-21T20:02:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578, upload-time = "2025-09-21T20:02:44.468Z" }, + { url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629, upload-time = "2025-09-21T20:02:46.503Z" }, + { url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162, upload-time = "2025-09-21T20:02:48.689Z" }, + { url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517, upload-time = "2025-09-21T20:02:50.31Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632, upload-time = "2025-09-21T20:02:51.971Z" }, + { url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520, upload-time = "2025-09-21T20:02:53.858Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455, upload-time = "2025-09-21T20:02:55.807Z" }, + { url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287, upload-time = "2025-09-21T20:02:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946, upload-time = "2025-09-21T20:02:59.431Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009, upload-time = "2025-09-21T20:03:01.324Z" }, + { url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804, upload-time = "2025-09-21T20:03:03.4Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384, upload-time = "2025-09-21T20:03:05.111Z" }, + { url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047, upload-time = "2025-09-21T20:03:06.795Z" }, + { url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266, upload-time = "2025-09-21T20:03:08.495Z" }, + { url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767, upload-time = "2025-09-21T20:03:10.172Z" }, + { url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931, upload-time = "2025-09-21T20:03:11.861Z" }, + { url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186, upload-time = "2025-09-21T20:03:13.539Z" }, + { url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470, upload-time = "2025-09-21T20:03:15.584Z" }, + { url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626, upload-time = "2025-09-21T20:03:17.673Z" }, + { url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386, upload-time = "2025-09-21T20:03:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852, upload-time = "2025-09-21T20:03:21.007Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534, upload-time = "2025-09-21T20:03:23.12Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784, upload-time = "2025-09-21T20:03:24.769Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905, upload-time = "2025-09-21T20:03:26.93Z" }, + { url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922, upload-time = "2025-09-21T20:03:28.672Z" }, + { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11'" }, +] + +[[package]] +name = "coveralls" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "docopt" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/75/a454fb443eb6a053833f61603a432ffbd7dd6ae53a11159bacfadb9d6219/coveralls-4.0.1.tar.gz", hash = "sha256:7b2a0a2bcef94f295e3cf28dcc55ca40b71c77d1c2446b538e85f0f7bc21aa69", size = 12419, upload-time = "2024-05-15T12:56:14.297Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/e5/6708c75e2a4cfca929302d4d9b53b862c6dc65bd75e6933ea3d20016d41d/coveralls-4.0.1-py3-none-any.whl", hash = "sha256:7a6b1fa9848332c7b2221afb20f3df90272ac0167060f41b5fe90429b30b1809", size = 13599, upload-time = "2024-05-15T12:56:12.342Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "cytoolz" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "toolz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/f9/3243eed3a6545c2a33a21f74f655e3fcb5d2192613cd3db81a93369eb339/cytoolz-1.0.1.tar.gz", hash = "sha256:89cc3161b89e1bb3ed7636f74ed2e55984fd35516904fc878cae216e42b2c7d6", size = 626652, upload-time = "2024-12-13T05:47:36.672Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d9/f13d66c16cff1fa1cb6c234698029877c456f35f577ef274aba3b86e7c51/cytoolz-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cec9af61f71fc3853eb5dca3d42eb07d1f48a4599fa502cbe92adde85f74b042", size = 403515, upload-time = "2024-12-13T05:44:27.845Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2d/4cdf848a69300c7d44984f2ebbebb3b8576e5449c8dea157298f3bdc4da3/cytoolz-1.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:140bbd649dbda01e91add7642149a5987a7c3ccc251f2263de894b89f50b6608", size = 383936, upload-time = "2024-12-13T05:44:29.5Z" }, + { url = "https://files.pythonhosted.org/packages/72/a4/ccfdd3f0ed9cc818f734b424261f6018fc61e3ec833bf85225a9aca0d994/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e90124bdc42ff58b88cdea1d24a6bc5f776414a314cc4d94f25c88badb3a16d1", size = 1934569, upload-time = "2024-12-13T05:44:30.799Z" }, + { url = "https://files.pythonhosted.org/packages/50/fc/38d5344fa595683ad10dc819cfc1d8b9d2b3391ccf3e8cb7bab4899a01f5/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e74801b751e28f7c5cc3ad264c123954a051f546f2fdfe089f5aa7a12ccfa6da", size = 2015129, upload-time = "2024-12-13T05:44:32.297Z" }, + { url = "https://files.pythonhosted.org/packages/28/29/75261748dc54a20a927f33641f4e9aac674cfc6d3fbd4f332e10d0b37639/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:582dad4545ddfb5127494ef23f3fa4855f1673a35d50c66f7638e9fb49805089", size = 2000506, upload-time = "2024-12-13T05:44:34.403Z" }, + { url = "https://files.pythonhosted.org/packages/00/ae/e4ead004cc2698281d153c4a5388638d67cdb5544d6d6cc1e5b3db2bd2a3/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7bd0618e16efe03bd12f19c2a26a27e6e6b75d7105adb7be1cd2a53fa755d8", size = 1957537, upload-time = "2024-12-13T05:44:39.499Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ff/4f3aa07f4f47701f7f63df60ce0a5669fa09c256c3d4a33503a9414ea5cc/cytoolz-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d74cca6acf1c4af58b2e4a89cc565ed61c5e201de2e434748c93e5a0f5c541a5", size = 1863331, upload-time = "2024-12-13T05:44:42.61Z" }, + { url = "https://files.pythonhosted.org/packages/a2/29/654f57f2a9b8e9765a4ab876765f64f94530b61fc6471a07feea42ece6d4/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:823a3763828d8d457f542b2a45d75d6b4ced5e470b5c7cf2ed66a02f508ed442", size = 1849938, upload-time = "2024-12-13T05:44:45.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/7b/11f457db6b291060a98315ab2c7198077d8bddeeebe5f7126d9dad98cc54/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51633a14e6844c61db1d68c1ffd077cf949f5c99c60ed5f1e265b9e2966f1b52", size = 1852345, upload-time = "2024-12-13T05:44:47.994Z" }, + { url = "https://files.pythonhosted.org/packages/6b/92/0dccc96ce0323be236d404f5084479b79b747fa0e74e43a270e95868b5f9/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f3ec9b01c45348f1d0d712507d54c2bfd69c62fbd7c9ef555c9d8298693c2432", size = 1989877, upload-time = "2024-12-13T05:44:51.514Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c8/1c5203a81200bae51aa8f7b5fad613f695bf1afa03f16251ca23ecb2ef9f/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1855022b712a9c7a5bce354517ab4727a38095f81e2d23d3eabaf1daeb6a3b3c", size = 1994492, upload-time = "2024-12-13T05:44:52.922Z" }, + { url = "https://files.pythonhosted.org/packages/e2/8a/04bc193c4d7ced8ef6bb62cdcd0bf40b5e5eb26586ed2cfb4433ec7dfd0a/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9930f7288c4866a1dc1cc87174f0c6ff4cad1671eb1f6306808aa6c445857d78", size = 1896077, upload-time = "2024-12-13T05:44:56.118Z" }, + { url = "https://files.pythonhosted.org/packages/21/a5/bee63a58f51d2c74856db66e6119a014464ff8cb1c9387fa4bd2d94e49b0/cytoolz-1.0.1-cp310-cp310-win32.whl", hash = "sha256:a9baad795d72fadc3445ccd0f122abfdbdf94269157e6d6d4835636dad318804", size = 322135, upload-time = "2024-12-13T05:44:57.695Z" }, + { url = "https://files.pythonhosted.org/packages/e8/16/7abfb1685e8b7f2838264551ee33651748994813f566ac4c3d737dfe90e5/cytoolz-1.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:ad95b386a84e18e1f6136f6d343d2509d4c3aae9f5a536f3dc96808fcc56a8cf", size = 363599, upload-time = "2024-12-13T05:44:58.875Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ea/8131ae39119820b8867cddc23716fa9f681f2b3bbce6f693e68dfb36b55b/cytoolz-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d958d4f04d9d7018e5c1850790d9d8e68b31c9a2deebca74b903706fdddd2b6", size = 406162, upload-time = "2024-12-13T05:45:01.196Z" }, + { url = "https://files.pythonhosted.org/packages/26/18/3d9bd4c146f6ea6e51300c242b20cb416966b21d481dac230e1304f1e54b/cytoolz-1.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0f445b8b731fc0ecb1865b8e68a070084eb95d735d04f5b6c851db2daf3048ab", size = 384961, upload-time = "2024-12-13T05:45:02.387Z" }, + { url = "https://files.pythonhosted.org/packages/e4/73/9034827907c7f85c7c484c9494e905d022fb8174526004e9ef332570349e/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f546a96460a7e28eb2ec439f4664fa646c9b3e51c6ebad9a59d3922bbe65e30", size = 2091698, upload-time = "2024-12-13T05:45:04.353Z" }, + { url = "https://files.pythonhosted.org/packages/74/af/d5c2733b0fde1a08254ff1a8a8d567874040c9eb1606363cfebc0713c73f/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0317681dd065532d21836f860b0563b199ee716f55d0c1f10de3ce7100c78a3b", size = 2188452, upload-time = "2024-12-13T05:45:05.748Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bb/77c71fa9c217260b4056a732d754748903423c2cdd82a673d6064741e375/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c0ef52febd5a7821a3fd8d10f21d460d1a3d2992f724ba9c91fbd7a96745d41", size = 2174203, upload-time = "2024-12-13T05:45:07.777Z" }, + { url = "https://files.pythonhosted.org/packages/fc/a9/a5b4a3ff5d22faa1b60293bfe97362e2caf4a830c26d37ab5557f60d04b2/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebaf419acf2de73b643cf96108702b8aef8e825cf4f63209ceb078d5fbbbfd", size = 2099831, upload-time = "2024-12-13T05:45:11.477Z" }, + { url = "https://files.pythonhosted.org/packages/35/08/7f6869ea1ff31ce5289a7d58d0e7090acfe7058baa2764473048ff61ea3c/cytoolz-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f7f04eeb4088947585c92d6185a618b25ad4a0f8f66ea30c8db83cf94a425e3", size = 1996744, upload-time = "2024-12-13T05:45:14.172Z" }, + { url = "https://files.pythonhosted.org/packages/46/b4/9ac424c994b51763fd1bbed62d95f8fba8fa0e45c8c3c583904fdaf8f51d/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f61928803bb501c17914b82d457c6f50fe838b173fb40d39c38d5961185bd6c7", size = 2013733, upload-time = "2024-12-13T05:45:16.912Z" }, + { url = "https://files.pythonhosted.org/packages/3e/99/03009765c4b87d742d5b5a8670abb56a8c7ede033c2cdaa4be8662d3b001/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d2960cb4fa01ccb985ad1280db41f90dc97a80b397af970a15d5a5de403c8c61", size = 1994850, upload-time = "2024-12-13T05:45:18.414Z" }, + { url = "https://files.pythonhosted.org/packages/40/9a/8458af9a5557e177ea42f8cf7e477bede518b0bbef564e28c4151feaa52c/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2b407cc3e9defa8df5eb46644f6f136586f70ba49eba96f43de67b9a0984fd3", size = 2155352, upload-time = "2024-12-13T05:45:19.763Z" }, + { url = "https://files.pythonhosted.org/packages/5e/5c/2a701423e001fcbec288b4f3fc2bf67557d114c2388237fc1ae67e1e2686/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8245f929144d4d3bd7b972c9593300195c6cea246b81b4c46053c48b3f044580", size = 2163515, upload-time = "2024-12-13T05:45:21.08Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/ee2e06e65d9d533bc05cd52a0b355ba9072fc8f60d77289e529c6d2e3750/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e37385db03af65763933befe89fa70faf25301effc3b0485fec1c15d4ce4f052", size = 2054431, upload-time = "2024-12-13T05:45:22.521Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d5/2fac8315f210fa1bc7106e27c19e1211580aa25bb7fa17dfd79505e5baf2/cytoolz-1.0.1-cp311-cp311-win32.whl", hash = "sha256:50f9c530f83e3e574fc95c264c3350adde8145f4f8fc8099f65f00cc595e5ead", size = 322004, upload-time = "2024-12-13T05:45:24.048Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9e/0b70b641850a95f9ff90adde9d094a4b1d81ec54dadfd97fec0a2aaf440e/cytoolz-1.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:b7f6b617454b4326af7bd3c7c49b0fc80767f134eb9fd6449917a058d17a0e3c", size = 365358, upload-time = "2024-12-13T05:45:25.383Z" }, + { url = "https://files.pythonhosted.org/packages/d8/e8/218098344ed2cb5f8441fade9b2428e435e7073962374a9c71e59ac141a7/cytoolz-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fcb8f7d0d65db1269022e7e0428471edee8c937bc288ebdcb72f13eaa67c2fe4", size = 414121, upload-time = "2024-12-13T05:45:26.588Z" }, + { url = "https://files.pythonhosted.org/packages/de/27/4d729a5653718109262b758fec1a959aa9facb74c15460d9074dc76d6635/cytoolz-1.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:207d4e4b445e087e65556196ff472ff134370d9a275d591724142e255f384662", size = 390904, upload-time = "2024-12-13T05:45:27.718Z" }, + { url = "https://files.pythonhosted.org/packages/72/c0/cbabfa788bab9c6038953bf9478adaec06e88903a726946ea7c88092f5c4/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21cdf6bac6fd843f3b20280a66fd8df20dea4c58eb7214a2cd8957ec176f0bb3", size = 2090734, upload-time = "2024-12-13T05:45:30.515Z" }, + { url = "https://files.pythonhosted.org/packages/c3/66/369262c60f9423c2da82a60864a259c852f1aa122aced4acd2c679af58c0/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a55ec098036c0dea9f3bdc021f8acd9d105a945227d0811589f0573f21c9ce1", size = 2155933, upload-time = "2024-12-13T05:45:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/ee55186802f8d24b5fbf9a11405ccd1203b30eded07cc17750618219b94e/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a13ab79ff4ce202e03ab646a2134696988b554b6dc4b71451e948403db1331d8", size = 2171903, upload-time = "2024-12-13T05:45:34.205Z" }, + { url = "https://files.pythonhosted.org/packages/a1/96/bd1a9f3396e9b7f618db8cd08d15630769ce3c8b7d0534f92cd639c977ae/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2d944799026e1ff08a83241f1027a2d9276c41f7a74224cd98b7df6e03957d", size = 2125270, upload-time = "2024-12-13T05:45:36.982Z" }, + { url = "https://files.pythonhosted.org/packages/28/48/2a3762873091c88a69e161111cfbc6c222ff145d57ff011a642b169f04f1/cytoolz-1.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88ba85834cd523b91fdf10325e1e6d71c798de36ea9bdc187ca7bd146420de6f", size = 1973967, upload-time = "2024-12-13T05:45:39.505Z" }, + { url = "https://files.pythonhosted.org/packages/e4/50/500bd69774bdc49a4d78ec8779eb6ac7c1a9d706bfd91cf2a1dba604373a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a750b1af7e8bf6727f588940b690d69e25dc47cce5ce467925a76561317eaf7", size = 2021695, upload-time = "2024-12-13T05:45:40.911Z" }, + { url = "https://files.pythonhosted.org/packages/e4/4e/ba5a0ce34869495eb50653de8d676847490cf13a2cac1760fc4d313e78de/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44a71870f7eae31d263d08b87da7c2bf1176f78892ed8bdade2c2850478cb126", size = 2010177, upload-time = "2024-12-13T05:45:42.48Z" }, + { url = "https://files.pythonhosted.org/packages/87/57/615c630b3089a13adb15351d958d227430cf624f03b1dd39eb52c34c1f59/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8231b9abbd8e368e036f4cc2e16902c9482d4cf9e02a6147ed0e9a3cd4a9ab0", size = 2154321, upload-time = "2024-12-13T05:45:43.979Z" }, + { url = "https://files.pythonhosted.org/packages/7f/0f/fe1aa2d931e3b35ecc05215bd75da945ea7346095b3b6f6027164e602d5a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:aa87599ccc755de5a096a4d6c34984de6cd9dc928a0c5eaa7607457317aeaf9b", size = 2188374, upload-time = "2024-12-13T05:45:46.783Z" }, + { url = "https://files.pythonhosted.org/packages/de/fa/fd363d97a641b6d0e2fd1d5c35b8fd41d9ccaeb4df56302f53bf23a58e3a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67cd16537df51baabde3baa770ab7b8d16839c4d21219d5b96ac59fb012ebd2d", size = 2077911, upload-time = "2024-12-13T05:45:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/d9/68/0a22946b98ae5201b54ccb4e651295285c0fb79406022b6ee8b2f791940c/cytoolz-1.0.1-cp312-cp312-win32.whl", hash = "sha256:fb988c333f05ee30ad4693fe4da55d95ec0bb05775d2b60191236493ea2e01f9", size = 321903, upload-time = "2024-12-13T05:45:50.3Z" }, + { url = "https://files.pythonhosted.org/packages/62/1a/f3903197956055032f8cb297342e2dff07e50f83991aebfe5b4c4fcb55e4/cytoolz-1.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:8f89c48d8e5aec55ffd566a8ec858706d70ed0c6a50228eca30986bfa5b4da8b", size = 364490, upload-time = "2024-12-13T05:45:51.494Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2e/a9f069db0107749e9e72baf6c21abe3f006841a3bcfdc9b8420e22ef31eb/cytoolz-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6944bb93b287032a4c5ca6879b69bcd07df46f3079cf8393958cf0b0454f50c0", size = 407365, upload-time = "2024-12-13T05:45:52.803Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9b/5e87dd0e31f54c778b4f9f34cc14c1162d3096c8d746b0f8be97d70dd73c/cytoolz-1.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e027260fd2fc5cb041277158ac294fc13dca640714527219f702fb459a59823a", size = 385233, upload-time = "2024-12-13T05:45:53.994Z" }, + { url = "https://files.pythonhosted.org/packages/63/00/2fd32b16284cdb97cfe092822179bc0c3bcdd5e927dd39f986169a517642/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88662c0e07250d26f5af9bc95911e6137e124a5c1ec2ce4a5d74de96718ab242", size = 2062903, upload-time = "2024-12-13T05:45:55.202Z" }, + { url = "https://files.pythonhosted.org/packages/85/39/b3cbb5a9847ba59584a263772ad4f8ca2dbfd2a0e11efd09211d1219804c/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309dffa78b0961b4c0cf55674b828fbbc793cf2d816277a5c8293c0c16155296", size = 2139517, upload-time = "2024-12-13T05:45:56.804Z" }, + { url = "https://files.pythonhosted.org/packages/ea/39/bfcab4a46d50c467e36fe704f19d8904efead417787806ee210327f68390/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:edb34246e6eb40343c5860fc51b24937698e4fa1ee415917a73ad772a9a1746b", size = 2154849, upload-time = "2024-12-13T05:45:58.814Z" }, + { url = "https://files.pythonhosted.org/packages/fd/42/3bc6ee61b0aa47e1cb40819adc1a456d7efa809f0dea9faddacb43fdde8f/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54da7a8e4348a18d45d4d5bc84af6c716d7f131113a4f1cc45569d37edff1b", size = 2102302, upload-time = "2024-12-13T05:46:00.181Z" }, + { url = "https://files.pythonhosted.org/packages/00/66/3f636c6ddea7b18026b90a8c238af472e423b86e427b11df02213689b012/cytoolz-1.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:241c679c3b1913c0f7259cf1d9639bed5084c86d0051641d537a0980548aa266", size = 1960872, upload-time = "2024-12-13T05:46:01.612Z" }, + { url = "https://files.pythonhosted.org/packages/40/36/cb3b7cdd651007b69f9c48e9d104cec7cb8dc53afa1d6a720e5ad08022fa/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5bfc860251a8f280ac79696fc3343cfc3a7c30b94199e0240b6c9e5b6b01a2a5", size = 2014430, upload-time = "2024-12-13T05:46:03.022Z" }, + { url = "https://files.pythonhosted.org/packages/88/3f/2e9bd2a16cfd269808922147551dcb2d8b68ba54a2c4deca2fa6a6cd0d5f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8edd1547014050c1bdad3ff85d25c82bd1c2a3c96830c6181521eb78b9a42b3", size = 2003127, upload-time = "2024-12-13T05:46:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7d/08604ff940aa784df8343c387fdf2489b948b714a6afb587775ae94da912/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b349bf6162e8de215403d7f35f8a9b4b1853dc2a48e6e1a609a5b1a16868b296", size = 2142369, upload-time = "2024-12-13T05:46:06.004Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c6/39919a0645bdbdf720e97cae107f959ea9d1267fbc3b0d94fc6e1d12ac8f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1b18b35256219b6c3dd0fa037741b85d0bea39c552eab0775816e85a52834140", size = 2180427, upload-time = "2024-12-13T05:46:07.526Z" }, + { url = "https://files.pythonhosted.org/packages/d8/03/dbb9d47556ee54337e7e0ac209d17ceff2d2a197c34de08005abc7a7449b/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:738b2350f340ff8af883eb301054eb724997f795d20d90daec7911c389d61581", size = 2069785, upload-time = "2024-12-13T05:46:10.122Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f8/11bb7b8947002231faae3ec2342df5896afbc19eb783a332cce6d219ff79/cytoolz-1.0.1-cp313-cp313-win32.whl", hash = "sha256:9cbd9c103df54fcca42be55ef40e7baea624ac30ee0b8bf1149f21146d1078d9", size = 320685, upload-time = "2024-12-13T05:46:11.553Z" }, + { url = "https://files.pythonhosted.org/packages/40/eb/dde173cf2357084ca9423950be1f2f11ab11d65d8bd30165bfb8fd4213e9/cytoolz-1.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:90e577e08d3a4308186d9e1ec06876d4756b1e8164b92971c69739ea17e15297", size = 362898, upload-time = "2024-12-13T05:46:12.771Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f7/ef2a10daaec5c0f7d781d50758c6187eee484256e356ae8ef178d6c48497/cytoolz-1.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:83d19d55738ad9c60763b94f3f6d3c6e4de979aeb8d76841c1401081e0e58d96", size = 345702, upload-time = "2024-12-13T05:47:09.266Z" }, + { url = "https://files.pythonhosted.org/packages/c8/14/53c84adddedb67ff1546abb86fea04d26e24298c3ceab8436d20122ed0b9/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f112a71fad6ea824578e6393765ce5c054603afe1471a5c753ff6c67fd872d10", size = 385695, upload-time = "2024-12-13T05:47:11.011Z" }, + { url = "https://files.pythonhosted.org/packages/bd/80/3ae356c5e7b8d7dc7d1adb52f6932fee85cd748ed4e1217c269d2dfd610f/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a515df8f8aa6e1eaaf397761a6e4aff2eef73b5f920aedf271416d5471ae5ee", size = 406261, upload-time = "2024-12-13T05:47:12.24Z" }, + { url = "https://files.pythonhosted.org/packages/0c/31/8e43761ffc82d90bf9cab7e0959712eedcd1e33c211397e143dd42d7af57/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c398e7b7023460bea2edffe5fcd0a76029580f06c3f6938ac3d198b47156f3", size = 397207, upload-time = "2024-12-13T05:47:13.561Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b9/fe9da37090b6444c65f848a83e390f87d8cb43d6a4df46de1556ad7e5ceb/cytoolz-1.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3237e56211e03b13df47435b2369f5df281e02b04ad80a948ebd199b7bc10a47", size = 343358, upload-time = "2024-12-13T05:47:16.291Z" }, +] + +[[package]] +name = "dask" +version = "2023.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "cloudpickle" }, + { name = "fsspec" }, + { name = "importlib-metadata" }, + { name = "packaging" }, + { name = "partd" }, + { name = "pyyaml" }, + { name = "toolz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/c7/dc8a92f5b673ba5bded39841a17c5ff939d9648142fd1c11b8d09804169d/dask-2023.11.0.tar.gz", hash = "sha256:06b8f39755d37ff6ef4db422774db1f1d5d6788d33f0628c80861dc6452f878c", size = 8549398, upload-time = "2023-11-10T21:36:11.094Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/83/e11961f175a6aff67a46dcf4f4f4eba709678b5a351bc4d2c913d9eb39b9/dask-2023.11.0-py3-none-any.whl", hash = "sha256:b950951ee3f8c86f003b577b6928ecf20089eee6677719578deaba8fd9a78203", size = 1204663, upload-time = "2023-11-10T21:36:00.754Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/ad/71e708ff4ca377c4230530d6a7aa7992592648c122a2cd2b321cf8b35a76/debugpy-1.8.17.tar.gz", hash = "sha256:fd723b47a8c08892b1a16b2c6239a8b96637c62a59b94bb5dab4bac592a58a8e", size = 1644129, upload-time = "2025-09-17T16:33:20.633Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/36/b57c6e818d909f6e59c0182252921cf435e0951126a97e11de37e72ab5e1/debugpy-1.8.17-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:c41d2ce8bbaddcc0009cc73f65318eedfa3dbc88a8298081deb05389f1ab5542", size = 2098021, upload-time = "2025-09-17T16:33:22.556Z" }, + { url = "https://files.pythonhosted.org/packages/be/01/0363c7efdd1e9febd090bb13cee4fb1057215b157b2979a4ca5ccb678217/debugpy-1.8.17-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:1440fd514e1b815edd5861ca394786f90eb24960eb26d6f7200994333b1d79e3", size = 3087399, upload-time = "2025-09-17T16:33:24.292Z" }, + { url = "https://files.pythonhosted.org/packages/79/bc/4a984729674aa9a84856650438b9665f9a1d5a748804ac6f37932ce0d4aa/debugpy-1.8.17-cp310-cp310-win32.whl", hash = "sha256:3a32c0af575749083d7492dc79f6ab69f21b2d2ad4cd977a958a07d5865316e4", size = 5230292, upload-time = "2025-09-17T16:33:26.137Z" }, + { url = "https://files.pythonhosted.org/packages/5d/19/2b9b3092d0cf81a5aa10c86271999453030af354d1a5a7d6e34c574515d7/debugpy-1.8.17-cp310-cp310-win_amd64.whl", hash = "sha256:a3aad0537cf4d9c1996434be68c6c9a6d233ac6f76c2a482c7803295b4e4f99a", size = 5261885, upload-time = "2025-09-17T16:33:27.592Z" }, + { url = "https://files.pythonhosted.org/packages/d8/53/3af72b5c159278c4a0cf4cffa518675a0e73bdb7d1cac0239b815502d2ce/debugpy-1.8.17-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:d3fce3f0e3de262a3b67e69916d001f3e767661c6e1ee42553009d445d1cd840", size = 2207154, upload-time = "2025-09-17T16:33:29.457Z" }, + { url = "https://files.pythonhosted.org/packages/8f/6d/204f407df45600e2245b4a39860ed4ba32552330a0b3f5f160ae4cc30072/debugpy-1.8.17-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:c6bdf134457ae0cac6fb68205776be635d31174eeac9541e1d0c062165c6461f", size = 3170322, upload-time = "2025-09-17T16:33:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/f2/13/1b8f87d39cf83c6b713de2620c31205299e6065622e7dd37aff4808dd410/debugpy-1.8.17-cp311-cp311-win32.whl", hash = "sha256:e79a195f9e059edfe5d8bf6f3749b2599452d3e9380484cd261f6b7cd2c7c4da", size = 5155078, upload-time = "2025-09-17T16:33:33.331Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c5/c012c60a2922cc91caa9675d0ddfbb14ba59e1e36228355f41cab6483469/debugpy-1.8.17-cp311-cp311-win_amd64.whl", hash = "sha256:b532282ad4eca958b1b2d7dbcb2b7218e02cb934165859b918e3b6ba7772d3f4", size = 5179011, upload-time = "2025-09-17T16:33:35.711Z" }, + { url = "https://files.pythonhosted.org/packages/08/2b/9d8e65beb2751876c82e1aceb32f328c43ec872711fa80257c7674f45650/debugpy-1.8.17-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:f14467edef672195c6f6b8e27ce5005313cb5d03c9239059bc7182b60c176e2d", size = 2549522, upload-time = "2025-09-17T16:33:38.466Z" }, + { url = "https://files.pythonhosted.org/packages/b4/78/eb0d77f02971c05fca0eb7465b18058ba84bd957062f5eec82f941ac792a/debugpy-1.8.17-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:24693179ef9dfa20dca8605905a42b392be56d410c333af82f1c5dff807a64cc", size = 4309417, upload-time = "2025-09-17T16:33:41.299Z" }, + { url = "https://files.pythonhosted.org/packages/37/42/c40f1d8cc1fed1e75ea54298a382395b8b937d923fcf41ab0797a554f555/debugpy-1.8.17-cp312-cp312-win32.whl", hash = "sha256:6a4e9dacf2cbb60d2514ff7b04b4534b0139facbf2abdffe0639ddb6088e59cf", size = 5277130, upload-time = "2025-09-17T16:33:43.554Z" }, + { url = "https://files.pythonhosted.org/packages/72/22/84263b205baad32b81b36eac076de0cdbe09fe2d0637f5b32243dc7c925b/debugpy-1.8.17-cp312-cp312-win_amd64.whl", hash = "sha256:e8f8f61c518952fb15f74a302e068b48d9c4691768ade433e4adeea961993464", size = 5319053, upload-time = "2025-09-17T16:33:53.033Z" }, + { url = "https://files.pythonhosted.org/packages/50/76/597e5cb97d026274ba297af8d89138dfd9e695767ba0e0895edb20963f40/debugpy-1.8.17-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:857c1dd5d70042502aef1c6d1c2801211f3ea7e56f75e9c335f434afb403e464", size = 2538386, upload-time = "2025-09-17T16:33:54.594Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/ce5c34fcdfec493701f9d1532dba95b21b2f6394147234dce21160bd923f/debugpy-1.8.17-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:3bea3b0b12f3946e098cce9b43c3c46e317b567f79570c3f43f0b96d00788088", size = 4292100, upload-time = "2025-09-17T16:33:56.353Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/7873cf2146577ef71d2a20bf553f12df865922a6f87b9e8ee1df04f01785/debugpy-1.8.17-cp313-cp313-win32.whl", hash = "sha256:e34ee844c2f17b18556b5bbe59e1e2ff4e86a00282d2a46edab73fd7f18f4a83", size = 5277002, upload-time = "2025-09-17T16:33:58.231Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/18c79a1cee5ff539a94ec4aa290c1c069a5580fd5cfd2fb2e282f8e905da/debugpy-1.8.17-cp313-cp313-win_amd64.whl", hash = "sha256:6c5cd6f009ad4fca8e33e5238210dc1e5f42db07d4b6ab21ac7ffa904a196420", size = 5319047, upload-time = "2025-09-17T16:34:00.586Z" }, + { url = "https://files.pythonhosted.org/packages/de/45/115d55b2a9da6de812696064ceb505c31e952c5d89c4ed1d9bb983deec34/debugpy-1.8.17-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:045290c010bcd2d82bc97aa2daf6837443cd52f6328592698809b4549babcee1", size = 2536899, upload-time = "2025-09-17T16:34:02.657Z" }, + { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" }, + { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" }, + { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, +] + +[[package]] +name = "deprecated" +version = "1.2.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", size = 2928744, upload-time = "2025-01-27T10:46:25.7Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998, upload-time = "2025-01-27T10:46:09.186Z" }, +] + +[[package]] +name = "descartes" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/6f/81735a30432b74f41db6754dd13869021ccfed3088d1cf7a6cfc0af9ac49/descartes-1.1.0.tar.gz", hash = "sha256:135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b", size = 3525, upload-time = "2017-01-17T15:37:03.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/b6/1ed2eb03989ae574584664985367ba70cd9cf8b32ee8cad0e8aaeac819f3/descartes-1.1.0-py3-none-any.whl", hash = "sha256:4c62dc41109689d03e4b35de0a2bcbdeeb81047badc607c4415d5c753bd683af", size = 5804, upload-time = "2017-01-17T15:37:02.525Z" }, +] + +[[package]] +name = "distlib" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, +] + +[[package]] +name = "docopt" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901, upload-time = "2014-06-16T11:18:57.406Z" } + +[[package]] +name = "docutils" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/b1/b880503681ea1b64df05106fc7e3c4e3801736cf63deffc6fa7fc5404cf5/docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06", size = 2043249, upload-time = "2021-11-23T17:49:42.043Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/14/69b4bad34e3f250afe29a854da03acb6747711f3df06c359fa053fae4e76/docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c", size = 570050, upload-time = "2021-11-23T17:49:38.556Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "fasteners" +version = "0.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/18/7881a99ba5244bfc82f06017316ffe93217dbbbcfa52b887caa1d4f2a6d3/fasteners-0.20.tar.gz", hash = "sha256:55dce8792a41b56f727ba6e123fcaee77fd87e638a6863cec00007bfea84c8d8", size = 25087, upload-time = "2025-08-11T10:19:37.785Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/ac/e5d886f892666d2d1e5cb8c1a41146e1d79ae8896477b1153a21711d3b44/fasteners-0.20-py3-none-any.whl", hash = "sha256:9422c40d1e350e4259f509fb2e608d6bc43c0136f79a00db1b49046029d0b3b7", size = 18702, upload-time = "2025-08-11T10:19:35.716Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, +] + +[[package]] +name = "filelock" +version = "3.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, +] + +[[package]] +name = "flask" +version = "3.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "blinker" }, + { name = "click" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "markupsafe" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/6d/cfe3c0fcc5e477df242b98bfe186a4c34357b4847e87ecaef04507332dab/flask-3.1.2.tar.gz", hash = "sha256:bf656c15c80190ed628ad08cdfd3aaa35beb087855e2f494910aa3774cc4fd87", size = 720160, upload-time = "2025-08-19T21:03:21.205Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl", hash = "sha256:ca1d8112ec8a6158cc29ea4858963350011b5c846a414cdb7a954aa9e967d03c", size = 103308, upload-time = "2025-08-19T21:03:19.499Z" }, +] + +[[package]] +name = "flask-compress" +version = "1.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "brotli", marker = "platform_python_implementation != 'PyPy'" }, + { name = "brotlicffi", marker = "platform_python_implementation == 'PyPy'" }, + { name = "flask" }, + { name = "pyzstd", marker = "python_full_version < '3.14'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/77/7d3c1b071e29c09bd796a84f95442f3c75f24a1f2a9f2c86c857579ab4ec/flask_compress-1.18.tar.gz", hash = "sha256:fdbae1bd8e334dfdc8b19549829163987c796fafea7fa1c63f9a4add23c8413a", size = 16571, upload-time = "2025-07-11T14:08:13.496Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/d8/953232867e42b5b91899e9c6c4a2b89218a5fbbdbbb4493f48729770de81/flask_compress-1.18-py3-none-any.whl", hash = "sha256:9c3b7defbd0f29a06e51617b910eab07bd4db314507e4edc4c6b02a2e139fda9", size = 9340, upload-time = "2025-07-11T14:08:12.275Z" }, +] + +[[package]] +name = "flask-cors" +version = "6.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "flask" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/37/bcfa6c7d5eec777c4c7cf45ce6b27631cebe5230caf88d85eadd63edd37a/flask_cors-6.0.1.tar.gz", hash = "sha256:d81bcb31f07b0985be7f48406247e9243aced229b7747219160a0559edd678db", size = 13463, upload-time = "2025-06-11T01:32:08.518Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/f8/01bf35a3afd734345528f98d0353f2a978a476528ad4d7e78b70c4d149dd/flask_cors-6.0.1-py3-none-any.whl", hash = "sha256:c7b2cbfb1a31aa0d2e5341eea03a6805349f7a61647daee1a15c46bbe981494c", size = 13244, upload-time = "2025-06-11T01:32:07.352Z" }, +] + +[[package]] +name = "flask-restful" +version = "0.3.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aniso8601" }, + { name = "flask" }, + { name = "pytz" }, + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/ce/a0a133db616ea47f78a41e15c4c68b9f08cab3df31eb960f61899200a119/Flask-RESTful-0.3.10.tar.gz", hash = "sha256:fe4af2ef0027df8f9b4f797aba20c5566801b6ade995ac63b588abf1a59cec37", size = 110453, upload-time = "2023-05-21T03:58:55.781Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/7b/f0b45f0df7d2978e5ae51804bb5939b7897b2ace24306009da0cc34d8d1f/Flask_RESTful-0.3.10-py2.py3-none-any.whl", hash = "sha256:1cf93c535172f112e080b0d4503a8d15f93a48c88bdd36dd87269bdaf405051b", size = 26217, upload-time = "2023-05-21T03:58:54.004Z" }, +] + +[[package]] +name = "fonttools" +version = "4.60.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/d9/4eabd956fe123651a1f0efe29d9758b3837b5ae9a98934bdb571117033bb/fonttools-4.60.0.tar.gz", hash = "sha256:8f5927f049091a0ca74d35cce7f78e8f7775c83a6901a8fbe899babcc297146a", size = 3553671, upload-time = "2025-09-17T11:34:01.504Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/1e/7c2d660cd2a6718961946f76b6af25ae8c7ad0e2a93a34c9bf8b955cb77f/fonttools-4.60.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:151282a235c36024168c21c02193e939e8b28c73d5fa0b36ae1072671d8fa134", size = 2809773, upload-time = "2025-09-17T11:31:52.648Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/35cb2e17d984e712f0f7241b1b8bf06bc1b0da345f11620acd78a7eb1f0e/fonttools-4.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3f32cc42d485d9b1546463b9a7a92bdbde8aef90bac3602503e04c2ddb27e164", size = 2345916, upload-time = "2025-09-17T11:31:55.817Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/39e50212f47bad254255734903accb4f44143faf2b950ba67a61f0bfb26a/fonttools-4.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:336b89d169c40379b8ccef418c877edbc28840b553099c9a739b0db2bcbb57c5", size = 4863583, upload-time = "2025-09-17T11:31:57.708Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2c/e701ba6a439119fe312f1ad738369519b446503b02d3f0f75424111686f1/fonttools-4.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39a38d950b2b04cd6da729586e6b51d686b0c27d554a2154a6a35887f87c09b1", size = 4793647, upload-time = "2025-09-17T11:31:59.944Z" }, + { url = "https://files.pythonhosted.org/packages/d5/04/a48f5f7cce1653a876d6b57d9626c1364bcb430780bbbdd475662bbbf759/fonttools-4.60.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7067dd03e0296907a5c6184285807cbb7bc0bf61a584ffebbf97c2b638d8641a", size = 4842891, upload-time = "2025-09-17T11:32:02.149Z" }, + { url = "https://files.pythonhosted.org/packages/dd/af/0f2b742f6b489a62c6f5a2239867c6d203e3ba358cb48dfc940baee41932/fonttools-4.60.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:342753fe1a1bd2e6896e7a4e936a67c0f441d6897bd11477f718e772d6e63e88", size = 4953569, upload-time = "2025-09-17T11:32:04.467Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2b/23c4dde4a869aa138f5fb63fb124e6accb0d643600b437f4eca0f2637ea2/fonttools-4.60.0-cp310-cp310-win32.whl", hash = "sha256:0746c2b2b32087da2ac5f81e14d319c44cb21127d419bc60869daed089790e3d", size = 2231022, upload-time = "2025-09-17T11:32:06.617Z" }, + { url = "https://files.pythonhosted.org/packages/e3/1c/d53dd15d3392d8f69aa3bc49ca7bdfaea06aa875dc3a641eca85433c90b3/fonttools-4.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:b83b32e5e8918f8e0ccd79816fc2f914e30edc6969ab2df6baf4148e72dbcc11", size = 2275804, upload-time = "2025-09-17T11:32:08.578Z" }, + { url = "https://files.pythonhosted.org/packages/da/3d/c57731fbbf204ef1045caca28d5176430161ead73cd9feac3e9d9ef77ee6/fonttools-4.60.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a9106c202d68ff5f9b4a0094c4d7ad2eaa7e9280f06427b09643215e706eb016", size = 2830883, upload-time = "2025-09-17T11:32:10.552Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2d/b7a6ebaed464ce441c755252cc222af11edc651d17c8f26482f429cc2c0e/fonttools-4.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9da3a4a3f2485b156bb429b4f8faa972480fc01f553f7c8c80d05d48f17eec89", size = 2356005, upload-time = "2025-09-17T11:32:13.248Z" }, + { url = "https://files.pythonhosted.org/packages/ee/c2/ea834e921324e2051403e125c1fe0bfbdde4951a7c1784e4ae6bdbd286cc/fonttools-4.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f84de764c6057b2ffd4feb50ddef481d92e348f0c70f2c849b723118d352bf3", size = 5041201, upload-time = "2025-09-17T11:32:15.373Z" }, + { url = "https://files.pythonhosted.org/packages/93/3c/1c64a338e9aa410d2d0728827d5bb1301463078cb225b94589f27558b427/fonttools-4.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:800b3fa0d5c12ddff02179d45b035a23989a6c597a71c8035c010fff3b2ef1bb", size = 4977696, upload-time = "2025-09-17T11:32:17.674Z" }, + { url = "https://files.pythonhosted.org/packages/07/cc/c8c411a0d9732bb886b870e052f20658fec9cf91118314f253950d2c1d65/fonttools-4.60.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd68f60b030277f292a582d31c374edfadc60bb33d51ec7b6cd4304531819ba", size = 5020386, upload-time = "2025-09-17T11:32:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/13/01/1d3bc07cf92e7f4fc27f06d4494bf6078dc595b2e01b959157a4fd23df12/fonttools-4.60.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:53328e3ca9e5c8660ef6de07c35f8f312c189b757535e12141be7a8ec942de6e", size = 5131575, upload-time = "2025-09-17T11:32:22.582Z" }, + { url = "https://files.pythonhosted.org/packages/5a/16/08db3917ee19e89d2eb0ee637d37cd4136c849dc421ff63f406b9165c1a1/fonttools-4.60.0-cp311-cp311-win32.whl", hash = "sha256:d493c175ddd0b88a5376e61163e3e6fde3be8b8987db9b092e0a84650709c9e7", size = 2229297, upload-time = "2025-09-17T11:32:24.834Z" }, + { url = "https://files.pythonhosted.org/packages/d2/0b/76764da82c0dfcea144861f568d9e83f4b921e84f2be617b451257bb25a7/fonttools-4.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cc2770c9dc49c2d0366e9683f4d03beb46c98042d7ccc8ddbadf3459ecb051a7", size = 2277193, upload-time = "2025-09-17T11:32:27.094Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9b/706ebf84b55ab03439c1f3a94d6915123c0d96099f4238b254fdacffe03a/fonttools-4.60.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8c68928a438d60dfde90e2f09aa7f848ed201176ca6652341744ceec4215859f", size = 2831953, upload-time = "2025-09-17T11:32:29.39Z" }, + { url = "https://files.pythonhosted.org/packages/76/40/782f485be450846e4f3aecff1f10e42af414fc6e19d235c70020f64278e1/fonttools-4.60.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b7133821249097cffabf0624eafd37f5a3358d5ce814febe9db688e3673e724e", size = 2351716, upload-time = "2025-09-17T11:32:31.46Z" }, + { url = "https://files.pythonhosted.org/packages/39/77/ad8d2a6ecc19716eb488c8cf118de10f7802e14bdf61d136d7b52358d6b1/fonttools-4.60.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3638905d3d77ac8791127ce181f7cb434f37e4204d8b2e31b8f1e154320b41f", size = 4922729, upload-time = "2025-09-17T11:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/6b/48/aa543037c6e7788e1bc36b3f858ac70a59d32d0f45915263d0b330a35140/fonttools-4.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7968a26ef010ae89aabbb2f8e9dec1e2709a2541bb8620790451ee8aeb4f6fbf", size = 4967188, upload-time = "2025-09-17T11:32:35.74Z" }, + { url = "https://files.pythonhosted.org/packages/ac/58/e407d2028adc6387947eff8f2940b31f4ed40b9a83c2c7bbc8b9255126e2/fonttools-4.60.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ef01ca7847c356b0fe026b7b92304bc31dc60a4218689ee0acc66652c1a36b2", size = 4910043, upload-time = "2025-09-17T11:32:38.054Z" }, + { url = "https://files.pythonhosted.org/packages/16/ef/e78519b3c296ef757a21b792fc6a785aa2ef9a2efb098083d8ed5f6ee2ba/fonttools-4.60.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f3482d7ed7867edfcf785f77c1dffc876c4b2ddac19539c075712ff2a0703cf5", size = 5061980, upload-time = "2025-09-17T11:32:40.457Z" }, + { url = "https://files.pythonhosted.org/packages/00/4c/ad72444d1e3ef704ee90af8d5abf198016a39908d322bf41235562fb01a0/fonttools-4.60.0-cp312-cp312-win32.whl", hash = "sha256:8c937c4fe8addff575a984c9519433391180bf52cf35895524a07b520f376067", size = 2217750, upload-time = "2025-09-17T11:32:42.586Z" }, + { url = "https://files.pythonhosted.org/packages/46/55/3e8ac21963e130242f5a9ea2ebc57f5726d704bf4dcca89088b5b637b2d3/fonttools-4.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:99b06d5d6f29f32e312adaed0367112f5ff2d300ea24363d377ec917daf9e8c5", size = 2266025, upload-time = "2025-09-17T11:32:44.8Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6b/d090cd54abe88192fe3010f573508b2592cf1d1f98b14bcb799a8ad20525/fonttools-4.60.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:97100ba820936cdb5148b634e0884f0088699c7e2f1302ae7bba3747c7a19fb3", size = 2824791, upload-time = "2025-09-17T11:32:47.002Z" }, + { url = "https://files.pythonhosted.org/packages/97/8c/7ccb5a27aac9a535623fe04935fb9f469a4f8a1253991af9fbac2fe88c17/fonttools-4.60.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:03fccf84f377f83e99a5328a9ebe6b41e16fcf64a1450c352b6aa7e0deedbc01", size = 2347081, upload-time = "2025-09-17T11:32:49.204Z" }, + { url = "https://files.pythonhosted.org/packages/f8/1a/c14f0bb20b4cb7849dc0519f0ab0da74318d52236dc23168530569958599/fonttools-4.60.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a3ef06671f862cd7da78ab105fbf8dce9da3634a8f91b3a64ed5c29c0ac6a9a8", size = 4902095, upload-time = "2025-09-17T11:32:51.848Z" }, + { url = "https://files.pythonhosted.org/packages/c9/a0/c7c91f07c40de5399cbaec7d25e04c9afac6c8f80036a98c125efdb5fe1a/fonttools-4.60.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f2195faf96594c238462c420c7eff97d1aa51de595434f806ec3952df428616", size = 4959137, upload-time = "2025-09-17T11:32:54.185Z" }, + { url = "https://files.pythonhosted.org/packages/38/d2/169e49498df9f2c721763aa39b0bf3d08cb762864ebc8a8ddb99f5ba7ec8/fonttools-4.60.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3887008865fa4f56cff58a1878f1300ba81a4e34f76daf9b47234698493072ee", size = 4900467, upload-time = "2025-09-17T11:32:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/cc/9c/bfb56b89c3eab8bcb739c7fd1e8a43285c8dd833e1e1d18d4f54f2f641af/fonttools-4.60.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5567bd130378f21231d3856d8f0571dcdfcd77e47832978c26dabe572d456daa", size = 5043508, upload-time = "2025-09-17T11:32:58.944Z" }, + { url = "https://files.pythonhosted.org/packages/77/30/2b511c7eb99faee1fd9a0b42e984fb91275da3d681da650af4edf409d0fd/fonttools-4.60.0-cp313-cp313-win32.whl", hash = "sha256:699d0b521ec0b188ac11f2c14ccf6a926367795818ddf2bd00a273e9a052dd20", size = 2216037, upload-time = "2025-09-17T11:33:01.192Z" }, + { url = "https://files.pythonhosted.org/packages/3d/73/a2cc5ee4faeb0302cc81942c27f3b516801bf489fdc422a1b20090fff695/fonttools-4.60.0-cp313-cp313-win_amd64.whl", hash = "sha256:24296163268e7c800009711ce5c0e9997be8882c0bd546696c82ef45966163a6", size = 2265190, upload-time = "2025-09-17T11:33:03.935Z" }, + { url = "https://files.pythonhosted.org/packages/86/dd/a126706e45e0ce097cef6de4108b5597795acaa945fdbdd922dbc090d335/fonttools-4.60.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b6fe3efdc956bdad95145cea906ad9ff345c17b706356dfc1098ce3230591343", size = 2821835, upload-time = "2025-09-17T11:33:06.094Z" }, + { url = "https://files.pythonhosted.org/packages/ac/90/5c17f311bbd983fd614b82a7a06da967b5d3c87e3e61cf34de6029a92ff4/fonttools-4.60.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:764b2aaab839762a3aa3207e5b3f0e0dfa41799e0b091edec5fcbccc584fdab5", size = 2344536, upload-time = "2025-09-17T11:33:08.574Z" }, + { url = "https://files.pythonhosted.org/packages/60/67/48c1a6229b2a5668c4111fbd1694ca417adedc1254c5cd2f9a11834c429d/fonttools-4.60.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b81c7c47d9e78106a4d70f1dbeb49150513171715e45e0d2661809f2b0e3f710", size = 4842494, upload-time = "2025-09-17T11:33:11.338Z" }, + { url = "https://files.pythonhosted.org/packages/13/3e/83b0b37d02b7e321cbe2b8fcec0aa18571f0a47d3dc222196404371d83b6/fonttools-4.60.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799ff60ee66b300ebe1fe6632b1cc55a66400fe815cef7b034d076bce6b1d8fc", size = 4943203, upload-time = "2025-09-17T11:33:13.285Z" }, + { url = "https://files.pythonhosted.org/packages/c9/07/11163e49497c53392eaca210a474104e4987c17ca7731f8754ba0d416a67/fonttools-4.60.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f9878abe155ddd1b433bab95d027a686898a6afba961f3c5ca14b27488f2d772", size = 4889233, upload-time = "2025-09-17T11:33:15.175Z" }, + { url = "https://files.pythonhosted.org/packages/60/90/e85005d955cb26e7de015d5678778b8cc3293c0f3d717865675bd641fbfc/fonttools-4.60.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ded432b7133ea4602fdb4731a4a7443a8e9548edad28987b99590cf6da626254", size = 4998335, upload-time = "2025-09-17T11:33:17.217Z" }, + { url = "https://files.pythonhosted.org/packages/2a/82/0374ad53729de6e3788ecdb8a3731ce6592c5ffa9bff823cef2ffe0164af/fonttools-4.60.0-cp314-cp314-win32.whl", hash = "sha256:5d97cf3a9245316d5978628c05642b939809c4f55ca632ca40744cb9de6e8d4a", size = 2219840, upload-time = "2025-09-17T11:33:19.494Z" }, + { url = "https://files.pythonhosted.org/packages/11/c3/804cd47453dcafb7976f9825b43cc0e61a2fe30eddb971b681cd72c4ca65/fonttools-4.60.0-cp314-cp314-win_amd64.whl", hash = "sha256:61b9ef46dd5e9dcb6f437eb0cc5ed83d5049e1bf9348e31974ffee1235db0f8f", size = 2269891, upload-time = "2025-09-17T11:33:21.743Z" }, + { url = "https://files.pythonhosted.org/packages/75/bf/1bd760aca04098e7028b4e0e5f73b41ff74b322275698071454652476a44/fonttools-4.60.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:bba7e3470cf353e1484a36dfb4108f431c2859e3f6097fe10118eeae92166773", size = 2893361, upload-time = "2025-09-17T11:33:23.68Z" }, + { url = "https://files.pythonhosted.org/packages/25/35/7a2c09aa990ed77f34924def383f44fc576a5596cc3df8438071e1baa1ac/fonttools-4.60.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c5ac6439a38c27b3287063176b3303b34982024b01e2e95bba8ac1e45f6d41c1", size = 2374086, upload-time = "2025-09-17T11:33:25.988Z" }, + { url = "https://files.pythonhosted.org/packages/77/a9/f85ed2493e82837ff73421f3f7a1c3ae8f0b14051307418c916d9563da1f/fonttools-4.60.0-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4acd21e9f125a1257da59edf7a6e9bd4abd76282770715c613f1fe482409e9f9", size = 4848766, upload-time = "2025-09-17T11:33:28.018Z" }, + { url = "https://files.pythonhosted.org/packages/d1/91/29830eda31ae9231a06d5246e5d0c686422d03456ed666e13576c24c3f97/fonttools-4.60.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4a6fc53039ea047e35dc62b958af9cd397eedbc3fa42406d2910ae091b9ae37", size = 5084613, upload-time = "2025-09-17T11:33:30.562Z" }, + { url = "https://files.pythonhosted.org/packages/48/01/615905e7db2568fe1843145077e680443494b7caab2089527b7e112c7606/fonttools-4.60.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ef34f44eadf133e94e82c775a33ee3091dd37ee0161c5f5ea224b46e3ce0fb8e", size = 4956620, upload-time = "2025-09-17T11:33:32.497Z" }, + { url = "https://files.pythonhosted.org/packages/97/8e/64e65255871ec2f13b6c00b5b12d08b928b504867cfb7e7ed73e5e941832/fonttools-4.60.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d112cae3e7ad1bb5d7f7a60365fcf6c181374648e064a8c07617b240e7c828ee", size = 4973202, upload-time = "2025-09-17T11:33:34.561Z" }, + { url = "https://files.pythonhosted.org/packages/e0/6d/04d16243eb441e8de61074c7809e92d2e35df4cd11af5632e486bc630dab/fonttools-4.60.0-cp314-cp314t-win32.whl", hash = "sha256:0f7b2c251dc338973e892a1e153016114e7a75f6aac7a49b84d5d1a4c0608d08", size = 2281217, upload-time = "2025-09-17T11:33:36.965Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/09bd2f9f28ef0d6f3620fa19699d11c4bc83ff8a2786d8ccdd97c209b19a/fonttools-4.60.0-cp314-cp314t-win_amd64.whl", hash = "sha256:c8a72771106bc7434098db35abecd84d608857f6e116d3ef00366b213c502ce9", size = 2344738, upload-time = "2025-09-17T11:33:39.372Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a4/247d3e54eb5ed59e94e09866cfc4f9567e274fbf310ba390711851f63b3b/fonttools-4.60.0-py3-none-any.whl", hash = "sha256:496d26e4d14dcccdd6ada2e937e4d174d3138e3d73f5c9b6ec6eb2fd1dab4f66", size = 1142186, upload-time = "2025-09-17T11:33:59.287Z" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, +] + +[[package]] +name = "fsspec" +version = "2025.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/de/e0/bab50af11c2d75c9c4a2a26a5254573c0bd97cea152254401510950486fa/fsspec-2025.9.0.tar.gz", hash = "sha256:19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19", size = 304847, upload-time = "2025-09-02T19:10:49.215Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl", hash = "sha256:530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7", size = 199289, upload-time = "2025-09-02T19:10:47.708Z" }, +] + +[[package]] +name = "geopandas" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "packaging" }, + { name = "pandas", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "pyogrio" }, + { name = "pyproj", version = "3.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pyproj", version = "3.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "shapely" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/76/e1960ba846f153ab109575242abf89dc98f8e057faa32f3decf4cce9247a/geopandas-1.1.1.tar.gz", hash = "sha256:1745713f64d095c43e72e08e753dbd271678254b24f2e01db8cdb8debe1d293d", size = 332655, upload-time = "2025-06-26T21:04:56.57Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/70/d5cd0696eff08e62fdbdebe5b46527facb4e7220eabe0ac6225efab50168/geopandas-1.1.1-py3-none-any.whl", hash = "sha256:589e61aaf39b19828843df16cb90234e72897e2579be236f10eee0d052ad98e8", size = 338365, upload-time = "2025-06-26T21:04:55.139Z" }, +] + +[[package]] +name = "gh" +version = "0.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitpython" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/80/c1e50b9b09a944b9b5f160d689fbf637b543bb8391019df1019986b8d397/gh-0.0.4.tar.gz", hash = "sha256:db58819885a95807f963f8eb798e1d0df22ded41d9a80d5c3dc1fc8d695f1e1b", size = 2192, upload-time = "2018-11-06T11:10:50.685Z" } + +[[package]] +name = "gitdb" +version = "4.0.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "smmap" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, +] + +[[package]] +name = "gitpython" +version = "3.1.45" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitdb" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" }, +] + +[[package]] +name = "greenlet" +version = "3.2.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/03/b8/704d753a5a45507a7aab61f18db9509302ed3d0a27ac7e0359ec2905b1a6/greenlet-3.2.4.tar.gz", hash = "sha256:0dca0d95ff849f9a364385f36ab49f50065d76964944638be9691e1832e9f86d", size = 188260, upload-time = "2025-08-07T13:24:33.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/ed/6bfa4109fcb23a58819600392564fea69cdc6551ffd5e69ccf1d52a40cbc/greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c68325b0d0acf8d91dde4e6f930967dd52a5302cd4062932a6b2e7c2969f47c", size = 271061, upload-time = "2025-08-07T13:17:15.373Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fc/102ec1a2fc015b3a7652abab7acf3541d58c04d3d17a8d3d6a44adae1eb1/greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:94385f101946790ae13da500603491f04a76b6e4c059dab271b3ce2e283b2590", size = 629475, upload-time = "2025-08-07T13:42:54.009Z" }, + { url = "https://files.pythonhosted.org/packages/c5/26/80383131d55a4ac0fb08d71660fd77e7660b9db6bdb4e8884f46d9f2cc04/greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f10fd42b5ee276335863712fa3da6608e93f70629c631bf77145021600abc23c", size = 640802, upload-time = "2025-08-07T13:45:25.52Z" }, + { url = "https://files.pythonhosted.org/packages/9f/7c/e7833dbcd8f376f3326bd728c845d31dcde4c84268d3921afcae77d90d08/greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c8c9e331e58180d0d83c5b7999255721b725913ff6bc6cf39fa2a45841a4fd4b", size = 636703, upload-time = "2025-08-07T13:53:12.622Z" }, + { url = "https://files.pythonhosted.org/packages/e9/49/547b93b7c0428ede7b3f309bc965986874759f7d89e4e04aeddbc9699acb/greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58b97143c9cc7b86fc458f215bd0932f1757ce649e05b640fea2e79b54cedb31", size = 635417, upload-time = "2025-08-07T13:18:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, + { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, + { url = "https://files.pythonhosted.org/packages/a1/8d/88f3ebd2bc96bf7747093696f4335a0a8a4c5acfcf1b757717c0d2474ba3/greenlet-3.2.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8854167e06950ca75b898b104b63cc646573aa5fef1353d4508ecdd1ee76254f", size = 1137126, upload-time = "2025-08-07T13:18:20.239Z" }, + { url = "https://files.pythonhosted.org/packages/d6/6f/b60b0291d9623c496638c582297ead61f43c4b72eef5e9c926ef4565ec13/greenlet-3.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:73f49b5368b5359d04e18d15828eecc1806033db5233397748f4ca813ff1056c", size = 298654, upload-time = "2025-08-07T13:50:00.469Z" }, + { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, + { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/95d48d7e3d433e6dae5b1682e4292242a53f22df82e6d3dda81b1701a960/greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:94abf90142c2a18151632371140b3dba4dee031633fe614cb592dbb6c9e17bc3", size = 644646, upload-time = "2025-08-07T13:45:26.523Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5e/405965351aef8c76b8ef7ad370e5da58d57ef6068df197548b015464001a/greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:4d1378601b85e2e5171b99be8d2dc85f594c79967599328f95c1dc1a40f1c633", size = 640519, upload-time = "2025-08-07T13:53:13.928Z" }, + { url = "https://files.pythonhosted.org/packages/25/5d/382753b52006ce0218297ec1b628e048c4e64b155379331f25a7316eb749/greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0db5594dce18db94f7d1650d7489909b57afde4c580806b8d9203b6e79cdc079", size = 639707, upload-time = "2025-08-07T13:18:27.146Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, + { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, + { url = "https://files.pythonhosted.org/packages/3f/cc/b07000438a29ac5cfb2194bfc128151d52f333cee74dd7dfe3fb733fc16c/greenlet-3.2.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:55e9c5affaa6775e2c6b67659f3a71684de4c549b3dd9afca3bc773533d284fa", size = 1142073, upload-time = "2025-08-07T13:18:21.737Z" }, + { url = "https://files.pythonhosted.org/packages/d8/0f/30aef242fcab550b0b3520b8e3561156857c94288f0332a79928c31a52cf/greenlet-3.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:9c40adce87eaa9ddb593ccb0fa6a07caf34015a29bf8d344811665b573138db9", size = 299100, upload-time = "2025-08-07T13:44:12.287Z" }, + { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, + { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, + { url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" }, + { url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" }, + { url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, + { url = "https://files.pythonhosted.org/packages/3f/c7/12381b18e21aef2c6bd3a636da1088b888b97b7a0362fac2e4de92405f97/greenlet-3.2.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:20fb936b4652b6e307b8f347665e2c615540d4b42b3b4c8a321d8286da7e520f", size = 1151142, upload-time = "2025-08-07T13:18:22.981Z" }, + { url = "https://files.pythonhosted.org/packages/e9/08/b0814846b79399e585f974bbeebf5580fbe59e258ea7be64d9dfb253c84f/greenlet-3.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:a7d4e128405eea3814a12cc2605e0e6aedb4035bf32697f72deca74de4105e02", size = 299899, upload-time = "2025-08-07T13:38:53.448Z" }, + { url = "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", size = 272814, upload-time = "2025-08-07T13:15:50.011Z" }, + { url = "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", size = 641073, upload-time = "2025-08-07T13:42:57.23Z" }, + { url = "https://files.pythonhosted.org/packages/f7/0b/bc13f787394920b23073ca3b6c4a7a21396301ed75a655bcb47196b50e6e/greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:710638eb93b1fa52823aa91bf75326f9ecdfd5e0466f00789246a5280f4ba0fc", size = 655191, upload-time = "2025-08-07T13:45:29.752Z" }, + { url = "https://files.pythonhosted.org/packages/f2/d6/6adde57d1345a8d0f14d31e4ab9c23cfe8e2cd39c3baf7674b4b0338d266/greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c5111ccdc9c88f423426df3fd1811bfc40ed66264d35aa373420a34377efc98a", size = 649516, upload-time = "2025-08-07T13:53:16.314Z" }, + { url = "https://files.pythonhosted.org/packages/7f/3b/3a3328a788d4a473889a2d403199932be55b1b0060f4ddd96ee7cdfcad10/greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76383238584e9711e20ebe14db6c88ddcedc1829a9ad31a584389463b5aa504", size = 652169, upload-time = "2025-08-07T13:18:32.861Z" }, + { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, + { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, + { url = "https://files.pythonhosted.org/packages/a2/15/0d5e4e1a66fab130d98168fe984c509249c833c1a3c16806b90f253ce7b9/greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d25c5091190f2dc0eaa3f950252122edbbadbb682aa7b1ef2f8af0f8c0afefae", size = 1149210, upload-time = "2025-08-07T13:18:24.072Z" }, + { url = "https://files.pythonhosted.org/packages/0b/55/2321e43595e6801e105fcfdee02b34c0f996eb71e6ddffca6b10b7e1d771/greenlet-3.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:554b03b6e73aaabec3745364d6239e9e012d64c68ccd0b8430c64ccc14939a8b", size = 299685, upload-time = "2025-08-07T13:24:38.824Z" }, + { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, + { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, + { url = "https://files.pythonhosted.org/packages/c0/aa/687d6b12ffb505a4447567d1f3abea23bd20e73a5bed63871178e0831b7a/greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c17b6b34111ea72fc5a4e4beec9711d2226285f0386ea83477cbb97c30a3f3a5", size = 699218, upload-time = "2025-08-07T13:45:30.969Z" }, + { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, + { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, + { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a5/6ddab2b4c112be95601c13428db1d8b6608a8b6039816f2ba09c346c08fc/greenlet-3.2.4-cp314-cp314-win_amd64.whl", hash = "sha256:e37ab26028f12dbb0ff65f29a8d3d44a765c61e729647bf2ddfbbed621726f01", size = 303425, upload-time = "2025-08-07T13:32:27.59Z" }, +] + +[[package]] +name = "gunicorn" +version = "23.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/34/72/9614c465dc206155d93eff0ca20d42e1e35afc533971379482de953521a4/gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec", size = 375031, upload-time = "2024-08-10T20:25:27.378Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/7d/6dac2a6e1eba33ee43f318edbed4ff29151a49b5d37f080aad1e6469bca4/gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", size = 85029, upload-time = "2024-08-10T20:25:24.996Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "identify" +version = "2.6.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/c4/62963f25a678f6a050fb0505a65e9e726996171e6dbe1547f79619eefb15/identify-2.6.14.tar.gz", hash = "sha256:663494103b4f717cb26921c52f8751363dc89db64364cd836a9bf1535f53cd6a", size = 99283, upload-time = "2025-09-06T19:30:52.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl", hash = "sha256:11a073da82212c6646b1f39bb20d4483bfb9543bd5566fec60053c4bb309bf2e", size = 99172, upload-time = "2025-09-06T19:30:51.759Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "imagesize" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026, upload-time = "2022-07-01T12:21:05.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769, upload-time = "2022-07-01T12:21:02.467Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "ipykernel" +version = "6.30.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/76/11082e338e0daadc89c8ff866185de11daf67d181901038f9e139d109761/ipykernel-6.30.1.tar.gz", hash = "sha256:6abb270161896402e76b91394fcdce5d1be5d45f456671e5080572f8505be39b", size = 166260, upload-time = "2025-08-04T15:47:35.018Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/c7/b445faca8deb954fe536abebff4ece5b097b923de482b26e78448c89d1dd/ipykernel-6.30.1-py3-none-any.whl", hash = "sha256:aa6b9fb93dca949069d8b85b6c79b2518e32ac583ae9c7d37c51d119e18b3fb4", size = 117484, upload-time = "2025-08-04T15:47:32.622Z" }, +] + +[[package]] +name = "ipython" +version = "8.37.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.11'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "jedi", marker = "python_full_version < '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.11'" }, + { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.11'" }, + { name = "pygments", marker = "python_full_version < '3.11'" }, + { name = "stack-data", marker = "python_full_version < '3.11'" }, + { name = "traitlets", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/31/10ac88f3357fc276dc8a64e8880c82e80e7459326ae1d0a211b40abf6665/ipython-8.37.0.tar.gz", hash = "sha256:ca815841e1a41a1e6b73a0b08f3038af9b2252564d01fc405356d34033012216", size = 5606088, upload-time = "2025-05-31T16:39:09.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/d0/274fbf7b0b12643cbbc001ce13e6a5b1607ac4929d1b11c72460152c9fc3/ipython-8.37.0-py3-none-any.whl", hash = "sha256:ed87326596b878932dbcb171e3e698845434d8c61b8d8cd474bf663041a9dcf2", size = 831864, upload-time = "2025-05-31T16:39:06.38Z" }, +] + +[[package]] +name = "ipython" +version = "9.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version >= '3.11'" }, + { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, + { name = "jedi", marker = "python_full_version >= '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, + { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, + { name = "pygments", marker = "python_full_version >= '3.11'" }, + { name = "stack-data", marker = "python_full_version >= '3.11'" }, + { name = "traitlets", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6e/71/a86262bf5a68bf211bcc71fe302af7e05f18a2852fdc610a854d20d085e6/ipython-9.5.0.tar.gz", hash = "sha256:129c44b941fe6d9b82d36fc7a7c18127ddb1d6f02f78f867f402e2e3adde3113", size = 4389137, upload-time = "2025-08-29T12:15:21.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/2a/5628a99d04acb2d2f2e749cdf4ea571d2575e898df0528a090948018b726/ipython-9.5.0-py3-none-any.whl", hash = "sha256:88369ffa1d5817d609120daa523a6da06d02518e582347c29f8451732a9c5e72", size = 612426, upload-time = "2025-08-29T12:15:18.866Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, +] + +[[package]] +name = "isort" +version = "5.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/c4/dc00e42c158fc4dda2afebe57d2e948805c06d5169007f1724f0683010a9/isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504", size = 174643, upload-time = "2023-01-28T17:10:22.636Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/63/4036ae70eea279c63e2304b91ee0ac182f467f24f86394ecfe726092340b/isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6", size = 91198, upload-time = "2023-01-28T17:10:21.149Z" }, +] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/5d/447af5ea094b9e4c4054f82e223ada074c552335b9b4b2d14bd9b35a67c4/joblib-1.5.2.tar.gz", hash = "sha256:3faa5c39054b2f03ca547da9b2f52fde67c06240c31853f306aea97f13647b55", size = 331077, upload-time = "2025-08-27T12:15:46.575Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/e8/685f47e0d754320684db4425a0967f7d3fa70126bffd76110b7009a0090f/joblib-1.5.2-py3-none-any.whl", hash = "sha256:4e1f0bdbb987e6d843c70cf43714cb276623def372df3c22fe5266b2670bc241", size = 308396, upload-time = "2025-08-27T12:15:45.188Z" }, +] + +[[package]] +name = "json5" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/ae/929aee9619e9eba9015207a9d2c1c54db18311da7eb4dcf6d41ad6f0eb67/json5-0.12.1.tar.gz", hash = "sha256:b2743e77b3242f8d03c143dd975a6ec7c52e2f2afe76ed934e53503dd4ad4990", size = 52191, upload-time = "2025-08-12T19:47:42.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/e2/05328bd2621be49a6fed9e3030b1e51a2d04537d3f816d211b9cc53c5262/json5-0.12.1-py3-none-any.whl", hash = "sha256:d9c9b3bc34a5f54d43c35e11ef7cb87d8bdd098c6ace87117a7b7e83e705c1d5", size = 36119, upload-time = "2025-08-12T19:47:41.131Z" }, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114, upload-time = "2024-06-10T19:24:42.462Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter-book" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "jinja2" }, + { name = "jsonschema" }, + { name = "linkify-it-py" }, + { name = "myst-nb" }, + { name = "myst-parser" }, + { name = "pyyaml" }, + { name = "sphinx" }, + { name = "sphinx-book-theme" }, + { name = "sphinx-comments" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-design" }, + { name = "sphinx-external-toc" }, + { name = "sphinx-jupyterbook-latex" }, + { name = "sphinx-multitoc-numbering" }, + { name = "sphinx-thebe" }, + { name = "sphinx-togglebutton" }, + { name = "sphinxcontrib-bibtex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/ea/ec3ffc3b9a2d2100345d01b656ce4ac850a28defdf71a3aecdfaa44bbad0/jupyter_book-1.0.3.tar.gz", hash = "sha256:f05788a76f4d284de9887fa816f4a99a4f16cc5f7c0fd5a56074a3d03bfc3e50", size = 66469, upload-time = "2024-10-07T14:05:27.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/3d/3b0360dade8df5d5f7a30f230f1316ded7e029d7f60a6e38b3765be47603/jupyter_book-1.0.3-py3-none-any.whl", hash = "sha256:d99b0c92c62b469abc2b61047c1290923bce460367c6a7e296589cadc726119f", size = 44000, upload-time = "2024-10-07T14:05:26.427Z" }, +] + +[[package]] +name = "jupyter-cache" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "click" }, + { name = "importlib-metadata" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "pyyaml" }, + { name = "sqlalchemy" }, + { name = "tabulate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/f7/3627358075f183956e8c4974603232b03afd4ddc7baf72c2bc9fff522291/jupyter_cache-1.0.1.tar.gz", hash = "sha256:16e808eb19e3fb67a223db906e131ea6e01f03aa27f49a7214ce6a5fec186fb9", size = 32048, upload-time = "2024-11-15T16:03:55.322Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/6b/67b87da9d36bff9df7d0efbd1a325fa372a43be7158effaf43ed7b22341d/jupyter_cache-1.0.1-py3-none-any.whl", hash = "sha256:9c3cafd825ba7da8b5830485343091143dff903e4d8c69db9349b728b140abf6", size = 33907, upload-time = "2024-11-15T16:03:54.021Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload-time = "2025-05-27T07:38:16.655Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload-time = "2025-05-27T07:38:15.137Z" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430, upload-time = "2025-02-03T17:23:38.643Z" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/5a/9066c9f8e94ee517133cd98dba393459a16cd48bba71a82f16a65415206c/jupyter_lsp-2.3.0.tar.gz", hash = "sha256:458aa59339dc868fb784d73364f17dbce8836e906cd75fd471a325cba02e0245", size = 54823, upload-time = "2025-08-27T17:47:34.671Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/60/1f6cee0c46263de1173894f0fafcb3475ded276c472c14d25e0280c18d6d/jupyter_lsp-2.3.0-py3-none-any.whl", hash = "sha256:e914a3cb2addf48b1c7710914771aaf1819d46b2e5a79b0f917b5478ec93f34f", size = 76687, upload-time = "2025-08-27T17:47:33.15Z" }, +] + +[[package]] +name = "jupyter-server" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "overrides", marker = "python_full_version < '3.12'" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/ac/e040ec363d7b6b1f11304cc9f209dac4517ece5d5e01821366b924a64a50/jupyter_server-2.17.0.tar.gz", hash = "sha256:c38ea898566964c888b4772ae1ed58eca84592e88251d2cfc4d171f81f7e99d5", size = 731949, upload-time = "2025-08-21T14:42:54.042Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/80/a24767e6ca280f5a49525d987bf3e4d7552bf67c8be07e8ccf20271f8568/jupyter_server-2.17.0-py3-none-any.whl", hash = "sha256:e8cb9c7db4251f51ed307e329b81b72ccf2056ff82d50524debde1ee1870e13f", size = 388221, upload-time = "2025-08-21T14:42:52.034Z" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430, upload-time = "2024-03-12T14:37:03.049Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656, upload-time = "2024-03-12T14:37:00.708Z" }, +] + +[[package]] +name = "jupyterlab" +version = "4.4.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "setuptools" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/b2/7dad2d0049a904d17c070226a4f78f81905f93bfe09503722d210ccf9335/jupyterlab-4.4.9.tar.gz", hash = "sha256:ea55aca8269909016d5fde2dc09b97128bc931230183fe7e2920ede5154ad9c2", size = 22966654, upload-time = "2025-09-26T17:28:20.158Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/fd/ac0979ebd1b1975c266c99b96930b0a66609c3f6e5d76979ca6eb3073896/jupyterlab-4.4.9-py3-none-any.whl", hash = "sha256:394c902827350c017430a8370b9f40c03c098773084bc53930145c146d3d2cb2", size = 12292552, upload-time = "2025-09-26T17:28:15.663Z" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173, upload-time = "2024-07-16T17:02:04.149Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700, upload-time = "2024-07-16T17:02:01.115Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564, upload-time = "2025-08-10T21:27:49.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/5d/8ce64e36d4e3aac5ca96996457dcf33e34e6051492399a3f1fec5657f30b/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b4b4d74bda2b8ebf4da5bd42af11d02d04428b2c32846e4c2c93219df8a7987b", size = 124159, upload-time = "2025-08-10T21:25:35.472Z" }, + { url = "https://files.pythonhosted.org/packages/96/1e/22f63ec454874378175a5f435d6ea1363dd33fb2af832c6643e4ccea0dc8/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fb3b8132019ea572f4611d770991000d7f58127560c4889729248eb5852a102f", size = 66578, upload-time = "2025-08-10T21:25:36.73Z" }, + { url = "https://files.pythonhosted.org/packages/41/4c/1925dcfff47a02d465121967b95151c82d11027d5ec5242771e580e731bd/kiwisolver-1.4.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84fd60810829c27ae375114cd379da1fa65e6918e1da405f356a775d49a62bcf", size = 65312, upload-time = "2025-08-10T21:25:37.658Z" }, + { url = "https://files.pythonhosted.org/packages/d4/42/0f333164e6307a0687d1eb9ad256215aae2f4bd5d28f4653d6cd319a3ba3/kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b78efa4c6e804ecdf727e580dbb9cba85624d2e1c6b5cb059c66290063bd99a9", size = 1628458, upload-time = "2025-08-10T21:25:39.067Z" }, + { url = "https://files.pythonhosted.org/packages/86/b6/2dccb977d651943995a90bfe3495c2ab2ba5cd77093d9f2318a20c9a6f59/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4efec7bcf21671db6a3294ff301d2fc861c31faa3c8740d1a94689234d1b415", size = 1225640, upload-time = "2025-08-10T21:25:40.489Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/362ebd3eec46c850ccf2bfe3e30f2fc4c008750011f38a850f088c56a1c6/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:90f47e70293fc3688b71271100a1a5453aa9944a81d27ff779c108372cf5567b", size = 1244074, upload-time = "2025-08-10T21:25:42.221Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bb/f09a1e66dab8984773d13184a10a29fe67125337649d26bdef547024ed6b/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fdca1def57a2e88ef339de1737a1449d6dbf5fab184c54a1fca01d541317154", size = 1293036, upload-time = "2025-08-10T21:25:43.801Z" }, + { url = "https://files.pythonhosted.org/packages/ea/01/11ecf892f201cafda0f68fa59212edaea93e96c37884b747c181303fccd1/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9cf554f21be770f5111a1690d42313e140355e687e05cf82cb23d0a721a64a48", size = 2175310, upload-time = "2025-08-10T21:25:45.045Z" }, + { url = "https://files.pythonhosted.org/packages/7f/5f/bfe11d5b934f500cc004314819ea92427e6e5462706a498c1d4fc052e08f/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fc1795ac5cd0510207482c3d1d3ed781143383b8cfd36f5c645f3897ce066220", size = 2270943, upload-time = "2025-08-10T21:25:46.393Z" }, + { url = "https://files.pythonhosted.org/packages/3d/de/259f786bf71f1e03e73d87e2db1a9a3bcab64d7b4fd780167123161630ad/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ccd09f20ccdbbd341b21a67ab50a119b64a403b09288c27481575105283c1586", size = 2440488, upload-time = "2025-08-10T21:25:48.074Z" }, + { url = "https://files.pythonhosted.org/packages/1b/76/c989c278faf037c4d3421ec07a5c452cd3e09545d6dae7f87c15f54e4edf/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:540c7c72324d864406a009d72f5d6856f49693db95d1fbb46cf86febef873634", size = 2246787, upload-time = "2025-08-10T21:25:49.442Z" }, + { url = "https://files.pythonhosted.org/packages/a2/55/c2898d84ca440852e560ca9f2a0d28e6e931ac0849b896d77231929900e7/kiwisolver-1.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:ede8c6d533bc6601a47ad4046080d36b8fc99f81e6f1c17b0ac3c2dc91ac7611", size = 73730, upload-time = "2025-08-10T21:25:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/e8/09/486d6ac523dd33b80b368247f238125d027964cfacb45c654841e88fb2ae/kiwisolver-1.4.9-cp310-cp310-win_arm64.whl", hash = "sha256:7b4da0d01ac866a57dd61ac258c5607b4cd677f63abaec7b148354d2b2cdd536", size = 65036, upload-time = "2025-08-10T21:25:52.063Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ab/c80b0d5a9d8a1a65f4f815f2afff9798b12c3b9f31f1d304dd233dd920e2/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb14a5da6dc7642b0f3a18f13654847cd8b7a2550e2645a5bda677862b03ba16", size = 124167, upload-time = "2025-08-10T21:25:53.403Z" }, + { url = "https://files.pythonhosted.org/packages/a0/c0/27fe1a68a39cf62472a300e2879ffc13c0538546c359b86f149cc19f6ac3/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39a219e1c81ae3b103643d2aedb90f1ef22650deb266ff12a19e7773f3e5f089", size = 66579, upload-time = "2025-08-10T21:25:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/31/a2/a12a503ac1fd4943c50f9822678e8015a790a13b5490354c68afb8489814/kiwisolver-1.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2405a7d98604b87f3fc28b1716783534b1b4b8510d8142adca34ee0bc3c87543", size = 65309, upload-time = "2025-08-10T21:25:55.76Z" }, + { url = "https://files.pythonhosted.org/packages/66/e1/e533435c0be77c3f64040d68d7a657771194a63c279f55573188161e81ca/kiwisolver-1.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dc1ae486f9abcef254b5618dfb4113dd49f94c68e3e027d03cf0143f3f772b61", size = 1435596, upload-time = "2025-08-10T21:25:56.861Z" }, + { url = "https://files.pythonhosted.org/packages/67/1e/51b73c7347f9aabdc7215aa79e8b15299097dc2f8e67dee2b095faca9cb0/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a1f570ce4d62d718dce3f179ee78dac3b545ac16c0c04bb363b7607a949c0d1", size = 1246548, upload-time = "2025-08-10T21:25:58.246Z" }, + { url = "https://files.pythonhosted.org/packages/21/aa/72a1c5d1e430294f2d32adb9542719cfb441b5da368d09d268c7757af46c/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb27e7b78d716c591e88e0a09a2139c6577865d7f2e152488c2cc6257f460872", size = 1263618, upload-time = "2025-08-10T21:25:59.857Z" }, + { url = "https://files.pythonhosted.org/packages/a3/af/db1509a9e79dbf4c260ce0cfa3903ea8945f6240e9e59d1e4deb731b1a40/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15163165efc2f627eb9687ea5f3a28137217d217ac4024893d753f46bce9de26", size = 1317437, upload-time = "2025-08-10T21:26:01.105Z" }, + { url = "https://files.pythonhosted.org/packages/e0/f2/3ea5ee5d52abacdd12013a94130436e19969fa183faa1e7c7fbc89e9a42f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bdee92c56a71d2b24c33a7d4c2856bd6419d017e08caa7802d2963870e315028", size = 2195742, upload-time = "2025-08-10T21:26:02.675Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9b/1efdd3013c2d9a2566aa6a337e9923a00590c516add9a1e89a768a3eb2fc/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:412f287c55a6f54b0650bd9b6dce5aceddb95864a1a90c87af16979d37c89771", size = 2290810, upload-time = "2025-08-10T21:26:04.009Z" }, + { url = "https://files.pythonhosted.org/packages/fb/e5/cfdc36109ae4e67361f9bc5b41323648cb24a01b9ade18784657e022e65f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2c93f00dcba2eea70af2be5f11a830a742fe6b579a1d4e00f47760ef13be247a", size = 2461579, upload-time = "2025-08-10T21:26:05.317Z" }, + { url = "https://files.pythonhosted.org/packages/62/86/b589e5e86c7610842213994cdea5add00960076bef4ae290c5fa68589cac/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f117e1a089d9411663a3207ba874f31be9ac8eaa5b533787024dc07aeb74f464", size = 2268071, upload-time = "2025-08-10T21:26:06.686Z" }, + { url = "https://files.pythonhosted.org/packages/3b/c6/f8df8509fd1eee6c622febe54384a96cfaf4d43bf2ccec7a0cc17e4715c9/kiwisolver-1.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:be6a04e6c79819c9a8c2373317d19a96048e5a3f90bec587787e86a1153883c2", size = 73840, upload-time = "2025-08-10T21:26:07.94Z" }, + { url = "https://files.pythonhosted.org/packages/e2/2d/16e0581daafd147bc11ac53f032a2b45eabac897f42a338d0a13c1e5c436/kiwisolver-1.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:0ae37737256ba2de764ddc12aed4956460277f00c4996d51a197e72f62f5eec7", size = 65159, upload-time = "2025-08-10T21:26:09.048Z" }, + { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686, upload-time = "2025-08-10T21:26:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460, upload-time = "2025-08-10T21:26:11.083Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952, upload-time = "2025-08-10T21:26:12.058Z" }, + { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756, upload-time = "2025-08-10T21:26:13.096Z" }, + { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404, upload-time = "2025-08-10T21:26:14.457Z" }, + { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410, upload-time = "2025-08-10T21:26:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631, upload-time = "2025-08-10T21:26:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963, upload-time = "2025-08-10T21:26:18.737Z" }, + { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295, upload-time = "2025-08-10T21:26:20.11Z" }, + { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987, upload-time = "2025-08-10T21:26:21.49Z" }, + { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817, upload-time = "2025-08-10T21:26:22.812Z" }, + { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895, upload-time = "2025-08-10T21:26:24.37Z" }, + { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992, upload-time = "2025-08-10T21:26:25.732Z" }, + { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681, upload-time = "2025-08-10T21:26:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464, upload-time = "2025-08-10T21:26:27.733Z" }, + { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961, upload-time = "2025-08-10T21:26:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607, upload-time = "2025-08-10T21:26:29.798Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546, upload-time = "2025-08-10T21:26:31.401Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482, upload-time = "2025-08-10T21:26:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720, upload-time = "2025-08-10T21:26:34.032Z" }, + { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907, upload-time = "2025-08-10T21:26:35.824Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334, upload-time = "2025-08-10T21:26:37.534Z" }, + { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313, upload-time = "2025-08-10T21:26:39.191Z" }, + { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970, upload-time = "2025-08-10T21:26:40.828Z" }, + { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894, upload-time = "2025-08-10T21:26:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995, upload-time = "2025-08-10T21:26:43.889Z" }, + { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510, upload-time = "2025-08-10T21:26:44.915Z" }, + { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903, upload-time = "2025-08-10T21:26:45.934Z" }, + { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402, upload-time = "2025-08-10T21:26:47.101Z" }, + { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135, upload-time = "2025-08-10T21:26:48.665Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409, upload-time = "2025-08-10T21:26:50.335Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763, upload-time = "2025-08-10T21:26:51.867Z" }, + { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643, upload-time = "2025-08-10T21:26:53.592Z" }, + { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818, upload-time = "2025-08-10T21:26:55.051Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963, upload-time = "2025-08-10T21:26:56.421Z" }, + { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639, upload-time = "2025-08-10T21:26:57.882Z" }, + { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741, upload-time = "2025-08-10T21:26:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646, upload-time = "2025-08-10T21:27:00.52Z" }, + { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806, upload-time = "2025-08-10T21:27:01.537Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605, upload-time = "2025-08-10T21:27:03.335Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925, upload-time = "2025-08-10T21:27:04.339Z" }, + { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414, upload-time = "2025-08-10T21:27:05.437Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272, upload-time = "2025-08-10T21:27:07.063Z" }, + { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578, upload-time = "2025-08-10T21:27:08.452Z" }, + { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607, upload-time = "2025-08-10T21:27:10.125Z" }, + { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150, upload-time = "2025-08-10T21:27:11.484Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979, upload-time = "2025-08-10T21:27:12.917Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456, upload-time = "2025-08-10T21:27:14.353Z" }, + { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621, upload-time = "2025-08-10T21:27:15.808Z" }, + { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417, upload-time = "2025-08-10T21:27:17.436Z" }, + { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582, upload-time = "2025-08-10T21:27:18.436Z" }, + { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514, upload-time = "2025-08-10T21:27:19.465Z" }, + { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905, upload-time = "2025-08-10T21:27:20.51Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399, upload-time = "2025-08-10T21:27:21.496Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197, upload-time = "2025-08-10T21:27:22.604Z" }, + { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125, upload-time = "2025-08-10T21:27:24.036Z" }, + { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612, upload-time = "2025-08-10T21:27:25.773Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990, upload-time = "2025-08-10T21:27:27.089Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601, upload-time = "2025-08-10T21:27:29.343Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041, upload-time = "2025-08-10T21:27:30.754Z" }, + { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897, upload-time = "2025-08-10T21:27:32.803Z" }, + { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835, upload-time = "2025-08-10T21:27:34.23Z" }, + { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988, upload-time = "2025-08-10T21:27:35.587Z" }, + { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260, upload-time = "2025-08-10T21:27:36.606Z" }, + { url = "https://files.pythonhosted.org/packages/a2/63/fde392691690f55b38d5dd7b3710f5353bf7a8e52de93a22968801ab8978/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4d1d9e582ad4d63062d34077a9a1e9f3c34088a2ec5135b1f7190c07cf366527", size = 60183, upload-time = "2025-08-10T21:27:37.669Z" }, + { url = "https://files.pythonhosted.org/packages/27/b1/6aad34edfdb7cced27f371866f211332bba215bfd918ad3322a58f480d8b/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:deed0c7258ceb4c44ad5ec7d9918f9f14fd05b2be86378d86cf50e63d1e7b771", size = 58675, upload-time = "2025-08-10T21:27:39.031Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1a/23d855a702bb35a76faed5ae2ba3de57d323f48b1f6b17ee2176c4849463/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a590506f303f512dff6b7f75fd2fd18e16943efee932008fe7140e5fa91d80e", size = 80277, upload-time = "2025-08-10T21:27:40.129Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5b/5239e3c2b8fb5afa1e8508f721bb77325f740ab6994d963e61b2b7abcc1e/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e09c2279a4d01f099f52d5c4b3d9e208e91edcbd1a175c9662a8b16e000fece9", size = 77994, upload-time = "2025-08-10T21:27:41.181Z" }, + { url = "https://files.pythonhosted.org/packages/f9/1c/5d4d468fb16f8410e596ed0eac02d2c68752aa7dc92997fe9d60a7147665/kiwisolver-1.4.9-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c9e7cdf45d594ee04d5be1b24dd9d49f3d1590959b2271fb30b5ca2b262c00fb", size = 73744, upload-time = "2025-08-10T21:27:42.254Z" }, + { url = "https://files.pythonhosted.org/packages/a3/0f/36d89194b5a32c054ce93e586d4049b6c2c22887b0eb229c61c68afd3078/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:720e05574713db64c356e86732c0f3c5252818d05f9df320f0ad8380641acea5", size = 60104, upload-time = "2025-08-10T21:27:43.287Z" }, + { url = "https://files.pythonhosted.org/packages/52/ba/4ed75f59e4658fd21fe7dde1fee0ac397c678ec3befba3fe6482d987af87/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:17680d737d5335b552994a2008fab4c851bcd7de33094a82067ef3a576ff02fa", size = 58592, upload-time = "2025-08-10T21:27:44.314Z" }, + { url = "https://files.pythonhosted.org/packages/33/01/a8ea7c5ea32a9b45ceeaee051a04c8ed4320f5add3c51bfa20879b765b70/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85b5352f94e490c028926ea567fc569c52ec79ce131dadb968d3853e809518c2", size = 80281, upload-time = "2025-08-10T21:27:45.369Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/dbd2ecdce306f1d07a1aaf324817ee993aab7aee9db47ceac757deabafbe/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:464415881e4801295659462c49461a24fb107c140de781d55518c4b80cb6790f", size = 78009, upload-time = "2025-08-10T21:27:46.376Z" }, + { url = "https://files.pythonhosted.org/packages/da/e9/0d4add7873a73e462aeb45c036a2dead2562b825aa46ba326727b3f31016/kiwisolver-1.4.9-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:fb940820c63a9590d31d88b815e7a3aa5915cad3ce735ab45f0c730b39547de1", size = 73929, upload-time = "2025-08-10T21:27:48.236Z" }, +] + +[[package]] +name = "larch" +version = "6.0.42" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "addicty" }, + { name = "dask" }, + { name = "filelock" }, + { name = "jinja2" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numba" }, + { name = "numexpr" }, + { name = "numpy" }, + { name = "pandas", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "pyarrow" }, + { name = "rich" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "sparse" }, + { name = "xarray" }, + { name = "xmle" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/41/3c/0db11f6fbe7dcf2edf2c2843f4b74f03d42f3f607a20e774bf3ec74d3467/larch-6.0.42.tar.gz", hash = "sha256:09c76404a3a91505acd04902743a156ad5b84697d3c69796452d3852a4b2f2dd", size = 2153168, upload-time = "2025-09-28T22:58:23.784Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/a9/2bd3ea4b0c4297b06db04553709bd7d3a01c0e8847a621832d3f1cec8fec/larch-6.0.42-py3-none-any.whl", hash = "sha256:5d9cf582c9c0b293eca15ddb1859e516ad89cdb33c9509b447f7c137b97c647c", size = 1851908, upload-time = "2025-09-28T22:58:21.644Z" }, +] + +[[package]] +name = "lark" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/37/a13baf0135f348af608c667633cbe5d13aa2c5c15a56ae9ad3e6cba45ae3/lark-1.3.0.tar.gz", hash = "sha256:9a3839d0ca5e1faf7cfa3460e420e859b66bcbde05b634e73c369c8244c5fa48", size = 259551, upload-time = "2025-09-22T13:45:05.072Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/3e/1c6b43277de64fc3c0333b0e72ab7b52ddaaea205210d60d9b9f83c3d0c7/lark-1.3.0-py3-none-any.whl", hash = "sha256:80661f261fb2584a9828a097a2432efd575af27d20be0fd35d17f0fe37253831", size = 113002, upload-time = "2025-09-22T13:45:03.747Z" }, +] + +[[package]] +name = "latexcodec" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/dd/4270b2c5e2ee49316c3859e62293bd2ea8e382339d63ab7bbe9f39c0ec3b/latexcodec-3.0.1.tar.gz", hash = "sha256:e78a6911cd72f9dec35031c6ec23584de6842bfbc4610a9678868d14cdfb0357", size = 31222, upload-time = "2025-06-17T18:47:34.051Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/40/23569737873cc9637fd488606347e9dd92b9fa37ba4fcda1f98ee5219a97/latexcodec-3.0.1-py3-none-any.whl", hash = "sha256:a9eb8200bff693f0437a69581f7579eb6bca25c4193515c09900ce76451e452e", size = 18532, upload-time = "2025-06-17T18:47:30.726Z" }, +] + +[[package]] +name = "linkify-it-py" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "uc-micro-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz", hash = "sha256:68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048", size = 27946, upload-time = "2024-02-04T14:48:04.179Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/1e/b832de447dee8b582cac175871d2f6c3d5077cc56d5575cadba1fd1cccfa/linkify_it_py-2.0.3-py3-none-any.whl", hash = "sha256:6bcbc417b0ac14323382aef5c5192c0075bf8a9d6b41820a2b66371eac6b6d79", size = 19820, upload-time = "2024-02-04T14:48:02.496Z" }, +] + +[[package]] +name = "llvmlite" +version = "0.45.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/73/4b29b502618766276816f2f2a7cf9017bd3889bc38a49319bee9ad492b75/llvmlite-0.45.0.tar.gz", hash = "sha256:ceb0bcd20da949178bd7ab78af8de73e9f3c483ac46b5bef39f06a4862aa8336", size = 185289, upload-time = "2025-09-18T17:47:14.293Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/4c/df303ed13c77ee022ad203c7ec697f96d863735ec76e293916837bb3f8e3/llvmlite-0.45.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3018e5f8547c8b05e736281d5bd23ff86b88ab94697db2beeaa6f3bce9cfc721", size = 43043438, upload-time = "2025-09-18T17:40:14.292Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b9/72d7612e54eda411952c2a2dd43b1ebd422b5cd66a1ff9fcd8a825160ab8/llvmlite-0.45.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca7b15dc4422551f1b5fb1dbd734d5e8a9416028890d31d4e23a04fbc8a975c4", size = 37253034, upload-time = "2025-09-18T17:42:12.866Z" }, + { url = "https://files.pythonhosted.org/packages/6a/3d/2c0cf2c63107bc4550eb92d830dac85d4b518aea2fe3774a253ffb9aa7c5/llvmlite-0.45.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a9c7343bec403a79248859df75c7945768de70bf547eac8c1cc8b8840e0336ba", size = 56288125, upload-time = "2025-09-18T17:35:06.252Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f3/bddaa88371fa8c2f2361790eba661ba49d0496f00b8bbf9a74c5cd11a7b0/llvmlite-0.45.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56713a25bf81081fc818aa36cbffb70533b3c23291ce0efc17ac8a3b684b8be3", size = 55140875, upload-time = "2025-09-18T17:38:08.277Z" }, + { url = "https://files.pythonhosted.org/packages/55/8a/ac08bfbe0f3ba6080a2cfe74a5f57cede55261c90dba8850f18e95bde1db/llvmlite-0.45.0-cp310-cp310-win_amd64.whl", hash = "sha256:849ba7de7153d8d92bc66577bb951c9baf8d9f67f2521c4f39c78718d471362e", size = 37946101, upload-time = "2025-09-18T17:43:42.729Z" }, + { url = "https://files.pythonhosted.org/packages/03/a4/6a9f9745c80639eee5a6e112de7811ba0a2e9d7f2a6cef226ce54d00d63a/llvmlite-0.45.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:9b1b37e00b553e9420d9a2e327e84c5ac65a5690dcacf7fc153014780d97532a", size = 43043438, upload-time = "2025-09-18T17:40:48.769Z" }, + { url = "https://files.pythonhosted.org/packages/9b/8b/1d7d8f5daaaff4eb8e1673f304fbae24ad4b02e15ce1f47602c163486ac0/llvmlite-0.45.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cd039b8da5514db2729b7c9ae7526cae8da748a540fa3ab721b50c54651d2362", size = 37253033, upload-time = "2025-09-18T17:42:33.206Z" }, + { url = "https://files.pythonhosted.org/packages/e6/95/a13362fe71d1e88bea9e3cc58a3337b3302a3e4af68391df10389f3b7f78/llvmlite-0.45.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c6815d0d3f96de34491d3dc192e11e933e3448ceff0b58572a53f39795996e01", size = 56288124, upload-time = "2025-09-18T17:35:45.017Z" }, + { url = "https://files.pythonhosted.org/packages/2d/cf/4ab3677e11aff8f32573d4bbc617b7707454d47125c86263e189ef576bb1/llvmlite-0.45.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba79cc2cbdd0f61632ca8e9235fef3657a8aacd636d5775cd13807ceb8265f63", size = 55140874, upload-time = "2025-09-18T17:38:40.018Z" }, + { url = "https://files.pythonhosted.org/packages/92/31/63bbf92c51f49ed2f50c6097ffa11b831246dacd30f9476b8516bde70771/llvmlite-0.45.0-cp311-cp311-win_amd64.whl", hash = "sha256:6188da8e9e3906b167fb64bc84a05e6bf98095d982f45f323bed5def2ba7db1c", size = 37946103, upload-time = "2025-09-18T17:44:08.348Z" }, + { url = "https://files.pythonhosted.org/packages/af/b0/81419371eb6154b7ad5c4ded693fa6c9bbfbc8920f9c3ebacc0747e8bf0b/llvmlite-0.45.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:3928119253849e7c9aad4f881feb3e886370bb7ac6eccbc728b35a1be89064cc", size = 43043441, upload-time = "2025-09-18T17:41:21.519Z" }, + { url = "https://files.pythonhosted.org/packages/49/0a/0a2c2cedfbf4bbf61be2db83fe4d7416f234ba2f0e564375f9f45ff7ed7a/llvmlite-0.45.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3e9b5dad694edb9e43904ede037458ee73a18b4e2f227e44fc0f808aceab824", size = 37253035, upload-time = "2025-09-18T17:42:55.189Z" }, + { url = "https://files.pythonhosted.org/packages/d1/ee/6584480d0dcd101bc8800de4d3bfef93cea92161b43903719825f4497449/llvmlite-0.45.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4955635f316e3ffc0271ee7a3da586ae92cd3e70709b6cd59df641e980636d4c", size = 56288125, upload-time = "2025-09-18T17:36:32.038Z" }, + { url = "https://files.pythonhosted.org/packages/10/7b/81c72824f5197154236589cbd4fabd04ae59c57be80b0b401b168deef952/llvmlite-0.45.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e7497f1b75d741e568bf4a2dfccd5c702d6b5f3d232dd4a59ed851a82e587bd", size = 55140873, upload-time = "2025-09-18T17:39:07.152Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b5/acc977fcd891c0fb155c9edcf3fa8c6cded1d5163625137ef696c5e725e3/llvmlite-0.45.0-cp312-cp312-win_amd64.whl", hash = "sha256:6404f5363986efbe1c7c1afd19da495534e46180466d593ace5a5c042b2f3f94", size = 37946104, upload-time = "2025-09-18T17:44:30.299Z" }, + { url = "https://files.pythonhosted.org/packages/d2/1e/dd09f15cf59eb528101917916291a6021148c356908e34c726e139a95687/llvmlite-0.45.0-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:f719f98e4f3a6292b1a6495500b2cf668d3604907499c483b326da5ce2ff9f01", size = 43043440, upload-time = "2025-09-18T17:41:46.947Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e3/5d43a20dec7561a34f81081612eb860b8ee26233cf44cce7fc39c3aff4e9/llvmlite-0.45.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4ffa899f7584ef48f1037308d92cb19460a0afb834aa1fe9db9d3e52d0e81a79", size = 37253036, upload-time = "2025-09-18T17:43:18.15Z" }, + { url = "https://files.pythonhosted.org/packages/00/c4/c2e5ade9354908630aec2eeeeacbfe341a96d07e080dc0cd25cbbb9c8c82/llvmlite-0.45.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2c12fde908967e464b265554143c030ba4dcc2b981a815582d7708a30295018e", size = 56288125, upload-time = "2025-09-18T17:37:32.215Z" }, + { url = "https://files.pythonhosted.org/packages/95/d5/d5aefc379e189d83483d7263efe794f5ee0783ad90be1b09f58b98c738ee/llvmlite-0.45.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83567cbbf598eb57f108222dfc3dfee065c20a2aa004391360949f2e8ff2b8b4", size = 55140873, upload-time = "2025-09-18T17:39:44.928Z" }, + { url = "https://files.pythonhosted.org/packages/21/16/bac6a35ae77d6f881d2c6b54cbb2df2b07e030e1a66da8041359d09b0d87/llvmlite-0.45.0-cp313-cp313-win_amd64.whl", hash = "sha256:f68890ceb662e874933103e91e239389ff7275c4befba8e43ccd46ae3231b89e", size = 37946102, upload-time = "2025-09-18T17:44:56.051Z" }, +] + +[[package]] +name = "locket" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/83/97b29fe05cb6ae28d2dbd30b81e2e402a3eed5f460c26e9eaa5895ceacf5/locket-1.0.0.tar.gz", hash = "sha256:5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632", size = 4350, upload-time = "2022-04-20T22:04:44.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl", hash = "sha256:b6c819a722f7b6bd955b80781788e4a66a55628b858d347536b7e81325a3a5e3", size = 4398, upload-time = "2022-04-20T22:04:42.23Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e4/c0/59bd6d0571986f72899288a95d9d6178d0eebd70b6650f1bb3f0da90f8f7/markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1", size = 67120, upload-time = "2023-02-22T05:54:30.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/25/2d88e8feee8e055d015343f9b86e370a1ccbec546f2865c98397aaef24af/markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30", size = 84466, upload-time = "2023-02-22T05:54:29.508Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" }, + { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" }, + { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" }, + { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" }, + { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" }, + { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" }, + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/59/c3e6453a9676ffba145309a73c462bb407f4400de7de3f2b41af70720a3c/matplotlib-3.10.6.tar.gz", hash = "sha256:ec01b645840dd1996df21ee37f208cd8ba57644779fa20464010638013d3203c", size = 34804264, upload-time = "2025-08-30T00:14:25.137Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/dc/ab89f7a5efd0cbaaebf2c3cf1881f4cba20c8925bb43f64511059df76895/matplotlib-3.10.6-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:bc7316c306d97463a9866b89d5cc217824e799fa0de346c8f68f4f3d27c8693d", size = 8247159, upload-time = "2025-08-30T00:12:30.507Z" }, + { url = "https://files.pythonhosted.org/packages/30/a5/ddaee1a383ab28174093644fff7438eddb87bf8dbd58f7b85f5cdd6b2485/matplotlib-3.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d00932b0d160ef03f59f9c0e16d1e3ac89646f7785165ce6ad40c842db16cc2e", size = 8108011, upload-time = "2025-08-30T00:12:32.771Z" }, + { url = "https://files.pythonhosted.org/packages/75/5b/a53f69bb0522db352b1135bb57cd9fe00fd7252072409392d991d3a755d0/matplotlib-3.10.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8fa4c43d6bfdbfec09c733bca8667de11bfa4970e8324c471f3a3632a0301c15", size = 8680518, upload-time = "2025-08-30T00:12:34.387Z" }, + { url = "https://files.pythonhosted.org/packages/5f/31/e059ddce95f68819b005a2d6820b2d6ed0307827a04598891f00649bed2d/matplotlib-3.10.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea117a9c1627acaa04dbf36265691921b999cbf515a015298e54e1a12c3af837", size = 9514997, upload-time = "2025-08-30T00:12:36.272Z" }, + { url = "https://files.pythonhosted.org/packages/66/d5/28b408a7c0f07b41577ee27e4454fe329e78ca21fe46ae7a27d279165fb5/matplotlib-3.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08fc803293b4e1694ee325896030de97f74c141ccff0be886bb5915269247676", size = 9566440, upload-time = "2025-08-30T00:12:41.675Z" }, + { url = "https://files.pythonhosted.org/packages/2d/99/8325b3386b479b1d182ab1a7fd588fd393ff00a99dc04b7cf7d06668cf0f/matplotlib-3.10.6-cp310-cp310-win_amd64.whl", hash = "sha256:2adf92d9b7527fbfb8818e050260f0ebaa460f79d61546374ce73506c9421d09", size = 8108186, upload-time = "2025-08-30T00:12:43.621Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/5d3665aa44c49005aaacaa68ddea6fcb27345961cd538a98bb0177934ede/matplotlib-3.10.6-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:905b60d1cb0ee604ce65b297b61cf8be9f4e6cfecf95a3fe1c388b5266bc8f4f", size = 8257527, upload-time = "2025-08-30T00:12:45.31Z" }, + { url = "https://files.pythonhosted.org/packages/8c/af/30ddefe19ca67eebd70047dabf50f899eaff6f3c5e6a1a7edaecaf63f794/matplotlib-3.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7bac38d816637343e53d7185d0c66677ff30ffb131044a81898b5792c956ba76", size = 8119583, upload-time = "2025-08-30T00:12:47.236Z" }, + { url = "https://files.pythonhosted.org/packages/d3/29/4a8650a3dcae97fa4f375d46efcb25920d67b512186f8a6788b896062a81/matplotlib-3.10.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:942a8de2b5bfff1de31d95722f702e2966b8a7e31f4e68f7cd963c7cd8861cf6", size = 8692682, upload-time = "2025-08-30T00:12:48.781Z" }, + { url = "https://files.pythonhosted.org/packages/aa/d3/b793b9cb061cfd5d42ff0f69d1822f8d5dbc94e004618e48a97a8373179a/matplotlib-3.10.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a3276c85370bc0dfca051ec65c5817d1e0f8f5ce1b7787528ec8ed2d524bbc2f", size = 9521065, upload-time = "2025-08-30T00:12:50.602Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c5/53de5629f223c1c66668d46ac2621961970d21916a4bc3862b174eb2a88f/matplotlib-3.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9df5851b219225731f564e4b9e7f2ac1e13c9e6481f941b5631a0f8e2d9387ce", size = 9576888, upload-time = "2025-08-30T00:12:52.92Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8e/0a18d6d7d2d0a2e66585032a760d13662e5250c784d53ad50434e9560991/matplotlib-3.10.6-cp311-cp311-win_amd64.whl", hash = "sha256:abb5d9478625dd9c9eb51a06d39aae71eda749ae9b3138afb23eb38824026c7e", size = 8115158, upload-time = "2025-08-30T00:12:54.863Z" }, + { url = "https://files.pythonhosted.org/packages/07/b3/1a5107bb66c261e23b9338070702597a2d374e5aa7004b7adfc754fbed02/matplotlib-3.10.6-cp311-cp311-win_arm64.whl", hash = "sha256:886f989ccfae63659183173bb3fced7fd65e9eb793c3cc21c273add368536951", size = 7992444, upload-time = "2025-08-30T00:12:57.067Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1a/7042f7430055d567cc3257ac409fcf608599ab27459457f13772c2d9778b/matplotlib-3.10.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:31ca662df6a80bd426f871105fdd69db7543e28e73a9f2afe80de7e531eb2347", size = 8272404, upload-time = "2025-08-30T00:12:59.112Z" }, + { url = "https://files.pythonhosted.org/packages/a9/5d/1d5f33f5b43f4f9e69e6a5fe1fb9090936ae7bc8e2ff6158e7a76542633b/matplotlib-3.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1678bb61d897bb4ac4757b5ecfb02bfb3fddf7f808000fb81e09c510712fda75", size = 8128262, upload-time = "2025-08-30T00:13:01.141Z" }, + { url = "https://files.pythonhosted.org/packages/67/c3/135fdbbbf84e0979712df58e5e22b4f257b3f5e52a3c4aacf1b8abec0d09/matplotlib-3.10.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:56cd2d20842f58c03d2d6e6c1f1cf5548ad6f66b91e1e48f814e4fb5abd1cb95", size = 8697008, upload-time = "2025-08-30T00:13:03.24Z" }, + { url = "https://files.pythonhosted.org/packages/9c/be/c443ea428fb2488a3ea7608714b1bd85a82738c45da21b447dc49e2f8e5d/matplotlib-3.10.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:662df55604a2f9a45435566d6e2660e41efe83cd94f4288dfbf1e6d1eae4b0bb", size = 9530166, upload-time = "2025-08-30T00:13:05.951Z" }, + { url = "https://files.pythonhosted.org/packages/a9/35/48441422b044d74034aea2a3e0d1a49023f12150ebc58f16600132b9bbaf/matplotlib-3.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:08f141d55148cd1fc870c3387d70ca4df16dee10e909b3b038782bd4bda6ea07", size = 9593105, upload-time = "2025-08-30T00:13:08.356Z" }, + { url = "https://files.pythonhosted.org/packages/45/c3/994ef20eb4154ab84cc08d033834555319e4af970165e6c8894050af0b3c/matplotlib-3.10.6-cp312-cp312-win_amd64.whl", hash = "sha256:590f5925c2d650b5c9d813c5b3b5fc53f2929c3f8ef463e4ecfa7e052044fb2b", size = 8122784, upload-time = "2025-08-30T00:13:10.367Z" }, + { url = "https://files.pythonhosted.org/packages/57/b8/5c85d9ae0e40f04e71bedb053aada5d6bab1f9b5399a0937afb5d6b02d98/matplotlib-3.10.6-cp312-cp312-win_arm64.whl", hash = "sha256:f44c8d264a71609c79a78d50349e724f5d5fc3684ead7c2a473665ee63d868aa", size = 7992823, upload-time = "2025-08-30T00:13:12.24Z" }, + { url = "https://files.pythonhosted.org/packages/a0/db/18380e788bb837e724358287b08e223b32bc8dccb3b0c12fa8ca20bc7f3b/matplotlib-3.10.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:819e409653c1106c8deaf62e6de6b8611449c2cd9939acb0d7d4e57a3d95cc7a", size = 8273231, upload-time = "2025-08-30T00:13:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/d3/0f/38dd49445b297e0d4f12a322c30779df0d43cb5873c7847df8a82e82ec67/matplotlib-3.10.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:59c8ac8382fefb9cb71308dde16a7c487432f5255d8f1fd32473523abecfecdf", size = 8128730, upload-time = "2025-08-30T00:13:15.556Z" }, + { url = "https://files.pythonhosted.org/packages/e5/b8/9eea6630198cb303d131d95d285a024b3b8645b1763a2916fddb44ca8760/matplotlib-3.10.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:84e82d9e0fd70c70bc55739defbd8055c54300750cbacf4740c9673a24d6933a", size = 8698539, upload-time = "2025-08-30T00:13:17.297Z" }, + { url = "https://files.pythonhosted.org/packages/71/34/44c7b1f075e1ea398f88aeabcc2907c01b9cc99e2afd560c1d49845a1227/matplotlib-3.10.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25f7a3eb42d6c1c56e89eacd495661fc815ffc08d9da750bca766771c0fd9110", size = 9529702, upload-time = "2025-08-30T00:13:19.248Z" }, + { url = "https://files.pythonhosted.org/packages/b5/7f/e5c2dc9950c7facaf8b461858d1b92c09dd0cf174fe14e21953b3dda06f7/matplotlib-3.10.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f9c862d91ec0b7842920a4cfdaaec29662195301914ea54c33e01f1a28d014b2", size = 9593742, upload-time = "2025-08-30T00:13:21.181Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1d/70c28528794f6410ee2856cd729fa1f1756498b8d3126443b0a94e1a8695/matplotlib-3.10.6-cp313-cp313-win_amd64.whl", hash = "sha256:1b53bd6337eba483e2e7d29c5ab10eee644bc3a2491ec67cc55f7b44583ffb18", size = 8122753, upload-time = "2025-08-30T00:13:23.44Z" }, + { url = "https://files.pythonhosted.org/packages/e8/74/0e1670501fc7d02d981564caf7c4df42974464625935424ca9654040077c/matplotlib-3.10.6-cp313-cp313-win_arm64.whl", hash = "sha256:cbd5eb50b7058b2892ce45c2f4e92557f395c9991f5c886d1bb74a1582e70fd6", size = 7992973, upload-time = "2025-08-30T00:13:26.632Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4e/60780e631d73b6b02bd7239f89c451a72970e5e7ec34f621eda55cd9a445/matplotlib-3.10.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:acc86dd6e0e695c095001a7fccff158c49e45e0758fdf5dcdbb0103318b59c9f", size = 8316869, upload-time = "2025-08-30T00:13:28.262Z" }, + { url = "https://files.pythonhosted.org/packages/f8/15/baa662374a579413210fc2115d40c503b7360a08e9cc254aa0d97d34b0c1/matplotlib-3.10.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e228cd2ffb8f88b7d0b29e37f68ca9aaf83e33821f24a5ccc4f082dd8396bc27", size = 8178240, upload-time = "2025-08-30T00:13:30.007Z" }, + { url = "https://files.pythonhosted.org/packages/c6/3f/3c38e78d2aafdb8829fcd0857d25aaf9e7dd2dfcf7ec742765b585774931/matplotlib-3.10.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:658bc91894adeab669cf4bb4a186d049948262987e80f0857216387d7435d833", size = 8711719, upload-time = "2025-08-30T00:13:31.72Z" }, + { url = "https://files.pythonhosted.org/packages/96/4b/2ec2bbf8cefaa53207cc56118d1fa8a0f9b80642713ea9390235d331ede4/matplotlib-3.10.6-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8913b7474f6dd83ac444c9459c91f7f0f2859e839f41d642691b104e0af056aa", size = 9541422, upload-time = "2025-08-30T00:13:33.611Z" }, + { url = "https://files.pythonhosted.org/packages/83/7d/40255e89b3ef11c7871020563b2dd85f6cb1b4eff17c0f62b6eb14c8fa80/matplotlib-3.10.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:091cea22e059b89f6d7d1a18e2c33a7376c26eee60e401d92a4d6726c4e12706", size = 9594068, upload-time = "2025-08-30T00:13:35.833Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a9/0213748d69dc842537a113493e1c27daf9f96bd7cc316f933dc8ec4de985/matplotlib-3.10.6-cp313-cp313t-win_amd64.whl", hash = "sha256:491e25e02a23d7207629d942c666924a6b61e007a48177fdd231a0097b7f507e", size = 8200100, upload-time = "2025-08-30T00:13:37.668Z" }, + { url = "https://files.pythonhosted.org/packages/be/15/79f9988066ce40b8a6f1759a934ea0cde8dc4adc2262255ee1bc98de6ad0/matplotlib-3.10.6-cp313-cp313t-win_arm64.whl", hash = "sha256:3d80d60d4e54cda462e2cd9a086d85cd9f20943ead92f575ce86885a43a565d5", size = 8042142, upload-time = "2025-08-30T00:13:39.426Z" }, + { url = "https://files.pythonhosted.org/packages/7c/58/e7b6d292beae6fb4283ca6fb7fa47d7c944a68062d6238c07b497dd35493/matplotlib-3.10.6-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:70aaf890ce1d0efd482df969b28a5b30ea0b891224bb315810a3940f67182899", size = 8273802, upload-time = "2025-08-30T00:13:41.006Z" }, + { url = "https://files.pythonhosted.org/packages/9f/f6/7882d05aba16a8cdd594fb9a03a9d3cca751dbb6816adf7b102945522ee9/matplotlib-3.10.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1565aae810ab79cb72e402b22facfa6501365e73ebab70a0fdfb98488d2c3c0c", size = 8131365, upload-time = "2025-08-30T00:13:42.664Z" }, + { url = "https://files.pythonhosted.org/packages/94/bf/ff32f6ed76e78514e98775a53715eca4804b12bdcf35902cdd1cf759d324/matplotlib-3.10.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3b23315a01981689aa4e1a179dbf6ef9fbd17143c3eea77548c2ecfb0499438", size = 9533961, upload-time = "2025-08-30T00:13:44.372Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c3/6bf88c2fc2da7708a2ff8d2eeb5d68943130f50e636d5d3dcf9d4252e971/matplotlib-3.10.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:30fdd37edf41a4e6785f9b37969de57aea770696cb637d9946eb37470c94a453", size = 9804262, upload-time = "2025-08-30T00:13:46.614Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7a/e05e6d9446d2d577b459427ad060cd2de5742d0e435db3191fea4fcc7e8b/matplotlib-3.10.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bc31e693da1c08012c764b053e702c1855378e04102238e6a5ee6a7117c53a47", size = 9595508, upload-time = "2025-08-30T00:13:48.731Z" }, + { url = "https://files.pythonhosted.org/packages/39/fb/af09c463ced80b801629fd73b96f726c9f6124c3603aa2e480a061d6705b/matplotlib-3.10.6-cp314-cp314-win_amd64.whl", hash = "sha256:05be9bdaa8b242bc6ff96330d18c52f1fc59c6fb3a4dd411d953d67e7e1baf98", size = 8252742, upload-time = "2025-08-30T00:13:50.539Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f9/b682f6db9396d9ab8f050c0a3bfbb5f14fb0f6518f08507c04cc02f8f229/matplotlib-3.10.6-cp314-cp314-win_arm64.whl", hash = "sha256:f56a0d1ab05d34c628592435781d185cd99630bdfd76822cd686fb5a0aecd43a", size = 8124237, upload-time = "2025-08-30T00:13:54.3Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d2/b69b4a0923a3c05ab90527c60fdec899ee21ca23ede7f0fb818e6620d6f2/matplotlib-3.10.6-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:94f0b4cacb23763b64b5dace50d5b7bfe98710fed5f0cef5c08135a03399d98b", size = 8316956, upload-time = "2025-08-30T00:13:55.932Z" }, + { url = "https://files.pythonhosted.org/packages/28/e9/dc427b6f16457ffaeecb2fc4abf91e5adb8827861b869c7a7a6d1836fa73/matplotlib-3.10.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cc332891306b9fb39462673d8225d1b824c89783fee82840a709f96714f17a5c", size = 8178260, upload-time = "2025-08-30T00:14:00.942Z" }, + { url = "https://files.pythonhosted.org/packages/c4/89/1fbd5ad611802c34d1c7ad04607e64a1350b7fb9c567c4ec2c19e066ed35/matplotlib-3.10.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee1d607b3fb1590deb04b69f02ea1d53ed0b0bf75b2b1a5745f269afcbd3cdd3", size = 9541422, upload-time = "2025-08-30T00:14:02.664Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3b/65fec8716025b22c1d72d5a82ea079934c76a547696eaa55be6866bc89b1/matplotlib-3.10.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:376a624a218116461696b27b2bbf7a8945053e6d799f6502fc03226d077807bf", size = 9803678, upload-time = "2025-08-30T00:14:04.741Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b0/40fb2b3a1ab9381bb39a952e8390357c8be3bdadcf6d5055d9c31e1b35ae/matplotlib-3.10.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:83847b47f6524c34b4f2d3ce726bb0541c48c8e7692729865c3df75bfa0f495a", size = 9594077, upload-time = "2025-08-30T00:14:07.012Z" }, + { url = "https://files.pythonhosted.org/packages/76/34/c4b71b69edf5b06e635eee1ed10bfc73cf8df058b66e63e30e6a55e231d5/matplotlib-3.10.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c7e0518e0d223683532a07f4b512e2e0729b62674f1b3a1a69869f98e6b1c7e3", size = 8342822, upload-time = "2025-08-30T00:14:09.041Z" }, + { url = "https://files.pythonhosted.org/packages/e8/62/aeabeef1a842b6226a30d49dd13e8a7a1e81e9ec98212c0b5169f0a12d83/matplotlib-3.10.6-cp314-cp314t-win_arm64.whl", hash = "sha256:4dd83e029f5b4801eeb87c64efd80e732452781c16a9cf7415b7b63ec8f374d7", size = 8172588, upload-time = "2025-08-30T00:14:11.166Z" }, + { url = "https://files.pythonhosted.org/packages/17/6f/2551e45bea2938e0363ccdd54fa08dae7605ce782d4332497d31a7b97672/matplotlib-3.10.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:13fcd07ccf17e354398358e0307a1f53f5325dca22982556ddb9c52837b5af41", size = 8241220, upload-time = "2025-08-30T00:14:12.888Z" }, + { url = "https://files.pythonhosted.org/packages/54/7e/0f4c6e8b98105fdb162a4efde011af204ca47d7c05d735aff480ebfead1b/matplotlib-3.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:470fc846d59d1406e34fa4c32ba371039cd12c2fe86801159a965956f2575bd1", size = 8104624, upload-time = "2025-08-30T00:14:14.511Z" }, + { url = "https://files.pythonhosted.org/packages/27/27/c29696702b9317a6ade1ba6f8861e02d7423f18501729203d7a80b686f23/matplotlib-3.10.6-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f7173f8551b88f4ef810a94adae3128c2530e0d07529f7141be7f8d8c365f051", size = 8682271, upload-time = "2025-08-30T00:14:17.273Z" }, + { url = "https://files.pythonhosted.org/packages/12/bb/02c35a51484aae5f49bd29f091286e7af5f3f677a9736c58a92b3c78baeb/matplotlib-3.10.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f2d684c3204fa62421bbf770ddfebc6b50130f9cad65531eeba19236d73bb488", size = 8252296, upload-time = "2025-08-30T00:14:19.49Z" }, + { url = "https://files.pythonhosted.org/packages/7d/85/41701e3092005aee9a2445f5ee3904d9dbd4a7df7a45905ffef29b7ef098/matplotlib-3.10.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:6f4a69196e663a41d12a728fab8751177215357906436804217d6d9cf0d4d6cf", size = 8116749, upload-time = "2025-08-30T00:14:21.344Z" }, + { url = "https://files.pythonhosted.org/packages/16/53/8d8fa0ea32a8c8239e04d022f6c059ee5e1b77517769feccd50f1df43d6d/matplotlib-3.10.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d6ca6ef03dfd269f4ead566ec6f3fb9becf8dab146fb999022ed85ee9f6b3eb", size = 8693933, upload-time = "2025-08-30T00:14:22.942Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, +] + +[[package]] +name = "mdit-py-plugins" +version = "0.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/e7/cc2720da8a32724b36d04c6dba5644154cdf883a1482b3bbb81959a642ed/mdit-py-plugins-0.3.5.tar.gz", hash = "sha256:eee0adc7195e5827e17e02d2a258a2ba159944a0748f59c5099a4a27f78fcf6a", size = 39871, upload-time = "2023-03-02T17:42:50.654Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/4c/a9b222f045f98775034d243198212cbea36d3524c3ee1e8ab8c0346d6953/mdit_py_plugins-0.3.5-py3-none-any.whl", hash = "sha256:ca9a0714ea59a24b2b044a1831f48d817dd0c817e84339f20e7889f392d77c4e", size = 52087, upload-time = "2023-03-02T17:42:48.841Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "mistune" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/02/a7fb8b21d4d55ac93cdcde9d3638da5dd0ebdd3a4fed76c7725e10b81cbe/mistune-3.1.4.tar.gz", hash = "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164", size = 94588, upload-time = "2025-08-29T07:20:43.594Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" }, +] + +[[package]] +name = "msgpack" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/45/b1/ea4f68038a18c77c9467400d166d74c4ffa536f34761f7983a104357e614/msgpack-1.1.1.tar.gz", hash = "sha256:77b79ce34a2bdab2594f490c8e80dd62a02d650b91a75159a63ec413b8d104cd", size = 173555, upload-time = "2025-06-13T06:52:51.324Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/52/f30da112c1dc92cf64f57d08a273ac771e7b29dea10b4b30369b2d7e8546/msgpack-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:353b6fc0c36fde68b661a12949d7d49f8f51ff5fa019c1e47c87c4ff34b080ed", size = 81799, upload-time = "2025-06-13T06:51:37.228Z" }, + { url = "https://files.pythonhosted.org/packages/e4/35/7bfc0def2f04ab4145f7f108e3563f9b4abae4ab0ed78a61f350518cc4d2/msgpack-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:79c408fcf76a958491b4e3b103d1c417044544b68e96d06432a189b43d1215c8", size = 78278, upload-time = "2025-06-13T06:51:38.534Z" }, + { url = "https://files.pythonhosted.org/packages/e8/c5/df5d6c1c39856bc55f800bf82778fd4c11370667f9b9e9d51b2f5da88f20/msgpack-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78426096939c2c7482bf31ef15ca219a9e24460289c00dd0b94411040bb73ad2", size = 402805, upload-time = "2025-06-13T06:51:39.538Z" }, + { url = "https://files.pythonhosted.org/packages/20/8e/0bb8c977efecfe6ea7116e2ed73a78a8d32a947f94d272586cf02a9757db/msgpack-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b17ba27727a36cb73aabacaa44b13090feb88a01d012c0f4be70c00f75048b4", size = 408642, upload-time = "2025-06-13T06:51:41.092Z" }, + { url = "https://files.pythonhosted.org/packages/59/a1/731d52c1aeec52006be6d1f8027c49fdc2cfc3ab7cbe7c28335b2910d7b6/msgpack-1.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a17ac1ea6ec3c7687d70201cfda3b1e8061466f28f686c24f627cae4ea8efd0", size = 395143, upload-time = "2025-06-13T06:51:42.575Z" }, + { url = "https://files.pythonhosted.org/packages/2b/92/b42911c52cda2ba67a6418ffa7d08969edf2e760b09015593c8a8a27a97d/msgpack-1.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:88d1e966c9235c1d4e2afac21ca83933ba59537e2e2727a999bf3f515ca2af26", size = 395986, upload-time = "2025-06-13T06:51:43.807Z" }, + { url = "https://files.pythonhosted.org/packages/61/dc/8ae165337e70118d4dab651b8b562dd5066dd1e6dd57b038f32ebc3e2f07/msgpack-1.1.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f6d58656842e1b2ddbe07f43f56b10a60f2ba5826164910968f5933e5178af75", size = 402682, upload-time = "2025-06-13T06:51:45.534Z" }, + { url = "https://files.pythonhosted.org/packages/58/27/555851cb98dcbd6ce041df1eacb25ac30646575e9cd125681aa2f4b1b6f1/msgpack-1.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96decdfc4adcbc087f5ea7ebdcfd3dee9a13358cae6e81d54be962efc38f6338", size = 406368, upload-time = "2025-06-13T06:51:46.97Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/39a26add4ce16f24e99eabb9005e44c663db00e3fce17d4ae1ae9d61df99/msgpack-1.1.1-cp310-cp310-win32.whl", hash = "sha256:6640fd979ca9a212e4bcdf6eb74051ade2c690b862b679bfcb60ae46e6dc4bfd", size = 65004, upload-time = "2025-06-13T06:51:48.582Z" }, + { url = "https://files.pythonhosted.org/packages/7d/18/73dfa3e9d5d7450d39debde5b0d848139f7de23bd637a4506e36c9800fd6/msgpack-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:8b65b53204fe1bd037c40c4148d00ef918eb2108d24c9aaa20bc31f9810ce0a8", size = 71548, upload-time = "2025-06-13T06:51:49.558Z" }, + { url = "https://files.pythonhosted.org/packages/7f/83/97f24bf9848af23fe2ba04380388216defc49a8af6da0c28cc636d722502/msgpack-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:71ef05c1726884e44f8b1d1773604ab5d4d17729d8491403a705e649116c9558", size = 82728, upload-time = "2025-06-13T06:51:50.68Z" }, + { url = "https://files.pythonhosted.org/packages/aa/7f/2eaa388267a78401f6e182662b08a588ef4f3de6f0eab1ec09736a7aaa2b/msgpack-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:36043272c6aede309d29d56851f8841ba907a1a3d04435e43e8a19928e243c1d", size = 79279, upload-time = "2025-06-13T06:51:51.72Z" }, + { url = "https://files.pythonhosted.org/packages/f8/46/31eb60f4452c96161e4dfd26dbca562b4ec68c72e4ad07d9566d7ea35e8a/msgpack-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a32747b1b39c3ac27d0670122b57e6e57f28eefb725e0b625618d1b59bf9d1e0", size = 423859, upload-time = "2025-06-13T06:51:52.749Z" }, + { url = "https://files.pythonhosted.org/packages/45/16/a20fa8c32825cc7ae8457fab45670c7a8996d7746ce80ce41cc51e3b2bd7/msgpack-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a8b10fdb84a43e50d38057b06901ec9da52baac6983d3f709d8507f3889d43f", size = 429975, upload-time = "2025-06-13T06:51:53.97Z" }, + { url = "https://files.pythonhosted.org/packages/86/ea/6c958e07692367feeb1a1594d35e22b62f7f476f3c568b002a5ea09d443d/msgpack-1.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0c325c3f485dc54ec298d8b024e134acf07c10d494ffa24373bea729acf704", size = 413528, upload-time = "2025-06-13T06:51:55.507Z" }, + { url = "https://files.pythonhosted.org/packages/75/05/ac84063c5dae79722bda9f68b878dc31fc3059adb8633c79f1e82c2cd946/msgpack-1.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:88daaf7d146e48ec71212ce21109b66e06a98e5e44dca47d853cbfe171d6c8d2", size = 413338, upload-time = "2025-06-13T06:51:57.023Z" }, + { url = "https://files.pythonhosted.org/packages/69/e8/fe86b082c781d3e1c09ca0f4dacd457ede60a13119b6ce939efe2ea77b76/msgpack-1.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8b55ea20dc59b181d3f47103f113e6f28a5e1c89fd5b67b9140edb442ab67f2", size = 422658, upload-time = "2025-06-13T06:51:58.419Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2b/bafc9924df52d8f3bb7c00d24e57be477f4d0f967c0a31ef5e2225e035c7/msgpack-1.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4a28e8072ae9779f20427af07f53bbb8b4aa81151054e882aee333b158da8752", size = 427124, upload-time = "2025-06-13T06:51:59.969Z" }, + { url = "https://files.pythonhosted.org/packages/a2/3b/1f717e17e53e0ed0b68fa59e9188f3f610c79d7151f0e52ff3cd8eb6b2dc/msgpack-1.1.1-cp311-cp311-win32.whl", hash = "sha256:7da8831f9a0fdb526621ba09a281fadc58ea12701bc709e7b8cbc362feabc295", size = 65016, upload-time = "2025-06-13T06:52:01.294Z" }, + { url = "https://files.pythonhosted.org/packages/48/45/9d1780768d3b249accecc5a38c725eb1e203d44a191f7b7ff1941f7df60c/msgpack-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:5fd1b58e1431008a57247d6e7cc4faa41c3607e8e7d4aaf81f7c29ea013cb458", size = 72267, upload-time = "2025-06-13T06:52:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/e3/26/389b9c593eda2b8551b2e7126ad3a06af6f9b44274eb3a4f054d48ff7e47/msgpack-1.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ae497b11f4c21558d95de9f64fff7053544f4d1a17731c866143ed6bb4591238", size = 82359, upload-time = "2025-06-13T06:52:03.909Z" }, + { url = "https://files.pythonhosted.org/packages/ab/65/7d1de38c8a22cf8b1551469159d4b6cf49be2126adc2482de50976084d78/msgpack-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:33be9ab121df9b6b461ff91baac6f2731f83d9b27ed948c5b9d1978ae28bf157", size = 79172, upload-time = "2025-06-13T06:52:05.246Z" }, + { url = "https://files.pythonhosted.org/packages/0f/bd/cacf208b64d9577a62c74b677e1ada005caa9b69a05a599889d6fc2ab20a/msgpack-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f64ae8fe7ffba251fecb8408540c34ee9df1c26674c50c4544d72dbf792e5ce", size = 425013, upload-time = "2025-06-13T06:52:06.341Z" }, + { url = "https://files.pythonhosted.org/packages/4d/ec/fd869e2567cc9c01278a736cfd1697941ba0d4b81a43e0aa2e8d71dab208/msgpack-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a494554874691720ba5891c9b0b39474ba43ffb1aaf32a5dac874effb1619e1a", size = 426905, upload-time = "2025-06-13T06:52:07.501Z" }, + { url = "https://files.pythonhosted.org/packages/55/2a/35860f33229075bce803a5593d046d8b489d7ba2fc85701e714fc1aaf898/msgpack-1.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb643284ab0ed26f6957d969fe0dd8bb17beb567beb8998140b5e38a90974f6c", size = 407336, upload-time = "2025-06-13T06:52:09.047Z" }, + { url = "https://files.pythonhosted.org/packages/8c/16/69ed8f3ada150bf92745fb4921bd621fd2cdf5a42e25eb50bcc57a5328f0/msgpack-1.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d275a9e3c81b1093c060c3837e580c37f47c51eca031f7b5fb76f7b8470f5f9b", size = 409485, upload-time = "2025-06-13T06:52:10.382Z" }, + { url = "https://files.pythonhosted.org/packages/c6/b6/0c398039e4c6d0b2e37c61d7e0e9d13439f91f780686deb8ee64ecf1ae71/msgpack-1.1.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fd6b577e4541676e0cc9ddc1709d25014d3ad9a66caa19962c4f5de30fc09ef", size = 412182, upload-time = "2025-06-13T06:52:11.644Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d0/0cf4a6ecb9bc960d624c93effaeaae75cbf00b3bc4a54f35c8507273cda1/msgpack-1.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb29aaa613c0a1c40d1af111abf025f1732cab333f96f285d6a93b934738a68a", size = 419883, upload-time = "2025-06-13T06:52:12.806Z" }, + { url = "https://files.pythonhosted.org/packages/62/83/9697c211720fa71a2dfb632cad6196a8af3abea56eece220fde4674dc44b/msgpack-1.1.1-cp312-cp312-win32.whl", hash = "sha256:870b9a626280c86cff9c576ec0d9cbcc54a1e5ebda9cd26dab12baf41fee218c", size = 65406, upload-time = "2025-06-13T06:52:14.271Z" }, + { url = "https://files.pythonhosted.org/packages/c0/23/0abb886e80eab08f5e8c485d6f13924028602829f63b8f5fa25a06636628/msgpack-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:5692095123007180dca3e788bb4c399cc26626da51629a31d40207cb262e67f4", size = 72558, upload-time = "2025-06-13T06:52:15.252Z" }, + { url = "https://files.pythonhosted.org/packages/a1/38/561f01cf3577430b59b340b51329803d3a5bf6a45864a55f4ef308ac11e3/msgpack-1.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3765afa6bd4832fc11c3749be4ba4b69a0e8d7b728f78e68120a157a4c5d41f0", size = 81677, upload-time = "2025-06-13T06:52:16.64Z" }, + { url = "https://files.pythonhosted.org/packages/09/48/54a89579ea36b6ae0ee001cba8c61f776451fad3c9306cd80f5b5c55be87/msgpack-1.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8ddb2bcfd1a8b9e431c8d6f4f7db0773084e107730ecf3472f1dfe9ad583f3d9", size = 78603, upload-time = "2025-06-13T06:52:17.843Z" }, + { url = "https://files.pythonhosted.org/packages/a0/60/daba2699b308e95ae792cdc2ef092a38eb5ee422f9d2fbd4101526d8a210/msgpack-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:196a736f0526a03653d829d7d4c5500a97eea3648aebfd4b6743875f28aa2af8", size = 420504, upload-time = "2025-06-13T06:52:18.982Z" }, + { url = "https://files.pythonhosted.org/packages/20/22/2ebae7ae43cd8f2debc35c631172ddf14e2a87ffcc04cf43ff9df9fff0d3/msgpack-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d592d06e3cc2f537ceeeb23d38799c6ad83255289bb84c2e5792e5a8dea268a", size = 423749, upload-time = "2025-06-13T06:52:20.211Z" }, + { url = "https://files.pythonhosted.org/packages/40/1b/54c08dd5452427e1179a40b4b607e37e2664bca1c790c60c442c8e972e47/msgpack-1.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4df2311b0ce24f06ba253fda361f938dfecd7b961576f9be3f3fbd60e87130ac", size = 404458, upload-time = "2025-06-13T06:52:21.429Z" }, + { url = "https://files.pythonhosted.org/packages/2e/60/6bb17e9ffb080616a51f09928fdd5cac1353c9becc6c4a8abd4e57269a16/msgpack-1.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e4141c5a32b5e37905b5940aacbc59739f036930367d7acce7a64e4dec1f5e0b", size = 405976, upload-time = "2025-06-13T06:52:22.995Z" }, + { url = "https://files.pythonhosted.org/packages/ee/97/88983e266572e8707c1f4b99c8fd04f9eb97b43f2db40e3172d87d8642db/msgpack-1.1.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b1ce7f41670c5a69e1389420436f41385b1aa2504c3b0c30620764b15dded2e7", size = 408607, upload-time = "2025-06-13T06:52:24.152Z" }, + { url = "https://files.pythonhosted.org/packages/bc/66/36c78af2efaffcc15a5a61ae0df53a1d025f2680122e2a9eb8442fed3ae4/msgpack-1.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4147151acabb9caed4e474c3344181e91ff7a388b888f1e19ea04f7e73dc7ad5", size = 424172, upload-time = "2025-06-13T06:52:25.704Z" }, + { url = "https://files.pythonhosted.org/packages/8c/87/a75eb622b555708fe0427fab96056d39d4c9892b0c784b3a721088c7ee37/msgpack-1.1.1-cp313-cp313-win32.whl", hash = "sha256:500e85823a27d6d9bba1d057c871b4210c1dd6fb01fbb764e37e4e8847376323", size = 65347, upload-time = "2025-06-13T06:52:26.846Z" }, + { url = "https://files.pythonhosted.org/packages/ca/91/7dc28d5e2a11a5ad804cf2b7f7a5fcb1eb5a4966d66a5d2b41aee6376543/msgpack-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:6d489fba546295983abd142812bda76b57e33d0b9f5d5b71c09a583285506f69", size = 72341, upload-time = "2025-06-13T06:52:27.835Z" }, +] + +[[package]] +name = "multimethod" +version = "1.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ed/f3/930a6dc1d35b2ab65faffa2a75bbcc67f12d8227857188273783df4e5134/multimethod-1.12.tar.gz", hash = "sha256:8db8ef2a8d2a247e3570cc23317680892fdf903d84c8c1053667c8e8f7671a67", size = 17423, upload-time = "2024-07-04T16:10:08.179Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/98/cff14d53a2f2f67d7fe8a4e235a383ee71aba6a1da12aeea24b325d0c72a/multimethod-1.12-py3-none-any.whl", hash = "sha256:fd0c473c43558908d97cc06e4d68e8f69202f167db46f7b4e4058893e7dbdf60", size = 10646, upload-time = "2024-07-04T16:10:06.482Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "myst-nb" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "ipykernel" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-cache" }, + { name = "myst-parser" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "pyyaml" }, + { name = "sphinx" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/83/a894bd8dea7a6e9f053502ee8413484dcbf75a219013d6a72e971c0fecfd/myst_nb-1.3.0.tar.gz", hash = "sha256:df3cd4680f51a5af673fd46b38b562be3559aef1475e906ed0f2e66e4587ce4b", size = 81963, upload-time = "2025-07-13T22:49:38.493Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/a6/03d410c114b8c4856579b3d294dafc27626a7690a552625eec42b16dfa41/myst_nb-1.3.0-py3-none-any.whl", hash = "sha256:1f36af3c19964960ec4e51ac30949b6ed6df220356ffa8d60dd410885e132d7d", size = 82396, upload-time = "2025-07-13T22:49:37.019Z" }, +] + +[[package]] +name = "myst-parser" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docutils" }, + { name = "jinja2" }, + { name = "markdown-it-py" }, + { name = "mdit-py-plugins" }, + { name = "pyyaml" }, + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5f/69/fbddb50198c6b0901a981e72ae30f1b7769d2dfac88071f7df41c946d133/myst-parser-1.0.0.tar.gz", hash = "sha256:502845659313099542bd38a2ae62f01360e7dd4b1310f025dd014dfc0439cdae", size = 84224, upload-time = "2023-03-07T18:39:13.878Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/1f/1621ef434ac5da26c30d31fcca6d588e3383344902941713640ba717fa87/myst_parser-1.0.0-py3-none-any.whl", hash = "sha256:69fb40a586c6fa68995e6521ac0a525793935db7e724ca9bac1d33be51be9a4c", size = 77312, upload-time = "2023-03-07T18:39:12.472Z" }, +] + +[[package]] +name = "narwhals" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/b8/3cb005704866f1cc19e8d6b15d0467255821ba12d82f20ea15912672e54c/narwhals-2.5.0.tar.gz", hash = "sha256:8ae0b6f39597f14c0dc52afc98949d6f8be89b5af402d2d98101d2f7d3561418", size = 558573, upload-time = "2025-09-12T10:04:24.436Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/5a/22741c5c0e5f6e8050242bfc2052ba68bc94b1735ed5bca35404d136d6ec/narwhals-2.5.0-py3-none-any.whl", hash = "sha256:7e213f9ca7db3f8bf6f7eff35eaee6a1cf80902997e1b78d49b7755775d8f423", size = 407296, upload-time = "2025-09-12T10:04:22.524Z" }, +] + +[[package]] +name = "nbclient" +version = "0.6.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "nbformat" }, + { name = "nest-asyncio" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/21/917a25fbc2b37ed37135be97efb4c98526008505451ffa841adcd7d11ed5/nbclient-0.6.8.tar.gz", hash = "sha256:268fde3457cafe1539e32eb1c6d796bbedb90b9e92bacd3e43d83413734bb0e8", size = 78917, upload-time = "2022-09-09T12:36:52.332Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/1d/de31c4139603b3f43147dca571de7d1928bd23d5c674865342bd457ec419/nbclient-0.6.8-py3-none-any.whl", hash = "sha256:7cce8b415888539180535953f80ea2385cdbb444944cdeb73ffac1556fdbc228", size = 71848, upload-time = "2022-09-09T12:36:50.326Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.16.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, +] + +[[package]] +name = "nbmake" +version = "1.4.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipykernel" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "pygments" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/b7/69206084d99046c5f9153dbc1329a6039c7e9234f3d1ea11e0dbd0bb293c/nbmake-1.4.6.tar.gz", hash = "sha256:874c5b9d99922f88bf0c92a3b869e75bff154edba2538efef0a1d7ad2263f5fb", size = 13996, upload-time = "2023-10-16T10:14:37.712Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/06/c4d83f6eeb9a3624902b9bb619beeed593a9eb304f5246b784d91bfe1623/nbmake-1.4.6-py3-none-any.whl", hash = "sha256:233603c9186c659cb42524de36b556197c352ede1f9daeaa1b1141dfad226218", size = 13378, upload-time = "2023-10-16T10:14:36.372Z" }, +] + +[[package]] +name = "ndindex" +version = "1.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/a0/f584c0b6b998e4981201a1383200663a725f556f439cf58d02a093cb9f91/ndindex-1.10.0.tar.gz", hash = "sha256:20e3a2f0a8ed4646abf0f13296aab0b5b9cc8c5bc182b71b5945e76eb6f558bb", size = 258688, upload-time = "2025-05-21T17:42:22.718Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/de/45af0f9b0abe5795228ca79577541c1c79b664996a5c9d15df21789e2ced/ndindex-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3d96dc319c39dce679d85a997f4eeb439f6de73c0793956b66598954ca61365c", size = 162311, upload-time = "2025-05-21T17:40:36.873Z" }, + { url = "https://files.pythonhosted.org/packages/d9/dd/d950718536c3898580c3f903888209d75057659b862b3d8d8af17bdb4fa8/ndindex-1.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b082de3c042b6da7ca327f17d088de3695333c30e0f9717d2ed5de5dc4d70802", size = 161621, upload-time = "2025-05-21T17:40:38.792Z" }, + { url = "https://files.pythonhosted.org/packages/bd/00/462ef86c63590e1f2e56d31ce46e9f13ae6aebd7506d33c08b927d2f1594/ndindex-1.10.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69cf517d138f47163d6c94cd9ccaafb91606a2aab386c05aaa0718975da09c88", size = 482241, upload-time = "2025-05-21T17:40:40.671Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a6/975bfec7bec7f274853b0c33953b5f2df4ad51f62d1aab0c7142fee98261/ndindex-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9cea2a5f7a432dafadb6c5732a9af3e7139adbf9085320f284885fe5d4776e4", size = 501603, upload-time = "2025-05-21T17:40:42.394Z" }, + { url = "https://files.pythonhosted.org/packages/13/4a/8d39f8ab1d20cd246360d7af707107bc4a332c6758ea45780a5bff6ec29f/ndindex-1.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a3d2ea706c80e21022f6661524efb0aeed89a714a8fda4712df8d4a90ef507f5", size = 1620040, upload-time = "2025-05-21T17:40:44.638Z" }, + { url = "https://files.pythonhosted.org/packages/87/83/ba24c57073c29ba3f69c52767bec64dc818e90ac23f6ee43c98172b9f888/ndindex-1.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d5b3b8f99970ce40fbff1e55ad9ddf9ea708e82ace91271784e7ff1d08707c4c", size = 1529863, upload-time = "2025-05-21T17:40:46.886Z" }, + { url = "https://files.pythonhosted.org/packages/cd/2c/61e88acae938898994a6cfe83716db0e440f44f7b0c821a7adb2ab4cedbd/ndindex-1.10.0-cp310-cp310-win32.whl", hash = "sha256:6a5a401b867530fe4f1022cc8d578c8092cfdc726348e6d1569ec91881da365f", size = 149122, upload-time = "2025-05-21T17:40:48.921Z" }, + { url = "https://files.pythonhosted.org/packages/a9/61/2bc88b2b5f71649f9e07fcf3509ce8eb187adbb3e787e4600b28ce00139c/ndindex-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:88504651ddcb6733ba0caf0cdfc214d8ba9f140609b69f6566ad143322ce5a96", size = 156550, upload-time = "2025-05-21T17:40:50.819Z" }, + { url = "https://files.pythonhosted.org/packages/b4/1c/a53253d68bb269e5591c39b96ae2c4dd671132a82f63d70aea486f76d70c/ndindex-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2e42198c8636eaf468cf28b7e1700738de37841853f5f15a0671bad4c3876a85", size = 162556, upload-time = "2025-05-21T17:40:52.668Z" }, + { url = "https://files.pythonhosted.org/packages/0d/2a/4e268ff5992d4b42755ee19cf46c3e954632aadd57810db7173fe945ad47/ndindex-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ec9865e787eababc9aa1be973bf8545c044e2b68297fe37adf7aeefe0ec61f59", size = 161769, upload-time = "2025-05-21T17:40:54.55Z" }, + { url = "https://files.pythonhosted.org/packages/14/67/28ef988483e1ff446873150979b20fa87833c711fbe3a816e0e6a3e6e7d3/ndindex-1.10.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72377bc5d15229eeefa73a4370212d0bdb8992c76c2228df0771e0dcdeb5354a", size = 504542, upload-time = "2025-05-21T17:40:56.771Z" }, + { url = "https://files.pythonhosted.org/packages/79/d8/a4638485d17e5a236a7f8687a63229b4cc4737d018d8f8bdf18983419d5b/ndindex-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a8c9f85a1d6497a1fc3a8ac7faf64eef600f95d4330566ae7468e59b6da28d7", size = 528179, upload-time = "2025-05-21T17:40:58.859Z" }, + { url = "https://files.pythonhosted.org/packages/40/2a/a7c119db8332b85fa6886104ac388a771dd2b0ec35e4b2443d555c5e0e00/ndindex-1.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:560211699c4fa370c30edace212b4b61950934c3c9a7b3964f52f2dd09c6913a", size = 1642463, upload-time = "2025-05-21T17:41:01.234Z" }, + { url = "https://files.pythonhosted.org/packages/14/9a/41dd8270e9b0a411221c1c584fb088f0d43d750d596cf02e1f8b528c426d/ndindex-1.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:68e4ed3b5816d22cddf71478197c62ea2453a8f7dea0da57b52ce8b537c7a0c3", size = 1553373, upload-time = "2025-05-21T17:41:03.474Z" }, + { url = "https://files.pythonhosted.org/packages/6e/36/4d42edfc5f350b83801a473721927c4c01c210014bb2ea1a754e232871d3/ndindex-1.10.0-cp311-cp311-win32.whl", hash = "sha256:52adf006f99f21913300d93d8b08fdd9d12796ee2dc7a1737acd1beea5f7e7af", size = 148975, upload-time = "2025-05-21T17:41:05.65Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b3/ec2b3447e49d69f033edb003761d3e2e01f2e5fe8ab397140099920405aa/ndindex-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:b90559638d35dd3c7f3f46dced6a306935866f86ba5cbd35190ef954334c33b9", size = 156723, upload-time = "2025-05-21T17:41:07.952Z" }, + { url = "https://files.pythonhosted.org/packages/e5/cb/c44335f5aa81d54d2c06ea0076cc394a9d247ad8bf7dd63c87dec10d2e1f/ndindex-1.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:50f9c49659d91b19964da9ee96d5cb18f5102dc1b31ea5ca085f0b4d905cdc60", size = 162959, upload-time = "2025-05-21T17:41:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/42/f5/2bff167479b589a21288f8f150ca2dbbb5d20e3eb264515eafc5ff1c58f8/ndindex-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3e58c340b829275d2a2ac8fc468fca6dd1ca78a7351824dabf4a52cf0a79f648", size = 161618, upload-time = "2025-05-21T17:41:12.3Z" }, + { url = "https://files.pythonhosted.org/packages/69/ed/1e921acc45f18b6ade332af772496b5a3681856c13b3a0bc3f5a46630b4e/ndindex-1.10.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd170addae6e4322438cc9ac1ae0cbf0d8f7bea25716fdbef53c4964ee84a64a", size = 521535, upload-time = "2025-05-21T17:41:13.863Z" }, + { url = "https://files.pythonhosted.org/packages/ec/4a/0b6a4c8c06803efe531fc57d008294bd12a95b94c9ca4922f87cee2c3829/ndindex-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b33b378d1ec4d2e041d7d14a2d6d05f74a6ef0f9273985930ad0b993d86e8064", size = 546226, upload-time = "2025-05-21T17:41:15.514Z" }, + { url = "https://files.pythonhosted.org/packages/4e/94/f8fb6e28660428bb359ffaf088409228fb9033db76ca6363fcf60d31ec13/ndindex-1.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c1eb9aa7ad4dd561dfb94b8c069677c59032f7c663e53ab05f97aa20c1643d1b", size = 1660328, upload-time = "2025-05-21T17:41:17.347Z" }, + { url = "https://files.pythonhosted.org/packages/df/8e/a70ba950fff63d0a3a7142a53ff160cb03076a95964adb057be75a9c9be5/ndindex-1.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d490499a09e9cb78d02801d39d7da21e4975f09c78d0e1095a881adf20d0d4e7", size = 1576545, upload-time = "2025-05-21T17:41:19.55Z" }, + { url = "https://files.pythonhosted.org/packages/d4/17/2a415224e7e35c7e36ffa1f58ef515f7653b118f0098c0f76f3e765b2826/ndindex-1.10.0-cp312-cp312-win32.whl", hash = "sha256:2c65d448210f8e3763e12d9a138195de77b383164d819080eaf64e832c2933bc", size = 149056, upload-time = "2025-05-21T17:41:21.141Z" }, + { url = "https://files.pythonhosted.org/packages/37/e7/4f955c90e86c025ef04234adfa34ee5053f3dfc835b7d632e7c38ab713fc/ndindex-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:d8a9bfac1ce127bf55ad73b62ec57a415d5489db7a76056905a449f8346b69a3", size = 157017, upload-time = "2025-05-21T17:41:22.977Z" }, + { url = "https://files.pythonhosted.org/packages/03/ee/8f7aa7dde0f2d947c2e4034f4c58b308bf1f48a18780183e7f84298a573c/ndindex-1.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:50b579a0c57a4072fc97848f1d0db8cb228ca73d050c8bc9d4e7cf2e75510829", size = 161193, upload-time = "2025-05-21T17:41:24.452Z" }, + { url = "https://files.pythonhosted.org/packages/9b/3b/9f2a49b5d3a558e9cd067e0911e1bb8d8d553e1d689bb9a9119c775636b9/ndindex-1.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0956611e29f51857a54ba0750568ebdbf0eacfad4a262253af2522e77b476369", size = 159952, upload-time = "2025-05-21T17:41:25.806Z" }, + { url = "https://files.pythonhosted.org/packages/76/b9/93273d8dd7a2e155af6ed0bad2f2618202794ffe537184b25ff666cf8e31/ndindex-1.10.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f82aada1f194c5ea11943ca89532cf449881de8c9c2c48b8baa43d467486fdb2", size = 502466, upload-time = "2025-05-21T17:41:27.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/07/c64b0c8416f604f6990da5d1fa97c9de1278a4eec1efcc63b71053b4f0c0/ndindex-1.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38a56a16edbd62ef039b93e393047e66238d02dbc1e95e95b79c0bdd0a4785f7", size = 526910, upload-time = "2025-05-21T17:41:29.071Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a5/316f13eeda944db14015a6edaebd88fc83b196d86cae9f576be319b93873/ndindex-1.10.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8b11a3b8fd983adafea988b2a7e51fe8c0be819639b16506a472429069158f6d", size = 1642168, upload-time = "2025-05-21T17:41:31.213Z" }, + { url = "https://files.pythonhosted.org/packages/f3/13/4c1cf1b6280669f32e9960215d6cbed027084b0bb423c924095f247f3185/ndindex-1.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:be7cfaed1e7a72c7e0bbc4a0e1965d3cc8207cb3d56bd351c0cb2b2d94db0bdd", size = 1557347, upload-time = "2025-05-21T17:41:32.893Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ac/36124ca146aaa6e84ac479e06a81b5ae9ebde2e3b4b2c77c49492bcfebae/ndindex-1.10.0-cp313-cp313-win32.whl", hash = "sha256:f779a0c20ffd617535bf57c7437d5521d5453daf2e0db0d148301df6b24c0932", size = 148623, upload-time = "2025-05-21T17:41:34.628Z" }, + { url = "https://files.pythonhosted.org/packages/23/38/13169cc35be65a6683784c5a1f2c7e6d2219f58fb56abe9d13ef762a634a/ndindex-1.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:1ef8d71e0ddf0c6e39e64f1e328a37ebefcca1b89218a4068c353851bcb4cb0f", size = 156188, upload-time = "2025-05-21T17:41:36.043Z" }, + { url = "https://files.pythonhosted.org/packages/29/f6/ba98045516f39b0414d03c466e7c46b79290cd54a73ff961b9081bc66a6e/ndindex-1.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6fcefeefc48815dd8e99999999477d91d4287d8034b1c81084042a49976b212c", size = 167198, upload-time = "2025-05-21T17:41:37.544Z" }, + { url = "https://files.pythonhosted.org/packages/ca/14/4c8b1256009cda78387e6e3035d4b86582d98b557e56f7ee8f58df3e57b4/ndindex-1.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:882367d3d5a4d20155c23d890bf01ffbac78019eee09a9456ff3322f62eb34c1", size = 167324, upload-time = "2025-05-21T17:41:39.004Z" }, + { url = "https://files.pythonhosted.org/packages/c5/34/a1e8117c0fe5a862da9e7f0162233340c7a9bbd728161a06cd0ad856514e/ndindex-1.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f04b3eeced5a10f1c00197ee93c913a691467c752306c0d97e6df9c02af4e6d", size = 608219, upload-time = "2025-05-21T17:41:40.556Z" }, + { url = "https://files.pythonhosted.org/packages/19/6c/f9b449d0d9db404637d026798a208b677c04c349ab740db33ab78065603d/ndindex-1.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cb68232e58ca6cc92ddc8cdddcff8dcdfa5de030e89de8457e5d43de77bcc331", size = 1639541, upload-time = "2025-05-21T17:41:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/2c/14/0bfe948a092ddba3c23f18a6f4e3fc2029adfc3e433e634410ba98b7700f/ndindex-1.10.0-cp313-cp313t-win32.whl", hash = "sha256:af8ecd5a0221482e9b467918b90e78f85241572102fdcf0a941ef087e7dcf2e4", size = 157843, upload-time = "2025-05-21T17:41:43.981Z" }, + { url = "https://files.pythonhosted.org/packages/50/49/0e7d831e918db3e8819f7327e835e4b106fe91ed0c865e96fb952f936b7f/ndindex-1.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2fb32342379547032fd25dbf5bfc7003ebc1bde582779e9a171373a738d6fb8b", size = 166116, upload-time = "2025-05-21T17:41:45.506Z" }, + { url = "https://files.pythonhosted.org/packages/b0/61/afde1bf918386625e477a7ac0fa518ca83f9239e2675affccf8d48d05e25/ndindex-1.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1851d2d490413edc5c5734f5f74e8d3b59cfc23eae561d10bd4db6e4162dcf02", size = 146659, upload-time = "2025-05-21T17:42:00.855Z" }, + { url = "https://files.pythonhosted.org/packages/63/22/90a3e3aa613d4d7e5432e8d7cf0188049f61b34b104eef7f014b7e35a3aa/ndindex-1.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:490c577e6915f8d2d045239a14e70b1dfd14b703028a41f6a3713821598d0db8", size = 146160, upload-time = "2025-05-21T17:42:02.227Z" }, + { url = "https://files.pythonhosted.org/packages/80/a5/677dc41756ac9b2ac3bd0b458abda4dee0c74ee1c6560be3a1b36cc2c9d1/ndindex-1.10.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:21f4c61db28b7ba8dc03548a3b2c3561feb8d61f7293dfc310df52aa2676463f", size = 163067, upload-time = "2025-05-21T17:42:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/01/8d/319499a3f9da41695a75243b8fd8576d42c1e382f5dc935b885f590a42be/ndindex-1.10.0-pp310-pypy310_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd41c7cce386bc21a38a2153427ce47f92d6bdb097dc3c5c42fa24e75090c8f", size = 160109, upload-time = "2025-05-21T17:42:05.137Z" }, + { url = "https://files.pythonhosted.org/packages/7c/66/a6721aac78028ee1dd35106a20a2f5c940f17587bc8c8fb9d98040eeddec/ndindex-1.10.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ba5f6d09ad320e0045ea39d7efd66a21d73cd4875d114be08e7ba6204a8feb7", size = 148094, upload-time = "2025-05-21T17:42:06.563Z" }, + { url = "https://files.pythonhosted.org/packages/c3/61/1333424bdfcebdcea63f5ed86ac98dccaf07ebb7e1463ca845a06e321d91/ndindex-1.10.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:aa17ea725f85af9285b298f72ccc8012949c0916d4426b0215d1c556dd995246", size = 146929, upload-time = "2025-05-21T17:42:08.04Z" }, + { url = "https://files.pythonhosted.org/packages/eb/7c/0813615d958ec78c521b9c09518b1f49ec553a0bec0646b5f4ebbf33bdcb/ndindex-1.10.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:219fdef9d6a557913fd92418275088b46c727944356f3fe59f4f72d62efd6f3d", size = 146417, upload-time = "2025-05-21T17:42:09.534Z" }, + { url = "https://files.pythonhosted.org/packages/d8/a1/b340a47409253f05c78d400f98b43477549ad1a1f7a5358acb784c79ed48/ndindex-1.10.0-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1962137fcb69c00e2db42d5d045f9b7413fc37f44b143e7ae4a8c2c68ba3832", size = 163867, upload-time = "2025-05-21T17:42:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/02/24/e5192ffb87070e9ff2328d715e5aa3a7f6b673e86c1ee8f48136815564e1/ndindex-1.10.0-pp311-pypy311_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18c9c8271926fb16c59e827b61bb77f45ee31a824eaa50b386edcd77a6a7c9a3", size = 160644, upload-time = "2025-05-21T17:42:12.415Z" }, + { url = "https://files.pythonhosted.org/packages/09/c5/b894cc961460e608b869d91164e9f825e3bb0579defb37c0eea61dce584e/ndindex-1.10.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:76e4fb082c83ccbc67c7a64b80e33bc5dfe9379f30c3b40a865914ae79947071", size = 147721, upload-time = "2025-05-21T17:42:13.825Z" }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + +[[package]] +name = "networkx" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368, upload-time = "2024-10-21T12:39:38.695Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263, upload-time = "2024-10-21T12:39:36.247Z" }, +] + +[[package]] +name = "networkx" +version = "3.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz", hash = "sha256:d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037", size = 2471065, upload-time = "2025-05-29T11:35:07.804Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl", hash = "sha256:0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec", size = 2034406, upload-time = "2025-05-29T11:35:04.961Z" }, +] + +[[package]] +name = "nltk" +version = "3.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "joblib" }, + { name = "regex" }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/87/db8be88ad32c2d042420b6fd9ffd4a149f9a0d7f0e86b3f543be2eeeedd2/nltk-3.9.1.tar.gz", hash = "sha256:87d127bd3de4bd89a4f81265e5fa59cb1b199b27440175370f7417d2bc7ae868", size = 2904691, upload-time = "2024-08-18T19:48:37.769Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/66/7d9e26593edda06e8cb531874633f7c2372279c3b0f46235539fe546df8b/nltk-3.9.1-py3-none-any.whl", hash = "sha256:4fa26829c5b00715afe3061398a8989dc643b92ce7dd93fb4585a70930d168a1", size = 1505442, upload-time = "2024-08-18T19:48:21.909Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, +] + +[[package]] +name = "numba" +version = "0.62.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "llvmlite" }, + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/96/66dae7911cb331e99bf9afe35703317d8da0fad81ff49fed77f4855e4b60/numba-0.62.0.tar.gz", hash = "sha256:2afcc7899dc93fefecbb274a19c592170bc2dbfae02b00f83e305332a9857a5a", size = 2749680, upload-time = "2025-09-18T17:58:11.394Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/b3/f60339dda8bfb972aaeb70ccd455d9d66e02b45fa9c7f8464a35710ffeb2/numba-0.62.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3e7eaff7ce35799de4dda09a4cfcf1bb204ad59be5fa29a1efc080c0a72eb6d6", size = 2684282, upload-time = "2025-09-18T17:59:10.448Z" }, + { url = "https://files.pythonhosted.org/packages/df/8a/b89cd39902760f76ddd13b21174686ef07a9930b158033c6963345e9ad2e/numba-0.62.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a7694c45ddfe5c9a26d05cd2bf378e214ae2d5332601a3c89c94207eb4661166", size = 2687314, upload-time = "2025-09-18T17:59:24.431Z" }, + { url = "https://files.pythonhosted.org/packages/44/45/b8a1582f811e3be786d241126263e9428c1a049cd7ff484b3dbafc8e9561/numba-0.62.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c2f07c6e67e8f54dba62a46a3b72294c5f4333ff703eb8966576ef731cc8ecd7", size = 3444905, upload-time = "2025-09-18T17:58:36.697Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/590568cc0c3268cbebd55b5d8d5a5a73764c58623a4b3d91fa0392da9cf1/numba-0.62.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f77fadaa6592d2a6b9c35bcddc710b22dceca0af9a7037dbc61ff209eaddfa8", size = 3441233, upload-time = "2025-09-18T17:58:55.223Z" }, + { url = "https://files.pythonhosted.org/packages/96/1f/40535d58807177829864a482cfa1a85b3de10068865076fe54f8fce255be/numba-0.62.0-cp310-cp310-win_amd64.whl", hash = "sha256:77050a79f6bc19324c2f6f456c074a49d3de35c8124c91668054e9d62243ac99", size = 2745650, upload-time = "2025-09-18T17:59:37.856Z" }, + { url = "https://files.pythonhosted.org/packages/4d/ba/691508c81c3e8ff6c4a131755556a39a6f73f8aec3750ff8ba7bb9b23585/numba-0.62.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1370708a54281e1dd3e4b73f423f88d3b34b64cf3f5fa0e460a1fbe6bd4e0f3f", size = 2684281, upload-time = "2025-09-18T17:59:14.333Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f0/9c1b0a23e09297e292f1f2deea0b7bbe52b112fb6d9fb46beb1f7016f6d6/numba-0.62.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6bd7032d6c1e771967fc1d07a499bb10ce1639662451fc0a86089fa8efc420e7", size = 2687331, upload-time = "2025-09-18T17:59:28.232Z" }, + { url = "https://files.pythonhosted.org/packages/ee/77/b497d480abf9c3547b8374e58794532a7e3600a378408e0ff8fbf2532dc9/numba-0.62.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:87cdc476ea1b2feefb7f893a648be2f1e7a04f671f355ac9bbeb007eaf039f8c", size = 3450243, upload-time = "2025-09-18T17:58:41.724Z" }, + { url = "https://files.pythonhosted.org/packages/a4/42/68bcb890bc5e8c254145f4a5f2c7e90ec653b27271780e3eef36086522a4/numba-0.62.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:144a57e504a5423acfc91fcd3be4e6481cb0667ce0bcc6cd3e8bd43a735b58a4", size = 3445595, upload-time = "2025-09-18T17:58:58.989Z" }, + { url = "https://files.pythonhosted.org/packages/5e/8c/889b895f5daafc44cbd7b798f748fd9b9555cb0604fa03004dc535bd8b5c/numba-0.62.0-cp311-cp311-win_amd64.whl", hash = "sha256:499b00e0bd95c83fedf1cbf349b7132a432a90292cbe2014eeaf482ce7c3b9f8", size = 2745535, upload-time = "2025-09-18T17:59:42.001Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cc/8c519b15d51647bd092a3b935e92681c0ec983647bb7ec1b48ca05094eb5/numba-0.62.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:82edb589c9607ec2dbe0b2d34793d8c5104daf766277acc49ad7e179f8634fd2", size = 2685349, upload-time = "2025-09-18T17:59:17.651Z" }, + { url = "https://files.pythonhosted.org/packages/b1/0f/992aa8b62b23ebc56db97ac29fa6c8e5b097e30d575745048de4e99364b8/numba-0.62.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:469e042750d5a6aa6847dc89d64de5f0bfaf2208b6d442e4634de3318b7043de", size = 2688140, upload-time = "2025-09-18T17:59:31.191Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/a67f3a94f42a3bc90c052f446e4fa1089b513129b8dbf61df74b25ab24ea/numba-0.62.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2ad2dc2b3583f8f24f35c8ade7e215c44590c9aa757ccba640dd293297cb15bb", size = 3506358, upload-time = "2025-09-18T17:58:46.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/8a/0c451c2626cbaf6a1c3f3665bd5859671e9f065b9ee9a101fb08659a46e2/numba-0.62.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0266998a842074fc91bfc406dd91c8ee12c196ea834375af6174f62647ffd9b1", size = 3496571, upload-time = "2025-09-18T17:59:03.009Z" }, + { url = "https://files.pythonhosted.org/packages/16/9a/40e66e5992d5365f4f2f636148e3a333eb012e1690cbc0b5d7d296e5d11c/numba-0.62.0-cp312-cp312-win_amd64.whl", hash = "sha256:cbc84e030548a5aad74971eb1a579f69edc7da961d89ef09a5ee1fe01c207795", size = 2745542, upload-time = "2025-09-18T17:59:44.942Z" }, + { url = "https://files.pythonhosted.org/packages/33/ff/dd3047eb05e9bcf5c986885a645d8dd1df509ebf1f9b0091c143b1ebc6b4/numba-0.62.0-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:07e76ac7bcd47156a758df52e9752fdfb94ff5f80b78c4710cabc568d8d3d6ad", size = 2685768, upload-time = "2025-09-18T17:59:21.128Z" }, + { url = "https://files.pythonhosted.org/packages/b9/57/bdc50e30b8fcf387cfe596e42ec4d9b8b3e2121cc1171ecbb990535a9aa9/numba-0.62.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a972689dad64a7047f555d93ce829fe05ca2519ad0cf7af0071a64145c571039", size = 2688742, upload-time = "2025-09-18T17:59:34.674Z" }, + { url = "https://files.pythonhosted.org/packages/45/1e/e4e3fe4bcd971ea8e5f22f58f4dcce4b9f69c1299ff81f5740e3a007e817/numba-0.62.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f789b1f2997fc34b1b88fcc4481886dcd44afcffbd3e28affedce54aec7fdcc1", size = 3514481, upload-time = "2025-09-18T17:58:51.201Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ac/98205cb536b756a3b9d2d198df8deee32cb4ec01740af77715c67f84c402/numba-0.62.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:516525981f19f36d3a0bada0fb7479cf0bf925b5e389d03aac87f3758c5cfb9e", size = 3503501, upload-time = "2025-09-18T17:59:06.568Z" }, + { url = "https://files.pythonhosted.org/packages/98/a2/3a9eb747d77693054504540e9da0640c169dd97e3e268c1150bf55a22b97/numba-0.62.0-cp313-cp313-win_amd64.whl", hash = "sha256:591a9c485904f219a129b0493f89d27de24286fb66dd5a577b11edc62fc78db4", size = 2745529, upload-time = "2025-09-18T17:59:47.496Z" }, +] + +[[package]] +name = "numcodecs" +version = "0.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/56/8895a76abe4ec94ebd01eeb6d74f587bc4cddd46569670e1402852a5da13/numcodecs-0.13.1.tar.gz", hash = "sha256:a3cf37881df0898f3a9c0d4477df88133fe85185bffe57ba31bcc2fa207709bc", size = 5955215, upload-time = "2024-10-09T16:28:00.188Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/c0/6d72cde772bcec196b7188731d41282993b2958440f77fdf0db216f722da/numcodecs-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:96add4f783c5ce57cc7e650b6cac79dd101daf887c479a00a29bc1487ced180b", size = 1580012, upload-time = "2024-10-09T16:27:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/94/1d/f81fc1fa9210bbea97258242393a1f9feab4f6d8fb201f81f76003005e4b/numcodecs-0.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:237b7171609e868a20fd313748494444458ccd696062f67e198f7f8f52000c15", size = 1176919, upload-time = "2024-10-09T16:27:21.634Z" }, + { url = "https://files.pythonhosted.org/packages/16/e4/b9ec2f4dfc34ecf724bc1beb96a9f6fa9b91801645688ffadacd485089da/numcodecs-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96e42f73c31b8c24259c5fac6adba0c3ebf95536e37749dc6c62ade2989dca28", size = 8625842, upload-time = "2024-10-09T16:27:24.168Z" }, + { url = "https://files.pythonhosted.org/packages/fe/90/299952e1477954ec4f92813fa03e743945e3ff711bb4f6c9aace431cb3da/numcodecs-0.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:eda7d7823c9282e65234731fd6bd3986b1f9e035755f7fed248d7d366bb291ab", size = 828638, upload-time = "2024-10-09T16:27:27.063Z" }, + { url = "https://files.pythonhosted.org/packages/f0/78/34b8e869ef143e88d62e8231f4dbfcad85e5c41302a11fc5bd2228a13df5/numcodecs-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2eda97dd2f90add98df6d295f2c6ae846043396e3d51a739ca5db6c03b5eb666", size = 1580199, upload-time = "2024-10-09T16:27:29.336Z" }, + { url = "https://files.pythonhosted.org/packages/3b/cf/f70797d86bb585d258d1e6993dced30396f2044725b96ce8bcf87a02be9c/numcodecs-0.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a86f5367af9168e30f99727ff03b27d849c31ad4522060dde0bce2923b3a8bc", size = 1177203, upload-time = "2024-10-09T16:27:31.011Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b5/d14ad69b63fde041153dfd05d7181a49c0d4864de31a7a1093c8370da957/numcodecs-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233bc7f26abce24d57e44ea8ebeb5cd17084690b4e7409dd470fdb75528d615f", size = 8868743, upload-time = "2024-10-09T16:27:32.833Z" }, + { url = "https://files.pythonhosted.org/packages/13/d4/27a7b5af0b33f6d61e198faf177fbbf3cb83ff10d9d1a6857b7efc525ad5/numcodecs-0.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:796b3e6740107e4fa624cc636248a1580138b3f1c579160f260f76ff13a4261b", size = 829603, upload-time = "2024-10-09T16:27:35.415Z" }, + { url = "https://files.pythonhosted.org/packages/37/3a/bc09808425e7d3df41e5fc73fc7a802c429ba8c6b05e55f133654ade019d/numcodecs-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5195bea384a6428f8afcece793860b1ab0ae28143c853f0b2b20d55a8947c917", size = 1575806, upload-time = "2024-10-09T16:27:37.804Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3501a848adaddce98a71a262fee15cd3618312692aa419da77acd18af4a6a3f6", size = 1178233, upload-time = "2024-10-09T16:27:40.169Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ce/434e8e3970b8e92ae9ab6d9db16cb9bc7aa1cd02e17c11de6848224100a1/numcodecs-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2230484e6102e5fa3cc1a5dd37ca1f92dfbd183d91662074d6f7574e3e8f53", size = 8857827, upload-time = "2024-10-09T16:27:42.743Z" }, + { url = "https://files.pythonhosted.org/packages/83/e7/1d8b1b266a92f9013c755b1c146c5ad71a2bff147ecbc67f86546a2e4d6a/numcodecs-0.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:e5db4824ebd5389ea30e54bc8aeccb82d514d28b6b68da6c536b8fa4596f4bca", size = 826539, upload-time = "2024-10-09T16:27:44.808Z" }, + { url = "https://files.pythonhosted.org/packages/83/8b/06771dead2cc4a8ae1ea9907737cf1c8d37a323392fa28f938a586373468/numcodecs-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a60d75179fd6692e301ddfb3b266d51eb598606dcae7b9fc57f986e8d65cb43", size = 1571660, upload-time = "2024-10-09T16:27:47.125Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ea/d925bf85f92dfe4635356018da9fe4bfecb07b1c72f62b01c1bc47f936b1/numcodecs-0.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f593c7506b0ab248961a3b13cb148cc6e8355662ff124ac591822310bc55ecf", size = 1169925, upload-time = "2024-10-09T16:27:49.512Z" }, + { url = "https://files.pythonhosted.org/packages/0f/d6/643a3839d571d8e439a2c77dc4b0b8cab18d96ac808e4a81dbe88e959ab6/numcodecs-0.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80d3071465f03522e776a31045ddf2cfee7f52df468b977ed3afdd7fe5869701", size = 8814257, upload-time = "2024-10-09T16:27:52.059Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c5/f3e56bc9b4e438a287fff738993d6d11abef368c0328a612ac2842ba9fca/numcodecs-0.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:90d3065ae74c9342048ae0046006f99dcb1388b7288da5a19b3bddf9c30c3176", size = 821887, upload-time = "2024-10-09T16:27:55.039Z" }, +] + +[[package]] +name = "numcodecs" +version = "0.15.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "deprecated", marker = "python_full_version >= '3.11'" }, + { name = "numpy", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/fc/bb532969eb8236984ba65e4f0079a7da885b8ac0ce1f0835decbb3938a62/numcodecs-0.15.1.tar.gz", hash = "sha256:eeed77e4d6636641a2cc605fbc6078c7a8f2cc40f3dfa2b3f61e52e6091b04ff", size = 6267275, upload-time = "2025-02-10T10:23:33.254Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/fc/410f1cacaef0931f5daf06813b1b8a2442f7418ee284ec73fe5e830dca48/numcodecs-0.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:698f1d59511488b8fe215fadc1e679a4c70d894de2cca6d8bf2ab770eed34dfd", size = 1649501, upload-time = "2025-02-10T10:23:01.828Z" }, + { url = "https://files.pythonhosted.org/packages/85/29/dff62fae04323035912c419a82dc9624fad7d08541dbfcd9ab78a3a40074/numcodecs-0.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bef8c8e64fab76677324a07672b10c31861775d03fc63ed5012ca384144e4bb9", size = 1187306, upload-time = "2025-02-10T10:23:04.569Z" }, + { url = "https://files.pythonhosted.org/packages/a6/a8/908a226632ffabf19caf8c99f1b2898f2f22aac02795a6fe9d018fd6d9dd/numcodecs-0.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdfaef9f5f2ed8f65858db801f1953f1007c9613ee490a1c56233cd78b505ed5", size = 8891971, upload-time = "2025-02-10T10:23:07.689Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e8/058aac43e1300d588e99b2d0d5b771c8a43fa92ce9c9517da596869fc146/numcodecs-0.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:e2547fa3a7ffc9399cfd2936aecb620a3db285f2630c86c8a678e477741a4b3c", size = 840035, upload-time = "2025-02-10T10:23:10.761Z" }, + { url = "https://files.pythonhosted.org/packages/e7/7e/f12fc32d3beedc6a8f1ec69ea0ba72e93cb99c0350feed2cff5d04679bc3/numcodecs-0.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b0a9d9cd29a0088220682dda4a9898321f7813ff7802be2bbb545f6e3d2f10ff", size = 1691889, upload-time = "2025-02-10T10:23:12.934Z" }, + { url = "https://files.pythonhosted.org/packages/81/38/88e40d40288b73c3b3a390ed5614a34b0661d00255bdd4cfb91c32101364/numcodecs-0.15.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a34f0fe5e5f3b837bbedbeb98794a6d4a12eeeef8d4697b523905837900b5e1c", size = 1189149, upload-time = "2025-02-10T10:23:15.803Z" }, + { url = "https://files.pythonhosted.org/packages/28/7d/7527d9180bc76011d6163c848c9cf02cd28a623c2c66cf543e1e86de7c5e/numcodecs-0.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3a09e22140f2c691f7df26303ff8fa2dadcf26d7d0828398c0bc09b69e5efa3", size = 8879163, upload-time = "2025-02-10T10:23:18.582Z" }, + { url = "https://files.pythonhosted.org/packages/ab/bc/b6c3cde91c754860a3467a8c058dcf0b1a5ca14d82b1c5397c700cf8b1eb/numcodecs-0.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:daed6066ffcf40082da847d318b5ab6123d69ceb433ba603cb87c323a541a8bc", size = 836785, upload-time = "2025-02-10T10:23:22.314Z" }, + { url = "https://files.pythonhosted.org/packages/78/57/acbc54b3419e5be65015e47177c76c0a73e037fd3ae2cde5808169194d4d/numcodecs-0.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e3d82b70500cf61e8d115faa0d0a76be6ecdc24a16477ee3279d711699ad85f3", size = 1688220, upload-time = "2025-02-10T10:23:23.79Z" }, + { url = "https://files.pythonhosted.org/packages/b6/56/9863fa6dc679f40a31bea5e9713ee5507a31dcd3ee82ea4b1a9268ce52e8/numcodecs-0.15.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1d471a1829ce52d3f365053a2bd1379e32e369517557c4027ddf5ac0d99c591e", size = 1180294, upload-time = "2025-02-10T10:23:25.533Z" }, + { url = "https://files.pythonhosted.org/packages/fa/91/d96999b41e3146b6c0ce6bddc5ad85803cb4d743c95394562c2a4bb8cded/numcodecs-0.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dfdea4a67108205edfce99c1cb6cd621343bc7abb7e16a041c966776920e7de", size = 8834323, upload-time = "2025-02-10T10:23:27.46Z" }, + { url = "https://files.pythonhosted.org/packages/c3/32/233e5ede6568bdb044e6f99aaa9fa39827ff3109c6487fc137315f733586/numcodecs-0.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:a4f7bdb26f1b34423cb56d48e75821223be38040907c9b5954eeb7463e7eb03c", size = 831955, upload-time = "2025-02-10T10:23:30.601Z" }, +] + +[[package]] +name = "numexpr" +version = "2.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/6e/8164bc96108991fcd74e9d3eda4a4bf5752c394dde5b2408ecbefeaa339f/numexpr-2.13.0.tar.gz", hash = "sha256:3363d804f202437586447a49b5c83b01322e8be72279d49e0bf524720edc01b6", size = 118688, upload-time = "2025-09-24T12:18:17.621Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/ef/99dcb44a8bd952fcec90a6badbeb597d7cbbf6563095ab3293767f035804/numexpr-2.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6c6e48c86698a7b372ef5b60da30603472940e77a6ab852256843913c2da4578", size = 162295, upload-time = "2025-09-24T12:16:55.681Z" }, + { url = "https://files.pythonhosted.org/packages/a8/df/f9e1adf3addfaf9bb52eb98a976e1daaa1fc50157e95707b81f2c43f0779/numexpr-2.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:62e9818a212d9fc36ed2fe7d99c5899b4801980294bb4499056f3530ba05ce69", size = 151214, upload-time = "2025-09-24T12:16:57.601Z" }, + { url = "https://files.pythonhosted.org/packages/54/b3/36dd4ffde70a441d9b135121cab7d8284edb8ad647317addc508b9a18462/numexpr-2.13.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df7d70882129b0fff0f2cf2ee7271388f310ae31fee5aee07da66190c1e25eaf", size = 448341, upload-time = "2025-09-24T12:16:59.099Z" }, + { url = "https://files.pythonhosted.org/packages/65/32/4630716afc68ca73a08c79d2beac11109c7f1c59fe16aaa483ee680b4e06/numexpr-2.13.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:010104a05f8b4d1a04b81e7e5dfa17c6b54e62c138014b898ac8749829f97da1", size = 438797, upload-time = "2025-09-24T12:17:00.377Z" }, + { url = "https://files.pythonhosted.org/packages/e6/24/7d59be60b2ea9ad50bb64c89b289d8699dcda8a1f80e43a222fa048460eb/numexpr-2.13.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7c19054b9fd01bd2873d60c11e888e4470abdffab26765fbb33ac9bb33e00f31", size = 1413121, upload-time = "2025-09-24T12:17:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/a2/73/ce5c8a95d9e17e431d644adf6be84f3b41abcebca1eb96ad021bcd50bb36/numexpr-2.13.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9bbf7652dd15fa4e910a0e8c51e7c77210c0764dc07a8c25cc8f9049d300df4a", size = 1461850, upload-time = "2025-09-24T12:17:03.19Z" }, + { url = "https://files.pythonhosted.org/packages/86/64/49169ff539d4d7acce2925b0406f5fcf279a137506ec43b4adf27a6de2c7/numexpr-2.13.0-cp310-cp310-win32.whl", hash = "sha256:c2d1e1681b103d497e5ea60ebfdbf92c911807ebe664eb70e5783bfe7fe0c9c4", size = 166084, upload-time = "2025-09-24T12:17:04.94Z" }, + { url = "https://files.pythonhosted.org/packages/6c/7d/9f59ca71ea7914b8dd59f0b82bbef4a27abedaaed04c644bfe3b933604c5/numexpr-2.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:0465213327dc6402f7157405b3d49ab267ea32bded943e3643ab1b4c603dd73c", size = 159237, upload-time = "2025-09-24T12:17:05.996Z" }, + { url = "https://files.pythonhosted.org/packages/07/8c/ff21f96c51fcb400025fe63ae74552a6de93bddd534ab327a21a7a36475b/numexpr-2.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4215568b42c37b8f1821e7058bc44afd475722adebbaf7f41482c94221758c29", size = 162292, upload-time = "2025-09-24T12:17:06.979Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f5/3629ac387d6d8a7df885c2aef26e8dcb62ecfa120983745eaab9e8186d98/numexpr-2.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e6ca00488e3dc367d36f44db291fe2830085599f5d385f9656875494446d1693", size = 151215, upload-time = "2025-09-24T12:17:08.386Z" }, + { url = "https://files.pythonhosted.org/packages/d8/db/21fbfa02334ffbca8a70437a558ba1e21b191eb046c576b8bba00f716bb3/numexpr-2.13.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e718d6175064a4218b400e4a48d0743a49f43de13dd124572a0e05003e5a15f", size = 449941, upload-time = "2025-09-24T12:17:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b6/f3c9305b2d9870ca7fe4068a23c05db1664bde3feb8ce156dcd0d46f79a9/numexpr-2.13.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f41d5ca0a241155e67d4ba232d2418350fcced70010ad0a3836fb3b7240daf00", size = 440562, upload-time = "2025-09-24T12:17:10.628Z" }, + { url = "https://files.pythonhosted.org/packages/db/2e/c8d14899b75a6bdcbc46bf49b06acb34f192bc6a9b33099984497f84c34f/numexpr-2.13.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:da78ae6ac87904ec742e6f0f4476f647f5e65ca59d42ab11a9b340ea35f286b5", size = 1414911, upload-time = "2025-09-24T12:17:11.744Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ea/5d6547261c52826b4954cc6021183e28e22ee2890127e4617c86585235c1/numexpr-2.13.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:611a69cb4f178808639bf2c7c06c3d11575554313faeb9375cdfbe1c68c370db", size = 1463483, upload-time = "2025-09-24T12:17:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/a9/3d/54c580dde897c44349dbc3c1a8919046974841da596e319ceebe06fda45b/numexpr-2.13.0-cp311-cp311-win32.whl", hash = "sha256:fb7535c7e5dbbe1b8288a5c9e1c3187c97687bb7da6f8937b1a062d636e17655", size = 166086, upload-time = "2025-09-24T12:17:17.295Z" }, + { url = "https://files.pythonhosted.org/packages/6a/eb/e6a2782958f5ce05c96e5c514247ce5d2e85f4c2db52235b454d2920bc61/numexpr-2.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:55ce79de1085f5cd198904ad4bd8d8e827b331215488a6ec1fddadf6f44ee782", size = 159234, upload-time = "2025-09-24T12:17:18.27Z" }, + { url = "https://files.pythonhosted.org/packages/60/86/1ae249bbe54d4fe22838160df8803ac60c526a7c80df6dc47ed901d23440/numexpr-2.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c52c565db28f5185f326fb10f502c74ff8651aa8f7f0c6e18e9622847d3be9e1", size = 161897, upload-time = "2025-09-24T12:17:19.271Z" }, + { url = "https://files.pythonhosted.org/packages/8a/58/ece67627a3f2f37699c0ee2492b2e8f875db70ef63885061da83f04b04b0/numexpr-2.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:beefd3e7277ef1822ddeed5ab6c4f158f10446e8a2e98bed261b65791da81d31", size = 151361, upload-time = "2025-09-24T12:17:20.243Z" }, + { url = "https://files.pythonhosted.org/packages/f0/62/6ca59d476d46b5ab91f9de8bc299a071a259ea4b3f51764ea0b7d59ff5fd/numexpr-2.13.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:19465d90bc0188c2310da5be080aff12d7e3ac470d38889dc8fdedac80bb321d", size = 451297, upload-time = "2025-09-24T12:17:21.504Z" }, + { url = "https://files.pythonhosted.org/packages/17/c8/b517a09563e8f2b18baec72b7a8d8a6807e5e140457524134b606637fc5e/numexpr-2.13.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52aaea06f1a43e5e89319590cec0912214fddadb6a3cd9116c91adf37cf31d91", size = 442182, upload-time = "2025-09-24T12:17:22.557Z" }, + { url = "https://files.pythonhosted.org/packages/de/f5/c97b6e1a7e4dbce115b580b729bb07e9a5b882aa330b7ad9f561336b22d1/numexpr-2.13.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a1541906a2c1e51e4f2404f966ca1d654ce5a84b2c2eaf471f3ce733f1900310", size = 1416391, upload-time = "2025-09-24T12:17:23.744Z" }, + { url = "https://files.pythonhosted.org/packages/40/b0/49c7ac6e3e63c4a8fa0942a5bfa7766ac9a63bdf4250f56e483482a3ae89/numexpr-2.13.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:afb519bd173f341703d0beadcefac35237d4bea66e61323acbdfc7fd090f4b88", size = 1465049, upload-time = "2025-09-24T12:17:25.029Z" }, + { url = "https://files.pythonhosted.org/packages/fd/28/748a43c48838ddf0a7008fb88ddad0d9a387d5c9a2f67ec646002824961f/numexpr-2.13.0-cp312-cp312-win32.whl", hash = "sha256:9784f9cac598621aa1fa6ff21f06b8675c1cbbe85cff2e0a696a046ba525196b", size = 166252, upload-time = "2025-09-24T12:17:26.272Z" }, + { url = "https://files.pythonhosted.org/packages/f9/8b/e9caea2198951c7ebd9c69dfbcffff740254f34c137faa0115265fc8fe24/numexpr-2.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:c1b4a7b24811950d7c6f5506de665ebc94673f0042e6e7d3256eb1bb5a654233", size = 159338, upload-time = "2025-09-24T12:17:27.311Z" }, + { url = "https://files.pythonhosted.org/packages/78/b3/642ddcd4c497a988d419c87f6e19c852fa76237530d6fa3531dae5be57d7/numexpr-2.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:071e7dd7d3722c58736fb8713827582b0eb6e752dc54b7db7ad81375c5717409", size = 161905, upload-time = "2025-09-24T12:17:28.577Z" }, + { url = "https://files.pythonhosted.org/packages/b8/8e/ade15c0aad2057923b115a76ba5a96a8b5058daa5056962ec0b20efaa2ab/numexpr-2.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c0c9d82c1cc8a4fbaf98ca7184997d3d4a96d8f5950a7cac7b63c7c88f0d7364", size = 151359, upload-time = "2025-09-24T12:17:29.608Z" }, + { url = "https://files.pythonhosted.org/packages/1f/26/8e315939b2c27880ad87dc2db66bad3aef3789448b099d06496e492e0b70/numexpr-2.13.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22ee0c6bd4b9f591793a1fd8b823e693851ace86e4fddf4ab51b71cbae59a0fc", size = 454648, upload-time = "2025-09-24T12:17:30.604Z" }, + { url = "https://files.pythonhosted.org/packages/cf/be/c6bf7d74fb716cd8d25edee004e8f06918d4cb0f1471a10a2085c741a55d/numexpr-2.13.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:450206905604486c3841b1041e21a8126cadc34da73456aa3e10bf10c6549c6a", size = 445196, upload-time = "2025-09-24T12:17:32.723Z" }, + { url = "https://files.pythonhosted.org/packages/62/42/f947150b9b6281c656cdfef375534bcda0b79e0e799c2dfa6b436e68b5be/numexpr-2.13.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1d485687f016ce2385817a584fe5f9e007817dbe12ce6dcdeaefae91e8abc78e", size = 1416376, upload-time = "2025-09-24T12:17:34.426Z" }, + { url = "https://files.pythonhosted.org/packages/c5/9d/8824d24b500c52fef2143bfb5a78ede273dc9418ad4cb12a976584b47beb/numexpr-2.13.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a21ac5bac1752ffb22e71cf7b65087ccc4fd211a06f4a358ce78c4652d44ebc0", size = 1464991, upload-time = "2025-09-24T12:17:36.066Z" }, + { url = "https://files.pythonhosted.org/packages/8d/43/32af1d8c1c7b8bfe3d9067c7610e8bffddea2f352adc24190b8be214e7ab/numexpr-2.13.0-cp313-cp313-win32.whl", hash = "sha256:8ce807751cbaa0aa6eb2a82388096eee350e8d1b8f7ee8e0452be762bda6e929", size = 166254, upload-time = "2025-09-24T12:17:37.631Z" }, + { url = "https://files.pythonhosted.org/packages/6b/88/bcf6ada80b557e19ebf6ce154a62afcb0f594ce58b9393b4fb5b8c620529/numexpr-2.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9858c7cc4436c03bd2d305a6b7f0bb3db2782e18c4428068a9e0427e20f5e111", size = 159343, upload-time = "2025-09-24T12:17:38.812Z" }, + { url = "https://files.pythonhosted.org/packages/63/dc/21fb87fa099def2cab8d27935ad2f0f715f9877d73be34a76fd4e8a9dfa3/numexpr-2.13.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c00310a9b06f18ddd9b02993044a6b8cae354d0c416828bd620f48e428274e1f", size = 162668, upload-time = "2025-09-24T12:17:40.109Z" }, + { url = "https://files.pythonhosted.org/packages/8c/66/5201b25039302291123fdefdc9aa2d88ce5c0d16ede979d6a8745e6c777c/numexpr-2.13.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d7e1ff76e7452d58e780435bdb8f1940c0c350c9b49cb2b7cdb0b0cda00c9701", size = 152036, upload-time = "2025-09-24T12:17:41.345Z" }, + { url = "https://files.pythonhosted.org/packages/86/92/c6b0257d014bbf8c81237ebff3c8ca3fc7186cfd613f21a28b725e8e608c/numexpr-2.13.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd9c3ec61407abcd42c36a59bd9e107ec1f64de18072ffca5d6f3f6897b9e4ad", size = 464918, upload-time = "2025-09-24T12:17:42.75Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d9/34afe53caab8040a2a280d1348da88b0277cc555f45b17a60a5eca4624d6/numexpr-2.13.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e638c40fb68b5e6c396d719b769b75c05d49aa92aa81426d5e9e3e2be886819", size = 455538, upload-time = "2025-09-24T12:17:43.876Z" }, + { url = "https://files.pythonhosted.org/packages/72/ee/1fbf99f1b492ae9f500d0cde20152b877f796bab4491be495020e4aef5eb/numexpr-2.13.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d5d2b40d8de3579f5409707dc30dfaa49f3dcbea41b3c1ccbc902e0d4012a792", size = 1425090, upload-time = "2025-09-24T12:17:45.049Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d5/1bb752f3cb8e2cd6610dec637bb20877082765de23a5d805d52d4a279a42/numexpr-2.13.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8bbf064c3886eda9b2ef2d9090093bd92a45a4b9eaa7ed704952a84bb212de49", size = 1473044, upload-time = "2025-09-24T12:17:46.449Z" }, + { url = "https://files.pythonhosted.org/packages/57/db/408043accb22a7585a4c5353234b547c2f38125da8719516cce7679a465f/numexpr-2.13.0-cp313-cp313t-win32.whl", hash = "sha256:7ba92383aeac47a3c8f26d214b6ed11bd10e70b74efdd53e7defe9d1a67ca591", size = 166897, upload-time = "2025-09-24T12:17:47.779Z" }, + { url = "https://files.pythonhosted.org/packages/9a/6f/6483c3400d20a8522480480561b417dbe7b0856ba771b2efa8361f89c44b/numexpr-2.13.0-cp313-cp313t-win_amd64.whl", hash = "sha256:435336e014c81866da481e2a03417e30b4f3159260c1d2a6de87191ba2fb77d8", size = 160270, upload-time = "2025-09-24T12:17:48.769Z" }, + { url = "https://files.pythonhosted.org/packages/de/45/1e952d230a034584f563416cfda5fb28a496147c2108fe180f711542ea1c/numexpr-2.13.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fec119ba261b110beeac49b905ce0cde233a5d14ef27bc26b98f2a578c30c35b", size = 161949, upload-time = "2025-09-24T12:17:49.761Z" }, + { url = "https://files.pythonhosted.org/packages/04/b2/6e42abd6edb9e3260e2e09485adc9edd59267fbacd94f20621ea43727595/numexpr-2.13.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c1aa845393b812f104e821ba7837c2a205a143ec02b6b384434acb2dd57682f3", size = 151412, upload-time = "2025-09-24T12:17:50.704Z" }, + { url = "https://files.pythonhosted.org/packages/5c/30/929ae24625bc8af1bf63542b3525c256b27ec8aa56a08e73163841fe07e6/numexpr-2.13.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:801a25e1d1832dc6f4134ea89d47edae3298b9c994dac25c5a7f290ebac5e4a5", size = 454817, upload-time = "2025-09-24T12:17:51.712Z" }, + { url = "https://files.pythonhosted.org/packages/6a/01/55c51aa4aa7a9f69a349d23d6db0b1edc96506f39e6d4ab2ad7dd1b2a689/numexpr-2.13.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3c95d1fbd7e45ef87f9d7f7a2d714dcae01fa65317bf50e63cf4c3f24f0d6c20", size = 445128, upload-time = "2025-09-24T12:17:52.882Z" }, + { url = "https://files.pythonhosted.org/packages/fe/fc/c49f76632c0fe6c9ae6b56ccf3ee3a43194c7ae0e9b7b2a2b9a62e904679/numexpr-2.13.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa462b876a6b678b788a28a3fa2841c23074f26bd3659af59244c3138fa0087b", size = 1416567, upload-time = "2025-09-24T12:17:54.076Z" }, + { url = "https://files.pythonhosted.org/packages/a3/81/8dc19e400d0e347997f83a820e33637d7378f2513414386012abd65c91a0/numexpr-2.13.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c5331e75881a0be7ec3097f61a0ad90ded288e8916b90545f1aa67f293079521", size = 1465018, upload-time = "2025-09-24T12:17:55.255Z" }, + { url = "https://files.pythonhosted.org/packages/39/5d/5b1ae53bb1d22f87fafb69b16f77b2cfe76c5f85127bc3b8981fd7c866b8/numexpr-2.13.0-cp314-cp314-win32.whl", hash = "sha256:89a288c4dd25c12394685b0b105e85a4beddb632b3ef52e3e383f25d46d7d86f", size = 168096, upload-time = "2025-09-24T12:17:56.441Z" }, + { url = "https://files.pythonhosted.org/packages/93/2f/07b5a3f0bf3ffa3314210abac1069560344e8cde0028c385a49e08a27f51/numexpr-2.13.0-cp314-cp314-win_amd64.whl", hash = "sha256:ae6068310da1532072bccb6c87870d0f1b584bdae3de528d577e67319b78f56c", size = 161712, upload-time = "2025-09-24T12:17:57.779Z" }, + { url = "https://files.pythonhosted.org/packages/49/86/753a9634b22c7202d02d0c5e33792bc7f8daac1865de8239383732e96f5d/numexpr-2.13.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:08173e867548e0ad251d9024c0539cb121b2f2b3a09205014cdc11c99bad4517", size = 162666, upload-time = "2025-09-24T12:17:59.169Z" }, + { url = "https://files.pythonhosted.org/packages/90/68/f4f9fbf80fca5bcf656f353b899732a56fcf192e32483bbada201bac48c5/numexpr-2.13.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ffd42f1631d009f0b405e3fe195f2b2551d1ac293d3147bfd4d8835c1ee91a1e", size = 152028, upload-time = "2025-09-24T12:18:00.156Z" }, + { url = "https://files.pythonhosted.org/packages/a9/d3/1df5b69265162448af4e0688c55d4483e856ae2e98d338690a707900f718/numexpr-2.13.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b6160eda53c48e0aa1b3ee02f27dfbe375f28a21d1ace1e151ec5c09011bfa4a", size = 465112, upload-time = "2025-09-24T12:18:01.184Z" }, + { url = "https://files.pythonhosted.org/packages/75/ee/de8cac0ff21c795106d0ac84418035a611f5a4acd0318e83b8a0b9815271/numexpr-2.13.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce3dc0f3f3dcf05c372a624c0e048f159849b0689e4d91a655ab4f2c5ba5a7f6", size = 455809, upload-time = "2025-09-24T12:18:02.396Z" }, + { url = "https://files.pythonhosted.org/packages/04/5b/6e812264d08f440a429e6dd0d0e8fd3709d06c5089c4ead29f14a46ff4d3/numexpr-2.13.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d017db23f4be18e00d96053f16af93ff77f8b1027d47a2cee78a980393007bc0", size = 1425342, upload-time = "2025-09-24T12:18:03.707Z" }, + { url = "https://files.pythonhosted.org/packages/fd/75/73a7b7ed28550eada9b1aacded71a6941ad28b4026c75de93f87353b7d49/numexpr-2.13.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:15e51cc76ea2e7f2b3bfb08d2d01bc84f48ba6b2e2b27a9ce645edb06293b91b", size = 1473175, upload-time = "2025-09-24T12:18:04.977Z" }, + { url = "https://files.pythonhosted.org/packages/b8/67/914ab2261130ac0f210a26187d7c0bd9c0c4e3be5ba56f889aa7eec59c3f/numexpr-2.13.0-cp314-cp314t-win32.whl", hash = "sha256:3ae41249afc233e12f186149da1d80ac1ffcfb0ee65ebbd590bdc81f16a5fa77", size = 168768, upload-time = "2025-09-24T12:18:06.215Z" }, + { url = "https://files.pythonhosted.org/packages/29/62/dab5c5e41eef490b3ee759ee5aa6c36b1af4bb43733515bea32c87dd9deb/numexpr-2.13.0-cp314-cp314t-win_amd64.whl", hash = "sha256:43d0fe73398e4d3b9ff548d6bda3d37b3569539b1d8cabe3023727b690b4f118", size = 162765, upload-time = "2025-09-24T12:18:07.338Z" }, +] + +[[package]] +name = "numpy" +version = "1.25.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a0/41/8f53eff8e969dd8576ddfb45e7ed315407d27c7518ae49418be8ed532b07/numpy-1.25.2.tar.gz", hash = "sha256:fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760", size = 10805282, upload-time = "2023-07-31T15:17:43.198Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/50/8aedb5ff1460e7c8527af15c6326115009e7c270ec705487155b779ebabb/numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3", size = 20814934, upload-time = "2023-07-31T14:50:49.761Z" }, + { url = "https://files.pythonhosted.org/packages/c3/ea/1d95b399078ecaa7b5d791e1fdbb3aee272077d9fd5fb499593c87dec5ea/numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f", size = 13994425, upload-time = "2023-07-31T14:51:12.312Z" }, + { url = "https://files.pythonhosted.org/packages/b1/39/3f88e2bfac1fb510c112dc0c78a1e7cad8f3a2d75e714d1484a044c56682/numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187", size = 14167163, upload-time = "2023-07-31T14:51:34.507Z" }, + { url = "https://files.pythonhosted.org/packages/71/3c/3b1981c6a1986adc9ee7db760c0c34ea5b14ac3da9ecfcf1ea2a4ec6c398/numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357", size = 18219190, upload-time = "2023-07-31T14:52:07.478Z" }, + { url = "https://files.pythonhosted.org/packages/73/6f/2a0d0ad31a588d303178d494787f921c246c6234eccced236866bc1beaa5/numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9", size = 18068385, upload-time = "2023-07-31T14:52:35.891Z" }, + { url = "https://files.pythonhosted.org/packages/63/bd/a1c256cdea5d99e2f7e1acc44fc287455420caeb2e97d43ff0dda908fae8/numpy-1.25.2-cp310-cp310-win32.whl", hash = "sha256:7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044", size = 12661360, upload-time = "2023-07-31T14:52:56.694Z" }, + { url = "https://files.pythonhosted.org/packages/b7/db/4d37359e2c9cf8bf071c08b8a6f7374648a5ab2e76e2e22e3b808f81d507/numpy-1.25.2-cp310-cp310-win_amd64.whl", hash = "sha256:834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545", size = 15554633, upload-time = "2023-07-31T14:53:21.013Z" }, + { url = "https://files.pythonhosted.org/packages/c9/57/3cb8131a0e6d559501e088d3e685f4122e9ff9104c4b63e4dfd3a577b491/numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418", size = 20801693, upload-time = "2023-07-31T14:53:53.29Z" }, + { url = "https://files.pythonhosted.org/packages/86/a1/b8ef999c32f26a97b5f714887e21f96c12ae99a38583a0a96e65283ac0a1/numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f", size = 14004130, upload-time = "2023-07-31T14:54:16.413Z" }, + { url = "https://files.pythonhosted.org/packages/50/67/3e966d99a07d60a21a21d7ec016e9e4c2642a86fea251ec68677daf71d4d/numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2", size = 14158219, upload-time = "2023-07-31T14:54:39.032Z" }, + { url = "https://files.pythonhosted.org/packages/32/6a/65dbc57a89078af9ff8bfcd4c0761a50172d90192eaeb1b6f56e5fbf1c3d/numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf", size = 18209344, upload-time = "2023-07-31T14:55:08.584Z" }, + { url = "https://files.pythonhosted.org/packages/cd/fe/e900cb2ebafae04b7570081cefc65b6fdd9e202b9b353572506cea5cafdf/numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364", size = 18072378, upload-time = "2023-07-31T14:55:39.551Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e4/990c6cb09f2cd1a3f53bcc4e489dad903faa01b058b625d84bb62d2e9391/numpy-1.25.2-cp311-cp311-win32.whl", hash = "sha256:5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d", size = 12654351, upload-time = "2023-07-31T14:56:10.623Z" }, + { url = "https://files.pythonhosted.org/packages/72/b2/02770e60c4e2f7e158d923ab0dea4e9f146a2dbf267fec6d8dc61d475689/numpy-1.25.2-cp311-cp311-win_amd64.whl", hash = "sha256:5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4", size = 15546748, upload-time = "2023-07-31T14:57:13.015Z" }, +] + +[[package]] +name = "numpydoc" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/19/7721093e25804cc82c7c1cdab0cce6b9343451828fc2ce249cee10646db5/numpydoc-1.9.0.tar.gz", hash = "sha256:5fec64908fe041acc4b3afc2a32c49aab1540cf581876f5563d68bb129e27c5b", size = 91451, upload-time = "2025-06-24T12:22:55.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/62/5783d8924fca72529defb2c7dbe2070d49224d2dba03a85b20b37adb24d8/numpydoc-1.9.0-py3-none-any.whl", hash = "sha256:8a2983b2d62bfd0a8c470c7caa25e7e0c3d163875cdec12a8a1034020a9d1135", size = 64871, upload-time = "2025-06-24T12:22:53.701Z" }, +] + +[[package]] +name = "openmatrix" +version = "0.3.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "tables", version = "3.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "tables", version = "3.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/39/a4/c890e3af726ab91e496017fb108f6335663d6936cf6a26b17e66776e1b4c/OpenMatrix-0.3.5.0.tar.gz", hash = "sha256:1c10155bbe65eb4f542c388813d8dad8f317dfe642fb4f616276c95e6654bdee", size = 11626, upload-time = "2019-12-21T17:52:58.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/e8/6a8227e97127a2a1db98f5a22ca565bfe942e89de0644837627920101213/OpenMatrix-0.3.5.0-py3-none-any.whl", hash = "sha256:eeeb1a628b5eeefb572361537df5ad6e4d12c3cda1233023c4c367815cab6b5f", size = 13003, upload-time = "2019-12-21T17:52:57.777Z" }, +] + +[[package]] +name = "overrides" +version = "7.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812, upload-time = "2024-01-27T21:01:33.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832, upload-time = "2024-01-27T21:01:31.393Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandas" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version >= '3.12'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.12'" }, + { name = "pytz", marker = "python_full_version >= '3.12'" }, + { name = "tzdata", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6f/31/a4a8e7367856d9584d0332793edfe631182a9cca885f12dbe2dd77c10c4a/pandas-2.1.0.tar.gz", hash = "sha256:62c24c7fc59e42b775ce0679cfa7b14a5f9bfb7643cfbe708c960699e05fb918", size = 4263970, upload-time = "2023-08-30T13:14:24.318Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/ba/be69b6fa37c74699d333dbcbf0fc799eb31c35ce465651cdc4baf6a2e30d/pandas-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:40dd20439ff94f1b2ed55b393ecee9cb6f3b08104c2c40b0cb7186a2f0046242", size = 12118394, upload-time = "2023-08-30T13:13:26.12Z" }, + { url = "https://files.pythonhosted.org/packages/8d/08/1cf87814dcd87604807971abc743b12e635de36d820be7b50e2b6aa9e1b5/pandas-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d4f38e4fedeba580285eaac7ede4f686c6701a9e618d8a857b138a126d067f2f", size = 11306908, upload-time = "2023-08-30T13:13:29.631Z" }, + { url = "https://files.pythonhosted.org/packages/f3/21/8ea83d6990457c5253d9e6c40a3d2c8a3d383dfabb937b0a36a71ae43bde/pandas-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e6a0fe052cf27ceb29be9429428b4918f3740e37ff185658f40d8702f0b3e09", size = 15167237, upload-time = "2023-08-30T13:13:33.203Z" }, + { url = "https://files.pythonhosted.org/packages/fb/4f/4a4372b2e24439f559b73318683486831d75e59544ae02bf8dec8dd6f48b/pandas-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d81e1813191070440d4c7a413cb673052b3b4a984ffd86b8dd468c45742d3cc", size = 12662125, upload-time = "2023-08-30T13:13:36.509Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a8/8ac4fa3970e64d7f62ebdcd47e507c2443d49090a3f402fa01f0e6e30b13/pandas-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eb20252720b1cc1b7d0b2879ffc7e0542dd568f24d7c4b2347cb035206936421", size = 13465263, upload-time = "2023-08-30T13:13:39.998Z" }, + { url = "https://files.pythonhosted.org/packages/c5/89/ce1c7dc497f9a20644f6a7d2dd5bce6378a48321955178197fa3b55d6fe3/pandas-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:38f74ef7ebc0ffb43b3d633e23d74882bce7e27bfa09607f3c5d3e03ffd9a4a5", size = 11097660, upload-time = "2023-08-30T13:13:43.303Z" }, + { url = "https://files.pythonhosted.org/packages/c3/05/c5c73d54ceb7d5e4b8c046d39a1bb7f38ee76ea556a002cf3317514f0196/pandas-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cda72cc8c4761c8f1d97b169661f23a86b16fdb240bdc341173aee17e4d6cedd", size = 12015015, upload-time = "2023-08-30T13:13:46.682Z" }, + { url = "https://files.pythonhosted.org/packages/e5/cd/c941b51e95992968e3e8abc7180f33b952478abd6943062051517a808db7/pandas-2.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d97daeac0db8c993420b10da4f5f5b39b01fc9ca689a17844e07c0a35ac96b4b", size = 11173830, upload-time = "2023-08-30T13:13:49.313Z" }, + { url = "https://files.pythonhosted.org/packages/e2/25/bfb5c7573e2b884b18e5ea993ee7aeb5a6915ea687174349fdc5f979ceec/pandas-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8c58b1113892e0c8078f006a167cc210a92bdae23322bb4614f2f0b7a4b510f", size = 15176284, upload-time = "2023-08-30T13:13:52.824Z" }, + { url = "https://files.pythonhosted.org/packages/d9/26/895a49ebddb4211f2d777150f38ef9e538deff6df7e179a3624c663efc98/pandas-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:629124923bcf798965b054a540f9ccdfd60f71361255c81fa1ecd94a904b9dd3", size = 12630840, upload-time = "2023-08-30T13:13:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/bc/ad/d1f0a867064f62ffde917876cc09cfd53352af2b1f147c140fd1943a0c7a/pandas-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:70cf866af3ab346a10debba8ea78077cf3a8cd14bd5e4bed3d41555a3280041c", size = 13463414, upload-time = "2023-08-30T13:13:58.774Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f8/32d6b5aa4c4bc045fa2c4c58f88c325facc54721956c6313f0afea8ea853/pandas-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:d53c8c1001f6a192ff1de1efe03b31a423d0eee2e9e855e69d004308e046e694", size = 11043589, upload-time = "2023-08-30T13:14:02.051Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version < '3.12'" }, + { name = "python-dateutil", marker = "python_full_version < '3.12'" }, + { name = "pytz", marker = "python_full_version < '3.12'" }, + { name = "tzdata", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684, upload-time = "2025-08-21T10:28:29.257Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/16/a8eeb70aad84ccbf14076793f90e0031eded63c1899aeae9fdfbf37881f4/pandas-2.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52bc29a946304c360561974c6542d1dd628ddafa69134a7131fdfd6a5d7a1a35", size = 11539648, upload-time = "2025-08-21T10:26:36.236Z" }, + { url = "https://files.pythonhosted.org/packages/47/f1/c5bdaea13bf3708554d93e948b7ea74121ce6e0d59537ca4c4f77731072b/pandas-2.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:220cc5c35ffaa764dd5bb17cf42df283b5cb7fdf49e10a7b053a06c9cb48ee2b", size = 10786923, upload-time = "2025-08-21T10:26:40.518Z" }, + { url = "https://files.pythonhosted.org/packages/bb/10/811fa01476d29ffed692e735825516ad0e56d925961819e6126b4ba32147/pandas-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c05e15111221384019897df20c6fe893b2f697d03c811ee67ec9e0bb5a3424", size = 11726241, upload-time = "2025-08-21T10:26:43.175Z" }, + { url = "https://files.pythonhosted.org/packages/c4/6a/40b043b06e08df1ea1b6d20f0e0c2f2c4ec8c4f07d1c92948273d943a50b/pandas-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc03acc273c5515ab69f898df99d9d4f12c4d70dbfc24c3acc6203751d0804cf", size = 12349533, upload-time = "2025-08-21T10:26:46.611Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ea/2e081a2302e41a9bca7056659fdd2b85ef94923723e41665b42d65afd347/pandas-2.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d25c20a03e8870f6339bcf67281b946bd20b86f1a544ebbebb87e66a8d642cba", size = 13202407, upload-time = "2025-08-21T10:26:49.068Z" }, + { url = "https://files.pythonhosted.org/packages/f4/12/7ff9f6a79e2ee8869dcf70741ef998b97ea20050fe25f83dc759764c1e32/pandas-2.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21bb612d148bb5860b7eb2c10faacf1a810799245afd342cf297d7551513fbb6", size = 13837212, upload-time = "2025-08-21T10:26:51.832Z" }, + { url = "https://files.pythonhosted.org/packages/d8/df/5ab92fcd76455a632b3db34a746e1074d432c0cdbbd28d7cd1daba46a75d/pandas-2.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:b62d586eb25cb8cb70a5746a378fc3194cb7f11ea77170d59f889f5dfe3cec7a", size = 11338099, upload-time = "2025-08-21T10:26:54.382Z" }, + { url = "https://files.pythonhosted.org/packages/7a/59/f3e010879f118c2d400902d2d871c2226cef29b08c09fb8dc41111730400/pandas-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1333e9c299adcbb68ee89a9bb568fc3f20f9cbb419f1dd5225071e6cddb2a743", size = 11563308, upload-time = "2025-08-21T10:26:56.656Z" }, + { url = "https://files.pythonhosted.org/packages/38/18/48f10f1cc5c397af59571d638d211f494dba481f449c19adbd282aa8f4ca/pandas-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76972bcbd7de8e91ad5f0ca884a9f2c477a2125354af624e022c49e5bd0dfff4", size = 10820319, upload-time = "2025-08-21T10:26:59.162Z" }, + { url = "https://files.pythonhosted.org/packages/95/3b/1e9b69632898b048e223834cd9702052bcf06b15e1ae716eda3196fb972e/pandas-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b98bdd7c456a05eef7cd21fd6b29e3ca243591fe531c62be94a2cc987efb5ac2", size = 11790097, upload-time = "2025-08-21T10:27:02.204Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/0e2ffb30b1f7fbc9a588bd01e3c14a0d96854d09a887e15e30cc19961227/pandas-2.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d81573b3f7db40d020983f78721e9bfc425f411e616ef019a10ebf597aedb2e", size = 12397958, upload-time = "2025-08-21T10:27:05.409Z" }, + { url = "https://files.pythonhosted.org/packages/23/82/e6b85f0d92e9afb0e7f705a51d1399b79c7380c19687bfbf3d2837743249/pandas-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e190b738675a73b581736cc8ec71ae113d6c3768d0bd18bffa5b9a0927b0b6ea", size = 13225600, upload-time = "2025-08-21T10:27:07.791Z" }, + { url = "https://files.pythonhosted.org/packages/e8/f1/f682015893d9ed51611948bd83683670842286a8edd4f68c2c1c3b231eef/pandas-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c253828cb08f47488d60f43c5fc95114c771bbfff085da54bfc79cb4f9e3a372", size = 13879433, upload-time = "2025-08-21T10:27:10.347Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e7/ae86261695b6c8a36d6a4c8d5f9b9ede8248510d689a2f379a18354b37d7/pandas-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:9467697b8083f9667b212633ad6aa4ab32436dcbaf4cd57325debb0ddef2012f", size = 11336557, upload-time = "2025-08-21T10:27:12.983Z" }, + { url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652, upload-time = "2025-08-21T10:27:15.888Z" }, + { url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686, upload-time = "2025-08-21T10:27:18.486Z" }, + { url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722, upload-time = "2025-08-21T10:27:21.149Z" }, + { url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803, upload-time = "2025-08-21T10:27:23.767Z" }, + { url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345, upload-time = "2025-08-21T10:27:26.6Z" }, + { url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314, upload-time = "2025-08-21T10:27:29.213Z" }, + { url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326, upload-time = "2025-08-21T10:27:31.901Z" }, + { url = "https://files.pythonhosted.org/packages/27/64/a2f7bf678af502e16b472527735d168b22b7824e45a4d7e96a4fbb634b59/pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e", size = 11531061, upload-time = "2025-08-21T10:27:34.647Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/c3d21b2b7769ef2f4c2b9299fcadd601efa6729f1357a8dbce8dd949ed70/pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9", size = 10668666, upload-time = "2025-08-21T10:27:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/50/e2/f775ba76ecfb3424d7f5862620841cf0edb592e9abd2d2a5387d305fe7a8/pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a", size = 11332835, upload-time = "2025-08-21T10:27:40.188Z" }, + { url = "https://files.pythonhosted.org/packages/8f/52/0634adaace9be2d8cac9ef78f05c47f3a675882e068438b9d7ec7ef0c13f/pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b", size = 12057211, upload-time = "2025-08-21T10:27:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/0b/9d/2df913f14b2deb9c748975fdb2491da1a78773debb25abbc7cbc67c6b549/pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6", size = 12749277, upload-time = "2025-08-21T10:27:45.474Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/da1a2417026bd14d98c236dba88e39837182459d29dcfcea510b2ac9e8a1/pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a", size = 13415256, upload-time = "2025-08-21T10:27:49.885Z" }, + { url = "https://files.pythonhosted.org/packages/22/3c/f2af1ce8840ef648584a6156489636b5692c162771918aa95707c165ad2b/pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b", size = 10982579, upload-time = "2025-08-21T10:28:08.435Z" }, + { url = "https://files.pythonhosted.org/packages/f3/98/8df69c4097a6719e357dc249bf437b8efbde808038268e584421696cbddf/pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57", size = 12028163, upload-time = "2025-08-21T10:27:52.232Z" }, + { url = "https://files.pythonhosted.org/packages/0e/23/f95cbcbea319f349e10ff90db488b905c6883f03cbabd34f6b03cbc3c044/pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2", size = 11391860, upload-time = "2025-08-21T10:27:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1b/6a984e98c4abee22058aa75bfb8eb90dce58cf8d7296f8bc56c14bc330b0/pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9", size = 11309830, upload-time = "2025-08-21T10:27:56.957Z" }, + { url = "https://files.pythonhosted.org/packages/15/d5/f0486090eb18dd8710bf60afeaf638ba6817047c0c8ae5c6a25598665609/pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2", size = 11883216, upload-time = "2025-08-21T10:27:59.302Z" }, + { url = "https://files.pythonhosted.org/packages/10/86/692050c119696da19e20245bbd650d8dfca6ceb577da027c3a73c62a047e/pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012", size = 12699743, upload-time = "2025-08-21T10:28:02.447Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141, upload-time = "2025-08-21T10:28:05.377Z" }, +] + +[[package]] +name = "pandera" +version = "0.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "multimethod" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pandas", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "pydantic" }, + { name = "typeguard" }, + { name = "typing-inspect" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/59/60/d928125aca458c0dcaa07fe231c9149137ef038697eae872332a1b1136e0/pandera-0.18.0.tar.gz", hash = "sha256:97ab33d884362c0bb99668a12be2855d15c1a71f4934c588a999947b47764bc1", size = 165999, upload-time = "2023-12-08T21:11:37.019Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/2b/c01ef6aad281332f2628a4ae9c3cd8ba6fd632e547e9a645ffe18aeaa94f/pandera-0.18.0-py3-none-any.whl", hash = "sha256:fe2da835a16df5a7e49fbfb828f1eeaea9d6f4534f124630957e64fef53e7e73", size = 209007, upload-time = "2023-12-08T21:11:34.688Z" }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, +] + +[[package]] +name = "parso" +version = "0.8.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205, upload-time = "2025-08-23T15:15:28.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668, upload-time = "2025-08-23T15:15:25.663Z" }, +] + +[[package]] +name = "partd" +version = "1.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "locket" }, + { name = "toolz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/3a/3f06f34820a31257ddcabdfafc2672c5816be79c7e353b02c1f318daa7d4/partd-1.4.2.tar.gz", hash = "sha256:d022c33afbdc8405c226621b015e8067888173d85f7f5ecebb3cafed9a20f02c", size = 21029, upload-time = "2024-05-06T19:51:41.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl", hash = "sha256:978e4ac767ec4ba5b86c6eaa52e5a2a3bc748a2ca839e8cc798f1cc6ce6efb0f", size = 18905, upload-time = "2024-05-06T19:51:39.271Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "pillow" +version = "11.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069, upload-time = "2025-07-01T09:16:30.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/5d/45a3553a253ac8763f3561371432a90bdbe6000fbdcf1397ffe502aa206c/pillow-11.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1b9c17fd4ace828b3003dfd1e30bff24863e0eb59b535e8f80194d9cc7ecf860", size = 5316554, upload-time = "2025-07-01T09:13:39.342Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c8/67c12ab069ef586a25a4a79ced553586748fad100c77c0ce59bb4983ac98/pillow-11.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:65dc69160114cdd0ca0f35cb434633c75e8e7fad4cf855177a05bf38678f73ad", size = 4686548, upload-time = "2025-07-01T09:13:41.835Z" }, + { url = "https://files.pythonhosted.org/packages/2f/bd/6741ebd56263390b382ae4c5de02979af7f8bd9807346d068700dd6d5cf9/pillow-11.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7107195ddc914f656c7fc8e4a5e1c25f32e9236ea3ea860f257b0436011fddd0", size = 5859742, upload-time = "2025-07-03T13:09:47.439Z" }, + { url = "https://files.pythonhosted.org/packages/ca/0b/c412a9e27e1e6a829e6ab6c2dca52dd563efbedf4c9c6aa453d9a9b77359/pillow-11.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc3e831b563b3114baac7ec2ee86819eb03caa1a2cef0b481a5675b59c4fe23b", size = 7633087, upload-time = "2025-07-03T13:09:51.796Z" }, + { url = "https://files.pythonhosted.org/packages/59/9d/9b7076aaf30f5dd17e5e5589b2d2f5a5d7e30ff67a171eb686e4eecc2adf/pillow-11.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f182ebd2303acf8c380a54f615ec883322593320a9b00438eb842c1f37ae50", size = 5963350, upload-time = "2025-07-01T09:13:43.865Z" }, + { url = "https://files.pythonhosted.org/packages/f0/16/1a6bf01fb622fb9cf5c91683823f073f053005c849b1f52ed613afcf8dae/pillow-11.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4445fa62e15936a028672fd48c4c11a66d641d2c05726c7ec1f8ba6a572036ae", size = 6631840, upload-time = "2025-07-01T09:13:46.161Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e6/6ff7077077eb47fde78739e7d570bdcd7c10495666b6afcd23ab56b19a43/pillow-11.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:71f511f6b3b91dd543282477be45a033e4845a40278fa8dcdbfdb07109bf18f9", size = 6074005, upload-time = "2025-07-01T09:13:47.829Z" }, + { url = "https://files.pythonhosted.org/packages/c3/3a/b13f36832ea6d279a697231658199e0a03cd87ef12048016bdcc84131601/pillow-11.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:040a5b691b0713e1f6cbe222e0f4f74cd233421e105850ae3b3c0ceda520f42e", size = 6708372, upload-time = "2025-07-01T09:13:52.145Z" }, + { url = "https://files.pythonhosted.org/packages/6c/e4/61b2e1a7528740efbc70b3d581f33937e38e98ef3d50b05007267a55bcb2/pillow-11.3.0-cp310-cp310-win32.whl", hash = "sha256:89bd777bc6624fe4115e9fac3352c79ed60f3bb18651420635f26e643e3dd1f6", size = 6277090, upload-time = "2025-07-01T09:13:53.915Z" }, + { url = "https://files.pythonhosted.org/packages/a9/d3/60c781c83a785d6afbd6a326ed4d759d141de43aa7365725cbcd65ce5e54/pillow-11.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:19d2ff547c75b8e3ff46f4d9ef969a06c30ab2d4263a9e287733aa8b2429ce8f", size = 6985988, upload-time = "2025-07-01T09:13:55.699Z" }, + { url = "https://files.pythonhosted.org/packages/9f/28/4f4a0203165eefb3763939c6789ba31013a2e90adffb456610f30f613850/pillow-11.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:819931d25e57b513242859ce1876c58c59dc31587847bf74cfe06b2e0cb22d2f", size = 2422899, upload-time = "2025-07-01T09:13:57.497Z" }, + { url = "https://files.pythonhosted.org/packages/db/26/77f8ed17ca4ffd60e1dcd220a6ec6d71210ba398cfa33a13a1cd614c5613/pillow-11.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1cd110edf822773368b396281a2293aeb91c90a2db00d78ea43e7e861631b722", size = 5316531, upload-time = "2025-07-01T09:13:59.203Z" }, + { url = "https://files.pythonhosted.org/packages/cb/39/ee475903197ce709322a17a866892efb560f57900d9af2e55f86db51b0a5/pillow-11.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c412fddd1b77a75aa904615ebaa6001f169b26fd467b4be93aded278266b288", size = 4686560, upload-time = "2025-07-01T09:14:01.101Z" }, + { url = "https://files.pythonhosted.org/packages/d5/90/442068a160fd179938ba55ec8c97050a612426fae5ec0a764e345839f76d/pillow-11.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1aa4de119a0ecac0a34a9c8bde33f34022e2e8f99104e47a3ca392fd60e37d", size = 5870978, upload-time = "2025-07-03T13:09:55.638Z" }, + { url = "https://files.pythonhosted.org/packages/13/92/dcdd147ab02daf405387f0218dcf792dc6dd5b14d2573d40b4caeef01059/pillow-11.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:91da1d88226663594e3f6b4b8c3c8d85bd504117d043740a8e0ec449087cc494", size = 7641168, upload-time = "2025-07-03T13:10:00.37Z" }, + { url = "https://files.pythonhosted.org/packages/6e/db/839d6ba7fd38b51af641aa904e2960e7a5644d60ec754c046b7d2aee00e5/pillow-11.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:643f189248837533073c405ec2f0bb250ba54598cf80e8c1e043381a60632f58", size = 5973053, upload-time = "2025-07-01T09:14:04.491Z" }, + { url = "https://files.pythonhosted.org/packages/f2/2f/d7675ecae6c43e9f12aa8d58b6012683b20b6edfbdac7abcb4e6af7a3784/pillow-11.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:106064daa23a745510dabce1d84f29137a37224831d88eb4ce94bb187b1d7e5f", size = 6640273, upload-time = "2025-07-01T09:14:06.235Z" }, + { url = "https://files.pythonhosted.org/packages/45/ad/931694675ede172e15b2ff03c8144a0ddaea1d87adb72bb07655eaffb654/pillow-11.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd8ff254faf15591e724dc7c4ddb6bf4793efcbe13802a4ae3e863cd300b493e", size = 6082043, upload-time = "2025-07-01T09:14:07.978Z" }, + { url = "https://files.pythonhosted.org/packages/3a/04/ba8f2b11fc80d2dd462d7abec16351b45ec99cbbaea4387648a44190351a/pillow-11.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:932c754c2d51ad2b2271fd01c3d121daaa35e27efae2a616f77bf164bc0b3e94", size = 6715516, upload-time = "2025-07-01T09:14:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/48/59/8cd06d7f3944cc7d892e8533c56b0acb68399f640786313275faec1e3b6f/pillow-11.3.0-cp311-cp311-win32.whl", hash = "sha256:b4b8f3efc8d530a1544e5962bd6b403d5f7fe8b9e08227c6b255f98ad82b4ba0", size = 6274768, upload-time = "2025-07-01T09:14:11.921Z" }, + { url = "https://files.pythonhosted.org/packages/f1/cc/29c0f5d64ab8eae20f3232da8f8571660aa0ab4b8f1331da5c2f5f9a938e/pillow-11.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1a992e86b0dd7aeb1f053cd506508c0999d710a8f07b4c791c63843fc6a807ac", size = 6986055, upload-time = "2025-07-01T09:14:13.623Z" }, + { url = "https://files.pythonhosted.org/packages/c6/df/90bd886fabd544c25addd63e5ca6932c86f2b701d5da6c7839387a076b4a/pillow-11.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:30807c931ff7c095620fe04448e2c2fc673fcbb1ffe2a7da3fb39613489b1ddd", size = 2423079, upload-time = "2025-07-01T09:14:15.268Z" }, + { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800, upload-time = "2025-07-01T09:14:17.648Z" }, + { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296, upload-time = "2025-07-01T09:14:19.828Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726, upload-time = "2025-07-03T13:10:04.448Z" }, + { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652, upload-time = "2025-07-03T13:10:10.391Z" }, + { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787, upload-time = "2025-07-01T09:14:21.63Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236, upload-time = "2025-07-01T09:14:23.321Z" }, + { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950, upload-time = "2025-07-01T09:14:25.237Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358, upload-time = "2025-07-01T09:14:27.053Z" }, + { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079, upload-time = "2025-07-01T09:14:30.104Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324, upload-time = "2025-07-01T09:14:31.899Z" }, + { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067, upload-time = "2025-07-01T09:14:33.709Z" }, + { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328, upload-time = "2025-07-01T09:14:35.276Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652, upload-time = "2025-07-01T09:14:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443, upload-time = "2025-07-01T09:14:39.344Z" }, + { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474, upload-time = "2025-07-01T09:14:41.843Z" }, + { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038, upload-time = "2025-07-01T09:14:44.008Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407, upload-time = "2025-07-03T13:10:15.628Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094, upload-time = "2025-07-03T13:10:21.857Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503, upload-time = "2025-07-01T09:14:45.698Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574, upload-time = "2025-07-01T09:14:47.415Z" }, + { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060, upload-time = "2025-07-01T09:14:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407, upload-time = "2025-07-01T09:14:51.962Z" }, + { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841, upload-time = "2025-07-01T09:14:54.142Z" }, + { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450, upload-time = "2025-07-01T09:14:56.436Z" }, + { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055, upload-time = "2025-07-01T09:14:58.072Z" }, + { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110, upload-time = "2025-07-01T09:14:59.79Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547, upload-time = "2025-07-01T09:15:01.648Z" }, + { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554, upload-time = "2025-07-03T13:10:27.018Z" }, + { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132, upload-time = "2025-07-03T13:10:33.01Z" }, + { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001, upload-time = "2025-07-01T09:15:03.365Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814, upload-time = "2025-07-01T09:15:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124, upload-time = "2025-07-01T09:15:07.358Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186, upload-time = "2025-07-01T09:15:09.317Z" }, + { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546, upload-time = "2025-07-01T09:15:11.311Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102, upload-time = "2025-07-01T09:15:13.164Z" }, + { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803, upload-time = "2025-07-01T09:15:15.695Z" }, + { url = "https://files.pythonhosted.org/packages/73/f4/04905af42837292ed86cb1b1dabe03dce1edc008ef14c473c5c7e1443c5d/pillow-11.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d9da3df5f9ea2a89b81bb6087177fb1f4d1c7146d583a3fe5c672c0d94e55e12", size = 5278520, upload-time = "2025-07-01T09:15:17.429Z" }, + { url = "https://files.pythonhosted.org/packages/41/b0/33d79e377a336247df6348a54e6d2a2b85d644ca202555e3faa0cf811ecc/pillow-11.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0b275ff9b04df7b640c59ec5a3cb113eefd3795a8df80bac69646ef699c6981a", size = 4686116, upload-time = "2025-07-01T09:15:19.423Z" }, + { url = "https://files.pythonhosted.org/packages/49/2d/ed8bc0ab219ae8768f529597d9509d184fe8a6c4741a6864fea334d25f3f/pillow-11.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0743841cabd3dba6a83f38a92672cccbd69af56e3e91777b0ee7f4dba4385632", size = 5864597, upload-time = "2025-07-03T13:10:38.404Z" }, + { url = "https://files.pythonhosted.org/packages/b5/3d/b932bb4225c80b58dfadaca9d42d08d0b7064d2d1791b6a237f87f661834/pillow-11.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2465a69cf967b8b49ee1b96d76718cd98c4e925414ead59fdf75cf0fd07df673", size = 7638246, upload-time = "2025-07-03T13:10:44.987Z" }, + { url = "https://files.pythonhosted.org/packages/09/b5/0487044b7c096f1b48f0d7ad416472c02e0e4bf6919541b111efd3cae690/pillow-11.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41742638139424703b4d01665b807c6468e23e699e8e90cffefe291c5832b027", size = 5973336, upload-time = "2025-07-01T09:15:21.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/524f9318f6cbfcc79fbc004801ea6b607ec3f843977652fdee4857a7568b/pillow-11.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93efb0b4de7e340d99057415c749175e24c8864302369e05914682ba642e5d77", size = 6642699, upload-time = "2025-07-01T09:15:23.186Z" }, + { url = "https://files.pythonhosted.org/packages/6f/d2/a9a4f280c6aefedce1e8f615baaa5474e0701d86dd6f1dede66726462bbd/pillow-11.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7966e38dcd0fa11ca390aed7c6f20454443581d758242023cf36fcb319b1a874", size = 6083789, upload-time = "2025-07-01T09:15:25.1Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/86b0cd9dbb683a9d5e960b66c7379e821a19be4ac5810e2e5a715c09a0c0/pillow-11.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:98a9afa7b9007c67ed84c57c9e0ad86a6000da96eaa638e4f8abe5b65ff83f0a", size = 6720386, upload-time = "2025-07-01T09:15:27.378Z" }, + { url = "https://files.pythonhosted.org/packages/e7/95/88efcaf384c3588e24259c4203b909cbe3e3c2d887af9e938c2022c9dd48/pillow-11.3.0-cp314-cp314-win32.whl", hash = "sha256:02a723e6bf909e7cea0dac1b0e0310be9d7650cd66222a5f1c571455c0a45214", size = 6370911, upload-time = "2025-07-01T09:15:29.294Z" }, + { url = "https://files.pythonhosted.org/packages/2e/cc/934e5820850ec5eb107e7b1a72dd278140731c669f396110ebc326f2a503/pillow-11.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a418486160228f64dd9e9efcd132679b7a02a5f22c982c78b6fc7dab3fefb635", size = 7117383, upload-time = "2025-07-01T09:15:31.128Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e9/9c0a616a71da2a5d163aa37405e8aced9a906d574b4a214bede134e731bc/pillow-11.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:155658efb5e044669c08896c0c44231c5e9abcaadbc5cd3648df2f7c0b96b9a6", size = 2511385, upload-time = "2025-07-01T09:15:33.328Z" }, + { url = "https://files.pythonhosted.org/packages/1a/33/c88376898aff369658b225262cd4f2659b13e8178e7534df9e6e1fa289f6/pillow-11.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:59a03cdf019efbfeeed910bf79c7c93255c3d54bc45898ac2a4140071b02b4ae", size = 5281129, upload-time = "2025-07-01T09:15:35.194Z" }, + { url = "https://files.pythonhosted.org/packages/1f/70/d376247fb36f1844b42910911c83a02d5544ebd2a8bad9efcc0f707ea774/pillow-11.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f8a5827f84d973d8636e9dc5764af4f0cf2318d26744b3d902931701b0d46653", size = 4689580, upload-time = "2025-07-01T09:15:37.114Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1c/537e930496149fbac69efd2fc4329035bbe2e5475b4165439e3be9cb183b/pillow-11.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ee92f2fd10f4adc4b43d07ec5e779932b4eb3dbfbc34790ada5a6669bc095aa6", size = 5902860, upload-time = "2025-07-03T13:10:50.248Z" }, + { url = "https://files.pythonhosted.org/packages/bd/57/80f53264954dcefeebcf9dae6e3eb1daea1b488f0be8b8fef12f79a3eb10/pillow-11.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c96d333dcf42d01f47b37e0979b6bd73ec91eae18614864622d9b87bbd5bbf36", size = 7670694, upload-time = "2025-07-03T13:10:56.432Z" }, + { url = "https://files.pythonhosted.org/packages/70/ff/4727d3b71a8578b4587d9c276e90efad2d6fe0335fd76742a6da08132e8c/pillow-11.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c96f993ab8c98460cd0c001447bff6194403e8b1d7e149ade5f00594918128b", size = 6005888, upload-time = "2025-07-01T09:15:39.436Z" }, + { url = "https://files.pythonhosted.org/packages/05/ae/716592277934f85d3be51d7256f3636672d7b1abfafdc42cf3f8cbd4b4c8/pillow-11.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41342b64afeba938edb034d122b2dda5db2139b9a4af999729ba8818e0056477", size = 6670330, upload-time = "2025-07-01T09:15:41.269Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7fe6cddcc8827b01b1a9766f5fdeb7418680744f9082035bdbabecf1d57f/pillow-11.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:068d9c39a2d1b358eb9f245ce7ab1b5c3246c7c8c7d9ba58cfa5b43146c06e50", size = 6114089, upload-time = "2025-07-01T09:15:43.13Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f5/06bfaa444c8e80f1a8e4bff98da9c83b37b5be3b1deaa43d27a0db37ef84/pillow-11.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a1bc6ba083b145187f648b667e05a2534ecc4b9f2784c2cbe3089e44868f2b9b", size = 6748206, upload-time = "2025-07-01T09:15:44.937Z" }, + { url = "https://files.pythonhosted.org/packages/f0/77/bc6f92a3e8e6e46c0ca78abfffec0037845800ea38c73483760362804c41/pillow-11.3.0-cp314-cp314t-win32.whl", hash = "sha256:118ca10c0d60b06d006be10a501fd6bbdfef559251ed31b794668ed569c87e12", size = 6377370, upload-time = "2025-07-01T09:15:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/4a/82/3a721f7d69dca802befb8af08b7c79ebcab461007ce1c18bd91a5d5896f9/pillow-11.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:8924748b688aa210d79883357d102cd64690e56b923a186f35a82cbc10f997db", size = 7121500, upload-time = "2025-07-01T09:15:48.512Z" }, + { url = "https://files.pythonhosted.org/packages/89/c7/5572fa4a3f45740eaab6ae86fcdf7195b55beac1371ac8c619d880cfe948/pillow-11.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:79ea0d14d3ebad43ec77ad5272e6ff9bba5b679ef73375ea760261207fa8e0aa", size = 2512835, upload-time = "2025-07-01T09:15:50.399Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8b/209bd6b62ce8367f47e68a218bffac88888fdf2c9fcf1ecadc6c3ec1ebc7/pillow-11.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3cee80663f29e3843b68199b9d6f4f54bd1d4a6b59bdd91bceefc51238bcb967", size = 5270556, upload-time = "2025-07-01T09:16:09.961Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/231a0b76070c2cfd9e260a7a5b504fb72da0a95279410fa7afd99d9751d6/pillow-11.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b5f56c3f344f2ccaf0dd875d3e180f631dc60a51b314295a3e681fe8cf851fbe", size = 4654625, upload-time = "2025-07-01T09:16:11.913Z" }, + { url = "https://files.pythonhosted.org/packages/13/f4/10cf94fda33cb12765f2397fc285fa6d8eb9c29de7f3185165b702fc7386/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e67d793d180c9df62f1f40aee3accca4829d3794c95098887edc18af4b8b780c", size = 4874207, upload-time = "2025-07-03T13:11:10.201Z" }, + { url = "https://files.pythonhosted.org/packages/72/c9/583821097dc691880c92892e8e2d41fe0a5a3d6021f4963371d2f6d57250/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d000f46e2917c705e9fb93a3606ee4a819d1e3aa7a9b442f6444f07e77cf5e25", size = 6583939, upload-time = "2025-07-03T13:11:15.68Z" }, + { url = "https://files.pythonhosted.org/packages/3b/8e/5c9d410f9217b12320efc7c413e72693f48468979a013ad17fd690397b9a/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:527b37216b6ac3a12d7838dc3bd75208ec57c1c6d11ef01902266a5a0c14fc27", size = 4957166, upload-time = "2025-07-01T09:16:13.74Z" }, + { url = "https://files.pythonhosted.org/packages/62/bb/78347dbe13219991877ffb3a91bf09da8317fbfcd4b5f9140aeae020ad71/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be5463ac478b623b9dd3937afd7fb7ab3d79dd290a28e2b6df292dc75063eb8a", size = 5581482, upload-time = "2025-07-01T09:16:16.107Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/1000353d5e61498aaeaaf7f1e4b49ddb05f2c6575f9d4f9f914a3538b6e1/pillow-11.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8dc70ca24c110503e16918a658b869019126ecfe03109b754c402daff12b3d9f", size = 6984596, upload-time = "2025-07-01T09:16:18.07Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e3/6fa84033758276fb31da12e5fb66ad747ae83b93c67af17f8c6ff4cc8f34/pillow-11.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c8ec7a017ad1bd562f93dbd8505763e688d388cde6e4a010ae1486916e713e6", size = 5270566, upload-time = "2025-07-01T09:16:19.801Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ee/e8d2e1ab4892970b561e1ba96cbd59c0d28cf66737fc44abb2aec3795a4e/pillow-11.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9ab6ae226de48019caa8074894544af5b53a117ccb9d3b3dcb2871464c829438", size = 4654618, upload-time = "2025-07-01T09:16:21.818Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6d/17f80f4e1f0761f02160fc433abd4109fa1548dcfdca46cfdadaf9efa565/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fe27fb049cdcca11f11a7bfda64043c37b30e6b91f10cb5bab275806c32f6ab3", size = 4874248, upload-time = "2025-07-03T13:11:20.738Z" }, + { url = "https://files.pythonhosted.org/packages/de/5f/c22340acd61cef960130585bbe2120e2fd8434c214802f07e8c03596b17e/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:465b9e8844e3c3519a983d58b80be3f668e2a7a5db97f2784e7079fbc9f9822c", size = 6583963, upload-time = "2025-07-03T13:11:26.283Z" }, + { url = "https://files.pythonhosted.org/packages/31/5e/03966aedfbfcbb4d5f8aa042452d3361f325b963ebbadddac05b122e47dd/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5418b53c0d59b3824d05e029669efa023bbef0f3e92e75ec8428f3799487f361", size = 4957170, upload-time = "2025-07-01T09:16:23.762Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2d/e082982aacc927fc2cab48e1e731bdb1643a1406acace8bed0900a61464e/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:504b6f59505f08ae014f724b6207ff6222662aab5cc9542577fb084ed0676ac7", size = 5581505, upload-time = "2025-07-01T09:16:25.593Z" }, + { url = "https://files.pythonhosted.org/packages/34/e7/ae39f538fd6844e982063c3a5e4598b8ced43b9633baa3a85ef33af8c05c/pillow-11.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c84d689db21a1c397d001aa08241044aa2069e7587b398c8cc63020390b1c1b8", size = 6984598, upload-time = "2025-07-01T09:16:27.732Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.23.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/53/3edb5d68ecf6b38fcbcc1ad28391117d2a322d9a1a3eff04bfdb184d8c3b/prometheus_client-0.23.1.tar.gz", hash = "sha256:6ae8f9081eaaaf153a2e959d2e6c4f4fb57b12ef76c8c7980202f1e57b48b2ce", size = 80481, upload-time = "2025-09-18T20:47:25.043Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/db/14bafcb4af2139e046d03fd00dea7873e48eafe18b7d2797e73d6681f210/prometheus_client-0.23.1-py3-none-any.whl", hash = "sha256:dd1913e6e76b59cfe44e7a4b83e01afc9873c1bdfd2ed8739f1e76aeca115f99", size = 61145, upload-time = "2025-09-18T20:47:23.875Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + +[[package]] +name = "psutil" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/31/4723d756b59344b643542936e37a31d1d3204bcdc42a7daa8ee9eb06fb50/psutil-7.1.0.tar.gz", hash = "sha256:655708b3c069387c8b77b072fc429a57d0e214221d01c0a772df7dfedcb3bcd2", size = 497660, upload-time = "2025-09-17T20:14:52.902Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/62/ce4051019ee20ce0ed74432dd73a5bb087a6704284a470bb8adff69a0932/psutil-7.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76168cef4397494250e9f4e73eb3752b146de1dd950040b29186d0cce1d5ca13", size = 245242, upload-time = "2025-09-17T20:14:56.126Z" }, + { url = "https://files.pythonhosted.org/packages/38/61/f76959fba841bf5b61123fbf4b650886dc4094c6858008b5bf73d9057216/psutil-7.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:5d007560c8c372efdff9e4579c2846d71de737e4605f611437255e81efcca2c5", size = 246682, upload-time = "2025-09-17T20:14:58.25Z" }, + { url = "https://files.pythonhosted.org/packages/88/7a/37c99d2e77ec30d63398ffa6a660450b8a62517cabe44b3e9bae97696e8d/psutil-7.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e4454970b32472ce7deaa45d045b34d3648ce478e26a04c7e858a0a6e75ff3", size = 287994, upload-time = "2025-09-17T20:14:59.901Z" }, + { url = "https://files.pythonhosted.org/packages/9d/de/04c8c61232f7244aa0a4b9a9fbd63a89d5aeaf94b2fc9d1d16e2faa5cbb0/psutil-7.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70e113920d51e89f212dd7be06219a9b88014e63a4cec69b684c327bc474e3", size = 291163, upload-time = "2025-09-17T20:15:01.481Z" }, + { url = "https://files.pythonhosted.org/packages/f4/58/c4f976234bf6d4737bc8c02a81192f045c307b72cf39c9e5c5a2d78927f6/psutil-7.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d4a113425c037300de3ac8b331637293da9be9713855c4fc9d2d97436d7259d", size = 293625, upload-time = "2025-09-17T20:15:04.492Z" }, + { url = "https://files.pythonhosted.org/packages/79/87/157c8e7959ec39ced1b11cc93c730c4fb7f9d408569a6c59dbd92ceb35db/psutil-7.1.0-cp37-abi3-win32.whl", hash = "sha256:09ad740870c8d219ed8daae0ad3b726d3bf9a028a198e7f3080f6a1888b99bca", size = 244812, upload-time = "2025-09-17T20:15:07.462Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e9/b44c4f697276a7a95b8e94d0e320a7bf7f3318521b23de69035540b39838/psutil-7.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:57f5e987c36d3146c0dd2528cd42151cf96cd359b9d67cfff836995cc5df9a3d", size = 247965, upload-time = "2025-09-17T20:15:09.673Z" }, + { url = "https://files.pythonhosted.org/packages/26/65/1070a6e3c036f39142c2820c4b52e9243246fcfc3f96239ac84472ba361e/psutil-7.1.0-cp37-abi3-win_arm64.whl", hash = "sha256:6937cb68133e7c97b6cc9649a570c9a18ba0efebed46d8c5dae4c07fa1b67a07", size = 244971, upload-time = "2025-09-17T20:15:12.262Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "py-cpuinfo" +version = "9.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716, upload-time = "2022-10-25T20:38:06.303Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335, upload-time = "2022-10-25T20:38:27.636Z" }, +] + +[[package]] +name = "pyarrow" +version = "21.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487, upload-time = "2025-07-18T00:57:31.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/d9/110de31880016e2afc52d8580b397dbe47615defbf09ca8cf55f56c62165/pyarrow-21.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e563271e2c5ff4d4a4cbeb2c83d5cf0d4938b891518e676025f7268c6fe5fe26", size = 31196837, upload-time = "2025-07-18T00:54:34.755Z" }, + { url = "https://files.pythonhosted.org/packages/df/5f/c1c1997613abf24fceb087e79432d24c19bc6f7259cab57c2c8e5e545fab/pyarrow-21.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:fee33b0ca46f4c85443d6c450357101e47d53e6c3f008d658c27a2d020d44c79", size = 32659470, upload-time = "2025-07-18T00:54:38.329Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ed/b1589a777816ee33ba123ba1e4f8f02243a844fed0deec97bde9fb21a5cf/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:7be45519b830f7c24b21d630a31d48bcebfd5d4d7f9d3bdb49da9cdf6d764edb", size = 41055619, upload-time = "2025-07-18T00:54:42.172Z" }, + { url = "https://files.pythonhosted.org/packages/44/28/b6672962639e85dc0ac36f71ab3a8f5f38e01b51343d7aa372a6b56fa3f3/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:26bfd95f6bff443ceae63c65dc7e048670b7e98bc892210acba7e4995d3d4b51", size = 42733488, upload-time = "2025-07-18T00:54:47.132Z" }, + { url = "https://files.pythonhosted.org/packages/f8/cc/de02c3614874b9089c94eac093f90ca5dfa6d5afe45de3ba847fd950fdf1/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bd04ec08f7f8bd113c55868bd3fc442a9db67c27af098c5f814a3091e71cc61a", size = 43329159, upload-time = "2025-07-18T00:54:51.686Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3e/99473332ac40278f196e105ce30b79ab8affab12f6194802f2593d6b0be2/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9b0b14b49ac10654332a805aedfc0147fb3469cbf8ea951b3d040dab12372594", size = 45050567, upload-time = "2025-07-18T00:54:56.679Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/c372ef60593d713e8bfbb7e0c743501605f0ad00719146dc075faf11172b/pyarrow-21.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9d9f8bcb4c3be7738add259738abdeddc363de1b80e3310e04067aa1ca596634", size = 26217959, upload-time = "2025-07-18T00:55:00.482Z" }, + { url = "https://files.pythonhosted.org/packages/94/dc/80564a3071a57c20b7c32575e4a0120e8a330ef487c319b122942d665960/pyarrow-21.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b", size = 31243234, upload-time = "2025-07-18T00:55:03.812Z" }, + { url = "https://files.pythonhosted.org/packages/ea/cc/3b51cb2db26fe535d14f74cab4c79b191ed9a8cd4cbba45e2379b5ca2746/pyarrow-21.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10", size = 32714370, upload-time = "2025-07-18T00:55:07.495Z" }, + { url = "https://files.pythonhosted.org/packages/24/11/a4431f36d5ad7d83b87146f515c063e4d07ef0b7240876ddb885e6b44f2e/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e", size = 41135424, upload-time = "2025-07-18T00:55:11.461Z" }, + { url = "https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569", size = 42823810, upload-time = "2025-07-18T00:55:16.301Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3b/89fced102448a9e3e0d4dded1f37fa3ce4700f02cdb8665457fcc8015f5b/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e", size = 43391538, upload-time = "2025-07-18T00:55:23.82Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/ea7f1bd08978d39debd3b23611c293f64a642557e8141c80635d501e6d53/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c", size = 45120056, upload-time = "2025-07-18T00:55:28.231Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0b/77ea0600009842b30ceebc3337639a7380cd946061b620ac1a2f3cb541e2/pyarrow-21.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6", size = 26220568, upload-time = "2025-07-18T00:55:32.122Z" }, + { url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305, upload-time = "2025-07-18T00:55:35.373Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264, upload-time = "2025-07-18T00:55:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099, upload-time = "2025-07-18T00:55:42.889Z" }, + { url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529, upload-time = "2025-07-18T00:55:47.069Z" }, + { url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883, upload-time = "2025-07-18T00:55:53.069Z" }, + { url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802, upload-time = "2025-07-18T00:55:57.714Z" }, + { url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175, upload-time = "2025-07-18T00:56:01.364Z" }, + { url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306, upload-time = "2025-07-18T00:56:04.42Z" }, + { url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622, upload-time = "2025-07-18T00:56:07.505Z" }, + { url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094, upload-time = "2025-07-18T00:56:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576, upload-time = "2025-07-18T00:56:15.569Z" }, + { url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342, upload-time = "2025-07-18T00:56:19.531Z" }, + { url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218, upload-time = "2025-07-18T00:56:23.347Z" }, + { url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551, upload-time = "2025-07-18T00:56:26.758Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064, upload-time = "2025-07-18T00:56:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837, upload-time = "2025-07-18T00:56:33.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158, upload-time = "2025-07-18T00:56:37.528Z" }, + { url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885, upload-time = "2025-07-18T00:56:41.483Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625, upload-time = "2025-07-18T00:56:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890, upload-time = "2025-07-18T00:56:52.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006, upload-time = "2025-07-18T00:56:56.379Z" }, +] + +[[package]] +name = "pybtex" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "latexcodec" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5f/bc/c2be05ca72f8c103670e983df8be26d1e288bc6556f487fa8cccaa27779f/pybtex-0.25.1.tar.gz", hash = "sha256:9eaf90267c7e83e225af89fea65c370afbf65f458220d3946a9e3049e1eca491", size = 406157, upload-time = "2025-06-26T13:27:41.903Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/68/ceb5d6679baa326261f5d3e5113d9cfed6efef2810afd9f18bffb8ed312b/pybtex-0.25.1-py2.py3-none-any.whl", hash = "sha256:9053b0d619409a0a83f38abad5d9921de5f7b3ede00742beafcd9f10ad0d8c5c", size = 127437, upload-time = "2025-06-26T13:27:43.585Z" }, +] + +[[package]] +name = "pybtex-docutils" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docutils" }, + { name = "pybtex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7e/84/796ea94d26188a853660f81bded39f8de4cfe595130aef0dea1088705a11/pybtex-docutils-1.0.3.tar.gz", hash = "sha256:3a7ebdf92b593e00e8c1c538aa9a20bca5d92d84231124715acc964d51d93c6b", size = 18348, upload-time = "2023-08-22T18:47:54.833Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/b1/ce1f4596211efb5410e178a803f08e59b20bedb66837dcf41e21c54f9ec1/pybtex_docutils-1.0.3-py3-none-any.whl", hash = "sha256:8fd290d2ae48e32fcb54d86b0efb8d573198653c7e2447d5bec5847095f430b9", size = 6385, upload-time = "2023-08-22T06:43:20.513Z" }, +] + +[[package]] +name = "pycodestyle" +version = "2.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/e0/abfd2a0d2efe47670df87f3e3a0e2edda42f055053c85361f19c0e2c1ca8/pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783", size = 39472, upload-time = "2025-06-20T18:49:48.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/27/a58ddaf8c588a3ef080db9d0b7e0b97215cee3a45df74f3a94dbbf5c893a/pycodestyle-2.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d", size = 31594, upload-time = "2025-06-20T18:49:47.491Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/5d/09a551ba512d7ca404d785072700d3f6727a02f6f3c24ecfd081c7cf0aa8/pydantic-2.11.9.tar.gz", hash = "sha256:6b8ffda597a14812a7975c90b82a8a2e777d9257aba3453f973acd3c032a18e2", size = 788495, upload-time = "2025-09-13T11:26:39.325Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/d3/108f2006987c58e76691d5ae5d200dd3e0f532cb4e5fa3560751c3a1feba/pydantic-2.11.9-py3-none-any.whl", hash = "sha256:c42dd626f5cfc1c6950ce6205ea58c93efa406da65f479dcb4029d5934857da2", size = 444855, upload-time = "2025-09-13T11:26:36.909Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, + { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, + { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, + { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, + { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, + { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, + { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, + { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" }, +] + +[[package]] +name = "pydata-sphinx-theme" +version = "0.16.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "accessible-pygments" }, + { name = "babel" }, + { name = "beautifulsoup4" }, + { name = "docutils" }, + { name = "pygments" }, + { name = "sphinx" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/20/bb50f9de3a6de69e6abd6b087b52fa2418a0418b19597601605f855ad044/pydata_sphinx_theme-0.16.1.tar.gz", hash = "sha256:a08b7f0b7f70387219dc659bff0893a7554d5eb39b59d3b8ef37b8401b7642d7", size = 2412693, upload-time = "2024-12-17T10:53:39.537Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/0d/8ba33fa83a7dcde13eb3c1c2a0c1cc29950a048bfed6d9b0d8b6bd710b4c/pydata_sphinx_theme-0.16.1-py3-none-any.whl", hash = "sha256:225331e8ac4b32682c18fcac5a57a6f717c4e632cea5dd0e247b55155faeccde", size = 6723264, upload-time = "2024-12-17T10:53:35.645Z" }, +] + +[[package]] +name = "pydot" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyparsing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/35/b17cb89ff865484c6a20ef46bf9d95a5f07328292578de0b295f4a6beec2/pydot-4.0.1.tar.gz", hash = "sha256:c2148f681c4a33e08bf0e26a9e5f8e4099a82e0e2a068098f32ce86577364ad5", size = 162594, upload-time = "2025-06-17T20:09:56.454Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/32/a7125fb28c4261a627f999d5fb4afff25b523800faed2c30979949d6facd/pydot-4.0.1-py3-none-any.whl", hash = "sha256:869c0efadd2708c0be1f916eb669f3d664ca684bc57ffb7ecc08e70d5e93fee6", size = 37087, upload-time = "2025-06-17T20:09:55.25Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pyinstrument" +version = "4.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/f8/1feae9239316e073dcdc53e6d1ffbd3d02bb2e0d3a755bc61439a6264221/pyinstrument-4.4.0.tar.gz", hash = "sha256:be34a2e8118c14a616a64538e02430d9099d5d67d8a370f2888e4ac71e52bbb7", size = 378935, upload-time = "2022-11-05T12:01:56.458Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/d3/ced421d0866d166102362e8bb6e90f4480aabfd0c0d7a482da8edad6546e/pyinstrument-4.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8874f8f58cfcb1ff134dc8e4a2b31ab9175adb271a4423596ed7ac8183592cf8", size = 108152, upload-time = "2022-11-05T12:00:53.752Z" }, + { url = "https://files.pythonhosted.org/packages/31/08/ea1bda3053d85401ef12c1e2087b7aa99b1a39f841de366f5b9d751d24d5/pyinstrument-4.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e5f4d6e1c395f259f67a923a9c54dc3eaccd5f02540598da4f865c4bb3545762", size = 102430, upload-time = "2022-11-05T12:00:55.595Z" }, + { url = "https://files.pythonhosted.org/packages/56/76/427a1d2f68371cba5702188d1ec1c1229186f53c794e42df55664373b490/pyinstrument-4.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d70fed48ddd0078e287fb580daaeede4d8703a9edc8bf4f703308a77920bac37", size = 122551, upload-time = "2022-11-05T12:00:57.1Z" }, + { url = "https://files.pythonhosted.org/packages/d5/9c/8f99f5a01a8cc226bd6feb6360c069f60b323adf4bea4389b185a0c99c51/pyinstrument-4.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9fda1bd596e81ecd2b6a976eb9b930a757a5dd04071583d0141d059e34eed83f", size = 121508, upload-time = "2022-11-05T12:00:58.178Z" }, + { url = "https://files.pythonhosted.org/packages/29/1e/23b335b6f7b9d10f888a094cf0eee0150d1c539aeae633aaaa25173ae1ce/pyinstrument-4.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f57b61d39d3b1a4d773da16baa8456aa66102d6016ce1f39817051550cbe47e", size = 122467, upload-time = "2022-11-05T12:00:59.595Z" }, + { url = "https://files.pythonhosted.org/packages/69/7a/6ad038e8c6d1edb8e8a64cea485ea63b6d21eddfdd36180d8e556d3d55c5/pyinstrument-4.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5a9aead0ca5579473f66fed4c449c693feee464802b5ba9b98772e64e02c575c", size = 125512, upload-time = "2022-11-05T12:01:00.767Z" }, + { url = "https://files.pythonhosted.org/packages/93/93/48c2a4de0f5e67a7cb8bf05725738d9d2b195042b75a37039043052c112d/pyinstrument-4.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:375a340c3fbebd922a35b0834de1c82d1b4fea681df49f99729439a6cb5e6ad4", size = 125004, upload-time = "2022-11-05T12:01:02.001Z" }, + { url = "https://files.pythonhosted.org/packages/e1/e7/78c720919079e3c48602338ed57597eb9c9ade7584ce7ed8ce6b6295165f/pyinstrument-4.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b9cbaf3bcda5ad9af4c9a7bf4f1b8f15bb32c4cadf554d0a2c723892c898021b", size = 125797, upload-time = "2022-11-05T12:01:03.115Z" }, + { url = "https://files.pythonhosted.org/packages/66/0f/e5e11f7fbab3d81def6b9c724397485ea42a2fa5bdcec2b6f7825cb2a729/pyinstrument-4.4.0-cp310-cp310-win32.whl", hash = "sha256:97cbeb5f5a048dc6eb047495f73db90c9e2ec97606e65298c7ea2c61fa52de38", size = 104858, upload-time = "2022-11-05T12:01:04.256Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c3/d9f827c52654dddc1c0decb7682f4235fc630e5432c68801d896d9e1990b/pyinstrument-4.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:73edbce7fda1b3d8cab0b6c39c43b012167d783c072f40928600c3357d1a5dc5", size = 105541, upload-time = "2022-11-05T12:01:05.614Z" }, + { url = "https://files.pythonhosted.org/packages/b8/ab/08377516c87f9dec3c267d2a3fc72e7c62c359a96e2f6a10a1cc77e6f115/pyinstrument-4.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7db8cb55182883be48520eb915bd1769f176a4813ce0cc38243aa2d1182e7ce7", size = 107706, upload-time = "2022-11-05T12:01:06.736Z" }, + { url = "https://files.pythonhosted.org/packages/4d/2c/24cd88e9a4b5eec92c349012620018b48feafcce765d2398ce862dd5a80e/pyinstrument-4.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c614e2c241fb558a25973019ff43ce027ba4958bcb87383f0b0789af9c4d03b", size = 102190, upload-time = "2022-11-05T12:01:07.857Z" }, + { url = "https://files.pythonhosted.org/packages/a6/68/4a8c9c5fb48d2b4103f7ef99195802ba4060c91224a18f3ebc4aff77c3b9/pyinstrument-4.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c012422c851f0457c3cb82d8b1259d96fa0dcddc0f1e8bf4d97f0b2efe54485", size = 120853, upload-time = "2022-11-05T12:01:08.932Z" }, + { url = "https://files.pythonhosted.org/packages/30/5e/56810f719f9c59e6374b7947191a9fe5b8c6f43426e07829a81887d04419/pyinstrument-4.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4f5ad100710dda68f9f345961780bf4f0cbb9fd3e46295d099bb9ad65b179ea", size = 119525, upload-time = "2022-11-05T12:01:10.045Z" }, + { url = "https://files.pythonhosted.org/packages/2c/d3/e4711e0b1d72635c23beaff4e0113fa7339fb648af3f086351f9ff3e120c/pyinstrument-4.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a4a053cd67102c6fcc313366ea6be97cfce7eae2b9e57e62c9be8adbbdebc17", size = 120470, upload-time = "2022-11-05T12:01:11.151Z" }, + { url = "https://files.pythonhosted.org/packages/f8/80/f320df4a42ba8f9bf1ec9f0f00262d3bc4837f9e724b33bab379a2eb34cb/pyinstrument-4.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1d2a1e53615c8ef210286e4d2d93be0d3e8296995b090df29a0b7ddeae5d874b", size = 124780, upload-time = "2022-11-05T12:01:12.925Z" }, + { url = "https://files.pythonhosted.org/packages/af/50/679c7bbd288aa2f143b0dbde8f3406ff4d688d62baa434de1f4a38503a46/pyinstrument-4.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b2a6609ef74ad8ba292a11fbd975660bc86466c7eaab1ff11360d24e0300800b", size = 124518, upload-time = "2022-11-05T12:01:14.054Z" }, + { url = "https://files.pythonhosted.org/packages/13/8c/513c431ec5dffccda87d66b778ac37c6607385124a10d6a7ccfcfa6099e9/pyinstrument-4.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3643084ee8ad22d9ea2adb13d65d4b6e18810113e4176b19d026a011957f8c7c", size = 124836, upload-time = "2022-11-05T12:01:15.155Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b7/63643b7ef6a42a8dedcc3542bafbf0020614a85b42c15feff25d86ce5615/pyinstrument-4.4.0-cp311-cp311-win32.whl", hash = "sha256:fcd717910a8ab6deca353aded890403bbaea14a6dd99a87c3367f24721d2d6aa", size = 104777, upload-time = "2022-11-05T12:01:16.352Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a8/6c5772d2a4d50d4591fa09b58bb1074ef9c3b6033641e3e6752bb466d5fa/pyinstrument-4.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:be9ac54a4dd07d969d5941e4dcba67d5aef5f6826f43b9ddda65553816f6abca", size = 105393, upload-time = "2022-11-05T12:01:17.434Z" }, +] + +[[package]] +name = "pympler" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywin32", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/37/c384631908029676d8e7213dd956bb686af303a80db7afbc9be36bc49495/pympler-1.1.tar.gz", hash = "sha256:1eaa867cb8992c218430f1708fdaccda53df064144d1c5656b1e6f1ee6000424", size = 179954, upload-time = "2024-06-28T19:56:06.563Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/4f/a6a2e2b202d7fd97eadfe90979845b8706676b41cbd3b42ba75adf329d1f/Pympler-1.1-py3-none-any.whl", hash = "sha256:5b223d6027d0619584116a0cbc28e8d2e378f7a79c1e5e024f9ff3b673c58506", size = 165766, upload-time = "2024-06-28T19:56:05.087Z" }, +] + +[[package]] +name = "pyogrio" +version = "0.11.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "numpy" }, + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bf/1d/ae0340237207664e2da1b77f2cdbcb5f81fd0fc9f3200a48ca993a5e12ef/pyogrio-0.11.1.tar.gz", hash = "sha256:e1441dc9c866f10d8e6ae7ea9249a10c1f57ea921b1f19a5b0977ab91ef8082c", size = 287267, upload-time = "2025-08-02T20:19:20.167Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/37/c4d114514dd5508356f67601320cdcb8743800a8bdd1f3fe6bfa4021a2f0/pyogrio-0.11.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:838ead7df8388d938ce848354e384ae5aa46fe7c5f74f9da2d58f064bda053f7", size = 19455667, upload-time = "2025-08-02T20:18:02.931Z" }, + { url = "https://files.pythonhosted.org/packages/a4/d8/929745fb3dc0f00ff8d0202f69cfe8c2f42b9b99b1ded601a17a71904463/pyogrio-0.11.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:6f51aa9fc3632e6dcb3dd5562b4a56a3a31850c3f630aef3587d5889a1f65275", size = 20642769, upload-time = "2025-08-02T20:18:05.413Z" }, + { url = "https://files.pythonhosted.org/packages/c5/9b/c2b51051be2152c7dd278ead47b5221912090c5802eadc7966c6005704b0/pyogrio-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4982107653ce30de395678b50a1ee00299a4cfcb41043778f1b66c5911b8adbe", size = 26845241, upload-time = "2025-08-02T20:18:07.841Z" }, + { url = "https://files.pythonhosted.org/packages/7d/7c/cea8b75f409670ed2526dbf0cf74fd5efd2f7536ada6459646371989187b/pyogrio-0.11.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:7b20ffbf72013d464012d8f0f69322459a6528bef08c85f85b8a42b056f730b0", size = 26376340, upload-time = "2025-08-02T20:18:10.402Z" }, + { url = "https://files.pythonhosted.org/packages/15/87/7a180f3fadb9a388312e789feee023cd20d1d589724ef093ebee4d784b9a/pyogrio-0.11.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:5b8d60ead740b366cdc2f3b076d21349e5a5d4b9a0e6726922c5a031206b93b2", size = 27519685, upload-time = "2025-08-02T20:18:13.159Z" }, + { url = "https://files.pythonhosted.org/packages/f5/15/fb6ed944f76aff08a98618f1ff184ad4dc3eb026b4a74d7e5cc01125be43/pyogrio-0.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:1948027b2809f2248f69b069ab9833d56b53658f182a3b418d12d3d3eb9959d7", size = 19224975, upload-time = "2025-08-02T20:18:15.844Z" }, + { url = "https://files.pythonhosted.org/packages/d0/81/50441f029609bcb883ee2738bdee3f81a998a11e4052b6ad0ef0ae4c0ae5/pyogrio-0.11.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d36162ddc1a309bb941a3cfb550b8f88c862c67ef2f52df6460100e5e958bbc6", size = 19459279, upload-time = "2025-08-02T20:18:18.955Z" }, + { url = "https://files.pythonhosted.org/packages/0d/4a/a3a2fae13e42ee98574b18591ddb66bca88bc1fa812c017437b42c85569f/pyogrio-0.11.1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:845c78d5e7c9ec1c7d00250c07e144e5fe504fdb4ccdc141d9413f85b8c55c91", size = 20646364, upload-time = "2025-08-02T20:18:21.171Z" }, + { url = "https://files.pythonhosted.org/packages/7d/f2/1dd5795f8cccf8f97d5ac7f28fee31fc1afc5f6bce9fab2ac4486ed3af44/pyogrio-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50aa869509f189fa1bff4d90d2d4c7860b963e693af85f2957646306e882b631", size = 26999659, upload-time = "2025-08-02T20:18:25.482Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ef/4f8d61afb6798edde8bd6d2721032e868ff78a25395d9512f7e5e50b23c4/pyogrio-0.11.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dd0f44dd2d849d32aea3f73647c74083996917e446479645bf93de6656160f2d", size = 26523036, upload-time = "2025-08-02T20:18:28.761Z" }, + { url = "https://files.pythonhosted.org/packages/e7/99/81d9a441ac7709407750f359813889b9a3f6076999cb9ae8893d5ba7c707/pyogrio-0.11.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:36b910d4037694b2935b5b1c1eb757dcc2906dca05cb2992cbdaf1291b54ff97", size = 27678041, upload-time = "2025-08-02T20:18:31.103Z" }, + { url = "https://files.pythonhosted.org/packages/74/4e/a5d00c30e5ca3f4133a425fe41531b219139ad4451ea8edc3520f221f9dd/pyogrio-0.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:cb744097f302f19dcc5c93ee5e9cfd707b864c9a418e399f0908406a60003728", size = 19226619, upload-time = "2025-08-02T20:18:34.261Z" }, + { url = "https://files.pythonhosted.org/packages/72/d3/2ba967ca4255cdfa130a6d8b437826488567b4bc1bb417c442bb43d62611/pyogrio-0.11.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f186456ebe5d5f61e7bd883bad25a59d43d6304178d4f0d3e03273f42b40a4cc", size = 19450110, upload-time = "2025-08-02T20:18:36.643Z" }, + { url = "https://files.pythonhosted.org/packages/5a/e1/3bc29ae71d24a91cf91f7413541e50acb7de2ce609587168ce2f4b405d3b/pyogrio-0.11.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b8a199bc0e421eac444af96942b7553268e43d0cadf30d0d6d41017de05b7e9e", size = 20635348, upload-time = "2025-08-02T20:18:38.714Z" }, + { url = "https://files.pythonhosted.org/packages/8c/b2/ec453e544370a90b4e8b2c6afa72501963ddc33afe883f0e5ba34af6a80f/pyogrio-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afce80b4b32f043fcf76a50e8572e3ad8d9d3e6abbbfa6137f0975ba55c4eeb8", size = 26980190, upload-time = "2025-08-02T20:18:41.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f6/337f122b58f697f807bf9093b606b33b3ef52fe06a21e88d8a9230844cc3/pyogrio-0.11.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0cfd79caf0b8cb7bbf30b419dff7f21509169efcf4d431172c61b44fe1029dba", size = 26474852, upload-time = "2025-08-02T20:18:43.74Z" }, + { url = "https://files.pythonhosted.org/packages/e6/0f/8193a4a879f1284d693793e59a2e185c8fd3c47cb562b0e5daf7289997ea/pyogrio-0.11.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ab3aa6dbf2441d2407ce052233f2966324a3cff752bd43d99e4c779ea54e0a16", size = 27659721, upload-time = "2025-08-02T20:18:46.398Z" }, + { url = "https://files.pythonhosted.org/packages/5f/7d/3e818625a435fcc196ea441a6ca8495f87dd1f1eebeb95760eb401ea425d/pyogrio-0.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:cd10035eb3b5e5a43bdafbd777339d2274e9b75972658364f0ce31c4d3400d1e", size = 19219350, upload-time = "2025-08-02T20:18:48.866Z" }, + { url = "https://files.pythonhosted.org/packages/f2/68/86328e36d010ee565ce0c65cdf9b830afcb1fb5972f537fe1cc561a49247/pyogrio-0.11.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:3b368c597357ff262f3b46591ded86409462ee594ef42556708b090d121f873c", size = 19445347, upload-time = "2025-08-02T20:18:51.088Z" }, + { url = "https://files.pythonhosted.org/packages/20/bc/34bd87641fc2ecc6d842d6d758bbaa8d58aea4d36aa6a1111cbc9d450e74/pyogrio-0.11.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:1cb82cfd3493f32396e9c3f9255e17885610f62a323870947f4e04dd59bc3595", size = 20630594, upload-time = "2025-08-02T20:18:53.176Z" }, + { url = "https://files.pythonhosted.org/packages/68/9a/41b72ffa3e21354eb9afbbae855c86b94dbf06b22e89c16a807cc8b22bd2/pyogrio-0.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d61aae22e67030fd354f03e21c6462537bf56160134dd8663709335a5a46b28", size = 26929440, upload-time = "2025-08-02T20:18:55.614Z" }, + { url = "https://files.pythonhosted.org/packages/42/dd/c968c49a2e9b7c219eac0cc504241c21ef789f1f1b34d33780508cea9764/pyogrio-0.11.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:76150a3cd787c31628191c7abc6f8c796660125852fb65ae15dd7be1e9196816", size = 26433178, upload-time = "2025-08-02T20:18:58.274Z" }, + { url = "https://files.pythonhosted.org/packages/89/a9/79eca15094f7806a3adcf0bb976ab4346b0fb1bd87956c1933df44546c14/pyogrio-0.11.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e929452f6988c0365dd32ff2485d9488160a709fee28743abbbc18d663169ed0", size = 27616835, upload-time = "2025-08-02T20:19:01.112Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f3/7722bc81e9eee39b528c1cbc6289a26d2d3b1b187491ed8493457d6a3a0e/pyogrio-0.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:d6d56862b89a05fccd7211171c88806b6ec9b5effb79bf807cce0a57c1f2a606", size = 19219088, upload-time = "2025-08-02T20:19:03.732Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz", hash = "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size = 1099274, upload-time = "2025-09-21T04:11:06.277Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" }, +] + +[[package]] +name = "pypatch" +version = "1.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7e/1c/6379e3feb25bd1cc70320ffa2f6410f799a8348b0e385d04b3bbdc19246f/pypatch-1.0.2.tar.gz", hash = "sha256:13e8c40a6e6ae9dbd84bba73f1e15a13c078f153e771f7c8c43429ce5062dc93", size = 16499, upload-time = "2024-10-08T14:12:01.352Z" } + +[[package]] +name = "pyproj" +version = "3.7.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "certifi", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/10/a8480ea27ea4bbe896c168808854d00f2a9b49f95c0319ddcbba693c8a90/pyproj-3.7.1.tar.gz", hash = "sha256:60d72facd7b6b79853f19744779abcd3f804c4e0d4fa8815469db20c9f640a47", size = 226339, upload-time = "2025-02-16T04:28:46.621Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/a3/c4cd4bba5b336075f145fe784fcaf4ef56ffbc979833303303e7a659dda2/pyproj-3.7.1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:bf09dbeb333c34e9c546364e7df1ff40474f9fddf9e70657ecb0e4f670ff0b0e", size = 6262524, upload-time = "2025-02-16T04:27:19.725Z" }, + { url = "https://files.pythonhosted.org/packages/40/45/4fdf18f4cc1995f1992771d2a51cf186a9d7a8ec973c9693f8453850c707/pyproj-3.7.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:6575b2e53cc9e3e461ad6f0692a5564b96e7782c28631c7771c668770915e169", size = 4665102, upload-time = "2025-02-16T04:27:24.428Z" }, + { url = "https://files.pythonhosted.org/packages/0c/d2/360eb127380106cee83569954ae696b88a891c804d7a93abe3fbc15f5976/pyproj-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cb516ee35ed57789b46b96080edf4e503fdb62dbb2e3c6581e0d6c83fca014b", size = 9432667, upload-time = "2025-02-16T04:27:27.04Z" }, + { url = "https://files.pythonhosted.org/packages/76/a5/c6e11b9a99ce146741fb4d184d5c468446c6d6015b183cae82ac822a6cfa/pyproj-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e47c4e93b88d99dd118875ee3ca0171932444cdc0b52d493371b5d98d0f30ee", size = 9259185, upload-time = "2025-02-16T04:27:30.35Z" }, + { url = "https://files.pythonhosted.org/packages/41/56/a3c15c42145797a99363fa0fdb4e9805dccb8b4a76a6d7b2cdf36ebcc2a1/pyproj-3.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3e8d276caeae34fcbe4813855d0d97b9b825bab8d7a8b86d859c24a6213a5a0d", size = 10469103, upload-time = "2025-02-16T04:27:33.542Z" }, + { url = "https://files.pythonhosted.org/packages/ef/73/c9194c2802fefe2a4fd4230bdd5ab083e7604e93c64d0356fa49c363bad6/pyproj-3.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f173f851ee75e54acdaa053382b6825b400cb2085663a9bb073728a59c60aebb", size = 10401391, upload-time = "2025-02-16T04:27:36.051Z" }, + { url = "https://files.pythonhosted.org/packages/c5/1d/ce8bb5b9251b04d7c22d63619bb3db3d2397f79000a9ae05b3fd86a5837e/pyproj-3.7.1-cp310-cp310-win32.whl", hash = "sha256:f550281ed6e5ea88fcf04a7c6154e246d5714be495c50c9e8e6b12d3fb63e158", size = 5869997, upload-time = "2025-02-16T04:27:38.302Z" }, + { url = "https://files.pythonhosted.org/packages/09/6a/ca145467fd2e5b21e3d5b8c2b9645dcfb3b68f08b62417699a1f5689008e/pyproj-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3537668992a709a2e7f068069192138618c00d0ba113572fdd5ee5ffde8222f3", size = 6278581, upload-time = "2025-02-16T04:27:41.051Z" }, + { url = "https://files.pythonhosted.org/packages/ab/0d/63670fc527e664068b70b7cab599aa38b7420dd009bdc29ea257e7f3dfb3/pyproj-3.7.1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:a94e26c1a4950cea40116775588a2ca7cf56f1f434ff54ee35a84718f3841a3d", size = 6264315, upload-time = "2025-02-16T04:27:44.539Z" }, + { url = "https://files.pythonhosted.org/packages/25/9d/cbaf82cfb290d1f1fa42feb9ba9464013bb3891e40c4199f8072112e4589/pyproj-3.7.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:263b54ba5004b6b957d55757d846fc5081bc02980caa0279c4fc95fa0fff6067", size = 4666267, upload-time = "2025-02-16T04:27:47.019Z" }, + { url = "https://files.pythonhosted.org/packages/79/53/24f9f9b8918c0550f3ff49ad5de4cf3f0688c9f91ff191476db8979146fe/pyproj-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6d6a2ccd5607cd15ef990c51e6f2dd27ec0a741e72069c387088bba3aab60fa", size = 9680510, upload-time = "2025-02-16T04:27:49.239Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ac/12fab74a908d40b63174dc704587febd0729414804bbfd873cabe504ff2d/pyproj-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c5dcf24ede53d8abab7d8a77f69ff1936c6a8843ef4fcc574646e4be66e5739", size = 9493619, upload-time = "2025-02-16T04:27:52.65Z" }, + { url = "https://files.pythonhosted.org/packages/c4/45/26311d6437135da2153a178125db5dfb6abce831ce04d10ec207eabac70a/pyproj-3.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c2e7449840a44ce860d8bea2c6c1c4bc63fa07cba801dcce581d14dcb031a02", size = 10709755, upload-time = "2025-02-16T04:27:55.239Z" }, + { url = "https://files.pythonhosted.org/packages/99/52/4ecd0986f27d0e6c8ee3a7bc5c63da15acd30ac23034f871325b297e61fd/pyproj-3.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0829865c1d3a3543f918b3919dc601eea572d6091c0dd175e1a054db9c109274", size = 10642970, upload-time = "2025-02-16T04:27:58.343Z" }, + { url = "https://files.pythonhosted.org/packages/3f/a5/d3bfc018fc92195a000d1d28acc1f3f1df15ff9f09ece68f45a2636c0134/pyproj-3.7.1-cp311-cp311-win32.whl", hash = "sha256:6181960b4b812e82e588407fe5c9c68ada267c3b084db078f248db5d7f45d18a", size = 5868295, upload-time = "2025-02-16T04:28:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/92/39/ef6f06a5b223dbea308cfcbb7a0f72e7b506aef1850e061b2c73b0818715/pyproj-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ad0ff443a785d84e2b380869fdd82e6bfc11eba6057d25b4409a9bbfa867970", size = 6279871, upload-time = "2025-02-16T04:28:04.988Z" }, + { url = "https://files.pythonhosted.org/packages/e6/c9/876d4345b8d17f37ac59ebd39f8fa52fc6a6a9891a420f72d050edb6b899/pyproj-3.7.1-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:2781029d90df7f8d431e29562a3f2d8eafdf233c4010d6fc0381858dc7373217", size = 6264087, upload-time = "2025-02-16T04:28:09.036Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/5f8691f8c90e7f402cc80a6276eb19d2ec1faa150d5ae2dd9c7b0a254da8/pyproj-3.7.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:d61bf8ab04c73c1da08eedaf21a103b72fa5b0a9b854762905f65ff8b375d394", size = 4669628, upload-time = "2025-02-16T04:28:10.944Z" }, + { url = "https://files.pythonhosted.org/packages/42/ec/16475bbb79c1c68845c0a0d9c60c4fb31e61b8a2a20bc18b1a81e81c7f68/pyproj-3.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04abc517a8555d1b05fcee768db3280143fe42ec39fdd926a2feef31631a1f2f", size = 9721415, upload-time = "2025-02-16T04:28:13.342Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a3/448f05b15e318bd6bea9a32cfaf11e886c4ae61fa3eee6e09ed5c3b74bb2/pyproj-3.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084c0a475688f934d386c2ab3b6ce03398a473cd48adfda70d9ab8f87f2394a0", size = 9556447, upload-time = "2025-02-16T04:28:15.818Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ae/bd15fe8d8bd914ead6d60bca7f895a4e6f8ef7e3928295134ff9a7dad14c/pyproj-3.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a20727a23b1e49c7dc7fe3c3df8e56a8a7acdade80ac2f5cca29d7ca5564c145", size = 10758317, upload-time = "2025-02-16T04:28:18.338Z" }, + { url = "https://files.pythonhosted.org/packages/9d/d9/5ccefb8bca925f44256b188a91c31238cae29ab6ee7f53661ecc04616146/pyproj-3.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bf84d766646f1ebd706d883755df4370aaf02b48187cedaa7e4239f16bc8213d", size = 10771259, upload-time = "2025-02-16T04:28:20.822Z" }, + { url = "https://files.pythonhosted.org/packages/2a/7d/31dedff9c35fa703162f922eeb0baa6c44a3288469a5fd88d209e2892f9e/pyproj-3.7.1-cp312-cp312-win32.whl", hash = "sha256:5f0da2711364d7cb9f115b52289d4a9b61e8bca0da57f44a3a9d6fc9bdeb7274", size = 5859914, upload-time = "2025-02-16T04:28:23.303Z" }, + { url = "https://files.pythonhosted.org/packages/3e/47/c6ab03d6564a7c937590cff81a2742b5990f096cce7c1a622d325be340ee/pyproj-3.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:aee664a9d806612af30a19dba49e55a7a78ebfec3e9d198f6a6176e1d140ec98", size = 6273196, upload-time = "2025-02-16T04:28:25.227Z" }, + { url = "https://files.pythonhosted.org/packages/ef/01/984828464c9960036c602753fc0f21f24f0aa9043c18fa3f2f2b66a86340/pyproj-3.7.1-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:5f8d02ef4431dee414d1753d13fa82a21a2f61494737b5f642ea668d76164d6d", size = 6253062, upload-time = "2025-02-16T04:28:27.861Z" }, + { url = "https://files.pythonhosted.org/packages/68/65/6ecdcdc829811a2c160cdfe2f068a009fc572fd4349664f758ccb0853a7c/pyproj-3.7.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:0b853ae99bda66cbe24b4ccfe26d70601d84375940a47f553413d9df570065e0", size = 4660548, upload-time = "2025-02-16T04:28:29.526Z" }, + { url = "https://files.pythonhosted.org/packages/67/da/dda94c4490803679230ba4c17a12f151b307a0d58e8110820405ca2d98db/pyproj-3.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83db380c52087f9e9bdd8a527943b2e7324f275881125e39475c4f9277bdeec4", size = 9662464, upload-time = "2025-02-16T04:28:31.437Z" }, + { url = "https://files.pythonhosted.org/packages/6f/57/f61b7d22c91ae1d12ee00ac4c0038714e774ebcd851b9133e5f4f930dd40/pyproj-3.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b35ed213892e211a3ce2bea002aa1183e1a2a9b79e51bb3c6b15549a831ae528", size = 9497461, upload-time = "2025-02-16T04:28:33.848Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f6/932128236f79d2ac7d39fe1a19667fdf7155d9a81d31fb9472a7a497790f/pyproj-3.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a8b15b0463d1303bab113d1a6af2860a0d79013c3a66fcc5475ce26ef717fd4f", size = 10708869, upload-time = "2025-02-16T04:28:37.34Z" }, + { url = "https://files.pythonhosted.org/packages/1d/0d/07ac7712994454a254c383c0d08aff9916a2851e6512d59da8dc369b1b02/pyproj-3.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:87229e42b75e89f4dad6459200f92988c5998dfb093c7c631fb48524c86cd5dc", size = 10729260, upload-time = "2025-02-16T04:28:40.639Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d0/9c604bc72c37ba69b867b6df724d6a5af6789e8c375022c952f65b2af558/pyproj-3.7.1-cp313-cp313-win32.whl", hash = "sha256:d666c3a3faaf3b1d7fc4a544059c4eab9d06f84a604b070b7aa2f318e227798e", size = 5855462, upload-time = "2025-02-16T04:28:42.827Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/68a2b7f5fb6400c64aad82d72bcc4bc531775e62eedff993a77c780defd0/pyproj-3.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:d3caac7473be22b6d6e102dde6c46de73b96bc98334e577dfaee9886f102ea2e", size = 6266573, upload-time = "2025-02-16T04:28:44.727Z" }, +] + +[[package]] +name = "pyproj" +version = "3.7.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "certifi", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/90/67bd7260b4ea9b8b20b4f58afef6c223ecb3abf368eb4ec5bc2cdef81b49/pyproj-3.7.2.tar.gz", hash = "sha256:39a0cf1ecc7e282d1d30f36594ebd55c9fae1fda8a2622cee5d100430628f88c", size = 226279, upload-time = "2025-08-14T12:05:42.18Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/bd/f205552cd1713b08f93b09e39a3ec99edef0b3ebbbca67b486fdf1abe2de/pyproj-3.7.2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:2514d61f24c4e0bb9913e2c51487ecdaeca5f8748d8313c933693416ca41d4d5", size = 6227022, upload-time = "2025-08-14T12:03:51.474Z" }, + { url = "https://files.pythonhosted.org/packages/75/4c/9a937e659b8b418ab573c6d340d27e68716928953273e0837e7922fcac34/pyproj-3.7.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:8693ca3892d82e70de077701ee76dd13d7bca4ae1c9d1e739d72004df015923a", size = 4625810, upload-time = "2025-08-14T12:03:53.808Z" }, + { url = "https://files.pythonhosted.org/packages/c0/7d/a9f41e814dc4d1dc54e95b2ccaf0b3ebe3eb18b1740df05fe334724c3d89/pyproj-3.7.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5e26484d80fea56273ed1555abaea161e9661d81a6c07815d54b8e883d4ceb25", size = 9638694, upload-time = "2025-08-14T12:03:55.669Z" }, + { url = "https://files.pythonhosted.org/packages/ad/ab/9bdb4a6216b712a1f9aab1c0fcbee5d3726f34a366f29c3e8c08a78d6b70/pyproj-3.7.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:281cb92847814e8018010c48b4069ff858a30236638631c1a91dd7bfa68f8a8a", size = 9493977, upload-time = "2025-08-14T12:03:57.937Z" }, + { url = "https://files.pythonhosted.org/packages/c9/db/2db75b1b6190f1137b1c4e8ef6a22e1c338e46320f6329bfac819143e063/pyproj-3.7.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9c8577f0b7bb09118ec2e57e3babdc977127dd66326d6c5d755c76b063e6d9dc", size = 10841151, upload-time = "2025-08-14T12:04:00.271Z" }, + { url = "https://files.pythonhosted.org/packages/89/f7/989643394ba23a286e9b7b3f09981496172f9e0d4512457ffea7dc47ffc7/pyproj-3.7.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a23f59904fac3a5e7364b3aa44d288234af267ca041adb2c2b14a903cd5d3ac5", size = 10751585, upload-time = "2025-08-14T12:04:02.228Z" }, + { url = "https://files.pythonhosted.org/packages/53/6d/ad928fe975a6c14a093c92e6a319ca18f479f3336bb353a740bdba335681/pyproj-3.7.2-cp311-cp311-win32.whl", hash = "sha256:f2af4ed34b2cf3e031a2d85b067a3ecbd38df073c567e04b52fa7a0202afde8a", size = 5908533, upload-time = "2025-08-14T12:04:04.821Z" }, + { url = "https://files.pythonhosted.org/packages/79/e0/b95584605cec9ed50b7ebaf7975d1c4ddeec5a86b7a20554ed8b60042bd7/pyproj-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:0b7cb633565129677b2a183c4d807c727d1c736fcb0568a12299383056e67433", size = 6320742, upload-time = "2025-08-14T12:04:06.357Z" }, + { url = "https://files.pythonhosted.org/packages/b7/4d/536e8f93bca808175c2d0a5ac9fdf69b960d8ab6b14f25030dccb07464d7/pyproj-3.7.2-cp311-cp311-win_arm64.whl", hash = "sha256:38b08d85e3a38e455625b80e9eb9f78027c8e2649a21dec4df1f9c3525460c71", size = 6245772, upload-time = "2025-08-14T12:04:08.365Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ab/9893ea9fb066be70ed9074ae543914a618c131ed8dff2da1e08b3a4df4db/pyproj-3.7.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:0a9bb26a6356fb5b033433a6d1b4542158fb71e3c51de49b4c318a1dff3aeaab", size = 6219832, upload-time = "2025-08-14T12:04:10.264Z" }, + { url = "https://files.pythonhosted.org/packages/53/78/4c64199146eed7184eb0e85bedec60a4aa8853b6ffe1ab1f3a8b962e70a0/pyproj-3.7.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:567caa03021178861fad27fabde87500ec6d2ee173dd32f3e2d9871e40eebd68", size = 4620650, upload-time = "2025-08-14T12:04:11.978Z" }, + { url = "https://files.pythonhosted.org/packages/b6/ac/14a78d17943898a93ef4f8c6a9d4169911c994e3161e54a7cedeba9d8dde/pyproj-3.7.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c203101d1dc3c038a56cff0447acc515dd29d6e14811406ac539c21eed422b2a", size = 9667087, upload-time = "2025-08-14T12:04:13.964Z" }, + { url = "https://files.pythonhosted.org/packages/b8/be/212882c450bba74fc8d7d35cbd57e4af84792f0a56194819d98106b075af/pyproj-3.7.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:1edc34266c0c23ced85f95a1ee8b47c9035eae6aca5b6b340327250e8e281630", size = 9552797, upload-time = "2025-08-14T12:04:16.624Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c0/c0f25c87b5d2a8686341c53c1792a222a480d6c9caf60311fec12c99ec26/pyproj-3.7.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aa9f26c21bc0e2dc3d224cb1eb4020cf23e76af179a7c66fea49b828611e4260", size = 10837036, upload-time = "2025-08-14T12:04:18.733Z" }, + { url = "https://files.pythonhosted.org/packages/5d/37/5cbd6772addde2090c91113332623a86e8c7d583eccb2ad02ea634c4a89f/pyproj-3.7.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9428b318530625cb389b9ddc9c51251e172808a4af79b82809376daaeabe5e9", size = 10775952, upload-time = "2025-08-14T12:04:20.709Z" }, + { url = "https://files.pythonhosted.org/packages/69/a1/dc250e3cf83eb4b3b9a2cf86fdb5e25288bd40037ae449695550f9e96b2f/pyproj-3.7.2-cp312-cp312-win32.whl", hash = "sha256:b3d99ed57d319da042f175f4554fc7038aa4bcecc4ac89e217e350346b742c9d", size = 5898872, upload-time = "2025-08-14T12:04:22.485Z" }, + { url = "https://files.pythonhosted.org/packages/4a/a6/6fe724b72b70f2b00152d77282e14964d60ab092ec225e67c196c9b463e5/pyproj-3.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:11614a054cd86a2ed968a657d00987a86eeb91fdcbd9ad3310478685dc14a128", size = 6312176, upload-time = "2025-08-14T12:04:24.736Z" }, + { url = "https://files.pythonhosted.org/packages/5d/68/915cc32c02a91e76d02c8f55d5a138d6ef9e47a0d96d259df98f4842e558/pyproj-3.7.2-cp312-cp312-win_arm64.whl", hash = "sha256:509a146d1398bafe4f53273398c3bb0b4732535065fa995270e52a9d3676bca3", size = 6233452, upload-time = "2025-08-14T12:04:27.287Z" }, + { url = "https://files.pythonhosted.org/packages/be/14/faf1b90d267cea68d7e70662e7f88cefdb1bc890bd596c74b959e0517a72/pyproj-3.7.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:19466e529b1b15eeefdf8ff26b06fa745856c044f2f77bf0edbae94078c1dfa1", size = 6214580, upload-time = "2025-08-14T12:04:28.804Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/da9a45b184d375f62667f62eba0ca68569b0bd980a0bb7ffcc1d50440520/pyproj-3.7.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:c79b9b84c4a626c5dc324c0d666be0bfcebd99f7538d66e8898c2444221b3da7", size = 4615388, upload-time = "2025-08-14T12:04:30.553Z" }, + { url = "https://files.pythonhosted.org/packages/5e/e7/d2b459a4a64bca328b712c1b544e109df88e5c800f7c143cfbc404d39bfb/pyproj-3.7.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ceecf374cacca317bc09e165db38ac548ee3cad07c3609442bd70311c59c21aa", size = 9628455, upload-time = "2025-08-14T12:04:32.435Z" }, + { url = "https://files.pythonhosted.org/packages/f8/85/c2b1706e51942de19076eff082f8495e57d5151364e78b5bef4af4a1d94a/pyproj-3.7.2-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5141a538ffdbe4bfd157421828bb2e07123a90a7a2d6f30fa1462abcfb5ce681", size = 9514269, upload-time = "2025-08-14T12:04:34.599Z" }, + { url = "https://files.pythonhosted.org/packages/34/38/07a9b89ae7467872f9a476883a5bad9e4f4d1219d31060f0f2b282276cbe/pyproj-3.7.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f000841e98ea99acbb7b8ca168d67773b0191de95187228a16110245c5d954d5", size = 10808437, upload-time = "2025-08-14T12:04:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/12/56/fda1daeabbd39dec5b07f67233d09f31facb762587b498e6fc4572be9837/pyproj-3.7.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8115faf2597f281a42ab608ceac346b4eb1383d3b45ab474fd37341c4bf82a67", size = 10745540, upload-time = "2025-08-14T12:04:38.568Z" }, + { url = "https://files.pythonhosted.org/packages/0d/90/c793182cbba65a39a11db2ac6b479fe76c59e6509ae75e5744c344a0da9d/pyproj-3.7.2-cp313-cp313-win32.whl", hash = "sha256:f18c0579dd6be00b970cb1a6719197fceecc407515bab37da0066f0184aafdf3", size = 5896506, upload-time = "2025-08-14T12:04:41.059Z" }, + { url = "https://files.pythonhosted.org/packages/be/0f/747974129cf0d800906f81cd25efd098c96509026e454d4b66868779ab04/pyproj-3.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:bb41c29d5f60854b1075853fe80c58950b398d4ebb404eb532536ac8d2834ed7", size = 6310195, upload-time = "2025-08-14T12:04:42.974Z" }, + { url = "https://files.pythonhosted.org/packages/82/64/fc7598a53172c4931ec6edf5228280663063150625d3f6423b4c20f9daff/pyproj-3.7.2-cp313-cp313-win_arm64.whl", hash = "sha256:2b617d573be4118c11cd96b8891a0b7f65778fa7733ed8ecdb297a447d439100", size = 6230748, upload-time = "2025-08-14T12:04:44.491Z" }, + { url = "https://files.pythonhosted.org/packages/aa/f0/611dd5cddb0d277f94b7af12981f56e1441bf8d22695065d4f0df5218498/pyproj-3.7.2-cp313-cp313t-macosx_13_0_x86_64.whl", hash = "sha256:d27b48f0e81beeaa2b4d60c516c3a1cfbb0c7ff6ef71256d8e9c07792f735279", size = 6241729, upload-time = "2025-08-14T12:04:46.274Z" }, + { url = "https://files.pythonhosted.org/packages/15/93/40bd4a6c523ff9965e480870611aed7eda5aa2c6128c6537345a2b77b542/pyproj-3.7.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:55a3610d75023c7b1c6e583e48ef8f62918e85a2ae81300569d9f104d6684bb6", size = 4652497, upload-time = "2025-08-14T12:04:48.203Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ae/7150ead53c117880b35e0d37960d3138fe640a235feb9605cb9386f50bb0/pyproj-3.7.2-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:8d7349182fa622696787cc9e195508d2a41a64765da9b8a6bee846702b9e6220", size = 9942610, upload-time = "2025-08-14T12:04:49.652Z" }, + { url = "https://files.pythonhosted.org/packages/d8/17/7a4a7eafecf2b46ab64e5c08176c20ceb5844b503eaa551bf12ccac77322/pyproj-3.7.2-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:d230b186eb876ed4f29a7c5ee310144c3a0e44e89e55f65fb3607e13f6db337c", size = 9692390, upload-time = "2025-08-14T12:04:51.731Z" }, + { url = "https://files.pythonhosted.org/packages/c3/55/ae18f040f6410f0ea547a21ada7ef3e26e6c82befa125b303b02759c0e9d/pyproj-3.7.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:237499c7862c578d0369e2b8ac56eec550e391a025ff70e2af8417139dabb41c", size = 11047596, upload-time = "2025-08-14T12:04:53.748Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2e/d3fff4d2909473f26ae799f9dda04caa322c417a51ff3b25763f7d03b233/pyproj-3.7.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8c225f5978abd506fd9a78eaaf794435e823c9156091cabaab5374efb29d7f69", size = 10896975, upload-time = "2025-08-14T12:04:55.875Z" }, + { url = "https://files.pythonhosted.org/packages/f2/bc/8fc7d3963d87057b7b51ebe68c1e7c51c23129eee5072ba6b86558544a46/pyproj-3.7.2-cp313-cp313t-win32.whl", hash = "sha256:2da731876d27639ff9d2d81c151f6ab90a1546455fabd93368e753047be344a2", size = 5953057, upload-time = "2025-08-14T12:04:58.466Z" }, + { url = "https://files.pythonhosted.org/packages/cc/27/ea9809966cc47d2d51e6d5ae631ea895f7c7c7b9b3c29718f900a8f7d197/pyproj-3.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:f54d91ae18dd23b6c0ab48126d446820e725419da10617d86a1b69ada6d881d3", size = 6375414, upload-time = "2025-08-14T12:04:59.861Z" }, + { url = "https://files.pythonhosted.org/packages/5b/f8/1ef0129fba9a555c658e22af68989f35e7ba7b9136f25758809efec0cd6e/pyproj-3.7.2-cp313-cp313t-win_arm64.whl", hash = "sha256:fc52ba896cfc3214dc9f9ca3c0677a623e8fdd096b257c14a31e719d21ff3fdd", size = 6262501, upload-time = "2025-08-14T12:05:01.39Z" }, + { url = "https://files.pythonhosted.org/packages/42/17/c2b050d3f5b71b6edd0d96ae16c990fdc42a5f1366464a5c2772146de33a/pyproj-3.7.2-cp314-cp314-macosx_13_0_x86_64.whl", hash = "sha256:2aaa328605ace41db050d06bac1adc11f01b71fe95c18661497763116c3a0f02", size = 6214541, upload-time = "2025-08-14T12:05:03.166Z" }, + { url = "https://files.pythonhosted.org/packages/03/68/68ada9c8aea96ded09a66cfd9bf87aa6db8c2edebe93f5bf9b66b0143fbc/pyproj-3.7.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:35dccbce8201313c596a970fde90e33605248b66272595c061b511c8100ccc08", size = 4617456, upload-time = "2025-08-14T12:05:04.563Z" }, + { url = "https://files.pythonhosted.org/packages/81/e4/4c50ceca7d0e937977866b02cb64e6ccf4df979a5871e521f9e255df6073/pyproj-3.7.2-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:25b0b7cb0042444c29a164b993c45c1b8013d6c48baa61dc1160d834a277e83b", size = 9615590, upload-time = "2025-08-14T12:05:06.094Z" }, + { url = "https://files.pythonhosted.org/packages/05/1e/ada6fb15a1d75b5bd9b554355a69a798c55a7dcc93b8d41596265c1772e3/pyproj-3.7.2-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:85def3a6388e9ba51f964619aa002a9d2098e77c6454ff47773bb68871024281", size = 9474960, upload-time = "2025-08-14T12:05:07.973Z" }, + { url = "https://files.pythonhosted.org/packages/51/07/9d48ad0a8db36e16f842f2c8a694c1d9d7dcf9137264846bef77585a71f3/pyproj-3.7.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b1bccefec3875ab81eabf49059e2b2ea77362c178b66fd3528c3e4df242f1516", size = 10799478, upload-time = "2025-08-14T12:05:14.102Z" }, + { url = "https://files.pythonhosted.org/packages/85/cf/2f812b529079f72f51ff2d6456b7fef06c01735e5cfd62d54ffb2b548028/pyproj-3.7.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d5371ca114d6990b675247355a801925814eca53e6c4b2f1b5c0a956336ee36e", size = 10710030, upload-time = "2025-08-14T12:05:16.317Z" }, + { url = "https://files.pythonhosted.org/packages/99/9b/4626a19e1f03eba4c0e77b91a6cf0f73aa9cb5d51a22ee385c22812bcc2c/pyproj-3.7.2-cp314-cp314-win32.whl", hash = "sha256:77f066626030f41be543274f5ac79f2a511fe89860ecd0914f22131b40a0ec25", size = 5991181, upload-time = "2025-08-14T12:05:19.492Z" }, + { url = "https://files.pythonhosted.org/packages/04/b2/5a6610554306a83a563080c2cf2c57565563eadd280e15388efa00fb5b33/pyproj-3.7.2-cp314-cp314-win_amd64.whl", hash = "sha256:5a964da1696b8522806f4276ab04ccfff8f9eb95133a92a25900697609d40112", size = 6434721, upload-time = "2025-08-14T12:05:21.022Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ce/6c910ea2e1c74ef673c5d48c482564b8a7824a44c4e35cca2e765b68cfcc/pyproj-3.7.2-cp314-cp314-win_arm64.whl", hash = "sha256:e258ab4dbd3cf627809067c0ba8f9884ea76c8e5999d039fb37a1619c6c3e1f6", size = 6363821, upload-time = "2025-08-14T12:05:22.627Z" }, + { url = "https://files.pythonhosted.org/packages/e4/e4/5532f6f7491812ba782a2177fe9de73fd8e2912b59f46a1d056b84b9b8f2/pyproj-3.7.2-cp314-cp314t-macosx_13_0_x86_64.whl", hash = "sha256:bbbac2f930c6d266f70ec75df35ef851d96fdb3701c674f42fd23a9314573b37", size = 6241773, upload-time = "2025-08-14T12:05:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/20/1f/0938c3f2bbbef1789132d1726d9b0e662f10cfc22522743937f421ad664e/pyproj-3.7.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:b7544e0a3d6339dc9151e9c8f3ea62a936ab7cc446a806ec448bbe86aebb979b", size = 4652537, upload-time = "2025-08-14T12:05:26.391Z" }, + { url = "https://files.pythonhosted.org/packages/c7/a8/488b1ed47d25972f33874f91f09ca8f2227902f05f63a2b80dc73e7b1c97/pyproj-3.7.2-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:f7f5133dca4c703e8acadf6f30bc567d39a42c6af321e7f81975c2518f3ed357", size = 9940864, upload-time = "2025-08-14T12:05:27.985Z" }, + { url = "https://files.pythonhosted.org/packages/c7/cc/7f4c895d0cb98e47b6a85a6d79eaca03eb266129eed2f845125c09cf31ff/pyproj-3.7.2-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:5aff3343038d7426aa5076f07feb88065f50e0502d1b0d7c22ddfdd2c75a3f81", size = 9688868, upload-time = "2025-08-14T12:05:30.425Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b7/c7e306b8bb0f071d9825b753ee4920f066c40fbfcce9372c4f3cfb2fc4ed/pyproj-3.7.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b0552178c61f2ac1c820d087e8ba6e62b29442debddbb09d51c4bf8acc84d888", size = 11045910, upload-time = "2025-08-14T12:05:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/42/fb/538a4d2df695980e2dde5c04d965fbdd1fe8c20a3194dc4aaa3952a4d1be/pyproj-3.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:47d87db2d2c436c5fd0409b34d70bb6cdb875cca2ebe7a9d1c442367b0ab8d59", size = 10895724, upload-time = "2025-08-14T12:05:35.465Z" }, + { url = "https://files.pythonhosted.org/packages/e8/8b/a3f0618b03957de9db5489a04558a8826f43906628bb0b766033aa3b5548/pyproj-3.7.2-cp314-cp314t-win32.whl", hash = "sha256:c9b6f1d8ad3e80a0ee0903a778b6ece7dca1d1d40f6d114ae01bc8ddbad971aa", size = 6056848, upload-time = "2025-08-14T12:05:37.553Z" }, + { url = "https://files.pythonhosted.org/packages/bc/56/413240dd5149dd3291eda55aa55a659da4431244a2fd1319d0ae89407cfb/pyproj-3.7.2-cp314-cp314t-win_amd64.whl", hash = "sha256:1914e29e27933ba6f9822663ee0600f169014a2859f851c054c88cf5ea8a333c", size = 6517676, upload-time = "2025-08-14T12:05:39.126Z" }, + { url = "https://files.pythonhosted.org/packages/15/73/a7141a1a0559bf1a7aa42a11c879ceb19f02f5c6c371c6d57fd86cefd4d1/pyproj-3.7.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d9d25bae416a24397e0d85739f84d323b55f6511e45a522dd7d7eae70d10c7e4", size = 6391844, upload-time = "2025-08-14T12:05:40.745Z" }, +] + +[[package]] +name = "pyproject-hooks" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228, upload-time = "2024-09-29T09:24:13.293Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload-time = "2024-09-29T09:24:11.978Z" }, +] + +[[package]] +name = "pypyr" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "ruamel-yaml" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "tomli-w" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/34/c3/f15d53d546d7ee74ec13643c1a98f5690504f91f6febc3aae4524367179f/pypyr-5.9.1.tar.gz", hash = "sha256:a87f8410acf41eb24e45ec57107269a043e6afff4170c7cef21b95497f0614ac", size = 276783, upload-time = "2023-09-22T03:14:40.524Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/02/a23f3c205b09be057ab6000ffdd5dbba30ec958603e785361e7e722788ba/pypyr-5.9.1-py3-none-any.whl", hash = "sha256:2103d9ed83d5c8f455bbe2443f9fbd829196435ffe30143b58a0a03800e3d95d", size = 170760, upload-time = "2023-09-22T03:14:38.824Z" }, +] + +[[package]] +name = "pytest" +version = "7.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/21/055f39bf8861580b43f845f9e8270c7786fe629b2f8562ff09007132e2e7/pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59", size = 1300608, upload-time = "2022-10-25T07:58:12.847Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/68/a5eb36c3a8540594b6035e6cdae40c1ef1b6a2bfacbecc3d1a544583c078/pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71", size = 316791, upload-time = "2022-10-25T07:58:10.747Z" }, +] + +[[package]] +name = "pytest-cov" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328, upload-time = "2025-09-09T10:57:02.113Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" }, +] + +[[package]] +name = "pytest-datadir" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b4/46/db060b291999ca048edd06d6fa9ee95945d088edc38b1172c59eeb46ec45/pytest_datadir-1.8.0.tar.gz", hash = "sha256:7a15faed76cebe87cc91941dd1920a9a38eba56a09c11e9ddf1434d28a0f78eb", size = 11848, upload-time = "2025-07-30T13:52:12.518Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/7a/33895863aec26ac3bb5068a73583f935680d6ab6af2a9567d409430c3ee1/pytest_datadir-1.8.0-py3-none-any.whl", hash = "sha256:5c677bc097d907ac71ca418109adc3abe34cf0bddfe6cf78aecfbabd96a15cf0", size = 6512, upload-time = "2025-07-30T13:52:11.525Z" }, +] + +[[package]] +name = "pytest-regressions" +version = "2.8.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, + { name = "pytest-datadir" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/63/cdb0ee15012a538fa07de21ec0a5c8eb113db9f28378f67b538d1c0b6d04/pytest_regressions-2.8.3.tar.gz", hash = "sha256:1ad90708bee02a3d36c78ef0b6f9692a9a30d312dd828680fd6d2a7235fcd221", size = 117168, upload-time = "2025-09-05T12:51:32.319Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/55/b9/7b2fe8407744cc37a74e29bed833256a305133505ea4979564911a98338b/pytest_regressions-2.8.3-py3-none-any.whl", hash = "sha256:72500dd95bde418c850f290a3108dacb56427067f364f7112cb5b16f6d6cc29c", size = 24894, upload-time = "2025-09-05T12:51:31.1Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, +] + +[[package]] +name = "python-json-logger" +version = "3.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/de/d3144a0bceede957f961e975f3752760fbe390d57fbe194baf709d8f1f7b/python_json_logger-3.3.0.tar.gz", hash = "sha256:12b7e74b17775e7d565129296105bbe3910842d9d0eb083fc83a6a617aa8df84", size = 16642, upload-time = "2025-03-07T07:08:27.301Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/20/0f2523b9e50a8052bc6a8b732dfc8568abbdc42010aef03a2d750bdab3b2/python_json_logger-3.3.0-py3-none-any.whl", hash = "sha256:dd980fae8cffb24c13caf6e158d3d61c0d6d22342f932cb6e9deedab3d35eec7", size = 15163, upload-time = "2025-03-07T07:08:25.627Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/df/429cc505dc5f77ab0612c4b60bca2e3dcc81f6c321844ee017d6dc0f4a95/pywinpty-3.0.0.tar.gz", hash = "sha256:68f70e68a9f0766ffdea3fc500351cb7b9b012bcb8239a411f7ff0fc8f86dcb1", size = 28551, upload-time = "2025-08-12T20:33:46.506Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/f9/13d62974debb0c74ce3fa3d96b32cee6fce4f2d634789217e67aebf339f6/pywinpty-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:327b6034e0dc38352c1c99a7c0b3e54941b4e506a5f21acce63609cd2ab6cce2", size = 2050843, upload-time = "2025-08-12T20:36:11.134Z" }, + { url = "https://files.pythonhosted.org/packages/d6/34/30727e8a97709f5033277457df9a293ccddf34d6eb7528e6a1e910265307/pywinpty-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:29daa71ac5dcbe1496ef99f4cde85a732b1f0a3b71405d42177dbcf9ee405e5a", size = 2051048, upload-time = "2025-08-12T20:37:18.488Z" }, + { url = "https://files.pythonhosted.org/packages/76/d9/bd2249815c305ef8f879b326db1fe1effc8e5f22bd88e522b4b55231aa6f/pywinpty-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:1e0c4b01e5b03b1531d7c5d0e044b8c66dd0288c6d2b661820849f2a8d91aec3", size = 2051564, upload-time = "2025-08-12T20:37:09.128Z" }, + { url = "https://files.pythonhosted.org/packages/e2/77/358b1a97c1d0714f288949372ec64a70884a7eceb3f887042b9ae0bea388/pywinpty-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:828cbe756b7e3d25d886fbd5691a1d523cd59c5fb79286bb32bb75c5221e7ba1", size = 2050856, upload-time = "2025-08-12T20:36:09.117Z" }, + { url = "https://files.pythonhosted.org/packages/8f/6c/4249cfb4eb4fdad2c76bc96db0642a40111847c375b92e5b9f4bf289ddd6/pywinpty-3.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:de0cbe27b96e5a2cebd86c4a6b8b4139f978d9c169d44a8edc7e30e88e5d7a69", size = 2050082, upload-time = "2025-08-12T20:36:28.591Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" }, + { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" }, + { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" }, + { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" }, + { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/b9/52aa9ec2867528b54f1e60846728d8b4d84726630874fee3a91e66c7df81/pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4", size = 1329850, upload-time = "2025-09-08T23:07:26.274Z" }, + { url = "https://files.pythonhosted.org/packages/99/64/5653e7b7425b169f994835a2b2abf9486264401fdef18df91ddae47ce2cc/pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556", size = 906380, upload-time = "2025-09-08T23:07:29.78Z" }, + { url = "https://files.pythonhosted.org/packages/73/78/7d713284dbe022f6440e391bd1f3c48d9185673878034cfb3939cdf333b2/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf7b38f9fd7b81cb6d9391b2946382c8237fd814075c6aa9c3b746d53076023b", size = 666421, upload-time = "2025-09-08T23:07:31.263Z" }, + { url = "https://files.pythonhosted.org/packages/30/76/8f099f9d6482450428b17c4d6b241281af7ce6a9de8149ca8c1c649f6792/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03ff0b279b40d687691a6217c12242ee71f0fba28bf8626ff50e3ef0f4410e1e", size = 854149, upload-time = "2025-09-08T23:07:33.17Z" }, + { url = "https://files.pythonhosted.org/packages/59/f0/37fbfff06c68016019043897e4c969ceab18bde46cd2aca89821fcf4fb2e/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:677e744fee605753eac48198b15a2124016c009a11056f93807000ab11ce6526", size = 1655070, upload-time = "2025-09-08T23:07:35.205Z" }, + { url = "https://files.pythonhosted.org/packages/47/14/7254be73f7a8edc3587609554fcaa7bfd30649bf89cd260e4487ca70fdaa/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd2fec2b13137416a1c5648b7009499bcc8fea78154cd888855fa32514f3dad1", size = 2033441, upload-time = "2025-09-08T23:07:37.432Z" }, + { url = "https://files.pythonhosted.org/packages/22/dc/49f2be26c6f86f347e796a4d99b19167fc94503f0af3fd010ad262158822/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08e90bb4b57603b84eab1d0ca05b3bbb10f60c1839dc471fc1c9e1507bef3386", size = 1891529, upload-time = "2025-09-08T23:07:39.047Z" }, + { url = "https://files.pythonhosted.org/packages/a3/3e/154fb963ae25be70c0064ce97776c937ecc7d8b0259f22858154a9999769/pyzmq-27.1.0-cp310-cp310-win32.whl", hash = "sha256:a5b42d7a0658b515319148875fcb782bbf118dd41c671b62dae33666c2213bda", size = 567276, upload-time = "2025-09-08T23:07:40.695Z" }, + { url = "https://files.pythonhosted.org/packages/62/b2/f4ab56c8c595abcb26b2be5fd9fa9e6899c1e5ad54964e93ae8bb35482be/pyzmq-27.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0bb87227430ee3aefcc0ade2088100e528d5d3298a0a715a64f3d04c60ba02f", size = 632208, upload-time = "2025-09-08T23:07:42.298Z" }, + { url = "https://files.pythonhosted.org/packages/3b/e3/be2cc7ab8332bdac0522fdb64c17b1b6241a795bee02e0196636ec5beb79/pyzmq-27.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:9a916f76c2ab8d045b19f2286851a38e9ac94ea91faf65bd64735924522a8b32", size = 559766, upload-time = "2025-09-08T23:07:43.869Z" }, + { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328, upload-time = "2025-09-08T23:07:45.946Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803, upload-time = "2025-09-08T23:07:47.551Z" }, + { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836, upload-time = "2025-09-08T23:07:49.436Z" }, + { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038, upload-time = "2025-09-08T23:07:51.234Z" }, + { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531, upload-time = "2025-09-08T23:07:52.795Z" }, + { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786, upload-time = "2025-09-08T23:07:55.047Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220, upload-time = "2025-09-08T23:07:57.172Z" }, + { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155, upload-time = "2025-09-08T23:07:59.05Z" }, + { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428, upload-time = "2025-09-08T23:08:00.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497, upload-time = "2025-09-08T23:08:02.15Z" }, + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, + { url = "https://files.pythonhosted.org/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6", size = 836266, upload-time = "2025-09-08T23:09:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90", size = 800206, upload-time = "2025-09-08T23:09:41.902Z" }, + { url = "https://files.pythonhosted.org/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62", size = 567747, upload-time = "2025-09-08T23:09:43.741Z" }, + { url = "https://files.pythonhosted.org/packages/d1/db/5c4d6807434751e3f21231bee98109aa57b9b9b55e058e450d0aef59b70f/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:448f9cb54eb0cee4732b46584f2710c8bc178b0e5371d9e4fc8125201e413a74", size = 747371, upload-time = "2025-09-08T23:09:45.575Z" }, + { url = "https://files.pythonhosted.org/packages/26/af/78ce193dbf03567eb8c0dc30e3df2b9e56f12a670bf7eb20f9fb532c7e8a/pyzmq-27.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05b12f2d32112bf8c95ef2e74ec4f1d4beb01f8b5e703b38537f8849f92cb9ba", size = 544862, upload-time = "2025-09-08T23:09:47.448Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265, upload-time = "2025-09-08T23:09:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208, upload-time = "2025-09-08T23:09:51.073Z" }, + { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" }, + { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, +] + +[[package]] +name = "pyzstd" +version = "0.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8f/a2/54d860ccbd07e3c67e4d0321d1c29fc7963ac82cf801a078debfc4ef7c15/pyzstd-0.17.0.tar.gz", hash = "sha256:d84271f8baa66c419204c1dd115a4dec8b266f8a2921da21b81764fa208c1db6", size = 1212160, upload-time = "2025-05-10T14:14:49.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/4f/fb1528fb8cc5c499d7d62953c6d0bce5e96260482abfba883f625c14d168/pyzstd-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ac857abb4c4daea71f134e74af7fe16bcfeec40911d13cf9128ddc600d46d92", size = 377826, upload-time = "2025-05-10T14:12:30.195Z" }, + { url = "https://files.pythonhosted.org/packages/f3/60/eedb75628f905263baf4c552dc8255912c43f70784c8b18ef9dd52b186f6/pyzstd-0.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2d84e8d1cbecd3b661febf5ca8ce12c5e112cfeb8401ceedfb84ab44365298ac", size = 297580, upload-time = "2025-05-10T14:12:32.254Z" }, + { url = "https://files.pythonhosted.org/packages/82/32/b7e776da4724c740e6a186e639b57ff0cd0ac23fac14e5c55cbd4bfcbd00/pyzstd-0.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f829fa1e7daac2e45b46656bdee13923150f329e53554aeaef75cceec706dd8c", size = 443135, upload-time = "2025-05-10T14:12:34.084Z" }, + { url = "https://files.pythonhosted.org/packages/4c/0b/3223f74d7b09122a695eebb861d7d7020f351b0610065db53d7c6981e592/pyzstd-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:994de7a13bb683c190a1b2a0fb99fe0c542126946f0345360582d7d5e8ce8cda", size = 390643, upload-time = "2025-05-10T14:12:36.052Z" }, + { url = "https://files.pythonhosted.org/packages/32/44/c98f10f62cf69d261ed796a2affe1c4ee5bedc05b9690a4c870bc2a74589/pyzstd-0.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3eb213a22823e2155aa252d9093c62ac12d7a9d698a4b37c5613f99cb9de327", size = 478067, upload-time = "2025-05-10T14:12:37.405Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ec/78634376cec5de9e5648c92ca13efa350cab42acb48c72904652ac8a6b3e/pyzstd-0.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c451cfa31e70860334cc7dffe46e5178de1756642d972bc3a570fc6768673868", size = 421189, upload-time = "2025-05-10T14:12:38.728Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d4/e7fd4b0bf3cb5d792e373c0002ac05b7b55ee8349dd80eb1c99c8d167973/pyzstd-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d66dc6f15249625e537ea4e5e64c195f50182556c3731f260b13c775b7888d6b", size = 412870, upload-time = "2025-05-10T14:12:40.038Z" }, + { url = "https://files.pythonhosted.org/packages/ea/65/1a5a8cb348349cef27326db169c61aa16f74cc8bc873b02ee1f8c0094b0e/pyzstd-0.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:308d4888083913fac2b7b6f4a88f67c0773d66db37e6060971c3f173cfa92d1e", size = 415555, upload-time = "2025-05-10T14:12:41.766Z" }, + { url = "https://files.pythonhosted.org/packages/8c/52/12c9402dce3dac85ae1e53bf5623deeb371221f1aa810c40f8b51f06ae40/pyzstd-0.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a3b636f37af9de52efb7dd2d2f15deaeabdeeacf8e69c29bf3e7e731931e6d66", size = 445346, upload-time = "2025-05-10T14:12:43.121Z" }, + { url = "https://files.pythonhosted.org/packages/fa/93/1d1bf5f73fc5b891d880ff96f6e266a1fe84c0be5beffe872afdd11a5e6a/pyzstd-0.17.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4c07391c67b496d851b18aa29ff552a552438187900965df57f64d5cf2100c40", size = 518741, upload-time = "2025-05-10T14:12:44.854Z" }, + { url = "https://files.pythonhosted.org/packages/fa/88/c9882b07c9010014161b39d28784f793219f89c86c4ba7748b6b71818f43/pyzstd-0.17.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e8bd12a13313ffa27347d7abe20840dcd2092852ab835a8e86008f38f11bd5ac", size = 562483, upload-time = "2025-05-10T14:12:46.508Z" }, + { url = "https://files.pythonhosted.org/packages/83/f7/8d34a9c424fed34353ebc9fcd93a42e9a289b13d651e9413ffd430d28874/pyzstd-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e27bfab45f9cdab0c336c747f493a00680a52a018a8bb7a1f787ddde4b29410", size = 432312, upload-time = "2025-05-10T14:12:48.248Z" }, + { url = "https://files.pythonhosted.org/packages/3f/0d/550003e5034383fa47741cb9991a0ec21fc373860eb4e145c6a2a4d06960/pyzstd-0.17.0-cp310-cp310-win32.whl", hash = "sha256:7370c0978edfcb679419f43ec504c128463858a7ea78cf6d0538c39dfb36fce3", size = 220017, upload-time = "2025-05-10T14:12:49.772Z" }, + { url = "https://files.pythonhosted.org/packages/c3/9a/09cb36576f9ce0699bf271dd6a6d60afa1c79b67dc0f156e1c1dc479ba64/pyzstd-0.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:564f7aa66cda4acd9b2a8461ff0c6a6e39a977be3e2e7317411a9f7860d7338d", size = 246139, upload-time = "2025-05-10T14:12:51.529Z" }, + { url = "https://files.pythonhosted.org/packages/03/d4/ba87ffe5128e6c7d97bf99a9966bd9a76206b28c5d6c244b9697addbf3fc/pyzstd-0.17.0-cp310-cp310-win_arm64.whl", hash = "sha256:fccff3a37fa4c513fe1ebf94cb9dc0369c714da22b5671f78ddcbc7ec8f581cc", size = 223057, upload-time = "2025-05-10T14:12:52.879Z" }, + { url = "https://files.pythonhosted.org/packages/29/4a/81ca9a6a759ae10a51cb72f002c149b602ec81b3a568ca6292b117f6da0d/pyzstd-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06d1e7afafe86b90f3d763f83d2f6b6a437a8d75119fe1ff52b955eb9df04eaa", size = 377827, upload-time = "2025-05-10T14:12:54.102Z" }, + { url = "https://files.pythonhosted.org/packages/a1/09/584c12c8a918c9311a55be0c667e57a8ee73797367299e2a9f3fc3bf7a39/pyzstd-0.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cc827657f644e4510211b49f5dab6b04913216bc316206d98f9a75214361f16e", size = 297579, upload-time = "2025-05-10T14:12:55.748Z" }, + { url = "https://files.pythonhosted.org/packages/e1/89/dc74cd83f30b97f95d42b028362e32032e61a8f8e6cc2a8e47b70976d99a/pyzstd-0.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecffadaa2ee516ecea3e432ebf45348fa8c360017f03b88800dd312d62ecb063", size = 443132, upload-time = "2025-05-10T14:12:57.098Z" }, + { url = "https://files.pythonhosted.org/packages/a8/12/fe93441228a324fe75d10f5f13d5e5d5ed028068810dfdf9505d89d704a0/pyzstd-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:596de361948d3aad98a837c98fcee4598e51b608f7e0912e0e725f82e013f00f", size = 390644, upload-time = "2025-05-10T14:12:58.379Z" }, + { url = "https://files.pythonhosted.org/packages/9d/d1/aa7cdeb9bf8995d9df9936c71151be5f4e7b231561d553e73bbf340c2281/pyzstd-0.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd3a8d0389c103e93853bf794b9a35ac5d0d11ca3e7e9f87e3305a10f6dfa6b2", size = 478070, upload-time = "2025-05-10T14:12:59.706Z" }, + { url = "https://files.pythonhosted.org/packages/95/62/7e5c450790bfd3db954694d4d877446d0b6d192aae9c73df44511f17b75c/pyzstd-0.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1356f72c7b8bb99b942d582b61d1a93c5065e66b6df3914dac9f2823136c3228", size = 421240, upload-time = "2025-05-10T14:13:01.151Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b5/d20c60678c0dfe2430f38241d118308f12516ccdb44f9edce27852ee2187/pyzstd-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f514c339b013b0b0a2ed8ea6e44684524223bd043267d7644d7c3a70e74a0dd", size = 412908, upload-time = "2025-05-10T14:13:02.904Z" }, + { url = "https://files.pythonhosted.org/packages/d2/a0/3ae0f1af2982b6cdeacc2a1e1cd20869d086d836ea43e0f14caee8664101/pyzstd-0.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d4de16306821021c2d82a45454b612e2a8683d99bfb98cff51a883af9334bea0", size = 415572, upload-time = "2025-05-10T14:13:04.828Z" }, + { url = "https://files.pythonhosted.org/packages/7d/84/cb0a10c3796f4cd5f09c112cbd72405ffd019f7c0d1e2e5e99ccc803c60c/pyzstd-0.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:aeb9759c04b6a45c1b56be21efb0a738e49b0b75c4d096a38707497a7ff2be82", size = 445334, upload-time = "2025-05-10T14:13:06.5Z" }, + { url = "https://files.pythonhosted.org/packages/d6/d6/8c5cf223067b69aa63f9ecf01846535d4ba82d98f8c9deadfc0092fa16ca/pyzstd-0.17.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a5b31ddeada0027e67464d99f09167cf08bab5f346c3c628b2d3c84e35e239a", size = 518748, upload-time = "2025-05-10T14:13:08.286Z" }, + { url = "https://files.pythonhosted.org/packages/bf/1c/dc7bab00a118d0ae931239b23e05bf703392005cf3bb16942b7b2286452a/pyzstd-0.17.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8338e4e91c52af839abcf32f1f65f3b21e2597ffe411609bdbdaf10274991bd0", size = 562487, upload-time = "2025-05-10T14:13:09.714Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a4/fca96c0af643e4de38bce0dc25dab60ea558c49444c30b9dbe8b7a1714be/pyzstd-0.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:628e93862feb372b4700085ec4d1d389f1283ac31900af29591ae01019910ff3", size = 432319, upload-time = "2025-05-10T14:13:11.296Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a3/7c924478f6c14b369fec8c5cd807b069439c6ecbf98c4783c5791036d3ad/pyzstd-0.17.0-cp311-cp311-win32.whl", hash = "sha256:c27773f9c95ebc891cfcf1ef282584d38cde0a96cb8d64127953ad752592d3d7", size = 220005, upload-time = "2025-05-10T14:13:13.188Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f6/d081b6b29cf00780c971b07f7889a19257dd884e64a842a5ebc406fd3992/pyzstd-0.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:c043a5766e00a2b7844705c8fa4563b7c195987120afee8f4cf594ecddf7e9ac", size = 246224, upload-time = "2025-05-10T14:13:14.478Z" }, + { url = "https://files.pythonhosted.org/packages/61/f3/f42c767cde8e3b94652baf85863c25476fd463f3bd61f73ed4a02c1db447/pyzstd-0.17.0-cp311-cp311-win_arm64.whl", hash = "sha256:efd371e41153ef55bf51f97e1ce4c1c0b05ceb59ed1d8972fc9aa1e9b20a790f", size = 223036, upload-time = "2025-05-10T14:13:15.752Z" }, + { url = "https://files.pythonhosted.org/packages/76/50/7fa47d0a13301b1ce20972aa0beb019c97f7ee8b0658d7ec66727b5967f9/pyzstd-0.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2ac330fc4f64f97a411b6f3fc179d2fe3050b86b79140e75a9a6dd9d6d82087f", size = 379056, upload-time = "2025-05-10T14:13:17.091Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f2/67b03b1fa4e2a0b05e147cc30ac6d271d3d11017b47b30084cb4699451f4/pyzstd-0.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:725180c0c4eb2e643b7048ebfb45ddf43585b740535907f70ff6088f5eda5096", size = 298381, upload-time = "2025-05-10T14:13:18.812Z" }, + { url = "https://files.pythonhosted.org/packages/01/8b/807ff0a13cf3790fe5de85e18e10c22b96d92107d2ce88699cefd3f890cb/pyzstd-0.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c20fe0a60019685fa1f7137cb284f09e3f64680a503d9c0d50be4dd0a3dc5ec", size = 443770, upload-time = "2025-05-10T14:13:20.495Z" }, + { url = "https://files.pythonhosted.org/packages/f0/88/832d8d8147691ee37736a89ea39eaf94ceac5f24a6ce2be316ff5276a1f8/pyzstd-0.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d97f7aaadc3b6e2f8e51bfa6aa203ead9c579db36d66602382534afaf296d0db", size = 391167, upload-time = "2025-05-10T14:13:22.236Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a5/2e09bee398dfb0d94ca43f3655552a8770a6269881dc4710b8f29c7f71aa/pyzstd-0.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42dcb34c5759b59721997036ff2d94210515d3ef47a9de84814f1c51a1e07e8a", size = 478960, upload-time = "2025-05-10T14:13:23.584Z" }, + { url = "https://files.pythonhosted.org/packages/da/b5/1f3b778ad1ccc395161fab7a3bf0dfbd85232234b6657c93213ed1ceda7e/pyzstd-0.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6bf05e18be6f6c003c7129e2878cffd76fcbebda4e7ebd7774e34ae140426cbf", size = 421891, upload-time = "2025-05-10T14:13:25.417Z" }, + { url = "https://files.pythonhosted.org/packages/83/c4/6bfb4725f4f38e9fe9735697060364fb36ee67546e7e8d78135044889619/pyzstd-0.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f7c3a5144aa4fbccf37c30411f6b1db4c0f2cb6ad4df470b37929bffe6ca0", size = 413608, upload-time = "2025-05-10T14:13:26.75Z" }, + { url = "https://files.pythonhosted.org/packages/95/a2/c48b543e3a482e758b648ea025b94efb1abe1f4859c5185ff02c29596035/pyzstd-0.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9efd4007f8369fd0890701a4fc77952a0a8c4cb3bd30f362a78a1adfb3c53c12", size = 416429, upload-time = "2025-05-10T14:13:28.096Z" }, + { url = "https://files.pythonhosted.org/packages/5c/62/2d039ee4dbc8116ca1f2a2729b88a1368f076f5dadad463f165993f7afa8/pyzstd-0.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5f8add139b5fd23b95daa844ca13118197f85bd35ce7507e92fcdce66286cc34", size = 446671, upload-time = "2025-05-10T14:13:29.772Z" }, + { url = "https://files.pythonhosted.org/packages/be/ec/9ec9f0957cf5b842c751103a2b75ecb0a73cf3d99fac57e0436aab6748e0/pyzstd-0.17.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:259a60e8ce9460367dcb4b34d8b66e44ca3d8c9c30d53ed59ae7037622b3bfc7", size = 520290, upload-time = "2025-05-10T14:13:31.585Z" }, + { url = "https://files.pythonhosted.org/packages/cc/42/2e2f4bb641c2a9ab693c31feebcffa1d7c24e946d8dde424bba371e4fcce/pyzstd-0.17.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:86011a93cc3455c5d2e35988feacffbf2fa106812a48e17eb32c2a52d25a95b3", size = 563785, upload-time = "2025-05-10T14:13:32.971Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e4/25e198d382faa4d322f617d7a5ff82af4dc65749a10d90f1423af2d194f6/pyzstd-0.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:425c31bc3de80313054e600398e4f1bd229ee61327896d5d015e2cd0283c9012", size = 433390, upload-time = "2025-05-10T14:13:34.668Z" }, + { url = "https://files.pythonhosted.org/packages/ad/7c/1ab970f5404ace9d343a36a86f1bd0fcf2dc1adf1ef8886394cf0a58bd9e/pyzstd-0.17.0-cp312-cp312-win32.whl", hash = "sha256:7c4b88183bb36eb2cebbc0352e6e9fe8e2d594f15859ae1ef13b63ebc58be158", size = 220291, upload-time = "2025-05-10T14:13:36.005Z" }, + { url = "https://files.pythonhosted.org/packages/b2/52/d35bf3e4f0676a74359fccef015eabe3ceaba95da4ac2212f8be4dde16de/pyzstd-0.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c31947e0120468342d74e0fa936d43f7e1dad66a2262f939735715aa6c730e8", size = 246451, upload-time = "2025-05-10T14:13:37.712Z" }, + { url = "https://files.pythonhosted.org/packages/34/da/a44705fe44dd87e0f09861b062f93ebb114365640dbdd62cbe80da9b8306/pyzstd-0.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:1d0346418abcef11507356a31bef5470520f6a5a786d4e2c69109408361b1020", size = 222967, upload-time = "2025-05-10T14:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/7e/51/171f5aad999e3f99e664e8ef572bbf97cbd684c46891a99fe8767eb9b7f6/pyzstd-0.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6cd1a1d37a7abe9c01d180dad699e3ac3889e4f48ac5dcca145cc46b04e9abd2", size = 379051, upload-time = "2025-05-10T14:13:40.36Z" }, + { url = "https://files.pythonhosted.org/packages/83/1e/bdae9d1331a7fb60cdd9d3c75794ea4c0271d5e8408fbbe877353b730f99/pyzstd-0.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a44fd596eda06b6265dc0358d5b309715a93f8e96e8a4b5292c2fe0e14575b3", size = 298384, upload-time = "2025-05-10T14:13:41.728Z" }, + { url = "https://files.pythonhosted.org/packages/80/3d/c0b61fc7994254b369aa5e96fcd02dbb3f8964482d51e098640802dd35e8/pyzstd-0.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a99b37453f92f0691b2454d0905bbf2f430522612f6f12bbc81133ad947eb97", size = 445950, upload-time = "2025-05-10T14:13:43.034Z" }, + { url = "https://files.pythonhosted.org/packages/78/62/318de78124d49fe3f7ae2b44726bdb85eef63c3f3338ec3673665326df25/pyzstd-0.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63d864e9f9e624a466070a121ace9d9cbf579eac4ed575dee3b203ab1b3cbeee", size = 392923, upload-time = "2025-05-10T14:13:44.443Z" }, + { url = "https://files.pythonhosted.org/packages/7a/24/21541ee45cae4fd7e3d15d67f67ad3e96e41e0ee0a95653006f8a0df2349/pyzstd-0.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e58bc02b055f96d1f83c791dd197d8c80253275a56cd84f917a006e9f528420d", size = 480524, upload-time = "2025-05-10T14:13:45.798Z" }, + { url = "https://files.pythonhosted.org/packages/ed/fd/6659504588f4cb53ac5f347bd75206072c4969eacf3ae6925f46ddb6dadb/pyzstd-0.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e62df7c0ba74618481149c849bc3ed7d551b9147e1274b4b3170bbcc0bfcc0a", size = 423568, upload-time = "2025-05-10T14:13:47.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/50/1eefc03eb21745321893fbd52702245f85e9e1f7ad35411dff2606792100/pyzstd-0.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42ecdd7136294f1becb8e57441df00eaa6dfd7444a8b0c96a1dfba5c81b066e7", size = 415473, upload-time = "2025-05-10T14:13:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/8a/27/f3da112795f9b9dc4db819f9f6e1b231a7adc03c609db1f2b33a4185be1d/pyzstd-0.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:be07a57af75f99fc39b8e2d35f8fb823ecd7ef099cd1f6203829a5094a991ae2", size = 418276, upload-time = "2025-05-10T14:13:50.316Z" }, + { url = "https://files.pythonhosted.org/packages/95/56/02b601d7198dc5138ceea6f2b978b3205b9fab05740957d1ef1c4ca59621/pyzstd-0.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0d41e6f7ec2a70dab4982157a099562de35a6735c890945b4cebb12fb7eb0be0", size = 449285, upload-time = "2025-05-10T14:13:51.759Z" }, + { url = "https://files.pythonhosted.org/packages/f4/79/8a4c352f9dd5728402318f324930250ad40df8fd27fea33818cf0c9ac171/pyzstd-0.17.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f482d906426756e7cc9a43f500fee907e1b3b4e9c04d42d58fb1918c6758759b", size = 522190, upload-time = "2025-05-10T14:13:53.075Z" }, + { url = "https://files.pythonhosted.org/packages/55/4a/51385325e7b816365292078449a8007bc3ab3e05b7b29ab91d9d519edb01/pyzstd-0.17.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:827327b35605265e1d05a2f6100244415e8f2728bb75c951736c9288415908d7", size = 566488, upload-time = "2025-05-10T14:13:54.484Z" }, + { url = "https://files.pythonhosted.org/packages/26/68/da37fb4e6a79a3cff7de4a3ee006fb5f981230c59de79f6c8c426392a265/pyzstd-0.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a55008f80e3390e4f37bd9353830f1675f271d13d6368d2f1dc413b7c6022b3", size = 432870, upload-time = "2025-05-10T14:13:55.86Z" }, + { url = "https://files.pythonhosted.org/packages/30/05/769d82f9708c4907512111a1de44bb77e5b08ad3862287c2e5fc5ead2df2/pyzstd-0.17.0-cp313-cp313-win32.whl", hash = "sha256:a4be186c0df86d4d95091c759a06582654f2b93690503b1c24d77f537d0cf5d0", size = 220290, upload-time = "2025-05-10T14:13:57.227Z" }, + { url = "https://files.pythonhosted.org/packages/62/92/f69eb8623f041c2656e27337ac08e69cd18a9eacb1557ab498d391f191bd/pyzstd-0.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:251a0b599bd224ec66f39165ddb2f959d0a523938e3bbfa82d8188dc03a271a2", size = 246450, upload-time = "2025-05-10T14:13:58.596Z" }, + { url = "https://files.pythonhosted.org/packages/ad/ef/5ae5445d5f675e9e8c868b2326597c5b396e41c5c9645daa45e8c1cd3d5c/pyzstd-0.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:ce6d5fd908fd3ddec32d1c1a5a7a15b9d7737d0ef2ab20fe1e8261da61395017", size = 222966, upload-time = "2025-05-10T14:13:59.881Z" }, + { url = "https://files.pythonhosted.org/packages/c9/32/97505422bd403a4207587fc454eaa6497d353e6110fce234e1d2be780279/pyzstd-0.17.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1c56f99c697130f39702e07ab9fa0bb4c929c7bfe47c0a488dea732bd8a8752a", size = 368393, upload-time = "2025-05-10T14:14:24.909Z" }, + { url = "https://files.pythonhosted.org/packages/1d/db/963dd8a5f9e29581097a4f3a9f0deaa8a2cd516b2ce945fcb489e3c19e2a/pyzstd-0.17.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:152bae1b2197bcd41fc143f93acd23d474f590162547484ca04ce5874c4847de", size = 283560, upload-time = "2025-05-10T14:14:26.171Z" }, + { url = "https://files.pythonhosted.org/packages/66/14/a8868202b896538f1f1ecbf13f226722426b6d44a11a8d6ce23ce57a4370/pyzstd-0.17.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2ddbbd7614922e52018ba3e7bb4cbe6f25b230096831d97916b8b89be8cd0cb", size = 356913, upload-time = "2025-05-10T14:14:27.519Z" }, + { url = "https://files.pythonhosted.org/packages/35/a6/7198ab6abd0604eb7d71a8a36b69b66441258d9216bc2fa5f181dcd47c7a/pyzstd-0.17.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f6f3f152888825f71fd2cf2499f093fac252a5c1fa15ab8747110b3dc095f6b", size = 329418, upload-time = "2025-05-10T14:14:28.897Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6b/9901ea929ea481428113a16530b26873615ae2ed184897ec92e15004cc07/pyzstd-0.17.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d00a2d2bddf51c7bf32c17dc47f0f49f47ebae07c2528b9ee8abf1f318ac193", size = 349449, upload-time = "2025-05-10T14:14:30.247Z" }, + { url = "https://files.pythonhosted.org/packages/11/30/fc8258499b9a556eaadc61f542aa930d2046d96125454add97b2bc8fb052/pyzstd-0.17.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d79e3eff07217707a92c1a6a9841c2466bfcca4d00fea0bea968f4034c27a256", size = 241666, upload-time = "2025-05-10T14:14:31.712Z" }, + { url = "https://files.pythonhosted.org/packages/b8/95/b1ae395968efdba92704c23f2f8e027d08e00d1407671e42f65ac914d211/pyzstd-0.17.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3ce6bac0c4c032c5200647992a8efcb9801c918633ebe11cceba946afea152d9", size = 368391, upload-time = "2025-05-10T14:14:33.064Z" }, + { url = "https://files.pythonhosted.org/packages/c7/72/856831cacef58492878b8307353e28a3ba4326a85c3c82e4803a95ad0d14/pyzstd-0.17.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:a00998144b35be7c485a383f739fe0843a784cd96c3f1f2f53f1a249545ce49a", size = 283561, upload-time = "2025-05-10T14:14:34.469Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a7/a86e55cd9f3e630a71c0bf78ac6da0c6b50dc428ca81aa7c5adbc66eb880/pyzstd-0.17.0-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8521d7bbd00e0e1c1fd222c1369a7600fba94d24ba380618f9f75ee0c375c277", size = 356912, upload-time = "2025-05-10T14:14:35.722Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b7/de2b42dd96dfdb1c0feb5f43d53db2d3a060607f878da7576f35dff68789/pyzstd-0.17.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da65158c877eac78dcc108861d607c02fb3703195c3a177f2687e0bcdfd519d0", size = 329417, upload-time = "2025-05-10T14:14:37.487Z" }, + { url = "https://files.pythonhosted.org/packages/52/65/d4e8196e068e6b430499fb2a5092380eb2cb7eecf459b9d4316cff7ecf6c/pyzstd-0.17.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:226ca0430e2357abae1ade802585231a2959b010ec9865600e416652121ba80b", size = 349448, upload-time = "2025-05-10T14:14:38.797Z" }, + { url = "https://files.pythonhosted.org/packages/9e/15/b5ed5ad8c8d2d80c5f5d51e6c61b2cc05f93aaf171164f67ccc7ade815cd/pyzstd-0.17.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e3a19e8521c145a0e2cd87ca464bf83604000c5454f7e0746092834fd7de84d1", size = 241668, upload-time = "2025-05-10T14:14:40.18Z" }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, +] + +[[package]] +name = "regex" +version = "2025.9.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/d3/eaa0d28aba6ad1827ad1e716d9a93e1ba963ada61887498297d3da715133/regex-2025.9.18.tar.gz", hash = "sha256:c5ba23274c61c6fef447ba6a39333297d0c247f53059dba0bca415cac511edc4", size = 400917, upload-time = "2025-09-19T00:38:35.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d8/7e06171db8e55f917c5b8e89319cea2d86982e3fc46b677f40358223dece/regex-2025.9.18-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:12296202480c201c98a84aecc4d210592b2f55e200a1d193235c4db92b9f6788", size = 484829, upload-time = "2025-09-19T00:35:05.215Z" }, + { url = "https://files.pythonhosted.org/packages/8d/70/bf91bb39e5bedf75ce730ffbaa82ca585584d13335306d637458946b8b9f/regex-2025.9.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:220381f1464a581f2ea988f2220cf2a67927adcef107d47d6897ba5a2f6d51a4", size = 288993, upload-time = "2025-09-19T00:35:08.154Z" }, + { url = "https://files.pythonhosted.org/packages/fe/89/69f79b28365eda2c46e64c39d617d5f65a2aa451a4c94de7d9b34c2dc80f/regex-2025.9.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:87f681bfca84ebd265278b5daa1dcb57f4db315da3b5d044add7c30c10442e61", size = 286624, upload-time = "2025-09-19T00:35:09.717Z" }, + { url = "https://files.pythonhosted.org/packages/44/31/81e62955726c3a14fcc1049a80bc716765af6c055706869de5e880ddc783/regex-2025.9.18-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34d674cbba70c9398074c8a1fcc1a79739d65d1105de2a3c695e2b05ea728251", size = 780473, upload-time = "2025-09-19T00:35:11.013Z" }, + { url = "https://files.pythonhosted.org/packages/fb/23/07072b7e191fbb6e213dc03b2f5b96f06d3c12d7deaded84679482926fc7/regex-2025.9.18-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:385c9b769655cb65ea40b6eea6ff763cbb6d69b3ffef0b0db8208e1833d4e746", size = 849290, upload-time = "2025-09-19T00:35:12.348Z" }, + { url = "https://files.pythonhosted.org/packages/b3/f0/aec7f6a01f2a112210424d77c6401b9015675fb887ced7e18926df4ae51e/regex-2025.9.18-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8900b3208e022570ae34328712bef6696de0804c122933414014bae791437ab2", size = 897335, upload-time = "2025-09-19T00:35:14.058Z" }, + { url = "https://files.pythonhosted.org/packages/cc/90/2e5f9da89d260de7d0417ead91a1bc897f19f0af05f4f9323313b76c47f2/regex-2025.9.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c204e93bf32cd7a77151d44b05eb36f469d0898e3fba141c026a26b79d9914a0", size = 789946, upload-time = "2025-09-19T00:35:15.403Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d5/1c712c7362f2563d389be66bae131c8bab121a3fabfa04b0b5bfc9e73c51/regex-2025.9.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3acc471d1dd7e5ff82e6cacb3b286750decd949ecd4ae258696d04f019817ef8", size = 780787, upload-time = "2025-09-19T00:35:17.061Z" }, + { url = "https://files.pythonhosted.org/packages/4f/92/c54cdb4aa41009632e69817a5aa452673507f07e341076735a2f6c46a37c/regex-2025.9.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6479d5555122433728760e5f29edb4c2b79655a8deb681a141beb5c8a025baea", size = 773632, upload-time = "2025-09-19T00:35:18.57Z" }, + { url = "https://files.pythonhosted.org/packages/db/99/75c996dc6a2231a8652d7ad0bfbeaf8a8c77612d335580f520f3ec40e30b/regex-2025.9.18-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:431bd2a8726b000eb6f12429c9b438a24062a535d06783a93d2bcbad3698f8a8", size = 844104, upload-time = "2025-09-19T00:35:20.259Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f7/25aba34cc130cb6844047dbfe9716c9b8f9629fee8b8bec331aa9241b97b/regex-2025.9.18-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0cc3521060162d02bd36927e20690129200e5ac9d2c6d32b70368870b122db25", size = 834794, upload-time = "2025-09-19T00:35:22.002Z" }, + { url = "https://files.pythonhosted.org/packages/51/eb/64e671beafa0ae29712268421597596d781704973551312b2425831d4037/regex-2025.9.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a021217b01be2d51632ce056d7a837d3fa37c543ede36e39d14063176a26ae29", size = 778535, upload-time = "2025-09-19T00:35:23.298Z" }, + { url = "https://files.pythonhosted.org/packages/26/33/c0ebc0b07bd0bf88f716cca240546b26235a07710ea58e271cfe390ae273/regex-2025.9.18-cp310-cp310-win32.whl", hash = "sha256:4a12a06c268a629cb67cc1d009b7bb0be43e289d00d5111f86a2efd3b1949444", size = 264115, upload-time = "2025-09-19T00:35:25.206Z" }, + { url = "https://files.pythonhosted.org/packages/59/39/aeb11a4ae68faaec2498512cadae09f2d8a91f1f65730fe62b9bffeea150/regex-2025.9.18-cp310-cp310-win_amd64.whl", hash = "sha256:47acd811589301298c49db2c56bde4f9308d6396da92daf99cba781fa74aa450", size = 276143, upload-time = "2025-09-19T00:35:26.785Z" }, + { url = "https://files.pythonhosted.org/packages/29/04/37f2d3fc334a1031fc2767c9d89cec13c2e72207c7e7f6feae8a47f4e149/regex-2025.9.18-cp310-cp310-win_arm64.whl", hash = "sha256:16bd2944e77522275e5ee36f867e19995bcaa533dcb516753a26726ac7285442", size = 268473, upload-time = "2025-09-19T00:35:28.39Z" }, + { url = "https://files.pythonhosted.org/packages/58/61/80eda662fc4eb32bfedc331f42390974c9e89c7eac1b79cd9eea4d7c458c/regex-2025.9.18-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:51076980cd08cd13c88eb7365427ae27f0d94e7cebe9ceb2bb9ffdae8fc4d82a", size = 484832, upload-time = "2025-09-19T00:35:30.011Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d9/33833d9abddf3f07ad48504ddb53fe3b22f353214bbb878a72eee1e3ddbf/regex-2025.9.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:828446870bd7dee4e0cbeed767f07961aa07f0ea3129f38b3ccecebc9742e0b8", size = 288994, upload-time = "2025-09-19T00:35:31.733Z" }, + { url = "https://files.pythonhosted.org/packages/2a/b3/526ee96b0d70ea81980cbc20c3496fa582f775a52e001e2743cc33b2fa75/regex-2025.9.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c28821d5637866479ec4cc23b8c990f5bc6dd24e5e4384ba4a11d38a526e1414", size = 286619, upload-time = "2025-09-19T00:35:33.221Z" }, + { url = "https://files.pythonhosted.org/packages/65/4f/c2c096b02a351b33442aed5895cdd8bf87d372498d2100927c5a053d7ba3/regex-2025.9.18-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:726177ade8e481db669e76bf99de0b278783be8acd11cef71165327abd1f170a", size = 792454, upload-time = "2025-09-19T00:35:35.361Z" }, + { url = "https://files.pythonhosted.org/packages/24/15/b562c9d6e47c403c4b5deb744f8b4bf6e40684cf866c7b077960a925bdff/regex-2025.9.18-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5cca697da89b9f8ea44115ce3130f6c54c22f541943ac8e9900461edc2b8bd4", size = 858723, upload-time = "2025-09-19T00:35:36.949Z" }, + { url = "https://files.pythonhosted.org/packages/f2/01/dba305409849e85b8a1a681eac4c03ed327d8de37895ddf9dc137f59c140/regex-2025.9.18-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dfbde38f38004703c35666a1e1c088b778e35d55348da2b7b278914491698d6a", size = 905899, upload-time = "2025-09-19T00:35:38.723Z" }, + { url = "https://files.pythonhosted.org/packages/fe/d0/c51d1e6a80eab11ef96a4cbad17fc0310cf68994fb01a7283276b7e5bbd6/regex-2025.9.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f2f422214a03fab16bfa495cfec72bee4aaa5731843b771860a471282f1bf74f", size = 798981, upload-time = "2025-09-19T00:35:40.416Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5e/72db90970887bbe02296612bd61b0fa31e6d88aa24f6a4853db3e96c575e/regex-2025.9.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a295916890f4df0902e4286bc7223ee7f9e925daa6dcdec4192364255b70561a", size = 781900, upload-time = "2025-09-19T00:35:42.077Z" }, + { url = "https://files.pythonhosted.org/packages/50/ff/596be45eea8e9bc31677fde243fa2904d00aad1b32c31bce26c3dbba0b9e/regex-2025.9.18-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:5db95ff632dbabc8c38c4e82bf545ab78d902e81160e6e455598014f0abe66b9", size = 852952, upload-time = "2025-09-19T00:35:43.751Z" }, + { url = "https://files.pythonhosted.org/packages/e5/1b/2dfa348fa551e900ed3f5f63f74185b6a08e8a76bc62bc9c106f4f92668b/regex-2025.9.18-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fb967eb441b0f15ae610b7069bdb760b929f267efbf522e814bbbfffdf125ce2", size = 844355, upload-time = "2025-09-19T00:35:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bf/aefb1def27fe33b8cbbb19c75c13aefccfbef1c6686f8e7f7095705969c7/regex-2025.9.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f04d2f20da4053d96c08f7fde6e1419b7ec9dbcee89c96e3d731fca77f411b95", size = 787254, upload-time = "2025-09-19T00:35:46.904Z" }, + { url = "https://files.pythonhosted.org/packages/e3/4e/8ef042e7cf0dbbb401e784e896acfc1b367b95dfbfc9ada94c2ed55a081f/regex-2025.9.18-cp311-cp311-win32.whl", hash = "sha256:895197241fccf18c0cea7550c80e75f185b8bd55b6924fcae269a1a92c614a07", size = 264129, upload-time = "2025-09-19T00:35:48.597Z" }, + { url = "https://files.pythonhosted.org/packages/b4/7d/c4fcabf80dcdd6821c0578ad9b451f8640b9110fb3dcb74793dd077069ff/regex-2025.9.18-cp311-cp311-win_amd64.whl", hash = "sha256:7e2b414deae99166e22c005e154a5513ac31493db178d8aec92b3269c9cce8c9", size = 276160, upload-time = "2025-09-19T00:36:00.45Z" }, + { url = "https://files.pythonhosted.org/packages/64/f8/0e13c8ae4d6df9d128afaba138342d532283d53a4c1e7a8c93d6756c8f4a/regex-2025.9.18-cp311-cp311-win_arm64.whl", hash = "sha256:fb137ec7c5c54f34a25ff9b31f6b7b0c2757be80176435bf367111e3f71d72df", size = 268471, upload-time = "2025-09-19T00:36:02.149Z" }, + { url = "https://files.pythonhosted.org/packages/b0/99/05859d87a66ae7098222d65748f11ef7f2dff51bfd7482a4e2256c90d72b/regex-2025.9.18-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:436e1b31d7efd4dcd52091d076482031c611dde58bf9c46ca6d0a26e33053a7e", size = 486335, upload-time = "2025-09-19T00:36:03.661Z" }, + { url = "https://files.pythonhosted.org/packages/97/7e/d43d4e8b978890932cf7b0957fce58c5b08c66f32698f695b0c2c24a48bf/regex-2025.9.18-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c190af81e5576b9c5fdc708f781a52ff20f8b96386c6e2e0557a78402b029f4a", size = 289720, upload-time = "2025-09-19T00:36:05.471Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3b/ff80886089eb5dcf7e0d2040d9aaed539e25a94300403814bb24cc775058/regex-2025.9.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e4121f1ce2b2b5eec4b397cc1b277686e577e658d8f5870b7eb2d726bd2300ab", size = 287257, upload-time = "2025-09-19T00:36:07.072Z" }, + { url = "https://files.pythonhosted.org/packages/ee/66/243edf49dd8720cba8d5245dd4d6adcb03a1defab7238598c0c97cf549b8/regex-2025.9.18-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:300e25dbbf8299d87205e821a201057f2ef9aa3deb29caa01cd2cac669e508d5", size = 797463, upload-time = "2025-09-19T00:36:08.399Z" }, + { url = "https://files.pythonhosted.org/packages/df/71/c9d25a1142c70432e68bb03211d4a82299cd1c1fbc41db9409a394374ef5/regex-2025.9.18-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7b47fcf9f5316c0bdaf449e879407e1b9937a23c3b369135ca94ebc8d74b1742", size = 862670, upload-time = "2025-09-19T00:36:10.101Z" }, + { url = "https://files.pythonhosted.org/packages/f8/8f/329b1efc3a64375a294e3a92d43372bf1a351aa418e83c21f2f01cf6ec41/regex-2025.9.18-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:57a161bd3acaa4b513220b49949b07e252165e6b6dc910ee7617a37ff4f5b425", size = 910881, upload-time = "2025-09-19T00:36:12.223Z" }, + { url = "https://files.pythonhosted.org/packages/35/9e/a91b50332a9750519320ed30ec378b74c996f6befe282cfa6bb6cea7e9fd/regex-2025.9.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f130c3a7845ba42de42f380fff3c8aebe89a810747d91bcf56d40a069f15352", size = 802011, upload-time = "2025-09-19T00:36:13.901Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1d/6be3b8d7856b6e0d7ee7f942f437d0a76e0d5622983abbb6d21e21ab9a17/regex-2025.9.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f96fa342b6f54dcba928dd452e8d8cb9f0d63e711d1721cd765bb9f73bb048d", size = 786668, upload-time = "2025-09-19T00:36:15.391Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ce/4a60e53df58bd157c5156a1736d3636f9910bdcc271d067b32b7fcd0c3a8/regex-2025.9.18-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f0d676522d68c207828dcd01fb6f214f63f238c283d9f01d85fc664c7c85b56", size = 856578, upload-time = "2025-09-19T00:36:16.845Z" }, + { url = "https://files.pythonhosted.org/packages/86/e8/162c91bfe7217253afccde112868afb239f94703de6580fb235058d506a6/regex-2025.9.18-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:40532bff8a1a0621e7903ae57fce88feb2e8a9a9116d341701302c9302aef06e", size = 849017, upload-time = "2025-09-19T00:36:18.597Z" }, + { url = "https://files.pythonhosted.org/packages/35/34/42b165bc45289646ea0959a1bc7531733e90b47c56a72067adfe6b3251f6/regex-2025.9.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:039f11b618ce8d71a1c364fdee37da1012f5a3e79b1b2819a9f389cd82fd6282", size = 788150, upload-time = "2025-09-19T00:36:20.464Z" }, + { url = "https://files.pythonhosted.org/packages/79/5d/cdd13b1f3c53afa7191593a7ad2ee24092a5a46417725ffff7f64be8342d/regex-2025.9.18-cp312-cp312-win32.whl", hash = "sha256:e1dd06f981eb226edf87c55d523131ade7285137fbde837c34dc9d1bf309f459", size = 264536, upload-time = "2025-09-19T00:36:21.922Z" }, + { url = "https://files.pythonhosted.org/packages/e0/f5/4a7770c9a522e7d2dc1fa3ffc83ab2ab33b0b22b447e62cffef186805302/regex-2025.9.18-cp312-cp312-win_amd64.whl", hash = "sha256:3d86b5247bf25fa3715e385aa9ff272c307e0636ce0c9595f64568b41f0a9c77", size = 275501, upload-time = "2025-09-19T00:36:23.4Z" }, + { url = "https://files.pythonhosted.org/packages/df/05/9ce3e110e70d225ecbed455b966003a3afda5e58e8aec2964042363a18f4/regex-2025.9.18-cp312-cp312-win_arm64.whl", hash = "sha256:032720248cbeeae6444c269b78cb15664458b7bb9ed02401d3da59fe4d68c3a5", size = 268601, upload-time = "2025-09-19T00:36:25.092Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c7/5c48206a60ce33711cf7dcaeaed10dd737733a3569dc7e1dce324dd48f30/regex-2025.9.18-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2a40f929cd907c7e8ac7566ac76225a77701a6221bca937bdb70d56cb61f57b2", size = 485955, upload-time = "2025-09-19T00:36:26.822Z" }, + { url = "https://files.pythonhosted.org/packages/e9/be/74fc6bb19a3c491ec1ace943e622b5a8539068771e8705e469b2da2306a7/regex-2025.9.18-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c90471671c2cdf914e58b6af62420ea9ecd06d1554d7474d50133ff26ae88feb", size = 289583, upload-time = "2025-09-19T00:36:28.577Z" }, + { url = "https://files.pythonhosted.org/packages/25/c4/9ceaa433cb5dc515765560f22a19578b95b92ff12526e5a259321c4fc1a0/regex-2025.9.18-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a351aff9e07a2dabb5022ead6380cff17a4f10e4feb15f9100ee56c4d6d06af", size = 287000, upload-time = "2025-09-19T00:36:30.161Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e6/68bc9393cb4dc68018456568c048ac035854b042bc7c33cb9b99b0680afa/regex-2025.9.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc4b8e9d16e20ddfe16430c23468a8707ccad3365b06d4536142e71823f3ca29", size = 797535, upload-time = "2025-09-19T00:36:31.876Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/ebae9032d34b78ecfe9bd4b5e6575b55351dc8513485bb92326613732b8c/regex-2025.9.18-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b8cdbddf2db1c5e80338ba2daa3cfa3dec73a46fff2a7dda087c8efbf12d62f", size = 862603, upload-time = "2025-09-19T00:36:33.344Z" }, + { url = "https://files.pythonhosted.org/packages/3b/74/12332c54b3882557a4bcd2b99f8be581f5c6a43cf1660a85b460dd8ff468/regex-2025.9.18-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a276937d9d75085b2c91fb48244349c6954f05ee97bba0963ce24a9d915b8b68", size = 910829, upload-time = "2025-09-19T00:36:34.826Z" }, + { url = "https://files.pythonhosted.org/packages/86/70/ba42d5ed606ee275f2465bfc0e2208755b06cdabd0f4c7c4b614d51b57ab/regex-2025.9.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92a8e375ccdc1256401c90e9dc02b8642894443d549ff5e25e36d7cf8a80c783", size = 802059, upload-time = "2025-09-19T00:36:36.664Z" }, + { url = "https://files.pythonhosted.org/packages/da/c5/fcb017e56396a7f2f8357412638d7e2963440b131a3ca549be25774b3641/regex-2025.9.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0dc6893b1f502d73037cf807a321cdc9be29ef3d6219f7970f842475873712ac", size = 786781, upload-time = "2025-09-19T00:36:38.168Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ee/21c4278b973f630adfb3bcb23d09d83625f3ab1ca6e40ebdffe69901c7a1/regex-2025.9.18-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a61e85bfc63d232ac14b015af1261f826260c8deb19401c0597dbb87a864361e", size = 856578, upload-time = "2025-09-19T00:36:40.129Z" }, + { url = "https://files.pythonhosted.org/packages/87/0b/de51550dc7274324435c8f1539373ac63019b0525ad720132866fff4a16a/regex-2025.9.18-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1ef86a9ebc53f379d921fb9a7e42b92059ad3ee800fcd9e0fe6181090e9f6c23", size = 849119, upload-time = "2025-09-19T00:36:41.651Z" }, + { url = "https://files.pythonhosted.org/packages/60/52/383d3044fc5154d9ffe4321696ee5b2ee4833a28c29b137c22c33f41885b/regex-2025.9.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d3bc882119764ba3a119fbf2bd4f1b47bc56c1da5d42df4ed54ae1e8e66fdf8f", size = 788219, upload-time = "2025-09-19T00:36:43.575Z" }, + { url = "https://files.pythonhosted.org/packages/20/bd/2614fc302671b7359972ea212f0e3a92df4414aaeacab054a8ce80a86073/regex-2025.9.18-cp313-cp313-win32.whl", hash = "sha256:3810a65675845c3bdfa58c3c7d88624356dd6ee2fc186628295e0969005f928d", size = 264517, upload-time = "2025-09-19T00:36:45.503Z" }, + { url = "https://files.pythonhosted.org/packages/07/0f/ab5c1581e6563a7bffdc1974fb2d25f05689b88e2d416525271f232b1946/regex-2025.9.18-cp313-cp313-win_amd64.whl", hash = "sha256:16eaf74b3c4180ede88f620f299e474913ab6924d5c4b89b3833bc2345d83b3d", size = 275481, upload-time = "2025-09-19T00:36:46.965Z" }, + { url = "https://files.pythonhosted.org/packages/49/22/ee47672bc7958f8c5667a587c2600a4fba8b6bab6e86bd6d3e2b5f7cac42/regex-2025.9.18-cp313-cp313-win_arm64.whl", hash = "sha256:4dc98ba7dd66bd1261927a9f49bd5ee2bcb3660f7962f1ec02617280fc00f5eb", size = 268598, upload-time = "2025-09-19T00:36:48.314Z" }, + { url = "https://files.pythonhosted.org/packages/e8/83/6887e16a187c6226cb85d8301e47d3b73ecc4505a3a13d8da2096b44fd76/regex-2025.9.18-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:fe5d50572bc885a0a799410a717c42b1a6b50e2f45872e2b40f4f288f9bce8a2", size = 489765, upload-time = "2025-09-19T00:36:49.996Z" }, + { url = "https://files.pythonhosted.org/packages/51/c5/e2f7325301ea2916ff301c8d963ba66b1b2c1b06694191df80a9c4fea5d0/regex-2025.9.18-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b9d9a2d6cda6621551ca8cf7a06f103adf72831153f3c0d982386110870c4d3", size = 291228, upload-time = "2025-09-19T00:36:51.654Z" }, + { url = "https://files.pythonhosted.org/packages/91/60/7d229d2bc6961289e864a3a3cfebf7d0d250e2e65323a8952cbb7e22d824/regex-2025.9.18-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:13202e4c4ac0ef9a317fff817674b293c8f7e8c68d3190377d8d8b749f566e12", size = 289270, upload-time = "2025-09-19T00:36:53.118Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d7/b4f06868ee2958ff6430df89857fbf3d43014bbf35538b6ec96c2704e15d/regex-2025.9.18-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:874ff523b0fecffb090f80ae53dc93538f8db954c8bb5505f05b7787ab3402a0", size = 806326, upload-time = "2025-09-19T00:36:54.631Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e4/bca99034a8f1b9b62ccf337402a8e5b959dd5ba0e5e5b2ead70273df3277/regex-2025.9.18-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d13ab0490128f2bb45d596f754148cd750411afc97e813e4b3a61cf278a23bb6", size = 871556, upload-time = "2025-09-19T00:36:56.208Z" }, + { url = "https://files.pythonhosted.org/packages/6d/df/e06ffaf078a162f6dd6b101a5ea9b44696dca860a48136b3ae4a9caf25e2/regex-2025.9.18-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:05440bc172bc4b4b37fb9667e796597419404dbba62e171e1f826d7d2a9ebcef", size = 913817, upload-time = "2025-09-19T00:36:57.807Z" }, + { url = "https://files.pythonhosted.org/packages/9e/05/25b05480b63292fd8e84800b1648e160ca778127b8d2367a0a258fa2e225/regex-2025.9.18-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5514b8e4031fdfaa3d27e92c75719cbe7f379e28cacd939807289bce76d0e35a", size = 811055, upload-time = "2025-09-19T00:36:59.762Z" }, + { url = "https://files.pythonhosted.org/packages/70/97/7bc7574655eb651ba3a916ed4b1be6798ae97af30104f655d8efd0cab24b/regex-2025.9.18-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:65d3c38c39efce73e0d9dc019697b39903ba25b1ad45ebbd730d2cf32741f40d", size = 794534, upload-time = "2025-09-19T00:37:01.405Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c2/d5da49166a52dda879855ecdba0117f073583db2b39bb47ce9a3378a8e9e/regex-2025.9.18-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ae77e447ebc144d5a26d50055c6ddba1d6ad4a865a560ec7200b8b06bc529368", size = 866684, upload-time = "2025-09-19T00:37:03.441Z" }, + { url = "https://files.pythonhosted.org/packages/bd/2d/0a5c4e6ec417de56b89ff4418ecc72f7e3feca806824c75ad0bbdae0516b/regex-2025.9.18-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e3ef8cf53dc8df49d7e28a356cf824e3623764e9833348b655cfed4524ab8a90", size = 853282, upload-time = "2025-09-19T00:37:04.985Z" }, + { url = "https://files.pythonhosted.org/packages/f4/8e/d656af63e31a86572ec829665d6fa06eae7e144771e0330650a8bb865635/regex-2025.9.18-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9feb29817df349c976da9a0debf775c5c33fc1c8ad7b9f025825da99374770b7", size = 797830, upload-time = "2025-09-19T00:37:06.697Z" }, + { url = "https://files.pythonhosted.org/packages/db/ce/06edc89df8f7b83ffd321b6071be4c54dc7332c0f77860edc40ce57d757b/regex-2025.9.18-cp313-cp313t-win32.whl", hash = "sha256:168be0d2f9b9d13076940b1ed774f98595b4e3c7fc54584bba81b3cc4181742e", size = 267281, upload-time = "2025-09-19T00:37:08.568Z" }, + { url = "https://files.pythonhosted.org/packages/83/9a/2b5d9c8b307a451fd17068719d971d3634ca29864b89ed5c18e499446d4a/regex-2025.9.18-cp313-cp313t-win_amd64.whl", hash = "sha256:d59ecf3bb549e491c8104fea7313f3563c7b048e01287db0a90485734a70a730", size = 278724, upload-time = "2025-09-19T00:37:10.023Z" }, + { url = "https://files.pythonhosted.org/packages/3d/70/177d31e8089a278a764f8ec9a3faac8d14a312d622a47385d4b43905806f/regex-2025.9.18-cp313-cp313t-win_arm64.whl", hash = "sha256:dbef80defe9fb21310948a2595420b36c6d641d9bea4c991175829b2cc4bc06a", size = 269771, upload-time = "2025-09-19T00:37:13.041Z" }, + { url = "https://files.pythonhosted.org/packages/44/b7/3b4663aa3b4af16819f2ab6a78c4111c7e9b066725d8107753c2257448a5/regex-2025.9.18-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c6db75b51acf277997f3adcd0ad89045d856190d13359f15ab5dda21581d9129", size = 486130, upload-time = "2025-09-19T00:37:14.527Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/4533f5d7ac9c6a02a4725fe8883de2aebc713e67e842c04cf02626afb747/regex-2025.9.18-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8f9698b6f6895d6db810e0bda5364f9ceb9e5b11328700a90cae573574f61eea", size = 289539, upload-time = "2025-09-19T00:37:16.356Z" }, + { url = "https://files.pythonhosted.org/packages/b8/8d/5ab6797c2750985f79e9995fad3254caa4520846580f266ae3b56d1cae58/regex-2025.9.18-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29cd86aa7cb13a37d0f0d7c21d8d949fe402ffa0ea697e635afedd97ab4b69f1", size = 287233, upload-time = "2025-09-19T00:37:18.025Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/95afcb02ba8d3a64e6ffeb801718ce73471ad6440c55d993f65a4a5e7a92/regex-2025.9.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7c9f285a071ee55cd9583ba24dde006e53e17780bb309baa8e4289cd472bcc47", size = 797876, upload-time = "2025-09-19T00:37:19.609Z" }, + { url = "https://files.pythonhosted.org/packages/c8/fb/720b1f49cec1f3b5a9fea5b34cd22b88b5ebccc8c1b5de9cc6f65eed165a/regex-2025.9.18-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5adf266f730431e3be9021d3e5b8d5ee65e563fec2883ea8093944d21863b379", size = 863385, upload-time = "2025-09-19T00:37:21.65Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ca/e0d07ecf701e1616f015a720dc13b84c582024cbfbb3fc5394ae204adbd7/regex-2025.9.18-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1137cabc0f38807de79e28d3f6e3e3f2cc8cfb26bead754d02e6d1de5f679203", size = 910220, upload-time = "2025-09-19T00:37:23.723Z" }, + { url = "https://files.pythonhosted.org/packages/b6/45/bba86413b910b708eca705a5af62163d5d396d5f647ed9485580c7025209/regex-2025.9.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7cc9e5525cada99699ca9223cce2d52e88c52a3d2a0e842bd53de5497c604164", size = 801827, upload-time = "2025-09-19T00:37:25.684Z" }, + { url = "https://files.pythonhosted.org/packages/b8/a6/740fbd9fcac31a1305a8eed30b44bf0f7f1e042342be0a4722c0365ecfca/regex-2025.9.18-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:bbb9246568f72dce29bcd433517c2be22c7791784b223a810225af3b50d1aafb", size = 786843, upload-time = "2025-09-19T00:37:27.62Z" }, + { url = "https://files.pythonhosted.org/packages/80/a7/0579e8560682645906da640c9055506465d809cb0f5415d9976f417209a6/regex-2025.9.18-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:6a52219a93dd3d92c675383efff6ae18c982e2d7651c792b1e6d121055808743", size = 857430, upload-time = "2025-09-19T00:37:29.362Z" }, + { url = "https://files.pythonhosted.org/packages/8d/9b/4dc96b6c17b38900cc9fee254fc9271d0dde044e82c78c0811b58754fde5/regex-2025.9.18-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:ae9b3840c5bd456780e3ddf2f737ab55a79b790f6409182012718a35c6d43282", size = 848612, upload-time = "2025-09-19T00:37:31.42Z" }, + { url = "https://files.pythonhosted.org/packages/b3/6a/6f659f99bebb1775e5ac81a3fb837b85897c1a4ef5acffd0ff8ffe7e67fb/regex-2025.9.18-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d488c236ac497c46a5ac2005a952c1a0e22a07be9f10c3e735bc7d1209a34773", size = 787967, upload-time = "2025-09-19T00:37:34.019Z" }, + { url = "https://files.pythonhosted.org/packages/61/35/9e35665f097c07cf384a6b90a1ac11b0b1693084a0b7a675b06f760496c6/regex-2025.9.18-cp314-cp314-win32.whl", hash = "sha256:0c3506682ea19beefe627a38872d8da65cc01ffa25ed3f2e422dffa1474f0788", size = 269847, upload-time = "2025-09-19T00:37:35.759Z" }, + { url = "https://files.pythonhosted.org/packages/af/64/27594dbe0f1590b82de2821ebfe9a359b44dcb9b65524876cd12fabc447b/regex-2025.9.18-cp314-cp314-win_amd64.whl", hash = "sha256:57929d0f92bebb2d1a83af372cd0ffba2263f13f376e19b1e4fa32aec4efddc3", size = 278755, upload-time = "2025-09-19T00:37:37.367Z" }, + { url = "https://files.pythonhosted.org/packages/30/a3/0cd8d0d342886bd7d7f252d701b20ae1a3c72dc7f34ef4b2d17790280a09/regex-2025.9.18-cp314-cp314-win_arm64.whl", hash = "sha256:6a4b44df31d34fa51aa5c995d3aa3c999cec4d69b9bd414a8be51984d859f06d", size = 271873, upload-time = "2025-09-19T00:37:39.125Z" }, + { url = "https://files.pythonhosted.org/packages/99/cb/8a1ab05ecf404e18b54348e293d9b7a60ec2bd7aa59e637020c5eea852e8/regex-2025.9.18-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b176326bcd544b5e9b17d6943f807697c0cb7351f6cfb45bf5637c95ff7e6306", size = 489773, upload-time = "2025-09-19T00:37:40.968Z" }, + { url = "https://files.pythonhosted.org/packages/93/3b/6543c9b7f7e734d2404fa2863d0d710c907bef99d4598760ed4563d634c3/regex-2025.9.18-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:0ffd9e230b826b15b369391bec167baed57c7ce39efc35835448618860995946", size = 291221, upload-time = "2025-09-19T00:37:42.901Z" }, + { url = "https://files.pythonhosted.org/packages/cd/91/e9fdee6ad6bf708d98c5d17fded423dcb0661795a49cba1b4ffb8358377a/regex-2025.9.18-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ec46332c41add73f2b57e2f5b642f991f6b15e50e9f86285e08ffe3a512ac39f", size = 289268, upload-time = "2025-09-19T00:37:44.823Z" }, + { url = "https://files.pythonhosted.org/packages/94/a6/bc3e8a918abe4741dadeaeb6c508e3a4ea847ff36030d820d89858f96a6c/regex-2025.9.18-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b80fa342ed1ea095168a3f116637bd1030d39c9ff38dc04e54ef7c521e01fc95", size = 806659, upload-time = "2025-09-19T00:37:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/2b/71/ea62dbeb55d9e6905c7b5a49f75615ea1373afcad95830047e4e310db979/regex-2025.9.18-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f4d97071c0ba40f0cf2a93ed76e660654c399a0a04ab7d85472239460f3da84b", size = 871701, upload-time = "2025-09-19T00:37:48.882Z" }, + { url = "https://files.pythonhosted.org/packages/6a/90/fbe9dedb7dad24a3a4399c0bae64bfa932ec8922a0a9acf7bc88db30b161/regex-2025.9.18-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0ac936537ad87cef9e0e66c5144484206c1354224ee811ab1519a32373e411f3", size = 913742, upload-time = "2025-09-19T00:37:51.015Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1c/47e4a8c0e73d41eb9eb9fdeba3b1b810110a5139a2526e82fd29c2d9f867/regex-2025.9.18-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dec57f96d4def58c422d212d414efe28218d58537b5445cf0c33afb1b4768571", size = 811117, upload-time = "2025-09-19T00:37:52.686Z" }, + { url = "https://files.pythonhosted.org/packages/2a/da/435f29fddfd015111523671e36d30af3342e8136a889159b05c1d9110480/regex-2025.9.18-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:48317233294648bf7cd068857f248e3a57222259a5304d32c7552e2284a1b2ad", size = 794647, upload-time = "2025-09-19T00:37:54.626Z" }, + { url = "https://files.pythonhosted.org/packages/23/66/df5e6dcca25c8bc57ce404eebc7342310a0d218db739d7882c9a2b5974a3/regex-2025.9.18-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:274687e62ea3cf54846a9b25fc48a04459de50af30a7bd0b61a9e38015983494", size = 866747, upload-time = "2025-09-19T00:37:56.367Z" }, + { url = "https://files.pythonhosted.org/packages/82/42/94392b39b531f2e469b2daa40acf454863733b674481fda17462a5ffadac/regex-2025.9.18-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a78722c86a3e7e6aadf9579e3b0ad78d955f2d1f1a8ca4f67d7ca258e8719d4b", size = 853434, upload-time = "2025-09-19T00:37:58.39Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f8/dcc64c7f7bbe58842a8f89622b50c58c3598fbbf4aad0a488d6df2c699f1/regex-2025.9.18-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:06104cd203cdef3ade989a1c45b6215bf42f8b9dd705ecc220c173233f7cba41", size = 798024, upload-time = "2025-09-19T00:38:00.397Z" }, + { url = "https://files.pythonhosted.org/packages/20/8d/edf1c5d5aa98f99a692313db813ec487732946784f8f93145e0153d910e5/regex-2025.9.18-cp314-cp314t-win32.whl", hash = "sha256:2e1eddc06eeaffd249c0adb6fafc19e2118e6308c60df9db27919e96b5656096", size = 273029, upload-time = "2025-09-19T00:38:02.383Z" }, + { url = "https://files.pythonhosted.org/packages/a7/24/02d4e4f88466f17b145f7ea2b2c11af3a942db6222429c2c146accf16054/regex-2025.9.18-cp314-cp314t-win_amd64.whl", hash = "sha256:8620d247fb8c0683ade51217b459cb4a1081c0405a3072235ba43a40d355c09a", size = 282680, upload-time = "2025-09-19T00:38:04.102Z" }, + { url = "https://files.pythonhosted.org/packages/1f/a3/c64894858aaaa454caa7cc47e2f225b04d3ed08ad649eacf58d45817fad2/regex-2025.9.18-cp314-cp314t-win_arm64.whl", hash = "sha256:b7531a8ef61de2c647cdf68b3229b071e46ec326b3138b2180acb4275f470b01", size = 273034, upload-time = "2025-09-19T00:38:05.807Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d", size = 14239, upload-time = "2025-07-18T01:05:05.015Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f", size = 8046, upload-time = "2025-07-18T01:05:03.843Z" }, +] + +[[package]] +name = "rich" +version = "13.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/29/395e31686066cee66f8c0809d98b5e68d0f0c9b67e80f956b5659c8113fb/rich-13.3.0.tar.gz", hash = "sha256:98ce3ede653f23fbc02b0f8bd8a16a6b2bb4cfbdcfccf736eb28ba2810af241e", size = 220837, upload-time = "2023-01-27T17:20:36.359Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/53/df/e75dcda730fc18a9b6514e6c585ddae8ab39f893e11b272cffb843519fb2/rich-13.3.0-py3-none-any.whl", hash = "sha256:dd62e48284e540ae03235258699c07d5b48dbc1fd1905c6091b5ce72d7c69195", size = 238955, upload-time = "2023-01-27T17:20:34.058Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606, upload-time = "2025-08-27T12:12:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452, upload-time = "2025-08-27T12:12:27.433Z" }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519, upload-time = "2025-08-27T12:12:28.719Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424, upload-time = "2025-08-27T12:12:30.207Z" }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467, upload-time = "2025-08-27T12:12:31.808Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660, upload-time = "2025-08-27T12:12:33.444Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062, upload-time = "2025-08-27T12:12:34.857Z" }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289, upload-time = "2025-08-27T12:12:36.085Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718, upload-time = "2025-08-27T12:12:37.401Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333, upload-time = "2025-08-27T12:12:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127, upload-time = "2025-08-27T12:12:41.48Z" }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899, upload-time = "2025-08-27T12:12:42.925Z" }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450, upload-time = "2025-08-27T12:12:44.813Z" }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447, upload-time = "2025-08-27T12:12:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063, upload-time = "2025-08-27T12:12:47.856Z" }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210, upload-time = "2025-08-27T12:12:49.187Z" }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636, upload-time = "2025-08-27T12:12:50.492Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341, upload-time = "2025-08-27T12:12:52.024Z" }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428, upload-time = "2025-08-27T12:12:53.779Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923, upload-time = "2025-08-27T12:12:55.15Z" }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094, upload-time = "2025-08-27T12:12:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093, upload-time = "2025-08-27T12:12:58.985Z" }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969, upload-time = "2025-08-27T12:13:00.367Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302, upload-time = "2025-08-27T12:13:01.737Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259, upload-time = "2025-08-27T12:13:03.127Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983, upload-time = "2025-08-27T12:13:04.516Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154, upload-time = "2025-08-27T12:13:06.278Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627, upload-time = "2025-08-27T12:13:07.625Z" }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998, upload-time = "2025-08-27T12:13:08.972Z" }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412, upload-time = "2025-08-27T12:15:33.839Z" }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972, upload-time = "2025-08-27T12:15:35.377Z" }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273, upload-time = "2025-08-27T12:15:37.051Z" }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278, upload-time = "2025-08-27T12:15:38.571Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084, upload-time = "2025-08-27T12:15:40.529Z" }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041, upload-time = "2025-08-27T12:15:42.191Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084, upload-time = "2025-08-27T12:15:43.839Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115, upload-time = "2025-08-27T12:15:46.647Z" }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561, upload-time = "2025-08-27T12:15:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125, upload-time = "2025-08-27T12:15:49.956Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402, upload-time = "2025-08-27T12:15:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084, upload-time = "2025-08-27T12:15:53.219Z" }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090, upload-time = "2025-08-27T12:15:55.158Z" }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519, upload-time = "2025-08-27T12:15:57.238Z" }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817, upload-time = "2025-08-27T12:15:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240, upload-time = "2025-08-27T12:16:00.923Z" }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194, upload-time = "2025-08-27T12:16:02.802Z" }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086, upload-time = "2025-08-27T12:16:04.806Z" }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272, upload-time = "2025-08-27T12:16:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, +] + +[[package]] +name = "ruamel-yaml" +version = "0.18.15" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ruamel-yaml-clib", marker = "python_full_version < '3.14' and platform_python_implementation == 'CPython'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3e/db/f3950f5e5031b618aae9f423a39bf81a55c148aecd15a34527898e752cf4/ruamel.yaml-0.18.15.tar.gz", hash = "sha256:dbfca74b018c4c3fba0b9cc9ee33e53c371194a9000e694995e620490fd40700", size = 146865, upload-time = "2025-08-19T11:15:10.694Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/e5/f2a0621f1781b76a38194acae72f01e37b1941470407345b6e8653ad7640/ruamel.yaml-0.18.15-py3-none-any.whl", hash = "sha256:148f6488d698b7a5eded5ea793a025308b25eca97208181b6a026037f391f701", size = 119702, upload-time = "2025-08-19T11:15:07.696Z" }, +] + +[[package]] +name = "ruamel-yaml-clib" +version = "0.2.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/e9/39ec4d4b3f91188fad1842748f67d4e749c77c37e353c4e545052ee8e893/ruamel.yaml.clib-0.2.14.tar.gz", hash = "sha256:803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e", size = 225394, upload-time = "2025-09-22T19:51:23.753Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b4/56/35a0a752415ae01992c68f5a6513bdef0e1b6fbdb60d7619342ce12346a0/ruamel.yaml.clib-0.2.14-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f8b2acb0ffdd2ce8208accbec2dca4a06937d556fdcaefd6473ba1b5daa7e3c4", size = 269216, upload-time = "2025-09-23T14:24:09.742Z" }, + { url = "https://files.pythonhosted.org/packages/98/6a/9a68184ab93619f4607ff1675e4ef01e8accfcbff0d482f4ca44c10d8eab/ruamel.yaml.clib-0.2.14-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:aef953f3b8bd0b50bd52a2e52fb54a6a2171a1889d8dea4a5959d46c6624c451", size = 137092, upload-time = "2025-09-22T19:50:26.906Z" }, + { url = "https://files.pythonhosted.org/packages/2b/3f/cfed5f088628128a9ec66f46794fd4d165642155c7b78c26d83b16c6bf7b/ruamel.yaml.clib-0.2.14-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a0ac90efbc7a77b0d796c03c8cc4e62fd710b3f1e4c32947713ef2ef52e09543", size = 633768, upload-time = "2025-09-22T19:50:31.228Z" }, + { url = "https://files.pythonhosted.org/packages/3a/d5/5ce2cc156c1da48160171968d91f066d305840fbf930ee955a509d025a44/ruamel.yaml.clib-0.2.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9bf6b699223afe6c7fe9f2ef76e0bfa6dd892c21e94ce8c957478987ade76cd8", size = 721253, upload-time = "2025-09-22T19:50:28.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/71/d0b56bc902b38ebe4be8e270f730f929eec4edaf8a0fa7028f4ef64fa950/ruamel.yaml.clib-0.2.14-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d73a0187718f6eec5b2f729b0f98e4603f7bd9c48aa65d01227d1a5dcdfbe9e8", size = 683823, upload-time = "2025-09-22T19:50:29.993Z" }, + { url = "https://files.pythonhosted.org/packages/4b/db/1f37449dd89c540218598316ccafc1a0aed60215e72efa315c5367cfd015/ruamel.yaml.clib-0.2.14-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81f6d3b19bc703679a5705c6a16dabdc79823c71d791d73c65949be7f3012c02", size = 690370, upload-time = "2025-09-23T18:42:46.797Z" }, + { url = "https://files.pythonhosted.org/packages/5d/53/c498b30f35efcd9f47cb084d7ad9374f2b907470f73913dec6396b81397d/ruamel.yaml.clib-0.2.14-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b28caeaf3e670c08cb7e8de221266df8494c169bd6ed8875493fab45be9607a4", size = 703578, upload-time = "2025-09-22T19:50:32.531Z" }, + { url = "https://files.pythonhosted.org/packages/34/79/492cfad9baed68914840c39e5f3c1cc251f51a897ddb3f532601215cbb12/ruamel.yaml.clib-0.2.14-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94f3efb718f8f49b031f2071ec7a27dd20cbfe511b4dfd54ecee54c956da2b31", size = 722544, upload-time = "2025-09-22T19:50:34.157Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f5/479ebfd5ba396e209ade90f7282d84b90c57b3e07be8dc6fcd02a6df7ffc/ruamel.yaml.clib-0.2.14-cp310-cp310-win32.whl", hash = "sha256:27c070cf3888e90d992be75dd47292ff9aa17dafd36492812a6a304a1aedc182", size = 100375, upload-time = "2025-09-22T19:50:36.832Z" }, + { url = "https://files.pythonhosted.org/packages/57/31/a044520fdb3bd409889f67f1efebda0658033c7ab3f390cee37531cc9a9e/ruamel.yaml.clib-0.2.14-cp310-cp310-win_amd64.whl", hash = "sha256:4f4a150a737fccae13fb51234d41304ff2222e3b7d4c8e9428ed1a6ab48389b8", size = 118129, upload-time = "2025-09-22T19:50:35.545Z" }, + { url = "https://files.pythonhosted.org/packages/b3/9f/3c51e9578b8c36fcc4bdd271a1a5bb65963a74a4b6ad1a989768a22f6c2a/ruamel.yaml.clib-0.2.14-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5bae1a073ca4244620425cd3d3aa9746bde590992b98ee8c7c8be8c597ca0d4e", size = 270207, upload-time = "2025-09-23T14:24:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/4a/16/cb02815bc2ae9c66760c0c061d23c7358f9ba51dae95ac85247662b7fbe2/ruamel.yaml.clib-0.2.14-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:0a54e5e40a7a691a426c2703b09b0d61a14294d25cfacc00631aa6f9c964df0d", size = 137780, upload-time = "2025-09-22T19:50:37.734Z" }, + { url = "https://files.pythonhosted.org/packages/31/c6/fc687cd1b93bff8e40861eea46d6dc1a6a778d9a085684e4045ff26a8e40/ruamel.yaml.clib-0.2.14-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:10d9595b6a19778f3269399eff6bab642608e5966183abc2adbe558a42d4efc9", size = 641590, upload-time = "2025-09-22T19:50:41.978Z" }, + { url = "https://files.pythonhosted.org/packages/45/5d/65a2bc08b709b08576b3f307bf63951ee68a8e047cbbda6f1c9864ecf9a7/ruamel.yaml.clib-0.2.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dba72975485f2b87b786075e18a6e5d07dc2b4d8973beb2732b9b2816f1bad70", size = 738090, upload-time = "2025-09-22T19:50:39.152Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d0/a70a03614d9a6788a3661ab1538879ed2aae4e84d861f101243116308a37/ruamel.yaml.clib-0.2.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29757bdb7c142f9595cc1b62ec49a3d1c83fab9cef92db52b0ccebaad4eafb98", size = 700744, upload-time = "2025-09-22T19:50:40.811Z" }, + { url = "https://files.pythonhosted.org/packages/77/30/c93fa457611f79946d5cb6cc97493ca5425f3f21891d7b1f9b44eaa1b38e/ruamel.yaml.clib-0.2.14-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:557df28dbccf79b152fe2d1b935f6063d9cc431199ea2b0e84892f35c03bb0ee", size = 742321, upload-time = "2025-09-23T18:42:48.916Z" }, + { url = "https://files.pythonhosted.org/packages/40/85/e2c54ad637117cd13244a4649946eaa00f32edcb882d1f92df90e079ab00/ruamel.yaml.clib-0.2.14-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:26a8de280ab0d22b6e3ec745b4a5a07151a0f74aad92dd76ab9c8d8d7087720d", size = 743805, upload-time = "2025-09-22T19:50:43.58Z" }, + { url = "https://files.pythonhosted.org/packages/81/50/f899072c38877d8ef5382e0b3d47f8c4346226c1f52d6945d6f64fec6a2f/ruamel.yaml.clib-0.2.14-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e501c096aa3889133d674605ebd018471bc404a59cbc17da3c5924421c54d97c", size = 769529, upload-time = "2025-09-22T19:50:45.707Z" }, + { url = "https://files.pythonhosted.org/packages/99/7c/96d4b5075e30c65ea2064e40c2d657c7c235d7b6ef18751cf89a935b9041/ruamel.yaml.clib-0.2.14-cp311-cp311-win32.whl", hash = "sha256:915748cfc25b8cfd81b14d00f4bfdb2ab227a30d6d43459034533f4d1c207a2a", size = 100256, upload-time = "2025-09-22T19:50:48.26Z" }, + { url = "https://files.pythonhosted.org/packages/7d/8c/73ee2babd04e8bfcf1fd5c20aa553d18bf0ebc24b592b4f831d12ae46cc0/ruamel.yaml.clib-0.2.14-cp311-cp311-win_amd64.whl", hash = "sha256:4ccba93c1e5a40af45b2f08e4591969fa4697eae951c708f3f83dcbf9f6c6bb1", size = 118234, upload-time = "2025-09-22T19:50:47.019Z" }, + { url = "https://files.pythonhosted.org/packages/b4/42/ccfb34a25289afbbc42017e4d3d4288e61d35b2e00cfc6b92974a6a1f94b/ruamel.yaml.clib-0.2.14-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6aeadc170090ff1889f0d2c3057557f9cd71f975f17535c26a5d37af98f19c27", size = 271775, upload-time = "2025-09-23T14:24:12.771Z" }, + { url = "https://files.pythonhosted.org/packages/82/73/e628a92e80197ff6a79ab81ec3fa00d4cc082d58ab78d3337b7ba7043301/ruamel.yaml.clib-0.2.14-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:5e56ac47260c0eed992789fa0b8efe43404a9adb608608631a948cee4fc2b052", size = 138842, upload-time = "2025-09-22T19:50:49.156Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c5/346c7094344a60419764b4b1334d9e0285031c961176ff88ffb652405b0c/ruamel.yaml.clib-0.2.14-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:a911aa73588d9a8b08d662b9484bc0567949529824a55d3885b77e8dd62a127a", size = 647404, upload-time = "2025-09-22T19:50:52.921Z" }, + { url = "https://files.pythonhosted.org/packages/df/99/65080c863eb06d4498de3d6c86f3e90595e02e159fd8529f1565f56cfe2c/ruamel.yaml.clib-0.2.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05ba88adf3d7189a974b2de7a9d56731548d35dc0a822ec3dc669caa7019b29", size = 753141, upload-time = "2025-09-22T19:50:50.294Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e3/0de85f3e3333f8e29e4b10244374a202a87665d1131798946ee22cf05c7c/ruamel.yaml.clib-0.2.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb04c5650de6668b853623eceadcdb1a9f2fee381f5d7b6bc842ee7c239eeec4", size = 703477, upload-time = "2025-09-22T19:50:51.508Z" }, + { url = "https://files.pythonhosted.org/packages/d9/25/0d2f09d8833c7fd77ab8efeff213093c16856479a9d293180a0d89f6bed9/ruamel.yaml.clib-0.2.14-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df3ec9959241d07bc261f4983d25a1205ff37703faf42b474f15d54d88b4f8c9", size = 741157, upload-time = "2025-09-23T18:42:50.408Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8c/959f10c2e2153cbdab834c46e6954b6dd9e3b109c8f8c0a3cf1618310985/ruamel.yaml.clib-0.2.14-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fbc08c02e9b147a11dfcaa1ac8a83168b699863493e183f7c0c8b12850b7d259", size = 745859, upload-time = "2025-09-22T19:50:54.497Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6b/e580a7c18b485e1a5f30a32cda96b20364b0ba649d9d2baaf72f8bd21f83/ruamel.yaml.clib-0.2.14-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c099cafc1834d3c5dac305865d04235f7c21c167c8dd31ebc3d6bbc357e2f023", size = 770200, upload-time = "2025-09-22T19:50:55.718Z" }, + { url = "https://files.pythonhosted.org/packages/ef/44/3455eebc761dc8e8fdced90f2b0a3fa61e32ba38b50de4130e2d57db0f21/ruamel.yaml.clib-0.2.14-cp312-cp312-win32.whl", hash = "sha256:b5b0f7e294700b615a3bcf6d28b26e6da94e8eba63b079f4ec92e9ba6c0d6b54", size = 98829, upload-time = "2025-09-22T19:50:58.895Z" }, + { url = "https://files.pythonhosted.org/packages/76/ab/5121f7f3b651db93de546f8c982c241397aad0a4765d793aca1dac5eadee/ruamel.yaml.clib-0.2.14-cp312-cp312-win_amd64.whl", hash = "sha256:a37f40a859b503304dd740686359fcf541d6fb3ff7fc10f539af7f7150917c68", size = 115570, upload-time = "2025-09-22T19:50:57.981Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ae/e3811f05415594025e96000349d3400978adaed88d8f98d494352d9761ee/ruamel.yaml.clib-0.2.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7e4f9da7e7549946e02a6122dcad00b7c1168513acb1f8a726b1aaf504a99d32", size = 269205, upload-time = "2025-09-23T14:24:15.06Z" }, + { url = "https://files.pythonhosted.org/packages/72/06/7d51f4688d6d72bb72fa74254e1593c4f5ebd0036be5b41fe39315b275e9/ruamel.yaml.clib-0.2.14-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:dd7546c851e59c06197a7c651335755e74aa383a835878ca86d2c650c07a2f85", size = 137417, upload-time = "2025-09-22T19:50:59.82Z" }, + { url = "https://files.pythonhosted.org/packages/5a/08/b4499234a420ef42960eeb05585df5cc7eb25ccb8c980490b079e6367050/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:1c1acc3a0209ea9042cc3cfc0790edd2eddd431a2ec3f8283d081e4d5018571e", size = 642558, upload-time = "2025-09-22T19:51:03.388Z" }, + { url = "https://files.pythonhosted.org/packages/b6/ba/1975a27dedf1c4c33306ee67c948121be8710b19387aada29e2f139c43ee/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2070bf0ad1540d5c77a664de07ebcc45eebd1ddcab71a7a06f26936920692beb", size = 744087, upload-time = "2025-09-22T19:51:00.897Z" }, + { url = "https://files.pythonhosted.org/packages/20/15/8a19a13d27f3bd09fa18813add8380a29115a47b553845f08802959acbce/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd8fe07f49c170e09d76773fb86ad9135e0beee44f36e1576a201b0676d3d1d", size = 699709, upload-time = "2025-09-22T19:51:02.075Z" }, + { url = "https://files.pythonhosted.org/packages/19/ee/8d6146a079ad21e534b5083c9ee4a4c8bec42f79cf87594b60978286b39a/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ff86876889ea478b1381089e55cf9e345707b312beda4986f823e1d95e8c0f59", size = 708926, upload-time = "2025-09-23T18:42:51.707Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/426b714abdc222392e68f3b8ad323930d05a214a27c7e7a0f06c69126401/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1f118b707eece8cf84ecbc3e3ec94d9db879d85ed608f95870d39b2d2efa5dca", size = 740202, upload-time = "2025-09-22T19:51:04.673Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ac/3c5c2b27a183f4fda8a57c82211721c016bcb689a4a175865f7646db9f94/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b30110b29484adc597df6bd92a37b90e63a8c152ca8136aad100a02f8ba6d1b6", size = 765196, upload-time = "2025-09-22T19:51:05.916Z" }, + { url = "https://files.pythonhosted.org/packages/92/2e/06f56a71fd55021c993ed6e848c9b2e5e9cfce180a42179f0ddd28253f7c/ruamel.yaml.clib-0.2.14-cp313-cp313-win32.whl", hash = "sha256:f4e97a1cf0b7a30af9e1d9dad10a5671157b9acee790d9e26996391f49b965a2", size = 98635, upload-time = "2025-09-22T19:51:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/51/79/76aba16a1689b50528224b182f71097ece338e7a4ab55e84c2e73443b78a/ruamel.yaml.clib-0.2.14-cp313-cp313-win_amd64.whl", hash = "sha256:090782b5fb9d98df96509eecdbcaffd037d47389a89492320280d52f91330d78", size = 115238, upload-time = "2025-09-22T19:51:07.081Z" }, + { url = "https://files.pythonhosted.org/packages/21/e2/a59ff65c26aaf21a24eb38df777cb9af5d87ba8fc8107c163c2da9d1e85e/ruamel.yaml.clib-0.2.14-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:7df6f6e9d0e33c7b1d435defb185095386c469109de723d514142632a7b9d07f", size = 271441, upload-time = "2025-09-23T14:24:16.498Z" }, + { url = "https://files.pythonhosted.org/packages/6b/fa/3234f913fe9a6525a7b97c6dad1f51e72b917e6872e051a5e2ffd8b16fbb/ruamel.yaml.clib-0.2.14-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:70eda7703b8126f5e52fcf276e6c0f40b0d314674f896fc58c47b0aef2b9ae83", size = 137970, upload-time = "2025-09-22T19:51:09.472Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ec/4edbf17ac2c87fa0845dd366ef8d5852b96eb58fcd65fc1ecf5fe27b4641/ruamel.yaml.clib-0.2.14-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a0cb71ccc6ef9ce36eecb6272c81afdc2f565950cdcec33ae8e6cd8f7fc86f27", size = 739639, upload-time = "2025-09-22T19:51:10.566Z" }, + { url = "https://files.pythonhosted.org/packages/15/18/b0e1fafe59051de9e79cdd431863b03593ecfa8341c110affad7c8121efc/ruamel.yaml.clib-0.2.14-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e7cb9ad1d525d40f7d87b6df7c0ff916a66bc52cb61b66ac1b2a16d0c1b07640", size = 764456, upload-time = "2025-09-22T19:51:11.736Z" }, +] + +[[package]] +name = "ruby" +version = "0.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nltk" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/69/1fef3ae0ef4e6d813416e9701fdeb4ba5c19f88bdeb3d4f1081428c8eba3/ruby-0.0.2.tar.gz", hash = "sha256:069815aee616653d7944240e8d68989695980aa75debf65f1dc054180458de6e", size = 5447, upload-time = "2021-02-14T07:00:59.796Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/cb/4b6ddfc4139c649949dbcebbd1f50fff07b04317e2a31fa3d06394c7915a/ruby-0.0.2-py3-none-any.whl", hash = "sha256:3061fa553d9da62626f803b91df80a38afd7b74aa27c1a90365e6476dbf1752f", size = 10269, upload-time = "2021-02-14T07:00:58.502Z" }, +] + +[[package]] +name = "ruff" +version = "0.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/02/df/8d7d8c515d33adfc540e2edf6c6021ea1c5a58a678d8cfce9fae59aabcab/ruff-0.13.2.tar.gz", hash = "sha256:cb12fffd32fb16d32cef4ed16d8c7cdc27ed7c944eaa98d99d01ab7ab0b710ff", size = 5416417, upload-time = "2025-09-25T14:54:09.936Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/84/5716a7fa4758e41bf70e603e13637c42cfb9dbf7ceb07180211b9bbf75ef/ruff-0.13.2-py3-none-linux_armv6l.whl", hash = "sha256:3796345842b55f033a78285e4f1641078f902020d8450cade03aad01bffd81c3", size = 12343254, upload-time = "2025-09-25T14:53:27.784Z" }, + { url = "https://files.pythonhosted.org/packages/9b/77/c7042582401bb9ac8eff25360e9335e901d7a1c0749a2b28ba4ecb239991/ruff-0.13.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ff7e4dda12e683e9709ac89e2dd436abf31a4d8a8fc3d89656231ed808e231d2", size = 13040891, upload-time = "2025-09-25T14:53:31.38Z" }, + { url = "https://files.pythonhosted.org/packages/c6/15/125a7f76eb295cb34d19c6778e3a82ace33730ad4e6f28d3427e134a02e0/ruff-0.13.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c75e9d2a2fafd1fdd895d0e7e24b44355984affdde1c412a6f6d3f6e16b22d46", size = 12243588, upload-time = "2025-09-25T14:53:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/9e/eb/0093ae04a70f81f8be7fd7ed6456e926b65d238fc122311293d033fdf91e/ruff-0.13.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cceac74e7bbc53ed7d15d1042ffe7b6577bf294611ad90393bf9b2a0f0ec7cb6", size = 12491359, upload-time = "2025-09-25T14:53:35.892Z" }, + { url = "https://files.pythonhosted.org/packages/43/fe/72b525948a6956f07dad4a6f122336b6a05f2e3fd27471cea612349fedb9/ruff-0.13.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6ae3f469b5465ba6d9721383ae9d49310c19b452a161b57507764d7ef15f4b07", size = 12162486, upload-time = "2025-09-25T14:53:38.171Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e3/0fac422bbbfb2ea838023e0d9fcf1f30183d83ab2482800e2cb892d02dfe/ruff-0.13.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f8f9e3cd6714358238cd6626b9d43026ed19c0c018376ac1ef3c3a04ffb42d8", size = 13871203, upload-time = "2025-09-25T14:53:41.943Z" }, + { url = "https://files.pythonhosted.org/packages/6b/82/b721c8e3ec5df6d83ba0e45dcf00892c4f98b325256c42c38ef136496cbf/ruff-0.13.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c6ed79584a8f6cbe2e5d7dbacf7cc1ee29cbdb5df1172e77fbdadc8bb85a1f89", size = 14929635, upload-time = "2025-09-25T14:53:43.953Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a0/ad56faf6daa507b83079a1ad7a11694b87d61e6bf01c66bd82b466f21821/ruff-0.13.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aed130b2fde049cea2019f55deb939103123cdd191105f97a0599a3e753d61b0", size = 14338783, upload-time = "2025-09-25T14:53:46.205Z" }, + { url = "https://files.pythonhosted.org/packages/47/77/ad1d9156db8f99cd01ee7e29d74b34050e8075a8438e589121fcd25c4b08/ruff-0.13.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1887c230c2c9d65ed1b4e4cfe4d255577ea28b718ae226c348ae68df958191aa", size = 13355322, upload-time = "2025-09-25T14:53:48.164Z" }, + { url = "https://files.pythonhosted.org/packages/64/8b/e87cfca2be6f8b9f41f0bb12dc48c6455e2d66df46fe61bb441a226f1089/ruff-0.13.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5bcb10276b69b3cfea3a102ca119ffe5c6ba3901e20e60cf9efb53fa417633c3", size = 13354427, upload-time = "2025-09-25T14:53:50.486Z" }, + { url = "https://files.pythonhosted.org/packages/7f/df/bf382f3fbead082a575edb860897287f42b1b3c694bafa16bc9904c11ed3/ruff-0.13.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:afa721017aa55a555b2ff7944816587f1cb813c2c0a882d158f59b832da1660d", size = 13537637, upload-time = "2025-09-25T14:53:52.887Z" }, + { url = "https://files.pythonhosted.org/packages/51/70/1fb7a7c8a6fc8bd15636288a46e209e81913b87988f26e1913d0851e54f4/ruff-0.13.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1dbc875cf3720c64b3990fef8939334e74cb0ca65b8dbc61d1f439201a38101b", size = 12340025, upload-time = "2025-09-25T14:53:54.88Z" }, + { url = "https://files.pythonhosted.org/packages/4c/27/1e5b3f1c23ca5dd4106d9d580e5c13d9acb70288bff614b3d7b638378cc9/ruff-0.13.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b939a1b2a960e9742e9a347e5bbc9b3c3d2c716f86c6ae273d9cbd64f193f22", size = 12133449, upload-time = "2025-09-25T14:53:57.089Z" }, + { url = "https://files.pythonhosted.org/packages/2d/09/b92a5ccee289f11ab128df57d5911224197d8d55ef3bd2043534ff72ca54/ruff-0.13.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:50e2d52acb8de3804fc5f6e2fa3ae9bdc6812410a9e46837e673ad1f90a18736", size = 13051369, upload-time = "2025-09-25T14:53:59.124Z" }, + { url = "https://files.pythonhosted.org/packages/89/99/26c9d1c7d8150f45e346dc045cc49f23e961efceb4a70c47dea0960dea9a/ruff-0.13.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3196bc13ab2110c176b9a4ae5ff7ab676faaa1964b330a1383ba20e1e19645f2", size = 13523644, upload-time = "2025-09-25T14:54:01.622Z" }, + { url = "https://files.pythonhosted.org/packages/f7/00/e7f1501e81e8ec290e79527827af1d88f541d8d26151751b46108978dade/ruff-0.13.2-py3-none-win32.whl", hash = "sha256:7c2a0b7c1e87795fec3404a485096bcd790216c7c146a922d121d8b9c8f1aaac", size = 12245990, upload-time = "2025-09-25T14:54:03.647Z" }, + { url = "https://files.pythonhosted.org/packages/ee/bd/d9f33a73de84fafd0146c6fba4f497c4565fe8fa8b46874b8e438869abc2/ruff-0.13.2-py3-none-win_amd64.whl", hash = "sha256:17d95fb32218357c89355f6f6f9a804133e404fc1f65694372e02a557edf8585", size = 13324004, upload-time = "2025-09-25T14:54:06.05Z" }, + { url = "https://files.pythonhosted.org/packages/c3/12/28fa2f597a605884deb0f65c1b1ae05111051b2a7030f5d8a4ff7f4599ba/ruff-0.13.2-py3-none-win_arm64.whl", hash = "sha256:da711b14c530412c827219312b7d7fbb4877fb31150083add7e8c5336549cea7", size = 12484437, upload-time = "2025-09-25T14:54:08.022Z" }, +] + +[[package]] +name = "scikit-learn" +version = "1.7.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "numpy" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/3e/daed796fd69cce768b8788401cc464ea90b306fb196ae1ffed0b98182859/scikit_learn-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b33579c10a3081d076ab403df4a4190da4f4432d443521674637677dc91e61f", size = 9336221, upload-time = "2025-09-09T08:20:19.328Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ce/af9d99533b24c55ff4e18d9b7b4d9919bbc6cd8f22fe7a7be01519a347d5/scikit_learn-1.7.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:36749fb62b3d961b1ce4fedf08fa57a1986cd409eff2d783bca5d4b9b5fce51c", size = 8653834, upload-time = "2025-09-09T08:20:22.073Z" }, + { url = "https://files.pythonhosted.org/packages/58/0e/8c2a03d518fb6bd0b6b0d4b114c63d5f1db01ff0f9925d8eb10960d01c01/scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7a58814265dfc52b3295b1900cfb5701589d30a8bb026c7540f1e9d3499d5ec8", size = 9660938, upload-time = "2025-09-09T08:20:24.327Z" }, + { url = "https://files.pythonhosted.org/packages/2b/75/4311605069b5d220e7cf5adabb38535bd96f0079313cdbb04b291479b22a/scikit_learn-1.7.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a847fea807e278f821a0406ca01e387f97653e284ecbd9750e3ee7c90347f18", size = 9477818, upload-time = "2025-09-09T08:20:26.845Z" }, + { url = "https://files.pythonhosted.org/packages/7f/9b/87961813c34adbca21a6b3f6b2bea344c43b30217a6d24cc437c6147f3e8/scikit_learn-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:ca250e6836d10e6f402436d6463d6c0e4d8e0234cfb6a9a47835bd392b852ce5", size = 8886969, upload-time = "2025-09-09T08:20:29.329Z" }, + { url = "https://files.pythonhosted.org/packages/43/83/564e141eef908a5863a54da8ca342a137f45a0bfb71d1d79704c9894c9d1/scikit_learn-1.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7509693451651cd7361d30ce4e86a1347493554f172b1c72a39300fa2aea79e", size = 9331967, upload-time = "2025-09-09T08:20:32.421Z" }, + { url = "https://files.pythonhosted.org/packages/18/d6/ba863a4171ac9d7314c4d3fc251f015704a2caeee41ced89f321c049ed83/scikit_learn-1.7.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:0486c8f827c2e7b64837c731c8feff72c0bd2b998067a8a9cbc10643c31f0fe1", size = 8648645, upload-time = "2025-09-09T08:20:34.436Z" }, + { url = "https://files.pythonhosted.org/packages/ef/0e/97dbca66347b8cf0ea8b529e6bb9367e337ba2e8be0ef5c1a545232abfde/scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89877e19a80c7b11a2891a27c21c4894fb18e2c2e077815bcade10d34287b20d", size = 9715424, upload-time = "2025-09-09T08:20:36.776Z" }, + { url = "https://files.pythonhosted.org/packages/f7/32/1f3b22e3207e1d2c883a7e09abb956362e7d1bd2f14458c7de258a26ac15/scikit_learn-1.7.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8da8bf89d4d79aaec192d2bda62f9b56ae4e5b4ef93b6a56b5de4977e375c1f1", size = 9509234, upload-time = "2025-09-09T08:20:38.957Z" }, + { url = "https://files.pythonhosted.org/packages/9f/71/34ddbd21f1da67c7a768146968b4d0220ee6831e4bcbad3e03dd3eae88b6/scikit_learn-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:9b7ed8d58725030568523e937c43e56bc01cadb478fc43c042a9aca1dacb3ba1", size = 8894244, upload-time = "2025-09-09T08:20:41.166Z" }, + { url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818, upload-time = "2025-09-09T08:20:43.19Z" }, + { url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997, upload-time = "2025-09-09T08:20:45.468Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381, upload-time = "2025-09-09T08:20:47.982Z" }, + { url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296, upload-time = "2025-09-09T08:20:50.366Z" }, + { url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256, upload-time = "2025-09-09T08:20:52.627Z" }, + { url = "https://files.pythonhosted.org/packages/ae/93/a3038cb0293037fd335f77f31fe053b89c72f17b1c8908c576c29d953e84/scikit_learn-1.7.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0b7dacaa05e5d76759fb071558a8b5130f4845166d88654a0f9bdf3eb57851b7", size = 9212382, upload-time = "2025-09-09T08:20:54.731Z" }, + { url = "https://files.pythonhosted.org/packages/40/dd/9a88879b0c1104259136146e4742026b52df8540c39fec21a6383f8292c7/scikit_learn-1.7.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:abebbd61ad9e1deed54cca45caea8ad5f79e1b93173dece40bb8e0c658dbe6fe", size = 8592042, upload-time = "2025-09-09T08:20:57.313Z" }, + { url = "https://files.pythonhosted.org/packages/46/af/c5e286471b7d10871b811b72ae794ac5fe2989c0a2df07f0ec723030f5f5/scikit_learn-1.7.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:502c18e39849c0ea1a5d681af1dbcf15f6cce601aebb657aabbfe84133c1907f", size = 9434180, upload-time = "2025-09-09T08:20:59.671Z" }, + { url = "https://files.pythonhosted.org/packages/f1/fd/df59faa53312d585023b2da27e866524ffb8faf87a68516c23896c718320/scikit_learn-1.7.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a4c328a71785382fe3fe676a9ecf2c86189249beff90bf85e22bdb7efaf9ae0", size = 9283660, upload-time = "2025-09-09T08:21:01.71Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c7/03000262759d7b6f38c836ff9d512f438a70d8a8ddae68ee80de72dcfb63/scikit_learn-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:63a9afd6f7b229aad94618c01c252ce9e6fa97918c5ca19c9a17a087d819440c", size = 8702057, upload-time = "2025-09-09T08:21:04.234Z" }, + { url = "https://files.pythonhosted.org/packages/55/87/ef5eb1f267084532c8e4aef98a28b6ffe7425acbfd64b5e2f2e066bc29b3/scikit_learn-1.7.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9acb6c5e867447b4e1390930e3944a005e2cb115922e693c08a323421a6966e8", size = 9558731, upload-time = "2025-09-09T08:21:06.381Z" }, + { url = "https://files.pythonhosted.org/packages/93/f8/6c1e3fc14b10118068d7938878a9f3f4e6d7b74a8ddb1e5bed65159ccda8/scikit_learn-1.7.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:2a41e2a0ef45063e654152ec9d8bcfc39f7afce35b08902bfe290c2498a67a6a", size = 9038852, upload-time = "2025-09-09T08:21:08.628Z" }, + { url = "https://files.pythonhosted.org/packages/83/87/066cafc896ee540c34becf95d30375fe5cbe93c3b75a0ee9aa852cd60021/scikit_learn-1.7.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98335fb98509b73385b3ab2bd0639b1f610541d3988ee675c670371d6a87aa7c", size = 9527094, upload-time = "2025-09-09T08:21:11.486Z" }, + { url = "https://files.pythonhosted.org/packages/9c/2b/4903e1ccafa1f6453b1ab78413938c8800633988c838aa0be386cbb33072/scikit_learn-1.7.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191e5550980d45449126e23ed1d5e9e24b2c68329ee1f691a3987476e115e09c", size = 9367436, upload-time = "2025-09-09T08:21:13.602Z" }, + { url = "https://files.pythonhosted.org/packages/b5/aa/8444be3cfb10451617ff9d177b3c190288f4563e6c50ff02728be67ad094/scikit_learn-1.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:57dc4deb1d3762c75d685507fbd0bc17160144b2f2ba4ccea5dc285ab0d0e973", size = 9275749, upload-time = "2025-09-09T08:21:15.96Z" }, + { url = "https://files.pythonhosted.org/packages/d9/82/dee5acf66837852e8e68df6d8d3a6cb22d3df997b733b032f513d95205b7/scikit_learn-1.7.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fa8f63940e29c82d1e67a45d5297bdebbcb585f5a5a50c4914cc2e852ab77f33", size = 9208906, upload-time = "2025-09-09T08:21:18.557Z" }, + { url = "https://files.pythonhosted.org/packages/3c/30/9029e54e17b87cb7d50d51a5926429c683d5b4c1732f0507a6c3bed9bf65/scikit_learn-1.7.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:f95dc55b7902b91331fa4e5845dd5bde0580c9cd9612b1b2791b7e80c3d32615", size = 8627836, upload-time = "2025-09-09T08:21:20.695Z" }, + { url = "https://files.pythonhosted.org/packages/60/18/4a52c635c71b536879f4b971c2cedf32c35ee78f48367885ed8025d1f7ee/scikit_learn-1.7.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9656e4a53e54578ad10a434dc1f993330568cfee176dff07112b8785fb413106", size = 9426236, upload-time = "2025-09-09T08:21:22.645Z" }, + { url = "https://files.pythonhosted.org/packages/99/7e/290362f6ab582128c53445458a5befd471ed1ea37953d5bcf80604619250/scikit_learn-1.7.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96dc05a854add0e50d3f47a1ef21a10a595016da5b007c7d9cd9d0bffd1fcc61", size = 9312593, upload-time = "2025-09-09T08:21:24.65Z" }, + { url = "https://files.pythonhosted.org/packages/8e/87/24f541b6d62b1794939ae6422f8023703bbf6900378b2b34e0b4384dfefd/scikit_learn-1.7.2-cp314-cp314-win_amd64.whl", hash = "sha256:bb24510ed3f9f61476181e4db51ce801e2ba37541def12dc9333b946fc7a9cf8", size = 8820007, upload-time = "2025-09-09T08:21:26.713Z" }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770, upload-time = "2025-05-08T16:04:20.849Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511, upload-time = "2025-05-08T16:04:27.103Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151, upload-time = "2025-05-08T16:04:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732, upload-time = "2025-05-08T16:04:36.596Z" }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617, upload-time = "2025-05-08T16:04:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964, upload-time = "2025-05-08T16:04:49.431Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749, upload-time = "2025-05-08T16:04:55.215Z" }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383, upload-time = "2025-05-08T16:05:01.914Z" }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201, upload-time = "2025-05-08T16:05:08.166Z" }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" }, + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256, upload-time = "2025-05-08T16:06:58.696Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540, upload-time = "2025-05-08T16:07:04.209Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115, upload-time = "2025-05-08T16:07:08.998Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884, upload-time = "2025-05-08T16:07:14.091Z" }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018, upload-time = "2025-05-08T16:07:19.427Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716, upload-time = "2025-05-08T16:07:25.712Z" }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342, upload-time = "2025-05-08T16:07:31.468Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869, upload-time = "2025-05-08T16:07:38.002Z" }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851, upload-time = "2025-05-08T16:08:33.671Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011, upload-time = "2025-05-08T16:07:44.039Z" }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407, upload-time = "2025-05-08T16:07:49.891Z" }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030, upload-time = "2025-05-08T16:07:54.121Z" }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709, upload-time = "2025-05-08T16:07:58.506Z" }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045, upload-time = "2025-05-08T16:08:03.929Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062, upload-time = "2025-05-08T16:08:09.558Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132, upload-time = "2025-05-08T16:08:15.34Z" }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503, upload-time = "2025-05-08T16:08:21.513Z" }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097, upload-time = "2025-05-08T16:08:27.627Z" }, +] + +[[package]] +name = "scipy" +version = "1.16.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4c/3b/546a6f0bfe791bbb7f8d591613454d15097e53f906308ec6f7c1ce588e8e/scipy-1.16.2.tar.gz", hash = "sha256:af029b153d243a80afb6eabe40b0a07f8e35c9adc269c019f364ad747f826a6b", size = 30580599, upload-time = "2025-09-11T17:48:08.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/ef/37ed4b213d64b48422df92560af7300e10fe30b5d665dd79932baebee0c6/scipy-1.16.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:6ab88ea43a57da1af33292ebd04b417e8e2eaf9d5aa05700be8d6e1b6501cd92", size = 36619956, upload-time = "2025-09-11T17:39:20.5Z" }, + { url = "https://files.pythonhosted.org/packages/85/ab/5c2eba89b9416961a982346a4d6a647d78c91ec96ab94ed522b3b6baf444/scipy-1.16.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c95e96c7305c96ede73a7389f46ccd6c659c4da5ef1b2789466baeaed3622b6e", size = 28931117, upload-time = "2025-09-11T17:39:29.06Z" }, + { url = "https://files.pythonhosted.org/packages/80/d1/eed51ab64d227fe60229a2d57fb60ca5898cfa50ba27d4f573e9e5f0b430/scipy-1.16.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:87eb178db04ece7c698220d523c170125dbffebb7af0345e66c3554f6f60c173", size = 20921997, upload-time = "2025-09-11T17:39:34.892Z" }, + { url = "https://files.pythonhosted.org/packages/be/7c/33ea3e23bbadde96726edba6bf9111fb1969d14d9d477ffa202c67bec9da/scipy-1.16.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:4e409eac067dcee96a57fbcf424c13f428037827ec7ee3cb671ff525ca4fc34d", size = 23523374, upload-time = "2025-09-11T17:39:40.846Z" }, + { url = "https://files.pythonhosted.org/packages/96/0b/7399dc96e1e3f9a05e258c98d716196a34f528eef2ec55aad651ed136d03/scipy-1.16.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e574be127bb760f0dad24ff6e217c80213d153058372362ccb9555a10fc5e8d2", size = 33583702, upload-time = "2025-09-11T17:39:49.011Z" }, + { url = "https://files.pythonhosted.org/packages/1a/bc/a5c75095089b96ea72c1bd37a4497c24b581ec73db4ef58ebee142ad2d14/scipy-1.16.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f5db5ba6188d698ba7abab982ad6973265b74bb40a1efe1821b58c87f73892b9", size = 35883427, upload-time = "2025-09-11T17:39:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/ab/66/e25705ca3d2b87b97fe0a278a24b7f477b4023a926847935a1a71488a6a6/scipy-1.16.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec6e74c4e884104ae006d34110677bfe0098203a3fec2f3faf349f4cb05165e3", size = 36212940, upload-time = "2025-09-11T17:40:06.013Z" }, + { url = "https://files.pythonhosted.org/packages/d6/fd/0bb911585e12f3abdd603d721d83fc1c7492835e1401a0e6d498d7822b4b/scipy-1.16.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:912f46667d2d3834bc3d57361f854226475f695eb08c08a904aadb1c936b6a88", size = 38865092, upload-time = "2025-09-11T17:40:15.143Z" }, + { url = "https://files.pythonhosted.org/packages/d6/73/c449a7d56ba6e6f874183759f8483cde21f900a8be117d67ffbb670c2958/scipy-1.16.2-cp311-cp311-win_amd64.whl", hash = "sha256:91e9e8a37befa5a69e9cacbe0bcb79ae5afb4a0b130fd6db6ee6cc0d491695fa", size = 38687626, upload-time = "2025-09-11T17:40:24.041Z" }, + { url = "https://files.pythonhosted.org/packages/68/72/02f37316adf95307f5d9e579023c6899f89ff3a051fa079dbd6faafc48e5/scipy-1.16.2-cp311-cp311-win_arm64.whl", hash = "sha256:f3bf75a6dcecab62afde4d1f973f1692be013110cad5338007927db8da73249c", size = 25503506, upload-time = "2025-09-11T17:40:30.703Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8d/6396e00db1282279a4ddd507c5f5e11f606812b608ee58517ce8abbf883f/scipy-1.16.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:89d6c100fa5c48472047632e06f0876b3c4931aac1f4291afc81a3644316bb0d", size = 36646259, upload-time = "2025-09-11T17:40:39.329Z" }, + { url = "https://files.pythonhosted.org/packages/3b/93/ea9edd7e193fceb8eef149804491890bde73fb169c896b61aa3e2d1e4e77/scipy-1.16.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ca748936cd579d3f01928b30a17dc474550b01272d8046e3e1ee593f23620371", size = 28888976, upload-time = "2025-09-11T17:40:46.82Z" }, + { url = "https://files.pythonhosted.org/packages/91/4d/281fddc3d80fd738ba86fd3aed9202331180b01e2c78eaae0642f22f7e83/scipy-1.16.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:fac4f8ce2ddb40e2e3d0f7ec36d2a1e7f92559a2471e59aec37bd8d9de01fec0", size = 20879905, upload-time = "2025-09-11T17:40:52.545Z" }, + { url = "https://files.pythonhosted.org/packages/69/40/b33b74c84606fd301b2915f0062e45733c6ff5708d121dd0deaa8871e2d0/scipy-1.16.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:033570f1dcefd79547a88e18bccacff025c8c647a330381064f561d43b821232", size = 23553066, upload-time = "2025-09-11T17:40:59.014Z" }, + { url = "https://files.pythonhosted.org/packages/55/a7/22c739e2f21a42cc8f16bc76b47cff4ed54fbe0962832c589591c2abec34/scipy-1.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ea3421209bf00c8a5ef2227de496601087d8f638a2363ee09af059bd70976dc1", size = 33336407, upload-time = "2025-09-11T17:41:06.796Z" }, + { url = "https://files.pythonhosted.org/packages/53/11/a0160990b82999b45874dc60c0c183d3a3a969a563fffc476d5a9995c407/scipy-1.16.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f66bd07ba6f84cd4a380b41d1bf3c59ea488b590a2ff96744845163309ee8e2f", size = 35673281, upload-time = "2025-09-11T17:41:15.055Z" }, + { url = "https://files.pythonhosted.org/packages/96/53/7ef48a4cfcf243c3d0f1643f5887c81f29fdf76911c4e49331828e19fc0a/scipy-1.16.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e9feab931bd2aea4a23388c962df6468af3d808ddf2d40f94a81c5dc38f32ef", size = 36004222, upload-time = "2025-09-11T17:41:23.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7f/71a69e0afd460049d41c65c630c919c537815277dfea214031005f474d78/scipy-1.16.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03dfc75e52f72cf23ec2ced468645321407faad8f0fe7b1f5b49264adbc29cb1", size = 38664586, upload-time = "2025-09-11T17:41:31.021Z" }, + { url = "https://files.pythonhosted.org/packages/34/95/20e02ca66fb495a95fba0642fd48e0c390d0ece9b9b14c6e931a60a12dea/scipy-1.16.2-cp312-cp312-win_amd64.whl", hash = "sha256:0ce54e07bbb394b417457409a64fd015be623f36e330ac49306433ffe04bc97e", size = 38550641, upload-time = "2025-09-11T17:41:36.61Z" }, + { url = "https://files.pythonhosted.org/packages/92/ad/13646b9beb0a95528ca46d52b7babafbe115017814a611f2065ee4e61d20/scipy-1.16.2-cp312-cp312-win_arm64.whl", hash = "sha256:2a8ffaa4ac0df81a0b94577b18ee079f13fecdb924df3328fc44a7dc5ac46851", size = 25456070, upload-time = "2025-09-11T17:41:41.3Z" }, + { url = "https://files.pythonhosted.org/packages/c1/27/c5b52f1ee81727a9fc457f5ac1e9bf3d6eab311805ea615c83c27ba06400/scipy-1.16.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:84f7bf944b43e20b8a894f5fe593976926744f6c185bacfcbdfbb62736b5cc70", size = 36604856, upload-time = "2025-09-11T17:41:47.695Z" }, + { url = "https://files.pythonhosted.org/packages/32/a9/15c20d08e950b540184caa8ced675ba1128accb0e09c653780ba023a4110/scipy-1.16.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:5c39026d12edc826a1ef2ad35ad1e6d7f087f934bb868fc43fa3049c8b8508f9", size = 28864626, upload-time = "2025-09-11T17:41:52.642Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fc/ea36098df653cca26062a627c1a94b0de659e97127c8491e18713ca0e3b9/scipy-1.16.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e52729ffd45b68777c5319560014d6fd251294200625d9d70fd8626516fc49f5", size = 20855689, upload-time = "2025-09-11T17:41:57.886Z" }, + { url = "https://files.pythonhosted.org/packages/dc/6f/d0b53be55727f3e6d7c72687ec18ea6d0047cf95f1f77488b99a2bafaee1/scipy-1.16.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:024dd4a118cccec09ca3209b7e8e614931a6ffb804b2a601839499cb88bdf925", size = 23512151, upload-time = "2025-09-11T17:42:02.303Z" }, + { url = "https://files.pythonhosted.org/packages/11/85/bf7dab56e5c4b1d3d8eef92ca8ede788418ad38a7dc3ff50262f00808760/scipy-1.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7a5dc7ee9c33019973a470556081b0fd3c9f4c44019191039f9769183141a4d9", size = 33329824, upload-time = "2025-09-11T17:42:07.549Z" }, + { url = "https://files.pythonhosted.org/packages/da/6a/1a927b14ddc7714111ea51f4e568203b2bb6ed59bdd036d62127c1a360c8/scipy-1.16.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c2275ff105e508942f99d4e3bc56b6ef5e4b3c0af970386ca56b777608ce95b7", size = 35681881, upload-time = "2025-09-11T17:42:13.255Z" }, + { url = "https://files.pythonhosted.org/packages/c1/5f/331148ea5780b4fcc7007a4a6a6ee0a0c1507a796365cc642d4d226e1c3a/scipy-1.16.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:af80196eaa84f033e48444d2e0786ec47d328ba00c71e4299b602235ffef9acb", size = 36006219, upload-time = "2025-09-11T17:42:18.765Z" }, + { url = "https://files.pythonhosted.org/packages/46/3a/e991aa9d2aec723b4a8dcfbfc8365edec5d5e5f9f133888067f1cbb7dfc1/scipy-1.16.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9fb1eb735fe3d6ed1f89918224e3385fbf6f9e23757cacc35f9c78d3b712dd6e", size = 38682147, upload-time = "2025-09-11T17:42:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/a1/57/0f38e396ad19e41b4c5db66130167eef8ee620a49bc7d0512e3bb67e0cab/scipy-1.16.2-cp313-cp313-win_amd64.whl", hash = "sha256:fda714cf45ba43c9d3bae8f2585c777f64e3f89a2e073b668b32ede412d8f52c", size = 38520766, upload-time = "2025-09-11T17:43:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a5/85d3e867b6822d331e26c862a91375bb7746a0b458db5effa093d34cdb89/scipy-1.16.2-cp313-cp313-win_arm64.whl", hash = "sha256:2f5350da923ccfd0b00e07c3e5cfb316c1c0d6c1d864c07a72d092e9f20db104", size = 25451169, upload-time = "2025-09-11T17:43:30.198Z" }, + { url = "https://files.pythonhosted.org/packages/09/d9/60679189bcebda55992d1a45498de6d080dcaf21ce0c8f24f888117e0c2d/scipy-1.16.2-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:53d8d2ee29b925344c13bda64ab51785f016b1b9617849dac10897f0701b20c1", size = 37012682, upload-time = "2025-09-11T17:42:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/83/be/a99d13ee4d3b7887a96f8c71361b9659ba4ef34da0338f14891e102a127f/scipy-1.16.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:9e05e33657efb4c6a9d23bd8300101536abd99c85cca82da0bffff8d8764d08a", size = 29389926, upload-time = "2025-09-11T17:42:35.845Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0a/130164a4881cec6ca8c00faf3b57926f28ed429cd6001a673f83c7c2a579/scipy-1.16.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:7fe65b36036357003b3ef9d37547abeefaa353b237e989c21027b8ed62b12d4f", size = 21381152, upload-time = "2025-09-11T17:42:40.07Z" }, + { url = "https://files.pythonhosted.org/packages/47/a6/503ffb0310ae77fba874e10cddfc4a1280bdcca1d13c3751b8c3c2996cf8/scipy-1.16.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6406d2ac6d40b861cccf57f49592f9779071655e9f75cd4f977fa0bdd09cb2e4", size = 23914410, upload-time = "2025-09-11T17:42:44.313Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c7/1147774bcea50d00c02600aadaa919facbd8537997a62496270133536ed6/scipy-1.16.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff4dc42bd321991fbf611c23fc35912d690f731c9914bf3af8f417e64aca0f21", size = 33481880, upload-time = "2025-09-11T17:42:49.325Z" }, + { url = "https://files.pythonhosted.org/packages/6a/74/99d5415e4c3e46b2586f30cdbecb95e101c7192628a484a40dd0d163811a/scipy-1.16.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:654324826654d4d9133e10675325708fb954bc84dae6e9ad0a52e75c6b1a01d7", size = 35791425, upload-time = "2025-09-11T17:42:54.711Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ee/a6559de7c1cc710e938c0355d9d4fbcd732dac4d0d131959d1f3b63eb29c/scipy-1.16.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:63870a84cd15c44e65220eaed2dac0e8f8b26bbb991456a033c1d9abfe8a94f8", size = 36178622, upload-time = "2025-09-11T17:43:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/4e/7b/f127a5795d5ba8ece4e0dce7d4a9fb7cb9e4f4757137757d7a69ab7d4f1a/scipy-1.16.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:fa01f0f6a3050fa6a9771a95d5faccc8e2f5a92b4a2e5440a0fa7264a2398472", size = 38783985, upload-time = "2025-09-11T17:43:06.661Z" }, + { url = "https://files.pythonhosted.org/packages/3e/9f/bc81c1d1e033951eb5912cd3750cc005943afa3e65a725d2443a3b3c4347/scipy-1.16.2-cp313-cp313t-win_amd64.whl", hash = "sha256:116296e89fba96f76353a8579820c2512f6e55835d3fad7780fece04367de351", size = 38631367, upload-time = "2025-09-11T17:43:14.44Z" }, + { url = "https://files.pythonhosted.org/packages/d6/5e/2cc7555fd81d01814271412a1d59a289d25f8b63208a0a16c21069d55d3e/scipy-1.16.2-cp313-cp313t-win_arm64.whl", hash = "sha256:98e22834650be81d42982360382b43b17f7ba95e0e6993e2a4f5b9ad9283a94d", size = 25787992, upload-time = "2025-09-11T17:43:19.745Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ac/ad8951250516db71619f0bd3b2eb2448db04b720a003dd98619b78b692c0/scipy-1.16.2-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:567e77755019bb7461513c87f02bb73fb65b11f049aaaa8ca17cfaa5a5c45d77", size = 36595109, upload-time = "2025-09-11T17:43:35.713Z" }, + { url = "https://files.pythonhosted.org/packages/ff/f6/5779049ed119c5b503b0f3dc6d6f3f68eefc3a9190d4ad4c276f854f051b/scipy-1.16.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:17d9bb346194e8967296621208fcdfd39b55498ef7d2f376884d5ac47cec1a70", size = 28859110, upload-time = "2025-09-11T17:43:40.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/09/9986e410ae38bf0a0c737ff8189ac81a93b8e42349aac009891c054403d7/scipy-1.16.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:0a17541827a9b78b777d33b623a6dcfe2ef4a25806204d08ead0768f4e529a88", size = 20850110, upload-time = "2025-09-11T17:43:44.981Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ad/485cdef2d9215e2a7df6d61b81d2ac073dfacf6ae24b9ae87274c4e936ae/scipy-1.16.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:d7d4c6ba016ffc0f9568d012f5f1eb77ddd99412aea121e6fa8b4c3b7cbad91f", size = 23497014, upload-time = "2025-09-11T17:43:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/a7/74/f6a852e5d581122b8f0f831f1d1e32fb8987776ed3658e95c377d308ed86/scipy-1.16.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9702c4c023227785c779cba2e1d6f7635dbb5b2e0936cdd3a4ecb98d78fd41eb", size = 33401155, upload-time = "2025-09-11T17:43:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f5/61d243bbc7c6e5e4e13dde9887e84a5cbe9e0f75fd09843044af1590844e/scipy-1.16.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d1cdf0ac28948d225decdefcc45ad7dd91716c29ab56ef32f8e0d50657dffcc7", size = 35691174, upload-time = "2025-09-11T17:44:00.101Z" }, + { url = "https://files.pythonhosted.org/packages/03/99/59933956331f8cc57e406cdb7a483906c74706b156998f322913e789c7e1/scipy-1.16.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:70327d6aa572a17c2941cdfb20673f82e536e91850a2e4cb0c5b858b690e1548", size = 36070752, upload-time = "2025-09-11T17:44:05.619Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7d/00f825cfb47ee19ef74ecf01244b43e95eae74e7e0ff796026ea7cd98456/scipy-1.16.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5221c0b2a4b58aa7c4ed0387d360fd90ee9086d383bb34d9f2789fafddc8a936", size = 38701010, upload-time = "2025-09-11T17:44:11.322Z" }, + { url = "https://files.pythonhosted.org/packages/e4/9f/b62587029980378304ba5a8563d376c96f40b1e133daacee76efdcae32de/scipy-1.16.2-cp314-cp314-win_amd64.whl", hash = "sha256:f5a85d7b2b708025af08f060a496dd261055b617d776fc05a1a1cc69e09fe9ff", size = 39360061, upload-time = "2025-09-11T17:45:09.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/04/7a2f1609921352c7fbee0815811b5050582f67f19983096c4769867ca45f/scipy-1.16.2-cp314-cp314-win_arm64.whl", hash = "sha256:2cc73a33305b4b24556957d5857d6253ce1e2dcd67fa0ff46d87d1670b3e1e1d", size = 26126914, upload-time = "2025-09-11T17:45:14.73Z" }, + { url = "https://files.pythonhosted.org/packages/51/b9/60929ce350c16b221928725d2d1d7f86cf96b8bc07415547057d1196dc92/scipy-1.16.2-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:9ea2a3fed83065d77367775d689401a703d0f697420719ee10c0780bcab594d8", size = 37013193, upload-time = "2025-09-11T17:44:16.757Z" }, + { url = "https://files.pythonhosted.org/packages/2a/41/ed80e67782d4bc5fc85a966bc356c601afddd175856ba7c7bb6d9490607e/scipy-1.16.2-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:7280d926f11ca945c3ef92ba960fa924e1465f8d07ce3a9923080363390624c4", size = 29390172, upload-time = "2025-09-11T17:44:21.783Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a3/2f673ace4090452696ccded5f5f8efffb353b8f3628f823a110e0170b605/scipy-1.16.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:8afae1756f6a1fe04636407ef7dbece33d826a5d462b74f3d0eb82deabefd831", size = 21381326, upload-time = "2025-09-11T17:44:25.982Z" }, + { url = "https://files.pythonhosted.org/packages/42/bf/59df61c5d51395066c35836b78136accf506197617c8662e60ea209881e1/scipy-1.16.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:5c66511f29aa8d233388e7416a3f20d5cae7a2744d5cee2ecd38c081f4e861b3", size = 23915036, upload-time = "2025-09-11T17:44:30.527Z" }, + { url = "https://files.pythonhosted.org/packages/91/c3/edc7b300dc16847ad3672f1a6f3f7c5d13522b21b84b81c265f4f2760d4a/scipy-1.16.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:efe6305aeaa0e96b0ccca5ff647a43737d9a092064a3894e46c414db84bc54ac", size = 33484341, upload-time = "2025-09-11T17:44:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/26/c7/24d1524e72f06ff141e8d04b833c20db3021020563272ccb1b83860082a9/scipy-1.16.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7f3a337d9ae06a1e8d655ee9d8ecb835ea5ddcdcbd8d23012afa055ab014f374", size = 35790840, upload-time = "2025-09-11T17:44:41.76Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b7/5aaad984eeedd56858dc33d75efa59e8ce798d918e1033ef62d2708f2c3d/scipy-1.16.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bab3605795d269067d8ce78a910220262711b753de8913d3deeaedb5dded3bb6", size = 36174716, upload-time = "2025-09-11T17:44:47.316Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c2/e276a237acb09824822b0ada11b028ed4067fdc367a946730979feacb870/scipy-1.16.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b0348d8ddb55be2a844c518cd8cc8deeeb8aeba707cf834db5758fc89b476a2c", size = 38790088, upload-time = "2025-09-11T17:44:53.011Z" }, + { url = "https://files.pythonhosted.org/packages/c6/b4/5c18a766e8353015439f3780f5fc473f36f9762edc1a2e45da3ff5a31b21/scipy-1.16.2-cp314-cp314t-win_amd64.whl", hash = "sha256:26284797e38b8a75e14ea6631d29bda11e76ceaa6ddb6fdebbfe4c4d90faf2f9", size = 39457455, upload-time = "2025-09-11T17:44:58.899Z" }, + { url = "https://files.pythonhosted.org/packages/97/30/2f9a5243008f76dfc5dee9a53dfb939d9b31e16ce4bd4f2e628bfc5d89d2/scipy-1.16.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d2a4472c231328d4de38d5f1f68fdd6d28a615138f842580a8a321b5845cf779", size = 26448374, upload-time = "2025-09-11T17:45:03.45Z" }, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394, upload-time = "2024-04-07T00:01:09.267Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072, upload-time = "2024-04-07T00:01:07.438Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + +[[package]] +name = "setuptools-scm" +version = "9.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "setuptools" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8f/8d/ffdcace33d0480d591057a30285b7c33f8dc431fed3fff7dbadf5f9f128f/setuptools_scm-9.2.0.tar.gz", hash = "sha256:6662c9b9497b6c9bf13bead9d7a9084756f68238302c5ed089fb4dbd29d102d7", size = 201229, upload-time = "2025-08-16T12:56:39.477Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/14/dd3a6053325e882fe191fb4b42289bbdfabf5f44307c302903a8a3236a0a/setuptools_scm-9.2.0-py3-none-any.whl", hash = "sha256:c551ef54e2270727ee17067881c9687ca2aedf179fa5b8f3fab9e8d73bdc421f", size = 62099, upload-time = "2025-08-16T12:56:37.912Z" }, +] + +[[package]] +name = "shapely" +version = "2.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/bc/0989043118a27cccb4e906a46b7565ce36ca7b57f5a18b78f4f1b0f72d9d/shapely-2.1.2.tar.gz", hash = "sha256:2ed4ecb28320a433db18a5bf029986aa8afcfd740745e78847e330d5d94922a9", size = 315489, upload-time = "2025-09-24T13:51:41.432Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/89/c3548aa9b9812a5d143986764dededfa48d817714e947398bdda87c77a72/shapely-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7ae48c236c0324b4e139bea88a306a04ca630f49be66741b340729d380d8f52f", size = 1825959, upload-time = "2025-09-24T13:50:00.682Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8a/7ebc947080442edd614ceebe0ce2cdbd00c25e832c240e1d1de61d0e6b38/shapely-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eba6710407f1daa8e7602c347dfc94adc02205ec27ed956346190d66579eb9ea", size = 1629196, upload-time = "2025-09-24T13:50:03.447Z" }, + { url = "https://files.pythonhosted.org/packages/c8/86/c9c27881c20d00fc409e7e059de569d5ed0abfcec9c49548b124ebddea51/shapely-2.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ef4a456cc8b7b3d50ccec29642aa4aeda959e9da2fe9540a92754770d5f0cf1f", size = 2951065, upload-time = "2025-09-24T13:50:05.266Z" }, + { url = "https://files.pythonhosted.org/packages/50/8a/0ab1f7433a2a85d9e9aea5b1fbb333f3b09b309e7817309250b4b7b2cc7a/shapely-2.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e38a190442aacc67ff9f75ce60aec04893041f16f97d242209106d502486a142", size = 3058666, upload-time = "2025-09-24T13:50:06.872Z" }, + { url = "https://files.pythonhosted.org/packages/bb/c6/5a30ffac9c4f3ffd5b7113a7f5299ccec4713acd5ee44039778a7698224e/shapely-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:40d784101f5d06a1fd30b55fc11ea58a61be23f930d934d86f19a180909908a4", size = 3966905, upload-time = "2025-09-24T13:50:09.417Z" }, + { url = "https://files.pythonhosted.org/packages/9c/72/e92f3035ba43e53959007f928315a68fbcf2eeb4e5ededb6f0dc7ff1ecc3/shapely-2.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f6f6cd5819c50d9bcf921882784586aab34a4bd53e7553e175dece6db513a6f0", size = 4129260, upload-time = "2025-09-24T13:50:11.183Z" }, + { url = "https://files.pythonhosted.org/packages/42/24/605901b73a3d9f65fa958e63c9211f4be23d584da8a1a7487382fac7fdc5/shapely-2.1.2-cp310-cp310-win32.whl", hash = "sha256:fe9627c39c59e553c90f5bc3128252cb85dc3b3be8189710666d2f8bc3a5503e", size = 1544301, upload-time = "2025-09-24T13:50:12.521Z" }, + { url = "https://files.pythonhosted.org/packages/e1/89/6db795b8dd3919851856bd2ddd13ce434a748072f6fdee42ff30cbd3afa3/shapely-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:1d0bfb4b8f661b3b4ec3565fa36c340bfb1cda82087199711f86a88647d26b2f", size = 1722074, upload-time = "2025-09-24T13:50:13.909Z" }, + { url = "https://files.pythonhosted.org/packages/8f/8d/1ff672dea9ec6a7b5d422eb6d095ed886e2e523733329f75fdcb14ee1149/shapely-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:91121757b0a36c9aac3427a651a7e6567110a4a67c97edf04f8d55d4765f6618", size = 1820038, upload-time = "2025-09-24T13:50:15.628Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ce/28fab8c772ce5db23a0d86bf0adaee0c4c79d5ad1db766055fa3dab442e2/shapely-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16a9c722ba774cf50b5d4541242b4cce05aafd44a015290c82ba8a16931ff63d", size = 1626039, upload-time = "2025-09-24T13:50:16.881Z" }, + { url = "https://files.pythonhosted.org/packages/70/8b/868b7e3f4982f5006e9395c1e12343c66a8155c0374fdc07c0e6a1ab547d/shapely-2.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cc4f7397459b12c0b196c9efe1f9d7e92463cbba142632b4cc6d8bbbbd3e2b09", size = 3001519, upload-time = "2025-09-24T13:50:18.606Z" }, + { url = "https://files.pythonhosted.org/packages/13/02/58b0b8d9c17c93ab6340edd8b7308c0c5a5b81f94ce65705819b7416dba5/shapely-2.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:136ab87b17e733e22f0961504d05e77e7be8c9b5a8184f685b4a91a84efe3c26", size = 3110842, upload-time = "2025-09-24T13:50:21.77Z" }, + { url = "https://files.pythonhosted.org/packages/af/61/8e389c97994d5f331dcffb25e2fa761aeedfb52b3ad9bcdd7b8671f4810a/shapely-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:16c5d0fc45d3aa0a69074979f4f1928ca2734fb2e0dde8af9611e134e46774e7", size = 4021316, upload-time = "2025-09-24T13:50:23.626Z" }, + { url = "https://files.pythonhosted.org/packages/d3/d4/9b2a9fe6039f9e42ccf2cb3e84f219fd8364b0c3b8e7bbc857b5fbe9c14c/shapely-2.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6ddc759f72b5b2b0f54a7e7cde44acef680a55019eb52ac63a7af2cf17cb9cd2", size = 4178586, upload-time = "2025-09-24T13:50:25.443Z" }, + { url = "https://files.pythonhosted.org/packages/16/f6/9840f6963ed4decf76b08fd6d7fed14f8779fb7a62cb45c5617fa8ac6eab/shapely-2.1.2-cp311-cp311-win32.whl", hash = "sha256:2fa78b49485391224755a856ed3b3bd91c8455f6121fee0db0e71cefb07d0ef6", size = 1543961, upload-time = "2025-09-24T13:50:26.968Z" }, + { url = "https://files.pythonhosted.org/packages/38/1e/3f8ea46353c2a33c1669eb7327f9665103aa3a8dfe7f2e4ef714c210b2c2/shapely-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:c64d5c97b2f47e3cd9b712eaced3b061f2b71234b3fc263e0fcf7d889c6559dc", size = 1722856, upload-time = "2025-09-24T13:50:28.497Z" }, + { url = "https://files.pythonhosted.org/packages/24/c0/f3b6453cf2dfa99adc0ba6675f9aaff9e526d2224cbd7ff9c1a879238693/shapely-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fe2533caae6a91a543dec62e8360fe86ffcdc42a7c55f9dfd0128a977a896b94", size = 1833550, upload-time = "2025-09-24T13:50:30.019Z" }, + { url = "https://files.pythonhosted.org/packages/86/07/59dee0bc4b913b7ab59ab1086225baca5b8f19865e6101db9ebb7243e132/shapely-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ba4d1333cc0bc94381d6d4308d2e4e008e0bd128bdcff5573199742ee3634359", size = 1643556, upload-time = "2025-09-24T13:50:32.291Z" }, + { url = "https://files.pythonhosted.org/packages/26/29/a5397e75b435b9895cd53e165083faed5d12fd9626eadec15a83a2411f0f/shapely-2.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0bd308103340030feef6c111d3eb98d50dc13feea33affc8a6f9fa549e9458a3", size = 2988308, upload-time = "2025-09-24T13:50:33.862Z" }, + { url = "https://files.pythonhosted.org/packages/b9/37/e781683abac55dde9771e086b790e554811a71ed0b2b8a1e789b7430dd44/shapely-2.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1e7d4d7ad262a48bb44277ca12c7c78cb1b0f56b32c10734ec9a1d30c0b0c54b", size = 3099844, upload-time = "2025-09-24T13:50:35.459Z" }, + { url = "https://files.pythonhosted.org/packages/d8/f3/9876b64d4a5a321b9dc482c92bb6f061f2fa42131cba643c699f39317cb9/shapely-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e9eddfe513096a71896441a7c37db72da0687b34752c4e193577a145c71736fc", size = 3988842, upload-time = "2025-09-24T13:50:37.478Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a0/704c7292f7014c7e74ec84eddb7b109e1fbae74a16deae9c1504b1d15565/shapely-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:980c777c612514c0cf99bc8a9de6d286f5e186dcaf9091252fcd444e5638193d", size = 4152714, upload-time = "2025-09-24T13:50:39.9Z" }, + { url = "https://files.pythonhosted.org/packages/53/46/319c9dc788884ad0785242543cdffac0e6530e4d0deb6c4862bc4143dcf3/shapely-2.1.2-cp312-cp312-win32.whl", hash = "sha256:9111274b88e4d7b54a95218e243282709b330ef52b7b86bc6aaf4f805306f454", size = 1542745, upload-time = "2025-09-24T13:50:41.414Z" }, + { url = "https://files.pythonhosted.org/packages/ec/bf/cb6c1c505cb31e818e900b9312d514f381fbfa5c4363edfce0fcc4f8c1a4/shapely-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:743044b4cfb34f9a67205cee9279feaf60ba7d02e69febc2afc609047cb49179", size = 1722861, upload-time = "2025-09-24T13:50:43.35Z" }, + { url = "https://files.pythonhosted.org/packages/c3/90/98ef257c23c46425dc4d1d31005ad7c8d649fe423a38b917db02c30f1f5a/shapely-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b510dda1a3672d6879beb319bc7c5fd302c6c354584690973c838f46ec3e0fa8", size = 1832644, upload-time = "2025-09-24T13:50:44.886Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ab/0bee5a830d209adcd3a01f2d4b70e587cdd9fd7380d5198c064091005af8/shapely-2.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8cff473e81017594d20ec55d86b54bc635544897e13a7cfc12e36909c5309a2a", size = 1642887, upload-time = "2025-09-24T13:50:46.735Z" }, + { url = "https://files.pythonhosted.org/packages/2d/5e/7d7f54ba960c13302584c73704d8c4d15404a51024631adb60b126a4ae88/shapely-2.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fe7b77dc63d707c09726b7908f575fc04ff1d1ad0f3fb92aec212396bc6cfe5e", size = 2970931, upload-time = "2025-09-24T13:50:48.374Z" }, + { url = "https://files.pythonhosted.org/packages/f2/a2/83fc37e2a58090e3d2ff79175a95493c664bcd0b653dd75cb9134645a4e5/shapely-2.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ed1a5bbfb386ee8332713bf7508bc24e32d24b74fc9a7b9f8529a55db9f4ee6", size = 3082855, upload-time = "2025-09-24T13:50:50.037Z" }, + { url = "https://files.pythonhosted.org/packages/44/2b/578faf235a5b09f16b5f02833c53822294d7f21b242f8e2d0cf03fb64321/shapely-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a84e0582858d841d54355246ddfcbd1fce3179f185da7470f41ce39d001ee1af", size = 3979960, upload-time = "2025-09-24T13:50:51.74Z" }, + { url = "https://files.pythonhosted.org/packages/4d/04/167f096386120f692cc4ca02f75a17b961858997a95e67a3cb6a7bbd6b53/shapely-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc3487447a43d42adcdf52d7ac73804f2312cbfa5d433a7d2c506dcab0033dfd", size = 4142851, upload-time = "2025-09-24T13:50:53.49Z" }, + { url = "https://files.pythonhosted.org/packages/48/74/fb402c5a6235d1c65a97348b48cdedb75fb19eca2b1d66d04969fc1c6091/shapely-2.1.2-cp313-cp313-win32.whl", hash = "sha256:9c3a3c648aedc9f99c09263b39f2d8252f199cb3ac154fadc173283d7d111350", size = 1541890, upload-time = "2025-09-24T13:50:55.337Z" }, + { url = "https://files.pythonhosted.org/packages/41/47/3647fe7ad990af60ad98b889657a976042c9988c2807cf322a9d6685f462/shapely-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:ca2591bff6645c216695bdf1614fca9c82ea1144d4a7591a466fef64f28f0715", size = 1722151, upload-time = "2025-09-24T13:50:57.153Z" }, + { url = "https://files.pythonhosted.org/packages/3c/49/63953754faa51ffe7d8189bfbe9ca34def29f8c0e34c67cbe2a2795f269d/shapely-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2d93d23bdd2ed9dc157b46bc2f19b7da143ca8714464249bef6771c679d5ff40", size = 1834130, upload-time = "2025-09-24T13:50:58.49Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ee/dce001c1984052970ff60eb4727164892fb2d08052c575042a47f5a9e88f/shapely-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:01d0d304b25634d60bd7cf291828119ab55a3bab87dc4af1e44b07fb225f188b", size = 1642802, upload-time = "2025-09-24T13:50:59.871Z" }, + { url = "https://files.pythonhosted.org/packages/da/e7/fc4e9a19929522877fa602f705706b96e78376afb7fad09cad5b9af1553c/shapely-2.1.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8d8382dd120d64b03698b7298b89611a6ea6f55ada9d39942838b79c9bc89801", size = 3018460, upload-time = "2025-09-24T13:51:02.08Z" }, + { url = "https://files.pythonhosted.org/packages/a1/18/7519a25db21847b525696883ddc8e6a0ecaa36159ea88e0fef11466384d0/shapely-2.1.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:19efa3611eef966e776183e338b2d7ea43569ae99ab34f8d17c2c054d3205cc0", size = 3095223, upload-time = "2025-09-24T13:51:04.472Z" }, + { url = "https://files.pythonhosted.org/packages/48/de/b59a620b1f3a129c3fecc2737104a0a7e04e79335bd3b0a1f1609744cf17/shapely-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:346ec0c1a0fcd32f57f00e4134d1200e14bf3f5ae12af87ba83ca275c502498c", size = 4030760, upload-time = "2025-09-24T13:51:06.455Z" }, + { url = "https://files.pythonhosted.org/packages/96/b3/c6655ee7232b417562bae192ae0d3ceaadb1cc0ffc2088a2ddf415456cc2/shapely-2.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6305993a35989391bd3476ee538a5c9a845861462327efe00dd11a5c8c709a99", size = 4170078, upload-time = "2025-09-24T13:51:08.584Z" }, + { url = "https://files.pythonhosted.org/packages/a0/8e/605c76808d73503c9333af8f6cbe7e1354d2d238bda5f88eea36bfe0f42a/shapely-2.1.2-cp313-cp313t-win32.whl", hash = "sha256:c8876673449f3401f278c86eb33224c5764582f72b653a415d0e6672fde887bf", size = 1559178, upload-time = "2025-09-24T13:51:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/36/f7/d317eb232352a1f1444d11002d477e54514a4a6045536d49d0c59783c0da/shapely-2.1.2-cp313-cp313t-win_amd64.whl", hash = "sha256:4a44bc62a10d84c11a7a3d7c1c4fe857f7477c3506e24c9062da0db0ae0c449c", size = 1739756, upload-time = "2025-09-24T13:51:12.105Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c4/3ce4c2d9b6aabd27d26ec988f08cb877ba9e6e96086eff81bfea93e688c7/shapely-2.1.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:9a522f460d28e2bf4e12396240a5fc1518788b2fcd73535166d748399ef0c223", size = 1831290, upload-time = "2025-09-24T13:51:13.56Z" }, + { url = "https://files.pythonhosted.org/packages/17/b9/f6ab8918fc15429f79cb04afa9f9913546212d7fb5e5196132a2af46676b/shapely-2.1.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1ff629e00818033b8d71139565527ced7d776c269a49bd78c9df84e8f852190c", size = 1641463, upload-time = "2025-09-24T13:51:14.972Z" }, + { url = "https://files.pythonhosted.org/packages/a5/57/91d59ae525ca641e7ac5551c04c9503aee6f29b92b392f31790fcb1a4358/shapely-2.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f67b34271dedc3c653eba4e3d7111aa421d5be9b4c4c7d38d30907f796cb30df", size = 2970145, upload-time = "2025-09-24T13:51:16.961Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cb/4948be52ee1da6927831ab59e10d4c29baa2a714f599f1f0d1bc747f5777/shapely-2.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21952dc00df38a2c28375659b07a3979d22641aeb104751e769c3ee825aadecf", size = 3073806, upload-time = "2025-09-24T13:51:18.712Z" }, + { url = "https://files.pythonhosted.org/packages/03/83/f768a54af775eb41ef2e7bec8a0a0dbe7d2431c3e78c0a8bdba7ab17e446/shapely-2.1.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1f2f33f486777456586948e333a56ae21f35ae273be99255a191f5c1fa302eb4", size = 3980803, upload-time = "2025-09-24T13:51:20.37Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cb/559c7c195807c91c79d38a1f6901384a2878a76fbdf3f1048893a9b7534d/shapely-2.1.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cf831a13e0d5a7eb519e96f58ec26e049b1fad411fc6fc23b162a7ce04d9cffc", size = 4133301, upload-time = "2025-09-24T13:51:21.887Z" }, + { url = "https://files.pythonhosted.org/packages/80/cd/60d5ae203241c53ef3abd2ef27c6800e21afd6c94e39db5315ea0cbafb4a/shapely-2.1.2-cp314-cp314-win32.whl", hash = "sha256:61edcd8d0d17dd99075d320a1dd39c0cb9616f7572f10ef91b4b5b00c4aeb566", size = 1583247, upload-time = "2025-09-24T13:51:23.401Z" }, + { url = "https://files.pythonhosted.org/packages/74/d4/135684f342e909330e50d31d441ace06bf83c7dc0777e11043f99167b123/shapely-2.1.2-cp314-cp314-win_amd64.whl", hash = "sha256:a444e7afccdb0999e203b976adb37ea633725333e5b119ad40b1ca291ecf311c", size = 1773019, upload-time = "2025-09-24T13:51:24.873Z" }, + { url = "https://files.pythonhosted.org/packages/a3/05/a44f3f9f695fa3ada22786dc9da33c933da1cbc4bfe876fe3a100bafe263/shapely-2.1.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:5ebe3f84c6112ad3d4632b1fd2290665aa75d4cef5f6c5d77c4c95b324527c6a", size = 1834137, upload-time = "2025-09-24T13:51:26.665Z" }, + { url = "https://files.pythonhosted.org/packages/52/7e/4d57db45bf314573427b0a70dfca15d912d108e6023f623947fa69f39b72/shapely-2.1.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5860eb9f00a1d49ebb14e881f5caf6c2cf472c7fd38bd7f253bbd34f934eb076", size = 1642884, upload-time = "2025-09-24T13:51:28.029Z" }, + { url = "https://files.pythonhosted.org/packages/5a/27/4e29c0a55d6d14ad7422bf86995d7ff3f54af0eba59617eb95caf84b9680/shapely-2.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b705c99c76695702656327b819c9660768ec33f5ce01fa32b2af62b56ba400a1", size = 3018320, upload-time = "2025-09-24T13:51:29.903Z" }, + { url = "https://files.pythonhosted.org/packages/9f/bb/992e6a3c463f4d29d4cd6ab8963b75b1b1040199edbd72beada4af46bde5/shapely-2.1.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a1fd0ea855b2cf7c9cddaf25543e914dd75af9de08785f20ca3085f2c9ca60b0", size = 3094931, upload-time = "2025-09-24T13:51:32.699Z" }, + { url = "https://files.pythonhosted.org/packages/9c/16/82e65e21070e473f0ed6451224ed9fa0be85033d17e0c6e7213a12f59d12/shapely-2.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:df90e2db118c3671a0754f38e36802db75fe0920d211a27481daf50a711fdf26", size = 4030406, upload-time = "2025-09-24T13:51:34.189Z" }, + { url = "https://files.pythonhosted.org/packages/7c/75/c24ed871c576d7e2b64b04b1fe3d075157f6eb54e59670d3f5ffb36e25c7/shapely-2.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:361b6d45030b4ac64ddd0a26046906c8202eb60d0f9f53085f5179f1d23021a0", size = 4169511, upload-time = "2025-09-24T13:51:36.297Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f7/b3d1d6d18ebf55236eec1c681ce5e665742aab3c0b7b232720a7d43df7b6/shapely-2.1.2-cp314-cp314t-win32.whl", hash = "sha256:b54df60f1fbdecc8ebc2c5b11870461a6417b3d617f555e5033f1505d36e5735", size = 1602607, upload-time = "2025-09-24T13:51:37.757Z" }, + { url = "https://files.pythonhosted.org/packages/9a/f6/f09272a71976dfc138129b8faf435d064a811ae2f708cb147dccdf7aacdb/shapely-2.1.2-cp314-cp314t-win_amd64.whl", hash = "sha256:0036ac886e0923417932c2e6369b6c52e38e0ff5d9120b90eef5cd9a5fc5cae9", size = 1796682, upload-time = "2025-09-24T13:51:39.233Z" }, +] + +[[package]] +name = "sharrow" +version = "2.15.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dask" }, + { name = "filelock" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numba" }, + { name = "numexpr" }, + { name = "numpy" }, + { name = "pandas", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "pyarrow" }, + { name = "xarray" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/2b/cd163ad3fc6ad48b650cd472bd161f99bcc7cc4befe2b1b04188084c9f9d/sharrow-2.15.0.tar.gz", hash = "sha256:d4e6881f8abfe0719b009963c491285d14c61226c64382ded16b3ce3d6f232fe", size = 2344691, upload-time = "2025-10-31T00:35:35.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/93/ff7835535a690a38c9bb3142e3c5b4b2512de09230bf9a20456e6f3db06f/sharrow-2.15.0-py3-none-any.whl", hash = "sha256:8b76bbe1f1ac941711d151cd84b7bc4aec6d2b44d62b56c831ead79eb533aad0", size = 2241380, upload-time = "2025-10-31T00:35:33.473Z" }, +] + +[[package]] +name = "simwrapper" +version = "4.0.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "blosc" }, + { name = "build" }, + { name = "click" }, + { name = "flask" }, + { name = "flask-compress" }, + { name = "flask-cors" }, + { name = "flask-restful" }, + { name = "gunicorn" }, + { name = "openmatrix" }, + { name = "pypatch" }, + { name = "pyyaml" }, + { name = "tables", version = "3.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "tables", version = "3.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "waitress" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6f/ad/84ac6c6dc19bbd6a45d1461f5f5eb12bda9bdf277dd9ce70719a0764b327/simwrapper-4.0.6.tar.gz", hash = "sha256:7d85dae5814227736a89900e4d063cadadd074e1735b31edba25bf11e3942801", size = 27551095, upload-time = "2025-07-30T12:57:04.602Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/62/a4f6dcfee8f4353c91b608765c1e348a6ebd6bb7d5dd0571be39b4d8e1b4/simwrapper-4.0.6-py3-none-any.whl", hash = "sha256:7ca3a22a93da50c2ffdd7e920fcd2da1f554b3cca175cd77c5a4eb5d9dbbdd75", size = 27800831, upload-time = "2025-07-30T12:56:41.599Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smmap" +version = "5.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" }, +] + +[[package]] +name = "snakeviz" +version = "2.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/06/82f56563b16d33c2586ac2615a3034a83a4ff1969b84c8d79339e5d07d73/snakeviz-2.2.2.tar.gz", hash = "sha256:08028c6f8e34a032ff14757a38424770abb8662fb2818985aeea0d9bc13a7d83", size = 182039, upload-time = "2024-11-09T22:03:58.99Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/f7/83b00cdf4f114f10750a18b64c27dc34636d0ac990ccac98282f5c0fbb43/snakeviz-2.2.2-py3-none-any.whl", hash = "sha256:77e7b9c82f6152edc330040319b97612351cd9b48c706434c535c2df31d10ac5", size = 183477, upload-time = "2024-11-09T22:03:57.049Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "snowballstemmer" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/75/a7/9810d872919697c9d01295633f5d574fb416d47e535f258272ca1f01f447/snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895", size = 105575, upload-time = "2025-05-09T16:34:51.843Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, +] + +[[package]] +name = "sparse" +version = "0.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numba" }, + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/74/5c674277fc3d61bd1863d233a8e1f7ddf35cb1adeeaf9973888629e7a9b1/sparse-0.17.0.tar.gz", hash = "sha256:6b1ad51a810c5be40b6f95e28513ec810fe1c785923bd83b2e4839a751df4bf7", size = 642387, upload-time = "2025-05-20T08:17:03.256Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/fd/42a1720542199ae6ff0f9c37bbd55dd3033ddd7bbe00d68cde09d6824887/sparse-0.17.0-py2.py3-none-any.whl", hash = "sha256:1922d1d97f692b1061c4f03a1dd6ee21850aedc88e171aa845715f5069952f18", size = 259370, upload-time = "2025-05-20T08:17:00.874Z" }, +] + +[[package]] +name = "sphinx" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "alabaster" }, + { name = "babel" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "docutils" }, + { name = "imagesize" }, + { name = "jinja2" }, + { name = "packaging" }, + { name = "pygments" }, + { name = "requests" }, + { name = "snowballstemmer" }, + { name = "sphinxcontrib-applehelp" }, + { name = "sphinxcontrib-devhelp" }, + { name = "sphinxcontrib-htmlhelp" }, + { name = "sphinxcontrib-jsmath" }, + { name = "sphinxcontrib-qthelp" }, + { name = "sphinxcontrib-serializinghtml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/17/ec54f1d8980bd8ec2bd4ca0e77ba6086d3db5aee718304593ba83f864125/Sphinx-6.1.0.tar.gz", hash = "sha256:b0fd0a1993733492572bbd429b5ec081e17c082b5b5168ffae50524c3a90fd3c", size = 6662509, upload-time = "2023-01-05T12:29:07.131Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5e/dd/1bb2e6dbdcb4ab4eba960a0073c164a0239e3b2cab191ca25a9eefa7e9e7/sphinx-6.1.0-py3-none-any.whl", hash = "sha256:7569d01418166c079560751038ab1c0ddca3b15c74787cc60b16d7f11a4bf35a", size = 3027606, upload-time = "2023-01-05T12:29:03.656Z" }, +] + +[[package]] +name = "sphinx-argparse" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/0b/d98f799d4283e8b6c403fd8102acf2b552ad78e947b6899a1344521e9d86/sphinx_argparse-0.4.0.tar.gz", hash = "sha256:e0f34184eb56f12face774fbc87b880abdb9017a0998d1ec559b267e9697e449", size = 15020, upload-time = "2022-11-11T22:43:23.485Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/98/d32f45b19b60e52b4ddc714dee139a92c6ea8fa9115f994884d321c3454d/sphinx_argparse-0.4.0-py3-none-any.whl", hash = "sha256:73bee01f7276fae2bf621ccfe4d167af7306e7288e3482005405d9f826f9b037", size = 12625, upload-time = "2022-11-11T22:43:21.964Z" }, +] + +[[package]] +name = "sphinx-autosummary-accessors" +version = "2025.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f7/14/3f81ab3976f386bdf8ac96fb9c89adeaafa910216fa21b7d6be714e140f7/sphinx_autosummary_accessors-2025.3.1.tar.gz", hash = "sha256:41292dffe742703abe987f66c62e109d832490ff74d273d6512503e6066e456f", size = 17778, upload-time = "2025-03-10T15:42:44.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/ac/12b1a7b9486dfcfd9c4c20a4ea5e2e4584681af8fe2f8898a716c2c51edb/sphinx_autosummary_accessors-2025.3.1-py3-none-any.whl", hash = "sha256:e90d140dce731162f70f2a46215e26dd46c57590e9f08bfff2e17cac45ce3a9f", size = 7820, upload-time = "2025-03-10T15:42:42.481Z" }, +] + +[[package]] +name = "sphinx-book-theme" +version = "1.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydata-sphinx-theme" }, + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/89/69/61dfa3b3851610b5f45960737bd99f8c5b2d70ba73f9ac84a527e0c564ae/sphinx_book_theme-1.1.3.tar.gz", hash = "sha256:1f25483b1846cb3d353a6bc61b3b45b031f4acf845665d7da90e01ae0aef5b4d", size = 434230, upload-time = "2024-06-12T14:11:22.128Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/80/90574e2e82c955b9c6f6b77f7badb2cf2ef4ef77599e4343cced2d098681/sphinx_book_theme-1.1.3-py3-none-any.whl", hash = "sha256:a554a9a7ac3881979a87a2b10f633aa2a5706e72218a10f71be38b3c9e831ae9", size = 430129, upload-time = "2024-06-12T14:11:20.002Z" }, +] + +[[package]] +name = "sphinx-comments" +version = "0.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/75/5bbf29e83eaf79843180cf424d0d550bda14a1792ca51dcf79daa065ba93/sphinx-comments-0.0.3.tar.gz", hash = "sha256:00170afff27019fad08e421da1ae49c681831fb2759786f07c826e89ac94cf21", size = 7960, upload-time = "2020-08-12T00:07:31.183Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/97/a5c39f619375d4f81d5422377fb027075898efa6b6202c1ccf1e5bb38a32/sphinx_comments-0.0.3-py3-none-any.whl", hash = "sha256:1e879b4e9bfa641467f83e3441ac4629225fc57c29995177d043252530c21d00", size = 4591, upload-time = "2020-08-12T00:07:30.297Z" }, +] + +[[package]] +name = "sphinx-copybutton" +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/2b/a964715e7f5295f77509e59309959f4125122d648f86b4fe7d70ca1d882c/sphinx-copybutton-0.5.2.tar.gz", hash = "sha256:4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd", size = 23039, upload-time = "2023-04-14T08:10:22.998Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/48/1ea60e74949eecb12cdd6ac43987f9fd331156388dcc2319b45e2ebb81bf/sphinx_copybutton-0.5.2-py3-none-any.whl", hash = "sha256:fb543fd386d917746c9a2c50360c7905b605726b9355cd26e9974857afeae06e", size = 13343, upload-time = "2023-04-14T08:10:20.844Z" }, +] + +[[package]] +name = "sphinx-design" +version = "0.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2b/69/b34e0cb5336f09c6866d53b4a19d76c227cdec1bbc7ac4de63ca7d58c9c7/sphinx_design-0.6.1.tar.gz", hash = "sha256:b44eea3719386d04d765c1a8257caca2b3e6f8421d7b3a5e742c0fd45f84e632", size = 2193689, upload-time = "2024-08-02T13:48:44.277Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/43/65c0acbd8cc6f50195a3a1fc195c404988b15c67090e73c7a41a9f57d6bd/sphinx_design-0.6.1-py3-none-any.whl", hash = "sha256:b11f37db1a802a183d61b159d9a202314d4d2fe29c163437001324fe2f19549c", size = 2215338, upload-time = "2024-08-02T13:48:42.106Z" }, +] + +[[package]] +name = "sphinx-external-toc" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "pyyaml" }, + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/b3/e900bcbb9d0071b928991e00ea70b3e6c6dd774dcf906c043c500e61584c/sphinx_external_toc-1.0.1.tar.gz", hash = "sha256:a7d2c63cc47ec688546443b28bc4ef466121827ef3dc7bb509de354bad4ea2e0", size = 32755, upload-time = "2023-12-12T10:26:53.951Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/9a/cb412957424012869b43a5aa3d95ccebcac737dafc5a545ce15bb8037f6e/sphinx_external_toc-1.0.1-py3-none-any.whl", hash = "sha256:d9e02d50731dee9697c1887e4f8b361e7b86d38241f0e66bd5a9f4096779646f", size = 26677, upload-time = "2023-12-12T10:26:52.017Z" }, +] + +[[package]] +name = "sphinx-jupyterbook-latex" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/29/18a1fc30e9315e72f068637079169525069a7c0b2fbe51cf689af0576214/sphinx_jupyterbook_latex-1.0.0.tar.gz", hash = "sha256:f54c6674c13f1616f9a93443e98b9b5353f9fdda8e39b6ec552ccf0b3e5ffb62", size = 11945, upload-time = "2023-12-11T15:37:25.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/1f/1d4ecaf58b17fe61497644655f40b04d84a88348e41a6f0c6392394d95e4/sphinx_jupyterbook_latex-1.0.0-py3-none-any.whl", hash = "sha256:e0cd3e9e1c5af69136434e21a533343fdf013475c410a414d5b7b4922b4f3891", size = 13319, upload-time = "2023-12-11T15:37:23.25Z" }, +] + +[[package]] +name = "sphinx-multitoc-numbering" +version = "0.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/37/1e/577bae038372885ebc34bd8c0f290295785a0250cac6528eb6d50e4b92d5/sphinx-multitoc-numbering-0.1.3.tar.gz", hash = "sha256:c9607671ac511236fa5d61a7491c1031e700e8d498c9d2418e6c61d1251209ae", size = 4542, upload-time = "2021-03-15T12:01:43.758Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/9f/902f2030674cd9473fdbe5a2c2dec2618c27ec853484c35f82cf8df40ece/sphinx_multitoc_numbering-0.1.3-py3-none-any.whl", hash = "sha256:33d2e707a9b2b8ad636b3d4302e658a008025106fe0474046c651144c26d8514", size = 4616, upload-time = "2021-03-15T12:01:42.419Z" }, +] + +[[package]] +name = "sphinx-remove-toctrees" +version = "1.0.0.post1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9a/50/e3153912d4382bb434b3679a42eb96966f8b741789004412d1ceecbeee30/sphinx_remove_toctrees-1.0.0.post1.tar.gz", hash = "sha256:4808d1edf151c06eff6d2c3922ec7ebc9fd3aa1762de1b2e1674a37f5ac9ce2d", size = 8473, upload-time = "2024-03-22T11:00:03.727Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/19/59dadac9ee5e8fa32b0d735b5488a569de36892a54e0b9927bea2b22f605/sphinx_remove_toctrees-1.0.0.post1-py3-none-any.whl", hash = "sha256:22a96579d7899cc034de194195916717a54a122cc101f16ec79c996fe0baa2be", size = 5200, upload-time = "2024-03-22T11:00:01.507Z" }, +] + +[[package]] +name = "sphinx-rtd-theme" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docutils" }, + { name = "sphinx" }, + { name = "sphinxcontrib-jquery" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/b4/40faec6790d4b08a6ef878feddc6ad11c3872b75f52273f1418c39f67cd6/sphinx_rtd_theme-1.2.0.tar.gz", hash = "sha256:a0d8bd1a2ed52e0b338cbe19c4b2eef3c5e7a048769753dac6a9f059c7b641b8", size = 2784826, upload-time = "2023-02-07T21:50:03.295Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/46/c167351699e5dc126798385cf37c26ba9df7a26c6f8855661d9f966d6ced/sphinx_rtd_theme-1.2.0-py2.py3-none-any.whl", hash = "sha256:f823f7e71890abe0ac6aaa6013361ea2696fc8d3e1fa798f463e82bdb77eeff2", size = 2824718, upload-time = "2023-02-07T21:50:00.495Z" }, +] + +[[package]] +name = "sphinx-thebe" +version = "0.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/da/fd/926ba4af1eb2708b1ac0fa4376e4bfb11d9a32b2a00e3614137a569c1ddf/sphinx_thebe-0.3.1.tar.gz", hash = "sha256:576047f45560e82f64aa5f15200b1eb094dcfe1c5b8f531a8a65bd208e25a493", size = 20789, upload-time = "2024-02-07T13:31:57.002Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/7c/a53bdb465fd364bc3d255d96d5d70e6ba5183cfb4e45b8aa91c59b099124/sphinx_thebe-0.3.1-py3-none-any.whl", hash = "sha256:e7e7edee9f0d601c76bc70156c471e114939484b111dd8e74fe47ac88baffc52", size = 9030, upload-time = "2024-02-07T13:31:55.286Z" }, +] + +[[package]] +name = "sphinx-togglebutton" +version = "0.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docutils" }, + { name = "setuptools" }, + { name = "sphinx" }, + { name = "wheel" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f0/df/d151dfbbe588116e450ca7e898750cb218dca6b2e557ced8de6f9bd7242b/sphinx-togglebutton-0.3.2.tar.gz", hash = "sha256:ab0c8b366427b01e4c89802d5d078472c427fa6e9d12d521c34fa0442559dc7a", size = 8324, upload-time = "2022-07-15T12:08:50.286Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/18/267ce39f29d26cdc7177231428ba823fe5ca94db8c56d1bed69033b364c8/sphinx_togglebutton-0.3.2-py3-none-any.whl", hash = "sha256:9647ba7874b7d1e2d43413d8497153a85edc6ac95a3fea9a75ef9c1e08aaae2b", size = 8249, upload-time = "2022-07-15T12:08:48.8Z" }, +] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053, upload-time = "2024-07-29T01:09:00.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300, upload-time = "2024-07-29T01:08:58.99Z" }, +] + +[[package]] +name = "sphinxcontrib-bibtex" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docutils" }, + { name = "pybtex" }, + { name = "pybtex-docutils" }, + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/54/94fbcd5eb0532eaa91580d09795c4b6c562b72d5638c2ed5b5cc31d2b1f8/sphinxcontrib-bibtex-2.5.0.tar.gz", hash = "sha256:71b42e5db0e2e284f243875326bf9936aa9a763282277d75048826fef5b00eaa", size = 113310, upload-time = "2022-08-22T13:16:46.025Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/17/3be04de2ed752996654895558db01a30d64759b2c7120e7692402b8d4e19/sphinxcontrib_bibtex-2.5.0-py3-none-any.whl", hash = "sha256:748f726eaca6efff7731012103417ef130ecdcc09501b4d0c54283bf5f059f76", size = 39752, upload-time = "2022-08-22T13:16:43.376Z" }, +] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967, upload-time = "2024-07-29T01:09:23.417Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530, upload-time = "2024-07-29T01:09:21.945Z" }, +] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617, upload-time = "2024-07-29T01:09:37.889Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705, upload-time = "2024-07-29T01:09:36.407Z" }, +] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/f3/aa67467e051df70a6330fe7770894b3e4f09436dea6881ae0b4f3d87cad8/sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a", size = 122331, upload-time = "2023-03-14T15:01:01.944Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/85/749bd22d1a68db7291c89e2ebca53f4306c3f205853cf31e9de279034c3c/sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae", size = 121104, upload-time = "2023-03-14T15:01:00.356Z" }, +] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787, upload-time = "2019-01-21T16:10:16.347Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071, upload-time = "2019-01-21T16:10:14.333Z" }, +] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165, upload-time = "2024-07-29T01:09:56.435Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743, upload-time = "2024-07-29T01:09:54.885Z" }, +] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080, upload-time = "2024-07-29T01:10:09.332Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072, upload-time = "2024-07-29T01:10:08.203Z" }, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.43" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "(python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and platform_machine == 'x86_64')" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/bc/d59b5d97d27229b0e009bd9098cd81af71c2fa5549c580a0a67b9bed0496/sqlalchemy-2.0.43.tar.gz", hash = "sha256:788bfcef6787a7764169cfe9859fe425bf44559619e1d9f56f5bddf2ebf6f417", size = 9762949, upload-time = "2025-08-11T14:24:58.438Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/4e/985f7da36f09592c5ade99321c72c15101d23c0bb7eecfd1daaca5714422/sqlalchemy-2.0.43-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:70322986c0c699dca241418fcf18e637a4369e0ec50540a2b907b184c8bca069", size = 2133162, upload-time = "2025-08-11T15:52:17.854Z" }, + { url = "https://files.pythonhosted.org/packages/37/34/798af8db3cae069461e3bc0898a1610dc469386a97048471d364dc8aae1c/sqlalchemy-2.0.43-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:87accdbba88f33efa7b592dc2e8b2a9c2cdbca73db2f9d5c510790428c09c154", size = 2123082, upload-time = "2025-08-11T15:52:19.181Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0f/79cf4d9dad42f61ec5af1e022c92f66c2d110b93bb1dc9b033892971abfa/sqlalchemy-2.0.43-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c00e7845d2f692ebfc7d5e4ec1a3fd87698e4337d09e58d6749a16aedfdf8612", size = 3208871, upload-time = "2025-08-11T15:50:30.656Z" }, + { url = "https://files.pythonhosted.org/packages/56/b3/59befa58fb0e1a9802c87df02344548e6d007e77e87e6084e2131c29e033/sqlalchemy-2.0.43-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:022e436a1cb39b13756cf93b48ecce7aa95382b9cfacceb80a7d263129dfd019", size = 3209583, upload-time = "2025-08-11T15:57:47.697Z" }, + { url = "https://files.pythonhosted.org/packages/29/d2/124b50c0eb8146e8f0fe16d01026c1a073844f0b454436d8544fe9b33bd7/sqlalchemy-2.0.43-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c5e73ba0d76eefc82ec0219d2301cb33bfe5205ed7a2602523111e2e56ccbd20", size = 3148177, upload-time = "2025-08-11T15:50:32.078Z" }, + { url = "https://files.pythonhosted.org/packages/83/f5/e369cd46aa84278107624617034a5825fedfc5c958b2836310ced4d2eadf/sqlalchemy-2.0.43-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9c2e02f06c68092b875d5cbe4824238ab93a7fa35d9c38052c033f7ca45daa18", size = 3172276, upload-time = "2025-08-11T15:57:49.477Z" }, + { url = "https://files.pythonhosted.org/packages/de/2b/4602bf4c3477fa4c837c9774e6dd22e0389fc52310c4c4dfb7e7ba05e90d/sqlalchemy-2.0.43-cp310-cp310-win32.whl", hash = "sha256:e7a903b5b45b0d9fa03ac6a331e1c1d6b7e0ab41c63b6217b3d10357b83c8b00", size = 2101491, upload-time = "2025-08-11T15:54:59.191Z" }, + { url = "https://files.pythonhosted.org/packages/38/2d/bfc6b6143adef553a08295490ddc52607ee435b9c751c714620c1b3dd44d/sqlalchemy-2.0.43-cp310-cp310-win_amd64.whl", hash = "sha256:4bf0edb24c128b7be0c61cd17eef432e4bef507013292415f3fb7023f02b7d4b", size = 2125148, upload-time = "2025-08-11T15:55:00.593Z" }, + { url = "https://files.pythonhosted.org/packages/9d/77/fa7189fe44114658002566c6fe443d3ed0ec1fa782feb72af6ef7fbe98e7/sqlalchemy-2.0.43-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:52d9b73b8fb3e9da34c2b31e6d99d60f5f99fd8c1225c9dad24aeb74a91e1d29", size = 2136472, upload-time = "2025-08-11T15:52:21.789Z" }, + { url = "https://files.pythonhosted.org/packages/99/ea/92ac27f2fbc2e6c1766bb807084ca455265707e041ba027c09c17d697867/sqlalchemy-2.0.43-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f42f23e152e4545157fa367b2435a1ace7571cab016ca26038867eb7df2c3631", size = 2126535, upload-time = "2025-08-11T15:52:23.109Z" }, + { url = "https://files.pythonhosted.org/packages/94/12/536ede80163e295dc57fff69724caf68f91bb40578b6ac6583a293534849/sqlalchemy-2.0.43-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fb1a8c5438e0c5ea51afe9c6564f951525795cf432bed0c028c1cb081276685", size = 3297521, upload-time = "2025-08-11T15:50:33.536Z" }, + { url = "https://files.pythonhosted.org/packages/03/b5/cacf432e6f1fc9d156eca0560ac61d4355d2181e751ba8c0cd9cb232c8c1/sqlalchemy-2.0.43-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db691fa174e8f7036afefe3061bc40ac2b770718be2862bfb03aabae09051aca", size = 3297343, upload-time = "2025-08-11T15:57:51.186Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ba/d4c9b526f18457667de4c024ffbc3a0920c34237b9e9dd298e44c7c00ee5/sqlalchemy-2.0.43-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe2b3b4927d0bc03d02ad883f402d5de201dbc8894ac87d2e981e7d87430e60d", size = 3232113, upload-time = "2025-08-11T15:50:34.949Z" }, + { url = "https://files.pythonhosted.org/packages/aa/79/c0121b12b1b114e2c8a10ea297a8a6d5367bc59081b2be896815154b1163/sqlalchemy-2.0.43-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4d3d9b904ad4a6b175a2de0738248822f5ac410f52c2fd389ada0b5262d6a1e3", size = 3258240, upload-time = "2025-08-11T15:57:52.983Z" }, + { url = "https://files.pythonhosted.org/packages/79/99/a2f9be96fb382f3ba027ad42f00dbe30fdb6ba28cda5f11412eee346bec5/sqlalchemy-2.0.43-cp311-cp311-win32.whl", hash = "sha256:5cda6b51faff2639296e276591808c1726c4a77929cfaa0f514f30a5f6156921", size = 2101248, upload-time = "2025-08-11T15:55:01.855Z" }, + { url = "https://files.pythonhosted.org/packages/ee/13/744a32ebe3b4a7a9c7ea4e57babae7aa22070d47acf330d8e5a1359607f1/sqlalchemy-2.0.43-cp311-cp311-win_amd64.whl", hash = "sha256:c5d1730b25d9a07727d20ad74bc1039bbbb0a6ca24e6769861c1aa5bf2c4c4a8", size = 2126109, upload-time = "2025-08-11T15:55:04.092Z" }, + { url = "https://files.pythonhosted.org/packages/61/db/20c78f1081446095450bdc6ee6cc10045fce67a8e003a5876b6eaafc5cc4/sqlalchemy-2.0.43-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:20d81fc2736509d7a2bd33292e489b056cbae543661bb7de7ce9f1c0cd6e7f24", size = 2134891, upload-time = "2025-08-11T15:51:13.019Z" }, + { url = "https://files.pythonhosted.org/packages/45/0a/3d89034ae62b200b4396f0f95319f7d86e9945ee64d2343dcad857150fa2/sqlalchemy-2.0.43-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b9fc27650ff5a2c9d490c13c14906b918b0de1f8fcbb4c992712d8caf40e83", size = 2123061, upload-time = "2025-08-11T15:51:14.319Z" }, + { url = "https://files.pythonhosted.org/packages/cb/10/2711f7ff1805919221ad5bee205971254845c069ee2e7036847103ca1e4c/sqlalchemy-2.0.43-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6772e3ca8a43a65a37c88e2f3e2adfd511b0b1da37ef11ed78dea16aeae85bd9", size = 3320384, upload-time = "2025-08-11T15:52:35.088Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0e/3d155e264d2ed2778484006ef04647bc63f55b3e2d12e6a4f787747b5900/sqlalchemy-2.0.43-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a113da919c25f7f641ffbd07fbc9077abd4b3b75097c888ab818f962707eb48", size = 3329648, upload-time = "2025-08-11T15:56:34.153Z" }, + { url = "https://files.pythonhosted.org/packages/5b/81/635100fb19725c931622c673900da5efb1595c96ff5b441e07e3dd61f2be/sqlalchemy-2.0.43-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4286a1139f14b7d70141c67a8ae1582fc2b69105f1b09d9573494eb4bb4b2687", size = 3258030, upload-time = "2025-08-11T15:52:36.933Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ed/a99302716d62b4965fded12520c1cbb189f99b17a6d8cf77611d21442e47/sqlalchemy-2.0.43-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:529064085be2f4d8a6e5fab12d36ad44f1909a18848fcfbdb59cc6d4bbe48efe", size = 3294469, upload-time = "2025-08-11T15:56:35.553Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a2/3a11b06715149bf3310b55a98b5c1e84a42cfb949a7b800bc75cb4e33abc/sqlalchemy-2.0.43-cp312-cp312-win32.whl", hash = "sha256:b535d35dea8bbb8195e7e2b40059e2253acb2b7579b73c1b432a35363694641d", size = 2098906, upload-time = "2025-08-11T15:55:00.645Z" }, + { url = "https://files.pythonhosted.org/packages/bc/09/405c915a974814b90aa591280623adc6ad6b322f61fd5cff80aeaef216c9/sqlalchemy-2.0.43-cp312-cp312-win_amd64.whl", hash = "sha256:1c6d85327ca688dbae7e2b06d7d84cfe4f3fffa5b5f9e21bb6ce9d0e1a0e0e0a", size = 2126260, upload-time = "2025-08-11T15:55:02.965Z" }, + { url = "https://files.pythonhosted.org/packages/41/1c/a7260bd47a6fae7e03768bf66451437b36451143f36b285522b865987ced/sqlalchemy-2.0.43-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e7c08f57f75a2bb62d7ee80a89686a5e5669f199235c6d1dac75cd59374091c3", size = 2130598, upload-time = "2025-08-11T15:51:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/8e/84/8a337454e82388283830b3586ad7847aa9c76fdd4f1df09cdd1f94591873/sqlalchemy-2.0.43-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:14111d22c29efad445cd5021a70a8b42f7d9152d8ba7f73304c4d82460946aaa", size = 2118415, upload-time = "2025-08-11T15:51:17.256Z" }, + { url = "https://files.pythonhosted.org/packages/cf/ff/22ab2328148492c4d71899d62a0e65370ea66c877aea017a244a35733685/sqlalchemy-2.0.43-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21b27b56eb2f82653168cefe6cb8e970cdaf4f3a6cb2c5e3c3c1cf3158968ff9", size = 3248707, upload-time = "2025-08-11T15:52:38.444Z" }, + { url = "https://files.pythonhosted.org/packages/dc/29/11ae2c2b981de60187f7cbc84277d9d21f101093d1b2e945c63774477aba/sqlalchemy-2.0.43-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c5a9da957c56e43d72126a3f5845603da00e0293720b03bde0aacffcf2dc04f", size = 3253602, upload-time = "2025-08-11T15:56:37.348Z" }, + { url = "https://files.pythonhosted.org/packages/b8/61/987b6c23b12c56d2be451bc70900f67dd7d989d52b1ee64f239cf19aec69/sqlalchemy-2.0.43-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d79f9fdc9584ec83d1b3c75e9f4595c49017f5594fee1a2217117647225d738", size = 3183248, upload-time = "2025-08-11T15:52:39.865Z" }, + { url = "https://files.pythonhosted.org/packages/86/85/29d216002d4593c2ce1c0ec2cec46dda77bfbcd221e24caa6e85eff53d89/sqlalchemy-2.0.43-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9df7126fd9db49e3a5a3999442cc67e9ee8971f3cb9644250107d7296cb2a164", size = 3219363, upload-time = "2025-08-11T15:56:39.11Z" }, + { url = "https://files.pythonhosted.org/packages/b6/e4/bd78b01919c524f190b4905d47e7630bf4130b9f48fd971ae1c6225b6f6a/sqlalchemy-2.0.43-cp313-cp313-win32.whl", hash = "sha256:7f1ac7828857fcedb0361b48b9ac4821469f7694089d15550bbcf9ab22564a1d", size = 2096718, upload-time = "2025-08-11T15:55:05.349Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a5/ca2f07a2a201f9497de1928f787926613db6307992fe5cda97624eb07c2f/sqlalchemy-2.0.43-cp313-cp313-win_amd64.whl", hash = "sha256:971ba928fcde01869361f504fcff3b7143b47d30de188b11c6357c0505824197", size = 2123200, upload-time = "2025-08-11T15:55:07.932Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d9/13bdde6521f322861fab67473cec4b1cc8999f3871953531cf61945fad92/sqlalchemy-2.0.43-py3-none-any.whl", hash = "sha256:1681c21dd2ccee222c2fe0bef671d1aef7c504087c9c4e800371cfcc8ac966fc", size = 1924759, upload-time = "2025-08-11T15:39:53.024Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "tables" +version = "3.10.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "blosc2", version = "2.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numexpr", marker = "python_full_version < '3.11'" }, + { name = "numpy", marker = "python_full_version < '3.11'" }, + { name = "packaging", marker = "python_full_version < '3.11'" }, + { name = "py-cpuinfo", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0d/5d/96708a84e9fcd29d1f684d56d4c38a23d29b1c934599a072a49f27ccfa71/tables-3.10.1.tar.gz", hash = "sha256:4aa07ac734b9c037baeaf44aec64ec902ad247f57811b59f30c4e31d31f126cf", size = 4762413, upload-time = "2024-08-17T09:57:47.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/69/a768ec8104ada032c9be09f521f548766ddd0351bc941c9d42fa5db001de/tables-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca9d11a570ca1bc57f0845e54e55c3093d5a1ace376faee639e09503a73745b", size = 6823691, upload-time = "2024-08-17T09:56:50.229Z" }, + { url = "https://files.pythonhosted.org/packages/e4/2d/074bc14b39de9b552eec02ee583eff2997d903da1355f4450506335a6055/tables-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b62881cb682438d1e92b9178db42b160638aef3ca23341f7d98e9b27821b1eb4", size = 5471221, upload-time = "2024-08-17T09:56:54.84Z" }, + { url = "https://files.pythonhosted.org/packages/4a/30/29411ab804b5ac4bee25c82ba38f4e7a8c0b52c6a1cdbeea7d1db33a53fe/tables-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9cf1bfd8b0e0195196205fc8a134628219cff85d20da537facd67a291e6b347", size = 7170201, upload-time = "2024-08-17T09:56:59.011Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7d/3165c7538b8e89b22fa17ad68e04106cca7023cf68e94011ae7b3b6d2a78/tables-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77f0e6dd45b91d99bf3976c8655c48fe3816baf390b9098e4fb2f0fdf9da7078", size = 7571035, upload-time = "2024-08-17T09:57:03.115Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/985a23d2cf27aad383301a5e99e1851228a1941b868515612b5357bded5f/tables-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:d90542ec172d1d60df0b796c48ad446f2b69a5d5cd3077bd6450891b854d1ffb", size = 6311650, upload-time = "2024-08-17T09:57:06.593Z" }, + { url = "https://files.pythonhosted.org/packages/dc/04/957264eb35e60251830a965e2d02332eb36ed14fbd8345df06981bbf3ece/tables-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8917262a2bb3cd79d37e108557e34ec4b365fdcc806e01dd10765a84c65dab6", size = 6790492, upload-time = "2024-08-17T09:57:10.247Z" }, + { url = "https://files.pythonhosted.org/packages/b2/19/eb7af9d92aaf6766f5fedfce11a97ab03cf39856561c5f562dc0c769a682/tables-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f93f6db623b484bb6606537c2a71e95ee34fae19b0d891867642dd8c7be05af6", size = 5506835, upload-time = "2024-08-17T09:57:13.883Z" }, + { url = "https://files.pythonhosted.org/packages/b0/8f/897324e1ad543ca439b2c91f04c406f3eeda6e7ff2f43b4cd939f05043e4/tables-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01ca51624bca1a87e703d6d6b796368bc3460ff007ea8b1341be03bedd863833", size = 7166960, upload-time = "2024-08-17T09:57:17.463Z" }, + { url = "https://files.pythonhosted.org/packages/4e/5c/3f21d1135bf60af99ac79a17bbffd333d69763df2197ba04f47dd30bbd4e/tables-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9372516c76be3a05a573df63a69ce38315d03b5816d2a1e89c48129ec8b161b0", size = 7568724, upload-time = "2024-08-17T09:57:23.02Z" }, + { url = "https://files.pythonhosted.org/packages/1f/e3/3ee6b66263902eccadc4e0e23bca7fb480fd190904b7ce0bea4777b5b799/tables-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:09190fb504888aeacafb7739c13d5c5a3e87af3d261f4d2f832b1f8407be133a", size = 6312200, upload-time = "2024-08-17T09:57:26.322Z" }, + { url = "https://files.pythonhosted.org/packages/95/ec/ea6c476e33602c172c797fe8f8ab96d007d964137068276d142b142a28e5/tables-3.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a7090af37909e3bf229d5599fa442633e5a93b6082960b01038dc0106e07a8da", size = 6791597, upload-time = "2024-08-17T09:57:29.598Z" }, + { url = "https://files.pythonhosted.org/packages/74/02/a967a506e9204e3328a8c03f67e6f3c919defc8df11aba83ae5b2abf7b0f/tables-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:203ed50c0c5f30f007df7633089b2a567b99856cd25d68f19d91624a8db2e7ad", size = 5474779, upload-time = "2024-08-17T09:57:32.43Z" }, + { url = "https://files.pythonhosted.org/packages/c3/26/925793f753664ec698b2c6315c818269313db143da38150897cf260405c2/tables-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e36ce9f10471c69c1f0b06c6966de762558a35d62592c55df7994a8019adaf0c", size = 7130683, upload-time = "2024-08-17T09:57:36.181Z" }, + { url = "https://files.pythonhosted.org/packages/d8/79/2b34f22284459e940a84e71dba19b2a34c7cc0ce3cdf685923c50d5b9611/tables-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f233e78cc9fa4157ec4c3ef2abf01a731fe7969bc6ed73539e5f4cd3b94c98b2", size = 7531367, upload-time = "2024-08-17T09:57:39.864Z" }, + { url = "https://files.pythonhosted.org/packages/3d/27/5a23830f611e26dd7ee104096c6bb82e481b16f3f17ccaed3075f8d48312/tables-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:34357d2f2f75843a44e6fe54d1f11fc2e35a8fd3cb134df3d3362cff78010adb", size = 6295046, upload-time = "2024-08-17T09:57:43.561Z" }, + { url = "https://files.pythonhosted.org/packages/d3/d4/e7c25df877e054b05f146d6ccb920bcdbe8d39b35a0962868b80547532c7/tables-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6fc5b46a4f359249c3ab9a0a0a2448d7e680e68cffd63fdf3fb7171781edd46e", size = 6824253, upload-time = "2024-11-09T19:26:06.428Z" }, + { url = "https://files.pythonhosted.org/packages/c6/49/091865d75090a24493bd1b66e52d72f4d9627ff42983a13d4dcd89455d02/tables-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2ecabd7f459d40b7f9f5256850dd5f43773fda7b789f827de92c3d26df1e320f", size = 5499587, upload-time = "2024-11-09T19:26:12.402Z" }, + { url = "https://files.pythonhosted.org/packages/23/83/9dac8af333149fa01add439f710d4a312b70faf81c2f59a16b8bfaebb75e/tables-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40a4ee18f3c9339d9dd8fd3777c75cda5768f2ff347064a2796f59161a190af8", size = 7128236, upload-time = "2024-11-09T19:26:15.716Z" }, + { url = "https://files.pythonhosted.org/packages/89/fd/62f31643596f6ab71fc6d2a87acdee0bc01a03fbe1a7f3f6dc0c91e2546d/tables-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:757c6ea257c174af8036cf8f273ede756bbcd6db5ac7e2a4d64e788b0f371152", size = 7527953, upload-time = "2024-11-09T19:26:20.229Z" }, +] + +[[package]] +name = "tables" +version = "3.10.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "blosc2", version = "3.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numexpr", marker = "python_full_version >= '3.11'" }, + { name = "numpy", marker = "python_full_version >= '3.11'" }, + { name = "packaging", marker = "python_full_version >= '3.11'" }, + { name = "py-cpuinfo", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/15/50/23ead25f60bb1babe7f2f061d8a2f8c2f6804c1a20b3058677beb9085b56/tables-3.10.2.tar.gz", hash = "sha256:2544812a7186fadba831d6dd34eb49ccd788d6a83f4e4c2b431b835b6796c910", size = 4779722, upload-time = "2025-01-04T20:44:13.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/f6/ef0c376c1fa01b916d5db0c2681be063f6289ee99faf7bb6610e0b55b773/tables-3.10.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:63f8adec3c4421a011c5c6a245c0c1fccf16dba7aaa67d9915d2821cf365ed4a", size = 6767194, upload-time = "2025-01-04T20:42:53.5Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d0/accd41382fa9da45bf816c56f85bda64223a3b8d0006d3496b67e0781a6e/tables-3.10.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c120bff666d33d3bdfb9e33173a4869d5f34e6c87824f2c7ec6a72c8dfab82", size = 5482665, upload-time = "2025-01-04T20:42:58.589Z" }, + { url = "https://files.pythonhosted.org/packages/59/2f/c95e94423c463177b8a7d55a1dbbd524840fe6a684844ff728f238e71f68/tables-3.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e71f63ac67c583ac42943c99c2d33bcc9e361e94d1ab1a763dc0698bdd9ff815", size = 7117696, upload-time = "2025-01-04T20:43:04.014Z" }, + { url = "https://files.pythonhosted.org/packages/88/d5/71665919aa2a5a3d2a20eeef3c71dc7c2ebbd9f26d114a7808514aba24d6/tables-3.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:154773f97763ccc91a29bcead6ab7b5ef164c2ed8c409cd79a2115aa9b4184c9", size = 7520921, upload-time = "2025-01-04T20:43:10.002Z" }, + { url = "https://files.pythonhosted.org/packages/46/96/b5023c1f7b9d560cac3e2c0daceebaeb88dd24c70c75db2d291abfa563e5/tables-3.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:96b5e945d275415e79ddb0578657ecc6ac77030dcc0632ab2c39f89390bb239d", size = 6407137, upload-time = "2025-01-04T20:43:15.838Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c4/1efbcc699db863d88874f3d111e5bb6dd2e0fbaca38f91c992e696324730/tables-3.10.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6ba58205d1f6a4e0e2212bc221e76cf104f22190f90c3f1683f3c1ab138f28f", size = 6734990, upload-time = "2025-01-04T20:43:20.794Z" }, + { url = "https://files.pythonhosted.org/packages/4a/db/4c7facfc805ab764f2ee256011d20f96791d2426afa3389ca7ff2a8a4ea8/tables-3.10.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdb5c040aa43e5e96259d6f6bb9df5b66fef2b071a6eb035c21bf6508e865d40", size = 5483377, upload-time = "2025-01-04T20:43:25.923Z" }, + { url = "https://files.pythonhosted.org/packages/93/0a/53815b516a2465b329e5dc2079c99a8b6b1a23f6b9ce5da8a7ebc7892bf4/tables-3.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e694123fa886d9be57f55fc7e1dcacac49f0b4ed4a931c795bd8f82f7111b5a8", size = 7081356, upload-time = "2025-01-04T20:43:31.066Z" }, + { url = "https://files.pythonhosted.org/packages/d3/e1/3f4adfc83eb7390abb964682a7d1df0dbe451dd2cee99750b1c7ca8e2c9d/tables-3.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6c12d0d04de89297763923ebeaddfd7e0b51f29041895db284fd4913e7448b7", size = 7483570, upload-time = "2025-01-04T20:43:36.694Z" }, + { url = "https://files.pythonhosted.org/packages/9a/d4/0b9ba57a5a8d2d05d1108055a8d70a4b066db4ebed61921de34043a31bdb/tables-3.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:a406d5dbbcb6604bd1ca129af337e0790d4e02d29d06159ddb9f74e38d756d32", size = 6388443, upload-time = "2025-01-04T20:43:42.503Z" }, + { url = "https://files.pythonhosted.org/packages/ab/02/8c7aeaa6c8aac8e0298d40dc5fc55477fddc30cb31e4dc7e5e473be4b464/tables-3.10.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7b8bc07c715bad3d447ed8f834388ef2e10265e2c4af6b1297fc61adb645948f", size = 6725764, upload-time = "2025-01-04T20:43:48.171Z" }, + { url = "https://files.pythonhosted.org/packages/91/f4/8683395d294b9e4576fd7d888aa6cf5583c013c2c0a2e47f862c2842407f/tables-3.10.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:28677ed8e1a371471495599078f48da0850f82457d6c852ca77959c974371140", size = 5442663, upload-time = "2025-01-04T20:43:53.722Z" }, + { url = "https://files.pythonhosted.org/packages/72/9b/ea43159eed8f81bfa1ead8fa8201a3c352e84c7220e046bb548736833951/tables-3.10.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaaea478dcf27dd54679ef2643c26d3b8b15676ad81e4d80a88fd1682d23deb1", size = 7078747, upload-time = "2025-01-04T20:43:59.596Z" }, + { url = "https://files.pythonhosted.org/packages/04/95/b3e88edc674e35d9011b168df0d7a9b1c3ab98733fa26e740ac7964edc2f/tables-3.10.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5e67a9f901842f9a4b1f3d2307f4bdd94047514fe0d0c558ed19c11f53c402a", size = 7479985, upload-time = "2025-01-04T20:44:04.13Z" }, + { url = "https://files.pythonhosted.org/packages/63/ca/eaa029a43d269bdda6985931d6cfd479e876cd8cf7c887d818bef05ef03b/tables-3.10.2-cp313-cp313-win_amd64.whl", hash = "sha256:5637fdcded5ba5426aa24e0e42d6f990926a4da7f193830df131dfcb7e842900", size = 6385562, upload-time = "2025-01-04T20:44:08.196Z" }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "tomli-w" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz", hash = "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021", size = 7184, upload-time = "2025-01-15T12:07:24.262Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl", hash = "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90", size = 6675, upload-time = "2025-01-15T12:07:22.074Z" }, +] + +[[package]] +name = "toolz" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/0b/d80dfa675bf592f636d1ea0b835eab4ec8df6e9415d8cfd766df54456123/toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02", size = 66790, upload-time = "2024-10-04T16:17:04.001Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236", size = 56383, upload-time = "2024-10-04T16:17:01.533Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, + { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "typeguard" +version = "4.4.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/68/71c1a15b5f65f40e91b65da23b8224dad41349894535a97f63a52e462196/typeguard-4.4.4.tar.gz", hash = "sha256:3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74", size = 75203, upload-time = "2025-06-18T09:56:07.624Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/a9/e3aee762739c1d7528da1c3e06d518503f8b6c439c35549b53735ba52ead/typeguard-4.4.4-py3-none-any.whl", hash = "sha256:b5f562281b6bfa1f5492470464730ef001646128b180769880468bd84b68b09e", size = 34874, upload-time = "2025-06-18T09:56:05.999Z" }, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20250822" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0c/0a/775f8551665992204c756be326f3575abba58c4a3a52eef9909ef4536428/types_python_dateutil-2.9.0.20250822.tar.gz", hash = "sha256:84c92c34bd8e68b117bff742bc00b692a1e8531262d4507b33afcc9f7716cd53", size = 16084, upload-time = "2025-08-22T03:02:00.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/d9/a29dfa84363e88b053bf85a8b7f212a04f0d7343a4d24933baa45c06e08b/types_python_dateutil-2.9.0.20250822-py3-none-any.whl", hash = "sha256:849d52b737e10a6dc6621d2bd7940ec7c65fcb69e6aa2882acf4e56b2b508ddc", size = 17892, upload-time = "2025-08-22T03:01:59.436Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspect" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/74/1789779d91f1961fa9438e9a8710cdae6bd138c80d7303996933d117264a/typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78", size = 13825, upload-time = "2023-05-24T20:25:47.612Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f", size = 8827, upload-time = "2023-05-24T20:25:45.287Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "uc-micro-py" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz", hash = "sha256:d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a", size = 6043, upload-time = "2024-02-09T16:52:01.654Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/87/1f677586e8ac487e29672e4b17455758fce261de06a0d086167bb760361a/uc_micro_py-1.0.3-py3-none-any.whl", hash = "sha256:db1dffff340817673d7b466ec86114a9dc0e9d4d9b5ba229d9d60e5c12600cd5", size = 6229, upload-time = "2024-02-09T16:52:00.371Z" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "virtualenv" +version = "20.34.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, +] + +[[package]] +name = "waitress" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/cb/04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184/waitress-3.0.2.tar.gz", hash = "sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f", size = 179901, upload-time = "2024-11-16T20:02:35.195Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/57/a27182528c90ef38d82b636a11f606b0cbb0e17588ed205435f8affe3368/waitress-3.0.2-py3-none-any.whl", hash = "sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e", size = 56232, upload-time = "2024-11-16T20:02:33.858Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, +] + +[[package]] +name = "webcolors" +version = "24.11.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064, upload-time = "2024-11-11T07:43:24.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934, upload-time = "2024-11-11T07:43:22.529Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648, upload-time = "2024-04-23T22:16:16.976Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826, upload-time = "2024-04-23T22:16:14.422Z" }, +] + +[[package]] +name = "werkzeug" +version = "3.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925, upload-time = "2024-11-08T15:52:18.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498, upload-time = "2024-11-08T15:52:16.132Z" }, +] + +[[package]] +name = "wheel" +version = "0.45.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/23/bb82321b86411eb51e5a5db3fb8f8032fd30bd7c2d74bfe936136b2fa1d6/wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04", size = 53482, upload-time = "2025-08-12T05:51:44.467Z" }, + { url = "https://files.pythonhosted.org/packages/45/69/f3c47642b79485a30a59c63f6d739ed779fb4cc8323205d047d741d55220/wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2", size = 38676, upload-time = "2025-08-12T05:51:32.636Z" }, + { url = "https://files.pythonhosted.org/packages/d1/71/e7e7f5670c1eafd9e990438e69d8fb46fa91a50785332e06b560c869454f/wrapt-1.17.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c", size = 38957, upload-time = "2025-08-12T05:51:54.655Z" }, + { url = "https://files.pythonhosted.org/packages/de/17/9f8f86755c191d6779d7ddead1a53c7a8aa18bccb7cea8e7e72dfa6a8a09/wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775", size = 81975, upload-time = "2025-08-12T05:52:30.109Z" }, + { url = "https://files.pythonhosted.org/packages/f2/15/dd576273491f9f43dd09fce517f6c2ce6eb4fe21681726068db0d0467096/wrapt-1.17.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd", size = 83149, upload-time = "2025-08-12T05:52:09.316Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c4/5eb4ce0d4814521fee7aa806264bf7a114e748ad05110441cd5b8a5c744b/wrapt-1.17.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05", size = 82209, upload-time = "2025-08-12T05:52:10.331Z" }, + { url = "https://files.pythonhosted.org/packages/31/4b/819e9e0eb5c8dc86f60dfc42aa4e2c0d6c3db8732bce93cc752e604bb5f5/wrapt-1.17.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418", size = 81551, upload-time = "2025-08-12T05:52:31.137Z" }, + { url = "https://files.pythonhosted.org/packages/f8/83/ed6baf89ba3a56694700139698cf703aac9f0f9eb03dab92f57551bd5385/wrapt-1.17.3-cp310-cp310-win32.whl", hash = "sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390", size = 36464, upload-time = "2025-08-12T05:53:01.204Z" }, + { url = "https://files.pythonhosted.org/packages/2f/90/ee61d36862340ad7e9d15a02529df6b948676b9a5829fd5e16640156627d/wrapt-1.17.3-cp310-cp310-win_amd64.whl", hash = "sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6", size = 38748, upload-time = "2025-08-12T05:53:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c3/cefe0bd330d389c9983ced15d326f45373f4073c9f4a8c2f99b50bfea329/wrapt-1.17.3-cp310-cp310-win_arm64.whl", hash = "sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18", size = 36810, upload-time = "2025-08-12T05:52:51.906Z" }, + { url = "https://files.pythonhosted.org/packages/52/db/00e2a219213856074a213503fdac0511203dceefff26e1daa15250cc01a0/wrapt-1.17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7", size = 53482, upload-time = "2025-08-12T05:51:45.79Z" }, + { url = "https://files.pythonhosted.org/packages/5e/30/ca3c4a5eba478408572096fe9ce36e6e915994dd26a4e9e98b4f729c06d9/wrapt-1.17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85", size = 38674, upload-time = "2025-08-12T05:51:34.629Z" }, + { url = "https://files.pythonhosted.org/packages/31/25/3e8cc2c46b5329c5957cec959cb76a10718e1a513309c31399a4dad07eb3/wrapt-1.17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f", size = 38959, upload-time = "2025-08-12T05:51:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8f/a32a99fc03e4b37e31b57cb9cefc65050ea08147a8ce12f288616b05ef54/wrapt-1.17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311", size = 82376, upload-time = "2025-08-12T05:52:32.134Z" }, + { url = "https://files.pythonhosted.org/packages/31/57/4930cb8d9d70d59c27ee1332a318c20291749b4fba31f113c2f8ac49a72e/wrapt-1.17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1", size = 83604, upload-time = "2025-08-12T05:52:11.663Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/1afd48de81d63dd66e01b263a6fbb86e1b5053b419b9b33d13e1f6d0f7d0/wrapt-1.17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5", size = 82782, upload-time = "2025-08-12T05:52:12.626Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d7/4ad5327612173b144998232f98a85bb24b60c352afb73bc48e3e0d2bdc4e/wrapt-1.17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2", size = 82076, upload-time = "2025-08-12T05:52:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/bb/59/e0adfc831674a65694f18ea6dc821f9fcb9ec82c2ce7e3d73a88ba2e8718/wrapt-1.17.3-cp311-cp311-win32.whl", hash = "sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89", size = 36457, upload-time = "2025-08-12T05:53:03.936Z" }, + { url = "https://files.pythonhosted.org/packages/83/88/16b7231ba49861b6f75fc309b11012ede4d6b0a9c90969d9e0db8d991aeb/wrapt-1.17.3-cp311-cp311-win_amd64.whl", hash = "sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77", size = 38745, upload-time = "2025-08-12T05:53:02.885Z" }, + { url = "https://files.pythonhosted.org/packages/9a/1e/c4d4f3398ec073012c51d1c8d87f715f56765444e1a4b11e5180577b7e6e/wrapt-1.17.3-cp311-cp311-win_arm64.whl", hash = "sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a", size = 36806, upload-time = "2025-08-12T05:52:53.368Z" }, + { url = "https://files.pythonhosted.org/packages/9f/41/cad1aba93e752f1f9268c77270da3c469883d56e2798e7df6240dcb2287b/wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0", size = 53998, upload-time = "2025-08-12T05:51:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/096a7cc13097a1869fe44efe68dace40d2a16ecb853141394047f0780b96/wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba", size = 39020, upload-time = "2025-08-12T05:51:35.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/df/bdf864b8997aab4febb96a9ae5c124f700a5abd9b5e13d2a3214ec4be705/wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd", size = 39098, upload-time = "2025-08-12T05:51:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/5d931d78d0eb732b95dc3ddaeeb71c8bb572fb01356e9133916cd729ecdd/wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828", size = 88036, upload-time = "2025-08-12T05:52:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/ca/38/2e1785df03b3d72d34fc6252d91d9d12dc27a5c89caef3335a1bbb8908ca/wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9", size = 88156, upload-time = "2025-08-12T05:52:13.599Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8b/48cdb60fe0603e34e05cffda0b2a4adab81fd43718e11111a4b0100fd7c1/wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396", size = 87102, upload-time = "2025-08-12T05:52:14.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/51/d81abca783b58f40a154f1b2c56db1d2d9e0d04fa2d4224e357529f57a57/wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc", size = 87732, upload-time = "2025-08-12T05:52:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/43b286ca1392a006d5336412d41663eeef1ad57485f3e52c767376ba7e5a/wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe", size = 36705, upload-time = "2025-08-12T05:53:07.123Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/49493f962bd3c586ab4b88066e967aa2e0703d6ef2c43aa28cb83bf7b507/wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c", size = 38877, upload-time = "2025-08-12T05:53:05.436Z" }, + { url = "https://files.pythonhosted.org/packages/f1/48/0f7102fe9cb1e8a5a77f80d4f0956d62d97034bbe88d33e94699f99d181d/wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6", size = 36885, upload-time = "2025-08-12T05:52:54.367Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", size = 54003, upload-time = "2025-08-12T05:51:48.627Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", size = 39025, upload-time = "2025-08-12T05:51:37.156Z" }, + { url = "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", size = 39108, upload-time = "2025-08-12T05:51:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", size = 88072, upload-time = "2025-08-12T05:52:37.53Z" }, + { url = "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", size = 88214, upload-time = "2025-08-12T05:52:15.886Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", size = 87105, upload-time = "2025-08-12T05:52:17.914Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", size = 87766, upload-time = "2025-08-12T05:52:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cf/7d848740203c7b4b27eb55dbfede11aca974a51c3d894f6cc4b865f42f58/wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8", size = 36711, upload-time = "2025-08-12T05:53:10.074Z" }, + { url = "https://files.pythonhosted.org/packages/57/54/35a84d0a4d23ea675994104e667ceff49227ce473ba6a59ba2c84f250b74/wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb", size = 38885, upload-time = "2025-08-12T05:53:08.695Z" }, + { url = "https://files.pythonhosted.org/packages/01/77/66e54407c59d7b02a3c4e0af3783168fff8e5d61def52cda8728439d86bc/wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16", size = 36896, upload-time = "2025-08-12T05:52:55.34Z" }, + { url = "https://files.pythonhosted.org/packages/02/a2/cd864b2a14f20d14f4c496fab97802001560f9f41554eef6df201cd7f76c/wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39", size = 54132, upload-time = "2025-08-12T05:51:49.864Z" }, + { url = "https://files.pythonhosted.org/packages/d5/46/d011725b0c89e853dc44cceb738a307cde5d240d023d6d40a82d1b4e1182/wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235", size = 39091, upload-time = "2025-08-12T05:51:38.935Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9e/3ad852d77c35aae7ddebdbc3b6d35ec8013af7d7dddad0ad911f3d891dae/wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c", size = 39172, upload-time = "2025-08-12T05:51:59.365Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f7/c983d2762bcce2326c317c26a6a1e7016f7eb039c27cdf5c4e30f4160f31/wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b", size = 87163, upload-time = "2025-08-12T05:52:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0f/f673f75d489c7f22d17fe0193e84b41540d962f75fce579cf6873167c29b/wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa", size = 87963, upload-time = "2025-08-12T05:52:20.326Z" }, + { url = "https://files.pythonhosted.org/packages/df/61/515ad6caca68995da2fac7a6af97faab8f78ebe3bf4f761e1b77efbc47b5/wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7", size = 86945, upload-time = "2025-08-12T05:52:21.581Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bd/4e70162ce398462a467bc09e768bee112f1412e563620adc353de9055d33/wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4", size = 86857, upload-time = "2025-08-12T05:52:43.043Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/da8560695e9284810b8d3df8a19396a6e40e7518059584a1a394a2b35e0a/wrapt-1.17.3-cp314-cp314-win32.whl", hash = "sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10", size = 37178, upload-time = "2025-08-12T05:53:12.605Z" }, + { url = "https://files.pythonhosted.org/packages/db/c8/b71eeb192c440d67a5a0449aaee2310a1a1e8eca41676046f99ed2487e9f/wrapt-1.17.3-cp314-cp314-win_amd64.whl", hash = "sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6", size = 39310, upload-time = "2025-08-12T05:53:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/45/20/2cda20fd4865fa40f86f6c46ed37a2a8356a7a2fde0773269311f2af56c7/wrapt-1.17.3-cp314-cp314-win_arm64.whl", hash = "sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58", size = 37266, upload-time = "2025-08-12T05:52:56.531Z" }, + { url = "https://files.pythonhosted.org/packages/77/ed/dd5cf21aec36c80443c6f900449260b80e2a65cf963668eaef3b9accce36/wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a", size = 56544, upload-time = "2025-08-12T05:51:51.109Z" }, + { url = "https://files.pythonhosted.org/packages/8d/96/450c651cc753877ad100c7949ab4d2e2ecc4d97157e00fa8f45df682456a/wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067", size = 40283, upload-time = "2025-08-12T05:51:39.912Z" }, + { url = "https://files.pythonhosted.org/packages/d1/86/2fcad95994d9b572db57632acb6f900695a648c3e063f2cd344b3f5c5a37/wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454", size = 40366, upload-time = "2025-08-12T05:52:00.693Z" }, + { url = "https://files.pythonhosted.org/packages/64/0e/f4472f2fdde2d4617975144311f8800ef73677a159be7fe61fa50997d6c0/wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e", size = 108571, upload-time = "2025-08-12T05:52:44.521Z" }, + { url = "https://files.pythonhosted.org/packages/cc/01/9b85a99996b0a97c8a17484684f206cbb6ba73c1ce6890ac668bcf3838fb/wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f", size = 113094, upload-time = "2025-08-12T05:52:22.618Z" }, + { url = "https://files.pythonhosted.org/packages/25/02/78926c1efddcc7b3aa0bc3d6b33a822f7d898059f7cd9ace8c8318e559ef/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056", size = 110659, upload-time = "2025-08-12T05:52:24.057Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ee/c414501ad518ac3e6fe184753632fe5e5ecacdcf0effc23f31c1e4f7bfcf/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804", size = 106946, upload-time = "2025-08-12T05:52:45.976Z" }, + { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, + { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, + { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, +] + +[[package]] +name = "xarray" +version = "2025.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "packaging" }, + { name = "pandas", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/ec/e50d833518f10b0c24feb184b209bb6856f25b919ba8c1f89678b930b1cd/xarray-2025.6.1.tar.gz", hash = "sha256:a84f3f07544634a130d7dc615ae44175419f4c77957a7255161ed99c69c7c8b0", size = 3003185, upload-time = "2025-06-12T03:04:09.099Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/8a/6b50c1dd2260d407c1a499d47cf829f59f07007e0dcebafdabb24d1d26a5/xarray-2025.6.1-py3-none-any.whl", hash = "sha256:8b988b47f67a383bdc3b04c5db475cd165e580134c1f1943d52aee4a9c97651b", size = 1314739, upload-time = "2025-06-12T03:04:06.708Z" }, +] + +[[package]] +name = "xlsxwriter" +version = "3.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/47/7704bac42ac6fe1710ae099b70e6a1e68ed173ef14792b647808c357da43/xlsxwriter-3.2.5.tar.gz", hash = "sha256:7e88469d607cdc920151c0ab3ce9cf1a83992d4b7bc730c5ffdd1a12115a7dbe", size = 213306, upload-time = "2025-06-17T08:59:14.619Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/34/a22e6664211f0c8879521328000bdcae9bf6dbafa94a923e531f6d5b3f73/xlsxwriter-3.2.5-py3-none-any.whl", hash = "sha256:4f4824234e1eaf9d95df9a8fe974585ff91d0f5e3d3f12ace5b71e443c1c6abd", size = 172347, upload-time = "2025-06-17T08:59:13.453Z" }, +] + +[[package]] +name = "xmle" +version = "0.1.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/89/7a/4018bd5ef75677935d064ce543d1b9788821e27faef606682b6adae0b688/xmle-0.1.26.tar.gz", hash = "sha256:3e41d548305a6738d5cee42277ecb955cbe4195920f9206a2511f552b52330b1", size = 28911, upload-time = "2025-01-17T23:53:00.883Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/dd/69f51e20712ddb8e8a7a904209929be1768868a8df41d5ea7615b0baca03/xmle-0.1.26-py3-none-any.whl", hash = "sha256:7a699cc93c7822531cd3f37e07f249e89a9a395e4bc38bd6d4680183c09a8df1", size = 27214, upload-time = "2025-01-17T23:52:58.534Z" }, +] + +[[package]] +name = "yamllint" +version = "1.37.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pathspec" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/f2/cd8b7584a48ee83f0bc94f8a32fea38734cefcdc6f7324c4d3bfc699457b/yamllint-1.37.1.tar.gz", hash = "sha256:81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d", size = 141613, upload-time = "2025-05-04T08:25:54.355Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/b9/be7a4cfdf47e03785f657f94daea8123e838d817be76c684298305bd789f/yamllint-1.37.1-py3-none-any.whl", hash = "sha256:364f0d79e81409f591e323725e6a9f4504c8699ddf2d7263d8d2b539cd66a583", size = 68813, upload-time = "2025-05-04T08:25:52.552Z" }, +] + +[[package]] +name = "zarr" +version = "2.18.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "asciitree", marker = "python_full_version < '3.11'" }, + { name = "fasteners", marker = "python_full_version < '3.11' and sys_platform != 'emscripten'" }, + { name = "numcodecs", version = "0.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/23/c4/187a21ce7cf7c8f00c060dd0e04c2a81139bb7b1ab178bba83f2e1134ce2/zarr-2.18.3.tar.gz", hash = "sha256:2580d8cb6dd84621771a10d31c4d777dca8a27706a1a89b29f42d2d37e2df5ce", size = 3603224, upload-time = "2024-09-04T23:20:16.595Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/c9/142095e654c2b97133ff71df60979422717b29738b08bc8a1709a5d5e0d0/zarr-2.18.3-py3-none-any.whl", hash = "sha256:b1f7dfd2496f436745cdd4c7bcf8d3b4bc1dceef5fdd0d589c87130d842496dd", size = 210723, upload-time = "2024-09-04T23:20:14.491Z" }, +] + +[[package]] +name = "zarr" +version = "2.18.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version >= '3.12' and python_full_version < '3.14'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "asciitree", marker = "python_full_version >= '3.11'" }, + { name = "fasteners", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten'" }, + { name = "numcodecs", version = "0.15.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/da/1d/01cf9e3ab2d85190278efc3fca9f68563de35ae30ee59e7640e3af98abe3/zarr-2.18.7.tar.gz", hash = "sha256:b2b8f66f14dac4af66b180d2338819981b981f70e196c9a66e6bfaa9e59572f5", size = 3604558, upload-time = "2025-04-09T07:59:28.482Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5e/d8/9ffd8c237b3559945bb52103cf0eed64ea098f7b7f573f8d2962ef27b4b2/zarr-2.18.7-py3-none-any.whl", hash = "sha256:ac3dc4033e9ae4e9d7b5e27c97ea3eaf1003cc0a07f010bd83d5134bf8c4b223", size = 211273, upload-time = "2025-04-09T07:59:27.039Z" }, +] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, +] + +[[package]] +name = "zstandard" +version = "0.25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/aa/3e0508d5a5dd96529cdc5a97011299056e14c6505b678fd58938792794b1/zstandard-0.25.0.tar.gz", hash = "sha256:7713e1179d162cf5c7906da876ec2ccb9c3a9dcbdffef0cc7f70c3667a205f0b", size = 711513, upload-time = "2025-09-14T22:15:54.002Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/7a/28efd1d371f1acd037ac64ed1c5e2b41514a6cc937dd6ab6a13ab9f0702f/zstandard-0.25.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e59fdc271772f6686e01e1b3b74537259800f57e24280be3f29c8a0deb1904dd", size = 795256, upload-time = "2025-09-14T22:15:56.415Z" }, + { url = "https://files.pythonhosted.org/packages/96/34/ef34ef77f1ee38fc8e4f9775217a613b452916e633c4f1d98f31db52c4a5/zstandard-0.25.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4d441506e9b372386a5271c64125f72d5df6d2a8e8a2a45a0ae09b03cb781ef7", size = 640565, upload-time = "2025-09-14T22:15:58.177Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1b/4fdb2c12eb58f31f28c4d28e8dc36611dd7205df8452e63f52fb6261d13e/zstandard-0.25.0-cp310-cp310-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:ab85470ab54c2cb96e176f40342d9ed41e58ca5733be6a893b730e7af9c40550", size = 5345306, upload-time = "2025-09-14T22:16:00.165Z" }, + { url = "https://files.pythonhosted.org/packages/73/28/a44bdece01bca027b079f0e00be3b6bd89a4df180071da59a3dd7381665b/zstandard-0.25.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e05ab82ea7753354bb054b92e2f288afb750e6b439ff6ca78af52939ebbc476d", size = 5055561, upload-time = "2025-09-14T22:16:02.22Z" }, + { url = "https://files.pythonhosted.org/packages/e9/74/68341185a4f32b274e0fc3410d5ad0750497e1acc20bd0f5b5f64ce17785/zstandard-0.25.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:78228d8a6a1c177a96b94f7e2e8d012c55f9c760761980da16ae7546a15a8e9b", size = 5402214, upload-time = "2025-09-14T22:16:04.109Z" }, + { url = "https://files.pythonhosted.org/packages/8b/67/f92e64e748fd6aaffe01e2b75a083c0c4fd27abe1c8747fee4555fcee7dd/zstandard-0.25.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:2b6bd67528ee8b5c5f10255735abc21aa106931f0dbaf297c7be0c886353c3d0", size = 5449703, upload-time = "2025-09-14T22:16:06.312Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e5/6d36f92a197c3c17729a2125e29c169f460538a7d939a27eaaa6dcfcba8e/zstandard-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4b6d83057e713ff235a12e73916b6d356e3084fd3d14ced499d84240f3eecee0", size = 5556583, upload-time = "2025-09-14T22:16:08.457Z" }, + { url = "https://files.pythonhosted.org/packages/d7/83/41939e60d8d7ebfe2b747be022d0806953799140a702b90ffe214d557638/zstandard-0.25.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9174f4ed06f790a6869b41cba05b43eeb9a35f8993c4422ab853b705e8112bbd", size = 5045332, upload-time = "2025-09-14T22:16:10.444Z" }, + { url = "https://files.pythonhosted.org/packages/b3/87/d3ee185e3d1aa0133399893697ae91f221fda79deb61adbe998a7235c43f/zstandard-0.25.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:25f8f3cd45087d089aef5ba3848cd9efe3ad41163d3400862fb42f81a3a46701", size = 5572283, upload-time = "2025-09-14T22:16:12.128Z" }, + { url = "https://files.pythonhosted.org/packages/0a/1d/58635ae6104df96671076ac7d4ae7816838ce7debd94aecf83e30b7121b0/zstandard-0.25.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3756b3e9da9b83da1796f8809dd57cb024f838b9eeafde28f3cb472012797ac1", size = 4959754, upload-time = "2025-09-14T22:16:14.225Z" }, + { url = "https://files.pythonhosted.org/packages/75/d6/57e9cb0a9983e9a229dd8fd2e6e96593ef2aa82a3907188436f22b111ccd/zstandard-0.25.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:81dad8d145d8fd981b2962b686b2241d3a1ea07733e76a2f15435dfb7fb60150", size = 5266477, upload-time = "2025-09-14T22:16:16.343Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a9/ee891e5edf33a6ebce0a028726f0bbd8567effe20fe3d5808c42323e8542/zstandard-0.25.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a5a419712cf88862a45a23def0ae063686db3d324cec7edbe40509d1a79a0aab", size = 5440914, upload-time = "2025-09-14T22:16:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/58/08/a8522c28c08031a9521f27abc6f78dbdee7312a7463dd2cfc658b813323b/zstandard-0.25.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e7360eae90809efd19b886e59a09dad07da4ca9ba096752e61a2e03c8aca188e", size = 5819847, upload-time = "2025-09-14T22:16:20.559Z" }, + { url = "https://files.pythonhosted.org/packages/6f/11/4c91411805c3f7b6f31c60e78ce347ca48f6f16d552fc659af6ec3b73202/zstandard-0.25.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:75ffc32a569fb049499e63ce68c743155477610532da1eb38e7f24bf7cd29e74", size = 5363131, upload-time = "2025-09-14T22:16:22.206Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d6/8c4bd38a3b24c4c7676a7a3d8de85d6ee7a983602a734b9f9cdefb04a5d6/zstandard-0.25.0-cp310-cp310-win32.whl", hash = "sha256:106281ae350e494f4ac8a80470e66d1fe27e497052c8d9c3b95dc4cf1ade81aa", size = 436469, upload-time = "2025-09-14T22:16:25.002Z" }, + { url = "https://files.pythonhosted.org/packages/93/90/96d50ad417a8ace5f841b3228e93d1bb13e6ad356737f42e2dde30d8bd68/zstandard-0.25.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea9d54cc3d8064260114a0bbf3479fc4a98b21dffc89b3459edd506b69262f6e", size = 506100, upload-time = "2025-09-14T22:16:23.569Z" }, + { url = "https://files.pythonhosted.org/packages/2a/83/c3ca27c363d104980f1c9cee1101cc8ba724ac8c28a033ede6aab89585b1/zstandard-0.25.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:933b65d7680ea337180733cf9e87293cc5500cc0eb3fc8769f4d3c88d724ec5c", size = 795254, upload-time = "2025-09-14T22:16:26.137Z" }, + { url = "https://files.pythonhosted.org/packages/ac/4d/e66465c5411a7cf4866aeadc7d108081d8ceba9bc7abe6b14aa21c671ec3/zstandard-0.25.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3f79487c687b1fc69f19e487cd949bf3aae653d181dfb5fde3bf6d18894706f", size = 640559, upload-time = "2025-09-14T22:16:27.973Z" }, + { url = "https://files.pythonhosted.org/packages/12/56/354fe655905f290d3b147b33fe946b0f27e791e4b50a5f004c802cb3eb7b/zstandard-0.25.0-cp311-cp311-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:0bbc9a0c65ce0eea3c34a691e3c4b6889f5f3909ba4822ab385fab9057099431", size = 5348020, upload-time = "2025-09-14T22:16:29.523Z" }, + { url = "https://files.pythonhosted.org/packages/3b/13/2b7ed68bd85e69a2069bcc72141d378f22cae5a0f3b353a2c8f50ef30c1b/zstandard-0.25.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:01582723b3ccd6939ab7b3a78622c573799d5d8737b534b86d0e06ac18dbde4a", size = 5058126, upload-time = "2025-09-14T22:16:31.811Z" }, + { url = "https://files.pythonhosted.org/packages/c9/dd/fdaf0674f4b10d92cb120ccff58bbb6626bf8368f00ebfd2a41ba4a0dc99/zstandard-0.25.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5f1ad7bf88535edcf30038f6919abe087f606f62c00a87d7e33e7fc57cb69fcc", size = 5405390, upload-time = "2025-09-14T22:16:33.486Z" }, + { url = "https://files.pythonhosted.org/packages/0f/67/354d1555575bc2490435f90d67ca4dd65238ff2f119f30f72d5cde09c2ad/zstandard-0.25.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:06acb75eebeedb77b69048031282737717a63e71e4ae3f77cc0c3b9508320df6", size = 5452914, upload-time = "2025-09-14T22:16:35.277Z" }, + { url = "https://files.pythonhosted.org/packages/bb/1f/e9cfd801a3f9190bf3e759c422bbfd2247db9d7f3d54a56ecde70137791a/zstandard-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9300d02ea7c6506f00e627e287e0492a5eb0371ec1670ae852fefffa6164b072", size = 5559635, upload-time = "2025-09-14T22:16:37.141Z" }, + { url = "https://files.pythonhosted.org/packages/21/88/5ba550f797ca953a52d708c8e4f380959e7e3280af029e38fbf47b55916e/zstandard-0.25.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfd06b1c5584b657a2892a6014c2f4c20e0db0208c159148fa78c65f7e0b0277", size = 5048277, upload-time = "2025-09-14T22:16:38.807Z" }, + { url = "https://files.pythonhosted.org/packages/46/c0/ca3e533b4fa03112facbe7fbe7779cb1ebec215688e5df576fe5429172e0/zstandard-0.25.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f373da2c1757bb7f1acaf09369cdc1d51d84131e50d5fa9863982fd626466313", size = 5574377, upload-time = "2025-09-14T22:16:40.523Z" }, + { url = "https://files.pythonhosted.org/packages/12/9b/3fb626390113f272abd0799fd677ea33d5fc3ec185e62e6be534493c4b60/zstandard-0.25.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c0e5a65158a7946e7a7affa6418878ef97ab66636f13353b8502d7ea03c8097", size = 4961493, upload-time = "2025-09-14T22:16:43.3Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d3/23094a6b6a4b1343b27ae68249daa17ae0651fcfec9ed4de09d14b940285/zstandard-0.25.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c8e167d5adf59476fa3e37bee730890e389410c354771a62e3c076c86f9f7778", size = 5269018, upload-time = "2025-09-14T22:16:45.292Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a7/bb5a0c1c0f3f4b5e9d5b55198e39de91e04ba7c205cc46fcb0f95f0383c1/zstandard-0.25.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:98750a309eb2f020da61e727de7d7ba3c57c97cf6213f6f6277bb7fb42a8e065", size = 5443672, upload-time = "2025-09-14T22:16:47.076Z" }, + { url = "https://files.pythonhosted.org/packages/27/22/503347aa08d073993f25109c36c8d9f029c7d5949198050962cb568dfa5e/zstandard-0.25.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:22a086cff1b6ceca18a8dd6096ec631e430e93a8e70a9ca5efa7561a00f826fa", size = 5822753, upload-time = "2025-09-14T22:16:49.316Z" }, + { url = "https://files.pythonhosted.org/packages/e2/be/94267dc6ee64f0f8ba2b2ae7c7a2df934a816baaa7291db9e1aa77394c3c/zstandard-0.25.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:72d35d7aa0bba323965da807a462b0966c91608ef3a48ba761678cb20ce5d8b7", size = 5366047, upload-time = "2025-09-14T22:16:51.328Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a3/732893eab0a3a7aecff8b99052fecf9f605cf0fb5fb6d0290e36beee47a4/zstandard-0.25.0-cp311-cp311-win32.whl", hash = "sha256:f5aeea11ded7320a84dcdd62a3d95b5186834224a9e55b92ccae35d21a8b63d4", size = 436484, upload-time = "2025-09-14T22:16:55.005Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/c6155f5c1cce691cb80dfd38627046e50af3ee9ddc5d0b45b9b063bfb8c9/zstandard-0.25.0-cp311-cp311-win_amd64.whl", hash = "sha256:daab68faadb847063d0c56f361a289c4f268706b598afbf9ad113cbe5c38b6b2", size = 506183, upload-time = "2025-09-14T22:16:52.753Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3e/8945ab86a0820cc0e0cdbf38086a92868a9172020fdab8a03ac19662b0e5/zstandard-0.25.0-cp311-cp311-win_arm64.whl", hash = "sha256:22a06c5df3751bb7dc67406f5374734ccee8ed37fc5981bf1ad7041831fa1137", size = 462533, upload-time = "2025-09-14T22:16:53.878Z" }, + { url = "https://files.pythonhosted.org/packages/82/fc/f26eb6ef91ae723a03e16eddb198abcfce2bc5a42e224d44cc8b6765e57e/zstandard-0.25.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7b3c3a3ab9daa3eed242d6ecceead93aebbb8f5f84318d82cee643e019c4b73b", size = 795738, upload-time = "2025-09-14T22:16:56.237Z" }, + { url = "https://files.pythonhosted.org/packages/aa/1c/d920d64b22f8dd028a8b90e2d756e431a5d86194caa78e3819c7bf53b4b3/zstandard-0.25.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:913cbd31a400febff93b564a23e17c3ed2d56c064006f54efec210d586171c00", size = 640436, upload-time = "2025-09-14T22:16:57.774Z" }, + { url = "https://files.pythonhosted.org/packages/53/6c/288c3f0bd9fcfe9ca41e2c2fbfd17b2097f6af57b62a81161941f09afa76/zstandard-0.25.0-cp312-cp312-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:011d388c76b11a0c165374ce660ce2c8efa8e5d87f34996aa80f9c0816698b64", size = 5343019, upload-time = "2025-09-14T22:16:59.302Z" }, + { url = "https://files.pythonhosted.org/packages/1e/15/efef5a2f204a64bdb5571e6161d49f7ef0fffdbca953a615efbec045f60f/zstandard-0.25.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6dffecc361d079bb48d7caef5d673c88c8988d3d33fb74ab95b7ee6da42652ea", size = 5063012, upload-time = "2025-09-14T22:17:01.156Z" }, + { url = "https://files.pythonhosted.org/packages/b7/37/a6ce629ffdb43959e92e87ebdaeebb5ac81c944b6a75c9c47e300f85abdf/zstandard-0.25.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:7149623bba7fdf7e7f24312953bcf73cae103db8cae49f8154dd1eadc8a29ecb", size = 5394148, upload-time = "2025-09-14T22:17:03.091Z" }, + { url = "https://files.pythonhosted.org/packages/e3/79/2bf870b3abeb5c070fe2d670a5a8d1057a8270f125ef7676d29ea900f496/zstandard-0.25.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:6a573a35693e03cf1d67799fd01b50ff578515a8aeadd4595d2a7fa9f3ec002a", size = 5451652, upload-time = "2025-09-14T22:17:04.979Z" }, + { url = "https://files.pythonhosted.org/packages/53/60/7be26e610767316c028a2cbedb9a3beabdbe33e2182c373f71a1c0b88f36/zstandard-0.25.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5a56ba0db2d244117ed744dfa8f6f5b366e14148e00de44723413b2f3938a902", size = 5546993, upload-time = "2025-09-14T22:17:06.781Z" }, + { url = "https://files.pythonhosted.org/packages/85/c7/3483ad9ff0662623f3648479b0380d2de5510abf00990468c286c6b04017/zstandard-0.25.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:10ef2a79ab8e2974e2075fb984e5b9806c64134810fac21576f0668e7ea19f8f", size = 5046806, upload-time = "2025-09-14T22:17:08.415Z" }, + { url = "https://files.pythonhosted.org/packages/08/b3/206883dd25b8d1591a1caa44b54c2aad84badccf2f1de9e2d60a446f9a25/zstandard-0.25.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aaf21ba8fb76d102b696781bddaa0954b782536446083ae3fdaa6f16b25a1c4b", size = 5576659, upload-time = "2025-09-14T22:17:10.164Z" }, + { url = "https://files.pythonhosted.org/packages/9d/31/76c0779101453e6c117b0ff22565865c54f48f8bd807df2b00c2c404b8e0/zstandard-0.25.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1869da9571d5e94a85a5e8d57e4e8807b175c9e4a6294e3b66fa4efb074d90f6", size = 4953933, upload-time = "2025-09-14T22:17:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/18/e1/97680c664a1bf9a247a280a053d98e251424af51f1b196c6d52f117c9720/zstandard-0.25.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:809c5bcb2c67cd0ed81e9229d227d4ca28f82d0f778fc5fea624a9def3963f91", size = 5268008, upload-time = "2025-09-14T22:17:13.627Z" }, + { url = "https://files.pythonhosted.org/packages/1e/73/316e4010de585ac798e154e88fd81bb16afc5c5cb1a72eeb16dd37e8024a/zstandard-0.25.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f27662e4f7dbf9f9c12391cb37b4c4c3cb90ffbd3b1fb9284dadbbb8935fa708", size = 5433517, upload-time = "2025-09-14T22:17:16.103Z" }, + { url = "https://files.pythonhosted.org/packages/5b/60/dd0f8cfa8129c5a0ce3ea6b7f70be5b33d2618013a161e1ff26c2b39787c/zstandard-0.25.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99c0c846e6e61718715a3c9437ccc625de26593fea60189567f0118dc9db7512", size = 5814292, upload-time = "2025-09-14T22:17:17.827Z" }, + { url = "https://files.pythonhosted.org/packages/fc/5f/75aafd4b9d11b5407b641b8e41a57864097663699f23e9ad4dbb91dc6bfe/zstandard-0.25.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:474d2596a2dbc241a556e965fb76002c1ce655445e4e3bf38e5477d413165ffa", size = 5360237, upload-time = "2025-09-14T22:17:19.954Z" }, + { url = "https://files.pythonhosted.org/packages/ff/8d/0309daffea4fcac7981021dbf21cdb2e3427a9e76bafbcdbdf5392ff99a4/zstandard-0.25.0-cp312-cp312-win32.whl", hash = "sha256:23ebc8f17a03133b4426bcc04aabd68f8236eb78c3760f12783385171b0fd8bd", size = 436922, upload-time = "2025-09-14T22:17:24.398Z" }, + { url = "https://files.pythonhosted.org/packages/79/3b/fa54d9015f945330510cb5d0b0501e8253c127cca7ebe8ba46a965df18c5/zstandard-0.25.0-cp312-cp312-win_amd64.whl", hash = "sha256:ffef5a74088f1e09947aecf91011136665152e0b4b359c42be3373897fb39b01", size = 506276, upload-time = "2025-09-14T22:17:21.429Z" }, + { url = "https://files.pythonhosted.org/packages/ea/6b/8b51697e5319b1f9ac71087b0af9a40d8a6288ff8025c36486e0c12abcc4/zstandard-0.25.0-cp312-cp312-win_arm64.whl", hash = "sha256:181eb40e0b6a29b3cd2849f825e0fa34397f649170673d385f3598ae17cca2e9", size = 462679, upload-time = "2025-09-14T22:17:23.147Z" }, + { url = "https://files.pythonhosted.org/packages/35/0b/8df9c4ad06af91d39e94fa96cc010a24ac4ef1378d3efab9223cc8593d40/zstandard-0.25.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec996f12524f88e151c339688c3897194821d7f03081ab35d31d1e12ec975e94", size = 795735, upload-time = "2025-09-14T22:17:26.042Z" }, + { url = "https://files.pythonhosted.org/packages/3f/06/9ae96a3e5dcfd119377ba33d4c42a7d89da1efabd5cb3e366b156c45ff4d/zstandard-0.25.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a1a4ae2dec3993a32247995bdfe367fc3266da832d82f8438c8570f989753de1", size = 640440, upload-time = "2025-09-14T22:17:27.366Z" }, + { url = "https://files.pythonhosted.org/packages/d9/14/933d27204c2bd404229c69f445862454dcc101cd69ef8c6068f15aaec12c/zstandard-0.25.0-cp313-cp313-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:e96594a5537722fdfb79951672a2a63aec5ebfb823e7560586f7484819f2a08f", size = 5343070, upload-time = "2025-09-14T22:17:28.896Z" }, + { url = "https://files.pythonhosted.org/packages/6d/db/ddb11011826ed7db9d0e485d13df79b58586bfdec56e5c84a928a9a78c1c/zstandard-0.25.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bfc4e20784722098822e3eee42b8e576b379ed72cca4a7cb856ae733e62192ea", size = 5063001, upload-time = "2025-09-14T22:17:31.044Z" }, + { url = "https://files.pythonhosted.org/packages/db/00/87466ea3f99599d02a5238498b87bf84a6348290c19571051839ca943777/zstandard-0.25.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:457ed498fc58cdc12fc48f7950e02740d4f7ae9493dd4ab2168a47c93c31298e", size = 5394120, upload-time = "2025-09-14T22:17:32.711Z" }, + { url = "https://files.pythonhosted.org/packages/2b/95/fc5531d9c618a679a20ff6c29e2b3ef1d1f4ad66c5e161ae6ff847d102a9/zstandard-0.25.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:fd7a5004eb1980d3cefe26b2685bcb0b17989901a70a1040d1ac86f1d898c551", size = 5451230, upload-time = "2025-09-14T22:17:34.41Z" }, + { url = "https://files.pythonhosted.org/packages/63/4b/e3678b4e776db00f9f7b2fe58e547e8928ef32727d7a1ff01dea010f3f13/zstandard-0.25.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8e735494da3db08694d26480f1493ad2cf86e99bdd53e8e9771b2752a5c0246a", size = 5547173, upload-time = "2025-09-14T22:17:36.084Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d5/ba05ed95c6b8ec30bd468dfeab20589f2cf709b5c940483e31d991f2ca58/zstandard-0.25.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3a39c94ad7866160a4a46d772e43311a743c316942037671beb264e395bdd611", size = 5046736, upload-time = "2025-09-14T22:17:37.891Z" }, + { url = "https://files.pythonhosted.org/packages/50/d5/870aa06b3a76c73eced65c044b92286a3c4e00554005ff51962deef28e28/zstandard-0.25.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:172de1f06947577d3a3005416977cce6168f2261284c02080e7ad0185faeced3", size = 5576368, upload-time = "2025-09-14T22:17:40.206Z" }, + { url = "https://files.pythonhosted.org/packages/5d/35/398dc2ffc89d304d59bc12f0fdd931b4ce455bddf7038a0a67733a25f550/zstandard-0.25.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3c83b0188c852a47cd13ef3bf9209fb0a77fa5374958b8c53aaa699398c6bd7b", size = 4954022, upload-time = "2025-09-14T22:17:41.879Z" }, + { url = "https://files.pythonhosted.org/packages/9a/5c/36ba1e5507d56d2213202ec2b05e8541734af5f2ce378c5d1ceaf4d88dc4/zstandard-0.25.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1673b7199bbe763365b81a4f3252b8e80f44c9e323fc42940dc8843bfeaf9851", size = 5267889, upload-time = "2025-09-14T22:17:43.577Z" }, + { url = "https://files.pythonhosted.org/packages/70/e8/2ec6b6fb7358b2ec0113ae202647ca7c0e9d15b61c005ae5225ad0995df5/zstandard-0.25.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0be7622c37c183406f3dbf0cba104118eb16a4ea7359eeb5752f0794882fc250", size = 5433952, upload-time = "2025-09-14T22:17:45.271Z" }, + { url = "https://files.pythonhosted.org/packages/7b/01/b5f4d4dbc59ef193e870495c6f1275f5b2928e01ff5a81fecb22a06e22fb/zstandard-0.25.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:5f5e4c2a23ca271c218ac025bd7d635597048b366d6f31f420aaeb715239fc98", size = 5814054, upload-time = "2025-09-14T22:17:47.08Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e5/fbd822d5c6f427cf158316d012c5a12f233473c2f9c5fe5ab1ae5d21f3d8/zstandard-0.25.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f187a0bb61b35119d1926aee039524d1f93aaf38a9916b8c4b78ac8514a0aaf", size = 5360113, upload-time = "2025-09-14T22:17:48.893Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e0/69a553d2047f9a2c7347caa225bb3a63b6d7704ad74610cb7823baa08ed7/zstandard-0.25.0-cp313-cp313-win32.whl", hash = "sha256:7030defa83eef3e51ff26f0b7bfb229f0204b66fe18e04359ce3474ac33cbc09", size = 436936, upload-time = "2025-09-14T22:17:52.658Z" }, + { url = "https://files.pythonhosted.org/packages/d9/82/b9c06c870f3bd8767c201f1edbdf9e8dc34be5b0fbc5682c4f80fe948475/zstandard-0.25.0-cp313-cp313-win_amd64.whl", hash = "sha256:1f830a0dac88719af0ae43b8b2d6aef487d437036468ef3c2ea59c51f9d55fd5", size = 506232, upload-time = "2025-09-14T22:17:50.402Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/60c3c01243bb81d381c9916e2a6d9e149ab8627c0c7d7abb2d73384b3c0c/zstandard-0.25.0-cp313-cp313-win_arm64.whl", hash = "sha256:85304a43f4d513f5464ceb938aa02c1e78c2943b29f44a750b48b25ac999a049", size = 462671, upload-time = "2025-09-14T22:17:51.533Z" }, + { url = "https://files.pythonhosted.org/packages/3d/5c/f8923b595b55fe49e30612987ad8bf053aef555c14f05bb659dd5dbe3e8a/zstandard-0.25.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e29f0cf06974c899b2c188ef7f783607dbef36da4c242eb6c82dcd8b512855e3", size = 795887, upload-time = "2025-09-14T22:17:54.198Z" }, + { url = "https://files.pythonhosted.org/packages/8d/09/d0a2a14fc3439c5f874042dca72a79c70a532090b7ba0003be73fee37ae2/zstandard-0.25.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:05df5136bc5a011f33cd25bc9f506e7426c0c9b3f9954f056831ce68f3b6689f", size = 640658, upload-time = "2025-09-14T22:17:55.423Z" }, + { url = "https://files.pythonhosted.org/packages/5d/7c/8b6b71b1ddd517f68ffb55e10834388d4f793c49c6b83effaaa05785b0b4/zstandard-0.25.0-cp314-cp314-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:f604efd28f239cc21b3adb53eb061e2a205dc164be408e553b41ba2ffe0ca15c", size = 5379849, upload-time = "2025-09-14T22:17:57.372Z" }, + { url = "https://files.pythonhosted.org/packages/a4/86/a48e56320d0a17189ab7a42645387334fba2200e904ee47fc5a26c1fd8ca/zstandard-0.25.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223415140608d0f0da010499eaa8ccdb9af210a543fac54bce15babbcfc78439", size = 5058095, upload-time = "2025-09-14T22:17:59.498Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ad/eb659984ee2c0a779f9d06dbfe45e2dc39d99ff40a319895df2d3d9a48e5/zstandard-0.25.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e54296a283f3ab5a26fc9b8b5d4978ea0532f37b231644f367aa588930aa043", size = 5551751, upload-time = "2025-09-14T22:18:01.618Z" }, + { url = "https://files.pythonhosted.org/packages/61/b3/b637faea43677eb7bd42ab204dfb7053bd5c4582bfe6b1baefa80ac0c47b/zstandard-0.25.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ca54090275939dc8ec5dea2d2afb400e0f83444b2fc24e07df7fdef677110859", size = 6364818, upload-time = "2025-09-14T22:18:03.769Z" }, + { url = "https://files.pythonhosted.org/packages/31/dc/cc50210e11e465c975462439a492516a73300ab8caa8f5e0902544fd748b/zstandard-0.25.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e09bb6252b6476d8d56100e8147b803befa9a12cea144bbe629dd508800d1ad0", size = 5560402, upload-time = "2025-09-14T22:18:05.954Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ae/56523ae9c142f0c08efd5e868a6da613ae76614eca1305259c3bf6a0ed43/zstandard-0.25.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a9ec8c642d1ec73287ae3e726792dd86c96f5681eb8df274a757bf62b750eae7", size = 4955108, upload-time = "2025-09-14T22:18:07.68Z" }, + { url = "https://files.pythonhosted.org/packages/98/cf/c899f2d6df0840d5e384cf4c4121458c72802e8bda19691f3b16619f51e9/zstandard-0.25.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a4089a10e598eae6393756b036e0f419e8c1d60f44a831520f9af41c14216cf2", size = 5269248, upload-time = "2025-09-14T22:18:09.753Z" }, + { url = "https://files.pythonhosted.org/packages/1b/c0/59e912a531d91e1c192d3085fc0f6fb2852753c301a812d856d857ea03c6/zstandard-0.25.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f67e8f1a324a900e75b5e28ffb152bcac9fbed1cc7b43f99cd90f395c4375344", size = 5430330, upload-time = "2025-09-14T22:18:11.966Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/7e31db1240de2df22a58e2ea9a93fc6e38cc29353e660c0272b6735d6669/zstandard-0.25.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:9654dbc012d8b06fc3d19cc825af3f7bf8ae242226df5f83936cb39f5fdc846c", size = 5811123, upload-time = "2025-09-14T22:18:13.907Z" }, + { url = "https://files.pythonhosted.org/packages/f6/49/fac46df5ad353d50535e118d6983069df68ca5908d4d65b8c466150a4ff1/zstandard-0.25.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4203ce3b31aec23012d3a4cf4a2ed64d12fea5269c49aed5e4c3611b938e4088", size = 5359591, upload-time = "2025-09-14T22:18:16.465Z" }, + { url = "https://files.pythonhosted.org/packages/c2/38/f249a2050ad1eea0bb364046153942e34abba95dd5520af199aed86fbb49/zstandard-0.25.0-cp314-cp314-win32.whl", hash = "sha256:da469dc041701583e34de852d8634703550348d5822e66a0c827d39b05365b12", size = 444513, upload-time = "2025-09-14T22:18:20.61Z" }, + { url = "https://files.pythonhosted.org/packages/3a/43/241f9615bcf8ba8903b3f0432da069e857fc4fd1783bd26183db53c4804b/zstandard-0.25.0-cp314-cp314-win_amd64.whl", hash = "sha256:c19bcdd826e95671065f8692b5a4aa95c52dc7a02a4c5a0cac46deb879a017a2", size = 516118, upload-time = "2025-09-14T22:18:17.849Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ef/da163ce2450ed4febf6467d77ccb4cd52c4c30ab45624bad26ca0a27260c/zstandard-0.25.0-cp314-cp314-win_arm64.whl", hash = "sha256:d7541afd73985c630bafcd6338d2518ae96060075f9463d7dc14cfb33514383d", size = 476940, upload-time = "2025-09-14T22:18:19.088Z" }, +]