В этом примере показано, как симулировать стационарные трендом и стационарные различием процессы. Результаты симуляции иллюстрируют различие между этими двумя неустановившимися моделями процессов.
Задайте стационарный трендом процесс
где инновационный процесс является Гауссовым с отклонением 8. После определения модели симулируйте 50 демонстрационных путей длины 200. Используйте 100 симуляций выжигания дефектов.
t = [1:200]'; trend = 0.5*t; MdlTS = arima('Constant',0,'MA',{1.4,0.8},'Variance',8); rng('default') u = simulate(MdlTS,300,'NumPaths',50); Yt = repmat(trend,1,50) + u(101:300,:); figure plot(Yt,'Color',[.85,.85,.85]) hold on h1 = plot(t,trend,'r','LineWidth',5); xlim([0,200]) title('Trend-Stationary Process') h2 = plot(mean(Yt,2),'k--','LineWidth',2); legend([h1,h2],'Trend','Simulation Mean',... 'Location','NorthWest') hold off
Демонстрационные пути колеблются вокруг теоретической линии тренда с постоянным отклонением. Среднее значение симуляции близко к истинной линии тренда.
Задайте стационарную различием модель
где инновационное распределение является Гауссовым с отклонением 8. После определения модели симулируйте 50 демонстрационных путей длины 200. Никакое выжигание дефектов не необходимо, потому что все демонстрационные пути должны начаться в нуле. Это - simulate
начальная точка по умолчанию для неустановившихся процессов без преддемонстрационных данных.
MdlDS = arima('Constant',0.5,'D',1,'MA',{1.4,0.8},... 'Variance',8); Yd = simulate(MdlDS,200,'NumPaths',50); figure plot(Yd,'Color',[.85,.85,.85]) hold on h1=plot(t,trend,'r','LineWidth',5); xlim([0,200]) title('Difference-Stationary Process') h2=plot(mean(Yd,2),'k--','LineWidth',2); legend([h1,h2],'Trend','Simulation Mean',... 'Location','NorthWest') hold off
Среднее значение симуляции близко к линии тренда с наклоном 0.5. Отклонение демонстрационных путей растет в зависимости от времени.
Стационарный различием процесс является стационарным когда differenced соответственно. Возьмите первые различия демонстрационных путей от стационарного различием процесса и постройте differenced ряд. Одно наблюдение потеряно в результате дифференцирования.
diffY = diff(Yd,1,1); figure plot(2:200,diffY,'Color',[.85,.85,.85]) xlim([0,200]) title('Differenced Series') hold on h = plot(2:200,mean(diffY,2),'k--','LineWidth',2); legend(h,'Simulation Mean','Location','NorthWest') hold off
differenced ряд кажется стационарным со средним значением симуляции колебаться вокруг нуля.