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

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

В этом примере показано, как симулировать ответы из модели регрессии с 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;

Figure contains an axes object. The axes object with title Simulated Responses contains an object of type line.

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

RegMdl = fitlm(X,y);

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

Figure contains 2 axes objects. Axes object 1 with title Case order plot of residuals contains 2 objects of type line. Axes object 2 with title Plot of residuals vs. lagged residuals contains 3 objects of type line.

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');

Figure contains 2 axes objects. Axes object 1 with title Case order plot of residuals contains 2 objects of type line. Axes object 2 with title Plot of residuals vs. lagged residuals contains 3 objects of type line.

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

Figure contains an axes object. The axes object with title Simulated Responses contains an object of type line.

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

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

RegMdl1 = fitlm(X,y);

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

Figure contains 2 axes objects. Axes object 1 with title Case order plot of residuals contains 2 objects of type line. Axes object 2 with title Plot of residuals vs. lagged residuals contains 3 objects of type line.

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

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

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')

Figure contains 2 axes objects. Axes object 1 with title Case order plot of residuals contains 2 objects of type line. Axes object 2 with title Plot of residuals vs. lagged residuals contains 3 objects of type line.

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

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

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

Ссылки

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

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

Похожие темы