В якості альтернативного пояснення розглянемо таку інтуїцію:
Зводячи до мінімуму помилку, ми повинні вирішити, як покарати ці помилки. Дійсно, найпростішим підходом до покарання помилок було б використання linearly proportional
функції штрафу. При такій функції кожному відхиленню від середнього дається пропорційна відповідна похибка. Тому вдвічі більше від середнього значення призвело б до подвійного штрафу.
Більш поширеним підходом є розгляд squared proportional
залежності між відхиленнями від середнього та відповідного штрафу. Це дозволить переконатися, що чим далі ви знаходитесь далеко від середнього значення, тим пропорційно більше ви будете штрафовані. Використовуючи цю функцію штрафних санкцій, люди, що перебувають на відстані від середнього значення, вважаються пропорційно більш інформативними, ніж спостереження поблизу середнього.
Для наочності цього ви можете просто побудувати функції штрафних санкцій:
Тепер, особливо при розгляді оцінки регресій (наприклад, OLS), різні функції штрафних санкцій дадуть різні результати. Використовуючи функцію linearly proportional
штрафу, регресія присвоює меншій вазі, ніж люди, що користуються squared proportional
штрафом, ніж при використанні функції штрафу. Отже, Середня абсолютна відхилення (MAD), як відомо, є більш надійною оцінкою. Загалом, саме так випливає, що надійний оцінювач добре підходить для більшості точок даних, але "ігнорує" людей, які не працюють. Найменше квадратики, що підходять, порівняно, тягнуться більше в сторону вибуху. Ось візуалізація для порівняння:
Зараз, хоча OLS є значною мірою стандартною, різні функції штрафу, безумовно, також використовуються. Як приклад, ви можете ознайомитись з функцією міцного обладнання Matlab, яка дозволяє вибрати іншу функцію штрафу (також звану «вага») за ваш регрес. До штрафних функцій належать andrews, bisquare, cauch, fair, huber, logistic, ols, talwar та welsch. Їх відповідні вирази можна знайти і на веб-сайті.
Я сподіваюся, що це допоможе вам отримати трохи більше інтуїції щодо штрафних функцій :)
Оновлення
Якщо у вас є Matlab, я можу порекомендувати пограти з Robustdemo Matlab , який був побудований спеціально для порівняння звичайних найменших квадратів з стійкою регресією:
Демонстрація дозволяє перетягувати окремі точки і відразу бачити вплив як на звичайні найменші квадрати, так і на міцну регресію (що ідеально підходить для навчальних цілей!).