Как исправить ошибку «Ошибка использования hac (строка 485) - индекс превышает границы массива» - PullRequest
0 голосов
/ 09 января 2019

При использовании HAC для получения весов с поправкой на неоднородность для моей регрессионной модели происходит сбой функции в строке 485 hac.m: b = getBW(V,weights,model,iFlag);

Моя используемая модель регрессии имеет 17 переменных (1 константа + 16 регрессоров). Эта функция getBW завершается ошибкой в ​​цикле, начинающемся со строки 872 hac.m, потому что 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) Индекс превышает границы массива.

...