R语言 如何使用lm()函数来拟合线性模型

R语言 如何使用lm()函数来拟合线性模型

在这篇文章中,我们将学习如何在R编程语言中使用lm()函数来拟合线性模型。

线性模型是用来预测基于自变量的未知变量的值。它主要用于找出变量之间的关系和进行预测。lm()函数用于在R语言中对数据帧进行线性模型拟合。它可以用来进行回归、单层方差分析和协方差分析,以预测不在数据框中的数据所对应的数值。这些在预测房地产价格、天气预报等方面都非常有帮助。

在R语言中使用 lm() 函数来拟合线性模型,我们首先使用data.frame()函数来创建一个样本数据框,其中包含必须使用回归函数来拟合线性模型的值。然后我们使用lm()函数将某个函数拟合到给定的数据框中。

语法:

lm( fitting_formula, dataframe )

参数

  • fitting_formula: 决定了线性模型的公式。
  • dataframe: 决定了包含数据的数据框的名称。

然后,我们可以使用summary()函数来查看线性模型的总结。summary()函数解释了线性模型分析的最重要的统计值。

语法:

summary( linear_model )

摘要包含以下关键信息。

  • 残差标准误差: 决定了误差的标准偏差,其中方差的平方根减去n减1+#所涉及的变量,而不是除以n-1。
  • 多重R平方: 确定你的模型与数据的拟合程度。
  • 调整后的R平方: 考虑到你有多少个样本和你使用多少个变量,使多重R平方正常化。
  • F-Statistic: 是一个 “全局 “测试,检查你的系数中是否至少有一个是非零的。

举例: 举例说明lm()函数的用法。

# sample data frame
df <- data.frame( x= c(1,2,3,4,5),
                  y= c(1,5,8,15,26))
  
# fit linear model
linear_model <- lm(y ~ x^2, data=df)
  
# view summary of linear model
summary(linear_model)

输出

Call:

lm(formula = y ~ x^2, data = df)

Residuals:

1          2          3          4          5

2.000e+00  5.329e-15 -3.000e+00 -2.000e+00  3.000e+00

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept)  -7.0000     3.0876  -2.267  0.10821

x             6.0000     0.9309   6.445  0.00757 **

—

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.944 on 3 degrees of freedom

Multiple R-squared:  0.9326,    Adjusted R-squared:  0.9102

F-statistic: 41.54 on 1 and 3 DF,  p-value: 0.007575

诊断图

诊断图帮助我们查看模型的不同统计值之间的关系。它有助于我们分析离群值的程度和拟合模型的效率。为了查看线性模型的诊断图,我们使用R语言中的plot()函数。

语法:

plot( linear_model )

例子: 上述拟合线性模型的诊断图。

# sample data frame
df <- data.frame( x= c(1,2,3,4,5),
                  y= c(1,5,8,15,26))
  
# fit linear model
linear_model <- lm(y ~ x^2, data=df)
  
# view diagnostic plot
plot(linear_model)

输出

如何使用R语言中的lm函数来拟合线性模型

绘制线性模型

我们可以通过使用abline()方法绘制上述拟合的线性模型,使其可视化。我们首先绘制一个数据点的散点图,然后通过abline()函数将其与线性模型的abline图叠加。

语法:

plot( dfx, dfy) 
abline( Linear_model ) 

例子: 绘制线性模型图

# sample data frame
df <- data.frame( x= c(1,2,3,4,5),
                  y= c(1,5,8,15,26))
  
# fit linear model
linear_model <- lm(y ~ x^2, data=df)
  
# Plot abline plot
plot( dfx, dfy )
abline( linear_model)

输出

如何使用R语言中的lm函数来拟合线性模型

使用拟合模型预测未知数据点的值

为了使用上述拟合的线性模型预测新的输入值,我们使用predict()函数。predict()函数接收模型和带有未知数据点的数据框,并根据拟合模型预测每个数据点的值。

语法:

predict( model, data )

参数

  • model: 确定线性模型。
  • data: 确定具有未知数据点的数据框。

例子: 预测新的输入

# sample data frame
df <- data.frame( x= c(1,2,3,4,5),
                  y= c(1,5,8,15,26))
  
# fit linear model
linear_model <- lm(y ~ x^2, data=df)
  
# Predict values
predict( linear_model, newdata = data.frame(x=c(15,16,17)) )

输出

1  2  3  
83 89 95

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程