2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 17:06 
Одной из предпосылок линейной регрессии является нормальное распределение переменных.
в моём случае гипотеза нормальности существенно нарушена, поэтому качество модели оценивалось по контрольной выборке, путём оценки корреляции прогнозных и фактических значений объясняемой переменной.
С помощью обычного МНК я получил на обучающей выборке $R^2=0,48$, а на контрольной выборке $R=0.05$, что соответствует $R^2=0.003$. В общем можно считать, что регрессия незначима.
Учитывая такое большое расхождение внутреннего и внешнего критериев качества модели, сам самой напрашивается вывод о несостоятельности внутреннего критерия.
Возникла идея применить нелинейную трансформацию исходных данных, чтобы удовлетворить предпосылкам МНК, или хотя бы к ним приблизиться. Применив преобразование Бокса-Кокса, которое часто рекомендуется для этик целей мне удалось полностью нормализовать распределения всех факторов (по трём наиболее точным критериям их распределения неотличимы от нормального). После этого я снова попытался построить регрессию на новых факторах.
Результат меня немного удивил. На обучающей выборке значение коэффициента детерминации почти не изменилось, т.е. осталось на уровне 0.5, зато на контрольной выборке корреляция упала до нуля (получалась даже с отрицательным знаком). Подумал - может где ошибся, изменил показатель степени на единицу и получил в точности свой первоначальный результат. Т.е. ошибки в алгоритме никакой видимо нет, и именно нормализующая трансформация ухудшает прогностическую способность модели. Причём, попреки всем ожиданиям, ухудшает очень сильно.
Может ли кто ни будь объяснить в чём причина таких результатов? Ведь нелинейная трансформация судя по её предназначению должна улучшать модель, по крайней мере, в плане состоятельности внутреннего критерия. Я бы понял если после трансформации $R^2$ уменьшился и стал более объективным показателем качества модели (собственно этого я и ожидал), но он то как раз не изменился, а вместо этого уменьшилась корреляция на контрольной выборке.

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 18:52 
Аватара пользователя
А какие основания считать, что модель действительно прогнозирует? Коэффициент корреляции Вы привели, а F-отношение, скажем, какое?

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 19:33 
Евгений Машеров в сообщении #1110868 писал(а):
А какие основания считать, что модель действительно прогнозирует? Коэффициент корреляции Вы привели, а F-отношение, скажем, какое?


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

а основания так считать - это корреляция прогноза с фактическими значениями на контрольной выборке, которая не участвовала в построении модели, она около 5%, конечно не много, но и выборка большая (около 1000), только после трансформации эта корреляция совсем пропадает (хотя на обучающей выборке сохраняется тот же $R^2=0.48$, по которому можно было бы посчитать и F - статистику).

Вот меня и интересует почему нелинейная трансформация ухудшает модель, в то время как должна улучшать, и нормально ли это вообще, а то может просто я чего не учёл?

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 19:36 
Andrey_Kireew в сообщении #1110848 писал(а):
Одной из предпосылок линейной регрессии является нормальное распределение переменных

Нормальность не является важной "предпосылкой линейной регрессии". Оценки коэффициентов регрессии после МНК остаются несмещенными и состоятельными и без условия нормальности. Если вам надо проверять гипотезы про эти коэффициенты, тогда нормальность пригодится.

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 21:00 
Аватара пользователя
F-отношение тут нужно не для проверки значимости, для чего действительно нужно постулировать нормальность распределения, а как некий способ проверить, нет ли overfitting'а.
Если обучающая даёт пристойный $R^2$, а на тестовой совсем плохо - может, попросту мало наблюдений для данного числа параметров? И подогнать получается, а прогностической ценности нет?

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 22:06 
Всё же мне хотелось бы узнать почему нелинейное преобразование ухудшает модель, в то время как должно улучшать.

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 22:45 
Аватара пользователя
Подозреваю, что оно не ухудшает, а избавляет от псевдоулучшения.
Можно подробности по модели? Сколько наблюдений, сколько параметров, как разбита выборка на обучающую и тестовую? Модель линейна или нет?

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 23:16 
Евгений Машеров в сообщении #1110942 писал(а):
Подозреваю, что оно не ухудшает, а избавляет от псевдоулучшения.
Можно подробности по модели? Сколько наблюдений, сколько параметров, как разбита выборка на обучающую и тестовую? Модель линейна или нет?


Да, модель линейная, 50 параметров, 1000 наблюдений (300 - контрольная выборка).
На счёт того, что избавляет от псевдо улучшения - это я сомневаюсь, если бы $R^2$ уменьшился на обучающей выборке, то и вопросов бы не было. Но он то как раз не изменяется, а уменьшается корреляция на контрольной выборке, и причём уменьшается до нуля.

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение31.03.2016, 23:37 
Аватара пользователя
А как формируется контрольная выборка?

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение03.04.2016, 14:56 
Евгений Машеров в сообщении #1110952 писал(а):
А как формируется контрольная выборка?


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

-- 03.04.2016, 16:23 --

Склоняюсь к выводу, что это трансформация усиливает неоднородность дисперсии в остатках, которая и без того была не очень однородной. После оценки значимости коэффициентов по t-критерию с поправкой Уайта и удаления самых незначимых параметров, ситуация стабилизировалась. Результаты на обучающей и контрольной выборках стали более - менее согласованными.
Попробовал случайным образом менять величину показателя нелинейной трансформации. Оказалось есть некоторое оптимальное значение (в моём случае 0.5, т.е. квадратный корень), обеспечивающее наилучшее качество регрессионного уравнения (по тестам на контрольной выборке). И это значение совсем не оптимально с точки зрения обеспечения нормального закона распределения факторов. Т.е. критерий нормальности здесь явно не подходит

 
 
 
 Re: Нелинейное нормализующее преобразование в регрессии
Сообщение04.04.2016, 09:41 
Аватара пользователя
Прежде всего - нормальность распределения нужна не столько для построения самой модели, сколько чтобы критерии её качества имели бы смысл. В частности, коэффициент корреляции бывает весьма неустойчив к влиянию выбросов (F-отношение ещё более неустойчиво, но там хотя бы есть некая автоматическая коррекция на overfitting).
И проявляющийся у Вас эффект может быть связан не с недостатком нормализующего преобразования, и не с неверной схемой формирования подвыборок (хотя некоторые сомнения у меня возникают - беря последние наблюдения, я должен быть уверен, что нет никакого связанного со временем неучтённого фактора; если такой уверенности нет, лучше брать случайно).
У Вас могут быть мощные выбросы. К которым и идёт подгонка. А нормализация их убирает. Вот я бы с их поиска и начал бы.

 
 
 [ Сообщений: 11 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group