Базовые разделы времени для оценки модели ARIMA

То, когда вы подбираете модель временных рядов к данным, отстало, члены в модели требуют инициализации, обычно с наблюдениями в начале выборки. Кроме того, чтобы измерить качество прогнозов из модели, необходимо протянуть данные в конце выборки от оценки. Поэтому прежде, чем анализировать данные, разделите основу времени на три последовательных, непересекающихся интервала:

Три раза базируются, разделы для одномерных авторегрессивных интегрированных моделей (ARIMA) скользящего среднего значения являются предварительной выборкой, оценкой и периодами прогноза.

  • Преддемонстрационный период — Содержит данные, используемые, чтобы инициализировать изолированные значения в модели. Авторегрессивная интегрированная модель ARIMA скользящего среднего значения (p, D, q) ⨉ (p s, D s, q s) модель s требует преддемонстрационного периода, содержащего, по крайней мере, p + D + p s + наблюдения s (см. свойство P arima объект модели). Например, если вы планируете подбирать модель ARIMA (4,1,1), условное ожидаемое значение Δyt, учитывая его историю, содержит Δyt – 1 = y t – 1y t – 2 через Δyt – 4 = y t – 4y t – 5. Условное ожидаемое значение Δy6 является функцией y 5 через y 1 и, поэтому, вклад вероятности Δy6 требует тех наблюдений. Кроме того, данные не существуют для вкладов вероятности Δy1 через Δy5. Поэтому оценка модели требует преддемонстрационного периода по крайней мере пяти моментов времени.

  • Период оценки — Содержит наблюдения, к которым модель является явным образом подходящей. Количеством наблюдений в выборке оценки является effective sample size. Для идентифицируемости параметра эффективный объем выборки должен быть, по крайней мере, количеством оцениваемых параметров.

  • Предскажите период — Дополнительный период, в который прогнозы сгенерированы, известны как forecast horizon. Этот раздел содержит данные о затяжке для валидации предсказуемости модели.

Предположим y, t является рядом ответа и X, t является 3-D внешним рядом. Рассмотрите подбор кривой SARIMAX (p, D, q) ⨉ (p s, D s, q s) модель s y t к данным об ответе в T-by-1 векторный y и внешние данные в T-by-3 матричный X. Кроме того, вы хотите, чтобы горизонт прогноза имел длину K (то есть, вы хотите протянуть наблюдения K в конце выборки, чтобы выдержать сравнение с прогнозами от подобранной модели).

Этот рисунок показывает базовые разделы времени для оценки модели. На рисунке, J = p + D + p s + s.

Time base partitions for model estimation

Этот рисунок показывает фрагменты массивов, которые соответствуют входным параметрам estimate функция arima модель.

Portions of the arrays that correspond to input arguments of estimate

  • Y необходимый вход для определения данных об ответе, к которым модель является подходящей.

  • 'Y0' дополнительный аргумент пары "имя-значение" для определения преддемонстрационных данных об ответе. Y0 должен иметь, по крайней мере, строки J. Инициализировать модель, estimate использование только последние наблюдения J Y0 ((конец – J + 1): конец,.

    estimate также принимает преддемонстрационные инновации и условные отклонения, когда вы задаете 'E0' и 'V0' аргументы в виде пар имя-значение. Эти ряды не включены в фигуры, но те же принципы расширяют им.

  • 'X' дополнительный аргумент пары "имя-значение" для определения внешних данных для компонента регрессии. По умолчанию, estimate исключает компонент регрессии из модели, независимо от значения коэффициента регрессии Beta в arima шаблон модели.

Для модели без внешнего компонента регрессии, если вы не задаете Y0, estimate обратные броски модель для необходимых преддемонстрационных наблюдений. estimate впоследствии подбирает модель к целым заданным данным об ответе Y. Несмотря на то, что estimate обратные броски для предварительной выборки по умолчанию, можно извлечь предварительную выборку из данных и задать его с помощью 'Y0' аргумент пары "имя-значение", чтобы гарантировать это estimate инициализирует и подбирает модель к вашим техническим требованиям.

Если вы задаете 'X', следующие условия применяются:

  • estimate синхронизирует X и y относительно последнего наблюдения в массивах (TK на предыдущем рисунке), и применяет только необходимое количество наблюдений к компоненту регрессии. Это действие подразумевает тот X может иметь больше строк, чем Y.

  • Если вы не задаете 'Y0', необходимо предоставить, по крайней мере, J больше внешних наблюдений, чем ответы. estimate использует дополнительные преддемонстрационные внешние данные для обратного броска модель для преддемонстрационных ответов.

  • Если вы задаете 'Y0', estimate использование только последние внешние наблюдения, требуемые подбирать модель (наблюдения J + 1 через TK на предыдущем рисунке). estimate игнорирует преддемонстрационные внешние данные.

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

Данные временных рядов раздела для оценки

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

Загрузите и предварительно обработайте данные

Загрузите данные.

load Data_Airline

Переменная DataTable расписание, содержащее временные ряды PSSG.

Постройте временные ряды.

plot(DataTable.Time,DataTable.PSSG)
xlabel('Time (months)')
ylabel('Passenger Counts')

Ряд показывает сезонность и экспоненциальный тренд.

Определите, имеют ли данные какие-либо отсутствующие значения.

anymissing = sum(ismissing(DataTable))
anymissing = 0

Никакие недостающие наблюдения не присутствуют.

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

StblTT = varfun(@log,DataTable);

Основа времени раздела

Рассмотрите SARIMA(0,1,1)×(0,1,1)12 модель для журнала ежемесячного пассажира рассчитывает от 1 949 до 1960. Модель требует p+D+ps+s=0+1+0+12=13 преддемонстрационные ответы. arima шаблон модели для оценки хранит необходимое количество преддемонстрационных ответов в свойстве P.

Создайте SARIMA(0,1,1)×(0,1,1)12 шаблон модели для оценки. Укажите, что константой модели является 0. Проверьте необходимое количество преддемонстрационных наблюдений путем отображения значения P использование записи через точку.

Mdl = arima('Constant',0,'D',1,'MALags',1,'SMALags',12,...
    'Seasonality',12);
Mdl.P
ans = 13

Рассмотрите горизонт прогноза двух лет (24 месяца). Разделите данные об ответе в предварительную выборку, оценку, и предскажите демонстрационные переменные.

fh = 24;                % Forecast horizon
T = size(StblTT,1);     % Total sample size
eT = T - Mdl.P - fh;    % Effective sample size

idxpre = 1:Mdl.P;
idxest = (Mdl.P + 1):(T - fh);
idxfor = (T - fh + 1):T;

y0 = StblTT.log_PSSG(idxpre);  % Presample responses
y = StblTT.log_PSSG(idxest);   % Estimation sample responses
yf = StblTT.log_PSSG(idxfor);  % Forecast sample responses

Оценочная модель

Подбирайте модель к выборке оценки. Задайте предварительную выборку при помощи 'Y0' аргумент пары "имя-значение".

EstMdl = estimate(Mdl,y,'Y0',y0);
 
    ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution):
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant            0              0           NaN             NaN
    MA{1}        -0.31781       0.087289       -3.6408      0.00027175
    SMA{12}      -0.56707        0.10111       -5.6083      2.0434e-08
    Variance    0.0014446     0.00018295        7.8962      2.8763e-15

EstMdl полностью заданный arima модель, представляющая предполагаемую модель SARIMA

(1-L)(1-L12)yt=(1-0.18L)(1-0.18L12)εt,

где εt является Гауссовым со средним значением 0 и отклонением 0,0019.

Поскольку константой является 0 в шаблоне модели, estimate обработки это как ограничение равенства во время оптимизации. Поэтому выводы на константе не важны.

Можно предсказать модель с помощью forecast функция arima путем определения EstMdl и горизонт прогноза fh. Чтобы инициализировать модель для прогнозирования, задайте демонстрационные данные об ответе оценки y при помощи 'Y0' аргумент пары "имя-значение".

Смотрите также

Объекты

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте