прогноз

Класс: arima

Предскажите ответы модели ARIMA или ARIMAX или условные отклонения

Синтаксис

[Y,YMSE] = forecast(Mdl,numperiods,Y0)
[Y,YMSE] = forecast(Mdl,numperiods,Y0,Name,Value)
[Y,YMSE,V] = forecast(___)

Описание

[Y,YMSE] = forecast(Mdl,numperiods,Y0) возвращает numperiods последовательные предсказанные ответы Y и соответствующие среднеквадратичные погрешности YMSE полностью заданной, одномерной модели ARIMA или ARIMAX Mdl. Преддемонстрационные данные об ответе Y0 инициализируют модель, чтобы сгенерировать прогнозы.

[Y,YMSE] = forecast(Mdl,numperiods,Y0,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, для модели с компонентом регрессии, 'X0',X0,'XF',XF задает преддемонстрационные и предсказанные данные о предикторе X0 и XF, соответственно.

[Y,YMSE,V] = forecast(___) также условный V отклонений numperiods прогнозов составного условного среднего значения и модели отклонения (например, ARIMA и GARCH составляют модель), использующий любую из комбинаций входных аргументов в предыдущих синтаксисах.

Входные параметры

развернуть все

Полностью заданная модель ARIMA или ARIMAX, заданная как модель arima, возвращенная arima или estimate.

Свойства Mdl не могут содержать NaN s.

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

Типы данных: double

Преддемонстрационные данные об ответе раньше инициализировали модель для прогнозирования, заданный как числовой вектор-столбец с длиной numpreobs или numpreobs-by-numpaths числовая матрица.

Строки Y0 соответствуют периодам в предварительной выборке, и последняя строка содержит последний преддемонстрационный ответ. numpreobs является количеством заданных преддемонстрационных ответов, и это должен быть, по крайней мере, Mdl.P. Если numpreobs превышает Mdl.P, forecast использует только последние строки Mdl.P. Для получения дополнительной информации смотрите Базовые Разделы Времени для Прогнозирования.

Столбцы Y0 соответствуют отдельным, независимым контурам.

  • Если Y0 является вектор-столбцом, forecast применяет его к каждому предсказанному пути. В этом случае все пути к прогнозу Y выводят от тех же начальных условий.

  • Если Y0 является матрицей, он должен иметь столбцы numpaths, где numpaths является максимумом среди вторых измерений заданных преддемонстрационных массивов наблюдения Y0, E0 и V0.

Типы данных: double

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Преддемонстрационные инновации раньше инициализировали компонент скользящего среднего значения (MA) образцовой или условной модели отклонения, заданной как пара, разделенная запятой, состоящая из 'E0' и числового вектор-столбца или числовой матрицы со столбцами numpaths. forecast принимает, что преддемонстрационные инновации имеют среднее значение 0.

Строки E0 соответствуют периодам в предварительной выборке, и последняя строка содержит последние преддемонстрационные инновации. E0 должен иметь, по крайней мере, строки Mdl.Q, чтобы инициализировать компонент MA. Если Mdl.Variance является условной моделью отклонения (например, garch), E0 может потребовать больше, чем строки Mdl.Q. Если количество строк превышает минимальный номер, требуемый предсказывать Mdl, forecast использует только последние необходимые строки.

Столбцы E0 соответствуют отдельным, независимым контурам.

  • Если E0 является вектор-столбцом, forecast применяет его к каждому предсказанному пути. В этом случае компонент MA и условная модель отклонения всех путей к прогнозу Y выводят от тех же начальных инноваций.

  • Если E0 является матрицей, он должен иметь столбцы numpaths.

  • По умолчанию, если numpreobsMdl.P + Mdl.Q, forecast выводит какие-либо необходимые преддемонстрационные инновации путем передачи модели Mdl и преддемонстрационных данных к infer. Для получения дополнительной информации на этом значении по умолчанию для моделей, содержащих компонент регрессии, смотрите X0 и XF.

  • По умолчанию, если numpreobs <Mdl.P + Mdl.Q, forecast устанавливает все необходимые преддемонстрационные инновации на 0.

Типы данных: double

Преддемонстрационные условные отклонения раньше инициализировали условную модель отклонения, заданную как пара, разделенная запятой, состоящая из 'V0' и положительного числового вектор-столбца или положительной числовой матрицы со столбцами numpaths. Если образцовое отклонение, Mdl.Variance является постоянным, forecast, игнорирует V0.

Строки V0 соответствуют периодам в предварительной выборке, и последняя строка содержит последнее преддемонстрационное условное отклонение. Если Mdl.Variance является условной моделью отклонения (например, объект модели garch), E0 может потребовать, чтобы больше, чем строки Mdl.Q инициализировали Mdl для прогнозирования. Если количество строк превышает минимальный номер, требуемый предсказывать, функция forecast использует только последние необходимые преддемонстрационные условные отклонения.

Столбцы V0 соответствуют отдельным, независимым контурам.

  • Если V0 является вектор-столбцом, forecast применяет его к каждому предсказанному пути. В этом случае условная модель отклонения всех путей к прогнозу Y выводит от тех же начальных условных отклонений.

  • Если V0 является матрицей, он должен иметь столбцы numpaths.

  • По умолчанию, если вы задаете достаточно преддемонстрационных инноваций E0, чтобы инициализировать условную модель отклонения, forecast выводит любые необходимые преддемонстрационные условные отклонения путем передачи условной модели Mdl.Variance и E0 отклонения infer.

  • По умолчанию, если вы не задаете E0, но вы задаете достаточно преддемонстрационных ответов Y0, чтобы вывести достаточно преддемонстрационных инноваций, затем forecast выводит любые необходимые преддемонстрационные условные отклонения из выведенных преддемонстрационных инноваций.

  • По умолчанию, если вы не задаете достаточно преддемонстрационных данных, forecast устанавливает все необходимые преддемонстрационные условные отклонения на безусловное отклонение процесса отклонения.

Типы данных: double

Преддемонстрационные данные о предикторе раньше выводили преддемонстрационные инновации E0, заданный как пара, разделенная запятой, состоящая из 'X0' и числовой матрицы со столбцами numpreds.

Строки X0 соответствуют периодам в предварительной выборке, и последняя строка содержит последний набор преддемонстрационных наблюдений предиктора.

  • Если вы не задаете E0, X0 должен иметь, по крайней мере, numpreobs – строки Mdl.P так, чтобы forecast мог вывести преддемонстрационные инновации. Если количество строк превышает минимальный номер, требуемый вывести преддемонстрационные инновации, forecast использует только последние необходимые преддемонстрационные наблюдения предиктора. Лучшая практика состоит в том, чтобы установить X0 на ту же матрицу данных предиктора, используемую по оценке, симуляции или выводу Mdl. Эта установка гарантирует правильную оценку преддемонстрационных инноваций E0.

  • Если вы задаете E0, то forecast игнорирует X0.

Столбцы X0 представляют отдельные переменные временных рядов, и они соответствуют столбцам XF.

Если вы задаете X0, но вы не задаете предсказанные данные о предикторе XF, то forecast выдает ошибку.

По умолчанию forecast исключает компонент регрессии из модели, когда это выводит преддемонстрационные инновации, независимо от значения коэффициента регрессии Mdl.Beta.

Типы данных: double

Предсказанные или будущие данные о предикторе, заданные как пара, разделенная запятой, состоящая из 'XF' и числовой матрицы со столбцами numpreds. XF представляет эволюцию заданных преддемонстрационных данных о предикторе X0, предсказанный в будущее (период прогноза).

Строки XF соответствуют моментам времени в будущем; XF(t,:) содержит t - прогнозы предиктора периода вперед. XF должен иметь, по крайней мере, строки numperiods. Если количество строк превышает numperiods, forecast использует только первые прогнозы numperiods. Для получения дополнительной информации смотрите Базовые Разделы Времени для Прогнозирования.

Столбцы XF являются отдельными переменными временных рядов, и они соответствуют столбцам X0.

По умолчанию forecast генерирует прогнозы от Mdl без компонента регрессии, независимо от значения коэффициента регрессии Mdl.Beta.

Примечания

forecast принимает, что вы синхронизируете все заданные преддемонстрационные наборы данных, таким образом, что последнее наблюдение за каждым преддемонстрационным рядом происходит одновременно. Точно так же forecast принимает, что первое наблюдение в предсказанных данных о предикторе XF происходит в следующем моменте времени после последнего наблюдения в преддемонстрационных данных о предикторе X0.

Выходные аргументы

развернуть все

Прогнозы минимальной среднеквадратичной погрешности (MMSE) условного среднего значения данных об ответе, возвращенных как numperiods-by-numpaths числовая матрица. Y представляет продолжение Y0 (Y(1,:) происходит в следующем моменте времени после Y0(end,:)).

Y(t,:) содержит условный средний прогноз всех путей для момента времени t в период прогноза (t - прогнозы периода вперед).

forecast определяет numpaths от количества столбцов в преддемонстрационных наборах данных Y0, E0 и V0. Для получения дополнительной информации см. Алгоритмы. Если каждый преддемонстрационный набор данных имеет один столбец, то Y является вектор-столбцом.

Типы данных: double

Среднеквадратичные погрешности (MSEs) предсказанных ответов Y (или отклонения ошибки прогноза), возвращенный как numperiods-by-numpaths числовая матрица.

YMSE(t,:) содержит отклонения ошибки прогноза всех путей для момента времени t в период прогноза.

forecast определяет numpaths от количества столбцов в преддемонстрационных наборах данных Y0, E0 и V0. Для получения дополнительной информации см. Алгоритмы. Если вы не задаете преддемонстрационных наборов данных, или каждый набор данных является вектор-столбцом, то YMSE является вектор-столбцом.

Квадратные корни из YMSE являются стандартными погрешностями прогнозов Y.

Типы данных: double

Прогнозы минимальной среднеквадратичной погрешности (MMSE) условных отклонений будущих образцовых инноваций, возвращенных как numperiods-by-numpaths числовая матрица. V имеет строки numPeriods и столбцы numPaths.

forecast определяет номер столбцов V (numPaths) к наибольшему числу столбцов в преддемонстрационных массивах Y0, E0 и V0. Если вы не задаете Y0, E0 и V0, то V является вектор-столбцом numPeriods.

Во всех случаях строка i содержит условные прогнозы отклонения для i th период.

Типы данных: double

Примеры

развернуть все

Предскажите условный средний ответ моделируемых данных по горизонту с 30 периодами.

Моделируйте 130 наблюдений из мультипликативной сезонной модели MA с известными значениями параметров.

Mdl = arima('MA',{0.5,-0.3},'SMA',0.4,'SMALags',12,...
		'Constant',0.04,'Variance',0.2);
rng(200);
Y = simulate(Mdl,130);

Соответствуйте сезонной модели MA к первым 100 наблюдениям и зарезервируйте остающиеся 30 наблюдений, чтобы оценить производительность прогноза.

MdlTemplate = arima('MALags',1:2,'SMALags',12);
EstMdl = estimate(MdlTemplate,Y(1:100));
 
    ARIMA(0,0,2) Model with Seasonal MA(12) (Gaussian Distribution):
 
                 Value      StandardError    TStatistic      PValue  
                ________    _____________    __________    __________

    Constant     0.20403      0.069064         2.9542       0.0031344
    MA{1}        0.50212      0.097298         5.1606      2.4619e-07
    MA{2}       -0.20174       0.10447        -1.9312        0.053464
    SMA{12}      0.27028       0.10907          2.478        0.013211
    Variance     0.18681      0.032732         5.7073       1.148e-08

EstMdl является новой моделью arima, которая содержит предполагаемые параметры (то есть, полностью заданная модель).

Предскажите подобранную модель в горизонт с 30 периодами. Задайте данные о периоде оценки как предварительную выборку.

[YF,YMSE] = forecast(EstMdl,30,Y(1:100));

YF(15)
ans = 0.2040
YMSE(15)
ans = 0.2592

YF и YMSE являются 30 1 векторами предсказанных ответов и соответствующего MSEs, соответственно. 15 периодов вперед предсказали, 0.2040, и его MSE 0.2592.

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

figure
h1 = plot(Y,'Color',[.7,.7,.7]);
hold on
h2 = plot(101:130,YF,'b','LineWidth',2);
h3 = plot(101:130,YF + 1.96*sqrt(YMSE),'r:',...
		'LineWidth',2);
plot(101:130,YF - 1.96*sqrt(YMSE),'r:','LineWidth',2);
legend([h1 h2 h3],'Observed','Forecast',...
		'95% Confidence Interval','Location','NorthWest');
title(['30-Period Forecasts and Approximate 95% '...
			'Confidence Intervals'])
hold off

Предскажите ежедневный Сводный индекс NASDAQ по 500-дневному горизонту.

Загрузите данные NASDAQ, включенные с тулбоксом, и извлеките первые 1 500 наблюдений.

load Data_EquityIdx
nasdaq = DataTable.NASDAQ(1:1500);

Соответствуйте модели ARIMA (1,1,1) к данным.

nasdaqModel = arima(1,1,1);
nasdaqFit = estimate(nasdaqModel,nasdaq);
 
    ARIMA(1,1,1) Model (Gaussian Distribution):
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant      0.43031       0.18555         2.3191        0.020392
    AR{1}       -0.074393      0.081985        -0.9074         0.36419
    MA{1}         0.31126      0.077266         4.0284      5.6151e-05
    Variance       27.826       0.63625         43.735               0

Предскажите Сводный индекс в течение 500 дней с помощью подобранной модели. Используйте наблюдаемые данные в качестве преддемонстрационных данных.

[Y,YMSE] = forecast(nasdaqFit,500,nasdaq);

Постройте прогнозы и 95%-е интервалы прогноза.

lower = Y - 1.96*sqrt(YMSE);
upper = Y + 1.96*sqrt(YMSE);

figure
plot(nasdaq,'Color',[.7,.7,.7]);
hold on
h1 = plot(1501:2000,lower,'r:','LineWidth',2);
plot(1501:2000,upper,'r:','LineWidth',2)
h2 = plot(1501:2000,Y,'k','LineWidth',2);
legend([h1 h2],'95% Interval','Forecast',...
	     'Location','NorthWest')
title('NASDAQ Composite Index Forecast')
hold off

Процесс является неустановившимся, таким образом, ширины интервалов прогноза растут со временем.

Предскажите следующую известную модель ARX (1) в горизонт прогноза с 10 периодами:

yt=1+0.3yt-1+2xt+εt,

где εt стандартная Гауссова случайная переменная, и xt внешняя Гауссова случайная переменная со средним значением 1 и стандартным отклонением 0,5.

Создайте объект модели arima, который представляет модель ARX (1).

Mdl = arima('Constant',1,'AR',0.3,'Beta',2,'Variance',1);

Чтобы предсказать ответы из модели ARX (1), forecast требует:

  • Один преддемонстрационный ответ y0 инициализировать авторегрессивный термин

  • Будущие внешние данные, чтобы включать эффекты внешней переменной на предсказанных ответах

Установите преддемонстрационный ответ на безусловное среднее значение стационарного процесса:

E(yt)=1+2(1)1-0.3.

Для будущих внешних данных чертите 10 значений от распределения внешней переменной.

rng(1);
y0 = (1 + 2)/(1 - 0.3);
xf = 1 + 0.5*randn(10,1);

Предскажите модель ARX (1) в горизонт прогноза с 10 периодами. Задайте преддемонстрационный ответ и будущие внешние данные.

fh = 10;
yf = forecast(Mdl,fh,y0,'XF',xf)
yf = 10×1

    3.6367
    5.2722
    3.8232
    3.0373
    3.0657
    3.3470
    3.4454
    4.2120
    4.0667
    4.8065

yf(3) = 3.8232 является 3 периодами вперед прогноз модели ARX (1).

Предскажите пути ко множественному ответу от известного SAR(1,0,0)(1,1,0)4 модель путем определения нескольких преддемонстрационных путей к ответу.

Создайте объект модели arima, который представляет этот ежеквартальный SAR(1,0,0)(1,1,0)4 модель:

(1-0.5L)(1-0.2L4)(1-L4)yt=1+εt,

где εt стандартная Гауссова случайная переменная.

Mdl = arima('Constant',1,'AR',0.5,'Variance',1,...
    'Seasonality',4,'SARLags',4,'SAR',0.2)
Mdl = 
  arima with properties:

     Description: "ARIMA(1,0,0) Model Seasonally Integrated with Seasonal AR(4) (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 9
               D: 0
               Q: 0
        Constant: 1
              AR: {0.5} at lag [1]
             SAR: {0.2} at lag [4]
              MA: {}
             SMA: {}
     Seasonality: 4
            Beta: [1×0]
        Variance: 1

Поскольку Mdl содержит авторегрессивные динамические условия, forecast требует, чтобы предыдущие ответы Mdl.P сгенерировали a t- период вперед предсказан из модели. Поэтому предварительная выборка должна содержать девять значений.

Сгенерируйте случайное 9 10 матрица, представляющая 10 преддемонстрационных путей длины 9.

rng(1);
numpaths = 10;
Y0 = rand(Mdl.P,numpaths);

Предскажите 10 путей из модели SAR в 12 горизонтов прогноза четверти. Задайте преддемонстрационные пути к наблюдению Y0.

fh = 12;
YF = forecast(Mdl,fh,Y0);

YF 12 10 матрица независимых предсказанных путей. YF(j,k) является j - прогноз периода вперед пути k. Путь YF(:,k) представляет продолжение преддемонстрационного пути Y0(:,k).

Постройте предварительную выборку и прогнозы.

Y = [Y0;...
     YF];

figure;
plot(Y);
hold on
h = gca;
px = [6.5 h.XLim([2 2]) 6.5];
py = h.YLim([1 1 2 2]);
hp = patch(px,py,[0.9 0.9 0.9]);
uistack(hp,"bottom");
axis tight
legend("Forecast period")
xlabel('Time (quarters)')
ylabel('Response paths')

Больше о

развернуть все

Алгоритмы

  • forecast определяет номер демонстрационных путей, чтобы предсказать numpaths к максимальному количеству столбцов среди преддемонстрационных наборов данных E0, V0 и Y0. Все преддемонстрационные наборы данных должны иметь любой numpaths> 1 столбец или один столбец. В противном случае forecast выдает ошибку. Например, если Y0 имеет пять столбцов, представляя пять путей, то E0 и V0 могут или иметь пять столбцов или один столбец. Если E0 имеет один столбец, то forecast применяет E0 к каждому пути.

  • Значения NaN в преддемонстрационных и будущих наборах данных указывают на недостающие данные. forecast удаляет недостающие данные из преддемонстрационных наборов данных, выполняющих эту процедуру:

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

    2. forecast применяет мудрое списком удаление к объединенной преддемонстрационной матрице путем удаления всех строк, содержащих по крайней мере один NaN.

    3. forecast извлекает обработанные преддемонстрационные наборы данных от результата шага 2 и удаляет все предзаполненные нули.

    forecast применяет подобную процедуру к предсказанным данным о предикторе XF. После того, как forecast применяет мудрое списком удаление к XF, результат должен иметь, по крайней мере, строки numperiods. В противном случае forecast выдает ошибку.

    Мудрое списком удаление уменьшает объем выборки и может создать неправильные временные ряды.

  • Когда forecast оценивает, что YMSE MSEs условного среднего значения предсказывает Y, функция обрабатывает заданные наборы данных предиктора X0 и XF как внешние, нестохастические, и статистически независимые от образцовых инноваций. Поэтому YMSE отражает отклонение, сопоставленное с компонентом ARIMA одной только входной модели Mdl.

Вопросы совместимости

развернуть все

Ссылки

[1] Baillie, R. и Т. Боллерслев. “Прогноз в Динамических моделях с Зависящими от времени Условными Отклонениями”. Журнал Эконометрики. Издание 52, 1992, стр 91–113.

[2] Боллерслев, T. “Обобщенный Авторегрессивный Условный Heteroskedasticity”. Журнал Эконометрики. Издание 31, 1996, стр 307–327.

[3] Боллерслев, T. “Условно Модель Временных рядов Heteroskedastic за Спекулятивные Цены и Нормы прибыли”. Экономика Анализа и Статистика. Издание 69, 1987, стр 542–547.

[4] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ timeseries: Предсказывая и Управление 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

[5] Enders, W. Прикладные эконометрические временные ряды. Хобокен, NJ: John Wiley & Sons, 1995.

[6] Энгл, R. F. “Авторегрессивный Условный Heteroskedasticity с Оценками Отклонения Инфляции Соединенного Королевства”. Econometrica. Издание 50, 1982, стр 987–1007.

[7] Гамильтон, J. D. Анализ timeseries. Принстон, NJ: Издательство Принстонского университета, 1994.