ARIMA, ACF, PACF
文章目录
偏自相关系数(Partial Auto-Correlation Coefficient, PAC) 和 自相关系数(Auto-Correlation Coefficient, ACF) 是两种常用的时间序列分析工具,可用于观察数据中是否存在某种模式或结构。如果数据中有明显的周期性变化,那么通过观察PAC和ACF,可以从这些指标中推断出数据的周期性特点。以下是一些常用的步骤:
- 首先要对原始数据进行可视化,以便大致了解其趋势。这可以通过折线图或柱状图等方式实现。
- 然后使用上述提到的sm.tsa.stattools.acf 和 sm.tsa.stattools.pacf 方法计算ACF和PACF,并绘制出对应的图示。注意,PACF反映了滞后项对当前项的影响,而忽略了之前的滞后项;而ACF则反映了所有的滞后项对当前项的影响。
- 观察PACF和ACF的图形形状和值,如果发现有较高的峰值,那么可能存在一定的周期性规律。一般来说,如果存在周期性,则需要关注以下几种现象: * 如果在ACF中发现有多个峰点(或至少有一个明显峰点),并且这些峰点呈周期性排列,那么说明数据可能存在一定的周期性; * 在PACF中也可能出现类似的峰值,但需要注意的是,如果PACF中的峰值在后面迅速衰减,则可能是随机过程的结果,而不是真正的周期性表现; * 同时也可以结合谱密度图等其他方法来确认周期性的存在。
ACF
从字面上的意思理解,自相关函数(Autocorrelation Function)就是用来计算时间序列自身的相关性的函数。
c o r r ( x t , x t − 1 ) = c o r r ( { x 2 , x 3 , . . . x n } , { x 1 , x 2 , . . . x n − 1 } ) corr(x_t,x_{t-1}) = corr(\{x_2,x_3,...x_n\},\{x_1,x_2,...x_{n-1}\}) corr(xt,xt−1)=corr({
x2,x3,...xn},{
x1,x2,...xn−1})
PACF
PACF,指偏自相关函数(Partial Autocorrelation Function)实际上计算的就是两个回归方程的残差序列的相关系数。
from sklearn.linear_model import LinearRegression
df['price-shift-1'] = df['price'].shift(1)
df['price-shift-2'] = df['price'].shift(2)
lr = LinearRegression()
lr.fit(df[['price-shift-1']].iloc[1:, :], df[[