В качестве альтернативного объяснения рассмотрим следующую интуицию:
При минимизации ошибки мы должны решить, как наказать эти ошибки. Действительно, самый простой подход к штрафу за ошибки будет использовать функцию linearly proportional
штрафа. При такой функции каждому отклонению от среднего присваивается пропорциональная соответствующая ошибка. Два раза дальше от среднего будет поэтому в результате два раза штрафа.
Более распространенный подход заключается в рассмотрении squared proportional
взаимосвязи между отклонениями от среднего значения и соответствующим штрафом. Это будет гарантировать, что чем дальше вы находитесь от среднего значения, тем больше вы будете оштрафованы. Используя эту штрафную функцию, выбросы (далеко от среднего значения) считаются пропорционально более информативными, чем наблюдения вблизи среднего значения.
Чтобы визуализировать это, вы можете просто нарисовать штрафные функции:
Теперь, особенно при рассмотрении оценки регрессий (например, OLS), различные штрафные функции будут давать разные результаты. Используя linearly proportional
функцию штрафа, регрессия присваивает выбросам меньший вес, чем при использовании squared proportional
функции штрафа. Поэтому известно, что медианное абсолютное отклонение (MAD) является более надежной оценкой. В общем, это тот случай, когда надежная оценка хорошо подходит для большинства точек данных, но «игнорирует» выбросы. Для сравнения, наименьшие квадраты больше притягиваются к выбросам. Вот визуализация для сравнения:
Теперь, несмотря на то, что OLS является в значительной степени стандартом, наверняка также используются различные штрафные функции. В качестве примера вы можете взглянуть на функцию робастфита Matlab, которая позволяет вам выбрать другую функцию штрафа (также называемую «весом») для вашей регрессии. Функции штрафа включают в себя Эндрюса, Бисквера, Коши, Фэйр, Хьюбер, Логистик, Олс, Талвар и Вельш. Их соответствующие выражения также можно найти на веб-сайте.
Я надеюсь, что это поможет вам получить немного больше интуиции для штрафных функций :)
Обновить
Если у вас есть Matlab, я могу порекомендовать поиграть с robustdemo от Matlab , который был создан специально для сравнения обычных наименьших квадратов с устойчивой регрессией:
Демо-версия позволяет перетаскивать отдельные точки и сразу же видеть влияние как на обычные наименьшие квадраты, так и на устойчивую регрессию (что идеально подходит для учебных целей!).