Создайте пороговые переходы
threshold
создает пороговые переходы от заданных уровней и типа перехода, или дискретного или сглаженного. Используйте threshold
объект задать переключающийся механизм переключающей порог модели динамической регрессии (tsVAR
).
Чтобы изучить пороговую модель переходов, передайте полностью заданный threshold
возразите против объектной функции. Можно задать уровни перехода и уровни как неизвестные параметры (NaN
значения), который можно оценить, когда вы соответствуете tsVAR
модель к данным при помощи estimate
.
В качестве альтернативы, чтобы создать случайный механизм переключения, которым управляет дискретная цепь Маркова, для переключающей Маркова модели динамической регрессии, смотрите dtmc
и msVAR
.
создает пороговый объект tt
= threshold(levels
)tt
переходов для переходов дискретного состояния, заданных переходом середина уровней
levels
.
levels
— Переход середина уровней t 1, t 2, … t nПереход середина уровней t 1, t 2, … t n в виде увеличивающегося числового вектора.
Уровни t j разделяют пороговые данные о переменной на n + 1 состояние, представленное интервалами (− ∞, t 1), [t 1, t 2), … [t n, ∞).
NaN
записи указывают на допускающие оценку уровни перехода. estimate
функция tsVAR
обрабатывает известные элементы levels
как ограничения равенства во время оптимизации.
threshold
хранилища levels
в свойстве Levels
Типы данных: double
Можно установить большинство свойств, когда вы создаете модель при помощи синтаксиса аргумента значения имени. Можно изменить только StateNames
при помощи записи через точку. Например, создайте логистический переход с двумя состояниями в 0, и затем пометьте первые и вторые состояния Depression
и Recession
, соответственно.
tt = threshold(0,Type="logistic"); tt.StateNames = ["Depression" "Recession"];
Type
— Тип переходов"discrete"
(значение по умолчанию) | "normal"
| "logistic"
| "exponential"
| "custom"
Это свойство доступно только для чтения.
Тип переходов в виде вектора символов или строкового скаляра.
Функция перехода F (zt, tj, rj) сопоставляет тип перехода с каждым пороговым уровнем tj, где zt является пороговой переменной и rj, является специфичным для уровня уровнем перехода. Каждый функциональный F ограничен между 0 и 1. Эта таблица содержит поддерживаемые типы переходов:
Значение | Описание |
---|---|
"discrete" (значение по умолчанию) | Дискретные переходы: Дискретные переходы не имеют уровней перехода. |
"normal" | Совокупные нормальные переходы: F (zt, tj, rj) = |
"logistic" | Логистические переходы: |
"exponential" | Экспоненциальные переходы: |
"custom" | Пользовательская функция перехода задана указателем на функцию свойства TransitionFunction |
Пример:
"normal"
Типы данных: char |
string
Levels
— Переход середина уровней t 1, t 2, … t nЭто свойство доступно только для чтения.
Переход середина уровней t 1, t 2, … t n в виде увеличивающегося числового вектора. levels
входной параметр устанавливает Levels
.
Типы данных: double
Rates
— Уровни перехода r 1, r 2, … r nones(n,1)
(значение по умолчанию) | положительный числовой векторЭто свойство доступно только для чтения.
Уровни перехода r 1, r 2, … r n в виде положительного числового вектора из длины n, количество уровней. Каждый уровень соответствует уровню в levels
.
NaN
значения указывают на допускающие оценку уровни. estimate
функция tsVAR
обрабатывает известные элементы Rates
как ограничения равенства во время оптимизации.
threshold
игнорирует уровни для дискретных переходов.
Пример: [0.5 1.5]
Типы данных: double
NumStates
— Количество состоянийЭто свойство доступно только для чтения.
Количество состояний в виде положительной скалярной величины и выведенный из Levels
.
Типы данных: double
StateNames
— Метки состоянияstring(1:(n + 1))
(значение по умолчанию) | представляет вектор в виде строки | вектор ячейки из векторов символов | числовой векторМетки состояния в виде вектора строки, вектора ячейки из векторов символов или числового вектора из длины numStates
.
StateNames(1)
называет соответствие состояния (− ∞, t 1), StateName(2)
называет соответствие состояния [t 1, t 2), … и StateNames(n + 1)
называет соответствие состояния [t n, ∞).
Пример: ["Depression" "Recession" "Stagnant" "Boom"]
Типы данных: string
TransitionFunction
— Пользовательская функция перехода[]
(значение по умолчанию) | указатель на функциюЭто свойство доступно только для чтения.
Пользовательская функция перехода F (zt, tj, rj) в виде указателя на функцию. Указатель должен задать функцию со следующим синтаксисом:
function f = transitionfcn(z,tj,rj)
Можно заменить имя transitionfcn
.
z
числовой вектор из пороговых данных о переменной.
tj
пороговый уровень числового скаляра.
rj
уровень числового скаляра.
f
числовой вектор из в интервале [0,1].
Когда Type
не "custom"
, threshold
игнорирует TransitionFunction
.
Пример: @transitionfcn
Типы данных: function_handle
Создайте пороговый переход в среднего уровня .
t1 = 0; tt = threshold(t1)
tt = threshold with properties: Type: 'discrete' Levels: 0 Rates: [] StateNames: ["1" "2"] NumStates: 2
tt
threshold
объект, представляющий дискретный пороговый переход в 0
среднего уровня. tt полностью задан, потому что его свойства не содержат
NaN
значения. Поэтому можно передать tt
к любому threshold
объектная функция
Учитывая одномерную пороговую переменную, tt
делит область значений переменной в два отличных состояния, который tt
маркирует "1"
и "2"
. tt
также задает переключающийся механизм переключающей порог авторегрессивной модели (TAR), представленной tsVAR
объект. Учитывая значения наблюдаемой одномерной переменной перехода:
Модель TAR находится в "1"
состояния когда переменная перехода находится в интервале .
Модель TAR находится в "2"
состояния когда переменная перехода находится в интервале .
Это, которое показывают примеры, как создать два логистических пороговых перехода с различными уровнями перехода, и затем отобразить график градиента переходов.
Загрузите ежегодную канадскую инфляцию и набор данных процентных ставок. Извлеките уровень инфляции на основе CPI (INF_C
) из таблицы и графика ряд.
load Data_Canada INF_C = DataTable.INF_C; plot(dates,INF_C); axis tight
Примите следующие характеристики ряда уровня инфляции:
Уровни ниже 2% являются низкими.
Уровни по крайней мере 2% и ниже 8% являются средними.
Уровни по крайней мере 8% высоки.
Логистическая функция перехода описывает переход между состояниями хорошо.
Переход между низкими и средними уровнями быстрее, чем переходы между носителем и высоко.
Создайте пороговые переходы, чтобы описать канадский уровень инфляции.
t = [2 8]; % Thresholds r = [3.5 1.5]; % Transition rates statenames = ["Low" "Med" "High"]; tt = threshold(t,Type="logistic",Rates=r,StateNames=statenames)
tt = threshold with properties: Type: 'logistic' Levels: [2 8] Rates: [3.5000 1.5000] StateNames: ["Low" "Med" "High"] NumStates: 3
Постройте пороговые переходы; покажите градиент функции перехода между состояниями и наложите данные.
figure ttplot(tt,Data=INF_C)
Два основных компонента переключающей порог динамической регрессии (tsVAR
) модель:
Пороговые переходы, которые представляют переключающийся механизм между состояниями. Середина уровней и уровней перехода является допускающей оценку.
Набор авторегрессивных моделей, описывающих динамическую систему среди состояний. Коэффициенты подмодели и ковариации являются допускающими оценку.
Прежде чем вы создадите переключающую порог модель, необходимо задать ее пороговые переходы при помощи theshold
. Если вы планируете подбирать переключающую порог модель к данным, можно полностью задать его пороговые переходы, если вы знаете всю середину уровни перехода и уровни. Если необходимо оценить некоторых или всю середину уровней и уровней, можно ввести NaN
значения как заполнители для неизвестных параметров. estimate
обработки все заданные параметры как ограничения равенства во время оценки. Независимо, чтобы соответствовать пороговым параметрам перехода к данным, необходимо задать частично заданный threshold
возразите как переключающийся механизм переключающей порог модели.
Подготовьте все допускающие оценку параметры к оценке
Считайте плавный переход авторегрессивной моделью (ЗВЕЗДА), которая переключается между тремя состояниями (два порога) с экспоненциальной функцией перехода.
Создайте переключающийся механизм. Укажите, что все допускающие оценку параметры неизвестны.
t1 = [NaN NaN]; % Two unknown mid-levels r1 = [NaN NaN]; % Two unknown transition rates tt1 = threshold(t1,Type="exponential",Rates=r1)
tt1 = threshold with properties: Type: 'exponential' Levels: [NaN NaN] Rates: [NaN NaN] StateNames: ["1" "2" "3"] NumStates: 3
tt
частично заданный threshold
возразите, чтобы передать tsVAR
как переключающийся механизм. estimate
функция tsVAR
соответствует двум серединам уровней и уровней перехода к данным любыми неизвестными параметрами подмодели в переключающей порог модели.
Задайте ограничения равенства
Считайте плавный переход авторегрессивной моделью (ЗВЕЗДА), которая имеет переключающийся механизм со следующими качествами:
Пороги в-1 и 1.
Функция перехода экспоненциальна.
Уровень перехода между первым и вторым состоянием 0.5, но уровень между вторыми и третьими состояниями неизвестен.
Создайте переключающийся механизм.
t2 = [-1 1];
r2 = [0.5 NaN];
tt2 = threshold(t2,Type="exponential",Rates=r2)
tt2 = threshold with properties: Type: 'exponential' Levels: [-1 1] Rates: [0.5000 NaN] StateNames: ["1" "2" "3"] NumStates: 3
tt
частично заданный threshold
возразите, чтобы передать tsVAR
как переключающийся механизм. estimate
функция tsVAR
делает следующее:
Обработайте середину уровней tt.Levels
и первый уровень перехода tt.Rates(1)
как ограничения равенства
Соответствуйте второму уровню перехода tt.Rates(2)
к данным любыми неизвестными параметрами подмодели в переключающей порог модели
Создайте сглаженные пороговые переходы со следующими качествами:
Середина уровней в-1, 1, и 2.
Функция перехода является Студентом cdf, который позволяет, чтобы более постепенное смешалось, чем нормальный cdf.
Уровни перехода, которые являются степенями свободы распределения, равняются 3, 10, и 100.
t = [-1 1 2];
r = [3 10 100];
ttransfcn = @(z,ti,ri)tcdf(z,ri);
tt = threshold(t,Type="custom",TransitionFunction=ttransfcn,Rates=r)
tt = threshold with properties: Type: 'custom' Levels: [-1 1 2] Rates: [3 10 100] StateNames: ["1" "2" "3" "4"] NumStates: 4
Постройте графики каждой функции перехода.
figure
ttplot(tt,Type="graph")
legend(string(tt.Levels))
В переключающих порог моделях динамической регрессии (tsVAR
), state transition происходит, когда пороговая переменная zt пересекает переход, среднего уровня.
Дискретные переходы приводят к резкому изменению в подмодели, вычисляя ответ. Плавные переходы создают взвешенные комбинации ответов подмодели, которые изменяются постоянно со значением zt, и изменения состояния указывают на сдвиг в доминирующей подмодели.
Веса плавного перехода определяются функцией перехода F (zt, tj, rj), где tj является порогом, j и rj являются уровнем перехода j (см. Type
). Дискретный, нормальный, и логистический переход функционирует отдельные состояния в маленьких и больших значениях zt. Экспоненциальные переходы разделяют состояния в маленьких и больших значениях |zt |. Экспоненциальная модель переходов экономические переменные с "внутренними" и "внешними" состояниями, такими как отклонения от паритета покупательной силы валют.
Чтобы расширить полосу плавного перехода, чтобы показать более постепенное смешивание состояний, уменьшите уровень перехода путем определения Rates
аргумент значения имени, когда вы создаете пороговые переходы.
[1] Enders, Уолтер. Прикладные эконометрические временные ряды. Нью-Йорк: John Wiley & Sons, Inc., 2009.
[2] Teräsvirta, Tima. "Моделируя экономические отношения с регрессиями плавного перехода". В А. Аллэхэнде и D.E.A. Джайлс (редакторы)., руководство прикладной экономической статистики, 507 — 552. Нью-Йорк: Марсель Деккер, 1998.
[3] ван Дейк, Дик. Модели Плавного перехода: Расширения и Выброс Устойчивый Вывод. Роттердам, Нидерланды: Ряд Исследования Института Тинбергена, 1999.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.