R语言学习系列(来点实际的分析样例)
2012-06-20 11:22 java线程例子 阅读(262) 评论(0) 编辑 收藏 举报
首先画散点图:
图什么意思,你懂的。
对M2和年份做拟合,当然是指数级的(从散点图可以看出)
> lm.sol<-lm(log(M2)~年份,data=DT)
> summary(lm.sol)
Call:
lm(formula = log(M2) ~ 年份, data = DT)
Residuals:
Min 1Q Median 3Q Max
-0.04702 -0.03278 -0.02027 0.03591 0.06410
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.061e+02 4.691e+00 -65.26 <2e-16 ***
年份 1.590e-01 2.342e-03 67.90 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.04318 on 14 degrees of freedom
Multiple R-squared: 0.997, Adjusted R-squared: 0.9968
F-statistic: 4611 on 1 and 14 DF, p-value: < 2.2e-16
从上面的数据可以看出,拟合相当完美,T,F检验都通过,而且相当显著,来画图:
> plot(DT$年份,DT$M2)
> lines(X,exp(predict(lm.sol,年份=X)))
M2 增长曲线很完美,但这不是幸福指数.
再来看看国内生产总值和M2的关系:
> lm.new<-lm(国内生产总值~M2,data=DT)
> summary(lm.new)
Call:
lm(formula = 国内生产总值 ~ M2, data = DT)
Residuals:
Min 1Q Median 3Q Max
-11426 -7328 -3155 885 33486
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.015e+04 5.258e+03 5.733 5.17e-05 ***
M2 5.270e-01 1.345e-02 39.192 1.03e-15 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12410 on 14 degrees of freedom
Multiple R-squared: 0.991, Adjusted R-squared: 0.9903
F-statistic: 1536 on 1 and 14 DF, p-value: 1.032e-15
>
从上面可以看出各项指标相当完美:
国内生产总值=30150+0.527*M2.
M2是什么?不用我给你解释吧.预测一下,
今年的M2=?
先预测一下M2
> lm.sol<-lm(log(M2)~年份,data=DT)
> predict(lm.sol, data.frame(年份=c(2012)), interval="prediction", level=0.95)
fit lwr upr
1 13.74976 13.6452 13.85432
> exp(predict(lm.sol, data.frame(年份=c(2012)), interval="prediction", level=0.95))
fit lwr upr
1 936364.6 843401.4 1039575
>
今年的国内生产总值约:
predict(lm.new, data.frame(M2=c(936364.6)), interval="prediction", level=0.95)
fit lwr upr
1 523609 490840.6 556377.4
结论:大家自己发挥