@@ -94,13 +94,13 @@ class CycleComponent(Component):
94
94
intitial_trend = pm.Normal('initial_trend', dims=ss_mod.param_dims['initial_trend'])
95
95
sigma_trend = pm.HalfNormal('sigma_trend', dims=ss_mod.param_dims['sigma_trend'])
96
96
97
- cycle_strength = pm.Normal(' business_cycle' )
97
+ cycle_strength = pm.Normal(" business_cycle", dims=ss_mod.param_dims["business_cycle"] )
98
98
cycle_length = pm.Uniform('business_cycle_length', lower=6, upper=12)
99
99
100
100
sigma_cycle = pm.HalfNormal('sigma_business_cycle', sigma=1)
101
- ss_mod.build_statespace_graph(data)
102
101
103
- idata = pm.sample(nuts_sampler='numpyro')
102
+ ss_mod.build_statespace_graph(data)
103
+ idata = pm.sample()
104
104
105
105
**Multivariate Example:**
106
106
Model cycles for multiple economic indicators with variable-specific innovation variances:
@@ -122,6 +122,7 @@ class CycleComponent(Component):
122
122
123
123
# In PyMC model:
124
124
with pm.Model(coords=ss_mod.coords) as model:
125
+ P0 = pm.Deterministic("P0", pt.eye(ss_mod.k_states), dims=ss_mod.param_dims["P0"])
125
126
# Initial states: shape (3, 2) for 3 variables, 2 states each
126
127
cycle_init = pm.Normal('business_cycle', dims=('business_cycle_endog', 'business_cycle_state'))
127
128
@@ -131,6 +132,9 @@ class CycleComponent(Component):
131
132
# Innovation variances: shape (3,) for variable-specific variances
132
133
sigma_cycle = pm.HalfNormal('sigma_business_cycle', dims=('business_cycle_endog',))
133
134
135
+ ss_mod.build_statespace_graph(data)
136
+ idata = pm.sample()
137
+
134
138
References
135
139
----------
136
140
.. [1] Durbin, James, and Siem Jan Koopman. 2012.
0 commit comments