tsVAR

Создайте переключающую порог модель динамической регрессии

Описание

функция возвращает tsVAR объект, который задает функциональную форму переключающей порог модели динамической регрессии для одномерного или многомерного процесса ответа y t. tsVAR возразите также хранит значения параметров модели.

tsVAR объект имеет два ключевых компонента: переключающийся механизм среди состояний, представленных пороговыми переходами (threshold объект; и подмодели состояния специфичные, или авторегрессивные (ARX) или векторные модели (VARX) авторегрессии (arima или varm объекты), который может содержать внешние компоненты регрессии. Компоненты полностью задают структуру модели. Пороговые уровни перехода, уровни функции плавного перехода и параметры подмодели, такие как коэффициенты AR и отклонение инновационного распределения, являются неизвестными и допускающими оценку, если вы не задаете их значения.

Чтобы оценить модель, содержащую неизвестные значения параметров, передайте модель и данные к estimate. Работать с предполагаемым или полностью заданным tsVAR объект, передайте его объектной функции.

В качестве альтернативы, чтобы создать переключающую Маркова модель динамической регрессии, которой управляла переключающимся механизмом дискретная цепь Маркова, смотрите dtmc и msVAR.

Создание

Описание

пример

Mdl = tsVAR(tt,mdl) создает переключающую порог модель Mdl динамической регрессии (tsVAR объект), который имеет пороговые переходы, переключающие механизм среди состояний tt и устойчивые подмодели динамической регрессии состояния специфичные mdl.

пример

Mdl = tsVAR(tt,mdl,Name,Value) наборы некоторые свойства с помощью синтаксиса аргумента значения имени. Например, tsVAR(tt,mdl,Covariance=Sigma,SeriesNames=["GDP" "CPI"]) генерирует все инновации от ковариационной матрицы Sigma и помечает серию "GDP" ответа подмодели и "CPI", соответственно.

Входные параметры

развернуть все

Пороговые переходы, с NumStates состояния в виде threshold объект.

Состояния представлены в tt.StateNames соответствуйте состояниям, представленным в векторе подмодели mdl.

tsVAR хранилища tt в свойстве Switch.

Подмодели динамической регрессии состояния специфичные в виде длины mc.NumStates вектор из объектов модели индивидуально создается arima или varm. Все подмодели должны иметь тот же тип (arima или varm) и имейте то же количество ряда.

В отличие от других инструментов оценки модели, estimate не выводит размер массивов коэффициента регрессии подмодели во время оценки. Поэтому необходимо задать Beta свойство каждой подмодели соответственно. Например, чтобы включать и оценить три предиктора компонента регрессии одномерной подмодели j, установите mdl (j). Бета = NaN (3,1).

tsVAR процессы и хранилища mdl в свойстве Submodels.

Свойства

развернуть все

Можно установить Covariance и SeriesNames свойства, когда вы создаете модель при помощи синтаксиса аргумента значения имени. MATLAB® получает значения всех других свойств от входных параметров tt и mdl. Можно изменить только SeriesNames при помощи записи через точку.

Например, создайте переключающую порог модель для 2D ряда ответа, в котором все подмодели совместно используют ту же неизвестную ковариационную матрицу, и затем помечают первую и вторую серию "GDP" и "CPI", соответственно.

Mdl = tsVAR(tt,mdl,Covariance=nan(2,2));
Mdl.SeriesNames = ["GDP" "CPI"];

Это свойство доступно только для чтения.

Пороговые переходы для переключающегося механизма среди состояний в виде threshold объект.

Это свойство доступно только для чтения.

Векторные подмодели авторегрессии состояния специфичные в виде вектора из varm объекты длины NumStates.

tsVAR удаляет неподдерживаемые компоненты подмодели.

  • Для arima подмодели, tsVAR не поддерживает скользящее среднее значение (MA), дифференцирование и сезонные компоненты. Если какая-либо подмодель является составным условным средним значением и моделью отклонения (например, ее Variance свойством является garch объект), tsVAR выдает ошибку.

  • Для varm подмодели, tsVAR не поддерживает компонент тренда.

tsVAR преобразует подмодели, заданные как arima объекты к 1D varm объекты.

Это свойство доступно только для чтения.

Количество состояний в виде положительной скалярной величины.

Типы данных: double

Это свойство доступно только для чтения.

Количество временных рядов в виде положительного целого числа. NumSeries задает размерность переменной отклика и инноваций во всех подмоделях.

Типы данных: double

Это свойство доступно только для чтения.

Метки состояния в виде вектора строки из длины NumStates.

Типы данных: string

Ряд помечает в виде вектора строки, массива ячеек из символьных векторов или числового вектора из длины numSeries. tsVAR хранит серийные метки как вектор строки.

Типы данных: string

Инновационная ковариация всей модели в виде положительного числового скаляра для одномерных моделей или numSeries- numSeries положительная полуопределенная матрица для многомерных моделей.

Если Covariance не пустой массив ([]), объектные функции tsVAR сгенерируйте все инновации от Covariance и проигнорируйте ковариации подмодели.

Если Covariance [] (значение по умолчанию), возразите функциям tsVAR сгенерируйте инновации от ковариаций подмодели.

estimate не поддерживает ограничения равенства на инновационную ковариацию. estimate игнорирует заданные записи в Covariance или в инновационных ковариациях подмодели и оценках все ковариации вместо этого.

Типы данных: double

Примечания:

  • NaN- ценные элементы в любом свойства Switch или подмодели Submodels укажите на неизвестные, допускающие оценку параметры. Указанные элементы, кроме инновационных отклонений подмодели, указывают на ограничения равенства на параметры по оценке модели.

  • Все неизвестные параметры подмодели являются зависимым состояния.

Функции объекта

estimateПодбирайте переключающую порог модель динамической регрессии к данным
forecastПредскажите демонстрационные пути из переключающей порог модели динамической регрессии
simulateСимулируйте демонстрационные пути переключающей порог модели динамической регрессии
summarizeОбобщите переключающие порог результаты оценки модели динамической регрессии

Примеры

свернуть все

Создайте модель TAR с двумя состояниями для 1D процесса ответа. Задайте все значения параметров (этот пример использует произвольные значения).

Создайте переключающийся механизм

Создайте дискретный пороговый переход на уровне 0. Пометьте режимы, чтобы отразить состояние экономики:

  • Когда пороговая (в настоящее время неизвестная) переменная находится в (-,0), экономика находится в рецессии.

  • Когда пороговая переменная находится в [0,), экономика расширяется.

t = 0;
tt = threshold(t,StateNames=["Recession" "Expansion"])
tt = 
  threshold with properties:

          Type: 'discrete'
        Levels: 0
         Rates: []
    StateNames: ["Recession"    "Expansion"]
     NumStates: 2

tt полностью заданный threshold объект, который описывает переключающийся механизм переключающей порог модели.

Создайте модели состояния специфичные для ряда ответа

Примите, что следующие одномерные модели описывают процесс ответа системы:

  • Recession: yt=-1+0.1yt-1+ε1,t, где ε1,tΝ(0,1).

  • Expansion: yt=-1+0.3yt-1+0.2yt-2+ε2,t, где ε2,tΝ(0,4).

Для каждого режима используйте arima создать модель AR, которая описывает процесс ответа в режиме.

c1 = -1;
c2 = 1;
ar1 = 0.1;       
ar2 = [0.3 0.2]; 
v1 = 1;
v2 = 4;

mdl1 = arima(Constant=c1,AR=ar1,Variance=v1,...
    Description="Recession State Model")
mdl1 = 
  arima with properties:

     Description: "Recession State Model"
    Distribution: Name = "Gaussian"
               P: 1
               D: 0
               Q: 0
        Constant: -1
              AR: {0.1} at lag [1]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: 1
 
   ARIMA(1,0,0) Model (Gaussian Distribution)
mdl2 = arima(Constant=c2,AR=ar2,Variance=v2,...
    Description="Expansion State Model")
mdl2 = 
  arima with properties:

     Description: "Expansion State Model"
    Distribution: Name = "Gaussian"
               P: 2
               D: 0
               Q: 0
        Constant: 1
              AR: {0.3 0.2} at lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: 4
 
   ARIMA(2,0,0) Model (Gaussian Distribution)

mdl1 и mdl2 полностью заданный arima объекты.

Сохраните подмодели в векторе с порядком, соответствующим режимам в tt.StateNames.

mdl = [mdl1; mdl2];

Создайте переключающую порог модель

Используйте tsVAR создать модель TAR из переключающегося механизма tt и подмодели состояния специфичные mdl.

Mdl = tsVAR(tt,mdl)
Mdl = 
  tsVAR with properties:

         Switch: [1x1 threshold]
      Submodels: [2x1 varm]
      NumStates: 2
      NumSeries: 1
     StateNames: ["Recession"    "Expansion"]
    SeriesNames: "1"
     Covariance: []

Mdl.Submodels(2)
ans = 
  varm with properties:

     Description: "AR-Stationary 1-Dimensional VAR(2) Model"
     SeriesNames: "Y1" 
       NumSeries: 1
               P: 2
        Constant: 1
              AR: {0.3 0.2} at lags [1 2]
           Trend: 0
            Beta: [1×0 matrix]
      Covariance: 4

Mdl полностью заданный tsVAR объект, представляющий одномерную модель TAR с двумя состояниями. tsVAR хранилища задали arima подмодели как varm объекты.

Поскольку Mdl полностью задан, можно передать его любому tsVAR возразите функции для последующего анализа (см. Функции объекта). Или, можно задать пороговые параметры модели в Mdl.Switch как начальные значения для процедуры оценки (см. estimate).

Создайте модель STAR с тремя состояниями с логистическими переходами (LSTAR) для 1D процесса ответа. Задайте все значения параметров (этот пример использует произвольные значения).

Создайте сглаженные, логистические пороговые переходы на уровнях 2 и 8. Задайте следующие уровни перехода:

  • 3.5, когда системные переходы от состояния 1 к состоянию 2.

  • 1.5, когда системные переходы от состояния 2 к состоянию 3.

t = [2 8];
r = [3.5 1.5];
tt = threshold(t,Type="logistic",Rates=r)
tt = 
  threshold with properties:

          Type: 'logistic'
        Levels: [2 8]
         Rates: [3.5000 1.5000]
    StateNames: ["1"    "2"    "3"]
     NumStates: 3

tt полностью заданный threshold объект.

Примите, что следующие одномерные модели описывают процесс ответа системы:

  • Состояние 1: yt=-5+ε1, где ε1Ν(0,0.12).

  • Состояние 2: yt=ε2, где ε2Ν(0,0.22).

  • Состояние 3: yt=5+ε3, где ε3Ν(0,0.32).

mdl1 = arima(Constant=-5,Variance=0.1);
mdl2 = arima(Constant=0,Variance=0.2);
mdl3 = arima(Constant=5,Variance=0.3);

mdl = [mdl1,mdl2,mdl3];

Создайте модель STAR из переключающегося механизма tt и подмодели состояния специфичные mdl.

Mdl = tsVAR(tt,mdl)
Mdl = 
  tsVAR with properties:

         Switch: [1x1 threshold]
      Submodels: [3x1 varm]
      NumStates: 3
      NumSeries: 1
     StateNames: ["1"    "2"    "3"]
    SeriesNames: "1"
     Covariance: []

Mdl является полностью заданный tsVAR объект, представляющий модель STAR.

Считайте подбор кривой к данным экспоненциальной моделью STAR с двумя состояниями для 1D процесса ответа. Примите, что все параметры неизвестны (включает переход, среднего уровня t, уровень r, и все коэффициенты динамической модели и отклонения θ).

Создайте экспоненциальный пороговый переход. Укажите неизвестные элементы с помощью NaN.

tt = threshold(NaN,Type="exponential",Rates=NaN)
tt = 
  threshold with properties:

          Type: 'exponential'
        Levels: NaN
         Rates: NaN
    StateNames: ["1"    "2"]
     NumStates: 2

tt частично заданный threshold объект. tt.Levels среднего уровня и уровень перехода tt.Rates являются неизвестными и допускающими оценку.

Создайте модели AR (1) и AR (2) при помощи краткого синтаксиса arima.

mdl1 = arima(1,0,0);
mdl2 = arima(2,0,0);

mdl1 и mdl2 частично заданный arima объекты. NaN- свойства, передаваемые по значению, соответствуют неизвестным, допускающим оценку параметрам.

Сохраните подмодели в векторе.

mdl = [mdl1; mdl2];

Создайте шаблон модели STAR из переключающегося механизма tt и подмодели состояния специфичные mdl.

Mdl = tsVAR(tt,mdl)
Mdl = 
  tsVAR with properties:

         Switch: [1x1 threshold]
      Submodels: [2x1 varm]
      NumStates: 2
      NumSeries: 1
     StateNames: ["1"    "2"]
    SeriesNames: "1"
     Covariance: []

Mdl частично заданный tsVAR объект, представляющий одномерную модель STAR с двумя состояниями.

Mdl.Submodels(1)
ans = 
  varm with properties:

     Description: "1-Dimensional VAR(1) Model"
     SeriesNames: "Y1" 
       NumSeries: 1
               P: 1
        Constant: NaN
              AR: {NaN} at lag [1]
           Trend: 0
            Beta: [1×0 matrix]
      Covariance: NaN
Mdl.Submodels(2)
ans = 
  varm with properties:

     Description: "1-Dimensional VAR(2) Model"
     SeriesNames: "Y1" 
       NumSeries: 1
               P: 2
        Constant: NaN
              AR: {NaN NaN} at lags [1 2]
           Trend: 0
            Beta: [1×0 matrix]
      Covariance: NaN

tsVAR преобразует arima объектные подмодели к 1D varm объектные эквиваленты.

Mdl подготовлен к оценке. Можно передать Mdl, наряду с данными и полностью заданным пороговым переходом (threshold объект) содержащий начальные значения для оптимизации, к estimate.

Создайте следующие два, переключающую порог модель динамической регрессии с тремя состояниями для 2D процесса ответа:

  1. Модель с инновационными распределениями состояния специфичными

  2. Модель с инновационной ковариацией всей модели

Задайте все значения параметров (этот пример использует произвольные значения).

Создайте пороговые переходы

Создайте логистические пороговые переходы в середине уровней 2 и 8, с уровнями 3.5 и 1.5 соответственно. Пометьте соответствующие состояния "Low", "Med", и "Hi".

t = [2 8];
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: [2 8]
         Rates: [3.5000 1.5000]
    StateNames: ["Low"    "Med"    "High"]
     NumStates: 3

tt полностью заданный threshold объект.

Задайте инновационные ковариационные матрицы состояния специфичные

Примите, что следующие модели VAR описывают процессы ответа системы:

  • Состояние 1: yt=[1-1]+ε1,t, где ε1,tN([00],[1-0.1-0.11]).

  • Состояние 2: yt=[2-2]+[0.50.10.50.5]yt-1+ε2,t, где ε2,tN([00],[2-0.2-0.22]).

  • Состояние 3: yt=[3-3]+[0.25000]yt-1+[000.250]yt-2+ε3,t, где ε3,tN([00],[3-0.3-0.33]).

% 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);

mdl1, mdl2, и mdl3 полностью заданный varm объекты.

Сохраните подмодели в векторе с порядком, соответствующим режимам в tt.StateNames.

mdl = [mdl1; mdl2; mdl3];

Создайте модель LSTAR из переключающегося механизма 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 объект, представляющий многомерную модель LSTAR с тремя состояниями. Поскольку Covariance свойство пусто ([]), подмодели имеют свою собственную инновационную ковариационную матрицу.

Задайте инновационную ковариационную матрицу всей модели

Предположим, что инновационная ковариационная матрица является инвариантной через состояния и имеет значение [2-0.2-0.22].

Создайте модель LSTAR как Mdl это имеет инновационную ковариационную матрицу всей модели.

MdlCov = tsVAR(tt,mdl,SeriesNames=["Y1" "Y2"],Covariance=Sigma2)
MdlCov = 
  tsVAR with properties:

         Switch: [1x1 threshold]
      Submodels: [3x1 varm]
      NumStates: 3
      NumSeries: 2
     StateNames: ["Low"    "Med"    "High"]
    SeriesNames: ["Y1"    "Y2"]
     Covariance: [2x2 double]

MdlCov.Covariance
ans = 2×2

    2.0000   -0.2000
   -0.2000    2.0000

Covariance свойство MdlCov непусто, что означает, что инновационное распределение всех подмоделей равно.

Рассмотрите включая компоненты регрессии для внешних переменных в каждой подмодели переключающей порог модели динамической регрессии в, Создают Полностью Заданную Многомерную Модель.

Создайте логистические пороговые переходы в середине уровней 2 и 8 с уровнями 3.5 и 1.5 соответственно. Пометьте соответствующие состояния "Low", "Med", и "Hi".

t = [2 8];
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: [2 8]
         Rates: [3.5000 1.5000]
    StateNames: ["Low"    "Med"    "High"]
     NumStates: 3

Примите, что следующие модели VARX описывают процессы ответа системы:

  • Состояние 1: yt=[1-1]+[1-1]x1,t+ε1,t, где ε1,tN([00],[1-0.1-0.11]).

  • Состояние 2: yt=[2-2]+[22-2-2]x2,t+[0.50.10.50.5]yt-1+ε2,t, где ε2,tN([00],[2-0.2-0.22]).

  • Состояние 3: yt=[3-3]+[333-3-3-3]x3,t+[0.25000]yt-1+[000.250]yt-2+ε3,t, где ε3,tN([00],[3-0.3-0.33]).

x1,t представляет одну внешнюю переменную, x2,t представляет две внешних переменные, и x3,t представляет три внешних переменные. Сохраните подмодели в векторе.

% 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];

Создайте модель LSTAR из переключающегося механизма 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.Submodels(1)
ans = 
  varm with properties:

     Description: "2-Dimensional VARX(0) Model with 1 Predictor"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 0
        Constant: [1 -1]'
              AR: {}
           Trend: [2×1 vector of zeros]
            Beta: [2×1 matrix]
      Covariance: [2×2 matrix]
Mdl.Submodels(2)
ans = 
  varm with properties:

     Description: "AR-Stationary 2-Dimensional VARX(1) Model with 2 Predictors"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 1
        Constant: [2 -2]'
              AR: {2×2 matrix} at lag [1]
           Trend: [2×1 vector of zeros]
            Beta: [2×2 matrix]
      Covariance: [2×2 matrix]
Mdl.Submodels(3)
ans = 
  varm with properties:

     Description: "AR-Stationary 2-Dimensional VARX(2) Model with 3 Predictors"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 2
        Constant: [3 -3]'
              AR: {2×2 matrices} at lags [1 2]
           Trend: [2×1 vector of zeros]
            Beta: [2×3 matrix]
      Covariance: [2×2 matrix]

Считайте подбор кривой к данным моделью TAR с тремя состояниями для 2D процесса ответа. Примите, что все параметры неизвестны (включает переход две середины уровней t и все коэффициенты динамической модели и отклонения θ).

Создайте дискретные пороговые переходы на двух неизвестных уровнях. Эта спецификация подразумевает модель с тремя состояниями.

t = [NaN NaN];
tt = threshold(t);

tt частично заданный threshold объект. Переход середина уровней tt.Levels являются абсолютно неизвестными и допускающими оценку.

Создайте 2D VAR (0), VAR (1), и модели VAR (2) при помощи краткого синтаксиса varm. Сохраните модели в векторе.

mdl1 = varm(2,0);
mdl2 = varm(2,1);
mdl3 = varm(2,2);

mdl = [mdl1 mdl2 mdl3];
mdl(2)
ans = 
  varm with properties:

     Description: "2-Dimensional VAR(1) Model"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 1
        Constant: [2×1 vector of NaNs]
              AR: {2×2 matrix of NaNs} at lag [1]
           Trend: [2×1 vector of zeros]
            Beta: [2×0 matrix]
      Covariance: [2×2 matrix of NaNs]

mdl содержит varm с тремя состояниями специфичный шаблоны модели для оценки. NaN значения в свойствах указывают на допускающие оценку параметры.

Создайте переключающий порог шаблон модели из переключающегося механизма tt и подмодели состояния специфичные mdl.

Mdl = tsVAR(tt,mdl)
Mdl = 
  tsVAR with properties:

         Switch: [1x1 threshold]
      Submodels: [3x1 varm]
      NumStates: 3
      NumSeries: 2
     StateNames: ["1"    "2"    "3"]
    SeriesNames: ["1"    "2"]
     Covariance: []

Mdl.Submodels(2)
ans = 
  varm with properties:

     Description: "2-Dimensional VAR(1) Model"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 1
        Constant: [2×1 vector of NaNs]
              AR: {2×2 matrix of NaNs} at lag [1]
           Trend: [2×1 vector of zeros]
            Beta: [2×0 matrix]
      Covariance: [2×2 matrix of NaNs]

Mdl частично заданный tsVAR модель для оценки.

Рассмотрите оценку всех коэффициентов подмодели и инновационных ковариаций, и пороговые уровни, модели TAR в Создают Полностью Заданную Модель, Содержащую Компонент Регрессии.

Создайте логистические пороговые переходы в двух неизвестных (NaN) середина уровней и с двумя неизвестными уровнями. Пометьте соответствующие состояния "Low", "Med", и "Hi".

stateNames = ["Low" "Med" "High"];
tt = threshold([NaN NaN],Type="logistic",Rates=[NaN NaN],StateNames=stateNames)
tt = 
  threshold with properties:

          Type: 'logistic'
        Levels: [NaN NaN]
         Rates: [NaN NaN]
    StateNames: ["Low"    "Med"    "High"]
     NumStates: 3

Задайте соответствующую 2D модель VAR для каждого состояния при помощи тебя краткий синтаксис varm, затем используйте запись через точку, чтобы задать numSeries- numRegressors неизвестная, допускающая оценку внешняя матрица коэффициента регрессии.

  • Состояние 1: VARX (0) mode1 с одним одним регрессором

  • Состояние 2: модель VARX(1) с 2 регрессорами

  • Состояние 3: модель VARX(2) с 3 rgeressors

Сохраните подмодели в векторе.

mdl1 = varm(2,0);
mdl1.Beta = nan(2,1); % numSeries-by-numRegressors

mdl2 = varm(2,1);
mdl2.Beta = nan(2,2);

mdl3 = varm(2,2);
mdl3.Beta = nan(2,3);

mdl = [mdl1; mdl2; mdl3];

Создайте допускающую оценку модель LSTAR из переключающегося механизма 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.Submodels(2)
ans = 
  varm with properties:

     Description: "2-Dimensional VARX(1) Model with 2 Predictors"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 1
        Constant: [2×1 vector of NaNs]
              AR: {2×2 matrix of NaNs} at lag [1]
           Trend: [2×1 vector of zeros]
            Beta: [2×2 matrix of NaNs]
      Covariance: [2×2 matrix of NaNs]

estimate функционируйте обычно поддерживает ограничения на любой параметр к известной константе. Кроме того, можно задать инновационную ковариацию всей модели путем установки Covariance свойство tsVAR.

Рассмотрите оценку одномерной переключающей порог модели со следующими характеристиками:

  • Пороговый переход, как известно, происходит в 0.

  • Функция перехода является нормальным cdf с неизвестным уровнем.

  • Состояния 1 и 2 являются постоянными моделями. Константы неизвестны.

  • Инновационный процесс является инвариантным среди состояний, но отклонение неизвестно.

Создайте описанный пороговый переход.

t = 0;
tt = threshold(t,Type="normal",Rates=NaN)
tt = 
  threshold with properties:

          Type: 'normal'
        Levels: 0
         Rates: NaN
    StateNames: ["1"    "2"]
     NumStates: 2

tt частично заданный threshold объект. Только уровень функции перехода tt.Rates является неизвестным и допускающим оценку.

Создайте описанные подмодели при помощи краткого синтаксиса arima. Сохраните подмодели в векторе.

mdl1 = arima(0,0,0);
mdl2 = arima(0,0,0)
mdl2 = 
  arima with properties:

     Description: "ARIMA(0,0,0) Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 0
               D: 0
               Q: 0
        Constant: NaN
              AR: {}
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: NaN
mdl = [mdl1 mdl2];

mdl1 и mdl2 частично заданный arima объекты, представляющие постоянно-единственные линейные модели. Каждая константа модели является неизвестной и допускающей оценку.

Создайте переключающую порог модель из заданных пороговых переходов и подмоделей. Задайте и неизвестная, допускающая оценку инновационная ковариационная матрица всей модели.

Mdl = tsVAR(tt,mdl,Covariance=NaN)
Mdl = 
  tsVAR with properties:

         Switch: [1x1 threshold]
      Submodels: [2x1 varm]
      NumStates: 2
      NumSeries: 1
     StateNames: ["1"    "2"]
    SeriesNames: "1"
     Covariance: NaN

Mdl частично заданный объект tsVAR, сконфигурированный для оценки. Поскольку Mdl.Covariance непуст, MATLAB игнорирует любые заданные инновационные отклонения подмодели.

Больше о

развернуть все

Алгоритмы

Пороговая переменная zt, которая инициировала переходы между состояниями, не требуется, чтобы создавать Mdl. Задайте внешние или эндогенные пороговые данные о переменной и его характеристики, когда вы передадите Mdl к объектной функции.

Ссылки

[1] Enders, Уолтер. Прикладные эконометрические временные ряды. Нью-Йорк: John Wiley & Sons, Inc., 2009.

[2] Teräsvirta, Tima. "Моделируя экономические отношения с регрессиями плавного перехода". В А. Аллэхэнде и D.E.A. Джайлс (редакторы)., руководство прикладной экономической статистики, 507 — 552. Нью-Йорк: Марсель Деккер, 1998.

[3] ван Дейк, Дик. Модели Плавного перехода: Расширения и Выброс Устойчивый Вывод. Роттердам, Нидерланды: Ряд Исследования Института Тинбергена, 1999.

Смотрите также

| |

Введенный в R2021b
Для просмотра документации необходимо авторизоваться на сайте