exponenta event banner

Переходные эффекты в моделировании модели regARIMA

Каковы переходные эффекты?

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

  • Oversample: создание путей к образцам, которые длиннее, чем требуется, и удаление начальных образцов, которые демонстрируют переходные эффекты.

  • Рециркуляция: используйте первое моделирование, чтобы создать предварительные данные для второго моделирования.

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

Иллюстрация переходных воздействий на регрессию

Переходные эффекты в регрессионных моделях с ошибками ARIMA могут влиять на оценки коэффициента регрессии. Следующие примеры иллюстрируют поведение линии регрессии в моделях, которые игнорируют переходные эффекты, и моделях, которые их учитывают.

Случайное распространение переходных эффектов

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

Укажите регрессионную модель с ошибками ARMA (2,1):

yt = 3 + 2Xt + ut

ut = 0 .9ut-2-0.4ut-2 + αt + 0 .8αt-1,

где αt - гауссов со средним значением 0 и дисперсией 1. Постройте график функции импульсной характеристики.

Mdl0 = regARIMA('AR',{0.9,-0.4},'MA',{0.8},'Beta',2,...
    'Variance',1,'Intercept',3);

figure
impulse(Mdl0)

Figure contains an axes. The axes with title Impulse Response contains an object of type stem.

Безусловные возмущения, похоже, улеглись после 10-го отставания. Следовательно, переходные эффекты заканчиваются на 10-м запаздывании.

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

rng(5);         % For reproducibility
T = 50;         % Sample size
numPaths = 100; % Number of paths

X = randn(T,1);                                % Full predictor series
Y = simulate(Mdl0,T,'numPaths',numPaths,'X',X); % Full response series

endTrans = 10;
truncX = X((endTrans+1):end);   % Predictor without transient effects    
truncY = Y((endTrans+1):end,:); % Response without transient effects

Поместите модель в каждый моделируемый путь отклика отдельно для полного и усеченного рядов.

Mdl = regARIMA(2,0,1); % Empty model for estimation
beta1 = zeros(2,numPaths);
beta2 = beta1;

for i = 1:numPaths
    EstMdl1 = estimate(Mdl,Y(:,i),'X',X,'display','off');
    EstMdl2 = estimate(Mdl,truncY(:,i),'X',truncX,'display','off');
    beta1(:,i) = [EstMdl1.Intercept; EstMdl1.Beta];
    beta2(:,i) = [EstMdl2.Intercept; EstMdl2.Beta];
end

beta1 является 2-by-numPaths матрица, содержащая оцененные перехваты и наклоны для каждого моделируемого набора данных. beta2 является 2-by-numPaths матрица, содержащая оцененные перехваты и наклоны для усеченных моделируемых наборов данных.

Сравните моделируемые линии регрессии между полным и усеченным рядами. Для одного из путей постройте график моделируемых данных и соответствующих им линий регрессии.

betaBar1 = mean(beta1,2);
betaBar2 = mean(beta2,2);
displayresults(betaBar1,betaBar2) % See Supporting Functions section
Transient Effects  | Sim. Mean of Intercept    | Sim. Mean of Slope
===================================================================
Include            | 3.08619                   | 2.00098
Without            | 3.16408                   | 1.99455
figure
plot(X,Y(:,1),'.')
hold on
plot(X(1:endTrans),Y(1:endTrans),'ro')
plot([min(X) max(X)],beta1(1,1) + beta1(2,1)*[min(X) max(X)],'b')
plot([min(truncX) max(truncX)],...
    beta2(1,1) + beta2(2,1)*[min(truncX) max(truncX)],'r')
legend('Data','Truncated Data','With Transient Effects',...
    'Without Transient Effects','Location','NorthWest')
xlabel('x')
ylabel('y')
text(0,-3,sprintf('\\beta_0 = %0.4g',beta1(1,1)),'Color',[0,0,1])
text(0,-4,sprintf('\\beta_0 = %0.4g',beta2(1,1)),'Color',[1,0,0])
text(2,-3,sprintf('\\beta_1 = %0.4g',beta1(2,1)),'Color',[0,0,1])
text(2,-4,sprintf('\\beta_1 = %0.4g',beta2(2,1)),'Color',[1,0,0])
hold off

Figure contains an axes. The axes contains 8 objects of type line, text. These objects represent Data, Truncated Data, With Transient Effects, Without Transient Effects.

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

Вспомогательные функции

function displayresults(b1,b2)
fprintf('Transient Effects  | Sim. Mean of Intercept    | Sim. Mean of Slope\n')
fprintf('===================================================================\n')
fprintf('Include            | %0.6g                   | %0.6g\n',b1(1),b1(2))
fprintf('Without            | %0.6g                   | %0.6g\n',b2(1),b2(2))
end

Переходные эффекты начинают серию

В этом примере рассматриваются линии регрессии регрессионных моделей с ошибками ARMA, когда переходные эффекты возникают в начале каждой серии.

Укажите регрессионную модель с ошибками ARMA (2,1):

yt = 3 + 2Xt + ut

ut = 0 .9ut-2-0.4ut-2 + αt + 0 .8αt-1,

где αt - гауссов со средним значением 0 и дисперсией 1. Постройте график функции импульсной характеристики.

Mdl0 = regARIMA('AR',{0.9,-0.4},'MA',{0.8},'Beta',2,...
    'Variance',1,'Intercept',3);

figure
impulse(Mdl0)

Figure contains an axes. The axes with title Impulse Response contains an object of type stem.

Безусловные возмущения, похоже, улеглись на 10-й лаг. Следовательно, переходные эффекты заканчиваются после 10-го запаздывания.

Смоделировать одномерный ряд гауссовых предикторов со средним значением 0 и дисперсией 1. Моделирование 100 путей из Mdl0. Усечение наборов данных ответа и предиктора для удаления переходных эффектов.

rng(5);         % For reproducibility
T = 50;         % Sample size
numPaths = 100; % Number of paths

X = linspace(-3,3,T)' + randn(T,1)*0.1;        % Full predictor series
Y = simulate(Mdl0,T,'numPaths',numPaths,'X',X); % Full response series

endTrans = 10;
truncX = X((endTrans+1):end);   % Predictor without transient effects    
truncY = Y((endTrans+1):end,:); % Response without transient effects

Поместите модель в каждый моделируемый путь отклика отдельно для полного и усеченного рядов.

Mdl = regARIMA(2,0,1); % Empty model for estimation
beta1 = zeros(2,numPaths);
beta2 = beta1;

for i = 1:numPaths 
    EstMdl1 = estimate(Mdl,Y(:,i),'X',X,'display','off');
    EstMdl2 = estimate(Mdl,truncY(:,i),'X',truncX,'display','off');
    beta1(:,i) = [EstMdl1.Intercept; EstMdl1.Beta];
    beta2(:,i) = [EstMdl2.Intercept; EstMdl2.Beta];
end

beta1 является 2-by- numPaths матрица, содержащая оцененные перехваты и наклоны для каждого моделируемого набора данных. beta2 является 2-by- numPaths матрица, содержащая оцененные перехваты и наклоны для усеченных моделируемых наборов данных.

Сравните моделируемые линии регрессии между полным и усеченным рядами. Для одного из путей постройте график моделируемых данных и соответствующих им линий регрессии.

betaBar1 = mean(beta1,2);
betaBar2 = mean(beta2,2);
displayresults(betaBar1,betaBar2) % See Supporting Functions section
Transient Effects  | Sim. Mean of Intercept    | Sim. Mean of Slope
===================================================================
Include            | 3.09312                   | 2.01796
Without            | 3.14734                   | 1.98798
figure
plot(X,Y(:,1),'.')
hold on
plot(X(1:endTrans),Y(1:endTrans),'ro')
plot([min(X) max(X)],beta1(1,1) + beta1(2,1)*[min(X) max(X)],'b')
plot([min(truncX) max(truncX)],...
    beta2(1,1) + beta2(2,1)*[min(truncX) max(truncX)],'r')
xlabel('x')
ylabel('y')
legend('Data','Truncated Data','Full Data Regression',...
    'Truncated Data Regression','Location','NorthWest')
text(0,-3,sprintf('\\beta_0 = %0.4g',beta1(1,1)),'Color',[0,0,1])
text(0,-5,sprintf('\\beta_0 = %0.4g',beta2(1,1)),'Color',[1,0,0])
text(2,-3,sprintf('\\beta_1 = %0.4g',beta1(2,1)),'Color',[0,0,1])
text(2,-5,sprintf('\\beta_1 = %0.4g',beta2(2,1)),'Color',[1,0,0])
hold off

Figure contains an axes. The axes contains 8 objects of type line, text. These objects represent Data, Truncated Data, Full Data Regression, Truncated Data Regression.

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

На графике отображаются данные и линии регрессии для одного моделируемого пути. Временные эффекты, по-видимому, влияют на результаты более серьезно.

Вспомогательные функции

function displayresults(b1,b2)
fprintf('Transient Effects  | Sim. Mean of Intercept    | Sim. Mean of Slope\n')
fprintf('===================================================================\n')
fprintf('Include            | %0.6g                   | %0.6g\n',b1(1),b1(2))
fprintf('Without            | %0.6g                   | %0.6g\n',b2(1),b2(2))
end

См. также

|

Связанные примеры

Подробнее