Логарифмическая регрессия — это своего рода регрессия, которая используется для моделирования ситуаций, в которых рост или спад сначала быстро ускоряются, а затем со временем замедляются. На графике ниже, например, показан пример логарифмического распада:
Связь между переменной-предиктором и переменной-откликом может быть правильно описана в этом случае с использованием логарифмической регрессии. Уравнение модели логарифмической регрессии выглядит следующим образом:
где :
- y: Переменная ответа
- x: Коэффициенты регрессии, которые характеризуют связь между x и y, являются предикторными переменными a, b.
Поэтапная реализация
Шаг 1: Соберите данные:
Для начала сгенерируем фиктивные данные для двух переменных: x и y:
R
x=2:16
y=
c
(69, 60, 44, 38, 33, 28, 23, 20,
17, 15, 13, 12, 11, 10, 9.5)
Шаг 2: Сделайте данные визуальными:
Давайте теперь сделаем короткую диаграмму рассеяния, чтобы показать взаимосвязь между x и y:
plot(x, y)
R
# Firstly we will fit the gfgModel
gfgModel <-
lm
(y ~
log
(x))
# Now Let's Print the summary
summary
(gfgModel)
Из рисунка видно, что между двумя переменными существует определенная закономерность логарифмического затухания. Значение переменной отклика y сначала быстро падает, а затем постепенно уменьшается со временем. В результате использование уравнения логарифмической регрессии для характеристики связи между переменными представляется достойным подходом.
Шаг 3: Создайте модель логарифмической регрессии:
Затем функция lm() будет использоваться для подгонки модели логарифмической регрессии с натуральным логарифмом x в качестве предиктора и y в качестве переменной отклика.
Call:
lm(formula = y ~ log(x))
Residuals:
Min 1Q Median 3Q Max
-2.804 -1.972 -1.341 1.915 5.053
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 87.591 2.462 35.58 2.43e-14 ***
log(x) -29.713 1.155 -25.72 1.56e-12 ***
—
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.69 on 13 degrees of freedom
Multiple R-squared: 0.9807, Adjusted R-squared: 0.9792
F-statistic: 661.6 on 1 and 13 DF, p-value: 1.557e-12
Общее F-значение модели составляет 828,2, а соответствующее значение p исключительно низкое (3,702e-13), что указывает на то, что модель в целом выгодна. Из коэффициентов в выходной таблице видно, что подобранное уравнение логарифмической регрессии:
y = 63.1686 – 20.1987 ln (x)
Основываясь на значении переменной предиктора x, мы можем использовать это уравнение для предсказания переменной респондента y. Например, если x равно 12, мы можем ожидать, что y равно 12,87:
y = 63.1686-20.1987 * ln(12) = 12.87
Примечание. Вы можете использовать этот онлайн-калькулятор логарифмической регрессии для расчета уравнения логарифмической регрессии для данного предиктора и переменной отклика.
Шаг 4: Создайте визуальное представление модели логарифмической регрессии:
Наконец, мы можем построить данные, чтобы увидеть, насколько хорошо модель логарифмической регрессии соответствует данным:
R
# We will plot the x and y axis
plot
(x, y)
# now to define the line, we do
x=
seq
(from=5,to=40,length.out=5000)
# use the gfgModel to predict the
# y-values based on the x-values
y=
predict
(gfgModel,newdata=
list
(x=
seq
(
from=5,to=40,length.out=5000)),
interval=
"confidence"
)
# Here is the line
matlines
(x,y, lwd=2)
Выход: