Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте R-Квадрат | Вибір Найкращої Моделі
Лінійна Регресія з Python

bookR-Квадрат

Що таке 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.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookR-Квадрат

Що таке 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.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 3
some-alt