>y=rnorm(100)
>x1=rnorm(100)
>x2=rnorm(100)
>lm.reg=lm(y~x1+x2,data=data.frame(y,x1,x2)) #data.frame保证了y=x1+x2的正确性
> lm.reg
Call:
lm(formula = y ~ x1 + x2, data = data.frame(y, x1, x2))
Coefficients:
(Intercept) x1 x2
0.03493 -0.07988 -0.06208
#y=0.03493-0.07988x1-0.06208x2
>summary(lm.reg)
Call:
lm(formula = y ~ x1 + x2)
Residuals:
Min 1Q Median 3Q Max
-2.97055 -0.66086 0.07578 0.80056 2.74083
Coefficients:
EstimateStd. Error t value Pr(>|t|)
(Intercept) 0.24652 0.11086 2.224 0.0285 * #只有这个系数显著
x1 -0.15044 0.09464 -1.590 0.1152
x2 0.07939 0.10071 0.788 0.4324
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9541 on 97 degrees of freedom
Multiple R-squared: 0.007451, Adjusted R-squared:-0.01301
F-statistic: 0.3641 on 2 and 97 DF, p-value:0.6958
> lm.stp=step(lm.reg) #用于去除不好的变量;
Start: AIC=21.59
y ~ x1 + x2
Df Sum of Sq RSS AIC
- x2 1 0.74871 117.62 20.226
<none> 116.8721.587
- x1 1 3.04422 119.91 22.159
Step: AIC=20.23 #用AIC的最小值来评估;最后去掉了多余的变量x2
y ~ x1
Df Sum of Sq RSS AIC
<none> 117.6220.226
- x1 1 3.2345 120.85 20.939
Call:
lm(formula = y ~ x1)
Coefficients:
(Intercept) x1
0.2534 -0.1548
> plot(lm.reg)#见图1-4
>lm.pred=predict(lm.reg,data.frame(x1=1,x2=2),interval="prediction",level=0.95)
> lm.pred
fit lwr upr
1 -0.1690997 -2.141884 1.803685
#-0.1690997是最后的值,-2.141884~1.803685是置信区间
图1:x轴预测值;y轴残差;异常值是87、56和1样本:反映预测值和真实值的距离;
图2:真实的方差和预测的模型的qqplot图:反映 真实的方差与模型的一致性
图3:标准差与真实值
图4:cook distance
用于诊断各种回归分析中是否存在异常数据:就是如果某一条数据记录被排除在外,那么由此造成的回归系数变化有多大,如果影响太大就要考虑剔除
leverage=d(预测值)/ d(真实值)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。