R 中的对数回归(一步一步)


对数回归是一种回归类型,用于对增长或下降首先快速加速然后随着时间的推移减慢的情况进行建模。

例如,下图显示了对数衰减的示例:

对于这种类型的情况,可以使用对数回归很好地对预测变量和响应变量之间的关系进行建模。

对数回归模型的方程采用以下形式:

y = a + b*ln(x)

金子:

  • y:响应变量
  • x:预测变量
  • a、b:描述xy之间关系的回归系数

以下分步示例展示了如何在 R 中执行对数回归。

第 1 步:创建数据

首先,我们为两个变量创建假数据: xy

 x=1:15

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

第 2 步:可视化数据

接下来,让我们创建一个快速散点图来可视化xy之间的关系:

 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 ***
---
Significant. 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),表明模型整体上是有用的。

使用输出表中的系数,我们可以看到拟合的对数回归方程为:

y = 63.0686 – 20.1987 * ln(x)

我们可以使用该方程根据预测变量x的值来预测响应变量y 。例如,如果x = 12,那么我们预测y将为12.87

y = 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 中执行多项式回归

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注