python时间序列预测之时间索引生成

时间序列简介

时间序列是时间间隔不变的情况下收集的时间点集合,没有其他数据辅助。这些集合被分析用来了解长期发展趋势,为了预测未来或者表现分析的其他形式。

那么时间序列与线性回归有什么区别呢?

1、时间序列是跟时间有关的。所以基于线性回归模型的假设:观察结果是独立的。在这种情况下是不成立的。

2、随着上升或者下降的趋势,时间序列数据集越大,越体现出季节性或年周期性趋势的形式,如:特定时间框架的具体变化,与一年四季春夏秋冬的循环有异曲同工之妙。

建立时间序列预测模型时索引index必须是时间索引,一方面减少错误出现,另一方面有助于预测数据的分析。

借助于pandas库,本文主要介绍时间索引如何生成。pandas.date_range()函数用于返回固定频率的时间索引,参数比较多,下面我们依次学习了解。
import pandas as pd

根据指定的起止时间,生成时间序列
pd.date_range(start='2019-1-09', end='2019-1-31')

image

根据起止时间生成

根据起止时间,并指定时间序列数量
pd.date_range(start='2019-1-09', end='2019-1-10',periods=10)

image

根据指定数量生成

根据开始时间和指定数量生成
pd.date_range(start='2019-1-09',periods=10)

image

根据开始时间和periods生成

根据指定的频率生成时间点
pd.date_range(start='2019-1-09',periods=10,freq='H')

image

指定以小时为频率

比较上面可以看出,date_range中默认以天为频率,如果我们需要其他单位的频率必须用freq这个参数指定,并且可以是基础频率的倍数,如下:
pd.date_range(start='2019-1-09',periods=10,freq='12H')

image

freq=12H

这里可选的频率有很多,大家在使用的时候查看官方文档即可,这里不在一一举例,附一张官方文档中的图。

image

频率可选值

根据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')

image

closed空值起止时间

时间序列作为索引并根据索引取值

image

生成时间序列

image

根据时间索引取值

你可能感兴趣的:(python时间序列预测之时间索引生成)