R-квадрат
Що таке R-квадрат
У розділі Метрики ми розглянули деякі з найпоширеніших метрик для регресії. Це MSE, RMSE та MAE. Вони добре підходять для порівняння моделей, але коли ви будуєте одну модель, не завжди зрозуміло, чи є отриманий результат хорошим для вашого набору даних, чи потрібно продовжувати шукати інші моделі.
На щастя, існує метрика під назвою R-квадрат, яка вимірює ефективність моделі за шкалою від 0 до 1. R-квадрат обчислює частку дисперсії цільової змінної, яку пояснює модель.
Проблема полягає в тому, що ми не можемо одразу обчислити пояснену дисперсію. Але ми можемо обчислити непояснену дисперсію, тому перетворимо наведену вище формулу так:
Загальна дисперсія
Загальна дисперсія — це просто дисперсія цільової змінної, яку можна обчислити за формулою вибіркової дисперсії зі статистики (ȳ — це середнє значення цільової змінної):
Ось приклад із візуалізацією. Різниці між фактичним значенням цільової змінної та її середнім позначені помаранчевим кольором. Як і при обчисленні SSR, беремо довжину кожної помаранчевої лінії, підносимо її до квадрату та додаємо до суми, але тепер також ділимо результат на m-1. У цьому прикладі отримано загальну дисперсію 11.07.
Не пояснена дисперсія
Тепер потрібно обчислити дисперсію, яку модель не пояснює. Якби модель пояснювала всю дисперсію, всі точки лежали б на побудованій регресійній прямій. Це трапляється рідко, тому потрібно обчислити дисперсію цільової змінної, але тепер відносно регресійної прямої, а не середнього. Використаємо ту ж формулу, але замінимо ȳ на прогнозовані значення моделі.
Ось приклад із візуалізацією:
Тепер ми знаємо все необхідне для обчислення R-квадрат:
Ми отримали значення R-квадрат 0.92, що близько до 1, отже, маємо чудову модель. Також обчислимо R-квадрат для ще однієї моделі.
Значення R-квадрат нижче, оскільки модель дещо недонавчає дані.
R-квадрат у Python
Клас sm.OLS
обчислює R-квадрат для нас. Його можна знайти у таблиці summary()
тут.
Підсумовуючи, R-квадрат — це метрика для регресії. Вона може набувати значень від 0 до 1. На відміну від інших метрик, таких як MSE/MAE, більше значення є кращим (якщо модель не перенавчається). Ви можете знайти R-квадрат у таблиці summary()
класу sm.OLS
.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain what a good R-squared value is?
How does R-squared compare to other regression metrics like MSE or MAE?
Can R-squared ever be negative?
Awesome!
Completion rate improved to 5.26
R-квадрат
Свайпніть щоб показати меню
Що таке R-квадрат
У розділі Метрики ми розглянули деякі з найпоширеніших метрик для регресії. Це MSE, RMSE та MAE. Вони добре підходять для порівняння моделей, але коли ви будуєте одну модель, не завжди зрозуміло, чи є отриманий результат хорошим для вашого набору даних, чи потрібно продовжувати шукати інші моделі.
На щастя, існує метрика під назвою R-квадрат, яка вимірює ефективність моделі за шкалою від 0 до 1. R-квадрат обчислює частку дисперсії цільової змінної, яку пояснює модель.
Проблема полягає в тому, що ми не можемо одразу обчислити пояснену дисперсію. Але ми можемо обчислити непояснену дисперсію, тому перетворимо наведену вище формулу так:
Загальна дисперсія
Загальна дисперсія — це просто дисперсія цільової змінної, яку можна обчислити за формулою вибіркової дисперсії зі статистики (ȳ — це середнє значення цільової змінної):
Ось приклад із візуалізацією. Різниці між фактичним значенням цільової змінної та її середнім позначені помаранчевим кольором. Як і при обчисленні SSR, беремо довжину кожної помаранчевої лінії, підносимо її до квадрату та додаємо до суми, але тепер також ділимо результат на m-1. У цьому прикладі отримано загальну дисперсію 11.07.
Не пояснена дисперсія
Тепер потрібно обчислити дисперсію, яку модель не пояснює. Якби модель пояснювала всю дисперсію, всі точки лежали б на побудованій регресійній прямій. Це трапляється рідко, тому потрібно обчислити дисперсію цільової змінної, але тепер відносно регресійної прямої, а не середнього. Використаємо ту ж формулу, але замінимо ȳ на прогнозовані значення моделі.
Ось приклад із візуалізацією:
Тепер ми знаємо все необхідне для обчислення R-квадрат:
Ми отримали значення R-квадрат 0.92, що близько до 1, отже, маємо чудову модель. Також обчислимо R-квадрат для ще однієї моделі.
Значення R-квадрат нижче, оскільки модель дещо недонавчає дані.
R-квадрат у Python
Клас sm.OLS
обчислює R-квадрат для нас. Його можна знайти у таблиці summary()
тут.
Підсумовуючи, R-квадрат — це метрика для регресії. Вона може набувати значень від 0 до 1. На відміну від інших метрик, таких як MSE/MAE, більше значення є кращим (якщо модель не перенавчається). Ви можете знайти R-квадрат у таблиці summary()
класу sm.OLS
.
Дякуємо за ваш відгук!