如何使用MATLAB进行garch模型的系数显著性检验,用LM检验
时间: 2024-01-08 14:03:48 浏览: 292
BEKK-GARCH模型之Matlab编程.rar_Bekk garch matlab_garch_garch bekk mat
5星 · 资源好评率100%
在MATLAB中,可以使用garchfit函数对GARCH模型进行估计和拟合,然后使用infer函数计算系数的标准误差和t统计量,最后可以使用Lagrange Multiplier (LM)检验进行系数的显著性检验。
具体步骤如下:
1. 使用garchfit函数对GARCH模型进行估计和拟合,如下所示:
```
Mdl = garch('GARCHLags',1,'ARCHLags',1);
EstMdl = estimate(Mdl,Data);
```
其中,Data为输入的时间序列数据。
2. 使用infer函数计算系数的标准误差和t统计量,如下所示:
```
[NumParams,NumTerms] = size(EstMdl.Params);
[~,~,~,~,Summary] = infer(EstMdl,Data);
se = Summary.StandardErrors;
tstat = EstMdl.Params./se;
```
其中,EstMdl.Params为GARCH模型的参数向量,Summary.StandardErrors为标准误差向量,tstat为t统计量向量。
3. 进行LM检验,需要先定义一个辅助回归模型,然后计算残差平方和,如下所示:
```
% 定义辅助回归模型
AuxMdl = arima('Constant',0,'ARLags',1,'Distribution','Gaussian');
% 拟合辅助回归模型并计算残差平方和
[~,~,AuxRes] = estimate(AuxMdl,Data);
Res2 = AuxRes.^2;
LMstat = NumTerms*(sum(Res2(2:end))-sum(Res2(1:end-1).*tstat.^2))/NumParams;
```
其中,AuxMdl为辅助回归模型,AuxRes为辅助回归模型的残差向量,Res2为残差平方向量,LMstat为LM统计量。
4. 进行显著性检验,可以使用LM统计量和卡方分布进行判断,一般采用95%的置信水平,即若LM统计量的值大于卡方分布的临界值,则认为系数显著,否则认为系数不显著。可以使用下列代码进行检验:
```
pValue = 1-chi2cdf(LMstat,NumParams);
significant = (pValue < 0.05);
```
其中,pValue为p值,significant为显著性判断,若significant=1,则系数显著,否则不显著。
注意:以上代码仅为示例,实际应用中需要根据具体的数据和模型进行调整。
阅读全文