pymc-extras 0.5.0__py3-none-any.whl → 0.7.0__py3-none-any.whl

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.
Files changed (38) hide show
  1. pymc_extras/deserialize.py +10 -4
  2. pymc_extras/distributions/continuous.py +1 -1
  3. pymc_extras/distributions/histogram_utils.py +6 -4
  4. pymc_extras/distributions/multivariate/r2d2m2cp.py +4 -3
  5. pymc_extras/distributions/timeseries.py +14 -12
  6. pymc_extras/inference/dadvi/dadvi.py +149 -128
  7. pymc_extras/inference/laplace_approx/find_map.py +16 -39
  8. pymc_extras/inference/laplace_approx/idata.py +22 -4
  9. pymc_extras/inference/laplace_approx/laplace.py +196 -151
  10. pymc_extras/inference/laplace_approx/scipy_interface.py +47 -7
  11. pymc_extras/inference/pathfinder/idata.py +517 -0
  12. pymc_extras/inference/pathfinder/pathfinder.py +71 -12
  13. pymc_extras/inference/smc/sampling.py +2 -2
  14. pymc_extras/model/marginal/distributions.py +4 -2
  15. pymc_extras/model/marginal/graph_analysis.py +2 -2
  16. pymc_extras/model/marginal/marginal_model.py +12 -2
  17. pymc_extras/model_builder.py +9 -4
  18. pymc_extras/prior.py +203 -8
  19. pymc_extras/statespace/core/compile.py +1 -1
  20. pymc_extras/statespace/core/statespace.py +2 -1
  21. pymc_extras/statespace/filters/distributions.py +15 -13
  22. pymc_extras/statespace/filters/kalman_filter.py +24 -22
  23. pymc_extras/statespace/filters/kalman_smoother.py +3 -5
  24. pymc_extras/statespace/filters/utilities.py +2 -5
  25. pymc_extras/statespace/models/DFM.py +12 -27
  26. pymc_extras/statespace/models/ETS.py +190 -198
  27. pymc_extras/statespace/models/SARIMAX.py +5 -17
  28. pymc_extras/statespace/models/VARMAX.py +15 -67
  29. pymc_extras/statespace/models/structural/components/autoregressive.py +4 -4
  30. pymc_extras/statespace/models/structural/components/regression.py +4 -26
  31. pymc_extras/statespace/models/utilities.py +7 -0
  32. pymc_extras/utils/model_equivalence.py +2 -2
  33. pymc_extras/utils/prior.py +10 -14
  34. pymc_extras/utils/spline.py +4 -10
  35. {pymc_extras-0.5.0.dist-info → pymc_extras-0.7.0.dist-info}/METADATA +4 -4
  36. {pymc_extras-0.5.0.dist-info → pymc_extras-0.7.0.dist-info}/RECORD +38 -37
  37. {pymc_extras-0.5.0.dist-info → pymc_extras-0.7.0.dist-info}/WHEEL +1 -1
  38. {pymc_extras-0.5.0.dist-info → pymc_extras-0.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -3,6 +3,7 @@ import numpy as np
3
3
  from pytensor import tensor as pt
4
4
 
5
5
  from pymc_extras.statespace.models.structural.core import Component
6
+ from pymc_extras.statespace.models.utilities import validate_names
6
7
  from pymc_extras.statespace.utils.constants import TIME_DIM
7
8
 
8
9
 
@@ -12,10 +13,6 @@ class RegressionComponent(Component):
12
13
 
13
14
  Parameters
14
15
  ----------
15
- k_exog : int | None, default None
16
- Number of exogenous variables to include in the regression. Must be specified if
17
- state_names is not provided.
18
-
19
16
  name : str | None, default "regression"
20
17
  A name for this regression component. Used to label dimensions and coordinates.
21
18
 
@@ -107,7 +104,6 @@ class RegressionComponent(Component):
107
104
 
108
105
  def __init__(
109
106
  self,
110
- k_exog: int | None = None,
111
107
  name: str | None = "regression",
112
108
  state_names: list[str] | None = None,
113
109
  observed_state_names: list[str] | None = None,
@@ -120,7 +116,9 @@ class RegressionComponent(Component):
120
116
  observed_state_names = ["data"]
121
117
 
122
118
  self.innovations = innovations
123
- k_exog = self._handle_input_data(k_exog, state_names, name)
119
+ validate_names(state_names, var_name="state_names", optional=False)
120
+ k_exog = len(state_names)
121
+ self.state_names = state_names
124
122
 
125
123
  k_states = k_exog
126
124
  k_endog = len(observed_state_names)
@@ -140,26 +138,6 @@ class RegressionComponent(Component):
140
138
  obs_state_idxs=np.ones(k_states),
141
139
  )
142
140
 
143
- @staticmethod
144
- def _get_state_names(k_exog: int | None, state_names: list[str] | None, name: str):
145
- if k_exog is None and state_names is None:
146
- raise ValueError("Must specify at least one of k_exog or state_names")
147
- if state_names is not None and k_exog is not None:
148
- if len(state_names) != k_exog:
149
- raise ValueError(f"Expected {k_exog} state names, found {len(state_names)}")
150
- elif k_exog is None:
151
- k_exog = len(state_names)
152
- else:
153
- state_names = [f"{name}_{i + 1}" for i in range(k_exog)]
154
-
155
- return k_exog, state_names
156
-
157
- def _handle_input_data(self, k_exog: int, state_names: list[str] | None, name) -> int:
158
- k_exog, state_names = self._get_state_names(k_exog, state_names, name)
159
- self.state_names = state_names
160
-
161
- return k_exog
162
-
163
141
  def make_symbolic_graph(self) -> None:
164
142
  k_endog = self.k_endog
165
143
  k_endog_effective = 1 if self.share_states else k_endog
@@ -670,3 +670,10 @@ def get_exog_dims_from_idata(exog_name, idata):
670
670
  exog_dims = None
671
671
 
672
672
  return exog_dims
673
+
674
+
675
+ def validate_names(names: list[str], var_name: str, optional: bool = True) -> None:
676
+ if names is None:
677
+ if optional:
678
+ return None
679
+ raise ValueError(f"Must specify {var_name}")
@@ -4,8 +4,8 @@ from pymc.model.core import Model
4
4
  from pymc.model.fgraph import fgraph_from_model
5
5
  from pytensor import Variable
6
6
  from pytensor.compile import SharedVariable
7
- from pytensor.graph import Constant, graph_inputs
8
- from pytensor.graph.basic import equal_computations
7
+ from pytensor.graph.basic import Constant, equal_computations
8
+ from pytensor.graph.traversal import graph_inputs
9
9
  from pytensor.tensor.random.type import RandomType
10
10
 
11
11
 
@@ -176,20 +176,16 @@ def prior_from_idata(
176
176
 
177
177
  >>> with pm.Model(coords=dict(test=range(4), options=range(3))) as model2:
178
178
  ... priors = prior_from_idata(
179
- ... trace, # the old trace (posterior)
180
- ... var_names=["a", "d"], # take variables as is
181
- ...
182
- ... e="new_e", # assign new name "new_e" for a variable
183
- ... # similar to dict(name="new_e")
184
- ...
185
- ... b=("test", ), # set a dim to "test"
186
- ... # similar to dict(dims=("test", ))
187
- ...
188
- ... c=transforms.log, # apply log transform to a positive variable
189
- ... # similar to dict(transform=transforms.log)
190
- ...
191
- ... # set a name, assign a dim and apply simplex transform
192
- ... f=dict(name="new_f", dims="options", transform=transforms.simplex)
179
+ ... trace, # the old trace (posterior)
180
+ ... var_names=["a", "d"], # take variables as is
181
+ ... e="new_e", # assign new name "new_e" for a variable
182
+ ... # similar to dict(name="new_e")
183
+ ... b=("test",), # set a dim to "test"
184
+ ... # similar to dict(dims=("test", ))
185
+ ... c=transforms.log, # apply log transform to a positive variable
186
+ ... # similar to dict(transform=transforms.log)
187
+ ... # set a name, assign a dim and apply simplex transform
188
+ ... f=dict(name="new_f", dims="options", transform=transforms.simplex),
193
189
  ... )
194
190
  ... trace1 = pm.sample_prior_predictive(100)
195
191
  """
@@ -97,19 +97,13 @@ def bspline_interpolation(x, *, n=None, eval_points=None, degree=3, sparse=True)
97
97
  --------
98
98
  >>> import pymc as pm
99
99
  >>> import numpy as np
100
- >>> half_months = np.linspace(0, 365, 12*2)
100
+ >>> half_months = np.linspace(0, 365, 12 * 2)
101
101
  >>> with pm.Model(coords=dict(knots_time=half_months, time=np.arange(365))) as model:
102
- ... kernel = pm.gp.cov.ExpQuad(1, ls=365/12)
102
+ ... kernel = pm.gp.cov.ExpQuad(1, ls=365 / 12)
103
103
  ... # ready to define gp (a latent process over parameters)
104
- ... gp = pm.gp.gp.Latent(
105
- ... cov_func=kernel
106
- ... )
104
+ ... gp = pm.gp.gp.Latent(cov_func=kernel)
107
105
  ... y_knots = gp.prior("y_knots", half_months[:, None], dims="knots_time")
108
- ... y = pm.Deterministic(
109
- ... "y",
110
- ... bspline_interpolation(y_knots, n=365, degree=3),
111
- ... dims="time"
112
- ... )
106
+ ... y = pm.Deterministic("y", bspline_interpolation(y_knots, n=365, degree=3), dims="time")
113
107
  ... trace = pm.sample_prior_predictive(1)
114
108
 
115
109
  Notes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymc-extras
3
- Version: 0.5.0
3
+ Version: 0.7.0
4
4
  Summary: A home for new additions to PyMC, which may include unusual probability distribitions, advanced model fitting algorithms, or any code that may be inappropriate to include in the pymc repository, but may want to be made available to users.
5
5
  Project-URL: Documentation, https://pymc-extras.readthedocs.io/
6
6
  Project-URL: Repository, https://github.com/pymc-devs/pymc-extras.git
@@ -235,8 +235,8 @@ Requires-Python: >=3.11
235
235
  Requires-Dist: better-optimize>=0.1.5
236
236
  Requires-Dist: preliz>=0.20.0
237
237
  Requires-Dist: pydantic>=2.0.0
238
- Requires-Dist: pymc>=5.24.1
239
- Requires-Dist: pytensor>=2.31.4
238
+ Requires-Dist: pymc>=5.27.0
239
+ Requires-Dist: pytensor>=2.36.3
240
240
  Requires-Dist: scikit-learn
241
241
  Provides-Extra: complete
242
242
  Requires-Dist: dask[complete]<2025.1.1; extra == 'complete'
@@ -245,7 +245,7 @@ Provides-Extra: dask-histogram
245
245
  Requires-Dist: dask[complete]<2025.1.1; extra == 'dask-histogram'
246
246
  Requires-Dist: xhistogram; extra == 'dask-histogram'
247
247
  Provides-Extra: dev
248
- Requires-Dist: blackjax; extra == 'dev'
248
+ Requires-Dist: blackjax>=0.12; extra == 'dev'
249
249
  Requires-Dist: dask[all]<2025.1.1; extra == 'dev'
250
250
  Requires-Dist: pytest-mock; extra == 'dev'
251
251
  Requires-Dist: pytest>=6.0; extra == 'dev'
@@ -1,16 +1,16 @@
1
1
  pymc_extras/__init__.py,sha256=YsR6OG72aW73y6dGS7w3nGGMV-V-ImHkmUOXKMPfMRA,1230
2
- pymc_extras/deserialize.py,sha256=dktK5gsR96X3zAUoRF5udrTiconknH3uupiAWqkZi0M,5937
2
+ pymc_extras/deserialize.py,sha256=lA5Nc3ZMjlq8sXVBzJLdb3ZkK_PsJNkaH-QhBcQZcd4,5924
3
3
  pymc_extras/linearmodel.py,sha256=KkvZ_DBXOD6myPgVNzu742YV0OzDK449_pDqNC5yae4,3975
4
- pymc_extras/model_builder.py,sha256=sAw77fxdiy046BvDPjocuMlbJ0Efj-CDAGtmcwYmoG0,26361
4
+ pymc_extras/model_builder.py,sha256=cypRVbSR2XE7xDU2mL2MfjNXoyruAwtKbuUEhzmWPao,26460
5
5
  pymc_extras/printing.py,sha256=bFOANgsOWDk0vbRMvm2h_D5TsT7OiSojdG7tvyfCw28,6506
6
- pymc_extras/prior.py,sha256=0XbyRRVuS7aKY5gmvJr_iq4fGyHrRDeI_OjWu_O7CTA,39449
6
+ pymc_extras/prior.py,sha256=SyBGmZ6XZKpBd8E2tGGZjWvki0ngh1-_h8rLOTTv4hI,44276
7
7
  pymc_extras/distributions/__init__.py,sha256=Cge3AP7gzD6qTJY7v2tYRtSgn-rlnIo7wQBgf3IfKQ8,1377
8
- pymc_extras/distributions/continuous.py,sha256=530wvcO-QcYVdiVN-iQRveImWfyJzzmxiZLMVShP7w4,11251
8
+ pymc_extras/distributions/continuous.py,sha256=bCXOgnw2Vh_FbYOHCqB0c3ozFVay5Qwua2A211kvWNQ,11251
9
9
  pymc_extras/distributions/discrete.py,sha256=HNi-K0_hnNWTcfyBkWGh26sc71FwBgukQ_EjGAaAOjY,13036
10
- pymc_extras/distributions/histogram_utils.py,sha256=xvCc19nlOmeb9PLZDcsR5PRdmcr5sRefZlPlCvxmGfM,5814
11
- pymc_extras/distributions/timeseries.py,sha256=M5MZ-nik_tgkaoZ1hdUGEZ9g04DQyVLwszVJqSKwNcY,12719
10
+ pymc_extras/distributions/histogram_utils.py,sha256=kkZHu1F_2qMfOEzwNP4K6QYA_xEKUk9cChImOQ2Nkjs,5847
11
+ pymc_extras/distributions/timeseries.py,sha256=WysWtUchfObTGmKduF47bUBqV_g1kW-uAx4_oKENgDg,12709
12
12
  pymc_extras/distributions/multivariate/__init__.py,sha256=E8OeLW9tTotCbrUjEo4um76-_WQD56PehsPzkKmhfyA,93
13
- pymc_extras/distributions/multivariate/r2d2m2cp.py,sha256=bUj9bB-hQi6CpaJfvJjgNPi727uTbvAdxl9fm1zNBqY,16005
13
+ pymc_extras/distributions/multivariate/r2d2m2cp.py,sha256=5SzvD41pu-EWyWlDNz4AR4Sl8MkyC-1dYwkADFh5Avg,16009
14
14
  pymc_extras/distributions/transforms/__init__.py,sha256=FUp2vyRE6_2eUcQ_FVt5Dn0-vy5I-puV-Kz13-QtLNc,104
15
15
  pymc_extras/distributions/transforms/partial_order.py,sha256=oEZlc9WgnGR46uFEjLzKEUxlhzIo2vrUUbBE3vYrsfQ,8404
16
16
  pymc_extras/gp/__init__.py,sha256=sFHw2y3lEl5tG_FDQHZUonQ_k0DF1JRf0Rp8dpHmge0,745
@@ -18,53 +18,54 @@ pymc_extras/gp/latent_approx.py,sha256=cDEMM6H1BL2qyKg7BZU-ISrKn2HJe7hDaM4Y8GgQD
18
18
  pymc_extras/inference/__init__.py,sha256=hI3yqfEVzoUNlCpL1z579F9EqM-NlPTzMfHj8IKY-xE,1009
19
19
  pymc_extras/inference/fit.py,sha256=hNTqLms_mTdjfnCEVIHMcMiPZ3fkU3HEEkbt6LWWhLw,1443
20
20
  pymc_extras/inference/dadvi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- pymc_extras/inference/dadvi/dadvi.py,sha256=eUMManCDwPNuyxPU5fETF6H5AkqB3a5VPtT7aCwyMJA,7978
21
+ pymc_extras/inference/dadvi/dadvi.py,sha256=rERiyMn1ywEerWJ8rq3WNZKtKEpX2lHAdqApatZyJpQ,9698
22
22
  pymc_extras/inference/laplace_approx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- pymc_extras/inference/laplace_approx/find_map.py,sha256=8ebnnHBVuFlAIAElkipT8njOvVSkuq0T28UMqhvQQPU,14446
24
- pymc_extras/inference/laplace_approx/idata.py,sha256=--2QKYGb-o7uFUtTMrIxWGKfE-6uxJGbRONMZKc1HMk,13362
25
- pymc_extras/inference/laplace_approx/laplace.py,sha256=nRbtpmlI4GY2h26slXBOvSJLufN5s40yvxYxPTF--i8,18808
26
- pymc_extras/inference/laplace_approx/scipy_interface.py,sha256=qMxYodmmxaUGsOp1jc7HxBJc6L8NnmFT2Fd4UNNXu2c,8835
23
+ pymc_extras/inference/laplace_approx/find_map.py,sha256=fbK0swDsSBo7pP1TBokREa2wkK1ajL_gLVVuREHH33k,13658
24
+ pymc_extras/inference/laplace_approx/idata.py,sha256=Dxj6A8aJXn8c24vD_PZmMgIgrwEmaYDlbw5UAJq0Nyw,14172
25
+ pymc_extras/inference/laplace_approx/laplace.py,sha256=J4Ddt7Jc1nRZvxHYUz2CWSpvJCJOMG3p2ayyUf1T7tE,20377
26
+ pymc_extras/inference/laplace_approx/scipy_interface.py,sha256=Crhix_dLA8Y_NvuUDmVQnKWAWGjufmQwDLh-bK9dz_o,10235
27
27
  pymc_extras/inference/pathfinder/__init__.py,sha256=FhAYrCWNx_dCrynEdjg2CZ9tIinvcVLBm67pNx_Y3kA,101
28
+ pymc_extras/inference/pathfinder/idata.py,sha256=muAPc9JeI8ZmpjzSp9tSj-uNrcsoNkYb4raJqjgf5UQ,18636
28
29
  pymc_extras/inference/pathfinder/importance_sampling.py,sha256=NwxepXOFit3cA5zEebniKdlnJ1rZWg56aMlH4MEOcG4,6264
29
30
  pymc_extras/inference/pathfinder/lbfgs.py,sha256=GOoJBil5Kft_iFwGNUGKSeqzI5x_shA4KQWDwgGuQtQ,7110
30
- pymc_extras/inference/pathfinder/pathfinder.py,sha256=wVDbyvE97iqiYLDHLfnl1MFtDdmEmaI5XZS3Lr6f9sE,64475
31
+ pymc_extras/inference/pathfinder/pathfinder.py,sha256=IdKyJvGAeRstvTprKVQ4xk1hy6KjB8h-ggbmM7kMPEw,67345
31
32
  pymc_extras/inference/smc/__init__.py,sha256=wyaT4NJl1YsSQRLiDy-i0Jq3CbJZ2BQd4nnCk-dIngY,603
32
- pymc_extras/inference/smc/sampling.py,sha256=AYwmKqGoV6pBtKnh9SUbBKbN7VcoFgb3MmNWV7SivMA,15365
33
+ pymc_extras/inference/smc/sampling.py,sha256=eyRIFPf--tcPpuHPNCxGZNQZVd7MazR4l9aURNY87S0,15385
33
34
  pymc_extras/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
35
  pymc_extras/model/model_api.py,sha256=UHMfQXxWBujeSiUySU0fDUC5Sd_BjT8FoVz3iBxQH_4,2400
35
36
  pymc_extras/model/marginal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- pymc_extras/model/marginal/distributions.py,sha256=iM1yT7_BmivgUSloQPKE2QXGPgjvLqDMY_OTBGsdAWg,15563
37
- pymc_extras/model/marginal/graph_analysis.py,sha256=l_WSZHivm82297zMIm8i3G_h2F-4Tq397pQlcuEP-0I,15874
38
- pymc_extras/model/marginal/marginal_model.py,sha256=oIdikaSnefCkyMxmzAe222qGXNucxZpHYk7548fK6iA,23631
37
+ pymc_extras/model/marginal/distributions.py,sha256=mf6Czm6av2nCydu6uKqjamKFPD8efWJmNlTMy4Ojrvk,15621
38
+ pymc_extras/model/marginal/graph_analysis.py,sha256=Ft7RZC126R0TW2GuFdgb9uN-JSgDGTeffs-UuPcDHQE,15884
39
+ pymc_extras/model/marginal/marginal_model.py,sha256=Wgfcq6hplACU4Kh8aKT2P_kz_yo7r0wIVTupZQtQUKw,23969
39
40
  pymc_extras/model/transforms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
41
  pymc_extras/model/transforms/autoreparam.py,sha256=_NltGWmNqi_X9sHCqAvWcBveLTPxVy11-wENFTcN6kk,12377
41
42
  pymc_extras/preprocessing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
43
  pymc_extras/preprocessing/standard_scaler.py,sha256=Vajp33ma6OkwlU54JYtSS8urHbMJ3CRiRFxZpvFNuus,600
43
44
  pymc_extras/statespace/__init__.py,sha256=PxV8i4aa2XJarRM6aKU14_bEY1AoLu4bNXIBy_E1rRw,431
44
45
  pymc_extras/statespace/core/__init__.py,sha256=LEhkqdMZzzcTyzYml45IM4ykWoCdbWWj2c29IpM_ey8,309
45
- pymc_extras/statespace/core/compile.py,sha256=9FZfE8Bi3VfElxujfOIKRVvmyL9M5R0WfNEqPc5kbVQ,1603
46
+ pymc_extras/statespace/core/compile.py,sha256=GB2H7sE28OdQ6GmNIjtq1R1Oua2GPf6kWJ7IPuYJaNA,1607
46
47
  pymc_extras/statespace/core/representation.py,sha256=boY-jjlkd3KuuO2XiSuV-GwEAyEqRJ9267H72AmE3BU,18956
47
- pymc_extras/statespace/core/statespace.py,sha256=yu7smA5w7l1LFNjTwuKLnGarGLx4HEPJKQ9ZMDbWhDY,108161
48
+ pymc_extras/statespace/core/statespace.py,sha256=pyXIS95MJtJFzQozzdx4tNvf5-jY0Po3Z8aqaNAD7uo,108190
48
49
  pymc_extras/statespace/filters/__init__.py,sha256=F0EtZUhArp23lj3upy6zB0mDTjLIjwGh0pKmMny0QfY,420
49
- pymc_extras/statespace/filters/distributions.py,sha256=-s1c5s2zm6FMc0UqKSrWnJzIF4U5bvJT_3mMNTyV_ak,11927
50
- pymc_extras/statespace/filters/kalman_filter.py,sha256=rgpgF4KZXX5M8yRwblrt2SEINKgoXgiKNfKkbl7ZU9Y,31464
51
- pymc_extras/statespace/filters/kalman_smoother.py,sha256=5jlSZAPveJzD5Q8omnpn7Gb1jgElBMgixGR7H9zoH8U,4183
52
- pymc_extras/statespace/filters/utilities.py,sha256=iwdaYnO1cO06t_XUjLLRmqb8vwzzVH6Nx1iyZcbJL2k,1584
53
- pymc_extras/statespace/models/DFM.py,sha256=Ibwdq6SBs24nX9I1KVwVK8o8CTnw2Baw97giccPoYNc,37435
54
- pymc_extras/statespace/models/ETS.py,sha256=08sbiuNvKdxcgKzS7jWj-z4jf-su73WFkYc8sKkGdEs,28538
55
- pymc_extras/statespace/models/SARIMAX.py,sha256=Y_s9g9-BlQp2U5yJHpLhO1tX_Jamis046voCRpvAl-M,25100
56
- pymc_extras/statespace/models/VARMAX.py,sha256=Kc-46MuNcpI05TnHw7bhJXlYd0L8W_5Gh_Sh7Hnvoa4,25954
50
+ pymc_extras/statespace/filters/distributions.py,sha256=uLCs3iJObHyslOPLUFJp5G9w56AWJIofiFq2KozecXc,11881
51
+ pymc_extras/statespace/filters/kalman_filter.py,sha256=x6J54t9cHi3tXKtCB6QW62Kyit5zjd5AnI3IFdxKtzw,31561
52
+ pymc_extras/statespace/filters/kalman_smoother.py,sha256=JmnvXwHVzWTdmtgECTJY0FJOFZG6O9aEfRoSTWEeU2s,4111
53
+ pymc_extras/statespace/filters/utilities.py,sha256=BBMDeWBcJWZfGc9owuMsOedVIXVDQ8Z2eMiU9vWeVr0,1494
54
+ pymc_extras/statespace/models/DFM.py,sha256=EiZ3x4iFPGeha8bPp1tok4us8Z6UVUu1sFmKIM1i0xc,36458
55
+ pymc_extras/statespace/models/ETS.py,sha256=LEsSKzbfm9Ol8UZQjNurcrM1CLQyozKfJtby7AzsDeI,27667
56
+ pymc_extras/statespace/models/SARIMAX.py,sha256=CNac0LVOqE6qM40YKZ4KdYF6EUR2gZfR5H__AdPDFOs,24558
57
+ pymc_extras/statespace/models/VARMAX.py,sha256=i9r4DcIl2MWH8JWG4u5T3k3Oe8aXHYld43d8sIqO_pg,22374
57
58
  pymc_extras/statespace/models/__init__.py,sha256=DUwPrwfnz9AUbgZOFvZeUpWEw5FiPAK5X9x7vZrRWqY,319
58
- pymc_extras/statespace/models/utilities.py,sha256=jpUYByAy6rMFP7l56uST1SEYchRa-clsFQ-At_1NLSw,27123
59
+ pymc_extras/statespace/models/utilities.py,sha256=D1VMCXzwlNChfk-x4f9cOhfsK_xOoBBhmRzpjdx0tEs,27329
59
60
  pymc_extras/statespace/models/structural/__init__.py,sha256=jvbczE1IeNkhW7gMQ2vF2BhhKHeYyfD90mV-Awko-Vs,811
60
61
  pymc_extras/statespace/models/structural/core.py,sha256=n0cbP8_-NFLmflFF4x37AyOOIHcY5iylRrgTzjyOAhM,35374
61
62
  pymc_extras/statespace/models/structural/utils.py,sha256=Eze34Z0iXJzDC_gZEY2mHrp2VIYu8rHV915vM4U5Sn4,359
62
63
  pymc_extras/statespace/models/structural/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- pymc_extras/statespace/models/structural/components/autoregressive.py,sha256=HkS5an5fuNOBGcjHFNMUVNJrF1BNnlpQxvmPq_5dD0s,8021
64
+ pymc_extras/statespace/models/structural/components/autoregressive.py,sha256=qlV38eJtjejYi9ujiCyUWfeSbFBXdNvi-hgKx57OQ28,8048
64
65
  pymc_extras/statespace/models/structural/components/cycle.py,sha256=qEiGFGMEXKS2Tl_zgzKIp77ijGXCVq6UIHEZp_ErHSQ,13931
65
66
  pymc_extras/statespace/models/structural/components/level_trend.py,sha256=7glYX_tKOJPq6uB1NBuPQFFZGkhcwK4GMZUBTcU0xIY,11357
66
67
  pymc_extras/statespace/models/structural/components/measurement_error.py,sha256=5LHDx3IplNrWSGcsY3xJLywKPosTqr42jlrvm80ZApM,5316
67
- pymc_extras/statespace/models/structural/components/regression.py,sha256=27PRV9I64_VXIyjUi7pRr_gbk7sSI5DfJ4FBAbq5WCM,9856
68
+ pymc_extras/statespace/models/structural/components/regression.py,sha256=U2zlVY31WbhFCime69aN6R3VKPlNVf5HNTfIjfiPy-M,8949
68
69
  pymc_extras/statespace/models/structural/components/seasonality.py,sha256=soXJIZ2xewUhSUb5s2MGnxvnQCcir7ZgbgkSr94xEvc,26987
69
70
  pymc_extras/statespace/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
71
  pymc_extras/statespace/utils/constants.py,sha256=Dj1XpY_u5EliyStGrEFq5jmA5d_EMHCT4teaifxiTko,2577
@@ -72,10 +73,10 @@ pymc_extras/statespace/utils/coord_tools.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
72
73
  pymc_extras/statespace/utils/data_tools.py,sha256=Tomur7d8WCKlMXUCrPqufqVTKUe_nLLCHdipsM9pmaI,6620
73
74
  pymc_extras/utils/__init__.py,sha256=yxI9cJ7fCtVQS0GFw0y6mDGZIQZiK53vm3UNKqIuGSk,758
74
75
  pymc_extras/utils/linear_cg.py,sha256=KkXhuimFsrKtNd_0By2ApxQQQNm5FdBtmDQJOVbLYkA,10056
75
- pymc_extras/utils/model_equivalence.py,sha256=8QIftID2HDxD659i0RXHazQ-l2Q5YegCRLcDqb2p9Pc,2187
76
- pymc_extras/utils/prior.py,sha256=QlWVr7uKIK9VncBw7Fz3YgaASKGDfqpORZHc-vz_9gQ,6841
77
- pymc_extras/utils/spline.py,sha256=qGq0gcoMG5dpdazKFzG0RXkkCWP8ADPPXN-653-oFn4,4820
78
- pymc_extras-0.5.0.dist-info/METADATA,sha256=QgyaW4YCVtVl6FpnEITD06o_Vrzek8RJYHY1pr2Rdok,18898
79
- pymc_extras-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
80
- pymc_extras-0.5.0.dist-info/licenses/LICENSE,sha256=WjiLhUKEysJvy5e9jk6WwFv9tmAPtnov1uJ6gcH1kIs,11720
81
- pymc_extras-0.5.0.dist-info/RECORD,,
76
+ pymc_extras/utils/model_equivalence.py,sha256=9MLwSj7VwxxKupzmEkKBbwGD1X0WM2FGcGIpfb8bViw,2197
77
+ pymc_extras/utils/prior.py,sha256=mnuFpamp04eQJuTU5NyB2PfCG5r-1McSmQGwQXSR_Lg,6670
78
+ pymc_extras/utils/spline.py,sha256=R0u3eAcV5bRmD2YSLqDm0qnaJbEuf3V38OZ7amV7-Tc,4732
79
+ pymc_extras-0.7.0.dist-info/METADATA,sha256=iTIf9JVSRSbvmGz-ASblyd_lR8Jj4eWrUsjgzx97QUw,18904
80
+ pymc_extras-0.7.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
81
+ pymc_extras-0.7.0.dist-info/licenses/LICENSE,sha256=WjiLhUKEysJvy5e9jk6WwFv9tmAPtnov1uJ6gcH1kIs,11720
82
+ pymc_extras-0.7.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any