前言
在使用时间序列模型进行预测时,首先需要判断数据是否有异常值,数据是否符合随机性,检查平稳性与周期性
一、异常值检验
data.sort_values("Month",inplace=true)
data.head()
data["Value"].interpolate(inplace=True) #这里填充用的是时间上下的均值进行填充
data.isnull.sum()
sns.boxplot(data=data["Value"]) #使用箱线图查看检查
二、重复值
data[data.duplicated(keep=False)] #检查重复之后删除
data.drop_duplicated(inplace=True)
print(data.shape)
三、重新设置索引并进行时间点检测
'''时间序列上一般使用日期时间类型索引,这样方便操作元素。
因此我们将数据中的时间列转换成日期类型,并将其设置为索引。'''
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()
四、时间序列可视化
data["Value"].plot(figsize=(15,5))
五、平稳性检验
import sys
sys.path.append("../tools")
import tstools
tsools.stationarity_test(data["Value"],m=12)#其中12为周期
六、纯随机性检验
tstools.random_test(data["Value"])