Time Series Diagnostics
Comprehensive diagnostic toolkit to analyze time series data characteristics before forecasting.
Input Format
The input CSV file should have two columns:
- Date column - Timestamps or dates (e.g.,
date, timestamp, time)
- Value column - Numeric values to analyze (e.g.,
value, sales, temperature)
Workflow
Step 1: Run diagnostics
python scripts/diagnose.py data.csv --output-dir results/
This runs all statistical tests and analyses. Outputs diagnostics.json with all metrics and summary.txt with human-readable findings. Column names are auto-detected, or can be specified with --date-col and --value-col options.
Step 2: Generate plots (optional)
python scripts/visualize.py data.csv --output-dir results/
Creates diagnostic plots in results/plots/ for visual inspection. Run after diagnose.py to ensure ACF/PACF plots are synchronized with stationarity results. Column names are auto-detected, or can be specified with --date-col and --value-col options.
Step 3: Report to user
Summarize findings from summary.txt and present relevant plots. See references/interpretation.md for guidance on:
- Is the data forecastable?
- Is it stationary? How much differencing is needed?
- Is there seasonality? What period?
- Is there a trend? What direction?
- Is a transform needed?
Script Options
Both scripts accept:
--date-col NAME - Date column (auto-detected if omitted)
--value-col NAME - Value column (auto-detected if omitted)
--output-dir PATH - Output directory (default: diagnostics/)
--seasonal-period N - Seasonal period (auto-detected if omitted)
Output Files
results/
āāā diagnostics.json # All test results and statistics
āāā summary.txt # Human-readable findings
āāā diagnostics_state.json # Internal state for plot synchronization
āāā plots/
āāā timeseries.png
āāā histogram.png
āāā rolling_stats.png
āāā box_by_dayofweek.png # By day of week (if applicable)
āāā box_by_month.png # By month (if applicable)
āāā box_by_quarter.png # By quarter (if applicable)
āāā acf_pacf.png
āāā decomposition.png
āāā lag_scatter.png
References
See references/interpretation.md for:
- Statistical test thresholds and interpretation
- Seasonal period guidelines by data frequency
- Transform recommendations
Dependencies
pandas, numpy, matplotlib, statsmodels, scipy