Симулируйте модели регрессии с неустановившимися ошибками

Симулируйте модель регрессии с неустановившимися ошибками

В этом примере показано, как симулировать ответы из модели регрессии с ARIMA безусловные воздействия, приняв, что предикторы являются белыми шумовыми последовательностями.

Задайте модель регрессии с ошибками ARIMA:

yt=3+Xt[2-1.5]+ut

Δut=0.5Δut-1+εt+1.4εt-1+0.8εt-2,

где инновации являются Гауссовыми с отклонением 1.

T = 150; % Sample size
Mdl = regARIMA('MA',{1.4,0.8},'AR',0.5,'Intercept',3,...
    'Variance',1,'Beta',[2;-1.5],'D',1);

Симулируйте два Гауссовых ряда предиктора со средним значением 0 и отклонением 1.

rng(1); % For reproducibility
X = randn(T,2);

Симулируйте и постройте ряд ответа.

y = simulate(Mdl,T,'X',X);

figure;
plot(y);
title 'Simulated Responses';
axis tight;

Регресс y на X. Постройте остаточные значения и протестируйте их на модульный корень.

RegMdl = fitlm(X,y);

figure;
subplot(2,1,1);
plotResiduals(RegMdl,'caseorder');
subplot(2,1,2);
plotResiduals(RegMdl,'lagged');

h = adftest(RegMdl.Residuals.Raw)
h = logical
   0

Остаточные графики показывают, что автокоррелируются и возможно неустановившиеся (как создано). h = 0 указывает, что существуют недостаточные доказательства, чтобы предположить, что остаточный ряд не является модульным корневым процессом.

Обработайте неустановившиеся безусловные воздействия путем преобразования данных соответственно. В этом случае, различие ответы и предикторы. Повторно оцените модель регрессии использование преобразованных ответов и постройте остаточные значения.

dY = diff(y);
dX = diff(X);
dRegMdl = fitlm(dX,dY);

figure;
subplot(2,1,1);
plotResiduals(dRegMdl,'caseorder','LineStyle','-');
subplot(2,1,2);
plotResiduals(dRegMdl,'lagged');

h = adftest(dRegMdl.Residuals.Raw)
h = logical
   1

Остаточные графики показывают, что все еще автокоррелируются, но стационарные. h = 1 указывает, что существует достаточно доказательства, чтобы предположить, что остаточный ряд не является модульным корневым процессом.

Если остаточные значения кажутся стационарными, можно определить соответствующее количество задержек для ошибочной модели использование методология Дженкинса и Поле. Затем используйте regARIMA к полностью моделируют модель регрессии с ошибками ARIMA.

Симулируйте модель регрессии с неустановившимися экспоненциальными ошибками

В этом примере показано, как симулировать ответы из модели регрессии с неустановившимися, экспоненциальными, безусловными воздействиями. Примите, что предикторы являются белыми шумовыми последовательностями.

Задайте следующую ошибочную модель ARIMA:

Δut=0.9Δut-1+εt,

где инновации являются Гауссовыми со средним значением 0 и отклонением 0.05.

T = 50; % Sample size
MdlU = arima('AR',0.9,'Variance',0.05,'D',1,'Constant',0);

Симулируйте безусловные воздействия. Exponentiate симулированные ошибки.

rng(10); % For reproducibility
u = simulate(MdlU,T,'Y0',[0.5:1.5]');
expU = exp(u);

Симулируйте два Гауссовых ряда предиктора со средним значением 0 и отклонением 1.

X = randn(T,2);

Сгенерируйте ответы из модели регрессии с ошибками временных рядов:

yt=3+Xt[2-1.5]+eut.

Beta = [2;-1.5];
Intercept = 3;
y = Intercept + X*Beta + expU;

Постройте ответы.

figure
plot(y)
title('Simulated Responses')
axis tight

Ряд ответа, кажется, растет экспоненциально (как создано).

Регресс y на X. Постройте остаточные значения.

RegMdl1 = fitlm(X,y);

figure
subplot(2,1,1)
plotResiduals(RegMdl1,'caseorder','LineStyle','-')
subplot(2,1,2)
plotResiduals(RegMdl1,'lagged')

Остаточные значения, кажется, растут экспоненциально, и кажутся автокоррелируемыми (как создано).

Обработайте неустановившиеся безусловные воздействия путем преобразования данных соответственно. В этом случае возьмите журнал ряда ответа. Различие регистрируемые ответы. Рекомендуется преобразовать предикторы тот же путь как ответы, чтобы обеспечить исходную интерпретацию их отношения. Однако не преобразовывайте предикторы в этом случае, потому что они содержат отрицательные величины. Повторно оцените модель регрессии использование преобразованных ответов и постройте остаточные значения.

dLogY = diff(log(y));
RegMdl2 = fitlm(X(2:end,:),dLogY);

figure
subplot(2,1,1)
plotResiduals(RegMdl2,'caseorder','LineStyle','-')
subplot(2,1,2)
plotResiduals(RegMdl2,'lagged')

h = adftest(RegMdl2.Residuals.Raw)
h = logical
   1

Остаточные графики показывают, что все еще автокоррелируются, но стационарные. h = 1 указывает, что существует достаточно доказательства, чтобы предположить, что остаточный ряд не является модульным корневым процессом.

Если остаточные значения кажутся стационарными, можно определить соответствующее количество задержек для ошибочной модели использование методология Дженкинса и Поле. Затем используйте regARIMA к полностью моделируют модель регрессии с ошибками ARIMA.

Ссылки

[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

Смотрите также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте