协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
time-series-forecaster【开发与工程】Time series forecasting skill for business metric prediction and demand planning
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: time-series-forecaster description: Time series forecasting skill for business metric prediction and demand planning allowed-tools:
The Time Series Forecaster skill provides comprehensive capabilities for predicting business metrics over time using classical statistical methods, machine learning, and deep learning approaches. It supports automated model selection, ensemble forecasting, and uncertainty quantification for robust business planning.
# Time series data configuration
time_series_data = {
"target": "monthly_revenue",
"datetime_column": "date",
"frequency": "M", # Monthly
"data": [
{"date": "2023-01-01", "value": 1000000, "marketing_spend": 50000},
{"date": "2023-02-01", "value": 1050000, "marketing_spend": 55000},
# ... more data
],
"exogenous_variables": ["marketing_spend", "economic_index"],
"special_events": [
{"date": "2023-11-24", "event": "black_friday", "impact": "positive"},
{"date": "2023-12-25", "event": "christmas", "impact": "mixed"}
]
}
# Forecasting configuration
forecast_config = {
"horizon": 12, # 12 months ahead
"models": {
"auto_select": True,
"candidates": ["arima", "ets", "prophet", "lightgbm"],
"ensemble": {
"method": "weighted_average",
"weights": "based_on_cv_performance"
}
},
"validation": {
"method": "time_series_cv",
"n_splits": 5,
"test_size": 3
},
"prediction_intervals": [0.50, 0.80, 0.95]
}
# Seasonality decomposition
seasonality_config = {
"method": "stl", # or "classical", "x13"
"seasonal_periods": [12], # yearly for monthly data
"robust": True,
"output_components": ["trend", "seasonal", "residual"]
}
| Model | Best For | Handles |
|---|---|---|
| ARIMA | Stationary data with autocorrelation | Trend, AR/MA patterns |
| ETS | Exponential patterns | Trend, Seasonality, Error |
| Prophet | Business time series | Trend, Multiple seasonality, Holidays |
| Theta | Simple forecasting | Trend extrapolation |
| N-BEATS | Complex patterns | Non-linear trends, Interpretable |
| TFT | Multi-horizon, multivariate | Exogenous vars, Attention |
| XGBoost | Feature-rich forecasting | Exogenous variables |
| Metric | Formula | Use Case |
|---|---|---|
| MAPE | Mean Absolute Percentage Error | Scale-independent comparison |
| RMSE | Root Mean Square Error | Penalizes large errors |
| MASE | Mean Absolute Scaled Error | Compares to naive forecast |
| SMAPE | Symmetric MAPE | Handles near-zero values |
| Coverage | % in prediction interval | Calibration check |
{
"time_series": {
"target": "string",
"datetime_column": "string",
"frequency": "string",
"data": ["object"],
"exogenous_variables": ["string"]
},
"forecast_config": {
"horizon": "number",
"models": "object",
"validation": "object",
"prediction_intervals": ["number"]
},
"analysis_options": {
"decomposition": "boolean",
"anomaly_detection": "boolean",
"feature_importance": "boolean"
}
}
{
"forecasts": {
"point_forecast": ["number"],
"prediction_intervals": {
"lower_80": ["number"],
"upper_80": ["number"],
"lower_95": ["number"],
"upper_95": ["number"]
},
"dates": ["string"]
},
"model_performance": {
"selected_model": "string",
"cv_metrics": {
"MAPE": "number",
"RMSE": "number",
"MASE": "number"
},
"all_models": "object"
},
"decomposition": {
"trend": ["number"],
"seasonal": ["number"],
"residual": ["number"]
},
"anomalies": [
{
"date": "string",
"value": "number",
"expected": "number",
"severity": "string"
}
],
"feature_importance": "object (if applicable)"
}