Логарифмическая регрессия в python (шаг за шагом)


Логарифмическая регрессия — это тип регрессии, используемый для моделирования ситуаций, в которых рост или спад сначала быстро ускоряются, а затем со временем замедляются.

Например, на следующем графике показан пример логарифмического распада:

Для такого типа ситуации взаимосвязь между переменной-предиктором и переменной ответа может быть хорошо смоделирована с использованием логарифмической регрессии.

Уравнение модели логарифмической регрессии имеет следующий вид:

у = а + б*ln(х)

Золото:

  • y: переменная ответа
  • x: прогнозируемая переменная
  • a, b: коэффициенты регрессии, которые описывают взаимосвязь между x и y.

В следующем пошаговом примере показано, как выполнить логарифмическую регрессию в Python.

Шаг 1. Создайте данные

Во-первых, давайте создадим поддельные данные для двух переменных: x и y :

 import numpy as np
x = np. arange (1, 16, 1)
y = np. array ([59, 50, 44, 38, 33, 28, 23, 20, 17, 15, 13, 12, 11, 10, 9.5])

Шаг 2. Визуализируйте данные

Далее давайте создадим быструю диаграмму рассеяния, чтобы визуализировать связь между x и y :

 import matplotlib. pyplot as plt

plt. scatter (x,y)
plt. show () 

Из графика мы видим, что между двумя переменными существует логарифмический закон распада. Значение переменной отклика y сначала быстро уменьшается, а затем со временем замедляется.

Поэтому кажется разумным использовать уравнение логарифмической регрессии для описания взаимосвязи между переменными.

Шаг 3. Подберите модель логарифмической регрессии.

Далее мы будем использовать функцию polyfit() для подбора модели логарифмической регрессии, используя натуральный логарифм x в качестве переменной-предиктора и y в качестве переменной ответа:

 #fit the model
fit = np. polyfit (np. log (x), y, 1)

#view the output of the model
print(fit)

[-20.19869943 63.06859979]

Мы можем использовать коэффициенты результата, чтобы написать следующее скорректированное уравнение логарифмической регрессии:

у = 63,0686 – 20,1987 * ln(x)

Мы можем использовать это уравнение для прогнозирования переменной ответа y на основе значения переменной-предиктора x . Например, если x = 12, мы бы прогнозировали, что y будет 12,87 :

у = 63,0686 – 20,1987 * ln(12) = 12,87

Бонус: не стесняйтесь использовать этот онлайн-калькулятор логарифмической регрессии для автоматического расчета уравнения логарифмической регрессии для заданного предиктора и переменной отклика.

Дополнительные ресурсы

Полное руководство по линейной регрессии в Python
Как выполнить экспоненциальную регрессию в Python
Как выполнить логистическую регрессию в Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *