当使用 HAC 为我的回归模型获取异方差校正权重时,函数在 hac.m 的第 485 行崩溃:b = getBW(V,weights,model,iFlag);
我使用的回归模型有 17 个变量(1 个常数 + 16 个回归量)。此 getBW 函数在从 hac.m 的第 872 行开始的循环中失败,因为 ARfit.AR{1} 在此循环的第二次迭代后为空,我不知道为什么。我只是使用:
EstCov = hac(X,y)
在哪里X = [224x17]
和y = [224x1]
尝试类似:
DataTable = array2table([X,y],'VariableNames',{'X1','X2','X3','X4','X5','X6','X7','X8','X9','X10','X11','X12','X13','X14','X15','X16','X17','Y'});
OLSModel = fitlm(DataTable);
[EstCov,se,coeff]=hac(OLSModel,'display','full');
也出于同样的原因在同一点失败。为什么hac(X,y)
行不通?我不断得到
使用 hac 时出错(第 485 行)索引超出数组范围。