В этом примере показано, как моделировать пути выборки из стационарного процесса AR (2) без указания предварительных наблюдений .
Создать модель
Укажите модель AR (2)
25yt-2 + αt,
где инновационный процесс гауссов с дисперсией 0,1.
Mdl = arima('Constant',0.5,'AR',{0.7 0.25},'Variance',.1);
Создать один путь образца
Создайте один путь образца (с 50 наблюдениями) из указанной модели и выполните печать.
rng(5)
Y = simulate(Mdl,50);
figure
plot(Y)
xlim([0,50])
title('Simulated AR(2) Process')
Поскольку данные предварительной выборки не указаны, simulate устанавливает два требуемых предварительных наблюдения равными безусловному среднему значению процесса
1-δ 1-δ 2).
Безусловное отклонение процесса:
Вычислите безусловное среднее и отклонение процесса.
c = Mdl.Constant;
phi = Mdl.AR;
sigmaEps2 = Mdl.Variance;
mu = c/(1-phi{1}-phi{2})mu = 10.0000
sigma2 = (1-phi{2})/(1+phi{2})*sigmaEps2/((1-phi{2})^2 - phi{1}^2)sigma2 = 0.8276
Создать множество путей образцов
Создайте 1000 путей выборки, каждый с 50 наблюдениями.
Y = simulate(Mdl,50,'NumPaths',1000); figure subplot(2,1,1) plot(Y,'Color',[.85,.85,.85]) title('Simulated AR(2) Process') hold on h = plot(mean(Y,2),'k','LineWidth',2); legend(h,'Simulation Mean','Location','NorthWest') hold off subplot(2,1,2) plot(var(Y,0,2),'r','LineWidth',2) title('Process Variance') hold on plot(1:50,sigma2*ones(50,1),'k--','LineWidth',1.5) legend('Simulation','Theoretical',... 'Location','SouthEast') hold off

Среднее значение моделирования является постоянным с течением времени. Это согласуется с определением стационарного процесса. Однако дисперсия процесса не является постоянной с течением времени. В начале моделирования наблюдаются переходные эффекты из-за отсутствия данных предварительной выборки.
Вокруг наблюдения 50 моделируемая дисперсия приближается к теоретической дисперсии.
Избыточная выборка для уменьшения переходных эффектов
Для уменьшения переходных эффектов одним из вариантов является избыточная выборка процесса. Например, для выборки 50 наблюдений можно создать пути с более чем 50 наблюдениями и отменить все, кроме последних 50 наблюдений, как входящие. Здесь смоделируют пути длиной 150 и отбрасывают первые 100 наблюдений.
Y = simulate(Mdl,150,'NumPaths',1000); Y = Y(101:end,:); figure subplot(2,1,1) plot(Y,'Color',[.85,.85,.85]) title('Simulated AR(2) Process') hold on h = plot(mean(Y,2),'k','LineWidth',2); legend(h,'Simulation Mean','Location','NorthWest') hold off subplot(2,1,2) plot(var(Y,0,2),'r','LineWidth',2) xlim([0,50]) title('Process Variance') hold on plot(1:50,sigma2*ones(50,1),'k--','LineWidth',1.5) legend('Simulation','Theoretical',... 'Location','SouthEast') hold off

Теперь реализации выглядят как черпания из стационарного стохастического процесса. Дисперсия моделирования колеблется (из-за ошибки Монте-Карло) вокруг теоретической дисперсии.
В этом примере показано, как моделировать пути выборки из стационарного процесса MA (12) без указания предварительных наблюдений .
Создать модель
Укажите модель MA (12)
0 .2αt-12,
где инновационное распределение является гауссовым с дисперсией 0,2.
Mdl = arima('Constant',0.5,'MA',{0.8,0.2},... 'MALags',[1,12],'Variance',0.2);
Создать пути образцов
Создайте 200 путей выборки, каждый с 60 наблюдениями.
rng(5) Y = simulate(Mdl,60,'NumPaths',200); figure plot(Y,'Color',[.85,.85,.85]) hold on h = plot(mean(Y,2),'k','LineWidth',2); legend(h,'Simulation Mean','Location','NorthWest') title('MA(12) Process') hold off

Для процесса МА постоянный член является безусловным средним. Среднее значение для моделирования составляет приблизительно = 0,5.
Отклонение моделирования графика
Безусловное отклонение процесса:
Вычислите безусловную дисперсию.
theta = cell2mat(Mdl.MA); sigmaEps2 = Mdl.Variance; sigma2 = (1+sum(theta.^2))*sigmaEps2
sigma2 = 0.3360
Поскольку модель является стационарной, безусловная дисперсия должна быть постоянной во все времена. Постройте график дисперсии моделирования и сравните его с теоретической дисперсией.
figure plot(var(Y,0,2),'Color',[.75,.75,.75],'LineWidth',1.5) xlim([0,60]) title('Unconditional Variance') hold on plot(1:60,sigma2*ones(60,1),'k--','LineWidth',2) legend('Simulation','Theoretical',... 'Location','SouthEast') hold off

В начале моделирования, по-видимому, имеется короткий период горения. В течение этого времени отклонение моделирования ниже ожидаемого. После этого дисперсия моделирования колеблется вокруг теоретической дисперсии.
Создать множество путей образцов
Смоделировать 10 000 путей от модели, каждый длиной 1000. Постройте график отклонения моделирования.
YM = simulate(Mdl,1000,'NumPaths',10000); figure plot(var(YM,0,2),'Color',[.75,.75,.75],'LineWidth',1.5) ylim([0.3,0.36]) title('Unconditional Variance') hold on plot(1:1000,sigma2*ones(1000,1),'k--','LineWidth',2) legend('Simulation','Theoretical',... 'Location','SouthEast') hold off

Ошибка Монте-Карло уменьшается, когда генерируется больше реализаций. Вариативность дисперсии моделирования значительно меньше, что сильно колеблется вокруг теоретической дисперсии.