R in a Nutsbell 20.回归模型

线性模型

拟合模型
lm()函数拟合模型。

lm(formula = y ~ x1+x2+x3+...+xn,data)
formula:y是响应变量,x是预测变量。

指定模型的工具函数
(1)如果想在表示表达式字面上的含义而不是公式的含义,用恒等函数I()

获取模型信息
(1)首选用print()查看模型信息的首选方法。
(2)利用formula(x)函数显示拟合模型的公式。
(3)利用coef(x)函数显示模型对象系数的列表。
(4)利用summary(x)函数汇总线性模型的信息。

使用模型进行预测
(1)使用residuals(x)函数获得残差向量。残差是实际值与预测值的差。
(2)使用fitted(x)函数获取拟合模型的预测值。
(3)想用建立的拟合模型对新的数据集进行拟合,可以用predict()函数。

predict(object,newdata,na.action = na.pass)
object:拟合模型
newdata:用来预测的新数据源
na.action:表示如何处理newdata中的NA值。

分析拟合结果
(1)计算拟合模型各个变量的置信区间:confint()函数

conflint(object,parm,level = 0.95)
object :拟合的线性模型
parm:指定需要显示的变量。默认显示所有变量的置信区间。
level:指定置信水平。

(2)计算不同参数对响应变量的影响:influence.measures(model)
(3)获取方差分析的统计量:anova.lmlist

anova.lmlist(object,scale = 0,test = 'F')
scale:默认会从检验数据中计算一个估计值
test:默认进行F检验;指定'Chisq'进行卡方检验;指定'Cp'的Cp检验。

(4)获取线性模型对象的方差协方差矩阵:vcov(object)
(5)获取你和模型的离差(残差平方总和):deviance(object)

更新模型
使用update()函数来更新模型。

update(object,formula = +0)
object:原拟合模型。
formula:公式中添加0作为变量表示不包含截距项。
最小二乘法的假设

1.方差齐性
定义:误差项的平方是常数值。
检验:进行ncvTest函数来检验异方差性 ncv.test(object)

2.非自相关性
定义:y的值彼此不相关。
检验:Durbin-watson检验。car包的durbin.waston(object)

3.误差项服从正态分布

4.x的外生性
定义:对于所有x来说,误差线的期望值为0.

5.满秩
定义:任何一对预测变量之间都没有线性关系。
检验:在lm函数中设置参数singular.ok = FALSE

稳健回归和线性回归

稳健回归
适用:存在异方差和异常值的数据。
方法:MASS包的rlm()函数

rlm(formula,data,method)

阻力回归
适用:包含异常值的数据。使用最小中位数平方和最小截平方的方法。
方法: MASS包的lqs()函数

lqs(formula,data,method)
子集选取和Shrinkage回归

变量的逐步选取
反复对模型添加和移除变量,试图逐步改善模型。当到头时会自动停止并返回一个新的模型。在这个过程中降低了RSS增加了模型的复杂度。AIC被从来度量添加的变量效果。AIC = -2 * log(L) + k * edf
优先考虑的模型应是AIC值最小的那一个

step(object,scale = 0,direction,steps = 1000,k = 2)
direction:指定'forward'意味变量仅仅被添加到模型;指定 'backward'意味变量仅仅从模型中移除;指定'both'意味着两者皆有。
steps:在函数中之前的最大迭代步。

岭回归
岭回归适用于预测变量之间存在相关性的数据(多重共线性)。
在这里插入图片描述
使用MASS包中的lm.ridge()函数

lm.ridge(formula,data)

Lasso
Lasso回归用于减少系数数目,从而减少它们对最终模型的影响。
在这里插入图片描述
lars包中的lars()函数

lars(x,y,type = "lasso")
x:预测变量矩阵
y:响应变量的向量
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值