抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 【统计】如何理解相关系数 自相关和偏自相关函数(PACF)?

【统计】如何理解相关系数 自相关和偏自相关函数(PACF)?

时间:2023-07-11 15:45:04

相关推荐

The Intuition Behind Correlation

原文:/contents/correlation/

作者:Sachin Date

两个相关的变量到底意味着什么?本文将以皮尔逊相关系数为例解答这个问题。

一般来说,两个变量之间的相关性可以被认为是其之间的某种关系。即,当一个变量的值发生变化时,另一个变量的值在大多数情况下以可预测的方式变化

在实践中,相关(correlation)一词通常用于描述变量之间的线性关系(有时是非线性关系)。需要注意的是,确定相关性必须经过检验和证明的假设。

Linear relationships

线性相关(Linear Correlation):如果两个相关变量的值相对于彼此以恒定速率变化,则称它们彼此具有线性相关。

如果数据呈现线性相关性,则线性回归模型(即直线)在拟合数据后应该能够充分解释该数据集中的线性信号。以下是一个拟合模型(黑线)的示例:

在上面的示例中,可以使用拟合模型来预测城市 MPG 值相对应的高速公路 MPG 值。下图测试集上的预测结果。

Dataset:https://archive.ics.uci.edu/ml/datasets/auto+mpg

import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LinearRegressionimport matplotlib.pyplot as pltdf = pd.read_csv('uciml_auto_city_highway_mpg.csv', header=0)#Plot the original data setdf.plot.scatter(x='City MPG', y='Highway MPG')plt.show()# Create the Train and Test datasets for the Linear Regression ModelX = df.iloc[:, 0:1].valuesy = df.iloc[:, 1:2].valuesX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)# Use all the default params while creating the linear regressorlin_reg = LinearRegression()#Train the regressor on the training data setlin_reg.fit(X_train, y_train)# print out the coorelation coefficient for the training datasetprint('r='+str(lin_reg.score(X_train, y_train)))# Plot the regression line superimposed on the training datasetplt.xlabel('City MPG')plt.ylabel('Highway MPG')plt.scatter(X_train, y_train, color = 'blue')plt.plot(X_train, lin_reg.predict(X_train), color = 'black')plt.show()# Plot the predicted and actual values for the holdout datasetplt.xlabel('City MPG')plt.ylabel('Highway MPG')actuals = plt.scatter(X_test, y_test, marker='o', color = 'lightblue', label='Actual values')predicted = plt.scatter(X_test, lin_reg.predict(X_test), marker='+', color = 'black', label='Predicted values')plt.legend(handles=[predicted, actuals])plt.show()

Nonlinear relationships

非线性相关(Nonlinear correlation):如果相关变量的值彼此之间不以恒定速率变化,则称它们彼此之间具有非线性关系或非线性相关性。

下面是一个非线性关系的例子:

除非转换因变量(在我们的示例中 — 它是高速公路 MPG)以使关系线性化,否则线性回归模型将无法充分“解释”这种非线性关系中包含的信息。

Positive and negative correlation

正相关(Positive Correlation):对于两个相关变量,当一个变量的值增加(或减少)时,如果另一个变量大多数的值也分别增加(或减少),那么可以说这两个变量是正相关的。

下面是一个两个变量之间正相关的示例:

负相关(Negative Correlation):对于两个相关变量,当一个变量的值增加(或减少)时,大多数时候如果看到另一个变量的值分别减少(或增加),则称这两个变量负相关。

下面是一个两个变量之间负相关的示例:

How to measure correlation

两个变量之间的相关系数(coefficient of correlation)量化了两个变量相对于彼此的运动的紧密程度。

The formula for the Pearson’s coefficient

具有线性关系的两个变量之间相关系数的公式是:

分母中的两个sigma是相应变量的标准偏差。

同时指出,使用上述公式进行计算时,相关系数称为皮尔逊的相关系数。当用于样品和整个值群体时,它用符号“r”表示。

Interpreting the value of r

r(或ρ)的值在[-1.0到1.0]之间平滑变化。变量负相关时,r=[-1,0)。r=-1表示完全负相关。当它们正相关时,r=(0,+1]。r=+1表示完全正相关。当 r = [0] 时,变量不是线性相关的。

Intuition for the Pearson’s coefficient formula

要真正理解皮尔逊公式,首先必须理解协方差。就像相关性一样,两个变量之间的协方差衡量两个变量的值耦合的紧密程度

当用于测量线性关系的紧密程度时,协方差使用以下公式计算:

逐项分解这些公式:

如前所述,协方差衡量变量的值相对于彼此变化的同步程度。由于我们要测量值的变化,因此必须将变化锚定在一个固定值上。该固定值是该变量数据系列的平均值。对于样本协方差,使用样本均值;对于总体协方差,使用总体均值。使用平均值作为目标也使每个值以平均值为中心。这解释了分子中 X 和 Y 从各自的平均值中减去的原因。

分子中的中心值相乘可确保当 X 和 Y 均相对于它们各自的均值上升或下降时,乘积为正。如果 X 上升但 Y 低于各自的平均值,则乘积为负

分子中的总和确保如果正乘积或多或少地与负乘积平衡,则净总和将是很小的数字,这意味着两个变量相互移动的方式中没有主要的正或负模式。在这种情况下,协方差值会很小。另一方面,如果正乘积超过负乘积,则总和将是一个很大的正数或一个很大的负数,表示两个变量之间的运动是净正数还是净负数。

最后,分母中的 n 或者 (n-1) 在可用的自由度上进行平均。在样本中,样本均值使用一个度,因此除以 (n-1)。

Covariance is wonderful, but…

协方差是量化变量相对于彼此的运动的一种很好的方法,但它存在一些问题

不同的单位:当两个变量的单位不同时,协方差很难解释。例如,如果 X 以美元为单位,Y 以英镑为单位,则 X 和 Y 之间的协方差单位变为美元乘以英镑。怎么可能解释呢?即使 X 和 Y 有相同的单位,比如美元,协方差单位也会变成……美元乘以美元!还是不太容易理解。

不同的尺度:还有范围的问题。当 X 和 Y 在很小的区间内变化时,例如 [0,1],即使 X 和 Y 非常紧密地一起移动,也会得到一个看似微小的协方差值。

难以比较:因为 X 和 Y 可以有不同的单位和不同的范围,通常不可能客观地比较一对变量与另一对变量之间的协方差。假设我想比较车辆燃油经济性与车辆长度之间的线性关系与燃油经济性与整备质量之间的关系相比强或弱。使用协方差进行这种比较需要比较两个不同单位和两个不同范围的两个值,是有问题的。

如果我们可以重新调整协方差,使范围标准化,并解决它的“单位”问题。简单来说,标准差衡量数据与其平均值的平均偏差标准差还具有与原始变量具有相同单位的优点。因此,将协方差除以两个变量的标准差。这样做将重新调整协方差,使其现在以标准偏差的倍数表示,并且还会从分子中抵消单位的影响。也就是皮尔逊相关系数:

Auto-correlation

自相关是变量与变量所取值的相关性,过去 X 个单位(时间)。例如,一个地方的气温可能与 12 个月前同一地方的气温自相关。自相关对于索引到可以排序的尺度(即序数尺度)的变量具有意义。时间尺度是序数尺度的一个例子。与相关性一样,自相关可以是线性的或非线性的,可以是正的或负的,也可以是零。

当用于变量与其自身的 k 滞后版本之间的线性自相关关系时,自相关公式如下:

通过查看另一个数据集来进一步提高对自相关的理解:

上图显示了波士顿市的月平均最高温度。它是通过对气象站在该月记录的每日最高温度 (从1998年1月到6月) 进行平均来计算的。注:该数据网站已经对中国用户禁止访问

针对各种滞后绘制温度与其自身的时间滞后版本。

滞后 12 曲线显示了一个月的平均最高温度和一年前同月的平均最高温度之间的强正线性关系。此外,滞后 6 曲线也有很强的负自相关。总的来说,这些数据中有很强的季节性。

下面是自相关 Heatmap,显示 T 和 T-k 的每个组合之间的相关性。对我们来说,感兴趣的列用蓝色标出。

在第一列中,感兴趣的是 (月平均最大值,TMINUS12) 处的正方形,也可能是 (月平均最大值,TMINUS6) 处的正方形。现在,如果你回头参考散点图,你会注意到所有其他滞后组合的关系是非线性的。因此,在为该数据构建的任何线性季节模型中,为这些非线性关系 (即热图中的剩余方块) 生成的相关系数值的效用受到严重限制,即使其中一些值较大,也不应使用它们

请记住,使用前面提到的公式计算 (自) 相关系数时,只有当关系是线性时才有用如果关系是非线性的,需要不同的方法来量化非线性关系的强度。例如,Spearman 等级相关系数可用于量化具有非线性单调关系的变量之间的关系强度

注:点此处下载 dataset,原文中代码图片挂了。

A word of caution

最后,提醒一句。两个变量 X 和 Y 之间的相关性,无论是线性的还是非线性的,都不会自动暗示 X 和 Y 之间的因果关系(反之亦然)即使 X 和 Y 之间存在很大的相关性,X 也可能不会直接影响 Y,反之亦然。也许有一个隐藏变量,称为混杂变量,它同时影响 X 和 Y,使它们彼此同步上升和下降。为了便于说明,请考虑下图,该图显示了相互绘制的两个数据集。

这里的 X 是一个时间序列,范围从 1990 年到 年,其中包含在这些年份中每一年都能用上电的世界人口比例。变量 Y 也是一个时间序列,范围从 1990 年到 年,包含了每一年全球劳动力的强度。这两个数据集显然是高度相关的。有没有因果,由你来判断!

Understanding Partial Auto-correlation And The PACF

本文将回顾偏自相关函数 (Partial Auto-Correlation Function, PACF) 的概念。从基本原理演示如何计算 PACF,并将结果与 statsmodels.tsa.stattools.pacf() 返回的值进行比较。最后了解如何在时间序列预测。

Laying the foundation for PACF: The auto-regressive time series

过去影响现在的现象有很多。昨天的事件可以用来预测今天会发生什么。当这些现象被表示为时间序列时,它们被称为具有自回归特性。在自回归时间序列中,当前值可以表示为前一个值、前前一个值的函数,依此类推。换句话说,当前值与来自同一时间序列的先前值相关。如果时间序列是自回归的,则通常可以将当前值的预测计算为仅前一个值和一个常数,如下:

这里 TiT_iTi​ 是方程在第 iii 个时间步预测的值。β0\beta_0β0​ 是模型的 Y 截距,它将恒定数量的偏差应用于预测。如果上一个时间步 T(i−1)T_{(i-1)}T(i−1)​ 的值恰好为零,它还指定了对 TiT_iTi​ 的预测。β1\beta_1β1​ 表示 TiT_iTi​ 关于 T(i−1)T_{(i-1)}T(i−1)​ 的变化率。这个简单等式背后的关键假设是,T(i−1)T_{(i-1)}T(i−1)​ 中的方差能够解释在时间序列中所有早于 T(i−1)T_{(i-1)}T(i−1)​ 的值所表示的所有方差。就好像 T(i−1)T_{(i-1)}T(i−1)​ 捕获了与比它自己更早的值相关的所有信息。但是如果这个假设不成立呢?如果 T(i−1)T_{(i-1)}T(i−1)​ 中的方差不能解释 T(i−2)T_{(i-2)}T(i−2)​ 中包含的所有方差怎么办?在这种情况下,上述等式将无法将 T(i−2)T_{(i-2)}T(i−2)​ 的这一无法解释的方差部分输入到 TiT_iTi​ 中,从而导致 TiT_iTi​ 的预测偏离目标。幸运的是,解决这个问题很容易在上面的等式中添加一项的问题如下:

在这个等式中,额外的项 β2∗T(i−2)\beta_2*T_{(i-2)}β2​∗T(i−2)​ 试图捕获早于 T(i−1)T_{(i-1)}T(i−1)​ 的值中包含的方差,该方差无法用 T(i−1)T_{(i-1)}T(i−1)​ 中的方差来解释。它将这种额外的(balance)信息量直接输入到今天的值 TiT_iTi​ 的预测中。在建立背景后,下面推导偏自相关函数的定义和公式。

Building the definition of PACF

让我们复制上述方程式以供参考:

了解 T(i−2)T_{(i-2)}T(i−2)​ 中的额外的方差量在预测今天的值 TiT_iTi​ 中的重要性是很有用的。为什么?因为它告诉我们是否需要在 TiT_iTi​ 的预测模型中添加 T(i−2)T_{(i-2)}T(i−2)​ 作为变量。如果 T(i−2)T_{(i-2)}T(i−2)​ 中的额外的(balance)方差在统计上不显著,我们可以安全地假设所有早于 T(i−2)T_{(i-2)}T(i−2)​ 的值的方差对于预测今天的值来说要么不显著,要么它们的显著性已经在 T(i−1)T_{(i-1)}T(i−1)​ 中捕获。无论哪种方式,它都让我们有理由回退到我们之前只包含 T(i−1)T_{(i-1)}T(i−1)​ 的更简单的方程。那么,如何找出 T(i−2)T_{(i-2)}T(i−2)​ 中这种额外的方差在预测今天的价值 TiT_iTi​ 时有多重要呢?很简单,计算两者之间的相关系数。等等, TiT_iTi​ 不也与 T(i−1)T_{(i-1)}T(i−1)​ 相关吗?毕竟这是上述两个方程的全部基础!当然是的。所以真正想要找出的是以下两个变量之间的相关性

变量 I: TiT_iTi​ 中未被 T(i−1)T_{(i-1)}T(i−1)​ 中的方差解释的方差量

变量 II:T(i−2)T_{(i-2)}T(i−2)​ 中未被 T(i−1)T_{(i-1)}T(i−1)​ 中的方差解释的方差量

这种相关性称为 TiT_iTi​ 与 T(i−2)T_{(i-2)}T(i−2)​ 的部分自相关。变量 II 的定义似乎违反直觉。昨天的值如何解释前天的价值?在自回归时间序列中,前天的值的一些信息会结转到昨天的值。这使昨天的值成为前天的值的预测指标!概括上述论点得出 PACF 的以下定义:

TiT_iTi​ 与其自身的 kkk 个滞后即 T(i−k)T_{(i-k)}T(i−k)​ 的部分自相关是以下两个变量之间的相关性:

变量 1: TiT_iTi​ 中未被 T(i−1),T(i−2),...,T(i−k+1)T_{(i-1)},T_{(i-2)},...,T_{(i-k+1)}T(i−1)​,T(i−2)​,...,T(i−k+1)​ 中的方差解释的方差量。

变量 2: T(i−k)T_{(i-k)}T(i−k)​ 中未被 T(i−1),T(i−2),...,T(i−k+1)T_{(i-1)},T_{(i-2)},...,T_{(i-k+1)}T(i−1)​,T(i−2)​,...,T(i−k+1)​ 中的方差解释的方差量。

Developing the formula for PACF

接下来以 LAG=2 来开发 PACF 公式。稍后,将其推广到 LAG=k。要知道 T(i−2)T_{(i-2)}T(i−2)​ 中有多少方差没有被 T_(i-1) 中的方差解释,做以下两件事:

第 1 步:用线性回归模型拟合 TiT_iTi​ 相对于 T(i−1)T_{(i-1)}T(i−1)​ 的分布。这个线性模型可以从 T(i−1)T_{(i-1)}T(i−1)​ 预测 TiT_iTi​。从概念上讲,这个线性模型允许将 TiT_iTi​ 的方差解释为 T(i−1)T_{(i-1)}T(i−1)​ 的方差的函数。但与所有最优拟合模型一样,模型无法解释 TiT_iTi​ 中的所有方差。因此,有了第 2 步。

第 2 步:计算在第 1 步中建立的线性模型的残差。残差是 TiT_iTi​ 的观测值与模型预测值之差。对每个 TiT_iTi​ 值进行残差计算,以获得残差时间序列。这个残差时间序列提供了无法用 T(i−1)T_{(i-1)}T(i−1)​ 中的方差来解释的 T_i 中的方差量,还有一些噪声

**为了计算相关性中的第二个变量,即 T(i−2)T_{(i-2)}T(i−2)​ 中的方差量不能用 T(i−1)T_{(i-1)}T(i−1)​ 的方差来解释,在 T(i−2)T_{(i-2)}T(i−2)​ 和 T(i−1)T_{(i-1)}T(i−1)​ 的上下文中执行步骤 1 和 2,而不是分别执行 TiT_iTi​ 和 T(i−1)T_{(i-1)}T(i−1)​ **。这提供了变量 2 的残差序列。

最后一步是将 Pearson 相关系数的公式应用于这两个残差时间序列。PACF(Ti,k=2)PACF(T_i, k=2)PACF(Ti​,k=2) 的结果公式如下:

Ti∣T(i−1)T_i|T_{(i-1)}Ti​∣T(i−1)​ 是将线性模型拟合到 TiT_iTi​ 关于 T(i−1)T_{(i-1)}T(i−1)​ 的分布后,从第 1 步和第 2 步创建的残差时间序列。T(i−2)∣T(i−1)T_{(i-2)}|T_{(i-1)}T(i−2)​∣T(i−1)​ 是将线性模型拟合到 T(i−2)T_{(i-2)}T(i−2)​ 关于 T(i−1)T_{(i-1)}T(i−1)​ 的分布后,从第 1 步和第 2 步创建的第二个残差时间序列。等式的分子计算这两个残差时间序列之间的协方差,分母使用各自的标准差对协方差进行标准化。这就是计算 LAG=2 的 PACF 的流程。

The general formula for PACF(X, lag=k)

在一般情况下,早于一两个时间步的值也会对当前时刻的值的预测产生直接影响。因此,用于预测 TiT_iTi​ 的自回归方程的广义版本如下:

lag = k 的 PACF 的公式为:

Ti∣T(i−1),T(i−2)…T(i−k+1)T_i|T_{(i-1)}, T_{(i-2)}…T_{(i-k+1)}Ti​∣T(i−1)​,T(i−2)​…T(i−k+1)​ 是通过将多元线性模型拟合到 T(i−1),T(i−2),...,T(i−k+1)T_{(i-1)},T_{(i-2)},...,T_{(i-k+1)}T(i−1)​,T(i−2)​,...,T(i−k+1)​ 获得的残差时间序列,用于预测 TiT_iTi​。表示去除 T(i−1),T(i−2),...,T(i−k+1)T_{(i-1)},T_{(i-2)},...,T_{(i-k+1)}T(i−1)​,T(i−2)​,...,T(i−k+1)​ 的影响后 TiT_iTi​ 的残差。

T(i−k)∣T(i−1),T(i−2)…T(i−k+1)T_{(i-k)}|T_{(i-1 )}, T_{(i-2)}…T_{(i-k+1)}T(i−k)​∣T(i−1)​,T(i−2)​…T(i−k+1)​ 是通过将多元线性模型拟合到 T(i−1),T(i−2),...,T(i−k+1)T_{(i-1)},T_{(i-2)},...,T_{(i-k+1)}T(i−1)​,T(i−2)​,...,T(i−k+1)​ 获得的残差时间序列,用于预测 T(i−k)T_{(i-k)}T(i−k)​。它表示去除 T(i−1),T(i−2),...,T(i−k+1)T_{(i-1)},T_{(i-2)},...,T_{(i-k+1)}T(i−1)​,T(i−2)​,...,T(i−k+1)​ 的影响后 T(i−k)T_{(i-k)}T(i−k)​ 中的残差。

Working through an example

使用上述步骤在真实世界的时间序列上手动计算 PACF,以了解 PACF 的机制。

我们将首先设置导入,然后将数据读取到 PANDAS DataFrame 中。

import pandas as pdfrom sklearn import linear_model#Read the data into a pandas DataFramedf = pd.read_csv('southern_osc.csv', header=0, infer_datetime_format=True, parse_dates=[0], index_col=[0])#add two columns containing the LAG=1 and LAG=2 version of the data to the DataFramedf['T_(i-1)'] = df['T_i'].shift(1)df['T_(i-2)'] = df['T_i'].shift(2)#drop the top two rows as they contain NaNs after shiftingdf = df.drop(df.index[[0,1]])#fit a linear regression model on T_i and T_i-1 and add it's predictions to the DataFrame as a new columnlm = linear_model.LinearRegression()df_X = df[['T_(i-1)']] #Note the double brackets! [[]]df_y = df['T_i'] #Note the single brackets! []model = lm.fit(df_X,df_y)df['Predicted_T_i|T_(i-1)'] = lm.predict(df_X)#create the time series of residuals corresponding to the predictions of this model and add it to the DataFrame.# This gives us the first one of the two time series we need for calculating the PACF for X at LAG=2#Observed minus predicteddf['Residual_T_i|T_(i-1)'] = df['T_i'] - df['Predicted_T_i|T_(i-1)']#repeat the above procedure to calculate the second time series of residualslm = linear_model.LinearRegression()df_X = df[['T_(i-1)']] #Note the double brackets! [[]]df_y = df['T_(i-2)'] #Note the single brackets! []model = lm.fit(df_X,df_y)df['Predicted_T_(i-2)|T_(i-1)'] = lm.predict(df_X)#Observed minus predicteddf['Residual_T_(i-2)|T_(i-1)'] = df['T_(i-2)'] - df['Predicted_T_(i-2)|T_(i-1)']#Finally, apply the formula for Pearson's r to the two time series of residuals to get the value of the PACF at LAG=2print(df.corr(method='pearson')['Residual_T_i|T_(i-1)']['Residual_T_(i-2)|T_(i-1)'])#prints: 0.29612303554627606#or cheat, like so:from statsmodels.tsa.stattools import pacfprint(pacf(df['T_i'], nlags=2)[2])#prints: 0.2996545841351261

How to use the PACF in time series forecasting

PACF 非常有效地用于以下方面:

确定要在自回归模型的预测方程中滞后值的大小。这称为模型的自回归 (AR) 阶数。

用于确定或验证在基于移动平均的预测模型的预测方程中包含多少季节性滞后时间序列。这称为该过程的季节性移动平均 (SMA) 顺序。

让我们看看如何使用 PACF 计算这些项。

Using PACF to determine the order of an AR process

让我们为各种滞后的 Southern Oscillations 数据集绘制PACF:

该图显示了以下几点:

LAG 0 处的 PACF 为 1.0。情况总是如此。一个值始终与自身 100% 相关!LAG 1 处的 PACF 为 0.62773724。该值只是 LAG 0 和 LAG 1 值之间的常规自相关。LAG 2 处的 PACF 值为 0.29965458,与我们手动计算的值基本相同。LAG 3值刚好在 95% 的置信区间之外。它可能很重要,也可能不重要。

因此,Southern Oscillations 数据集有 AR(2) 或者 AR(3)。

import pandas as pdfrom statsmodels.graphics.tsaplots import plot_pacffrom statsmodels.tsa.stattools import pacfimport matplotlib.pyplot as pltdf = pd.read_csv('southern_osc.csv', header=0, infer_datetime_format=True, parse_dates=[0], index_col=[0])plot_pacf(df['T_i'], title='PACF: Southern Oscillations')print(pacf(df['T_i']))

Using PACF to determine the order of an SMA process

考虑以下季节性时间序列。

预计去年 1 月份的最大值与今年 1 月份的最大值相关是很自然的。因此,我们猜测季节性周期为 12 个月。有了这个假设,对这个时间序列应用一个 12 个月的季节性差异,即推导出一个新的时间序列,其中每个数据点是原始时间序列中相隔 12 个周期的两个数据点的差异。这是季节性差异的时间序列:

接下来,计算此季节性差异时间序列的 PACF:

PACF 图在 12、24、36 等月显示出显著的部分自相关,从而证实了对季节性周期为 12 个月的猜测。此外,这些负的尖峰值表明存在 SMA(1) 过程。 SMA(1) 中的“1”对应于原始系列中的 12 周期。因此,如果要为此时间序列构建季节性 ARIMA 模型,则应将 ARIMA 的季节性分量设置为 (0,1,1)12。第一个“1”对应于应用的单个季节性差异,第二个“1”对应于注意到的 SMA(1) 特征

PACF 是一个强大的工具,尤其是在构建 AR、MA、ARIMA 和季节性 ARIMA 模型时。温度数据集:点击此处。

import pandas as pdfrom statsmodels.graphics.tsaplots import plot_pacfimport matplotlib.pyplot as plt#load the data setdf = pd.read_csv('data\\boston_daily_wx_1998_.csv', header=0, infer_datetime_format=True, parse_dates=[0], index_col=[0])#plot itdf['Monthly Average Maximum'].plot()plt.show()#create the differenced columndf['T_i-T_(i-12)'] = df['Monthly Average Maximum'] - df['T_(i-12)']#plot the differenced seriesdf['T_i-T_(i-12)'].plot()plt.show()#drop the first 12 rows as they contain NaNs in the differenced coldf = df[12:]#plot the pacf of the differenced columnplot_pacf(df['T_i-T_(i-12)'], title='PACF: Seasonal Time Series')plt.show()

如果觉得《【统计】如何理解相关系数 自相关和偏自相关函数(PACF)?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。