green_fr: (Default)
[personal profile] green_fr
Есть некий процесс с силой, возвращающей его к среднему долгосрочному значению и случайным шумом:


Есть наблюдения этого процесса. Нужно найти наиболее подходящие для процесса параметры (тета, мю и сигма).

Википедия кратко сообщает, что всё делается линейной регрессией (я вообще не понимаю, о чём они, у нас 3 параметра).

В сети полно статей о том, как калибровать interest-rate процесс с указанием, что бессмысленно просто так абстрактно искать параметры, лучше сразу сказать, что нам нужно в итоге (облигации, свапы и т.п.) и пытаться под это подогнать параметры.
Но у меня процесс имеет слабое отношение к процентной ставке, моя конечная цель — калибровка процесса.

При этом меня не покидает ощущение, что решение очень простое, чуть ли не аналитически должно достигаться.
Если зафиксировать один из параметров, остальные считаются моментально, подгоняя первые два момента броуновской составляющей. Но при этом, очевидно, третий момент совершенно абы какой выходит (следствие от балды выбранного параметра).

Писать итеративную систему подгонки параметров тоже не хочется, не красиво.

Решение в лоб через минимизацию функцию трёх переменных выдаёт совершенно нереальный (надеюсь, что локальный) минимум.

Есть какие-нибудь идеи?

Date: 2012-09-28 01:49 pm (UTC)
From: [identity profile] insead-hec.livejournal.com
Действительно OU или Vasicek калибруются (могут калиброваться) методом наименьших квадратов. Описание, например, здесь
Edited Date: 2012-09-28 01:49 pm (UTC)

Date: 2012-09-28 02:23 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Да, но у моего есть неприятный корень от величины в качестве коэффициента перед броуновской составляющей...

Date: 2012-09-28 04:15 pm (UTC)
From: [identity profile] bgmt.livejournal.com
Я ничего про это не помню, но вижу, что этот корень у тебя вовсе не из того, что ты хочешь найти. Если я правильно понимаю, что r sub t - долгосрочное среднее, то ты его само по себе находишь из экспериментальных данных, оно уже есть, и в оптимизацию не входит.

Date: 2012-09-28 07:27 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Смотря, что ты подразумеваешь под словом «долгосрочный», у меня всего 10 лет, 2000 точек, я не уверен, что у меня есть достаточно данных.
P.S. Ты имел в виду мю — долгосрочное среднее, да?

Date: 2012-09-28 07:40 pm (UTC)
From: [identity profile] bgmt.livejournal.com
А! просто ты даёшь формулу, не говоря, кто кому тётя. Т.е. r sub t - переменная?

Date: 2012-09-29 11:58 am (UTC)
From: [identity profile] green-fr.livejournal.com
Да, извини, когда варишься в каком-то контексте, он становится очевидным :-) Р - переменная, мю - её долгосрочное среднее, тета - сила, возвращающая Р к этому среднему, даблю - броуновский шум, сигма - множитель для уровня шума, волатильность.

Date: 2012-09-29 03:01 pm (UTC)
From: [identity profile] mihhon.livejournal.com
корень в модели только для того, чтоб Р не было отрицательным

Date: 2012-09-28 02:38 pm (UTC)
From: [identity profile] green-fr.livejournal.com
То есть, этот подход можно применить, сделав вид, что этого множителя нет, но я не уверен, что это правильно.
И результат кривенький выходит: skewness=-2.3, kurtosis=80, явно не нормальное распределение...

Date: 2012-09-28 03:39 pm (UTC)
From: [identity profile] muh2.livejournal.com
Приписать точкам вес 1/Rt

Date: 2012-09-28 07:25 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Не понял, в каком смысле?

Date: 2012-09-28 03:32 pm (UTC)
From: [identity profile] muh2.livejournal.com
Так мю же - это просто среднее, нет? Вот и один параметр. При известном мю, линейная регрессия Rt(Delta t) дает тету. Второго параметра не дает - там линия через ноль проходит. А сигму, поди, из вариации остатков можно получить.

Или вот записать Rt как функцию R(t+Delta t) и подгонть прямой с весом 1/Rt. тогда сразу три параметра вылезут, последний - из вариации остатков, то бишь из хиквадрата.
Edited Date: 2012-09-28 03:38 pm (UTC)

Date: 2012-09-28 07:22 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Я не вижу, откуда следует, что мю — это среднее... Это если считать, что среднее от dr равняется нулю? Так это не так. Над второй фразой думаю...

Date: 2012-09-28 09:20 pm (UTC)
From: [identity profile] muh2.livejournal.com
это в вики написано, а правда ли - я не проверял. А среднее от др должно быть равно нулю в стационарном процессе, нет?

The parameter corresponds to the speed of adjustment, to the mean and to volatility.

Хотя, что имеется в виду под "соответствует" ...

Date: 2012-09-28 07:25 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Всё, понял вторую фразу — это именно то, что предлагается по ссылке [livejournal.com profile] insead_hec, я пока что на этом и остановился, см. выше не совсем удовлетворительные результаты (ты там уже ответил).

Date: 2012-09-28 05:02 pm (UTC)
From: [identity profile] http://users.livejournal.com/_not_me/
а какова целевая функция - что калибрировать-то надо?
У этого процесса еще и хвосты распределения особенные - можно один из параметров на этом калибровать.
Симулировать надо будет потом? В ноль можно залезать?

Date: 2012-09-28 07:30 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Хммм... Это параметр «пи», определяющий отторжение рынком риска кредита, от него потом нужно будет пересчитывать вероятности переходов облигаций в новые состояния рейтинга. Ноль действительно запрещён, я как-то об этом не думал, мы от 5 до 25 пасёмся.
А что с хвостами распределения? У меня действительно странные вещи видны, но я грешным делом списывал всё на то, что модель недостаточно хорошо описывает процесс. Я не вижу, что у теоретического процесса должно быть не так с хвостами...

Date: 2012-09-28 07:51 pm (UTC)
From: [identity profile] http://users.livejournal.com/_not_me/
насчет достижимости нуля - критерий классический, точной формулы уже не помню, должно быть что-то типа 0.5 * lambda/ sigma > mu. Что касается хвостов, то там, кажется, есть такой странный эффект, что a la longue этот процесс очень мало времени проводит около своего среднего: либо убегает в бесконечность, либо колеблется около нуля.

Формулу хвостов распределния не помню. Раз вам нужно строго положительный процесс, то, может быть, лучше рассмотреть подкласс процессов, которые эквивалентны квадрату OU?

А зачем вам не-дискретное распределние? Аналитическая решаемость не так уж много удобств обеспечивает.

Date: 2012-09-29 12:02 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Второй параграф - буду думать. Есть какая-нибудь "рекомендованная литература" по поводу?

Третий параграф - просто не понял вопроса. Мне нужно определить параметры в предположении, что моя переменная описывается этим процессом. И посто интуитивно кажется, что можно решить этот вопрос аналитически, за красотой я тут не особо гонюсь. Ну и численный метод (линейная регрессия с последующим определением коэффициентов) даёт какую-то ерунду, то ли я что-то напутал' то ли метод не применим, то ли процесс не подходит...

Date: 2012-09-29 01:34 pm (UTC)
From: [identity profile] http://users.livejournal.com/_not_me/
сорри, если не ясно выразился.

Почему именно этот процесс? Обычно его выбирают потому что
1) про него много что известно, много что можно посчитать в явной форме
2) он гарантированно неотрицательный.
Только на мой взгляд удобства обеспеченные пунктом 1) зачастую недостаточны и бывает так, что их не хватает.

Про второй параграф: в классе square-root процессов есть подкласс представимый как квадрат OU. Как следствие - легко симулируется, и все проще считается. Что предложить из литературы - не знаю. Смотря чего надо. Есть книжки с кучей формул, есть книжки с методами симуляций. Книжек только про калибровку, честно говоря, не помню.

Что известно про переменную - стационарный временной ряд? Тогда по-моему калибровать надо на автокорреляции: f(k) = cov
[Error: Irreparable invalid markup ('<x_t,>') in entry. Owner must fix manually. Raw contents below.]

сорри, если не ясно выразился.

Почему именно этот процесс? Обычно его выбирают потому что
1) про него много что известно, много что можно посчитать в явной форме
2) он гарантированно неотрицательный.
Только на мой взгляд удобства обеспеченные пунктом 1) зачастую недостаточны и бывает так, что их не хватает.

Про второй параграф: в классе square-root процессов есть подкласс представимый как квадрат OU. Как следствие - легко симулируется, и все проще считается. Что предложить из литературы - не знаю. Смотря чего надо. Есть книжки с кучей формул, есть книжки с методами симуляций. Книжек только про калибровку, честно говоря, не помню.

Что известно про переменную - стационарный временной ряд? Тогда по-моему калибровать надо на автокорреляции: f(k) = cov<x_t, x_t-k>

Date: 2012-09-29 02:22 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Если честно, выбор процесса сугубо прагматичный - я пытаюсь улучшить моделирование кредитного риска, одну составляющую оптимизировал (это будет мой диплом, если все будет хорошо), а вторую хочу просто откалибровать по-своему, не вдаваясь в детаели. Сегодня она моделируется через такой процесс и внешнюю калибровку. Я хочу поменять только калибровку под наши данные и на этом пока закруглиться, обоснование процесса, тем более его замена в мои планы пока не входит.

Про последний параграф - переменная достаточно сложно представляемая, я её смысл вон на пальцах объяснить не могу :-) Начал думать, что у неё со стационарностью...

Date: 2012-09-29 02:28 pm (UTC)
From: [identity profile] http://users.livejournal.com/_not_me/
н-да, неудачно получилось.
Если коротко, то моя позиция такая: для реальных задач не очень понятно чем этот процесс так хорош.
А если это задачка, и нужно идентифицировать стационарный процесс то тут, мне кажется, параметры идентифицируются: историческое среднее и вариация - понятно. theta - скорость возврата к среднему значению.

Date: 2012-09-30 01:02 pm (UTC)
From: [identity profile] takoi.livejournal.com
Могу выслать небольшую лекцию о много параметрической линейной регрессии. Может быть как-то прояснится. Судя по формуле, она действительно может быть здесь применена.

Date: 2012-09-30 08:18 pm (UTC)
From: [identity profile] green-fr.livejournal.com
О, спасибо! Только если она на русском/английском/французском :-) Мой адрес тот же, что и в ЖЖ @yahoo.com. Отпиши комментарием, чтобы я проверил, аттачи с незнакомого адреса рискуют сразу же попасть в спам.

Date: 2012-09-30 09:07 pm (UTC)
From: [identity profile] takoi.livejournal.com
Готово! Лекции на английском.

Date: 2012-09-30 09:36 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Получил (спасибо!), посмотрел два первых, и не совсем понял, как это применимо к моему случаю...
Смотри, у меня действительно три переменных, но единственная линейная регрессия, которую. я вижу — это переписать уравнение в следующем виде (перейдя к дискретным приращениям dt=1):
Image
И в этом случае я пренебрегаю последним членом (собственно. момент, который мне не нравится) и получаю обычную регрессию в виде y=ax+b. А товарищ на видео рассказывает о случаях y=ax+bt+cw+...
Может я чего не вижу? У меня регрессия сегодняшнего наблюдения как функции от вчерашнего. А ты какие видишь варианты?

Date: 2012-09-30 10:17 pm (UTC)
From: (Anonymous)
Не понимаю зачем отбрасывать. Вижу так, что можно ввести новые переменные а0 = тета * ню, а1 = 1 - тета, а2 = сигма. После, получит значения новых параметров (решив регрессию) и решить систему уравнений от трех переменных. Получится вроде то, что искали.

Date: 2012-09-30 10:27 pm (UTC)
From: [identity profile] takoi.livejournal.com
Зачем пренебрегать последним членом? Предём к новым обозначениям.
а0 = тета * мю
а1 = (1 - тета)
а2 = сигма

Решим относительно их регрессию. После решим систему из трех уравнений от трех неизвестных. У тебя же есть данные по всем r(t) и W(t)?

Date: 2012-09-30 11:39 pm (UTC)
From: [identity profile] takoi.livejournal.com
Формула, что ты написал, она ведь точно такого вида

y = a0 + a1*x1 + a2*x2

Вопрос лишь в обозначениях. Если есть данные для x1 и x2 то можно применить линейную регрессию.

Date: 2012-10-01 08:09 am (UTC)
From: [identity profile] green-fr.livejournal.com
Если мы при этом рассматриваем y = r(t+1), x1 = r(t), а x2=sqrt(r(t))dW, то данных для x2 у меня нет, там белый шум (dW), я его не наблюдаю, я наблюдаю его следствие. Поэтому я, собственно, трусливо и пытался отбросить это слагаемое :-)

Date: 2012-10-01 10:19 am (UTC)
From: [identity profile] takoi.livejournal.com
А.. Понятно. Смотрю, что в википедии немного к другому виду все приведено (все поделили на sqrt(r)). Может быть таким образом влияние шума совершенно минимально и им можно принебречь?

Date: 2012-10-01 11:16 am (UTC)
From: [identity profile] green-fr.livejournal.com
Возможно, кстати. Интересно, почему они тогда не разделили и на сигму? И как это вообще, нормально делать регрессию y относительно x1 и x2, когда x1 и x2 связаны, например x1x2 = 1? Это практически то, что у них там получается...
Не хватает мне теории, а наобум и не хочется, и времени нет.

Date: 2012-10-01 11:35 am (UTC)
From: [identity profile] takoi.livejournal.com
Да, это нормальная практика, так делают часто. По крайней мере в области machine learning. Можно, например, рассмотреть гипотезы y = a0 + a1x1 +a2x1^2+...+anx1^n.

Как вариант, можно смоделировать белый шум и провести стат эксперемент на конкретных выборках их него, после посмотреть как ведут себя параметры. Сходятся ли, и если сходятся то куда.

Почему на сигму не поделили не знаю. Видимо, тут нужна знать "физику" стоящую за уравнением :)

Date: 2012-10-01 11:51 am (UTC)
From: [identity profile] green-fr.livejournal.com
Почему не поделили на сигму я понял — надо всё же, чтобы слева стоял просто y, уж никак не искомый параметр сигма. Но я проглядел, что при делении мы теряем свободный член, a0. А регрессия его выдаёт, и он не пренебрежимый. Как его теперь интерпретировать, я не понимаю...

Date: 2012-10-01 12:24 pm (UTC)
From: [identity profile] takoi.livejournal.com
Это не страшно. Просто рассматриваем зависимости вида y = a1x1 + a2x2. Те можно применить метод к кривой без свободного параметра.

Date: 2012-10-01 11:53 am (UTC)
From: [identity profile] green-fr.livejournal.com
Про вариант с моделированием белого шума я не понял...
Я уже попытался просто так поиграть с разными коэффициентами и герерацией белого шума, получается что-то, какое отношение имеет к моей переменной — непонятно.
И наоборот поиграл — прикладывая разные коэффициенты, пытался считать из моих данных dZ, на нормальное распределение редко получается похоже :-)

Date: 2012-10-01 12:28 pm (UTC)
From: [identity profile] takoi.livejournal.com
Идея такая: сгенерировать шум, подставить в то, что ты написал, найти регрессией оценку искомых параметров. И так несколько раз. Посмотреть, что происходит с найдеными параметрами тета, мю. Полный разброс? Нормально распределены?

Правда, так двольно долго. Нужно уметь эти оценки делать, гипотезы проверять статистические. Если у тебя есть hands-on опыт такого рода, то должно быть не сложно (у меня его нет).

Profile

green_fr: (Default)
green_fr

December 2025

S M T W T F S
 1 2 3 4 56
7 8 9 10 11 1213
14 15 16 17 18 1920
212223242526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 3rd, 2026 09:10 pm
Powered by Dreamwidth Studios