SearchLibrium 0.0.149__tar.gz → 0.0.151__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {searchlibrium-0.0.149/src/SearchLibrium.egg-info → searchlibrium-0.0.151}/PKG-INFO +1 -1
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/pyproject.toml +1 -1
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/mdcev.py +16 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/predict.py +15 -2
- searchlibrium-0.0.151/src/SearchLibrium/version.txt +1 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151/src/SearchLibrium.egg-info}/PKG-INFO +1 -1
- searchlibrium-0.0.149/src/SearchLibrium/version.txt +0 -1
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/MANIFEST.in +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/README.md +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/setup.cfg +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/BEHier.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/Halton.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/MixedLogit.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/Mode_Activity_Nested.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/RandomP.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/SEARCH_SM_MARIO.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/Two_Level_Nest.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/__init__.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/__main__.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/_choice_model.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/_device.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/banditsa.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/bhhh/minimize.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/boxcox_functions.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/call_meta.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/constraints_builder.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/data/Swissmetro_final.csv +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/data/TravelMode.csv +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/data/electricity.csv +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/harmony.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/hspbil.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/latent_class.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/main.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/main_debug.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/misc.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/mixed_logit.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/mixed_nested.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/mixedrrm.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/multinomial_logit.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/multinomial_nested.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/multinomial_probit.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/ordered_logit.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/ordered_logit_mixed.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/rrm.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/sample_data.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/sapbil.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/search.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/selection_models.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/setup.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/siman.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/test_lc_de.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/test_mario_searches.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/test_sapbil_vs_banditsa.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/threshold.py +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium.egg-info/SOURCES.txt +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium.egg-info/dependency_links.txt +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium.egg-info/entry_points.txt +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium.egg-info/requires.txt +0 -0
- {searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SearchLibrium
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.151
|
|
4
4
|
Summary: A Python package for econometric models driven by search
|
|
5
5
|
Author: Mario Fernando Taco Morales, Alexander Paz, Prithvi Beeramole, Robert Burdett
|
|
6
6
|
Author-email: Zeke Ahern <z.ahern@qut.edu.au>
|
|
@@ -82,7 +82,7 @@ Documentation = "https://pypi.org/project/SearchLibrium/"
|
|
|
82
82
|
realpython = "SearchLibrium.__main__:main"
|
|
83
83
|
|
|
84
84
|
[tool.bumpver]
|
|
85
|
-
current_version = "0.0.
|
|
85
|
+
current_version = "0.0.151"
|
|
86
86
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
87
87
|
commit_message = "[skip ci] Bump version {old_version} -> {new_version}"
|
|
88
88
|
commit = true
|
|
@@ -353,6 +353,22 @@ class MDCEVModel:
|
|
|
353
353
|
|
|
354
354
|
self.mle_success_ = bool(res.success)
|
|
355
355
|
self.mle_message_ = str(res.message)
|
|
356
|
+
|
|
357
|
+
# fit_mle() refines baseline_utility_/alpha_/gamma_ beyond the initial
|
|
358
|
+
# self.fit(...) call above, but fit_result_ (what summary() reads)
|
|
359
|
+
# was never refreshed -- summary() would silently keep reporting the
|
|
360
|
+
# pre-MLE heuristic estimates. participation_rate/mean_allocation/
|
|
361
|
+
# mean_budget are observed-data statistics, unaffected by refinement.
|
|
362
|
+
old_result = self.fit_result_
|
|
363
|
+
self.fit_result_ = MDCEVFitResult(
|
|
364
|
+
labels=old_result.labels,
|
|
365
|
+
baseline_utility=self.baseline_utility_.copy(),
|
|
366
|
+
alpha=self.alpha_.copy(),
|
|
367
|
+
gamma=self.gamma_.copy(),
|
|
368
|
+
participation_rate=old_result.participation_rate,
|
|
369
|
+
mean_allocation=old_result.mean_allocation,
|
|
370
|
+
mean_budget=old_result.mean_budget,
|
|
371
|
+
)
|
|
356
372
|
return self
|
|
357
373
|
|
|
358
374
|
def summary(self) -> pd.DataFrame:
|
|
@@ -88,6 +88,14 @@ class DestinationPredictor:
|
|
|
88
88
|
if prob is None:
|
|
89
89
|
prob = getattr(self.model, 'choice_pred_prob', None)
|
|
90
90
|
if prob is not None and hasattr(prob, 'shape') and len(prob.shape) == 2:
|
|
91
|
+
# JAX-fitted models (_jax=True, the default) leave this as a
|
|
92
|
+
# jax.Array. Downstream code (predict_destinations()) runs plain
|
|
93
|
+
# numpy ops (argmax/argsort) per row in a Python loop; numpy
|
|
94
|
+
# dispatching those against an un-converted jax.Array is
|
|
95
|
+
# catastrophically slow (~4s per argsort call observed, i.e.
|
|
96
|
+
# hours instead of seconds for a few thousand trips) rather than
|
|
97
|
+
# erroring, so convert once here up front.
|
|
98
|
+
prob = np.asarray(prob)
|
|
91
99
|
self._probs = prob
|
|
92
100
|
return prob
|
|
93
101
|
|
|
@@ -106,8 +114,9 @@ class DestinationPredictor:
|
|
|
106
114
|
avail.reshape(self.n_trips, self.n_dests),
|
|
107
115
|
return_logsum=True,
|
|
108
116
|
)
|
|
117
|
+
probs = np.asarray(probs) # see conversion note above
|
|
109
118
|
self._probs = probs
|
|
110
|
-
self._logsums = logsums
|
|
119
|
+
self._logsums = np.asarray(logsums)
|
|
111
120
|
return probs
|
|
112
121
|
|
|
113
122
|
# ------------------------------------------------------------------
|
|
@@ -147,7 +156,11 @@ class DestinationPredictor:
|
|
|
147
156
|
(self.idca[self.trip_id_col] == tid)
|
|
148
157
|
& (self.idca[self.choice_col] == 1)
|
|
149
158
|
]
|
|
150
|
-
|
|
159
|
+
# dest_col isn't always integer-coded (e.g. string alt labels
|
|
160
|
+
# like 'CAR'/'SM'/'TRAIN') -- keep the raw value so it compares
|
|
161
|
+
# correctly against dest_codes/best_code, which retain whatever
|
|
162
|
+
# dtype the source data used.
|
|
163
|
+
actual_code = actual[self.dest_col].iloc[0] if len(actual) else -1
|
|
151
164
|
|
|
152
165
|
rows.append({
|
|
153
166
|
self.trip_id_col: tid,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.0.151
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SearchLibrium
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.151
|
|
4
4
|
Summary: A Python package for econometric models driven by search
|
|
5
5
|
Author: Mario Fernando Taco Morales, Alexander Paz, Prithvi Beeramole, Robert Burdett
|
|
6
6
|
Author-email: Zeke Ahern <z.ahern@qut.edu.au>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.0.149
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium/test_sapbil_vs_banditsa.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{searchlibrium-0.0.149 → searchlibrium-0.0.151}/src/SearchLibrium.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|