变量之间存在着相关关系,比如,人的身高和体重之间存在着关系,一般来说,人高一些,体重要重一些,身高和体重之间存在的是不确定性的相关关系。回归分析是研究相关关系的一种数学工具,它能帮助我们从一个变量的取值区估计另一个变量的取值。
OLS(最小二乘法)主要用于线性回归的参数估计,它的思路很简单,就是求一些使得实际值和模型估值之差的平方和达到最小的值,将其作为参数估计值。就是说,通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
一,OLS回归
OLS法通过一系列的预测变量来预测响应变量(也可以说是在预测变量上回归响应变量)。线性回归是指对参数β为线性的一种回归(即参数只以一次方的形式出现)模型:
Yt=α+βxt+μt (t=1……n)表示观测数
- Yt 被称作因变量
- xt 被称作自变量
- α、β 为需要最小二乘法去确定的参数,或称回归系数
- μt 为随机误差项
OLS线性回归的基本原则:最优拟合曲线应该使各点到直线的距离的平方和(即残差平方和,简称RSS)最小:
OLS线性回归的目标是通过减少响应变量的真实值与预测值的差值来获得模型参数(截距项和斜率),就是使RSS最小。
为了能够恰当地解释OLS模型的系数,数据必须满足以下统计假设:
- 正态性:对于固定的自变量值,因变量值成正太分布
- 独立性:个体之间相互独立
- 线性相关:因变量和自变量之间为线性相关
- 同方差性:因变量的方差不随自变量的水平不同而变化,即因变量的方差是不变的
二,用lm()拟合回归模型
在R中,拟合回归模型最基本的函数是lm(),格式为:
lm(formula, data)
formula中的符号注释:
- ~ 分割符号,左边为因变量,右边为自变量,例如, z~x+y,表示通过x和y来预测z
- + 分割预测变量
- : 表示预测变量的交互项,例如,z~x+y+x:y
- * 表示所有可能的交互项,例如,z~x*y 展开为 z~x+y+x:y
- ^ 表示交互项的次数,例如,z ~ (x+y)^2,展开为z~x+y+x:y
- . 表示包含除因变量之外的所有变量,例如,如果只有三个变量x,y和z,那么代码 z~. 展开为z~x+y+x:y
- -1 删除截距项,强制回归的直线通过原点
- I() 从算术的角度来解释括号中的表达式,例如,z~y+I(x^2) 表示的拟合公式是 z=a+by+cx2
- function 可以在表达式中应用数学函数,例如,log(z) ~x+y
对于拟合后的模型(lm函数返回的对象),可以应用下面的函数,得到模型的更多额外的信息。
- summary() 展示拟合模型的详细结果
- coefficients() 列出捏模型的参数(截距项intercept和斜率)
- confint() 提供模型参数的置信区间
- residuals() 列出拟合模型的残差值
- fitted() 列出拟合模型的预测值
- anova() 生成一个拟合模型的方差分析表
- predict() 用拟合模型对新的数据预测响应变量
例如,使用基础安装包中的数据集women(包含了年龄在30-39岁之间女性的身高和体重信息),通过身高来预测体重。
1,线性拟合
使用lm()函数来拟合模型,获得模型对象fit
fit <- lm(weight~height,data=women)
使用summary()函数来查看模型的信息:
> summary(fit) Call: lm(formula = weight ~ height, data = women) Residuals: Min 1Q Median 3Q Max -1.7333 -1.1333 -0.3833 0.7417 3.1167 Coefficients: Estimate