特征工程 —— 时间¶
时间日期基础特征¶
- 一天中的几点
- 一周中的第几天
- 一年中的第几个月
- 一小时中的第几分钟
- 一年中的第几季度
经典时间序列(每xx, xx内)¶
简单特征
直接忽略时间轴,只分析测量的分布 1. 平均值 —— 可以提示时间序列平均值趋势的平均值或中间值 1. 扩散值 —— 分布的扩散性, 如标准差、平均绝对偏差或四分位差,可以反映测量的整体变化趋势 1. 离散值 —— 正常范围外的频率(如比平均大两倍、3倍或4倍的标准差),在很多情况下有很强的预测能力 1. 分布性 —— 时间序列测量的边缘分布的高阶特效估计(如偏差或峰度),或者更进一步对命名分布进行统计测试(如标准或统一性),在某些情况下比较有预测力
高级特性
1-自相关特性: 原时间序列与自身左移一个时间空格(没有重叠的部分被移除)的时间序列相关联。 Python StatsModels模块
傅里叶分析(Fourier analysis): 常用工具,将时间序列分解为一系列频率下的正弦和余弦函数的和,可以发现周期性结构。时间序列的分解结果是其自身的分量频谱密度,称为周期图(periodogram)。scipy.signal.periodogram。可以通过取最值,某个阈值的比例之类的方式提取特征。
经典时间序列模型把时间序列中的每个值描述成时间序列过去值得函数: * 自回归(AR)模型 —— 每个值被建模成最后\(p\)个值得线性组合,\(p\)是要估计的自由参数 * 自回归移动平均(ARMA)模型 —— 每个值为AR模型与移动平均(MA)模型的和, MA模型是前\(q\)年误差项的线性组合 * CARCH模型 —— 使用ARMA描述时间序列中的随机噪音,财务常用 * 隐马尔可夫模型(HMM) —— 描述隐藏状态中抽取时间序列的观测值的概率模型,遵循马尔可夫过程
可以被用于: * 把模型的预测值(和预测差异)作为特征 * 把每个模型的最佳参数作为特征 * 计算模型你拟合的统计值(如均方误差)作为特征