Skip to content

Commit df291ed

Browse files
feat: add seasonal state-space branch to Gibbs sampler
- sampler.rs: Add seasonal branch in run_single_chain_static() with local_level_seasonal_smoother, sample_sigma2_seasonal (InvGamma conjugate posterior), sample_sigma2_obs_seasonal, and post-period seasonal state propagation. Add 10 unit tests for sigma2_seasonal. Remove dead code (scale_matrix, invert_matrix) from rust-speedup merge. - state_space.rs: Store SeasonalConfig, add has_seasonal(), seasonal_nseasons(), seasonal_duration(). Skip dummy regressors when state-space seasonal is active. - lib.rs: Add sigma_seasonal field to GibbsSamples PyO3 binding.
1 parent 544347d commit df291ed

3 files changed

Lines changed: 678 additions & 218 deletions

File tree

src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ pub struct GibbsSamples {
1616
#[pyo3(get)]
1717
pub sigma_level: Vec<f64>,
1818
#[pyo3(get)]
19+
pub sigma_seasonal: Vec<f64>,
20+
#[pyo3(get)]
1921
pub beta: Vec<Vec<f64>>,
2022
#[pyo3(get)]
2123
pub gamma: Vec<Vec<bool>>,
@@ -90,6 +92,7 @@ fn run_gibbs_sampler(
9092
states: result.states,
9193
sigma_obs: result.sigma_obs,
9294
sigma_level: result.sigma_level,
95+
sigma_seasonal: result.sigma_seasonal,
9396
beta: result.beta,
9497
gamma: result.gamma,
9598
predictions: result.predictions,

0 commit comments

Comments
 (0)