Skip to content

Commit bdc85a5

Browse files
Bump PyMC version pin
1 parent 8969e1f commit bdc85a5

File tree

6 files changed

+63
-59
lines changed

6 files changed

+63
-59
lines changed

conda-envs/environment-test.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ channels:
33
- conda-forge
44
- nodefaults
55
dependencies:
6-
- pymc>=5.19.1
6+
- pymc>=5.20
77
- pytest-cov>=2.5
88
- pytest>=3.0
99
- dask
1010
- xhistogram
1111
- statsmodels
12+
- numba<=0.60.0
1213
- pip
1314
- pip:
1415
- blackjax
1516
- scikit-learn
16-
- better_optimize>=0.0.10
17+
- better_optimize

conda-envs/windows-environment-test.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ dependencies:
99
- dask
1010
- xhistogram
1111
- statsmodels
12+
- numba<=0.60.0
13+
- pymc>=5.20
1214
- pip:
13-
- pymc>=5.19.1 # CI was failing to resolve
1415
- blackjax
1516
- scikit-learn
16-
- better_optimize>=0.0.10
17+
- better_optimize

notebooks/Exponential Trend Smoothing.ipynb

+52-52
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@
188188
"\n",
189189
" # For the forecasts we need a function that lets us take draws from the distribution. We'll get the mean\n",
190190
" # and covariance from samples by calling it a lot of times.\n",
191-
" f_forecast = pm.compile_pymc(pm.inputvars(obs_forecast), obs_forecast, mode=\"JAX\")\n",
191+
" f_forecast = pm.compile(pm.inputvars(obs_forecast), obs_forecast, mode=\"JAX\")\n",
192192
"\n",
193193
" return f_ets, f_forecast\n",
194194
"\n",
@@ -863,17 +863,17 @@
863863
"</pre>\n"
864864
],
865865
"text/plain": [
866-
"\u001b[3m Model Requirements \u001b[0m\n",
866+
"\u001B[3m Model Requirements \u001B[0m\n",
867867
" \n",
868-
" \u001b[1m \u001b[0m\u001b[1mVariable \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mShape\u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mConstraints \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mDimensions\u001b[0m\u001b[1m \u001b[0m \n",
868+
" \u001B[1m \u001B[0m\u001B[1mVariable \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mShape\u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mConstraints \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mDimensions\u001B[0m\u001B[1m \u001B[0m \n",
869869
" ──────────────────────────────────────────────────── \n",
870-
" initial_level \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
871-
" alpha \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < alpha < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
872-
" sigma_state \u001b[3;35mNone\u001b[0m Positive \u001b[3;35mNone\u001b[0m \n",
870+
" initial_level \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
871+
" alpha \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < alpha < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
872+
" sigma_state \u001B[3;35mNone\u001B[0m Positive \u001B[3;35mNone\u001B[0m \n",
873873
" \n",
874-
"\u001b[2;3m These parameters should be assigned priors inside a \u001b[0m\n",
875-
"\u001b[2;3m PyMC model block before calling the \u001b[0m\n",
876-
"\u001b[2;3m build_statespace_graph method. \u001b[0m\n"
874+
"\u001B[2;3m These parameters should be assigned priors inside a \u001B[0m\n",
875+
"\u001B[2;3m PyMC model block before calling the \u001B[0m\n",
876+
"\u001B[2;3m build_statespace_graph method. \u001B[0m\n"
877877
]
878878
},
879879
"metadata": {},
@@ -1394,19 +1394,19 @@
13941394
"</pre>\n"
13951395
],
13961396
"text/plain": [
1397-
"\u001b[3m Model Requirements \u001b[0m\n",
1397+
"\u001B[3m Model Requirements \u001B[0m\n",
13981398
" \n",
1399-
" \u001b[1m \u001b[0m\u001b[1mVariable \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mShape\u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mConstraints \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mDimensions\u001b[0m\u001b[1m \u001b[0m \n",
1399+
" \u001B[1m \u001B[0m\u001B[1mVariable \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mShape\u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mConstraints \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mDimensions\u001B[0m\u001B[1m \u001B[0m \n",
14001400
" ──────────────────────────────────────────────────── \n",
1401-
" initial_level \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
1402-
" initial_trend \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
1403-
" alpha \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < alpha < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
1404-
" beta \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < beta < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
1405-
" sigma_state \u001b[3;35mNone\u001b[0m Positive \u001b[3;35mNone\u001b[0m \n",
1401+
" initial_level \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
1402+
" initial_trend \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
1403+
" alpha \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < alpha < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
1404+
" beta \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < beta < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
1405+
" sigma_state \u001B[3;35mNone\u001B[0m Positive \u001B[3;35mNone\u001B[0m \n",
14061406
" \n",
1407-
"\u001b[2;3m These parameters should be assigned priors inside a \u001b[0m\n",
1408-
"\u001b[2;3m PyMC model block before calling the \u001b[0m\n",
1409-
"\u001b[2;3m build_statespace_graph method. \u001b[0m\n"
1407+
"\u001B[2;3m These parameters should be assigned priors inside a \u001B[0m\n",
1408+
"\u001B[2;3m PyMC model block before calling the \u001B[0m\n",
1409+
"\u001B[2;3m build_statespace_graph method. \u001B[0m\n"
14101410
]
14111411
},
14121412
"metadata": {},
@@ -2044,20 +2044,20 @@
20442044
"</pre>\n"
20452045
],
20462046
"text/plain": [
2047-
"\u001b[3m Model Requirements \u001b[0m\n",
2047+
"\u001B[3m Model Requirements \u001B[0m\n",
20482048
" \n",
2049-
" \u001b[1m \u001b[0m\u001b[1mVariable \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mShape\u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mConstraints \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mDimensions\u001b[0m\u001b[1m \u001b[0m \n",
2049+
" \u001B[1m \u001B[0m\u001B[1mVariable \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mShape\u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mConstraints \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mDimensions\u001B[0m\u001B[1m \u001B[0m \n",
20502050
" ──────────────────────────────────────────────────── \n",
2051-
" initial_level \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
2052-
" initial_trend \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
2053-
" alpha \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < alpha < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
2054-
" beta \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < beta < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
2055-
" phi \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < phi < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
2056-
" sigma_state \u001b[3;35mNone\u001b[0m Positive \u001b[3;35mNone\u001b[0m \n",
2051+
" initial_level \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
2052+
" initial_trend \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
2053+
" alpha \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < alpha < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
2054+
" beta \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < beta < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
2055+
" phi \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < phi < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
2056+
" sigma_state \u001B[3;35mNone\u001B[0m Positive \u001B[3;35mNone\u001B[0m \n",
20572057
" \n",
2058-
"\u001b[2;3m These parameters should be assigned priors inside a \u001b[0m\n",
2059-
"\u001b[2;3m PyMC model block before calling the \u001b[0m\n",
2060-
"\u001b[2;3m build_statespace_graph method. \u001b[0m\n"
2058+
"\u001B[2;3m These parameters should be assigned priors inside a \u001B[0m\n",
2059+
"\u001B[2;3m PyMC model block before calling the \u001B[0m\n",
2060+
"\u001B[2;3m build_statespace_graph method. \u001B[0m\n"
20612061
]
20622062
},
20632063
"metadata": {},
@@ -2664,19 +2664,19 @@
26642664
"</pre>\n"
26652665
],
26662666
"text/plain": [
2667-
"\u001b[3m Model Requirements \u001b[0m\n",
2667+
"\u001B[3m Model Requirements \u001B[0m\n",
26682668
" \n",
2669-
" \u001b[1m \u001b[0m\u001b[1mVariable \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mShape \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mConstraints \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1m Dimensions\u001b[0m\u001b[1m \u001b[0m \n",
2669+
" \u001B[1m \u001B[0m\u001B[1mVariable \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mShape \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mConstraints \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1m Dimensions\u001B[0m\u001B[1m \u001B[0m \n",
26702670
" ──────────────────────────────────────────────────────────────────────────────────────────── \n",
2671-
" initial_level \u001b[1m(\u001b[0m\u001b[1;36m2\u001b[0m,\u001b[1m)\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'observed_state'\u001b[0m,\u001b[1m)\u001b[0m \n",
2672-
" initial_trend \u001b[1m(\u001b[0m\u001b[1;36m2\u001b[0m,\u001b[1m)\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'observed_state'\u001b[0m,\u001b[1m)\u001b[0m \n",
2673-
" alpha \u001b[1m(\u001b[0m\u001b[1;36m2\u001b[0m,\u001b[1m)\u001b[0m \u001b[1;36m0\u001b[0m < alpha < \u001b[1;36m1\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'observed_state'\u001b[0m,\u001b[1m)\u001b[0m \n",
2674-
" beta \u001b[1m(\u001b[0m\u001b[1;36m2\u001b[0m,\u001b[1m)\u001b[0m \u001b[1;36m0\u001b[0m < beta < \u001b[1;36m1\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'observed_state'\u001b[0m,\u001b[1m)\u001b[0m \n",
2675-
" phi \u001b[1m(\u001b[0m\u001b[1;36m2\u001b[0m,\u001b[1m)\u001b[0m \u001b[1;36m0\u001b[0m < phi < \u001b[1;36m1\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'observed_state'\u001b[0m,\u001b[1m)\u001b[0m \n",
2676-
" state_cov \u001b[1m(\u001b[0m\u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m\u001b[1m)\u001b[0m Positive Semi-definite \u001b[1m(\u001b[0m\u001b[32m'observed_state'\u001b[0m, \u001b[32m'observed_state_aux'\u001b[0m\u001b[1m)\u001b[0m \n",
2671+
" initial_level \u001B[1m(\u001B[0m\u001B[1;36m2\u001B[0m,\u001B[1m)\u001B[0m \u001B[1m(\u001B[0m\u001B[32m'observed_state'\u001B[0m,\u001B[1m)\u001B[0m \n",
2672+
" initial_trend \u001B[1m(\u001B[0m\u001B[1;36m2\u001B[0m,\u001B[1m)\u001B[0m \u001B[1m(\u001B[0m\u001B[32m'observed_state'\u001B[0m,\u001B[1m)\u001B[0m \n",
2673+
" alpha \u001B[1m(\u001B[0m\u001B[1;36m2\u001B[0m,\u001B[1m)\u001B[0m \u001B[1;36m0\u001B[0m < alpha < \u001B[1;36m1\u001B[0m \u001B[1m(\u001B[0m\u001B[32m'observed_state'\u001B[0m,\u001B[1m)\u001B[0m \n",
2674+
" beta \u001B[1m(\u001B[0m\u001B[1;36m2\u001B[0m,\u001B[1m)\u001B[0m \u001B[1;36m0\u001B[0m < beta < \u001B[1;36m1\u001B[0m \u001B[1m(\u001B[0m\u001B[32m'observed_state'\u001B[0m,\u001B[1m)\u001B[0m \n",
2675+
" phi \u001B[1m(\u001B[0m\u001B[1;36m2\u001B[0m,\u001B[1m)\u001B[0m \u001B[1;36m0\u001B[0m < phi < \u001B[1;36m1\u001B[0m \u001B[1m(\u001B[0m\u001B[32m'observed_state'\u001B[0m,\u001B[1m)\u001B[0m \n",
2676+
" state_cov \u001B[1m(\u001B[0m\u001B[1;36m2\u001B[0m, \u001B[1;36m2\u001B[0m\u001B[1m)\u001B[0m Positive Semi-definite \u001B[1m(\u001B[0m\u001B[32m'observed_state'\u001B[0m, \u001B[32m'observed_state_aux'\u001B[0m\u001B[1m)\u001B[0m \n",
26772677
" \n",
2678-
"\u001b[2;3m These parameters should be assigned priors inside a PyMC model block before calling the \u001b[0m\n",
2679-
"\u001b[2;3m build_statespace_graph method. \u001b[0m\n"
2678+
"\u001B[2;3m These parameters should be assigned priors inside a PyMC model block before calling the \u001B[0m\n",
2679+
"\u001B[2;3m build_statespace_graph method. \u001B[0m\n"
26802680
]
26812681
},
26822682
"metadata": {},
@@ -3633,21 +3633,21 @@
36333633
"</pre>\n"
36343634
],
36353635
"text/plain": [
3636-
"\u001b[3m Model Requirements \u001b[0m\n",
3636+
"\u001B[3m Model Requirements \u001B[0m\n",
36373637
" \n",
3638-
" \u001b[1m \u001b[0m\u001b[1mVariable \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mShape\u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mConstraints \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1m Dimensions\u001b[0m\u001b[1m \u001b[0m \n",
3638+
" \u001B[1m \u001B[0m\u001B[1mVariable \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mShape\u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1mConstraints \u001B[0m\u001B[1m \u001B[0m \u001B[1m \u001B[0m\u001B[1m Dimensions\u001B[0m\u001B[1m \u001B[0m \n",
36393639
" ────────────────────────────────────────────────────────────── \n",
3640-
" initial_level \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
3641-
" initial_trend \u001b[3;35mNone\u001b[0m \u001b[3;35mNone\u001b[0m \n",
3642-
" initial_seasonal \u001b[1m(\u001b[0m\u001b[1;36m12\u001b[0m,\u001b[1m)\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'seasonal_lag'\u001b[0m,\u001b[1m)\u001b[0m \n",
3643-
" alpha \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < alpha < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
3644-
" beta \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < beta < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
3645-
" gamma \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < gamma< \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
3646-
" phi \u001b[3;35mNone\u001b[0m \u001b[1;36m0\u001b[0m < phi < \u001b[1;36m1\u001b[0m \u001b[3;35mNone\u001b[0m \n",
3647-
" sigma_state \u001b[3;35mNone\u001b[0m Positive \u001b[3;35mNone\u001b[0m \n",
3640+
" initial_level \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
3641+
" initial_trend \u001B[3;35mNone\u001B[0m \u001B[3;35mNone\u001B[0m \n",
3642+
" initial_seasonal \u001B[1m(\u001B[0m\u001B[1;36m12\u001B[0m,\u001B[1m)\u001B[0m \u001B[1m(\u001B[0m\u001B[32m'seasonal_lag'\u001B[0m,\u001B[1m)\u001B[0m \n",
3643+
" alpha \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < alpha < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
3644+
" beta \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < beta < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
3645+
" gamma \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < gamma< \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
3646+
" phi \u001B[3;35mNone\u001B[0m \u001B[1;36m0\u001B[0m < phi < \u001B[1;36m1\u001B[0m \u001B[3;35mNone\u001B[0m \n",
3647+
" sigma_state \u001B[3;35mNone\u001B[0m Positive \u001B[3;35mNone\u001B[0m \n",
36483648
" \n",
3649-
"\u001b[2;3m These parameters should be assigned priors inside a PyMC model \u001b[0m\n",
3650-
"\u001b[2;3m block before calling the build_statespace_graph method. \u001b[0m\n"
3649+
"\u001B[2;3m These parameters should be assigned priors inside a PyMC model \u001B[0m\n",
3650+
"\u001B[2;3m block before calling the build_statespace_graph method. \u001B[0m\n"
36513651
]
36523652
},
36533653
"metadata": {},

pymc_extras/model/marginal/marginal_model.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
model_free_rv,
2020
model_from_fgraph,
2121
)
22-
from pymc.pytensorf import collect_default_updates, compile_pymc, constant_fold, toposort_replace
22+
from pymc.pytensorf import collect_default_updates, constant_fold, toposort_replace
23+
from pymc.pytensorf import compile as compile_pymc
2324
from pymc.util import RandomState, _get_seeds_per_chain
2425
from pytensor import In, Out
2526
from pytensor.compile import SharedVariable

pymc_extras/statespace/core/compile.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def compile_statespace(
3030

3131
inputs = list(pytensor.graph.basic.explicit_graph_inputs(outputs))
3232

33-
_f = pm.compile_pymc(inputs, outputs, on_unused_input="ignore", **compile_kwargs)
33+
_f = pm.compile(inputs, outputs, on_unused_input="ignore", **compile_kwargs)
3434

3535
def f(*, draws=1, **params):
3636
if isinstance(steps, pt.Variable):

requirements.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
pymc>=5.19.1
1+
pymc>=5.20
22
scikit-learn
3+
better-optimize

0 commit comments

Comments
 (0)