如何在 r 中执行幂回归(逐步)


幂回归是一种非线性回归,其形式如下:

y = axb

金子:

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

这种类型的回归用于对响应变量等于预测变量的幂的情况进行建模。

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

第 1 步:创建数据

首先,我们为两个变量创建假数据:x 和 y。

 #create data
x=1:20
y=c(1, 8, 5, 7, 6, 20, 15, 19, 23, 37, 33, 38, 49, 50, 56, 52, 70, 89, 97, 115)

第 2 步:可视化数据

接下来,让我们创建一个散点图来可视化 x 和 y 之间的关系:

 #create scatterplot
plot(x, y) 

该图显示两个变量之间存在明显的功效关系。因此,对数据拟合幂回归方程而不是线性回归模型似乎是明智的。

步骤 3:拟合功效回归模型

接下来,我们将使用lm()函数将回归模型拟合到数据,指定 R 在拟合模型时应使用响应变量对数和预测变量对数:

 #fit the model
model <- lm(log(y)~ log(x))

#view the output of the model
summary(model)

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

Residuals:
     Min 1Q Median 3Q Max 
-0.67014 -0.17190 -0.05341 0.16343 0.93186 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.15333 0.20332 0.754 0.461    
log(x) 1.43439 0.08996 15.945 4.62e-12 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3187 on 18 degrees of freedom
Multiple R-squared: 0.9339, Adjusted R-squared: 0.9302 
F-statistic: 254.2 on 1 and 18 DF, p-value: 4.619e-12

模型的整体 F 值为252.1,相应的 p 值极低(4.619e-12),表明模型整体上是有用的。

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

ln(y) = 0.15333 + 1.43439ln(x)

e应用于两边,我们可以将方程重写如下:

  • y = e 0.15333 + 1.43439ln(x)
  • y = 1.1657x 1.43439

我们可以使用该方程根据预测变量x的值来预测响应变量y

例如,如果x = 12,那么我们预测y将为41.167

y = 1.1657(12) 1.43439 = 41.167

奖励:随意使用此在线功效回归计算器来自动计算给定预测变量和响应变量的功效回归方程。

其他资源

如何在 R 中执行多元线性回归
如何在 R 中执行指数回归
如何在 R 中执行对数回归

添加评论

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