То, когда вы подбираете модель временных рядов к данным, отстало, члены в модели требуют инициализации, обычно с наблюдениями в начале выборки. Кроме того, чтобы измерить качество прогнозов из модели, необходимо протянуть данные в конце выборки от оценки. Поэтому прежде, чем анализировать данные, разделите основу времени на три последовательных, непересекающихся интервала:
Три раза базируются, разделы для одномерных авторегрессивных интегрированных моделей (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 – 1 – y t – 2 через Δyt – 4 = y t – 4 – y 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.
Этот рисунок показывает фрагменты массивов, которые соответствуют входным параметрам estimate
функция arima
модель.
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
относительно последнего наблюдения в массивах (T – K на предыдущем рисунке), и применяет только необходимое количество наблюдений к компоненту регрессии. Это действие подразумевает тот X
может иметь больше строк, чем Y
.
Если вы не задаете 'Y0'
, необходимо предоставить, по крайней мере, J больше внешних наблюдений, чем ответы. estimate
использует дополнительные преддемонстрационные внешние данные для обратного броска модель для преддемонстрационных ответов.
Если вы задаете 'Y0'
, estimate
использование только последние внешние наблюдения, требуемые подбирать модель (наблюдения J + 1 через T – K на предыдущем рисунке). 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 модель для журнала ежемесячного пассажира рассчитывает от 1 949 до 1960. Модель требует преддемонстрационные ответы. arima
шаблон модели для оценки хранит необходимое количество преддемонстрационных ответов в свойстве P
.
Создайте SARIMA шаблон модели для оценки. Укажите, что константой модели является 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
где является Гауссовым со средним значением 0 и отклонением 0,0019.
Поскольку константой является 0
в шаблоне модели, estimate
обработки это как ограничение равенства во время оптимизации. Поэтому выводы на константе не важны.
Можно предсказать модель с помощью forecast
функция arima
путем определения EstMdl
и горизонт прогноза fh
. Чтобы инициализировать модель для прогнозирования, задайте демонстрационные данные об ответе оценки y
при помощи 'Y0'
аргумент пары "имя-значение".