机器学习——时间序列(二)

文章目录

  • 前言
  • 一、异常值检验
  • 二、重复值
  • 三、重新设置索引并进行时间点检测
  • 四、时间序列可视化
  • 五、平稳性检验
  • 六、纯随机性检验


前言

在使用时间序列模型进行预测时,首先需要判断数据是否有异常值,数据是否符合随机性,检查平稳性与周期性


一、异常值检验

data.sort_values("Month",inplace=true)
data.head()

机器学习——时间序列(二)_第1张图片

data["Value"].interpolate(inplace=True) #这里填充用的是时间上下的均值进行填充
data.isnull.sum()

sns.boxplot(data=data["Value"]) #使用箱线图查看检查

机器学习——时间序列(二)_第2张图片

二、重复值

data[data.duplicated(keep=False)]  #检查重复之后删除
data.drop_duplicated(inplace=True)
print(data.shape)

机器学习——时间序列(二)_第3张图片

三、重新设置索引并进行时间点检测

'''时间序列上一般使用日期时间类型索引,这样方便操作元素。
因此我们将数据中的时间列转换成日期类型,并将其设置为索引。'''

data["Month"]=pd.to_datetime(data["Month"])
data.set_index("Month",inplace=True)
data.head()

#检测时间点是否缺失
data=data.asfreq("MS") #MS指月份第一天
data.insull().sum()
#存在缺失点,进行填充插值
data["Value"].interpolate(inplace=True) #这里填充用的是时间上下的均值进行填充
data.isnull.sum()

机器学习——时间序列(二)_第4张图片

四、时间序列可视化

data["Value"].plot(figsize=(15,5))

机器学习——时间序列(二)_第5张图片

五、平稳性检验

import sys
sys.path.append("../tools")
import tstools

tsools.stationarity_test(data["Value"],m=12)#其中12为周期

机器学习——时间序列(二)_第6张图片
机器学习——时间序列(二)_第7张图片

六、纯随机性检验

tstools.random_test(data["Value"])

机器学习——时间序列(二)_第8张图片

你可能感兴趣的:(机器学习,python,算法)