При использовании автоматически сгенерированных данных предварительной выборки часто отображаются переходные эффекты в начале моделирования. Это иногда называют периодом горения. Для стационарных процессов ошибок функция импульсной характеристики с течением времени затухает до нуля. Это означает, что начальная точка моделирования ошибок в конечном итоге будет забыта. Для уменьшения переходных эффектов можно:
Oversample: создание путей к образцам, которые длиннее, чем требуется, и удаление начальных образцов, которые демонстрируют переходные эффекты.
Рециркуляция: используйте первое моделирование, чтобы создать предварительные данные для второго моделирования.
Если в модели обнаруживаются нестационарные ошибки, то процесс ошибок не забывает о своей начальной точке. По умолчанию все реализации нестационарных процессов начинаются с нуля. Для ненулевой начальной точки необходимо указать собственные данные предварительной выборки.
Переходные эффекты в регрессионных моделях с ошибками ARIMA могут влиять на оценки коэффициента регрессии. Следующие примеры иллюстрируют поведение линии регрессии в моделях, которые игнорируют переходные эффекты, и моделях, которые их учитывают.
В этом примере рассматриваются линии регрессии регрессионных моделей с ошибками ARMA, когда переходные эффекты случайным образом распределены относительно совместного распределения предиктора и ответа.
Укажите регрессионную модель с ошибками ARMA (2,1):
2Xt + ut
.8αt-1,
где - гауссов со средним значением 0 и дисперсией 1. Постройте график функции импульсной характеристики.
Mdl0 = regARIMA('AR',{0.9,-0.4},'MA',{0.8},'Beta',2,... 'Variance',1,'Intercept',3); figure impulse(Mdl0)

Безусловные возмущения, похоже, улеглись после 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 sectionTransient 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

В таблице в окне команд отображаются средние расчетные значения пересечения и наклона регрессионной модели. Результаты показывают, что линия регрессии, соответствующая анализу, включающему полный набор данных, параллельна линии регрессии, соответствующей усеченному набору данных. Другими словами, наклон в основном не зависит от учета переходных эффектов, но на пересечение оказывается незначительное влияние.
Вспомогательные функции
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):
2Xt + ut
.8αt-1,
где - гауссов со средним значением 0 и дисперсией 1. Постройте график функции импульсной характеристики.
Mdl0 = regARIMA('AR',{0.9,-0.4},'MA',{0.8},'Beta',2,... 'Variance',1,'Intercept',3); figure impulse(Mdl0)

Безусловные возмущения, похоже, улеглись на 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 sectionTransient 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

В таблице в окне команд отображаются средние расчетные значения пересечения и наклона регрессионной модели. Результаты показывают, что в среднем линии регрессии, соответствующие полным данным и усеченным данным, имеют несколько разные перехваты и наклоны. Другими словами, переходные эффекты незначительно влияют на оценки регрессии.
На графике отображаются данные и линии регрессии для одного моделируемого пути. Временные эффекты, по-видимому, влияют на результаты более серьезно.
Вспомогательные функции
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