时间序列简介
时间序列是时间间隔不变的情况下收集的时间点集合,没有其他数据辅助。这些集合被分析用来了解长期发展趋势,为了预测未来或者表现分析的其他形式。
那么时间序列与线性回归有什么区别呢?
1、时间序列是跟时间有关的。所以基于线性回归模型的假设:观察结果是独立的。在这种情况下是不成立的。
2、随着上升或者下降的趋势,时间序列数据集越大,越体现出季节性或年周期性趋势的形式,如:特定时间框架的具体变化,与一年四季春夏秋冬的循环有异曲同工之妙。
建立时间序列预测模型时索引index必须是时间索引,一方面减少错误出现,另一方面有助于预测数据的分析。
借助于pandas库,本文主要介绍时间索引如何生成。pandas.date_range()函数用于返回固定频率的时间索引,参数比较多,下面我们依次学习了解。
import pandas as pd
根据指定的起止时间,生成时间序列
pd.date_range(start='2019-1-09', end='2019-1-31')
根据起止时间生成
根据起止时间,并指定时间序列数量
pd.date_range(start='2019-1-09', end='2019-1-10',periods=10)
根据指定数量生成
根据开始时间和指定数量生成
pd.date_range(start='2019-1-09',periods=10)
根据开始时间和periods生成
根据指定的频率生成时间点
pd.date_range(start='2019-1-09',periods=10,freq='H')
指定以小时为频率
比较上面可以看出,date_range中默认以天为频率,如果我们需要其他单位的频率必须用freq这个参数指定,并且可以是基础频率的倍数,如下:
pd.date_range(start='2019-1-09',periods=10,freq='12H')
freq=12H
这里可选的频率有很多,大家在使用的时候查看官方文档即可,这里不在一一举例,附一张官方文档中的图。
频率可选值
根据closed参数选择是否包含开始和结束时间,left包含开始时间,不包含结束时间,right与之相反。pd.date_range(start='2019-01-09', end='2019-01-14', closed=None)pd.date_range(start='2019-01-09', end='2019-01-14', closed='left')pd.date_range(start='2019-01-09', end='2019-01-14', closed='right')
closed空值起止时间
时间序列作为索引并根据索引取值
生成时间序列
根据时间索引取值