Ответы модели коррекции ошибок вектора прогноза (VEC)
возвращает путь прогнозов минимальной среднеквадратичной ошибки (MMSE) (Y = forecast(Mdl,numperiods,Y0)Y) по длине numperiods горизонт прогноза с использованием полностью заданной модели VEC (p-1)Mdl. Прогнозируемые ответы представляют продолжение данных предварительной выборки. Y0.
использует дополнительные параметры, заданные одним или несколькими аргументами пары имя-значение. Например, Y = forecast(Mdl,numperiods,Y0,Name,Value)'X',X,'YF',YF определяет X в качестве будущих данных экзогенного предиктора для регрессионного компонента и YF в качестве будущих данных ответа для условного прогнозирования.
Рассмотрим модель VEC для следующих семи макроэкономических серий. Затем поместите модель в данные и прогнозируйте ответы на 12 кварталов в будущем.
Валовой внутренний продукт (ВВП)
Имплицитный дефлятор цен ВВП
Выплаченная компенсация работникам
Нефермерное деловое время всех лиц
Эффективная ставка федеральных фондов
Расходы на личное потребление
Валовые частные внутренние инвестиции
Предположим, что подходит коинтеграционный ранг 4 и один краткосрочный срок, то есть рассмотрим модель VEC (1).
Загрузить Data_USEconVECModel набор данных.
load Data_USEconVECModelДля получения дополнительной информации о наборе данных и переменных введите Description в командной строке.
Определите необходимость предварительной обработки данных путем печати ряда на отдельных графиках.
figure; subplot(2,2,1) plot(FRED.Time,FRED.GDP); title('Gross Domestic Product'); ylabel('Index'); xlabel('Date'); subplot(2,2,2) plot(FRED.Time,FRED.GDPDEF); title('GDP Deflator'); ylabel('Index'); xlabel('Date'); subplot(2,2,3) plot(FRED.Time,FRED.COE); title('Paid Compensation of Employees'); ylabel('Billions of $'); xlabel('Date'); subplot(2,2,4) plot(FRED.Time,FRED.HOANBS); title('Nonfarm Business Sector Hours'); ylabel('Index'); xlabel('Date');

figure; subplot(2,2,1) plot(FRED.Time,FRED.FEDFUNDS); title('Federal Funds Rate'); ylabel('Percent'); xlabel('Date'); subplot(2,2,2) plot(FRED.Time,FRED.PCEC); title('Consumption Expenditures'); ylabel('Billions of $'); xlabel('Date'); subplot(2,2,3) plot(FRED.Time,FRED.GPDI); title('Gross Private Domestic Investment'); ylabel('Billions of $'); xlabel('Date');

Стабилизируйте все ряды, за исключением ставки федеральных фондов, применяя преобразование журнала. Масштабируйте результирующий ряд на 100, чтобы все ряды имели одинаковый масштаб.
FRED.GDP = 100*log(FRED.GDP); FRED.GDPDEF = 100*log(FRED.GDPDEF); FRED.COE = 100*log(FRED.COE); FRED.HOANBS = 100*log(FRED.HOANBS); FRED.PCEC = 100*log(FRED.PCEC); FRED.GPDI = 100*log(FRED.GPDI);
Создайте модель VEC (1) с использованием краткого синтаксиса. Укажите имена переменных.
Mdl = vecm(7,4,1); Mdl.SeriesNames = FRED.Properties.VariableNames;
Mdl является vecm объект модели. Все свойства, содержащие NaN значения соответствуют параметрам, которые должны быть оценены с учетом данных.
Оцените модель, используя весь набор данных и опции по умолчанию.
EstMdl = estimate(Mdl,FRED.Variables)
EstMdl =
vecm with properties:
Description: "7-Dimensional Rank = 4 VEC(1) Model"
SeriesNames: "GDP" "GDPDEF" "COE" ... and 4 more
NumSeries: 7
Rank: 4
P: 2
Constant: [14.1329 8.77841 -7.20359 ... and 4 more]'
Adjustment: [7×4 matrix]
Cointegration: [7×4 matrix]
Impact: [7×7 matrix]
CointegrationConstant: [-28.6082 109.555 -77.0912 ... and 1 more]'
CointegrationTrend: [4×1 vector of zeros]
ShortRun: {7×7 matrix} at lag [1]
Trend: [7×1 vector of zeros]
Beta: [7×0 matrix]
Covariance: [7×7 matrix]
EstMdl является оценочным vecm объект модели. Он полностью указан, поскольку все параметры имеют известные значения. По умолчанию estimate налагает ограничения H1 форма модели Йохансена VEC, удаляя cointegrating тенденцию и линейные условия тенденции из модели. Исключение параметра из оценки эквивалентно наложению ограничений равенства на ноль.
Прогнозные ответы из расчетной модели на трехлетний горизонт. Укажите весь набор данных в качестве предварительных наблюдений.
numperiods = 12; Y0 = FRED.Variables; Y = forecast(EstMdl,numperiods,Y0);
Y является матрицей прогнозируемых ответов 12 на 7. Строки соответствуют горизонту прогноза, а столбцы - переменным в EstMdl.SeriesNames.
Постройте график прогнозируемых ответов и последних 50 истинных ответов.
fh = dateshift(FRED.Time(end),'end','quarter',1:12); figure; subplot(2,2,1) h1 = plot(FRED.Time((end-49):end),FRED.GDP((end-49):end)); hold on h2 = plot(fh,Y(:,1)); title('Gross Domestic Product'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,2) h1 = plot(FRED.Time((end-49):end),FRED.GDPDEF((end-49):end)); hold on h2 = plot(fh,Y(:,2)); title('GDP Deflator'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,3) h1 = plot(FRED.Time((end-49):end),FRED.COE((end-49):end)); hold on h2 = plot(fh,Y(:,3)); title('Paid Compensation of Employees'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,4) h1 = plot(FRED.Time((end-49):end),FRED.HOANBS((end-49):end)); hold on h2 = plot(fh,Y(:,4)); title('Nonfarm Business Sector Hours'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off

figure; subplot(2,2,1) h1 = plot(FRED.Time((end-49):end),FRED.FEDFUNDS((end-49):end)); hold on h2 = plot(fh,Y(:,5)); title('Federal Funds Rate'); ylabel('Percent'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,2) h1 = plot(FRED.Time((end-49):end),FRED.PCEC((end-49):end)); hold on h2 = plot(fh,Y(:,6)); title('Consumption Expenditures'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,3) h1 = plot(FRED.Time((end-49):end),FRED.GPDI((end-49):end)); hold on h2 = plot(fh,Y(:,7)); title('Gross Private Domestic Investment'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([FRED.Time(end) fh([end end]) FRED.Time(end)],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off

Рассмотрим модель и данные в серии безусловных ответов прогноза из модели VEC.
Загрузить Data_USEconVECModel набор данных и предварительная обработка данных.
load Data_USEconVECModel
FRED.GDP = 100*log(FRED.GDP);
FRED.GDPDEF = 100*log(FRED.GDPDEF);
FRED.COE = 100*log(FRED.COE);
FRED.HOANBS = 100*log(FRED.HOANBS);
FRED.PCEC = 100*log(FRED.PCEC);
FRED.GPDI = 100*log(FRED.GPDI); Data_Recessions набор данных содержит начальные и конечные серийные даты спадов. Загрузите набор данных. Преобразование матрицы серийных номеров дат в массив datetime.
load Data_Recessions dtrec = datetime(Recessions,'ConvertFrom','datenum');
Создайте фиктивную переменную, определяющую периоды, в которых США находились в состоянии рецессии или хуже. В частности, переменная должна быть 1 если FRED.Time происходит во время рецессии, и 0 в противном случае.
isin = @(x)(any(dtrec(:,1) <= x & x <= dtrec(:,2))); isrecession = double(arrayfun(isin,FRED.Time));
Создайте модель VEC (1) с использованием краткого синтаксиса. Предположим, что соответствующий ранг коинтеграции равен 4. При создании модели не требуется указывать наличие регрессионного компонента. Укажите имена переменных.
Mdl = vecm(7,4,1); Mdl.SeriesNames = FRED.Properties.VariableNames;
Оцените модель, используя все данные, кроме последних трех лет. Укажите предиктор, определяющий, измерялось ли наблюдение во время рецессии.
bfh = FRED.Time(end) - years(3);
estIdx = FRED.Time < bfh;
EstMdl = estimate(Mdl,FRED{estIdx,:},'X',isrecession(estIdx));Прогнозирование пути ежеквартальных ответов на три года в будущем.
Y0 = FRED{estIdx,:};
Y = forecast(EstMdl,12,Y0,'X',isrecession(~estIdx));Y является матрицей 12 на 7 смоделированных откликов. Строки соответствуют горизонту прогноза, а столбцы - переменным в EstMdl.SeriesNames.
Постройте график прогнозируемых ответов и последних 40 истинных ответов.
figure; subplot(2,2,1) h1 = plot(FRED.Time((end-39):end),FRED.GDP((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,1)); title('Gross Domestic Product'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,2) h1 = plot(FRED.Time((end-39):end),FRED.GDPDEF((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,2)); title('GDP Deflator'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,3) h1 = plot(FRED.Time((end-39):end),FRED.COE((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,3)); title('Paid Compensation of Employees'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,4) h1 = plot(FRED.Time((end-39):end),FRED.HOANBS((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,4)); title('Nonfarm Business Sector Hours'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off

figure; subplot(2,2,1) h1 = plot(FRED.Time((end-39):end),FRED.FEDFUNDS((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,5)); title('Federal Funds Rate'); ylabel('Percent'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,2) h1 = plot(FRED.Time((end-39):end),FRED.PCEC((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,6)); title('Consumption Expenditures'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off subplot(2,2,3) h1 = plot(FRED.Time((end-39):end),FRED.GPDI((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,7)); title('Gross Private Domestic Investment'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2],'True','Forecast','Location','Best') hold off

Анализ точности прогноза с использованием интервалов прогноза на трехлетнем горизонте. Этот пример следует из серии безусловных ответов прогноза из модели VEC.
Загрузить Data_USEconVECModel набор данных и предварительная обработка данных.
load Data_USEconVECModel
FRED.GDP = 100*log(FRED.GDP);
FRED.GDPDEF = 100*log(FRED.GDPDEF);
FRED.COE = 100*log(FRED.COE);
FRED.HOANBS = 100*log(FRED.HOANBS);
FRED.PCEC = 100*log(FRED.PCEC);
FRED.GPDI = 100*log(FRED.GPDI);Оценка модели VEC (1). Зарезервируйте последние три года данных для оценки точности прогноза. Предположите, что соответствующий разряд коинтеграции равняется 4 и H1, форма Йохансена подходит для модели .
bfh = FRED.Time(end) - years(3);
estIdx = FRED.Time < bfh;
Mdl = vecm(7,4,1);
Mdl.SeriesNames = FRED.Properties.VariableNames;
EstMdl = estimate(Mdl,FRED{estIdx,:});Прогнозные ответы из расчетной модели на трехлетний горизонт. Укажите все наблюдения в образце в качестве предварительного примера. Верните MSE прогнозов.
numperiods = 12;
Y0 = FRED{estIdx,:};
[Y,YMSE] = forecast(EstMdl,numperiods,Y0);Y является матрицей прогнозируемых ответов 12 на 7. YMSE является вектором ячейки 12 на 1 из матриц 7 на 7, соответствующих MSE.
Извлеките основные диагональные элементы из матриц в каждой ячейке YMSE. Примените квадратный корень результата для получения стандартных ошибок.
extractMSE = @(x)diag(x)';
MSE = cellfun(extractMSE,YMSE,'UniformOutput',false);
SE = sqrt(cell2mat(MSE));Оценка приблизительно 95% интервалов прогноза для каждой серии ответов.
YFI = zeros(numperiods,Mdl.NumSeries,2); YFI(:,:,1) = Y - 2*SE; YFI(:,:,2) = Y + 2*SE;
Постройте график прогнозируемых ответов и последних 40 истинных ответов.
figure; subplot(2,2,1) h1 = plot(FRED.Time((end-39):end),FRED.GDP((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,1)); h3 = plot(FRED.Time(~estIdx),YFI(:,1,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,1,2),'k--'); title('Gross Domestic Product'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off subplot(2,2,2) h1 = plot(FRED.Time((end-39):end),FRED.GDPDEF((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,2)); h3 = plot(FRED.Time(~estIdx),YFI(:,2,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,2,2),'k--'); title('GDP Deflator'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off subplot(2,2,3) h1 = plot(FRED.Time((end-39):end),FRED.COE((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,3)); h3 = plot(FRED.Time(~estIdx),YFI(:,3,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,3,2),'k--'); title('Paid Compensation of Employees'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off subplot(2,2,4) h1 = plot(FRED.Time((end-39):end),FRED.HOANBS((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,4)); h3 = plot(FRED.Time(~estIdx),YFI(:,4,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,4,2),'k--'); title('Nonfarm Business Sector Hours'); ylabel('Index (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off

figure; subplot(2,2,1) h1 = plot(FRED.Time((end-39):end),FRED.FEDFUNDS((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,5)); h3 = plot(FRED.Time(~estIdx),YFI(:,5,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,5,2),'k--'); title('Federal Funds Rate'); ylabel('Percent'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off subplot(2,2,2) h1 = plot(FRED.Time((end-39):end),FRED.PCEC((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,6)); h3 = plot(FRED.Time(~estIdx),YFI(:,6,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,6,2),'k--'); title('Consumption Expenditures'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off subplot(2,2,3) h1 = plot(FRED.Time((end-39):end),FRED.GPDI((end-39):end)); hold on h2 = plot(FRED.Time(~estIdx),Y(:,7)); h3 = plot(FRED.Time(~estIdx),YFI(:,7,1),'k--'); plot(FRED.Time(~estIdx),YFI(:,7,2),'k--'); title('Gross Private Domestic Investment'); ylabel('Billions of $ (scaled)'); xlabel('Date'); h = gca; fill([bfh h.XLim([2 2]) bfh],h.YLim([1 1 2 2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend([h1 h2 h3],'True','Forecast','95% Forecast interval',... 'Location','best'); hold off

numperiods - Горизонт прогнозаГоризонт прогноза или количество моментов времени в периоде прогноза, указанное как положительное целое число.
Типы данных: double
Y0 - Предварительный отбор ответовПредварительный пример ответов, которые предоставляют начальные значения для прогнозов, указанные как numpreobsоколо-numseries числовая матрица или numpreobsоколо-numseriesоколо-numprepaths числовой массив.
numpreobs - количество предварительных наблюдений. numseries - число серий ответов (Mdl.NumSeries). numprepaths - количество путей предварительного отбора ответов.
Строки соответствуют предварительным наблюдениям, а последняя строка содержит последнее наблюдение. Y0 должен содержать не менее Mdl.P строк. Если указано больше строк, чем необходимо, forecast использует только последние Mdl.P наблюдения.
Столбцы должны соответствовать именам серий ответов в Mdl.SeriesNames.
Страницы соответствуют отдельным независимым путям.
Если не указать YF аргумент пары имя-значение, затем forecast инициализирует каждый прогнозируемый путь (страницу) с помощью соответствующей страницы Y0. Поэтому выходной аргумент Y имеет numprepaths страницы.
При указании YF аргумент пары имя-значение, затем forecast выполняет одно из этих действий.
Если Y0 является матрицей, то forecast инициализирует каждый путь прогноза (страница) в YF использование Y0. Поэтому все пути в выходном аргументе Y вытекают из общих исходных условий.
В противном случае forecast применяется Y0(:,:, для инициализации пути прогнозирования j)j. Y0 должен иметь по крайней мере numpaths страницы, и forecast использует только первый numpaths страницы.
Среди всех страниц наблюдения в конкретной строке происходят одновременно.
Типы данных: double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'X',X,'YF',YF использует матрицу X в качестве данных предиктора в компоненте регрессии и матрице YF как частично известные будущие ответы для условного прогнозирования.'X' - Прогнозируемые временные ряды предикторовПрогнозируемый временной ряд предикторов для включения в компонент регрессии модели, указанный как пара, разделенная запятыми, состоящая из 'X' и числовую матрицу, содержащую numpreds столбцы.
numpreds - количество переменных предиктора (size(Mdl.Beta,2)).
Строки соответствуют наблюдениям. Ряд j содержит j-прогноз шага. X должен иметь по крайней мере numperiods строк. Если указано больше строк, чем необходимо, forecast использует только самый ранний numperiods наблюдения. Первая строка содержит самое раннее наблюдение.
Столбцы соответствуют отдельным переменным предиктора. Все переменные предиктора присутствуют в регрессионной составляющей каждого уравнения ответа.
forecast применяется X к каждому пути (странице); то есть X представляет один путь наблюдаемых предикторов.
Для обеспечения непротиворечивости модели в горизонте прогноза рекомендуется указывать прогнозируемые предикторы при Mdl имеет регрессионный компонент.
По умолчанию forecast исключает компонент регрессии, независимо от его присутствия в Mdl.
Типы данных: double
'YF' - Будущие многомерные серии ответовБудущий многомерный ряд ответов для условного прогнозирования, указанный как пара, разделенная запятыми, состоящая из 'YF' и числовую матрицу или 3-D массив, содержащий numseries столбцы.
Строки соответствуют наблюдениям в горизонте прогноза, и первая строка является самым ранним наблюдением. В частности, строка j в пути образца k (YF() содержит ответы j,:,k)j периоды в будущее. YF должен иметь по крайней мере numperiods для охвата горизонта прогноза. Если указано больше строк, чем необходимо, forecast использует только первый numperiods строк.
Столбцы соответствуют переменным ответа в Y0.
Страницы соответствуют типовым путям. В частности, путь k (YF(:,:,) фиксирует состояние или знание ряда ответов по мере того, как они эволюционируют из прошлого предварительной выборки (k)Y0) в будущее.
Если YF является матрицей, то forecast применяется YF каждому из numpaths пути вывода (см. Y0).
В противном случае YF должен иметь по крайней мере numpaths страницы. Если вы предоставите больше страниц, чем необходимо, forecast использует только первый numpaths страницы.
Элементы YF могут быть числовыми скалярами или отсутствующими значениями (обозначаются NaN значения). forecast обрабатывает числовые скаляры как детерминированные будущие ответы, которые известны заранее, например, задаются политикой. forecast прогнозы ответов для соответствующих NaN значения зависят от известных значений.
По умолчанию YF представляет собой массив, состоящий из NaN значения, указывающие на полное отсутствие информации о будущем состоянии всех ответов в горизонте прогноза. В этом случае forecast оценивает традиционные прогнозы MMSE.
Дополнительные сведения см. в разделе Алгоритмы.
Пример: Рассмотрим возможность прогнозирования одного пути модели VEC, состоящей из четырех откликов серии три периода в будущем. Предположим, что у вас есть предыдущие знания о некоторых будущих значениях ответов, и вы хотите прогнозировать неизвестные ответы в зависимости от ваших знаний. Определить YF как матрица, содержащая известные значения и использующая NaN для значений, которые вы не знаете, но хотите прогнозировать. Например, 'YF',[NaN 2 5 NaN; NaN NaN 0.1 NaN; NaN NaN NaN NaN] указывает, что вы не знаете будущих значений первой и четвертой серий ответов; Вы знаете значение периода 1 во втором ряду ответов, но никакого другого значения; и вы знаете значения для периодов 1 и 2 в третьем ряду ответов, но не значение для периода 3.
Типы данных: double
Примечание
NaN значения в Y0 и X укажите отсутствующие значения. forecast удаляет отсутствующие значения из данных путем удаления по списку. Если Y0 является массивом 3-D, то forecast выполняет эти шаги.
Горизонтально объединять страницы для формирования numpreobsоколо-numpaths*numseries матрица.
Удалить любую строку, содержащую хотя бы одну NaN из объединенных данных.
В случае пропущенных наблюдений результаты, полученные из нескольких путей Y0 может отличаться от результатов, полученных для каждого пути по отдельности.
Для отсутствующих значений в X, forecast удаляет соответствующую строку с каждой страницы YF. После удаления строки из X и YF, если число строк меньше numperiods, то forecast выдает ошибку.
Y - прогнозы MMSE многомерных серий ответовПрогнозы MMSE серии многомерных ответов, возвращенные как numobsоколо-numseries числовая матрица или numobsоколо-numseriesоколо-numpaths числовой массив. Y представляет продолжение предварительных ответов в Y0. Строки соответствуют наблюдениям, столбцы соответствуют переменным ответа, а страницы соответствуют пути выборки. Ряд j является j-прогноз на период.
Если указать будущие ответы для условного прогнозирования с помощью YF аргумент пары имя-значение, затем известные значения в YF отображаются в тех же позициях в Y. Однако Y содержит прогнозируемые значения для отсутствующих наблюдений в YF.
YMSE - матрицы MSE прогнозируемых ответов;Матрицы MSE прогнозируемых ответов в Y, возвращено как numperiods-по-1 клеточный вектор numseriesоколо-numseries числовые матрицы. Ячейки YMSE составляют временной ряд ковариационных матриц ошибок прогноза. Клетка j содержит j-периодная матрица MSE.
YMSE идентичен для всех путей.
Поскольку forecast обрабатывает переменные предиктора в X как экзогенные и нестохастические, YMSE отражает ковариацию ошибок, связанную с авторегрессивной составляющей входной модели Mdl только.
forecast оценивает безусловные прогнозы с помощью уравнения
^ + d ^ t + xtβ ^,
где t = 1,...,numperiods. forecast фильтрует a numperiodsоколо-numseries матрица нулевых инноваций через Mdl. forecast использует указанные инновации предварительного образца (Y0) при необходимости.
forecast оценивает условные прогнозы с помощью фильтра Калмана.
forecast представляет модель VEC Mdl как модель состояния-пространства (ssm объект модели) без ошибки наблюдения.
forecast фильтрация данных прогноза YF через модель состояния-пространства. В периоде t в горизонте прогноза любой неизвестный ответ
^ + d ^ t + xtβ ^,
где s
, s < t - отфильтрованная оценка y из периода s в горизонте прогноза. forecast использует указанные значения предварительной выборки в Y0 для периодов до горизонта прогноза.
Дополнительные сведения см. в разделе filter и [4], стр. 612 и 615.
Путь forecast определяет numpaths, количество страниц в выходном аргументе Y, зависит от типа прогноза.
Если вы оцениваете безусловные прогнозы, это означает, что вы не указываете аргумент пары имя-значение YF, то numpaths - количество страниц во входном аргументе Y0.
При оценке условных прогнозов и Y0 и YF иметь более одной страницы, то numpaths - количество страниц в массиве с меньшим количеством страниц. Если количество страниц в Y0 или YF превышает numpaths, то forecast использует только первый numpaths страницы.
При оценке условных прогнозов и Y0 или YF имеет одну страницу, затем numpaths - количество страниц в массиве с наибольшим количеством страниц. forecast использует массив с одной страницей для каждого пути.
forecast устанавливает начало времени моделей, которые включают линейные временные тренды (t0) в size(Y0,1) – Mdl.P (после удаления отсутствующих значений). Поэтому время в компоненте тренда равно t = t0 + 1, t0 + 2,..., t0 + numobs. Это соглашение согласуется с поведением по умолчанию оценки модели, в которой estimate удаляет первый Mdl.P ответы, уменьшая эффективный размер выборки. Хотя forecast явно использует первый Mdl.P предварительный отбор ответов в Y0 для инициализации модели общее количество наблюдений (исключая отсутствующие значения) определяет t0.
[1] Гамильтон, Джеймс Д. Анализ временных рядов. Принстон, Нью-Джерси: Princeton University Press, 1994.
[2] Йохансен, С. Вывод на основе правдоподобия в коинтегрированных векторных авторегрессионных моделях. Oxford: Oxford University Press, 1995.
[3] Джуселиус, К. Коинтегрированная модель VAR. Oxford: Oxford University Press, 2006.
[4] Lütkepohl, H. Новое введение в анализ множественных временных рядов. Берлин: Спрингер, 2005.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.