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

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

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

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

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

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

у = а + b*ln(x)

куда:

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

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

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

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

x=1:15

y=c(59, 50, 44, 38, 33, 28, 23, 20, 17, 15, 13, 12, 11, 10, 9.5)

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

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

plot(x, y) 

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

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

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

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

#fit the model
model <- lm(y ~ log (x))
#view the output of the model
summary(model)

Call:
lm(formula = y ~ log(x))

Residuals:
 Min 1Q Median 3Q Max 
-4.069 -1.313 -0.260 1.127 3.122 

Coefficients:
 Estimate Std. Error t value Pr(>|t|) 
(Intercept) 63.0686 1.4090 44.76 1.25e-15 \*\*\*
log(x) -20.1987 0.7019 -28.78 3.70e-13 \*\*\*
---
Signif. codes: 0 ‘\*\*\*’ 0.001 ‘\*\*’ 0.01 ‘\*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.054 on 13 degrees of freedom
Multiple R-squared: 0.9845, Adjusted R-squared: 0.9834 
F-statistic: 828.2 on 1 and 13 DF, p-value: 3.702e-13

Общее значение F модели составляет 828,2, а соответствующее значение p чрезвычайно мало (3,702e-13), что указывает на то, что модель в целом полезна.

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

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

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

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

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

Шаг 4. Визуализируйте модель логарифмической регрессии

Наконец, мы можем создать быстрый график, чтобы визуализировать, насколько хорошо модель логарифмической регрессии соответствует данным:

#plot x vs. y
plot(x, y)

#define x-values to use for regression line
x=seq(from= 1 ,to= 15 ,length. out = 1000 )

#use the model to predict the y-values based on the x-values
y=predict(model,newdata=list(x=seq(from= 1 ,to= 15 ,length. out = 1000 )),
 interval=" confidence ")

#add the fitted regression line to the plot (lwd specifies the width of the line)
matlines(x,y, lwd= 2 )
Логарифмическая регрессия в R

Мы видим, что модель логарифмической регрессии хорошо подходит для этого конкретного набора данных.

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.