3.1用于时间序列数据的python库
3.1.1时间序列的通用数据准备工作
a.解析来自各种来源和格式的时间序列信息
b.生成固定频率日期和时间跨度的序列
c.利用时区信息处理和转换日期时间
d.将时间序列重采样或转换为特定频率
e.以绝对或相对时间增量执行日期和时间运算。
pandas支持四个与时间相关的一半概念:
a.日期时间
b.时间增量
c.时间跨度
d.日期偏移
3.1.2 时间戳与周期
3.1.3 转换为时间戳
3.1.4 提供格式参数
3.1.5 索引
3.1.6 时间/日期组件
3.1.7 频率转换
3.2 探索与理解时间序列
3.2.1 如何开始时间序列分析
3.2.2 时间序列中缺失值的数据清理
3.2.3 归一化和标准化时间序列数据
3.3 时间序列特征工程
特征工程主要有两个目标:
1.创建正确的输入数据集以供机器学习算法使用:特征工程的目的是根据历史和行数据创建输入特征,并将数据集构建为监督学习问题。
2.提高机器学习模型的性能:特征工程的另一个重要目标是在输入特征与要预测的输出特征或目标变量之间生成有效关系。
我们介绍四种不同的时间特征,这些特征在时间序列场景中非常有用:
a.日期时间特征
b.滞后特征和窗口特征
c.滚动窗口统计信息
d.扩展窗口统计信息
3.3.1 日期时间特征
可以构建并生成其他重要信息的特征示例:
a.是否周末
b.一天中的分钟
c.是否是夏日制
d.是否有公共假期
e.一年中的季度
f.一天中的小时
g.营业时间之前或之后
h.一年中的季节
3.3.2 滞后特征和窗口特征
滞后特征在以前的时间步中被认定的有用的值,因为他们是基于过去发生的事情会影响或包含有关未来的内在信息的假设而创建的。
滞后特征的一个有趣类别称为嵌套滞后特征。为了创建嵌套滞后特征,数据科学家需要确定过去的固定时间段,并按该时间段对特征值进行分组,例如,前两个小时、前三天和前一周出售的商品数量。
pandas库提供了shift()函数,以帮助从时间序列数据集中创建移位或滞后特征。此函数可选的时间频率将索引移位所需的周期数。
3.3.3 滚动窗口统计信息
移动平均是非常受欢迎的滚动统计方法之一。pandas提供了rolling()函数来提供滚动窗口计算,并且会在每个时间步使用值窗口创建一个新的数据结构。
data scientist 可以使用pandas中的concat()函数,仅使用新列构建新的数据集。此函数将沿特定轴的pandas对象与沿其他轴的可选逻辑连接起来。
3.3.4 扩展窗口统计信息
扩展窗口是包含所有历史数据的特征。pandas提供了expanding()函数,该函数为每个时间步提供扩展的转换和先验值的集合:python 为rolling() 和 expanding()函数提供相同的接口 与 功能。
# create expanding window features
from pandas import concat
load_val = ts_data[['load']]
window = load_val.expanding()
new_dataframe = concat([window.min(),window.mean(),window.max(),load_val, shift(-1)],axis=1)
new_dataframe.columns = ['min','mean','max','load+1']
print(new_dataframe.head(10))