如何在statsmodels中获取VAR(1)模型的方差?是否有VARResults属性可直接调用
statsmodels的VARResults类目前没有提供直接返回平稳VAR模型无条件方差/协方差矩阵的内置公开属性,你可以结合模型返回的系数和残差协方差矩阵自行计算。
注意该计算仅适用于平稳的VAR模型,若你的VAR(1)模型存在单位根,无条件方差不存在。
对于平稳的VAR(1)模型,其无条件协方差矩阵可以通过离散Lyapunov方程求解,所需参数都可以从你的拟合结果对象中直接获取,参考实现代码如下:
import numpy as np from scipy.linalg import solve_discrete_lyapunov # 从VAR拟合结果中提取VAR(1)系数矩阵和残差协方差矩阵 A1 = results.coefs[0] sigma_u = results.sigma_u # 求解得到无条件协方差矩阵 unconditional_cov = solve_discrete_lyapunov(A1, sigma_u) # 提取各变量的无条件方差(协方差矩阵对角线元素) unconditional_var = np.diag(unconditional_cov)
内容的提问来源于stack exchange,提问作者Gödel
相关产品推荐
相关产品推荐

