exponenta event banner

Моделирование регрессионных моделей с ошибками ARMA

Моделирование модели ошибок AR

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

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

yt = 2 + Xt [-21.5] + utut = 0 .75ut-1-0.5ut-2 + αt,

где αt - гауссов со средним значением 0 и дисперсией 1.

Beta = [-2; 1.5];
Intercept = 2;
a1 = 0.75;
a2 = -0.5;
Variance = 1;
Mdl = regARIMA('AR',{a1, a2},'Intercept',Intercept,...
    'Beta',Beta,'Variance',Variance);

Создайте два ряда предсказателей длины T = 50 путем случайного выбора из стандартного гауссова распределения.

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

Программное обеспечение рассматривает предикторы как нестохастические ряды.

Создание и печать одного образца пути ответов из Mdl.

rng(2);
ySim = simulate(Mdl,T,'X',X);

figure
plot(ySim)
title('{\bf Simulated Response Series}')

Figure contains an axes. The axes with title {\bf Simulated Response Series} contains an object of type line.

simulate требует P = 2 предварительных безусловных возмущения (ut) для инициализации ряда ошибок. Без них, как в данном случае, simulate устанавливает для необходимых предварительных безусловных возмущений значение 0.

Кроме того, можно фильтровать случайный ряд инноваций через Mdl использование filter.

rng(2);
e = randn(T,1);
yFilter = filter(Mdl,e,'X',X);

figure
plot(yFilter)
title('{\bf Simulated Response Series Using Filtered Innovations}')

Figure contains an axes. The axes with title {\bf Simulated Response Series Using Filtered Innovations} contains an object of type line.

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

Смоделировать 1000 путей ответа из Mdl. Оценить переходные эффекты путем построения графика безусловного нарушения (U) отклонения по моделируемым путям в каждом периоде.

numPaths = 1000;
[Y,~,U] = simulate(Mdl,T,'NumPaths',numPaths,'X',X);

figure
h1 = plot(Y,'Color',[.85,.85,.85]);
title('{\bf 1000 Simulated Response Paths}')
hold on
h2 = plot(1:T,Intercept+X*Beta,'k--','LineWidth',2);
legend([h1(1),h2],'Simulated Path','Mean')
hold off

Figure contains an axes. The axes with title {\bf 1000 Simulated Response Paths} contains 1001 objects of type line. These objects represent Simulated Path, Mean.

figure
h1 = plot(var(U,0,2),'r','LineWidth',2);
hold on
theoVarFix = ((1-a2)*Variance)/((1+a2)*((1-a2)^2-a1^2));
h2 = plot([1 T],[theoVarFix theoVarFix],'k--','LineWidth',2);
title('{\bf Unconditional Disturbance Variance}')
legend([h1,h2],'Simulation Variance','Theoretical Variance')
hold off

Figure contains an axes. The axes with title {\bf Unconditional Disturbance Variance} contains 2 objects of type line. These objects represent Simulation Variance, Theoretical Variance.

Моделируемые пути ответа следуют их теоретическому среднему значению c + Xβ, которое не является постоянным с течением времени (и может выглядеть нестационарным ).

Дисперсия процесса не является постоянной, а выравнивается при теоретической дисперсии к 10-му периоду. Теоретическая дисперсия модели ошибок AR (2)

(1-а2) (1 + а2) [(1-а2) 2-а12] = (1 + 0,5) (1-0,5) [(1 + 0,5) 2-0,752] = 1,78

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

burnIn = 1:10;
notBurnIn = burnIn(end)+1:T;
Y = Y(notBurnIn,:);
X = X(notBurnIn,:);
U = U(notBurnIn,:);
figure
h1 = plot(notBurnIn,Y,'Color',[.85,.85,.85]);
hold on
h2 = plot(notBurnIn,Intercept+X*Beta,'k--','LineWidth',2);
title('{\bf 1000 Simulated Response Paths for Analysis}')
legend([h1(1),h2],'Simulated Path','Mean')
hold off

Figure contains an axes. The axes with title {\bf 1000 Simulated Response Paths for Analysis} contains 1001 objects of type line. These objects represent Simulated Path, Mean.

figure
h1 = plot(notBurnIn,var(U,0,2),'r','LineWidth',2);
hold on
h2 = plot([notBurnIn(1) notBurnIn(end)],...
    [theoVarFix theoVarFix],'k--','LineWidth',2);
title('{\bf Converged Unconditional Disturbance Variance}')
legend([h1,h2],'Simulation Variance','Theoretical Variance')
hold off

Figure contains an axes. The axes with title {\bf Converged Unconditional Disturbance Variance} contains 2 objects of type line. These objects represent Simulation Variance, Theoretical Variance.

Отклонения моделирования безусловных возмущений колеблются вокруг теоретической дисперсии из-за ошибки выборки Монте-Карло. Имейте в виду, что исключение образца при сгорании из анализа снижает эффективный размер выборки.

Моделирование модели ошибок MA

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

Укажите регрессионную модель с ошибками MA (8 ):

yt = 2 + Xt [-21.5] + utut = αt + 0 .4αt-1-0.3αt-4 + 0 .2αt-8,

где αt - гауссов со средним значением 0 и дисперсией 0,5.

Beta = [-2; 1.5];
Intercept = 2;
b1 = 0.4;
b4 = -0.3;
b8 = 0.2;
Variance = 0.5;
Mdl = regARIMA('MA',{b1, b4, b8},'MALags',[1 4 8],...
    'Intercept',Intercept,'Beta',Beta,'Variance',Variance);

Создайте два ряда предсказателей длины T = 100 путем случайного выбора из стандартного гауссова распределения.

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

Программное обеспечение рассматривает предикторы как нестохастические ряды.

Создание и печать одного образца пути ответов из Mdl.

rng(5);
ySim = simulate(Mdl,T,'X',X);

figure
plot(ySim)
title('{\bf Simulated Response Series}')

Figure contains an axes. The axes with title {\bf Simulated Response Series} contains an object of type line.

simulate требует Q = 8 presample innovations (αt) для инициализации ряда ошибок. Без них, как в данном случае, simulate устанавливает для необходимых предварительных инноваций значение 0.

В качестве альтернативы можно использовать filter фильтрация случайного инновационного ряда через Mdl.

rng(5);
e = randn(T,1);
yFilter = filter(Mdl,e,'X',X);

figure
plot(yFilter)
title('{\bf Simulated Response Series Using Filtered Innovations}')

Figure contains an axes. The axes with title {\bf Simulated Response Series Using Filtered Innovations} contains an object of type line.

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

Смоделировать 1000 путей ответа из Mdl. Оценить переходные эффекты путем построения графика безусловного нарушения (U) отклонения по моделируемым путям в каждом периоде.

numPaths = 1000;
[Y,~,U] = simulate(Mdl,T,'NumPaths',numPaths,'X',X);

figure
h1 = plot(Y,'Color',[.85,.85,.85]);
title('{\bf 1000 Simulated Response Paths}')
hold on
h2 = plot(1:T,Intercept+X*Beta,'k--','LineWidth',2);
legend([h1(1),h2],'Simulated Path','Mean')
hold off

Figure contains an axes. The axes with title {\bf 1000 Simulated Response Paths} contains 1001 objects of type line. These objects represent Simulated Path, Mean.

figure
h1 = plot(var(U,0,2),'r','LineWidth',2);
hold on
theoVarFix = (1+b1^2+b4^2+b8^2)*Variance;
h2 = plot([1 T],[theoVarFix theoVarFix],'k--','LineWidth',2);
title('{\bf Unconditional Disturbance Variance}')
legend([h1,h2],'Simulation Variance','Theoretical Variance')
hold off

Figure contains an axes. The axes with title {\bf Unconditional Disturbance Variance} contains 2 objects of type line. These objects represent Simulation Variance, Theoretical Variance.

Моделируемые пути следуют своему теоретическому среднему значению c + Xβ, которое не является постоянным с течением времени (и может выглядеть нестационарным ).

Дисперсия процесса не является постоянной, а выравнивается при теоретической дисперсии к 15-му периоду. Теоретическая дисперсия модели ошибок MA (8)

(1+b12+b42+b82) σε2 = (1+0.42 + (-0.3) 2+0.22) 0.5=0.645.

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

burnIn = 1:15;
notBurnIn = burnIn(end)+1:T;
Y = Y(notBurnIn,:);
X = X(notBurnIn,:);
U = U(notBurnIn,:);
figure
h1 = plot(notBurnIn,Y,'Color',[.85,.85,.85]);
hold on
h2 = plot(notBurnIn,Intercept+X*Beta,'k--','LineWidth',2);
title('{\bf 1000 Simulated Response Paths for Analysis}')
legend([h1(1),h2],'Simulated Path','Mean')
axis tight
hold off

Figure contains an axes. The axes with title {\bf 1000 Simulated Response Paths for Analysis} contains 1001 objects of type line. These objects represent Simulated Path, Mean.

figure
h1 = plot(notBurnIn,var(U,0,2),'r','LineWidth',2);
hold on
h2 = plot([notBurnIn(1) notBurnIn(end)],...
    [theoVarFix theoVarFix],'k--','LineWidth',2);
title('{\bf Converged Unconditional Disturbance Variance}')
legend([h1,h2],'Simulation Variance','Theoretical Variance')
axis tight
hold off

Figure contains an axes. The axes with title {\bf Converged Unconditional Disturbance Variance} contains 2 objects of type line. These objects represent Simulation Variance, Theoretical Variance.

Отклонения моделирования безусловных возмущений колеблются вокруг теоретической дисперсии из-за ошибки выборки Монте-Карло. Имейте в виду, что исключение образца при сгорании из анализа снижает эффективный размер выборки.

Моделирование модели ошибок ARMA

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

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

yt = 2 + Xt [-21.5] + utut = 0 .9ut-1-0.1ut-2 + αt + 0 .5αt-1,

где αt распределяется с 15 степенями свободы и дисперсией 1.

Beta = [-2; 1.5];
Intercept = 2;
a1 = 0.9;
a2 = -0.1;
b1 = 0.5;
Variance = 1;
Distribution = struct('Name','t','DoF',15);
Mdl = regARIMA('AR',{a1, a2},'MA',b1,...
    'Distribution',Distribution,'Intercept',Intercept,...
    'Beta',Beta,'Variance',Variance);

Создайте два ряда предсказателей длины T = 50 путем случайного выбора из стандартного гауссова распределения.

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

Программное обеспечение рассматривает предикторы как нестохастические ряды.

Создание и печать одного образца пути ответов из Mdl.

rng(7);
ySim = simulate(Mdl,T,'X',X);

figure
plot(ySim)
title('{\bf Simulated Response Series}')

Figure contains an axes. The axes with title {\bf Simulated Response Series} contains an object of type line.

simulate требует:

  • P = 2 предварительный пример безусловных возмущений для инициализации авторегрессивной составляющей серии ошибок.

  • Q = 1 предварительный пример нововведений для инициализации компонента скользящего среднего в серии ошибок.

Без них, как в данном случае, simulate устанавливает для необходимых ошибок предварительного отбора значение 0.

В качестве альтернативы можно использовать filter фильтрация случайного инновационного ряда через Mdl.

rng(7);
e = randn(T,1);
yFilter = filter(Mdl,e,'X',X);

figure
plot(yFilter)
title('{\bf Simulated Response Series Using Filtered Innovations}')

Figure contains an axes. The axes with title {\bf Simulated Response Series Using Filtered Innovations} contains an object of type line.

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

Смоделировать 1000 путей ответа из Mdl. Оценить переходные эффекты путем построения графика безусловного нарушения (U) отклонения по моделируемым путям в каждом периоде.

numPaths = 1000;
[Y,~,U] = simulate(Mdl,T,'NumPaths',numPaths,'X',X);

figure
h1 = plot(Y,'Color',[.85,.85,.85]);
title('{\bf 1000 Simulated Response Paths}')
hold on
h2 = plot(1:T,Intercept+X*Beta,'k--','LineWidth',2);
legend([h1(1),h2],'Simulated Path','Mean')
hold off

Figure contains an axes. The axes with title {\bf 1000 Simulated Response Paths} contains 1001 objects of type line. These objects represent Simulated Path, Mean.

figure
h1 = plot(var(U,0,2),'r','LineWidth',2);
hold on
theoVarFix = Variance*(a1*b1*(1+a2)+(1-a2)*(1+a1*b1+b1^2))/...
    ((1+a2)*((1-a2)^2-a1^2));
h2 = plot([1 T],[theoVarFix theoVarFix],'k--','LineWidth',2);
title('{\bf Unconditional Disturbance Variance}')
legend([h1,h2],'Simulation Variance','Theoretical Variance',...
    'Location','Best')
hold off

Figure contains an axes. The axes with title {\bf Unconditional Disturbance Variance} contains 2 objects of type line. These objects represent Simulation Variance, Theoretical Variance.

Моделируемые пути следуют своему теоретическому среднему значению c + Xβ, которое не является постоянным с течением времени (и может выглядеть нестационарным ).

Дисперсия процесса не является постоянной, а выравнивается при теоретической дисперсии к 10-му периоду. Теоретическая дисперсия модели ошибок ARMA (2,1) составляет :

α2 [a1b1 (1 + а2) + (1-а2) (1 + а1б1 + b12)] (1 + а2) 2 [(1-а2) 2-а12] = [0,9 (0,5) (1-0,1) + (1 + 0,1) (1 + 0,9 (0,5) + 0,52)] (1-0,1) 2 [(1 + 0,1) 2-0,92

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

burnIn = 1:10;
notBurnIn = burnIn(end)+1:T;
Y = Y(notBurnIn,:);
X = X(notBurnIn,:);
U = U(notBurnIn,:);
figure
h1 = plot(notBurnIn,Y,'Color',[.85,.85,.85]);
hold on
h2 = plot(notBurnIn,Intercept+X*Beta,'k--','LineWidth',2);
title('{\bf 1000 Simulated Response Paths for Analysis}')
legend([h1(1),h2],'Simulated Path','Mean')
axis tight
hold off

Figure contains an axes. The axes with title {\bf 1000 Simulated Response Paths for Analysis} contains 1001 objects of type line. These objects represent Simulated Path, Mean.

figure
h1 = plot(notBurnIn,var(U,0,2),'r','LineWidth',2);
hold on
h2 = plot([notBurnIn(1) notBurnIn(end)],...
    [theoVarFix theoVarFix],'k--','LineWidth',2);
title('{\bf Converged Unconditional Disturbance Variance}')
legend([h1,h2],'Simulation Variance','Theoretical Variance')
axis tight
hold off

Figure contains an axes. The axes with title {\bf Converged Unconditional Disturbance Variance} contains 2 objects of type line. These objects represent Simulation Variance, Theoretical Variance.

Отклонения моделирования безусловных возмущений колеблются вокруг теоретической дисперсии из-за ошибки выборки Монте-Карло. Имейте в виду, что исключение образца при сгорании из анализа снижает эффективный размер выборки.