回归分析的一些学习笔记

最近工作用到了一些回归分析方面的知识,整理一下,放在这里备忘。主要是简单的多元线性回归和分位数回归两种,基本上都只需要几个R语言命令就能解决了。

1.多元线性回归

上面是我这次分析所用的数据,基本上是很完美的线性关系,下面就用参考多个博客的命令来进行一下多元线性回归。

X <- read.csv("mlr5.csv")
lm.sol=lm(y~x1+x2+x3+x4+x5+x6+x7+x8+x9,data=X)
summary(lm.sol)
Call:
lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9, 
    data = X)

Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -265.18         NA      NA       NA
x1            345.07         NA      NA       NA
x2           -655.88         NA      NA       NA
x3             46.38         NA      NA       NA
x4            -36.65         NA      NA       NA
x5            186.83         NA      NA       NA
x6             40.89         NA      NA       NA
x7           -233.92         NA      NA       NA
x8            540.26         NA      NA       NA
x9            152.05         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1, Adjusted R-squared:    NaN 
F-statistic:   NaN on 9 and 0 DF,  p-value: NA
 predict(lm.sol)
 1  2  3  4  5  6  7  8  9 10 
36 36 45 36 31 39 50 36 30 28 

这样,一个无比完美的线性回归方程就有了,各个参数就在第一列了。十个预测值完全没有差别。。。如果每个回归都是这样就好了。

2.分位数回归

还是同样一批数据,不同的包,上面的命令用的是R语言自带有lm(),这里用quantreg这个包。

library(quantreg)
X <- read.csv("mlr5.csv")
fit1 <- rq(y~x1+x2+x3+x4+x5+x6+x7+x8+x9, data = X,tau=.1)
fit2 <- rq(y~x1+x2+x3+x4+x5+x6+x7+x8+x9, data = X,tau=.50)
fit3 <- rq(y~x1+x2+x3+x4+x5+x6+x7+x8+x9, data = X,tau=.9)
coef(fit3) #得到了各个参数
(Intercept)          x1          x2          x3          x4          x5          x6          x7 
  83.391861  -41.040375  -25.241735   -5.691673  -33.080284    8.233973  -33.918471   14.092511 
         x8          x9 
  92.153919   -7.844839 

比较无语的是没有R-square这个值,应该是这个回归不需要这个值。画个图,看下预测值和真实值的情况:

plot(X$y,fitted(fit2),xlim=c(22,45), ylim =c(22,45))
lmfit <- lm(X$y~fitted(fit1))
abline(lmfit)
lmfit2 <- lm(X$y~fitted(fit2))
abline(lmfit2)
lmfit3 <- lm(X$y~fitted(fit3))
abline(lmfit3)

最简单的图,暂时就不管美观情况了,直接上个丑图:

发表评论