> analyzing-time-series
Comprehensive diagnostic analysis of time series data. Use when users provide CSV time series data and want to understand its characteristics before forecasting - stationarity, seasonality, trend, forecastability, and transform recommendations.
curl "https://skillshub.wtf/https-deeplearning-ai/sc-agent-skills-files/analyzing-time-series?format=md"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
> related_skills --same-repo
> learning-a-tool
Create learning paths for programming tools, and define what information should be researched to create learning guides. Use when user asks to learn, understand, or get started with any programming tool, library, or framework.
> reviewing-cli-command
Provides checklist for reviewing Typer CLI command implementations. Covers structure, Annotated syntax, error handling, exit codes, display module usage, destructive action patterns, and help text conventions. Use when user asks to review/check/verify a CLI command, wants feedback on implementation, or asks if a command follows best practices.
> generating-cli-tests
Generate pytest tests for Typer CLI commands. Includes fixtures (temp_storage, sample_data), CliRunner patterns, confirmation handling (y/n/--force), and edge case coverage. Use when user asks to "write tests for", "test my CLI", "add test coverage", or any CLI + test request.
> adding-cli-command
Provides Typer templates, handles registration, and ensures consistency. ALWAYS use this skill when adding or modifying CLI commands. Use when user requests to add/create/implement/build/write a new command (e.g., "add edit command", "create search feature") OR update/modify/change/edit an existing command.