Skip to content

Add support for t-distributed innovations in SARIXModel#16

Draft
nickreich wants to merge 2 commits intomainfrom
ngr/sarix-tdist-innovations
Draft

Add support for t-distributed innovations in SARIXModel#16
nickreich wants to merge 2 commits intomainfrom
ngr/sarix-tdist-innovations

Conversation

@nickreich
Copy link
Member

Summary

Extends SARIXModel to support t-distributed innovations, enabling more robust forecasting with heavier-tailed error distributions.

Changes

  • Extended _get_extra_sarix_params(): Base class now passes through innovation_dist and innovation_df_prior_scale parameters if specified in model_config
  • Updated SARIXFourierModel: Properly merges base parameters with Fourier-specific parameters using super()
  • Added test_sarix_tdist_innovations(): Integration test validating model runs with t-distributed errors

Dependencies

Requires sarix library with t-distribution support (PR: elray1/sarix#17)

Usage Example

model_config = SimpleNamespace(
    p=6,
    theta_pooling='shared',
    sigma_pooling='none',
    innovation_dist='t',  # Use t-distribution
    innovation_df_prior_scale=10.0,  # Prior mean df = 20
    x=[]
)
model = SARIXModel(model_config)

Testing

  • ✅ Integration test passes with t-distributed innovations
  • ✅ Model successfully estimates degrees of freedom for each location
  • ✅ Forecasts generated correctly with t-distribution
  • ✅ Backward compatible (default behavior unchanged)

🤖 Generated with Claude Code

nickreich and others added 2 commits November 16, 2025 23:10
- Extend _get_extra_sarix_params() to pass innovation_dist and innovation_df_prior_scale
- Update SARIXFourierModel to properly merge base and Fourier parameters
- Add test_sarix_tdist_innovations() integration test
- Validates model runs successfully with t-distributed errors
- Verifies output structure and prediction quality

Depends on sarix library support for t-distributed innovations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replace single quotes with double quotes in sarix.py to comply with ruff Q000 rule.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@nickreich
Copy link
Member Author

This is an expected failure until sarix PR is merged. reichlab/sarix#8

@nickreich nickreich marked this pull request as draft November 17, 2025 04:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant