Подбирайте переключающую порог модель динамической регрессии к данным
оценочные параметры переключающей порог модели EstMdl
= estimate(Mdl
,tt0
,Y
)Mdl
динамической регрессии.
estimate
подбирает модель к данным об ответе Y
, и инициализирует процедуру оценки путем обработки значений параметров полностью заданных пороговых переходов tt0
как начальные значения. estimate
реализует версию условного алгоритма наименьших квадратов, описанного в [4].
дополнительные опции использования заданы одними или несколькими аргументами name-value. Например, EstMdl
= estimate(Mdl
,tt0
,Y
,Name,Value
)estimate(Mdl,tt0,Y,IterationPlot=true)
отображает график логарифмической правдоподобности по сравнению с шагом итерации, после того, как алгоритм остановится.
Оцените точность оценки с помощью симулированных данных из известного генерирующего данные процесса (DGP). Этот пример использует произвольные значения параметров.
Создайте модель для DGP
Создайте дискретный пороговый переход в 1
среднего уровня.
ttDGP = threshold(1)
ttDGP = threshold with properties: Type: 'discrete' Levels: 1 Rates: [] StateNames: ["1" "2"] NumStates: 2
ttDGP
threshold
объект, представляющий механизм переключения состояния DGP.
Создайте следующую полностью заданную самовозбуждающуюся модель TAR (SETAR) для DGP.
Состояние 1: .
Состояние 2: .
.
Задайте подмодели при помощи arima
.
mdl1DGP = arima(Constant=0); mdl2DGP = arima(Constant=2); mdlDGP = [mdl1DGP mdl2DGP];
Поскольку инновационное распределение является инвариантным через состояния, tsVAR
программное обеспечение игнорирует значение инновационного отклонения подмодели (Variance
свойство.
Создайте переключающую порог модель для DGP. Задайте инновационное отклонение всей модели.
MdlDGP = tsVAR(ttDGP,mdlDGP,Covariance=1);
MdlDGP
tsVAR
объект, представляющий DGP.
Симулируйте пути к ответу от DGP
Сгенерируйте случайный путь к ответу длины 100 от DGP. По умолчанию, simulate
принимает модель SETAR с задержкой , другими словами, пороговая переменная .
rng(1) % For reproducibiliy
y = simulate(MdlDGP,100);
y
100 1 вектор из представления пути к симулированному отклику.
Создайте модель для оценки
Создайте частично заданную переключающую порог модель, которая имеет ту же структуру как генерирующий данные процесс, но задайте переход, среднего уровня, коэффициенты подмодели и константа всей модели как неизвестный для оценки.
tt = threshold(NaN); mdl1 = arima('Constant',NaN); mdl2 = arima('Constant',NaN); Mdl = tsVAR(tt,[mdl1,mdl2],'Covariance',NaN);
Mdl
частично заданный tsVAR
объект, представляющий шаблон для оценки. NaN
- ценные элементы Switch
и Submodels
свойства указывают на допускающие оценку параметры.
Mdl
агностик пороговой переменной; tsVAR
объектные функции позволяют вам задать пороговые характеристики переменной или данные.
Создайте пороговые переходы, содержащие начальные значения
Процедура оценки требует начальных значений для всех допускающих оценку пороговых параметров перехода.
Полностью задайте пороговый переход, который имеет ту же структуру как tt
, но набор среднего уровня к 0
.
tt0 = threshold(0);
tt0
полностью заданный threshold
объект.
Оценочная модель
Подбирайте модель к симулированному пути. По умолчанию модель сам, возбуждение и задержка пороговой переменной .
EstMdl = estimate(Mdl,tt0,y)
EstMdl = tsVAR with properties: Switch: [1x1 threshold] Submodels: [2x1 varm] NumStates: 2 NumSeries: 1 StateNames: ["1" "2"] SeriesNames: "1" Covariance: 1.0225
EstMdl
полностью заданный tsVAR
объект, представляющий предполагаемую модель SETAR.
Отобразите сводные данные оценки подмоделей.
summarize(EstMdl)
Description 1-Dimensional tsVAR Model with 2 Submodels Switch Transition Type: discrete Estimated Levels: 1.128 Fit Effective Sample Size: 99 Number of Estimated Parameters: 2 Number of Constrained Parameters: 0 LogLikelihood: -141.574 AIC: 287.149 BIC: 292.339 Submodels Estimate StandardError TStatistic PValue ________ _____________ __________ __________ State 1 Constant(1) -0.12774 0.13241 -0.96474 0.33467 State 2 Constant(1) 2.1774 0.16829 12.939 2.7264e-38
Оценки близко к их истинным значениям.
Постройте предполагаемый механизм переключения с пороговыми данными, которые являются данными об ответе.
figure
ttplot(EstMdl.Switch,'Data',y)
estimate
не соответствует параметру задержки к данным; необходимо задать его значение, когда вы вызываете estimate
. В этом примере показано, как настроиться .
Создайте следующую полностью заданную модель SETAR для DGP.
Состояние 1: , где .
Состояние 2: , где
Система находится в состоянии 1 когда , и это находится в состоянии 2 в противном случае.
ttDGP = threshold(0); mdl1DGP = arima(Constant=0,Variance=1); mdl2DGP = arima(Constant=2,Variance=2); mdlDGP = [mdl1DGP; mdl2DGP]; MdlDGP = tsVAR(ttDGP,mdlDGP);
Сгенерируйте случайный путь к ответу длины 200 от DGP. Укажите, что пороговой задержкой переменной является 4
.
rng(1) % For reproducibiliy
y = simulate(MdlDGP,200,Delay=4);
plot(y)
Создайте частично заданную переключающую порог модель, которая имеет ту же структуру как генерирующий данные процесс, но задайте переход, среднего уровня, коэффициенты подмодели и отклонения состояния специфичные как неизвестный для оценки.
tt = threshold(NaN); mdl = arima(0,0,0); Mdl = tsVAR(tt,[mdl; mdl]);
Полностью задайте пороговый переход, который имеет ту же структуру как tt, но устанавливает среднего уровня на 0.5
.
tt0 = threshold(0.5);
Настройтесь выбирая набор вероятных значений для него и подбирая модель SETAR к симулированным данным для каждого значения в наборе. Выберите модель, которая минимизирует логарифмическую правдоподобность.
d = 1:8; nd = numel(d); logL = zeros(nd,1); % Preallocate for loglikelihoods EstMdl = cell(nd,1); % Preallocate for estimated models for j = 1:nd [EstMdl{j},logL(j)] = estimate(Mdl,tt0,y,Delay=d(j)); end
Извлеките модель, которая минимизирует логарифмическую правдоподобность.
[~,optDelay] = max(logL)
optDelay = 4
OptEstMdl = EstMdl{optDelay};
Оптимальной задержкой является 4
, который совпадает с задержкой DGP.
Отобразите сводные данные оценки оптимальной модели и отобразите ее предполагаемый механизм переключения.
summarize(OptEstMdl)
Description 1-Dimensional tsVAR Model with 2 Submodels Switch Transition Type: discrete Estimated Levels: -0.063 Fit Effective Sample Size: 196 Number of Estimated Parameters: 2 Number of Constrained Parameters: 0 LogLikelihood: -336.184 AIC: 676.367 BIC: 682.923 Submodels Estimate StandardError TStatistic PValue ________ _____________ __________ __________ State 1 Constant(1) -0.33535 0.24271 -1.3817 0.16707 State 2 Constant(1) 2.0073 0.10647 18.853 2.7794e-79
Оценки близко к параметрам DGP.
Создайте следующую полностью заданную модель SETAR для DGP.
Состояние 1: .
Состояние 2: .
Состояние 3:.
.
Система находится в состоянии 1 когда , система находится в состоянии 2 когда 3, и система находится в состоянии 3 в противном случае.
t = [-3 3]; ttDGP = threshold(t); constant1 = [-1; -4]; constant2 = [1; 4]; constant3 = [1; 4]; AR1 = [-0.5 0.1; 0.2 -0.75]; AR3 = [0.5 0.1; 0.2 0.75]; Sigma = [2 -1; -1 1]; mdl1DGP = varm(Constant=constant1,AR={AR1}); mdl2DGP = varm(Constant=constant2); mdl3DGP = varm(Constant=constant3,AR={AR3}); mdlDGP = [mdl1DGP; mdl2DGP; mdl3DGP]; MdlDGP = tsVAR(ttDGP,mdlDGP,Covariance=Sigma);
Сгенерируйте случайный путь к ответу длины 500 от DGP. Укажите что вторая переменная отклика с задержкой 4 как пороговая переменная.
rng(10) % For reproducibiliy
y = simulate(MdlDGP,500,Index=2,Delay=4);
Создайте частично заданную переключающую порог модель, которая имеет ту же структуру как DGP, но задайте переход, среднего уровня, коэффициенты подмодели и ковариация всей модели как неизвестный для оценки.
tt = threshold([NaN; NaN]); mdlar = varm(2,1); mdlc = varm(2,0); Mdl = tsVAR(tt,[mdlar; mdlc; mdlar],Covariance=nan(2));
Полностью задайте пороговый переход, который имеет ту же структуру как tt
, но набор середина уровней к-1 и 1.
t0 = [-1 1]; tt0 = threshold(t0);
Подбирайте переключающую порог модель к симулированному ряду. Задайте пороговую переменную . Постройте логарифмическую правдоподобность после каждой итерации порогового алгоритма поиска.
EstMdl = estimate(Mdl,tt0,y,IterationPlot=true,Index=2,Delay=4);
График отображает эволюцию логарифмической правдоподобности, когда процедура оценки ищет оптимальные уровни. Процедура завершает работу, когда одному из критерия остановки удовлетворяют.
Отобразите сводные данные оценки модели.
summarize(EstMdl)
Description 2-Dimensional tsVAR Model with 3 Submodels Switch Transition Type: discrete Estimated Levels: -2.877 2.991 Fit Effective Sample Size: 496 Number of Estimated Parameters: 14 Number of Constrained Parameters: 0 LogLikelihood: -1478.416 AIC: 2984.831 BIC: 3043.723 Submodels Estimate StandardError TStatistic PValue ________ _____________ __________ ___________ State 1 Constant(1) -1.0369 0.13859 -7.4821 7.312e-14 State 1 Constant(2) -4.0179 0.09959 -40.345 0 State 1 AR{1}(1,1) -0.43289 0.063204 -6.8491 7.4332e-12 State 1 AR{1}(2,1) 0.20344 0.045419 4.4791 7.4957e-06 State 1 AR{1}(1,2) 0.076123 0.024477 3.1099 0.0018714 State 1 AR{1}(2,2) -0.75607 0.01759 -42.983 0 State 2 Constant(1) 1.0545 0.14882 7.0858 1.382e-12 State 2 Constant(2) 4.1131 0.10694 38.46 1.9763e-323 State 3 Constant(1) 1.0621 0.095701 11.098 1.2802e-28 State 3 Constant(2) 3.8707 0.068772 56.284 0 State 3 AR{1}(1,1) 0.47396 0.058016 8.1694 3.0997e-16 State 3 AR{1}(2,1) 0.23013 0.041691 5.5199 3.3927e-08 State 3 AR{1}(1,2) 0.10561 0.018233 5.7924 6.9371e-09 State 3 AR{1}(2,2) 0.7568 0.013102 57.761 0
Рассмотрите сглаженную переключающую порог модель (STAR) для действительного темпа роста GDP США, где каждая подмодель является AR (4), и пороговая переменная является темпом роста безработицы.
Создайте частично заданный пороговый переход для темпа роста безработицы. Задайте нормальную cdf функцию перехода, и неизвестное, допускающее оценку, среднего уровня и уровень. Пометьте состояния "Contaction"
и "Expansion"
.
tt = threshold(NaN,Type="normal",Rates=NaN,... StateNames=["Contraction" "Expansion"]);
tt
частично заданный пороговый объект, и это - агностик переменной и данных, которые это представляет.
Создайте переключающую порог модель для действительного темпа роста GDP США. Пометьте серию "rRGDP"
.
mdl = arima(4,0,0);
submdls = [mdl; mdl];
Mdl = tsVAR(tt,submdls,SeriesNames="rRGDP");
Загрузите ежеквартальные США макроэкономический набор данных Data_USEconModel.mat
. Вычислите действительный рост процента GDP и рост безработицы.
load Data_USEconModel DataTable = rmmissing(DataTable,DataVariables=["GDP" "GDPDEF" "UNRATE"]); RGDP = DataTable.GDP./DataTable.GDPDEF; rRGDP = price2ret(RGDP)*100; % Response data gUNRATE = diff(DataTable.UNRATE); % Exogenous thresold data dates = DataTable.Time(2:end);
Предположим, что период оценки включает темпы роста от первого квартала 1 950. Идентифицируйте период оценки в основе даты.
startEst = datetime(1950,1,1); idxEst = dates >= startEst;
Чтобы инициализировать оценку procesdure, полностью задайте пороговый переход, который имеет ту же структуру как tt
, но набор среднего уровня к -0.5
и уровень 100
.
tt0 = threshold(-0.5,Type=tt.Type,Rates=100,StateNames=tt.StateNames);
Подбирайте модель STAR к периоду оценки ряда темпа роста GDP США. Задайте следующие параметры:
Установите Y0
к ответам перед периодом оценки, чтобы инициализировать компоненты подмодели AR.
Установите Type
к "внешнему", чтобы охарактеризовать пороговую переменную.
Установите Z на пороговые данные о переменной gUNRATE
в период оценки.
Установите MaxRate
к 150
расширять поиск оптимального уровня функции перехода.
Постройте эволюцию логарифмической правдоподобности.
EstMdl = estimate(Mdl,tt0,rRGDP(idxEst),Y0=rRGDP(~idxEst),... Z=gUNRATE(idxEst),Type="exogenous",MaxRate=150,IterationPlot=true);
Отобразите сводные данные оценки и постройте предполагаемый механизм переключения с пороговыми данными.
summarize(EstMdl)
Description 1-Dimensional tsVAR Model with 2 Submodels Switch Transition Type: normal Estimated Levels: 0.208 Estimated Rates: 74.993 Fit Effective Sample Size: 237 Number of Estimated Parameters: 10 Number of Constrained Parameters: 0 LogLikelihood: -285.022 AIC: 590.043 BIC: 624.724 Submodels Estimate StandardError TStatistic PValue _________ _____________ __________ __________ State 1 Constant(1) 1.0473 0.11549 9.068 1.2125e-19 State 1 AR{1}(1,1) 0.15792 0.068783 2.2959 0.021679 State 1 AR{2}(1,1) 0.059888 0.066409 0.9018 0.36716 State 1 AR{3}(1,1) -0.10455 0.070384 -1.4854 0.13744 State 1 AR{4}(1,1) -0.098037 0.063249 -1.55 0.12114 State 2 Constant(1) -0.12491 0.15383 -0.81197 0.41681 State 2 AR{1}(1,1) 0.15366 0.13993 1.0981 0.27215 State 2 AR{2}(1,1) -0.027925 0.16754 -0.16667 0.86763 State 2 AR{3}(1,1) -0.24366 0.12778 -1.9068 0.056543 State 2 AR{4}(1,1) -0.075389 0.14024 -0.53759 0.59086
figure ttplot(EstMdl.Switch,Data=gUNRATE(idxEst)) dEst = dates(idxEst); xticklabels(string(dEst(xticks)))
Большой уровень предполагает, что мало смешивания находится между моделями каждого режима. Когда ежеквартальное издание unempoyment рост меньше 0,206%, доминирующая модель для темпа роста GDP США находится в EstMdl.Submodels(1)
. В противном случае доминирующая подмодель находится в EstMdl.Submodels(2)
.
Многие коэффициенты незначительны, который может предложить поиск более простой модели.
В этом примере показано, как задать ограничения равенства на допускающие оценку коэффициенты подмодели и пороговые параметры.
Полагайте, что модель для действительного темпа роста GDP США в Задает Преддемонстрационные Данные Для ЗВЕЗДООБРАЗНОЙ Оценки Модели. Примите, что подмодели являются AR (4), но они включают только константу модели (тренд времени в differenced ряду) и четвертая задержка. Кроме того, предположите уровень функции перехода 3 для ряда роста безработицы.
Создайте частично заданный пороговый переход для темпа роста безработицы. Задайте известный уровень перехода.
rConstraint = 3; tt = threshold(NaN,Type="normal",Rates=rConstraint,StateNames=["Contraction" "Expansion"]);
Создайте переключающую порог модель для действительного темпа роста GDP США. Явным образом задайте задержки AR, чтобы включать в подмодели при помощи ARLags
опция.
mdl = arima(ARLags=4);
submdls = [mdl; mdl];
Mdl = tsVAR(tt,submdls,SeriesNames="rRGDP");
Загрузите ежеквартальные США макроэкономический набор данных Data_USEconModel.mat
. Вычислите действительный рост процента GDP и рост безработицы.
load Data_USEconModel DataTable = rmmissing(DataTable,DataVariables=["GDP" "GDPDEF" "UNRATE"]); RGDP = DataTable.GDP./DataTable.GDPDEF; rRGDP = price2ret(RGDP)*100; % Response data gUNRATE = diff(DataTable.UNRATE); % Exogenous thresold data dates = DataTable.Time(2:end);
Предположим, что период оценки включает темпы роста от первого квартала 1 950. Идентифицируйте период оценки в основе даты.
startEst = datetime(1950,1,1); idxEst = dates >= startEst;
Полностью задайте пороговый переход, который имеет ту же структуру как tt
, включая ограничение равенства на уровень функции перехода. Установите начальную букву, среднего уровня на 0.
tt0 = threshold(0,Type=tt.Type,Rates=rConstraint,StateNames=tt.StateNames);
Подбирайте модель STAR к периоду оценки ряда темпа роста GDP США. Задайте следующие параметры:
Установите Y0
к ответам перед периодом оценки, чтобы инициализировать компоненты подмодели AR.
Установите Type
к "exogenous"
охарактеризовать пороговую переменную.
Установите Z
к пороговым данным о переменной gUNRATE
в период оценки.
Установите MaxRate
к 150, чтобы расширить поиск оптимального уровня функции перехода.
Постройте эволюцию логарифмической правдоподобности.
EstMdl = estimate(Mdl,tt0,rRGDP(idxEst),Y0=rRGDP(~idxEst),... Z=gUNRATE(idxEst),Type="exogenous",IterationPlot=true);
Отобразите сводные данные оценки и постройте предполагаемый механизм переключения с пороговыми данными.
summarize(EstMdl)
Description 1-Dimensional tsVAR Model with 2 Submodels Switch Transition Type: normal Estimated Levels: 0.228 Estimated Rates: 3.000 Fit Effective Sample Size: 237 Number of Estimated Parameters: 4 Number of Constrained Parameters: 6 LogLikelihood: -267.892 AIC: 543.784 BIC: 557.656 Submodels Estimate StandardError TStatistic PValue _________ _____________ __________ __________ State 1 Constant(1) 1.5928 0.087805 18.14 1.543e-73 State 1 AR{1}(1,1) 0 0 NaN NaN State 1 AR{2}(1,1) 0 0 NaN NaN State 1 AR{3}(1,1) 0 0 NaN NaN State 1 AR{4}(1,1) -0.11789 0.067607 -1.7438 0.081194 State 2 Constant(1) -0.73667 0.15808 -4.6601 3.1609e-06 State 2 AR{1}(1,1) 0 0 NaN NaN State 2 AR{2}(1,1) 0 0 NaN NaN State 2 AR{3}(1,1) 0 0 NaN NaN State 2 AR{4}(1,1) -0.040337 0.1299 -0.31053 0.75616
figure ttplot(EstMdl.Switch,Data=gUNRATE(idxEst)) dEst = dates(idxEst); xticklabels(string(dEst(xticks)))
Рассмотрите следующий генерирующий данные процесс (DGP) для 2D изменяющейся во времени модели TAR (TVTAR), содержащей внешний компонент регрессии.
Состояние 1: , где и единичная матрица 2 на 2.
Состояние 2: , где .
Состояние 3: , где .
Внешняя пороговая переменная представляет линейный тренд времени за период расчета. В этом примере, период выборки, нормированный на объем выборки.
Система находится в состоянии 1 когда , система находится в состоянии 2 когда , и система находится в состоянии 3 в противном случае.
Создайте модель TVTAR, которая представляет DGP.
tDGP = [0.3 0.6]; ttDGP = threshold(tDGP); % Constant vectors C1 = [1;-1]; C2 = [2;-2]; C3 = [3;-3]; % Common Autoregression coefficient AR = {[0.6 0.1; 0.4 0.2]}; % Regression coefficient vectors Beta1 = [0.2;-0.4]; Beta2 = [0.6;-1.0]; Beta3 = [0.9;-1.3]; % Innovations covariance matrices Sigma1 = 0.5*eye(2); Sigma2 = eye(2); Sigma3 = 1.5*eye(2); % VAR Submodels mdl1 = varm(Constant=C1,AR=AR,Beta=Beta1,Covariance=Sigma1); mdl2 = varm(Constant=C2,AR=AR,Beta=Beta2,Covariance=Sigma2); mdl3 = varm(Constant=C3,AR=AR,Beta=Beta3,Covariance=Sigma3); mdlDGP = [mdl1; mdl2; mdl3]; DGP = tsVAR(ttDGP,mdlDGP);
Для внешних предикторов , симулируйте 2D с 1000 периодами от Распределения Гаусса со средним значением 0 и стандартным отклонением 10.
rng(1); % For reproducibility
numPeriods = 1000;
X = 10*randn(numPeriods,2);
Для пороговой переменной создайте вектор с 1000 элементами из равномерно распределенных элементов от 0 до 1.
z = linspace(0,1,numPeriods)';
Симулируйте путь с 1000 периодами от DGP.
Y = simulate(DGP,numPeriods,X=X,Type="exogenous",Z=z);
Создайте шаблон модели TVTAR для оценки. Задайте все допускающие оценку параметры как неизвестные при помощи NaN
s.
t = [NaN NaN]; tt = threshold(t); mdl = varm(2,1); % Unknown contant and AR coefficient by default. mdl.Beta = NaN(2,1); % Configure exogenous regression component for estimation Mdl = tsVAR(tt,[mdl; mdl; mdl]);
Задайте начальные значения 0,25 и 0.7 для порогов режима.
t0 = [.25 .7]; tt0 = threshold(t0);
Самая большая задержка среди всех моделей равняется 1. Поэтому процедура оценки требует, чтобы одно преддемонстрационное наблюдение инициализировало модель.
Идентифицируйте индексы для необходимой предварительной выборки и идентифицируйте индексы для выборки оценки.
p = mdl.P; idxPre = 1:p; idxEst = (p + 1):numPeriods;
Подбирайте модель TVTAR к данным. Задайте преддемонстрационные ответы Y0
, охарактеризуйте пороговую переменную Type
и предоставьте его данным Z
, и задайте внешние данные X
.
EstMdl = estimate(Mdl,tt0,Y(idxEst,:),Y0=Y(idxPre,:),... Type="exogenous",Z=z(idxEst),X=X(idxEst,:));
Отобразите сводные данные оценки отдельно для каждого состояния и отобразите предполагаемые пороговые переходы.
summarize(EstMdl,1)
Description 2-Dimensional VAR Submodel, State 1 Submodel Estimate StandardError TStatistic PValue ________ _____________ __________ ___________ State 1 Constant(1) 0.6284 0.1463 4.2952 1.7456e-05 State 1 Constant(2) -0.86147 0.1664 -5.1771 2.2538e-07 State 1 AR{1}(1,1) 0.64569 0.046378 13.922 4.6483e-44 State 1 AR{1}(2,1) 0.41777 0.052749 7.92 2.3751e-15 State 1 AR{1}(1,2) 0.11447 0.029747 3.8481 0.00011901 State 1 AR{1}(2,2) 0.18968 0.033833 5.6064 2.0657e-08 State 1 Beta(1,1) 0.12661 0.01005 12.598 2.1562e-36 State 1 Beta(2,1) -0.28306 0.01143 -24.765 2.1434e-135
summarize(EstMdl,2)
Description 2-Dimensional VAR Submodel, State 2 Submodel Estimate StandardError TStatistic PValue ________ _____________ __________ __________ State 2 Constant(1) 2.0016 0.20741 9.6503 4.9028e-22 State 2 Constant(2) -1.919 0.2359 -8.1345 4.1377e-16 State 2 AR{1}(1,1) 0.59692 0.033401 17.871 1.9847e-71 State 2 AR{1}(2,1) 0.37274 0.03799 9.8117 1.0027e-22 State 2 AR{1}(1,2) 0.1173 0.023148 5.0674 4.0337e-07 State 2 AR{1}(2,2) 0.18002 0.026327 6.8376 8.0531e-12 State 2 Beta(1,1) 0.6689 0.014264 46.896 0 State 2 Beta(2,1) -1.122 0.016223 -69.16 0
summarize(EstMdl,3)
Description 2-Dimensional VAR Submodel, State 3 Submodel Estimate StandardError TStatistic PValue ________ _____________ __________ ___________ State 3 Constant(1) 3.1135 0.10796 28.841 6.587e-183 State 3 Constant(2) -3.135 0.12279 -25.533 8.5622e-144 State 3 AR{1}(1,1) 0.61547 0.011379 54.089 0 State 3 AR{1}(2,1) 0.40065 0.012942 30.958 1.9802e-210 State 3 AR{1}(1,2) 0.10685 0.0089014 12.004 3.4042e-33 State 3 AR{1}(2,2) 0.19124 0.010124 18.889 1.3979e-79 State 3 Beta(1,1) 0.92011 0.0080742 113.96 0 State 3 Beta(2,1) -1.3378 0.0091834 -145.68 0
EstMdl.Switch
ans = threshold with properties: Type: 'discrete' Levels: [0.3096 0.5887] Rates: [] StateNames: ["1" "2" "3"] NumStates: 3
Mdl
— Частично заданная переключающая порог модель динамической регрессииtsVAR
объект моделиЧастично заданная переключающая порог модель динамической регрессии раньше указывала на ограниченные и допускающие оценку параметры модели в виде tsVAR
объект модели возвращен tsVAR
. Свойства Mdl
опишите структуру модели и задайте параметры.
estimate
обработки задали параметры как ограничения равенства во время оценки.
estimate
соответствует незаданный (NaN
- оцененный) параметры данным Y
.
Поскольку estimate
вычисляет инновационные ковариации после оценки, вы не можете ограничить их. Если Mdl.Covariance
непусто (см. tsVAR
), estimate
обеспечивает оценку в EstMdl.Covariance
. В противном случае, для каждого
в i
1:Mdl.NumStates
, estimate
обеспечивает инновационную оценку ковариации
состоянияi
в EstMdl. Подмодели (
.i
Ковариация
tt0
— Полностью заданные пороговые переходыthreshold
объектПолностью заданные пороговые переходы раньше инициализировали процедуру оценки в виде threshold
объект возвращен threshold
. Свойства полностью заданного объекта модели не содержат NaN
значения.
tt0
копия Mdl.Switch
с NaN
значения, замененные начальными значениями для уровней (Mdl.Switch.Levels
) и уровни (Mdl.Switch.Rates
). Уровни (tt0.Levels
) и уровни (tt0.Rates
) должен быть в пределах, установленных аргументами name-value 'MaxLevel'
и 'MaxRate'
.
Совет
Для широкого покрытия пространства параметров запустите алгоритм от нескольких экземпляров tt0
. Для получения дополнительной информации см. Алгоритмы.
Y
— Наблюдаемые данные об ответеНаблюдаемые данные об ответе, к который estimate
подбирает модель в виде numObs
- numSeries
числовая матрица.
numObs
объем выборки. numSeries
количество переменных отклика (Mdl.NumSeries
).
Строки соответствуют наблюдениям, и последняя строка содержит последнее наблюдение. Столбцы соответствуют отдельным переменным отклика.
Y
представляет продолжение преддемонстрационного ряда ответа в Y0
.
Типы данных: double
ax
— Оси, на которых можно построить логарифмическую правдоподобность для каждой итерацииAxes
объектОси, на которых можно построить логарифмическую правдоподобность для каждой итерации когда 'IterationPlot'
аргументом значения имени является true
В виде Axes
объект.
По умолчанию, estimate
графики к текущей системе координат (gca
).
Если 'IterationPlot'
false
, estimate
игнорирует ax
.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Type="exogenous",Z=z,IterationPlot=true
задает данные z
для внешней пороговой переменной и графиков логарифмическая правдоподобность для каждой итерации.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
Y0
— Преддемонстрационные данные об ответеПреддемонстрационные данные об ответе в виде numPreSampleObs
- numSeries
числовая матрица.
Количество преддемонстрационных наблюдений numPreSampleObs
должно быть достаточным, чтобы инициализировать термины AR всех подмоделей. Для моделей типа "endogenous"
, количество преддемонстрационных наблюдений должно также быть достаточным, чтобы инициализировать отсроченную реакцию. Если numPreSampleObs
превышает номер, необходимый, чтобы подписать модель, estimate
использование только последние наблюдения. Последняя строка содержит последние наблюдения.
По умолчанию, Y0
начальный сегмент Y
, который уменьшает эффективный объем выборки.
Типы данных: double
Z
— Данные о переменной Threshold zt[]
(значение по умолчанию) | числовой векторДанные о переменной Threshold для моделей типа "exogenous"
В виде числового вектора из длины, по крайней мере, numObs
. Если длина превышает numobs
, estimate
использование только последние наблюдения. Последняя строка содержит последнее наблюдение.
Типы данных: 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
.
estimate
игнорирует Index
для одномерных моделей AR.
Пример: Index=2
указывает, что пороговой переменной является y 2, t −d, где d является значением Delay
Типы данных: double
X
— Данные о предиктореДанные о предикторе раньше оценивали компоненты регрессии во всех подмоделях Mdl
В виде числовой матрицы или вектора ячейки из числовых матриц.
Чтобы использовать подмножество тех же предикторов в каждом состоянии, задайте X
как матрица с numPreds
столбцы и по крайней мере numObs
'Строки' . Столбцы соответствуют отличным переменным предикторам. Подмодели используют первоначальные столбцы связанной матрицы, в порядке, до количества предикторов подмодели. Количество столбцов в Beta
свойство Mdl. SubModels (
определяет количество внешних переменных в компоненте регрессии подмодели j
)
. Если количество строк превышает j
numObs
то estimate
использует последние наблюдения.
Чтобы использовать различные предикторы в каждом состоянии, задайте вектор ячейки из таких матриц с длиной numStates
.
По умолчанию, estimate
игнорирует компоненты регрессии в Mdl
.
Типы данных: double
MaxLevel
— Максимальное отклонение предполагаемых пороговых уровней
(значение по умолчанию) | положительный числовой скалярМаксимальное отклонение предполагаемых пороговых уровней выше или ниже пороговых данных о переменной, z или y j, t −d в виде положительного числового скаляра, представляющего процент области значений.
Значение по умолчанию 0
средние значения, что начальные и предполагаемые уровни должны быть в области значений данных. Значение, больше, чем 0
расширяет область значений поиска.
Пример: MaxLevel=10
расширяет поиск уровней на 10% выше и ниже области значений пороговых данных о переменной.
Типы данных: double
MaxRate
— Максимальные предполагаемые пороговые уровни переходаМаксимальные предполагаемые пороговые уровни перехода в виде положительного числового скаляра или вектора с длиной равняются количеству уровней в Mdl.Switch.Rates
.
Для скаляра все предполагаемые уровни ограничены MaxRate
. Для вектора, оценки Mdl. Switch. (
ограничен j
)MaxRate (
.j
)
estimate
оценивает дискретные уровни перехода как логистические переходы в MaxRate
.
Значением по умолчанию является 10
для каждого уровня.
Пример: MaxLevel=3
границы все предполагаемые уровни в Mdl.Switch.Rates
3
.
Пример: MaxLevel=[5 10]
границы Mdl.Switch.Rates(1)
5
и границы Mdl.Switch.Rates(2)
10
.
Типы данных: double
MaxItertations
— Ограничьте на количестве итераций порогового алгоритма поиска
(значение по умолчанию) | положительное целое числоОграничьте на количестве итераций порогового алгоритма поиска в виде положительного целого числа.
Пример: MaxIterations=1000
Типы данных: double
Tolerance
— Допуск сходимости1e-6
(значение по умолчанию) | положительный числовой скалярДопуск сходимости в виде положительного числового скаляра. Алгоритм поиска останавливается после итерации в который допуск оптимальности на цели логарифмической правдоподобности logL
изменения меньше, чем значение Tolerance
.
Пример: Tolerance=1e-4
Типы данных: double
IterationPlot
— Отметьте указание, показать ли график логарифмической правдоподобности по сравнению с шагом итерацииfalse
(значение по умолчанию) | true
Отметьте указание, показать ли график логарифмической правдоподобности по сравнению с шагом итерации при завершении алгоритма в виде значения в этой таблице.
Значение | Описание |
---|---|
true | Когда алгоритм останавливается, estimate показывает график логарифмической правдоподобности на каждом шаге итерации. |
false | estimate не показывает график. |
Пример: IterationPlot=true
Типы данных: логический
EstMdl
— Предполагаемая переключающая порог модель динамической регрессииtsVAR
объектПредполагаемая переключающая порог модель динамической регрессии, возвращенная как tsVAR
объект. EstMdl
копия Mdl
это имеет NaN
значения заменяются оценками параметра. EstMdl
полностью задан.
logL
— Предполагаемая логарифмическая правдоподобностьh
— Обработайте к графику итерацииОбработайте к графику итерации, возвращенному как графический объект когда IterationPlot
true
.
h
содержит уникальный идентификатор графика, который можно использовать, чтобы запросить или изменить свойства графика.
Несколько факторов могут привести к плохим оценкам параметров модели. Факторы включают:
Пороговые данные не пересекают уровни или достаточно демонстрационные подмодели.
Mdl
содержит больше допускающих оценку параметров, чем поддержки объема выборки.
Неразличимые переходы высокого показателя.
Самовозбуждающиеся авторегрессивные модели с многочисленными источниками эндогенной динамики.
Чтобы улучшить оценки, выполните эти действия:
Управляйте поиском параметра путем экспериментирования с 'MaxLevel'
и 'MaxRate'
аргументы name-value.
Рассмотрите экономную модель с начальными уровнями в области значений пороговых данных о переменной.
Ограничьте определенные параметры потенциально улучшать производительность.
Чтобы оценить задержку d в самовозбуждающейся модели, сравните логарифмическую правдоподобность logL
с различными техническими требованиями для 'Delay'
аргумент значения имени. На практике обычно d ограничивается областью значений рыночной стоимости.
Можно оценить простую изменяющуюся во времени модель STAR (TVSTAR) путем определения внешних пороговых данных z = t, который является линейным трендом времени за период расчета [3].
estimate
поисковые запросы по уровням и уровням для EstMdl.Switch
при решении условной задачи наименьших квадратов для параметров подмодели, максимизации вероятности данных, как описано в [4]. logL
условное выражение на оптимальных значениях параметров в EstMdl.Switch
.
Модели с плавными переходами (ЗВЕЗДООБРАЗНЫЕ модели) представляют ответ как взвешенную смесь условных средних значений от всех подмоделей ([4], Eqn. 3.6). estimate
определяет веса значением пороговой переменной, z или y j, t −d, относительно пороговых уровней. estimate
модели обработок с дискретными переходами (модели TAR) как логистические модели STAR с набором уровней перехода к 'MaxRate'
для того, чтобы снять неоднозначность поисковых уровней, которые падают между пороговыми данными о переменной.
estimate
указатели два типа ограничений равенства.
estimate
вычисляет инновационные отклонения и ковариации после оценки. Поэтому вы не можете ограничить их.
[1] Канал, Кун-Сык и Хауэлл Тонг. “На Оценке Порогов в Авторегрессивных Моделях”. Журнал Анализа Временных рядов 7 (май 1986): 179–90. https://doi.org/10.1111/j.1467-9892.1986.tb00501.x.
[2] Гамильтон, анализ временных рядов Джеймса Д. Принстон, NJ: Издательство Принстонского университета, 1994.
[3] Teräsvirta, Tima. "Моделируя экономические отношения с регрессиями плавного перехода". В А. Аллэхэнде и D.E.A. Джайлс (редакторы)., руководство прикладной экономической статистики, 507 — 552. Нью-Йорк: Марсель Деккер, 1998.
[4] ван Дейк, Дик. Модели Плавного перехода: Расширения и Выброс Устойчивый Вывод. Роттердам, Нидерланды: Ряд Исследования Института Тинбергена, 1999.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.