Експоненціальна регресія в 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *