当前位置: 首页 > news >正文

时间序列进阶:特征工程/多步预测/异常检测

时间序列进阶:特征工程/多步预测/异常检测

1. 时间序列特征工程

importpandasaspdimportnumpyasnpdefcreate_time_features(df,date_col):df=df.copy()df[date_col]=pd.to_datetime(df[date_col])df['hour']=df[date_col].dt.hour df['day']=df[date_col].dt.day df['day_of_week']=df[date_col].dt.dayofweek df['month']=df[date_col].dt.month df['is_weekend']=df['day_of_week'].isin([5,6]).astype(int)returndfdefcreate_lag_features(df,target_col,lags=[1,7,14,30]):forlaginlags:df[f'{target_col}_lag_{lag}']=df[target_col].shift(lag)returndfdefcreate_rolling_features(df,target_col,windows=[7,14,30]):forwindowinwindows:df[f'{target_col}_rolling_mean_{window}']=df[target_col].rolling(window).mean()df[f'{target_col}_rolling_std_{window}']=df[target_col].rolling(window).std()returndf

2. 多步预测

defdirect_multi_step(model,X_last,steps=7):predictions=[]forstepinrange(steps):pred=model.predict(X_last.reshape(1,-1))[0]predictions.append(pred)X_last=np.roll(X_last,-1)X_last[-1]=predreturnpredictionsdefrecursive_multi_step(model,X_last,steps=7):predictions=[]current_input=X_last.copy()for_inrange(steps):pred=model.predict(current_input.reshape(1,-1))[0]predictions.append(pred)current_input=np.append(current_input[1:],pred)returnpredictions

3. 时间序列异常检测

fromsklearn.ensembleimportIsolationForestdefdetect_anomalies(data,column,contamination=0.05):model=IsolationForest(contamination=contamination,random_state=42)data['anomaly']=model.fit_predict(data[[column]])data['is_anomaly']=data['anomaly']==-1returndatadefstatistical_anomaly(data,column,window=30,threshold=3):rolling_mean=data[column].rolling(window).mean()rolling_std=data[column].rolling(window).std()z_scores=(data[column]-rolling_mean)/rolling_std data['is_anomaly']=abs(z_scores)>thresholdreturndata

总结

技术方法适用场景
特征工程滞后/滚动/时间提升精度
多步预测直接/递归未来预测
异常检测IF/Z-Score故障检测
http://www.jsqmd.com/news/1148210/

相关文章:

  • boost 双oo发音规律拆解
  • .NET CAP入门到入土
  • Bun.js 集成了 SQL/Redis/S3,为什么 Java/Go/Python 不集成?
  • 嘉祥整牙哪家最靠谱
  • 振弦采集仪与倾角计技术差异分析:从底层原理到工程选型对照
  • LinkSwift:九大网盘直链下载助手,让文件下载回归简单高效
  • OpenClaw 2.7.9 网关离线、安装报错全套故障解决办法
  • AI助手引发重大变革,谁能掌控“设备联盟”赢得平台之战?
  • 数屿医械数据库 2023 版:3 步精准查询最新二类医疗器械目录(附导出指南)
  • Windows网络性能诊断:iperf3预编译版深度探索与实战应用
  • 每个开发者都该有一个本地工具箱,我造了一个
  • 射频功率放大器温补简略
  • 爆肝万字!C++ Stack/Queue/Priority_queue 从入门到源码手撕,仿函数 + 容器适配器 + 二叉堆,面试吊打 99% 人!
  • IQR与MAD异常值检测实战:3种数据分布场景下的Python代码与效果对比
  • 音频剪辑革命:5分钟掌握Audio Slicer智能分割技巧
  • Tor网桥方法
  • Claude Code技能库:扩展AI代理能力的即插即用解决方案
  • Windows系统文件CIWmi.dll丢失找不到问题解决
  • m4s-converter:跨平台B站缓存视频转换解决方案
  • 5 分钟跑通你的第一个 AI Agent
  • 补时绝杀:西蒙谷的最后一舞,与马丁内斯没能兑现的空霸蓝图
  • HarmonyOS7 数据看板卡片布局:flexBasis 比固定宽度更顺手
  • 终极指南:彻底解决macOS系统下SMAPI启动失败的5种方法
  • HarmonyOS7 ArkUI 实战:Flex Row 商品信息卡片不被长文案挤变形
  • 基于C语言实现(控制台)中小型饭店的点餐系统
  • 开源项目 Riddle 让 Remarkable 电子墨水屏平板秒变“邪恶日记”,能与你对话!
  • openEuler AI-tools实战:如何训练97%准确率的验证码识别模型
  • 多机构联合研究:大型推理模型推理轨迹风险更高,提出自适应缓解方法
  • 【测试工具】Reqable抓包工具保姆级教程:小白也能轻松上手的HTTP调试神器
  • 开源一个 Android/Rockchip 代码审查 Skill:android-rockchip-reviewer-skill