import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import pymysql
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False
%matplotlib inline
导入数据(1962-01到1975-12牛奶产量数据)
milk=pd.read_excel(r'C:\Users\齐娇\Desktop\milkproduction.xlsx')
milk
df=pd.Series(np.array(milk['production']),index=pd.period_range('196201','197512',freq='M'))
检验序列的平稳性跟纯随机性
1.1 检验平稳性
#画出时序图
df.plot(figsize=(15,5))
plt.title('Milk Month Production')
#画自相关图和偏自相关图
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(df)
plot_pacf(df)
plt.show()
#ADF检验
from statsmodels.tsa.stattools import adfuller as ADF
adf_data=ADF(df)
adf_data
说明从时序图来看:序列有明显的上升趋势,说明非平稳
从自相关系数图来看:自相关系数未很快衰减,说明非平稳
ADF检验:p=0.6>0.05,接受H0,说明非平稳
1.2 平稳性处理
1.2.1 对数变换
df_log=np.log(df)
df_log.plot(