Предскажите демонстрационные пути из переключающей порог модели динамической регрессии
возвращает оптимальные прогнозы точки "один шаг впередYF = forecast(Mdl,Y,numPeriods)" YF из полностью заданной переключающей порог модели Mdl динамической регрессии по горизонту прогноза длины numPeriods. Предсказанные ответы представляют продолжение данных об ответе Y.
дополнительные опции использования заданы одними или несколькими аргументами name-value. Например, YF = forecast(Mdl,Y,numPeriods,Name,Value)forecast(Mdl,Y,10,Type="exogenous",Z=z) задает прогнозы внешнего типа и период прогноза, внешние пороговые данные о переменной z.
В этом примере показано, как вычислить итеративные прогнозы точки условного среднего значения самовозбуждающегося порога авторегрессивная модель (SETAR). Задайте все значения параметров (этот пример использует произвольные значения).
Создайте полностью заданную модель для DGP
Создайте дискретный пороговый переход на уровне 0.
t = 0; tt = threshold(t)
tt =
threshold with properties:
Type: 'discrete'
Levels: 0
Rates: []
StateNames: ["1" "2"]
NumStates: 2
tt полностью заданный threshold объект, который описывает переключающийся механизм переключающей порог модели.
Примите, что следующие одномерные модели описывают процесс ответа системы:
Состояние 1: .
Состояние 2: .
.
Для каждого режима используйте arima создать модель AR, которая описывает процесс ответа в режиме.
c1 = -1; c2 = 1; ar = 0.6; mdl1 = arima(Constant=c1,AR=ar)
mdl1 =
arima with properties:
Description: "ARIMA(1,0,0) Model (Gaussian Distribution)"
Distribution: Name = "Gaussian"
P: 1
D: 0
Q: 0
Constant: -1
AR: {0.6} at lag [1]
SAR: {}
MA: {}
SMA: {}
Seasonality: 0
Beta: [1×0]
Variance: NaN
mdl2 = arima(Constant=c2,AR=ar)
mdl2 =
arima with properties:
Description: "ARIMA(1,0,0) Model (Gaussian Distribution)"
Distribution: Name = "Gaussian"
P: 1
D: 0
Q: 0
Constant: 1
AR: {0.6} at lag [1]
SAR: {}
MA: {}
SMA: {}
Seasonality: 0
Beta: [1×0]
Variance: NaN
mdl1 и mdl2 эффективно, полностью заданный arima объекты. Инновационные отклонения подмоделей не заданы; объект tsVAR задает инновационное отклонение всей модели.
Сохраните подмодели в векторе с порядком, соответствующим режимам в tt.StateNames.
mdl = [mdl1; mdl2];
Используйте tsVAR создать модель TAR из переключающегося механизма tt и подмодели состояния специфичные mdl. Задайте инновационное отклонение всей модели 0,5.
Mdl = tsVAR(tt,mdl,Covariance=0.5)
Mdl =
tsVAR with properties:
Switch: [1x1 threshold]
Submodels: [2x1 varm]
NumStates: 2
NumSeries: 1
StateNames: ["1" "2"]
SeriesNames: "1"
Covariance: 0.5000
Mdl.Submodels(2)
ans =
varm with properties:
Description: "AR-Stationary 1-Dimensional VAR(1) Model"
SeriesNames: "Y1"
NumSeries: 1
P: 1
Constant: 1
AR: {0.6} at lag [1]
Trend: 0
Beta: [1×0 matrix]
Covariance: NaN
Mdl полностью заданный tsVAR объект, представляющий одномерную модель TAR с двумя состояниями. tsVAR хранилища задали arima подмодели как varm объекты.
Симулируйте данные об ответе из DGP
forecast требует, чтобы достаточно данных перед горизонтом прогноза инициализировало модель. Симулируйте 120 наблюдений от DGP.
rng(1); % For reproducibility
y = simulate(Mdl,120);y является 120 1 случайным путем ответов. Опции по умолчанию simulate, и весь tsVAR возразите функциям, укажите, что пороговая переменная .
Вычислите оптимальные прогнозы точки
Обработайте первые 100 наблюдений за данными о симулированном отклике как предварительная выборка для прогноза и обработайте последние 10 наблюдений как выборку затяжки.
idx0 = 1:100; idx1 = 101:120; y0 = y(idx0); y1 = y(idx1);
Вычислите 1-через 20 шагов вперед оптимальные прогнозы точки из модели.
yf = forecast(Mdl,y0,20);
yf 20 1 вектор из оптимальных прогнозов точки.
Отобразите на графике данные о симулированном отклике и прогнозы.
figure hold on plot(idx0,y0,'b'); h = plot(idx1,y1,'b--'); h1 = plot(idx1,yf,'r'); yfill = [ylim fliplr(ylim)]; xfill = [idx0(end) idx0(end) idx1(end) idx1(end)]; fill(xfill,yfill,'k','FaceAlpha',0.05) legend([h h1],["Actual" "Optimal"],'Location','NorthWest') title('Forecasts') hold off

forecast должен использовать Методы Монте-Карло, чтобы оценить отклонения ошибки прогноза. Поэтому, когда simulate возвращает дисперсии ошибки прогноза, это использует Методы Монте-Карло, чтобы вычислить прогнозы точки.
Создайте модель SETAR в, Вычисляют Оптимальные Прогнозы Точки.
t = 0; tt = threshold(t); c1 = -1; c2 = 1; ar = 0.6; mdl1 = arima(Constant=c1,AR=ar); mdl2 = arima(Constant=c2,AR=ar); mdl = [mdl1; mdl2]; Mdl = tsVAR(tt,mdl,Covariance=0.5);
forecast требует, чтобы достаточно данных перед горизонтом прогноза инициализировало модель. Симулируйте 120 наблюдений от DGP.
rng(100); % For reproducibility
fh = 20;
y = simulate(Mdl,100+fh);Обработайте первые 100 наблюдений за данными о симулированном отклике как предварительная выборка для прогноза и обработайте последние 20 наблюдений как выборку затяжки.
idx0 = 1:100; idx1 = 101:(100 + fh); y0 = y(idx0); y1 = y(idx1);
Вычислите 1-через 20 шагов вперед оптимальные прогнозы точки из модели.
yf1 = forecast(Mdl,y0,fh);
yf1 20 1 вектор из оптимальных прогнозов точки.
Вычислите 1-через 20 шагов вперед прогнозы точки Монте-Карло путем возвращения предполагаемых дисперсий ошибки прогноза.
[yf2,estVar] = forecast(Mdl,y0,fh);
yf2 20 1 вектор из прогнозов точки Монте-Карло. estVAR 20 1 вектор из соответствующих предполагаемых отклонений ошибки прогноза.
Отобразите на графике данные о симулированном отклике, прогнозы и 95%-е интервалы прогноза с помощью оценок Монте-Карло.
figure hold on plot(idx0,y0,'b'); h = plot(idx1,y1,'b--'); h1 = plot(idx1,yf1,'r'); h2 = plot(idx1,yf2,'m'); ciu = yf2 + 1.96*sqrt(estVar); % Upper 95% confidence level cil = yf2 - 1.96*sqrt(estVar); % Lower 95% confidence level plot(idx1,ciu,'m-.'); plot(idx1,cil,'m-.'); yfill = [ylim,fliplr(ylim)]; xfill = [idx0(end) idx0(end) idx1(end) idx1(end)]; fill(xfill,yfill,'k','FaceAlpha',0.05) legend([h h1 h2],["Actual" "Optimal" "Estimated"],... 'Location',"NorthWest") title("Point and Interval Forecasts") hold off

Когда forecast выполняет Методы Монте-Карло, чтобы оценить прогнозы точки и ковариации ошибки прогноза, можно настроить количество путей к выборке путем определения NumPaths опция.
Создайте модель SETAR в, Вычисляют Оптимальные Прогнозы Точки.
t = 0; tt = threshold(t); c1 = -1; c2 = 1; ar = 0.6; mdl1 = arima(Constant=c1,AR=ar); mdl2 = arima(Constant=c2,AR=ar); mdl = [mdl1; mdl2]; Mdl = tsVAR(tt,mdl,Covariance=0.5);
forecast требует, чтобы достаточно данных перед горизонтом прогноза инициализировало модель. Симулируйте 120 наблюдений от DGP.
rng(100); % For reproducibility
fh = 20;
y = simulate(Mdl,100+fh);Обработайте первые 100 наблюдений за данными о симулированном отклике как предварительная выборка для прогноза и обработайте последние 20 наблюдений как выборку затяжки.
idx0 = 1:100; idx1 = 101:(100 + fh); y0 = y(idx0); y1 = y(idx1);
Вычислите 1-через 20 шагов вперед оптимальные прогнозы точки из модели.
yf1 = forecast(Mdl,y0,fh);
Вычислите 1-через 20 шагов вперед прогнозы точки Монте-Карло путем возвращения предполагаемых дисперсий ошибки прогноза. Задайте выборку Монте-Карло 1 000 путей.
[yf2,estVar] = forecast(Mdl,y0,fh,NumPaths=1000);
yf2 20 1 вектор из прогнозов точки Монте-Карло. estVAR 20 1 вектор из соответствующих предполагаемых отклонений ошибки прогноза.
Отобразите на графике данные о симулированном отклике, прогнозы и 95%-е интервалы прогноза с помощью оценок Монте-Карло.
figure hold on plot(idx0,y0,'b'); h = plot(idx1,y1,'b--'); h1 = plot(idx1,yf1,'r'); h2 = plot(idx1,yf2,'m'); ciu = yf2 + 1.96*sqrt(estVar); % Upper 95% confidence level cil = yf2 - 1.96*sqrt(estVar); % Lower 95% confidence level plot(idx1,ciu,'m-.'); plot(idx1,cil,'m-.'); yfill = [ylim,fliplr(ylim)]; xfill = [idx0(end) idx0(end) idx1(end) idx1(end)]; fill(xfill,yfill,'k',FaceAlpha=0.05) legend([h h1 h2],["Actual" "Optimal" "Estimated"],Location="NorthWest") title("Point and Interval Forecasts") hold off

Рассмотрите логистическую переключающую порог модель (LSTAR) для действительного темпа роста GDP США, где каждая подмодель является AR (4), и пороговая переменная является темпом роста безработицы.
Создайте частично заданный пороговый переход для темпа роста безработицы. Задайте логистическую функцию перехода, и неизвестное, допускающее оценку, среднего уровня и уровень. Пометьте состояния "Contaction" и "Expansion".
tt = threshold(NaN,Type="logistic",Rates=NaN,... StateNames=["Contraction" "Expansion"]);
tt частично заданный threshold объект, и это - агностик переменной и данных, которые это представляет.
Создайте переключающую порог модель для действительного темпа роста GDP США.
p = 4; mdl = [arima(ARLags=p); arima(ARLags=p)]; Mdl = tsVAR(tt,mdl);
Mdl частично заданный tsVAR объект, задающий sturcture модели и какие параметры являются допускающими оценку.
Загрузите ежеквартальные США макроэкономический набор данных Data_USEconModel. Удалите ведущие отсутствующие значения в ряду. Вычислите действительный рост процента GDP и рост безработицы.
load Data_USEconModel DataTable = rmmissing(DataTable,DataVariables=["GDP" "GDPDEF" "UNRATE"]); RGDP = DataTable.GDP./DataTable.GDPDEF; rRGDP = price2ret(RGDP); % Response data gUNRATE = diff(DataTable.UNRATE); % Exogenous thresold data dts = DataTable.Time(2:end); T = numel(dts);
Протяните следующие наборы от оценки:
Первые четыре наблюдения как предварительная выборка для оценки.
Итоговые 25% как горизонт прогноза, чтобы соответствовать прогнозам.
fh = ceil(0.25*T); idxPre = 1:p; idxEst = (idxPre(end)+1):(T-fh); idxF = (T-fh+1):T;
Чтобы инициализировать процедуру оценки, полностью задайте пороговый переход, который имеет ту же структуру как tt, но набор среднего уровня к 0 и уровень 1 (значение по умолчанию).
tt0 = threshold(0,Type=tt.Type);
Подбирайте модель LSTAR к периоду оценки ряда темпа роста GDP США. Задайте следующие параметры:
Установите Y0 к ответам перед периодом оценки, чтобы инициализировать компоненты подмодели AR.
Установите Type к "exogenous" охарактеризовать пороговую переменную.
Установите Z к пороговым данным о переменной gUNRATE в период оценки.
EstMdl = estimate(Mdl,tt0,rRGDP(idxEst),Y0=rRGDP(idxPre),... Type="exogenous",Z=gUNRATE(idxEst));
Предскажите действительный ряд темпа роста GDP в горизонт прогноза. Инициализируйте прогнозы путем определения всех ответов в период оценки (прогноз использует только последние, необходимые наблюдения). Охарактеризуйте пороговую переменную и обеспечьте ее данные в горизонте прогноза.
yF = forecast(EstMdl,rRGDP(idxEst),fh,Type="exogenous",Z=gUNRATE(idxF));Постройте действительный ряд темпа роста GDP с прогнозами.
figure hold on h1 = plot(dts(idxEst),rRGDP(idxEst),'b'); h2 = plot(dts(idxF),rRGDP(idxF),'b--'); h3 = plot(dts(idxF),yF,'r'); yfill = [ylim,fliplr(ylim)]; xfill = dts([idxEst(end) idxEst(end) idxF(end) idxF(end)]); fill(xfill,yfill,'k',FaceAlpha=0.05) legend([h1 h2 h3],["Data (estimation)" "Data (hold out)" "Forecasts"],... Location="NorthWest") title("Real GDP Growth Rate Point Forecasts") hold off

Рассмотрите следующую 2D модель LSETAR.
Состояние 1, "Low": где
Состояние 2, "Med": где
Состояние 3, "High": где
Система находится в состоянии 1 когда , система находится в состоянии 2 когда , и система находится в состоянии 3 в противном случае.
Функция перехода является логистической. Уровень перехода от состояния 1 - 2 3.5, и уровень перехода от состояния 1 - 3 1.5.
Создайте логистические пороговые переходы в середине уровней-1 и 1 с уровнями 3.5 и 1.5 соответственно. Пометьте состояния.
t = [-1 1]; r = [3.5 1.5]; stateNames = ["Low" "Med" "High"]; tt = threshold(t,Type="logistic",Rates=[3.5 1.5],StateNames=stateNames);
Создайте подмодели VAR при помощи varm. Сохраните подмодели в векторе с порядком, соответствующим режимам в tt.StateNames.
% Constants (numSeries x 1 vectors) C1 = [1; -1]; C2 = [2; -2]; C3 = [3; -3]; % Autoregression coefficients (numSeries x numSeries matrices) AR1 = {}; % 0 lags AR2 = {[0.5 0.1; 0.5 0.5]}; % 1 lag AR3 = {[0.25 0; 0 0] [0 0; 0.25 0]}; % 2 lags % Innovations covariances (numSeries x numSeries matrices) Sigma1 = [1 -0.1; -0.1 1]; Sigma2 = [2 -0.2; -0.2 2]; Sigma3 = [3 -0.3; -0.3 3]; % VAR Submodels mdl1 = varm('Constant',C1,'AR',AR1,'Covariance',Sigma1); mdl2 = varm('Constant',C2,'AR',AR2,'Covariance',Sigma2); mdl3 = varm('Constant',C3,'AR',AR3,'Covariance',Sigma3); mdl = [mdl1; mdl2; mdl3];
Создайте модель LSETAR из переключающегося механизма tt и подмодели состояния специфичные mdl. Пометьте серию Y1 и Y2.
Mdl = tsVAR(tt,mdl,SeriesNames=["Y1" "Y2"])
Mdl =
tsVAR with properties:
Switch: [1x1 threshold]
Submodels: [3x1 varm]
NumStates: 3
NumSeries: 2
StateNames: ["Low" "Med" "High"]
SeriesNames: ["Y1" "Y2"]
Covariance: []
Mdl полностью заданный tsVAR объект, представляющий многомерную модель LSETAR с тремя состояниями. tsVAR объектные функции позволяют вам задать пороговые характеристики переменной и данные.
Симулируйте ответы для предварительной выборки прогноза
Необходимо задать достаточно преддемонстрационных наблюдений, чтобы инициализировать все компоненты AR в моделях VAR и эндогенной пороговой переменной. Самый большой порядок компонента AR равняется 2, и пороговая задержка переменной равняется 4, поэтому simulate и forecast потребуйте 4 преддемонстрационных наблюдений на ряд и путь.
Симулируйте один 2D путь 100 наблюдений из модели. Задайте эндогенную пороговую переменную и ее задержку, .
rng(1) % For reproducibility
numObs = 100;
Y0F = simulate(Mdl,numObs,Delay=4,Index=2);Y0F 100 2 матрица, представляющая один случайный путь, симулированный от Mdl.
Предскажите ответы
Предскажите модель LSETAR в горизонт с 50 периодами. Задайте эндогенную пороговую переменную и ее задержку.
fh = 50; YF = forecast(Mdl,Y0F,fh,Index=2,Delay=4);
Y 20 2 матрица 20 пошаговых предсказанных ответов от Mdl.
Постройте симулированный путь и прогнозы для каждой переменной на отдельных графиках.
tiledlayout(2,1) nexttile plot(1:100,Y0F(:,1),"b",101:(100+fh),YF(:,1),"r--") title("Y1") legend(["Presample" "Forecasts"]) nexttile plot(1:100,Y0F(:,2),"b",101:(100+fh),YF(:,2),"r--") legend(["Presample" "Forecasts"]) title("Y2")

Рассмотрите включая компоненты регрессии для внешних переменных в каждой подмодели переключающей порог модели динамической регрессии в Прогнозе Многомерную Модель LSETAR.
Полностью задайте модель LSETAR
Создайте логистические пороговые переходы в середине уровней-1 и 1 с уровнями 3.5 и 1.5 соответственно. Пометьте состояния.
t = [-1 1]; r = [3.5 1.5]; stateNames = ["Low" "Med" "High"]; tt = threshold(t,Type="logistic",Rates=[3.5 1.5],StateNames=stateNames)
tt =
threshold with properties:
Type: 'logistic'
Levels: [-1 1]
Rates: [3.5000 1.5000]
StateNames: ["Low" "Med" "High"]
NumStates: 3
Примите, что следующие модели VARX описывают процессы ответа системы:
Состояние 1: где
Состояние 2: где
Состояние 3: где
представляет одну внешнюю переменную, представляет две внешних переменные, и представляет три внешних переменные. Сохраните подмодели в векторе.
% Constants (numSeries x 1 vectors) C1 = [1; -1]; C2 = [2; -2]; C3 = [3; -3]; % Regression coefficients (numSeries x numRegressors matrices) Beta1 = [1; -1]; % 1 regressor Beta2 = [2 2; -2 -2]; % 2 regressors Beta3 = [3 3 3; -3 -3 -3]; % 3 regressors % Autoregression coefficients (numSeries x numSeries matrices) AR1 = {}; AR2 = {[0.5 0.1; 0.5 0.5]}; AR3 = {[0.25 0; 0 0] [0 0; 0.25 0]}; % Innovations covariances (numSeries x numSeries matrices) Sigma1 = [1 -0.1; -0.1 1]; Sigma2 = [2 -0.2; -0.2 2]; Sigma3 = [3 -0.3; -0.3 3]; %VARX submodels mdl1 = varm(Constant=C1,AR=AR1,Beta=Beta1,Covariance=Sigma1); mdl2 = varm(Constant=C2,AR=AR2,Beta=Beta2,Covariance=Sigma2); mdl3 = varm(Constant=C3,AR=AR3,Beta=Beta3,Covariance=Sigma3); mdl = [mdl1; mdl2; mdl3];
Создайте модель LSETAR из переключающегося механизма tt и подмодели состояния специфичные mdl. Пометьте серию Y1 и Y2.
Mdl = tsVAR(tt,mdl,SeriesNames=["Y1" "Y2"]);
Предскажите ответы, игнорирующие компонент регрессии
Если вы не снабжаете внешними данными, forecast игнорирует компоненты регрессии в подмоделях.
Получите предварительную выборку, от которой можно предсказать путем симуляции одного 2D пути 100 наблюдений из модели. Задайте эндогенную пороговую переменную и ее задержку, .
rng(1) % For reproducibility
numObs = 100;
Y0F = simulate(Mdl,numObs,Delay=4,Index=2);Предскажите модель LSETAR в горизонт с 50 периодами. Задайте эндогенную пороговую переменную и ее задержку.
fh = 50; YF = forecast(Mdl,Y0F,fh,Index=2,Delay=4);
Постройте симулированный путь и прогнозы для каждой переменной на отдельных графиках.
figure; plot(1:numObs,Y0F(:,1),"b",(numObs+1):(numObs+fh),YF(:,1),"r--") title("Y1") legend(["Presample" "Forecasts"]) nexttile

plot(1:numObs,Y0F(:,2),"b",(numObs+1):(numObs+fh),YF(:,2),"r--") legend(["Presample" "Forecasts"]) title("Y2")

Симулируйте данные включая компонент регрессии
forecast требует внешних данных для того, чтобы сгенерировать случайные пути из модели.
Примите следующие модели AR для регрессоров:
, где .
, где .
, где .
MdlX1 = arima(Constant=1,AR={0.1},Variance=1);
MdlX2 = arima(Constant=2,AR={0 0.2},Variance=2);
MdlX3 = arima(Constant=3,AR={0 0 0.3},Variance=3);Симулируйте 100 наблюдений из каждой модели, чтобы представлять в выборочных данных для внешних предикторов.
X10F = simulate(MdlX1,numObs); X20F = simulate(MdlX2,numObs); X30F = simulate(MdlX3,numObs); X0F = [X10F X20F X30F];
Предскажите 50 наблюдений из каждой модели, чтобы представлять внешние данные в горизонте прогноза. Задайте симулированный в выборочных данных как предварительную выборку.
X1F = forecast(MdlX1,numObs,Y0=X10F); X2F = forecast(MdlX2,numObs,Y0=X20F); X3F = forecast(MdlX3,numObs,Y0=X30F); XF = [X1F X2F X3F];
Получите преддемонстрационные данные об ответе, из которых можно предсказать путем симуляции одного 2D пути 100 наблюдений из модели. Задайте эндогенную пороговую переменную и ее задержку, и задайте симулированные внешние данные.
Y0FX = simulate(Mdl,numObs,Delay=4,Index=2,X=X0F);
Предскажите модель LSETAR в горизонт с 50 периодами. Укажите, что эндогенная пороговая переменная и ее задержка, ans задает внешние данные в горизонте прогноза.
YFX = forecast(Mdl,Y0FX,fh,Index=2,Delay=4,X=XF); figure; plot(1:numObs,Y0FX(:,1),"b",(numObs+1):(numObs+fh),YFX(:,1),"r--") title("Y1") legend(["Presample" "Forecasts"]) nexttile

plot(1:numObs,Y0FX(:,2),"b",(numObs+1):(numObs+fh),YFX(:,2),"r--") legend(["Presample" "Forecasts"]) title("Y2")

Y — Данные об ответеДанные об ответе, которые вводят начальные значения для прогнозов в виде numObs- numSeries числовая матрица.
numObs объем выборки. numSeries количество переменных отклика (Mdl.NumSeries).
Строки соответствуют наблюдениям, и последняя строка содержит последнее наблюдение. Столбцы соответствуют отдельным переменным отклика.
Y должен содержать достаточно наблюдений, чтобы инициализировать термины AR всех подмоделей. Для самовозбуждающихся моделей, Y должен также содержать достаточно наблюдений, чтобы инициализировать отсроченную реакцию y j, t −d.
Прогнозы YF представляйте продолжение Y.
Типы данных: double
numPeriods — Предскажите горизонтПредскажите горизонт или количество моментов времени в период прогноза в виде положительного целого числа.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'X',X использует матричный X как внешние данные в горизонте прогноза, чтобы оценить компоненты регрессии в модели.Type — Тип пороговых данных о переменной"endogenous" (значение по умолчанию) | "exogenous"Тип пороговых данных о переменной в виде значения в этой таблице.
| Значение | Описание |
|---|---|
"endogenous" | Модель является самовозбуждающейся с пороговыми данными о переменной сгенерированный ответом j, где
|
"exogenous" | Пороговая переменная является внешней к системе. Аргумент 'Z' значения имени задает пороговые данные о переменной и требуется. |
Пример: Type="exogenous",Z=z задает данные z для внешней пороговой переменной.
Пример: Type="endogenous",Index=2,Delay=4 задает эндогенную пороговую переменную как y 2, t −4, чьими данными является Y(:,2).
Типы данных: char | string | cell
Z — Данные о переменной Threshold zt[]) (значение по умолчанию) | числовой вектор | числовая матрицаДанные о переменной Threshold в горизонте прогноза, для прогнозов типа "exogenous"В виде числового вектора из длины numPeriods.
Типы данных: double
Delay — Переменная Threshold задерживает d в y j, t −d (значение по умолчанию) | положительное целое числоПеременная Threshold задерживает d в y j, t −d, для прогнозов типа "endogenous"В виде положительного целого числа.
Пример: Delay=4 указывает, что пороговой переменной является y 2, t −d, где j является значением Index
Типы данных: double
Index — Переменная Threshold индексирует j в y j, t −d (значение по умолчанию) | скаляр в 1:Mdl.NumSeriesПеременная Threshold индексирует j в y j, t −d, для прогнозов типа "endogenous"В виде скаляра в 1:Mdl.NumSeries.
forecast игнорирует Index для одномерных моделей AR.
Пример: Index=2 указывает, что пороговой переменной является y 2, t −d, где d является значением Delay
Типы данных: double
X — Данные о предиктореДанные о предикторе в горизонте прогноза раньше оценивали компоненты регрессии во всех подмоделях MdlВ виде числовой матрицы или вектора ячейки из числовых матриц. Первая строка X содержит наблюдения в период после периода, представленного последним наблюдением в Y.
Чтобы использовать подмножество тех же предикторов в каждом состоянии, задайте X как матрица с numPreds столбцы и по крайней мере numPeriods 'Строки' . Столбцы соответствуют отличным переменным предикторам. Подмодели используют первоначальные столбцы связанной матрицы, в порядке, до количества предикторов подмодели. Количество столбцов в Beta свойство Mdl. SubModels ( определяет количество внешних переменных в компоненте регрессии подмодели j). Если количество строк превышает jnumPeriodsто forecast использует самые ранние наблюдения.
Чтобы использовать различные предикторы в каждом состоянии, задайте вектор ячейки из таких матриц с длиной numStates.
По умолчанию, forecast игнорирует компоненты регрессии в Mdl.
Типы данных: double
NumPaths — Количество демонстрационных путей, чтобы сгенерировать (значение по умолчанию) | положительное целое числоКоличество демонстрационных путей, чтобы сгенерировать для симуляции в виде положительного целого числа. Если forecast возвращает только YF, это игнорирует NumPaths.
Пример: NumPaths=1000
Типы данных: double
YF — Укажите прогнозыУкажите прогнозы, возвращенные как numPeriods- numSeries числовая матрица.
Если forecast возвращает только YF, представляет пошагово-оптимальные прогнозы. В противном случае, forecast симуляция Монте-Карло использования, чтобы оценить YF.
EstCov — Ковариации ошибки прогнозаКовариации ошибки прогноза, возвращенные как числовой вектор-столбец или числовой массив.
Если подмодели Mdl.SubModels представляйте одномерные модели ARX, EstCov numPeriods- 1 вектор. Если Mdl.SubModels представляйте многомерные модели VARX, EstCov numSeries- numSeries- numPeriods массив.
forecast выполняет симуляцию Монте-Карло, чтобы вычислить EstCov.
Примечание
[1] Браун, Брайан В. и Роберто С. Мариано. "Предикторы в Динамических Нелинейных Моделях: Поведение большой выборки". Эконометрическая Теория, 5 (декабрь 1989): 430–52. https://doi.org/10.1017/S0266466600012603.
[2] Клементс, Майкл П. и Джереми Смит. "Эффективность Альтернативных Методов прогнозирования для Моделей SETAR". Международный журнал Прогнозирования, 13 (декабрь 1997): 463–75. https://doi.org/10.1016/S0169-2070 (97) 00017-4.
[3] Хиндмен, Роб Дж. "Области Прогноза самой высокой плотности для Нелинейных и Ненормальных Моделей Временных рядов". Журнал Прогнозирования, 14 (сентябрь 1995): 431–41. https://doi.org/10.1002/for.3980140503.
[4] Лин, Jin-легкое и Клайв В. Дж. Грейнджер. "Предсказывая из Нелинейных Моделей на практике". Журнал Прогнозирования, 3 (январь 1994): 1–9. https://doi.org/10.1002/for.3980130102.
[5] Teräsvirta, Tima. "Моделируя экономические отношения с регрессиями плавного перехода". В А. Аллэхэнде и D.E.A. Джайлс (редакторы)., руководство прикладной экономической статистики, 507 — 552. Нью-Йорк: Марсель Деккер, 1998.
[6] ван Дейк, Дик. Модели Плавного перехода: Расширения и Выброс Устойчивый Вывод. Роттердам, Нидерланды: Ряд Исследования Института Тинбергена, 1999.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.