С того дня, как я начал изучать линейную регрессию, я думал, что она подойдет для линии или гиперплоскости, где существует линейная связь между входными данными и числовой переменной результата. Поскольку функция стоимости, связанная с линейной регрессией, пытается минимизировать SSE между данными и подобранной линией/гиперплоскостью, я экспериментировал, чтобы посмотреть, что произойдет, если данные будут иметь выбросы. Будет ли он по-прежнему фиксировать фактическую тенденцию между входом и выходом?

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

Давайте смоделируем данные таким образом, чтобы в них было мало выбросов, но выбросы были недалеко от фактического тренда.

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

Опять же, если мы моделируем данные с экстремальными выбросами, соответствие будет намного хуже, и вы знаете, почему;)

Если мы моделируем эти данные с помощью линейной регрессии, фактическая тенденция не фиксируется из-за выбросов. Но оценка r2 в обоих примерах положительная. Как правило, положительная оценка r2 означает, что подобранная линия объясняет некоторый процент дисперсии данных. Если я посмотрю на показатели r2, аппроксимированную линию и данные с точки зрения математики, я не убеждён в том, что значения r2 являются положительными значениями.

Чтобы быть более точным, мы можем видеть, что фактическое соотношение y = 5 * x + ошибка. Мы хотели бы иметь модель, которая может дать нам это соответствие независимо от выбросов. Но в первом примере соответствие равно y = 3*x + 20. Во втором примере соответствие равно y = -0,5*x + 55. Когда нельзя передать конечным пользователям, что при увеличении x на единицу единица, y увеличивается на три единицы (пример 1) или, когда x увеличивается на одну единицу, y уменьшается на половину единиц (пример 2), когда фактическое отношение другое.

Чтобы устранить влияние выбросов на соответствие, мы можем использовать надежные методы регрессии, такие как регрессия TheilSen, регрессия Хубера и RLM из статистических моделей. Они пытаются уловить первоначальную тенденцию в данных, придавая наименьший вес выбросам. Результаты ниже.

Регрессия TheilSen, кажется, хорошо подходит. Оценка r2 для TheilSen является отрицательной, хотя соответствие отражает фактическую тенденцию. Таким образом, мы не можем полагаться на показатель r2. Нам нужно найти метрику, которая может оценить надежность модели, придав наименьший вес выбросам. Но, как обсуждалось ранее, трудно обнаружить выбросы, если вы не знаете фактическую причину их присутствия. Я работаю над этой метрикой, я обновлю эту статью с результатами. Хотя в этой статье нет заключения, я надеюсь, что она дала вам некоторое направление для изучения правильной метрики для надежных регрессионных моделей. Спасибо!
Моя следующая статья посвящена разделению кластеров на необходимое количество подкластеров. До скорой встречи.