VAR模型残差序列方差协方差矩阵计算代码
假设已经拟合了一个VAR(p)模型,其中'p'是滞后阶数,'n'是变量数目。假设模型拟合的结果为'A_1, A_2, ..., A_p'和截距向量'c',则可以使用以下代码计算残差序列的方差和协方差矩阵:
import numpy as np
# 计算残差序列
residuals = np.zeros((T-p, n))
for t in range(p, T):
yt = Y[t,:].reshape((1,n))
ylag = np.zeros((1, n*p))
for lag in range(1, p+1):
ylag[:, (lag-1)*n:lag*n] = Y[t-lag,:].reshape((1,n))
residuals[t-p,:] = yt - ylag @ A - c
# 计算残差序列的方差和协方差矩阵
residual_var = np.cov(residuals.T)
其中,'Y'是'T×n'的数据矩阵,'A'是'p×n×n'的系数矩阵,'c'是'n'维的截距向量。代码中首先计算了残差序列,然后使用np.cov函数计算了残差序列的方差和协方差矩阵。注意,由于残差序列的长度为'T-p',因此方差和协方差矩阵的维度均为'n×n'。
原文地址: https://www.cveoy.top/t/topic/m5XL 著作权归作者所有。请勿转载和采集!