R语言 如何计算对数线性回归
对数回归是一种回归,用于模拟增长或衰减最初迅速加速,然后随着时间的推移而减慢的情况。例如,下面的图形显示了一个对数衰变的例子。
在这种情况下,可以利用对数回归适当地描述预测变量和响应变量之间的关系。对数回归模型的方程式看起来像这样。
其中 :
- y:响应的变量
- x:表征x和y之间联系的回归系数是预测变量a、b。
逐步实施
第1步:收集数据。
首先,让我们为两个变量生成一些虚构的数据:X和Y。
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)
# Firstly we will fit the gfgModel
gfgModel <- lm(y ~ log(x))
# Now Let's Print the summary
summary(gfgModel)
我们可以从图中观察到,两个变量之间有一个明确的对数衰减模式。响应变量y的值最初迅速下降,然后随着时间的推移逐渐减少。因此,使用对数回归方程来描述变量之间的联系似乎是一种很好的方法。
第3步:创建一个对数回归模型。
然后,lm()函数将被用来拟合一个对数回归模型,以x的自然对数作为预测变量,y作为响应变量。
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步:建立对数回归模型的可视化表示
最后,我们可以绘制数据,看看对数回归模型与数据的匹配程度。
# 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)
输出 。