В этом примере показано, как симулировать ответы из модели регрессии с ARIMA безусловные воздействия, приняв, что предикторы являются белыми шумовыми последовательностями.
Задайте модель регрессии с ошибками ARIMA:
где инновации являются Гауссовыми с отклонением 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:
где инновации являются Гауссовыми со средним значением 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);
Сгенерируйте ответы из модели регрессии с ошибками временных рядов:
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.