Експоненціальна регресія в python (крок за кроком)
Експоненціальна регресія – це тип регресії, який можна використовувати для моделювання таких ситуацій:
1. Експоненціальне зростання: Зростання починається повільно, а потім швидко й безмежно прискорюється.
2. Експоненціальний розпад: розпад починається швидко, а потім сповільнюється, наближаючись до нуля.
Рівняння для моделі експоненціальної регресії має такий вигляд:
y = ab x
золото:
- y: змінна відповіді
- x: передбачувана змінна
- a, b: коефіцієнти регресії, які описують зв’язок між x і y
Наступний покроковий приклад показує, як виконати експоненціальну регресію в Python.
Крок 1: Створіть дані
Спочатку давайте створимо фальшиві дані для двох змінних: x і y :
import numpy as np x = np. arange (1, 21, 1) y = np. array ([1, 3, 5, 7, 9, 12, 15, 19, 23, 28, 33, 38, 44, 50, 56, 64, 73, 84, 97, 113])
Крок 2: Візуалізуйте дані
Далі створимо швидку діаграму розсіювання, щоб візуалізувати зв’язок між x і y :
import matplotlib. pyplot as plt plt. scatter (x,y) plt. show ()
З графіка ми бачимо, що існує чітка модель експоненціального зростання між двома змінними.
Таким чином, здається доцільним застосувати рівняння експоненціальної регресії для опису зв’язку між змінними, на відміну від моделі лінійної регресії.
Крок 3. Підберіть модель експоненціальної регресії
Далі ми використаємо функцію polyfit() , щоб підібрати модель експоненціальної регресії, використовуючи натуральний логарифм y як змінну відповіді та x як змінну предиктора:
#fit the model fit = np. polyfit (x, np. log (y), 1) #view the output of the model print(fit) [0.2041002 0.98165772]
Виходячи з результату, підігнане рівняння експоненціальної регресії можна записати таким чином:
ln(y) = 0,9817 + 0,2041(x)
Застосовуючи e до обох сторін, ми можемо переписати рівняння так:
y = 2,6689 * 1,2264x
Ми можемо використати це рівняння для прогнозування змінної відповіді y на основі значення змінної предиктора x . Наприклад, якщо x = 12, ми передбачимо, що y буде 30,897 :
y = 2,6689 * 1,2264 12 = 30,897
Бонус: не соромтеся використовувати цей онлайн-калькулятор експоненціальної регресії, щоб автоматично обчислити рівняння експоненціальної регресії для заданого предиктора та змінної відповіді.
Додаткові ресурси
Як виконати просту лінійну регресію в Python
Як виконати поліноміальну регресію в Python
Як виконати квантильну регресію в Python