R语言计算线性回归的最小二乘估计

R语言计算线性回归的最小二乘估计

  • 全称:线性回归的最小二乘法(OLS回归),ordinary least square,字面翻译:普通最小平方;
  • 内容:包括三个部分:简单线性回归、多项式回归、多元线性回归;
  • 原理:最小二乘法,即使回归函数与实际值之差的平方和最小,来找出线性表达式的各个参数;
R语言实现
函数:lm()
使用方法:fit<-lm(y~x1+x2……+xn,data)

表达式说明如下:

符号用途
~分隔符号,左边为响应变量,右边为解释变量。例如,要通过x、z和w预测y,代码为y ~ x + z + w
:表示预测变量的交互项。例如,要通过x、z及x与z的交互项预测y,代码为y ~ x + z + x:z
*表示所有可能交互项的简洁方式。代码y~ x * z * w可展开为y ~ x + z + w + x:z + x:w + z:w + x:z:w
^表示交互项达到某个次数。代码y ~ (x + z + w)^2可展开为y ~ x + z + w + x:z + x:w + z:w
.表示包含除因变量外的所有变量。例如,若一个数据框包含变量x、y、z和w,代码y ~ .可展开为y ~ x + z + w
-减号,表示从等式中移除某个变量。例如,y ~ (x + z + w)^2 – x:w可展开为y ~ x + z + w + x:z + z:w
-1删除截距项。例如,表达式y ~ x -1拟合y在x上的回归,并强制直线通过原点
I()从算术的角度来解释括号中的元素。例如,y ~ x + (z + w)^2将展开为y ~ x + z + w + z:w。相反, 代码y~ x + I((z + w)^2)将展开为y ~ x + h, h是一个由z和w的平方和创建的新变量
function可以在表达式中用的数学函数。例如,log(y) ~ x + z + w表示通过x、z和w来预测log(y)

拟合模型处理函数说明如下:

函 数用 途
summary()展示拟合模型的详细结果
coefficients()列出拟合模型的模型参数(截距项和斜率)
confint()提供模型参数的置信区间(默认95%)
fitted()列出拟合模型的预测值
residuals()列出拟合模型的残差值
anova()生成一个拟合模型的方差分析表,或者比较两个或更多拟合模型的方差分析表
vcov()列出模型参数的协方差矩阵
AIC()输出赤池信息统计量
plot()生成评价拟合模型的诊断图
predict()用拟合模型对新的数据集预测响应变量值

例如:

#(1)
fm=lm(Y~X1+X2,data = AA)#多元线性回归
summary(fm) #展示拟合模型的详细结果
coefficients(fm)#列出拟合模型的模型参数(截距项和斜率)

residuals(fm)#列出拟合模型的残差值
cat("误差方差估计为",sum(residuals(fm)^2)/12)

#(2)
anova(fm) #生成一个拟合模型的方差分析表

#(3)
confint(fm)#提供模型参数的置信区间(默认95%)

输出结果如下:

> #(1)
> fm=lm(Y~X1+X2,data = AA)#多元线性回归
> summary(fm) #展示拟合模型的详细结果

Call:
lm(formula = Y ~ X1 + X2, data = AA)

Residuals:
   Min     1Q Median     3Q    Max 
-3.832 -1.204 -0.241  1.489  3.309 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 3.452613   2.430650    1.42     0.18    
X1          0.496005   0.006054   81.92  < 2e-16 ***
X2          0.009199   0.000968    9.50  6.2e-07 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.18 on 12 degrees of freedom
Multiple R-squared:  0.999,	Adjusted R-squared:  0.999 
F-statistic: 5.68e+03 on 2 and 12 DF,  p-value: <2e-16

> coefficients(fm)#列出拟合模型的模型参数(截距项和斜率)
(Intercept)          X1          X2 
   3.452613    0.496005    0.009199 
> 
> residuals(fm)#列出拟合模型的残差值
      1       2       3       4       5       6       7       8       9      10      11      12      13      14 
 0.1043 -2.6673 -1.4294 -0.2406 -0.6993 -0.6849  1.2681  2.3280 -3.8320  1.7095 -1.7151  3.3092 -0.9793  2.4669 
     15 
 1.0619 
> cat("误差方差估计为",sum(residuals(fm)^2)/12)
误差方差估计为 4.74> 
> #(2)
> anova(fm) #生成一个拟合模型的方差分析表
Analysis of Variance Table

Response: Y
          Df Sum Sq Mean Sq F value  Pr(>F)    
X1         1  53417   53417 11268.6 < 2e-16 ***
X2         1    428     428    90.3 6.2e-07 ***
Residuals 12     57       5                    
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
> 
> #(3)
> confint(fm)#提供模型参数的置信区间(默认95%)
               2.5 %  97.5 %
(Intercept) -1.84332 8.74855
X1           0.48281 0.50920
X2           0.00709 0.01131
  • 19
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上官峰晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值