📅  最后修改于: 2023-12-03 15:19:26.356000             🧑  作者: Mango
statsmodels.durbin_watson()
是Python中一个重要的用于计算Durbin-Watson统计量的函数,它通常用于检测数据之间是否存在自相关性。下面将对该函数进行详细介绍。
statsmodels.durbin_watson(resids, axis=0)
resids
: 待检测的残差序列,可以是一维或二维数组。axis
: 如果resids是一个二维数组,则axis确定在哪个方向进行计算。返回一个浮点数,表示计算得到的Durbin-Watson统计量。
现在,我们寻找一个重要的应用场景用于演示该函数,这里我们很自然地想到了线性回归模型。
import statsmodels.api as sm
import numpy as np
# 构造一个简单的线性回归模型
x = np.arange(10)
y = 2 * x + np.random.normal(size=10)
x = sm.add_constant(x) # 添加常数项
result = sm.OLS(y, x).fit() # 拟合线性回归模型
现在我们就可以使用该模型的残差序列来检测数据之间是否存在自相关性。
from statsmodels.stats.stattools import durbin_watson
resids = result.resid # 获取残差序列
dw = durbin_watson(resids) # 计算Durbin-Watson统计量
print(dw)
此时输出结果为:
1.8973458433713005
根据Durbin-Watson统计量的计算公式,其值介于0和4之间,该值越接近2意味着不存在自相关性的可能性越大。因此,我们可以看到,输出结果表明该残差序列中不存在自相关性。