R语言实战笔记–第八章 OLS回归分析
标签(空格分隔): R语言 回归分析
首先,是之前的文章,数理统计里面的简单回归分析,这里简单回顾一下:
简单回归分析的原理:最小二乘法,即使回归函数与实际值之差的平方和最小。所以它在R中也称为OLS模型,它能实现的回归分析为简单线性回归、多项式回归以及多元线性回归。
模型中的称谓:自变量、解释变量及预测变量为x,因变量、结果变量、效标变量及预测响应变量为y,用x,y解释对我们从小就学习 y=a+bx 的人来说是最容易理解不过了。
使用OLS的前提条件:正态性(对于固定的x,y呈正态分布);独立性(各个y值之间独立);线性(y和x是线性关系,这也是简单回归分析需要先做相关性检验);同方差性(y的方差不变,不会因为x的水平不同而改变,意思即为,y是观察值,它应该是不会随机某个变量的改变而拿到我们的观察值跟着变化的)。
然后是在R中的实现,R中实现OLS很简单,就一个函数lm(),其使用方法为:fit<-lm(formula,data),其中formula表达式的的形式为:Y~X1+X2+X3……+Xk,~左边为响应变量,右边为预测变量。对这个表达式,还有一个表来说明它的使用方式,如下:
符号 | 用途 |
---|---|
~ | 分隔符号,左边为响应变量,右边为解释变量。例如,要通过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(fit)可以展示拟合模型的详细结果,如下表:
函 数 | 用 途 |
---|---|
summary() | 展示拟合模型的详细结果 |
coefficients() | 列出拟合模型的模型参数(截距项和斜率) |
confint() | 提供模型参数的置信区间(默认95%) |
fitted() | 列出拟合模型的预测值 |
residuals() | 列出拟合模型的残差值 |
anova() | 生成一个拟合模型的方差分析表,或者比较两个或更多拟合模型的方差分析表 |
vcov() | 列出模型参数的协方差矩阵 |
AIC() | 输出赤池信息统计量 |
plot() | 生成评价拟合模型的诊断图 |
predict() | 用拟合模型对新的数据集预测响应变量值 |
前面是lm函数的基础,然而,在这章中所有的内容都需要理解,关键是里面的解释,总结一下各小节的关键点如下:
拟合回归
以一个综合的公式来表达如下: