R语言 如何计算对数线性回归

R语言 如何计算对数线性回归

对数回归是一种回归,用于模拟增长或衰减最初迅速加速,然后随着时间的推移而减慢的情况。例如,下面的图形显示了一个对数衰变的例子。

如何在R中计算对数线性回归?

在这种情况下,可以利用对数回归适当地描述预测变量和响应变量之间的关系。对数回归模型的方程式看起来像这样。

如何在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)

输出

如何在R中计算对数线性回归?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程