时间序列分析,使用 Kwiatkowski–Phillips–Schmidt–Shin (KPSS) 检查平稳性
Time series Analysis ,checking for stationarity using Kwiatkowski–Phillips–Schmidt–Shin (KPSS)
我正在执行时间序列分析,并使用 Kwiatkowski–Phillips–Schmidt–Shin (KPSS) 检查平稳性。我使用以下方法加载了数据:
import pandas as pd
import numpy as np
path = 'https://raw.githubusercontent.com/selva86/datasets/master/daily-min-temperatures.csv'
df = pd.read_csv(path, parse_dates=['Date'], index_col='Date')
df.plot(title='Daily Temperatures', figsize=(14,8), legend=None);
这是我使用的代码,但我无法显示结果。
#define function for kpss test
from statsmodels.tsa.stattools import kpss
#define KPSS
def kpss_test(timeseries):
print ('Results of KPSS Test:')
kpsstest = kpss(timeseries, regression='c')
kpss_output = pd.Series(kpsstest[0:3], index=['Test Statistic','p-value','Lags Used'])
for key,value in kpsstest[3].items():
kpss_output['Critical Value (%s)'%key] = value
助攻。
你快到了,只是 return kpss_output
像这样:
def kpss_test(timeseries):
print ('Results of KPSS Test:')
kpsstest = kpss(timeseries, regression='c')
kpss_output = pd.Series(kpsstest[0:3], index=['Test Statistic','p-value','Lags Used'])
for key,value in kpsstest[3].items():
kpss_output['Critical Value (%s)'%key] = value
return kpss_output
当您调用 kpss_test(df.Temp)
时,您将获得:
Test Statistic 0.06511
p-value 0.10000
Lags Used 30.00000
Critical Value (10%) 0.34700
Critical Value (5%) 0.46300
Critical Value (2.5%) 0.57400
Critical Value (1%) 0.73900
dtype: float64
我正在执行时间序列分析,并使用 Kwiatkowski–Phillips–Schmidt–Shin (KPSS) 检查平稳性。我使用以下方法加载了数据:
import pandas as pd
import numpy as np
path = 'https://raw.githubusercontent.com/selva86/datasets/master/daily-min-temperatures.csv'
df = pd.read_csv(path, parse_dates=['Date'], index_col='Date')
df.plot(title='Daily Temperatures', figsize=(14,8), legend=None);
这是我使用的代码,但我无法显示结果。
#define function for kpss test
from statsmodels.tsa.stattools import kpss
#define KPSS
def kpss_test(timeseries):
print ('Results of KPSS Test:')
kpsstest = kpss(timeseries, regression='c')
kpss_output = pd.Series(kpsstest[0:3], index=['Test Statistic','p-value','Lags Used'])
for key,value in kpsstest[3].items():
kpss_output['Critical Value (%s)'%key] = value
助攻。
你快到了,只是 return kpss_output
像这样:
def kpss_test(timeseries):
print ('Results of KPSS Test:')
kpsstest = kpss(timeseries, regression='c')
kpss_output = pd.Series(kpsstest[0:3], index=['Test Statistic','p-value','Lags Used'])
for key,value in kpsstest[3].items():
kpss_output['Critical Value (%s)'%key] = value
return kpss_output
当您调用 kpss_test(df.Temp)
时,您将获得:
Test Statistic 0.06511
p-value 0.10000
Lags Used 30.00000
Critical Value (10%) 0.34700
Critical Value (5%) 0.46300
Critical Value (2.5%) 0.57400
Critical Value (1%) 0.73900
dtype: float64