Bayesian regression - Делал ли кто советник по этому алгоритму? - страница 38

 
Vasiliy Sokolov:
Подписываюсь под каждым словом. Какой смысл строить регрессию, если на следующем участке, характеристики этой регрессии будут совершенно другими. Можно сколько угодно подкручивать модель под данные, но легче просто признать что Y (цена) не зависит от X (времени), по крайней мере в терминах линейной регрессии.

Это еще один образец здравомыслия.

Мой коллега учился на Data Science на Курсере и сделал выпускной проект, где на случайно сгенерированном ряде (мартингал, или, можно сказать, винеровский процесс с нормально распределенными приращениями) строил линейную регрессионную аппроксимацию, и демонстрировал, как на следующем отрезке ряда все параметры регрессии абсолютно непредсказуемо дрифтовали. Toy problem.

 

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

 
Alexey Burnakov:

Это еще один образец здравомыслия.

Мой коллега учился на Data Science на Курсере и сделал выпускной проект, где на случайно сгенерированном ряде (мартингал, или, можно сказать, винеровский процесс с нормально распределенными приращениями) строил линейную регрессионную аппроксимацию, и демонстрировал, как на следующем отрезке ряда все параметры регрессии абсолютно непредсказуемо дрифтовали. Toy problem.

 

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

;)

Для гребневой регрессии как раз нормальность распределения остатков и не требуется.

Байесовская регрессия похожа на гребневую регрессию, однако основана на том допущении, что в данных шум распределен нормально – соответственно, предполагается, что общее понимание о структуре данных уже имеется, и это дает возможность получать более точную модель по сравнению с линейной регрессией

 
Гребневая регрессия решает проблему мультиколлинеарности - если есть очень много независимых переменных, коррелирующих между собой
 
Дмитрий:

;)

Для гребневой регрессии как раз нормальность распределения остатков и не требуется.


Ну я признаюсь, что подвиды регрессии плохо знаю. А то, что не требуется нормальность остатков, это очень хорошо. И для рынков может быть более применима гребневая регрессия. Там накладываются ограничения на величины коэффициентов. Я знаю примеры, когда такой тип регрессии на котировках давал робастный результат.

Есть еще регрессия с L2-регуляризацией, когда возможно вырождение коэффициентов по отдельным регрессорам в нуль. Это полезно, если регрессоров много и нужно снизить размерность входного вектора. 

 Но без знания деталей, лезть в дебри мат.аппарата регрессий может быть опасно. 

 
Дмитрий:
Гребневая регрессия решает проблему мультиколлинеарности - если есть очень много независимых переменных, коррелирующих между собой

И это также крайне полезный аспект гребневой.

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

 
Alexey Burnakov:


Есть еще регрессия с L2-регуляризацией, когда возможно вырождение коэффициентов по отдельным регрессорам в нуль. Это полезно, если регрессоров много и нужно снизить размерность входного вектора. 


Лассо-регрессия? Да, есть и такое.

На практике удобнее гребневая - реализована как регрессия с включениями или исключениями факторов 

 
Дмитрий:

Лассо-регрессия? Да, есть и такое.

На практике удобнее гребневая - реализована как регрессия с включениями или исключениями факторов 

Ага, она.

 

Вот пример использования робастных регрессий для предсказания котировок, 3-е место на соревновании, но без деталей: http://blog.kaggle.com/2016/02/12/winton-stock-market-challenge-winners-interview-3rd-place-mendrika-ramarlina/

 

И еще один шикарный, на мой взгляд, пример: https://www.kaggle.com/c/battlefin-s-big-data-combine-forecasting-challenge/forums/t/5966/share-your-approach

 Читайте Sergey Yurgenson и смотрите его код (2-е место на другом соревновании):

 

My algorithm was written on Matlab and code will be provided below. The main idea of algorithm is to use linear regression model (robust regression) using small number of predictors, which are chosen based on p-value of slops of each potential predictor.

Winton Stock Market Challenge, Winner's Interview: 3rd place, Mendrika Ramarlina
Winton Stock Market Challenge, Winner's Interview: 3rd place, Mendrika Ramarlina
  • 2016.12.02
  • blog.kaggle.com
The Stock Market Challenge, Winton's second recruiting competition on Kaggle, asked participants to predict intra and end of day stock returns. The competition was crafted by research scientist at Winton to mimic the type of problem that they work on everyday. Mendrika Ramarlina finished third in the competition with a combination of simple...
 

И в тему про L1 / L2-регуляризацию: https://msdn.microsoft.com/ru-ru/magazine/dn904675.aspx

 

В любом случае, полезно познакомиться. 

 
Alexey Burnakov:

И это также крайне полезный аспект гребневой.

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

Я пробовал метод главных компонент. Вроде бы идеал. В результате преобразования получается набор регрессоров с нулевой корреляцией между собой. Еще можно отобрать "главные", которые объясняют основное разнообразие.

Убил кучу времени для задач классификации. Хоть бы на % понизить ошибку. 

 
СанСаныч Фоменко:

Я пробовал метод главных компонент. Вроде бы идеал. В результате преобразования получается набор регрессоров с нулевой корреляцией между собой. Еще можно отобрать "главные", которые объясняют основное разнообразие.

Убил кучу времени для задач классификации. Хоть бы на % понизить ошибку. 

Я недавно обсуждал с коллегами историю и развитие линейной регрессии. Если сказать коротко, изначально было мало данных и мало предикторов. Обычная линейная регрессия с некоторыми допущениями справлялась. Далее с развитием информационных технологий выросло количество данных, количество предикторов может легко перевалить за десятки тысяч. В таких условиях обычная линейная регрессия не поможет - переобучиться. Поэтому появились регуляризованные версии, версии робастные к требованиям распределений, и т.д.
Причина обращения: