用python的statamodels模块拟合VAR模型

import pandas as pd
import statsmodels.api as sm
from statsmodels.tsa.vector_ar.var_model import VAR
import statsmodels.stats.diagnostic
import numpy as np# 其他包


#创建数据
t=300
data=pd.DataFrame({'Y1':np.random.normal(0,1,t),
                   'X1':-3*np.random.normal(0,1,t),
                   'X2':5*np.random.normal(0,1,t)},
                   index=pd.date_range(start='20200312',periods=t))


#拟合模型
model = VAR(endog=data).fit(ic='aic')#估计模型,默认依据AIC值选择最佳滞后阶数
model.summary()#统计信息汇总

#系数检验
params=model.params#系数
tvalues=model.tvalues#系数t值
bse=model.bse#系数标准误
pvalues=model.pvalues#系数p值

#模型检验
resid=model.resid#残差序列
model.aic#模型的AIC值
model.bic#模型的BIC值


model.df_model#模型自由度,自变量个数k
model.df_resid#残差自由度,n-k-1,样本个数-自变量个数-1

#预测
model.predict(exog=data[['X1','X2']])

你可能感兴趣的:(python操作基础知识,python,机器学习)