回归分析是计量与统计的一个核心话题。我的博客在这篇之前也写过两篇关于回归的文章:《R 语言与简单的回归分析》、《R语言与回归分析几个假设的检验》。后者很清楚的告诉了我们回归模型假设的严苛:响应变量不仅需要数值型的,而且还必须来自正态分布。但是在很多情况情况下他们是很难得到满足的:比如抽样调查时,我们经常只得到虚拟变量;再比如正态性的假设的同方差性极其难得。
我的博客之前贴出过回归分析的作业和我给的参考实现,今天这篇文章就是把应用回归分析作业中出现的一些命令,以及做作业时的一些感想贴出来与大家分享。
一些关于回归的理论知识可以通过查阅王松桂等编著的《线性统计模型》一书,我们在这里并不详述理论的推导。
一、回归的基础模型
回归模型的基本命令就是lm(),调用格式为:
lm(formula,data, subset, weights, na.action, method = "qr", model = TRUE, x =FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset, ...)
这里method仅提供最小二乘法一种。Data必须为数据框。Formula可以是一元的,也可以是多元的,还可以有交互项,甚至可以没有常数项。我们以R中的数据集mtcars为例,说明回归模型。在R中敲入以下代码:
fit<-lm(mpg~hp+wt+hp:wt+I(wt^2),data=mtcars)
summary(fit)
输出结果:
Call:
lm(formula= mpg ~ hp + wt + hp:wt + I(wt^2), data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-3.0714 -1.6122 -0.7299 1.3858 4.4947
Coefficients: