Класс: regARIMA
Предскажите ответы модели регрессии с ошибками ARIMA
[Y,YMSE]
= forecast(Mdl,numperiods)
[Y,YMSE,U]
= forecast(Mdl,numperiods)
[Y,YMSE,U]
= forecast(Mdl,numperiods,Name,Value)
[
ответы прогнозов (Y
,YMSE
]
= forecast(Mdl
,numperiods
)Y
) для модели регрессии с ошибками временных рядов ARIMA и генерирует соответствующие среднеквадратичные погрешности (YMSE
).
[
дополнительно предсказывает безусловные воздействия для модели регрессии с ошибками ARIMA.Y
,YMSE
,U
]
= forecast(Mdl
,numperiods
)
[
прогнозы с дополнительными опциями, заданными одним или несколькими Y
,YMSE
,U
]
= forecast(Mdl
,numperiods
,Name,Value
)Name,Value
парные аргументы.
numperiods
— Предскажите горизонтПредскажите горизонт или количество моментов времени в период прогноза в виде положительного целого числа.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'E0'
— Преддемонстрационные инновацииПреддемонстрационные инновации, которые инициализируют компонент скользящего среднего значения (MA) ошибочной модели ARIMA в виде разделенной запятой пары, состоящей из 'E0'
и числовой вектор-столбец или числовая матрица. forecast
принимает, что преддемонстрационные инновации имеют среднее значение 0.
Если E0
вектор-столбец, затем forecast
применяет его к каждому предсказанному пути.
Если E0
y0
, и U0
матрицы с разнообразными путями, затем у них должно быть одинаковое число столбцов.
E0
требует, по крайней мере, Mdl.Q
'Строки' . Если E0
содержит дополнительные строки, затем forecast
использует последние преддемонстрационные инновации. Последняя строка содержит последние преддемонстрационные инновации.
По умолчанию, если U0
содержит, по крайней мере, Mdl.P
+ Mdl.Q
строки, затем forecast
выводит E0
от U0
. Если U0
имеет недостаточное количество строк и forecast
не может вывести достаточные наблюдения за U0
из преддемонстрационных данных (Y0
и X0
), затем E0
0.
Типы данных: double
'U0'
— Преддемонстрационные безусловные воздействияПреддемонстрационные безусловные воздействия, которые инициализируют авторегрессивное (AR) компонент ошибочной модели ARIMA в виде разделенной запятой пары, состоящей из 'U0'
и числовой вектор-столбец или числовая матрица. Если вы не задаете преддемонстрационные инновации E0
, forecast
использование U0
вывести их.
Если U0
вектор-столбец, затем forecast
применяет его к каждому предсказанному пути.
Если U0
y0
, и E0
матрицы с разнообразными путями, затем у них должно быть одинаковое число столбцов.
U0
требует, по крайней мере, Mdl.P
'Строки' . Если U0
содержит дополнительные строки, затем forecast
использует последние преддемонстрационные безусловные воздействия. Последняя строка содержит последнее преддемонстрационное безусловное воздействие.
По умолчанию, если преддемонстрационные данные (Y0
и X0
) содержит, по крайней мере, Mdl.P
строки, затем forecast
выводит U0
из преддемонстрационных данных. Если вы не задаете преддемонстрационные данные, то все необходимые преддемонстрационные безусловные воздействия 0.
Типы данных: double
'X0'
— Преддемонстрационные данные о предиктореПреддемонстрационные данные о предикторе, которые инициализируют модель для прогнозирования в виде разделенной запятой пары, состоящей из 'X0'
и числовая матрица. Столбцы X0
отдельные переменные временных рядов. forecast
использование X0
вывести преддемонстрационные безусловные воздействия U0
. Поэтому, если вы задаете U0
, forecast
игнорирует X0
.
Если вы не задаете U0
, затем X0
требует, по крайней мере, Mdl.P
строки, чтобы вывести U0
. Если X0
содержит дополнительные строки, затем forecast
использует последние наблюдения. Последняя строка содержит последнее наблюдение за каждым рядом.
X0
требует одинакового числа столбцов как длины Mdl.Beta
.
Если вы задаете X0
, затем необходимо также задать XF
.
forecast
обработки X0
как фиксированная (нестохастическая) матрица.
Типы данных: double
'XF'
— Предсказанные или будущие данные о предиктореПредсказанные или будущие данные о предикторе в виде разделенной запятой пары, состоящей из 'XF'
и числовая матрица.
Столбцы XF
отдельные временные ряды, каждый соответствующий прогнозам ряда в X0
. Строка t XF
содержит t - прогнозы периода вперед X0
.
Если вы задаете X0
, затем необходимо также задать XF
. XF
и X0
потребуйте одинакового числа столбцов. XF
должен иметь, по крайней мере, numperiods
'Строки' . Если XF
превышает numperiods
строки, затем forecast
использует первый numperiods
прогнозы.
forecast
обработки XF
как фиксированная (нестохастическая) матрица.
По умолчанию, forecast
не включает компонент регрессии в модель, независимо от присутствия коэффициентов регрессии в Mdl
.
Типы данных: double
'Y0'
— Преддемонстрационные данные об ответеПреддемонстрационные данные об ответе, которые инициализируют модель для прогнозирования в виде разделенной запятой пары, состоящей из 'Y0'
и числовой вектор-столбец или числовая матрица. forecast
использование Y0
вывести преддемонстрационные безусловные воздействия U0
. Поэтому, если вы задаете U0
, forecast
игнорирует Y0
.
Если Y0
вектор-столбец, forecast
применяет его к каждому предсказанному пути.
Если Y0
, E0
, и U0
матрицы с разнообразными путями, затем у них должно быть одинаковое число столбцов.
Если вы не задаете U0
, затем Y0
требует, по крайней мере, Mdl.P
строки, чтобы вывести U0
. Если Y0
содержит дополнительные строки, затем forecast
использует последние наблюдения. Последняя строка содержит последнее наблюдение.
Типы данных: double
NaN
s в E0
, U0
x0
, XF
, и Y0
укажите на отсутствующие значения и forecast
удаляет их. Программное обеспечение объединяет преддемонстрационные наборы данных (E0
, U0
x0
, и Y0
), затем использует мудрое списком удаление, чтобы удалить любой NaN
s. forecast
так же удаляет NaN
s от XF
. Удаление NaN
s в данных уменьшает объем выборки. Такое удаление может также создать неправильные временные ряды.
forecast
принимает, что вы синхронизируете преддемонстрационные данные, таким образом, что последнее наблюдение за каждым преддемонстрационным рядом происходит одновременно.
Установите X0
к той же матрице предиктора как X
используемый по оценке, симуляции или выводу Mdl
. Это присвоение гарантирует правильный вывод безусловных воздействий, U0
.
Чтобы включать компонент регрессии в прогноз ответа, необходимо задать предсказанные данные о предикторе XF
. Таким образом, можно задать XF
также не задавая X0
, но forecast
выдает ошибку, когда вы задаете X0
также не задавая XF
.
Y
— Минимальные прогнозы среднеквадратичной погрешности данных об ответеПрогнозы минимальной среднеквадратичной погрешности (MMSE) данных об ответе, возвращенных как числовая матрица. Y
имеет numperiods
строки и numPaths
столбцы.
Если вы не задаете Y0
, E0
, и U0
, затем Y
numperiods
вектор-столбец.
Если вы задаете Y0
, E0
, и U0
, все имеющие numPaths
столбцы, затем Y
numperiods
- numPaths
матрица.
Строка i Y
содержит прогнозы для i th период.
Типы данных: double
YMSE
— Среднеквадратичные погрешности предсказанных ответовСреднеквадратичные погрешности (MSEs) предсказанных ответов, возвращенных как числовая матрица. YMSE
имеет numperiods
строки и numPaths
столбцы.
Если вы не задаете Y0
, E0
, и U0
, затем YMSE
numperiods
вектор-столбец.
Если вы задаете Y0
, E0
, и U0
, все имеющие numPaths
столбцы, затем YMSE
numperiods
- numPaths
матрица.
Строка i YMSE
содержит отклонения ошибки прогноза для i th период.
Данные о предикторе не вносят изменчивость в YMSE
потому что forecast
обработки XF
как нестохастическая матрица.
Квадратные корни из YMSE
стандартные погрешности прогнозов Y
.
Типы данных: double
U
— Минимальные прогнозы среднеквадратичной погрешности будущей ошибочной модели ARIMA безусловные воздействияПрогнозы минимальной среднеквадратичной погрешности (MMSE) будущей ошибочной модели ARIMA безусловные воздействия, возвращенные как числовая матрица. U
имеет numperiods
строки и numPaths
столбцы.
Если вы не задаете Y0
, E0
, и U0
, затем U
numperiods
вектор-столбец.
Если вы задаете Y0
, E0
, и U0
, все имеющие numPaths
столбцы, затем U
numperiods
- numPaths
матрица.
Строка i U
содержит предсказанные безусловные воздействия для i th период.
Типы данных: double
Предскажите ответы из следующей модели регрессии с ARMA (2,1) ошибки по горизонту с 30 периодами:
где является Гауссовым с отклонением 0.1.
Задайте модель. Симулируйте ответы из модели и двух рядов предиктора.
Mdl0 = regARIMA('Intercept',0,'AR',{0.5 -0.8},... 'MA',-0.5,'Beta',[0.1 -0.2],'Variance',0.1); rng(1); % For reproducibility X = randn(130,2); y = simulate(Mdl0,130,'X',X);
Подбирайте модель к первым 100 наблюдениям и зарезервируйте остающиеся 30 наблюдений, чтобы оценить производительность прогноза.
Mdl = regARIMA('ARLags',1:2); EstMdl = estimate(Mdl,y(1:100),'X',X(1:100,:));
Regression with ARMA(2,0) Error Model (Gaussian Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Intercept 0.004358 0.021314 0.20446 0.83799 AR{1} 0.36833 0.067103 5.4891 4.0408e-08 AR{2} -0.75063 0.090865 -8.2609 1.4453e-16 Beta(1) 0.076398 0.023008 3.3205 0.00089863 Beta(2) -0.1396 0.023298 -5.9919 2.0741e-09 Variance 0.079876 0.01342 5.9522 2.6453e-09
EstMdl
новый regARIMA
модель, содержащая оценки. Оценки близко к их истинным значениям.
Используйте EstMdl
предсказывать горизонт с 30 периодами. Визуально сравните прогнозы с данными о затяжке с помощью графика.
[yF,yMSE] = forecast(EstMdl,30,'Y0',y(1:100),... 'X0',X(1:100,:),'XF',X(101:end,:)); figure plot(y,'Color',[.7,.7,.7]); hold on plot(101:130,yF,'b','LineWidth',2); plot(101:130,yF+1.96*sqrt(yMSE),'r:',... 'LineWidth',2); plot(101:130,yF-1.96*sqrt(yMSE),'r:','LineWidth',2); h = gca; ph = patch([repmat(101,1,2) repmat(130,1,2)],... [h.YLim fliplr(h.YLim)],... [0 0 0 0],'b'); ph.FaceAlpha = 0.1; legend('Observed','Forecast',... '95% Forecast Interval','Location','Best'); title(['30-Period Forecasts and Approximate 95% '... 'Forecast Intervals']) axis tight hold off
Много наблюдений в демонстрационном падении затяжки вне 95%-х интервалов прогноза. Две причины этого:
Предикторы случайным образом сгенерированы в этом примере. estimate
обрабатывает предикторы, как зафиксировано. Впоследствии, 95%-е интервалы прогноза на основе оценок от estimate
не объясняйте изменчивость в предикторах.
Шансом сдвига период оценки кажется менее энергозависимым, чем период прогноза. estimate
использует менее энергозависимые данные о периоде оценки, чтобы оценить параметры. Поэтому предскажите, что интервалы на основе оценок не должны покрывать наблюдения, которые имеют базовый инновационный процесс с большей изменчивостью.
Предскажите стационарный, регистрируйте GDP с помощью модели регрессии с ARMA (1,1) ошибки, включая CPI как предиктор.
Загрузите американский макроэкономический набор данных и предварительно обработайте данные.
load Data_USEconModel; logGDP = log(DataTable.GDP); dlogGDP = diff(logGDP); % For stationarity dCPI = diff(DataTable.CPIAUCSL); % For stationarity numObs = length(dlogGDP); gdp = dlogGDP(1:end-15); % Estimation sample cpi = dCPI(1:end-15); T = length(gdp); % Effective sample size frstHzn = T+1:numObs; % Forecast horizon hoCPI = dCPI(frstHzn); % Holdout sample dts = dates(2:end); % Date nummbers
Подбирайте модель регрессии с ARMA (1,1) ошибки.
Mdl = regARIMA('ARLags',1,'MALags',1); EstMdl = estimate(Mdl,gdp,'X',cpi);
Regression with ARMA(1,1) Error Model (Gaussian Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Intercept 0.014793 0.0016289 9.0818 1.0684e-19 AR{1} 0.57601 0.10009 5.7548 8.6757e-09 MA{1} -0.15258 0.11978 -1.2738 0.20272 Beta(1) 0.0028972 0.0013989 2.071 0.038355 Variance 9.5734e-05 6.5562e-06 14.602 2.723e-48
Предскажите уровень GDP по 15 горизонтам четверти. Используйте выборку оценки в качестве предварительной выборки для прогноза.
[gdpF,gdpMSE] = forecast(EstMdl,15,'Y0',gdp,... 'X0',cpi,'XF',hoCPI);
Постройте прогнозы и 95%-е интервалы прогноза.
figure h1 = plot(dts(end-65:end),dlogGDP(end-65:end),... 'Color',[.7,.7,.7]); datetick hold on h2 = plot(dts(frstHzn),gdpF,'b','LineWidth',2); h3 = plot(dts(frstHzn),gdpF+1.96*sqrt(gdpMSE),'r:',... 'LineWidth',2); plot(dts(frstHzn),gdpF-1.96*sqrt(gdpMSE),'r:','LineWidth',2); ha = gca; title(['{\bf Forecasts and Approximate 95% }'... '{\bf Forecast Intervals for GDP rate}']); ph = patch([repmat(dts(frstHzn(1)),1,2) repmat(dts(frstHzn(end)),1,2)],... [ha.YLim fliplr(ha.YLim)],... [0 0 0 0],'b'); ph.FaceAlpha = 0.1; legend([h1 h2 h3],{'Observed GDP rate','Forecasted GDP rate ',... '95% Forecast Interval'},'Location','Best','AutoUpdate','off'); axis tight hold off
Предскажите модульный неустановившийся корень, регистрируйте GDP с помощью модели регрессии с ARIMA (1,1,1) ошибки, включая CPI как предиктор и известное прерывание.
Загрузите американский Макроэкономический набор данных и предварительно обработайте данные.
load Data_USEconModel; numObs = length(DataTable.GDP); logGDP = log(DataTable.GDP(1:end-15)); cpi = DataTable.CPIAUCSL(1:end-15); T = length(logGDP); % Effective sample size frstHzn = T+1:numObs; % Forecast horizon hoCPI = DataTable.CPIAUCSL(frstHzn); % Holdout sample
Задайте модель в течение периода оценки.
Mdl = regARIMA('ARLags',1,'MALags',1,'D',1);
Прерывание не идентифицируется в модели с интегрированными ошибками, поэтому зафиксируйте ее значение перед оценкой. Один способ сделать это должно оценить прерывание с помощью простой линейной регрессии.
Reg4Int = [ones(T,1), cpi]\logGDP; intercept = Reg4Int(1);
Рассмотрите выполнение анализа чувствительности при помощи сетки прерываний.
Установите прерывание и подбирайте модель регрессии с ARIMA (1,1,1) ошибки.
Mdl.Intercept = intercept; EstMdl = estimate(Mdl,logGDP,'X',cpi,... 'Display','off')
EstMdl = regARIMA with properties: Description: "ARIMA(1,1,1) Error Model (Gaussian Distribution)" Distribution: Name = "Gaussian" Intercept: 5.80142 Beta: [0.00396702] P: 2 D: 1 Q: 1 AR: {0.922709} at lag [1] SAR: {} MA: {-0.387845} at lag [1] SMA: {} Variance: 0.000108943 Regression with ARIMA(1,1,1) Error Model (Gaussian Distribution)
Предскажите GDP по 15 горизонтам четверти. Используйте выборку оценки в качестве предварительной выборки для прогноза.
[gdpF,gdpMSE] = forecast(EstMdl,15,'Y0',logGDP,... 'X0',cpi,'XF',hoCPI);
Постройте прогнозы и 95%-е интервалы прогноза.
figure h1 = plot(dates(end-65:end),log(DataTable.GDP(end-65:end)),... 'Color',[.7,.7,.7]); datetick hold on h2 = plot(dates(frstHzn),gdpF,'b','LineWidth',2); h3 = plot(dates(frstHzn),gdpF+1.96*sqrt(gdpMSE),'r:',... 'LineWidth',2); plot(dates(frstHzn),gdpF-1.96*sqrt(gdpMSE),'r:',... 'LineWidth',2); ha = gca; title(['{\bf Forecasts and Approximate 95% }'... '{\bf Forecast Intervals for log GDP}']); ph = patch([repmat(dates(frstHzn(1)),1,2) repmat(dates(frstHzn(end)),1,2)],... [ha.YLim fliplr(ha.YLim)],... [0 0 0 0],'b'); ph.FaceAlpha = 0.1; legend([h1 h2 h3],{'Observed GDP','Forecasted GDP',... '95% Forecast Interval'},'Location','Best','AutoUpdate','off'); axis tight hold off
Безусловные воздействия, , являются неустановившимися, поэтому ширины интервалов прогноза растут со временем.
Time base partitions for forecasting является двумя непересекающимися, непрерывными интервалами основы времени; каждый интервал содержит данные временных рядов для прогнозирования динамической модели. forecast period (горизонт прогноза) является numperiods
раздел длины в конце времени базируется во время который forecast
генерирует предсказывает Y
от динамической модели Mdl
. presample period является целым разделом, происходящим перед периодом прогноза. forecast
может потребовать наблюдаемых ответов Y0
, данные о регрессии X0
, безусловные воздействия U0
, или инновации E0
в преддемонстрационный период, чтобы инициализировать динамическую модель для прогнозирования. Структура модели определяет типы и объемы необходимых преддемонстрационных наблюдений.
Установившаяся практика должна подбирать динамическую модель к фрагменту набора данных, затем подтвердить предсказуемость модели путем сравнения ее прогнозов с наблюдаемыми ответами. Во время прогнозирования преддемонстрационный период содержит данные, к которым модель является подходящей, и период прогноза содержит выборку затяжки для валидации. Предположим, что yt является наблюдаемым рядом ответа; x 1, t, x 2, t и x 3, t наблюдается внешний ряд; и время t = 1, …, T. Рассмотрите ответы прогнозирования от динамической модели y t содержащий компонент регрессии numperiods
= периоды K. Предположим, что динамическая модель является подходящей к данным в интервале [1, T – K] (для получения дополнительной информации, смотрите estimate
). Этот рисунок показывает базовые разделы времени для прогнозирования.
Например, сгенерировать предсказывает Y
из модели регрессии с AR (2) ошибки, forecast
требует преддемонстрационных безусловных воздействий U0
и будущие данные о предикторе XF
.
forecast
выводит безусловные воздействия, учитывая достаточные легко доступные преддемонстрационные ответы и данные о предикторе. Инициализировать AR (2) ошибочная модель, Y0
= и X0
= .
К модели, forecast
требует будущих внешних данных XF
= .
Этот рисунок показывает массивы необходимых наблюдений для общего случая с соответствующими аргументами ввода и вывода.
forecast
вычисляет предсказанный ответ MSEs, YMSE
, путем обработки матриц данных о предикторе (X0
и XF
) как нестохастический и статистически независимый от инноваций модели. Поэтому YMSE
отражает отклонение, сопоставленное с безусловными воздействиями одной только ошибочной модели ARIMA.
forecast
использование Y0
и X0
вывести U0
. Поэтому, если вы задаете U0
, forecast
игнорирует Y0
и X0
.
[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.
[2] Дэвидсон, R. и Дж. Г. Маккиннон. Эконометрическая теория и методы. Оксфорд, Великобритания: Издательство Оксфордского университета, 2004.
[3] Enders, W. Прикладные эконометрические временные ряды. Хобокен, NJ: John Wiley & Sons, Inc., 1995.
[4] Гамильтон, J. D. Анализ Временных Рядов. Принстон, NJ: Издательство Принстонского университета, 1994.
[5] Pankratz, A. Прогнозирование с моделями динамической регрессии. John Wiley & Sons, Inc., 1991.
[6] Tsay, R. S. Анализ Финансовых Временных рядов. 2-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 2005.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.