Develop sarima#18
Merged
Merged
Conversation
This commit implements a unified approach for applying the Polynomial Maximization Method (PMM2) to estimate parameters of Seasonal ARMA and Seasonal ARIMA models. New features: - Added SARMAPMM2 and SARIMAPMM2 S4 classes for storing results - Implemented sarma_pmm2() function for SARMA(p,q)×(P,Q)_s models - Implemented sarima_pmm2() function for SARIMA(p,d,q)×(P,D,Q)_s models - Added create_sarma_matrix() helper for building design matrices - Implemented summary methods for new model classes - Created test_sarma_sarima.R for validation Technical details: - Combines non-seasonal and seasonal AR/MA components - Supports both non-seasonal (d) and seasonal (D) differencing - Uses stats::arima for initial estimates, then refines with PMM2 - Maintains compatibility with existing SAR and SMA implementations - Full documentation with examples Updated documentation: - Extended README with SARMA/SARIMA examples - Added comprehensive function documentation - Included usage examples in test script
This commit adds a complete Monte Carlo simulation framework for comparing PMM2 with classical methods (CSS/ML) across various seasonal time series models. New files: - monte_carlo_seasonal_comparison.R: Main simulation script * 500 replications per scenario * Sample sizes: 100, 200, 500 * 4 model types: SAR, SMA, SARMA, SARIMA * Asymmetric gamma innovations for testing PMM2 efficiency * Comprehensive metrics: bias, RMSE, variance, MAE * Variance reduction calculations * Convergence tracking - visualize_monte_carlo_results.R: Visualization and reporting * Creates multi-page PDF with comparison plots * Variance comparison charts * Variance reduction analysis * RMSE comparison by parameter * Efficiency factor g visualization * Summary tables in CSV format * Overall statistics report - MONTE_CARLO_README.md: Comprehensive documentation * Usage instructions * Simulation design details * Expected results and interpretation * Customization guide * Troubleshooting tips * Parallel processing suggestions Features: - Tests all 4 seasonal model types with 3 sample sizes - Compares PMM2 vs CSS for parameter estimation - Evaluates variance reduction (expected 20-50%) - Tracks efficiency factor g across scenarios - Handles convergence failures gracefully - Generates publication-ready visualizations - Provides detailed statistical summaries Expected outcomes: - Demonstrates PMM2 superiority for asymmetric innovations - Quantifies variance reduction across models - Shows g-factor trends with sample size - Validates theoretical predictions Computational requirements: - Runtime: ~2-4 hours for full simulation (500 reps) - Memory: ~50-100 MB - Can be parallelized for faster execution
- Updated `.Rbuildignore` to exclude additional files related to Monte Carlo simulations and documentation. - Revised `CRAN_CHECK_INSTRUCTIONS.md` to reflect current checklist and validation steps for CRAN submission. - Refreshed `CRAN_SUBMISSION_CHECKLIST.md` to ensure all requirements are met and documented. - Updated `cran-comments.md` with submission type and summary of changes for version 0.1.3. - Enhanced `README.md` and `README_uk.md` with installation instructions, documentation rebuilding steps, and Monte Carlo experiment reproduction guidelines. - Improved `NEWS.md` to highlight documentation updates and seasonal Monte Carlo evidence. These changes ensure the package is ready for CRAN submission and improves clarity for users regarding the package's functionality and usage.
- Added `create_sarma_matrix`, `sarima_pmm2`, and `sarma_pmm2` to the exported functions. - Introduced `SARIMAPMM2` and `SARMAPMM2` to the exported classes. These additions enhance the package's functionality for seasonal time series modeling.
This commit significantly improves test coverage for the seasonal models introduced in version 0.1.2, addressing a critical gap in the CRAN submission readiness. New test file: tests/testthat/test-seasonal-models.R (500+ lines) ================================================================ Comprehensive testing for all seasonal model functionality: SAR (Seasonal AutoRegressive) Models: - Basic SAR(0,P)_s model fitting and validation - Multiplicative SAR(p,P)_s models - Coefficient bounds and convergence testing - Multiple seasonal periods (quarterly, monthly) - Mean/intercept parameter handling - SARPMM2 S4 class structure validation SMA (Seasonal Moving Average) Models: - SMA(Q)_s model fitting with CSS and PMM2 methods - Higher-order models (Q > 1) - Method comparison and convergence parameters - Innovation slot validation - SMAPMM2 S4 class structure testing SARMA (Combined Seasonal ARMA) Models: - Full SARMA(p,P,q,Q)_s specification testing - Pure seasonal and mixed models - Order slot validation and residual properties - SARMAPMM2 S4 class validation SARIMA (Seasonal ARIMA) Models: - Differencing order (d, D) handling - Non-stationary data processing - Full model specification testing - SARIMAPMM2 S4 class structure S4 Methods Testing: - coef(), residuals(), fitted(), summary() methods - Class inheritance from TS2fit - Original series storage and moment statistics Edge Cases & Integration: - Short time series handling - Large seasonal periods - Constant series edge cases - Comparison with stats::arima() Total: 50+ distinct test cases covering all seasonal functionality New coverage analysis script: run_coverage_analysis.R ====================================================== Automated script for comprehensive test coverage analysis: - Package-wide coverage reporting with covr - File-by-file coverage breakdown - HTML report generation (coverage_report.html) - Identification of low-coverage areas (<80%) - Specific focus on seasonal model files - Actionable recommendations based on coverage level - Data export for CI/CD integration (coverage_data.rds) New testing documentation: tests/TESTING_GUIDE.md ================================================== Complete guide for developers and contributors: - Test structure and organization overview - Coverage targets by functionality (>80% overall, >85% seasonal) - Running tests (local, devtools, command-line) - Coverage analysis instructions - Detailed description of test-seasonal-models.R - Test data generation utilities - Best practices for writing new tests - Continuous integration guidance - Troubleshooting common testing issues Updated .Rbuildignore ===================== Added exclusions for development/testing artifacts: - run_coverage_analysis.R (dev script) - coverage_report.html (generated report) - coverage_data.rds (coverage data) - tests/TESTING_GUIDE.md (developer docs) Impact on CRAN Readiness ======================== This commit addresses three critical recommendations from the readiness analysis: 1.⚠️ -> ✅ Added comprehensive tests for sar_pmm2(), sma_pmm2(), sarma_pmm2(), sarima_pmm2() 2.⚠️ -> ✅ Added tests for S4 classes SARPMM2, SMAPMM2, SARMAPMM2, SARIMAPMM2 3.⚠️ -> ✅ Implemented covr-based coverage analysis infrastructure Expected Coverage Improvement: - Before: ~357 lines of tests, estimated 70-75% coverage - After: ~850+ lines of tests, target >80% overall, >85% seasonal These additions significantly strengthen the package's test suite and bring it in line with CRAN quality standards for robust R packages. Testing on real hardware with R installed is required to verify coverage metrics and ensure all tests pass.
…iness-011DRvwF82ZaGu8xt9QKtNhD
…-readiness-011DRvwF82ZaGu8xt9QKtNhD Add comprehensive tests for seasonal models and coverage analysis
- Removed specific exclusions for .DS_Store and .Rcheck, replacing them with more general patterns. - Ensured that unnecessary files related to development and testing are excluded from package builds, enhancing CRAN submission readiness.
- Added .env to the list of ignored files to prevent sensitive information from being tracked. - Ensured .claude remains excluded, maintaining a clean repository for development.
- Introduced a unified approach for coefficient storage and convergence tracking across multiple fitting methods (PMM2, CSS, MLE). - Enhanced the summary generation to include method-specific metrics and convergence rates. - Improved output formatting in the markdown report to display method alongside other metrics for clarity. - Streamlined the code for better readability and maintainability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.