[МУЗЫКА] [МУЗЫКА]
[ШУМ] Тема
сегодняшней лекции — «Отбор значимых признаков».
Прошлая лекция была посвящена оценке качества моделей, и там я говорил о том,
что плохо, когда в модель мы включаем слишком много признаков.
Сегодня мы поговорим, почему это плохо и что с этим делать.
Почему это плохо?
Самый простой пример — потому что у вас получаются какие-то неадекватные значения,
и вы хотите понять, а почему такие получаются неадекватные значения отклика,
пытаетесь разобраться в признаках, а у вас их, допустим, много (20, 40).
И вы пытаетесь найти тот признак, который тот все испортил, и не можете,
потому что их слишком много, то есть модель становится громоздкой и непонятной,
трудно интерпретируемой.
Но это не самый большой минус,
самый большой минус в том, что модель становится менее устойчивой.
И в дальнейшем при прогнозировании она может выдавать часто
неадекватные результаты.
Почему такое происходит?
Для этого приведем пример.
Мы решили опросить людей, узнать их доход, пол, возраст, образование,
количество братьев-сестер, количество детей ну и что-то там еще.
И на основе всей этой информации построить регрессионную модель и
прогнозировать доход человека.
И при этом мы взяли в модель и включили вообще все данные,
которые у нас были, то есть даже не разбираясь,
какие из них значимые, какие незначимые, что влияет, а что нет.
И, например, в том числе включили количество братьев и сестер.
Обычно это число довольно маленькое (1, 2, 0), то есть в среднем получится,
наверное, число около 1 либо даже меньше 1.
И он, скорее всего, никак не влияет на доход,
но потом мы встречаем какого-то человека, у которого много братьев и сестер,
7 либо 10 даже, и хотим для него спрогнозировать.
В результате что получится?
Этот параметр, который обычно был незначим,
потому что он и сам по себе маленький, и у него,
скорее всего, какой-то коэффициент был не такой уж и большой.
И он все равно окажет значимое влияние на признак, на отклик.
И, таким образом, этот человек,
у которого много братьев и сестер автоматически станет чуть-чуть богаче.
Либо, если этот признак [НЕРАЗБОРЧИВО], то беднее почему-то ну и так далее.
А представьте, что у вас этих признаков очень много, то есть на самом деле они не
влияют на модель, как-то в нее входят с маленькими коэффициентами,
и поэтому мы сначала их не замечаем на обучающей выборке.
Но потом, когда будет прогнозирование и вдруг какой-то человек придет с этим
признаком — этот признак будет большой, — это обязательно будет какой-то выброс,
и он передастся в отклик.
Поэтому это очень плохо — включать в модель слишком много признаков,
особенно если они незначимые.
И чтобы этого не было, всегда при построении регрессии во всех статпакетах
проводится проверка значимости параметров — коэффициентов при наших признаках.
Для этого используется критерий Стьюдента,
и он проверяет гипотезы о равенстве нулю параметра при нашем признаке.
То есть, если на самом деле получилось какое-то значение, близкое к 0,
но не равное 0, оно получилось, скорее всего, случайно.
Если гипотеза как раз не отвергается — основная, что оно равно 0,
— то признак считается незначимым, можно выбросить его.
Соответственно, если гипотеза отвергается, что действительно при нем какое-то
значение, отличное от 0 не просто так, а действительно должно быть,
какой-то вклад вносит, то тогда признак берем себе, то есть он пойдет нам.
Статистика критерия имеет следующий вид, здесь ESS, я напоминаю — объясненная
дисперсия, и подчиняется он распределению Стьюдента, конечно.
Здесь что еще добавить?
Что сама по себе статистика нам ничего не скажет, а вот достигнутый уровень
значимости как раз нам и скажет: если он будет меньше заданного уровня значимости,
то все хорошо, признак действительно значимый.
Если больше, то признак незначимый, его следует исключить из модели.
Теперь посмотрим на нашу регрессию,
которая была у нас прошлый раз получена на прошлых лекциях.
Напомню, такая вот большая — в ней аж 9 признаков плюс еще свободный член.
Здесь у нас количество переходов на сайт — мы их пытаемся прогнозировать, исходя из
количества кликов, количества звонков, количества дней недели и наличия соцсетей.
Теперь возьмем все эти данные и проверим,
а какие из этих признаков действительно являются значимыми.
Для этого как раз мы проверяем с помощью критерия Стьюдента
равенство нулю параметров при наших признаках, и вот, что у нас получается.
На самом деле, здесь всего два довольно значимых признака, именно: клики и звонки.
То есть, действительно, клики и звонки хорошо связаны с переходами с сайт,
и вот их можно использовать в модели, потому что у них получилось очень
маленькое p-value, то есть оно получилось близко к 0.
Также видим, что если социальные сети у фирмы тоже являются значимым признаком,
но не сильно, то есть если бы у нас был задан уровень значимости порядка 0.1,
то он бы уже был незначимым.
Но мы тоже возьмем его с собой в модель.
Также значимым оказался свободный член, но тоже не очень сильно.
На самом деле, это даже хорошо.
То есть у вас получится такая регрессия,
что у вас окажутся все признаки незначимыми,
кроме одного, а именно свободного члена, значит ваша регрессия очень плохая.
Потому что получается, что некоторая константа описывает ваши данные лучше,
чем все остальные признаки.
Но это что-то не так, значит, эти признаки вообще для данной задачи не подходят,
нужно искать другие.
И теперь мы посмотрим, как изменилась наша модель,
то есть мы выкинули оттуда все незначимые признаки, перестроили.
Посмотрим, что случилось.
Во-первых видно, что R², то есть коэффициент детерминации был 0.66,
стал чуть меньше — 0.65 примерно.
Он уменьшился даже.
То есть, несмотря на то что наша модель стала лучше,
потому что мы туда выкинули лишнее, то, что ей не помогало, он стал меньше,
поэтому в этом как раз его минус и заключается — что мы вроде делаем все
лучше, а он показывает, что стало чуть-чуть хуже.
Однако коэффициент детерминации скорректированный, видим, стал немножко
опять же получше, потому что все это мы выкинули лишнее, и он как бы стал лучше.
И, вообще, качество модели, если мы посмотрим на коэффициент детерминации,
сильно не изменилось.
Однако [НЕРАЗБОРЧИВО] стало лучше.
Но статистика Фишера, как мы видим, тоже изменилась, но она,
как p-value, отвергалась [НЕРАЗБОРЧИВО] и отвергается.
То есть действительно R² у нас хороший не равен 0.
На следующей лекции мы поговорим про мулитиколлинеарность [НЕРАЗБОРЧИВО].