msVAR

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

Описание

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

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

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

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

Создание

Описание

пример

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

пример

Mdl = msVAR(mc,mdl,'SeriesNames',seriesNames) опционально устанавливает свойство SeriesNames, которое сопоставляет имена seriesNames к временным рядам модели.

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

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

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

Состояния представляли в строках и столбцах матрицы перехода mc.P соответствуйте состояниям, представленным в векторе подмодели mdl.

msVAR процессы и хранилища mc в свойстве Switch.

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

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

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

Свойства

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

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

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

Mdl = msVAR(mc,mdl);
Mdl.SeriesNames = ["GDP" "CPI"];

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечания:

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

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

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

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

Примеры

свернуть все

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

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

P = [0.9 0.1; 0.3 0.7];
mc = dtmc(P,'StateNames',["Expansion" "Recession"])
mc = 
  dtmc with properties:

             P: [2x2 double]
    StateNames: ["Expansion"    "Recession"]
     NumStates: 2

mc dtmc объект.

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

% Constants
C1 = 5;
C2 = -5;

% AR coefficients
AR1 = [0.3 0.2]; % 2 lags
AR2 = 0.1;       % 1 lag

% Innovations variances
v1 = 2;
v2 = 1;

% AR Submodels
mdl1 = arima('Constant',C1,'AR',AR1,...
    'Variance',v1,'Description','Expansion State')
mdl1 = 
  arima with properties:

     Description: "Expansion State"
    Distribution: Name = "Gaussian"
               P: 2
               D: 0
               Q: 0
        Constant: 5
              AR: {0.3 0.2} at lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: 2
 
   ARIMA(2,0,0) Model (Gaussian Distribution)
mdl2 = arima('Constant',C2,'AR',AR2,...
    'Variance',v2,'Description','Recession State')
mdl2 = 
  arima with properties:

     Description: "Recession State"
    Distribution: Name = "Gaussian"
               P: 1
               D: 0
               Q: 0
        Constant: -5
              AR: {0.1} at lag [1]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: 1
 
   ARIMA(1,0,0) Model (Gaussian Distribution)

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

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

mdl = [mdl1; mdl2];

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

Mdl = msVAR(mc,mdl)
Mdl = 
  msVAR with properties:

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

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

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

     Description: "AR-Stationary 1-Dimensional VAR(1) Model"
     SeriesNames: "Y1" 
       NumSeries: 1
               P: 1
        Constant: -5
              AR: {0.1} at lag [1]
           Trend: 0
            Beta: [1×0 matrix]
      Covariance: 1

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

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

Считайте переключающую Маркова модель динамической регрессии с двумя состояниями послевоенных США действительным темпом роста GDP. Модели представили оценки параметра в [1].

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

P = [0.92 0.08; 0.26 0.74];
mc = dtmc(P,'StateNames',["Expansion" "Recession"]);

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

Создайте отдельные модели AR (0) (постоянный только) для этих двух режимов.

sigma = 3.34; % Homoscedastic models across states
mdl1 = arima('Constant',4.62,'Variance',sigma^2);
mdl2 = arima('Constant',-0.48,'Variance',sigma^2);
mdl = [mdl1 mdl2];

Создайте переключающую Маркова модель динамической регрессии, которая описывает поведение темпа роста GDP США.

Mdl = msVAR(mc,mdl)
Mdl = 
  msVAR with properties:

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

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

Считайте подбор кривой к данным переключающей Маркова моделью с двумя состояниями для 1D процесса ответа.

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

P = NaN(2);
mc = dtmc(P,'StateNames',["Expansion" "Recession"])
mc = 
  dtmc with properties:

             P: [2x2 double]
    StateNames: ["Expansion"    "Recession"]
     NumStates: 2

mc.P
ans = 2×2

   NaN   NaN
   NaN   NaN

mc частично заданный dtmc объект. Матрица перехода mc.P является абсолютно неизвестным и допускающим оценку.

Создайте модели AR (1) и AR (2) при помощи краткого синтаксиса arima. После того, как вы создаете каждую модель, задаете описание модели при помощи записи через точку.

mdl1 = arima(1,0,0);
mdl1.Description = "Expansion State"
mdl1 = 
  arima with properties:

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

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

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

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

mdl = [mdl1; mdl2];

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

Mdl = msVAR(mc,mdl)
Mdl = 
  msVAR with properties:

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

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

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

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

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

Создайте переключающую Маркова модель динамической регрессии с тремя состояниями для 2D процесса ответа. Задайте все значения параметров (этот пример использует произвольные значения).

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

P = [10 1 1; 1 10 1; 1 1 10];
mc = dtmc(P);
mc.P
ans = 3×3

    0.8333    0.0833    0.0833
    0.0833    0.8333    0.0833
    0.0833    0.0833    0.8333

mc dtmc объект. dtmc нормирует P так, чтобы каждая строка суммировала к 1.

Для каждого режима используйте varm создать модель VAR, которая описывает процесс ответа в режиме. Задайте все значения параметров.

% 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 объекты.

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

mdl = [mdl1; mdl2; mdl3];

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

Mdl = msVAR(mc,mdl)
Mdl = 
  msVAR with properties:

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

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

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

     Description: "AR-Stationary 2-Dimensional VAR(1) Model"
     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×0 matrix]
      Covariance: [2×2 matrix]
Mdl.Submodels(3)
ans = 
  varm with properties:

     Description: "AR-Stationary 2-Dimensional VAR(2) Model"
     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×0 matrix]
      Covariance: [2×2 matrix]

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

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

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

P = [10 1 1; 1 10 1; 1 1 10];
mc = dtmc(P);

Для каждого режима используйте varm создать модель VARX, которая описывает процесс ответа в режиме. Задайте все значения параметров.

% 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

% 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

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

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

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

mdl = [mdl1; mdl2; mdl3];

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

Mdl = msVAR(mc,mdl)
Mdl = 
  msVAR with properties:

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

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]

Считайте подбор кривой к данным переключающей Маркова моделью с тремя состояниями для 2D процесса ответа.

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

P = nan(3);
mc = dtmc(P);

mc частично заданный dtmc объект. Матрица перехода mc.P является абсолютно неизвестным и допускающим оценку.

Создайте 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(1)
ans = 
  varm with properties:

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

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

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

Mdl = msVAR(mc,mdl)
Mdl = 
  msVAR with properties:

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

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

     Description: "2-Dimensional VAR(0) Model"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 0
        Constant: [2×1 vector of NaNs]
              AR: {}
           Trend: [2×1 vector of zeros]
            Beta: [2×0 matrix]
      Covariance: [2×2 matrix of NaNs]
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.Submodels(3)
ans = 
  varm with properties:

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

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

Рассмотрите включая компоненты регрессии для внешних переменных в подмоделях переключающей Маркова модели динамической регрессии в, Создают Частично Заданную Многомерную Модель для Оценки. Примите, что модель VAR (0) включает регрессор x1t, модель VAR (1) включает регрессоры x1t и x2t, и модель VAR (2) включает регрессоры x1t, x2t, и x3t.

Создайте дискретную цепь Маркова.

P = nan(3);
mc = dtmc(P);

Создайте 2D VARX (0), VARX (1), и модели VARX(2) при помощи краткого синтаксиса varm. Для каждой модели, набор Beta свойство к numSeries- numRegressors матрица NaN значения при помощи записи через точку. Сохраните все модели в векторе.

numSeries = 2;

mdl1 = varm(numSeries,0);
mdl1.Beta = NaN(numSeries,1);

mdl2 = varm(numSeries,1);
mdl2.Beta = NaN(numSeries,2);

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

mdl = [mdl1; mdl2; mdl3];

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

Mdl = msVAR(mc,mdl); 
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]

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

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

P = nan(3);
P(logical(eye(3))) = 0;
mc = dtmc(P);

mc частично заданный dtmc объект.

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

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

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

Mdl = msVAR(mc,submdl);
Mdl.Switch.P
ans = 3×3

     0   NaN   NaN
   NaN     0   NaN
   NaN   NaN     0

estimate обрабатывает известные диагональные элементы матрицы перехода как ограничения равенства во время оценки. Для получения дополнительной информации смотрите estimate.

Больше о

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

Ссылки

[1] Chauvet, M. и Дж. Д. Гамильтон. "Датируя Поворотные моменты Делового цикла". В Нелинейном Анализе Деловых циклов (Вклады в Экономический анализ, Объем 276). C. Милас, П. Ротмен, и Д. ван Дейк, редакторы). Амстердам: Emerald Group Publishing Limited, 2006.

[2] Гамильтон, J. D. "Новый Подход к Экономическому анализу Неустановившихся Временных рядов и Делового цикла". Econometrica. Издание 57, 1989, стр 357–384.

[3] Гамильтон, J. D. "Анализ Временных рядов Согласно Изменениям в Режиме". Журнал Эконометрики. Издание 45, 1990, стр 39–70.

[4] Гамильтон, анализ временных рядов Джеймса Д. Принстон, NJ: Издательство Принстонского университета, 1994.

[5] Krolzig, H.-M. Переключающие Маркова векторные авторегрессии. Берлин: Спрингер, 1997.

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

| | |

Введенный в R2019b