编写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\times n$的数据矩阵,$A$是$p\times n\times n$的系数矩阵,$c$是$n$维的截距向量。代码中首先计算了残差序列,然后使用np.cov函数计算了残差序列的方差和协方差矩阵。注意,由于残差序列的长度为$T-p$,因此方差和协方差矩阵的维度均为$n\times n$。
原文地址: http://www.cveoy.top/t/topic/bBEB 著作权归作者所有。请勿转载和采集!