UA MATH571A R语言回归分析实践 一元回归3 NBA球员的工资
UA MATH571A R語言回歸分析實踐 一元回歸3 NBA球員的工資
- 殘差分析
- 正態性、同方差性的檢驗
- 欠擬合檢驗
前兩講已經完成了大致的分析了,我們已經明確了NBA球員名次與工資的負相關關系,接下來我們對一元線性回歸模型做個診斷,看看為什么它的解釋力很弱。
殘差分析
做殘差分析以前,我們先來看看解釋變量X,這里就看看點圖和序列圖
dotchart(X)# dot plot I <- c(1:651) # 651 is the sample size plot(I,X,type = "l")# sequence plot
這個點圖告訴我們兩個信息,第一個信息是Draft Number是62的選手未必太多了點,這是很典型的刪失數據的特征,計量經濟學告訴我們應該用Tobit模型來分析這種數據;第二個信息是一個X的值可能對應多個Y的值,這說明數據存在replicate,我們有理由懷疑一元線性回歸是欠擬合的。考慮到這個是講回歸分析的文章,就先不介紹Tobit模型怎么處理這個例子了,但之后我們需要做一個欠擬合檢驗,看看一元線性回歸是不是真的欠擬合。
這個序列圖不存在什么特別的模式,我們可以借此排除掉序列相關性。
看完解釋變量的特征后,我們再來看看殘差的特征。
plot(resid(ureg01.lm)~I,type = "l") abline(h=0)
這是殘差的序列圖,里面也沒有很神奇的模式,所以殘差也是不存在序列相關的。解釋一下plot函數,比如想畫X關于Y的圖第一個輸入可以是Y~X,也可以是X,Y。resid函數會返回模型對象的殘差,也可以用ureg01.lm$residuals代替,那個$就是訪問模型對象的某個屬性。abline是輔助線的命令,h=0表示是截距為0的水平線。
這個是殘差關于解釋變量的圖,我們能看出兩個信息:62那個位置存在刪失、已經存在一個明顯的非線性的模式,因此模型關于X很可能不應該是線性的。刪失先按下不表,關于模型關于X非線性的問題,我們之后可以做一個Box-Cox變換來解決。
這個是殘差關于擬合值的圖,它能告訴我們的信息和殘差關于X的差不多,就不細說了。但殘差圖中的這種模式還說明殘差可能并不具有同方差的性質,我們有必要再做一個同方差檢驗判斷一下。plot中用了一個resid,它返回一個模型對象的擬合值,也可以用ureg01.lm$fitted.values代替。
正態性、同方差性的檢驗
先做一個QQ圖來看一下
qqnorm(ureg01.lm$residuals)
比較明顯,這個完全不是線性關系,基本可以否定殘差是服從正態分布的,為了保險起見,還是做一下假設檢驗看看。用Shapiro檢驗
發現p值非常小,可以顯著拒絕原假設(正態性檢驗的原假設是服從正態分布),認同殘差的確不服從正態分布。
關于殘差的分布還需要做一下同方差檢驗,一般用Brown-Forsythe檢驗就可以。為了做這個檢驗,我們需要先下載一個包,
install.packages("car")做這個檢驗的思路其實是把樣本分成不同的group,檢驗是不是所有group的殘差都是同方差的,只要有任意兩個group殘差不是同方差的,那么同方差假設就不成立,一般分類可以依據之前畫的殘差圖來分類。這里我就簡單分兩類,把名次在30以內的分為一類,在30以外的分為另一類,也就是第三行,分好類別忘了把類別用as.factor變成一個factor。然后用car包中的levene檢驗的函數來做檢驗,輸入的時候殘差需要根據X排序。根據p值,我們可以拒絕原假設(同方差),所以同方差的確是不成立。
> library(car) > ei <- resid(ureg01.lm) > G<-(X<30)[order(X)] > group<-as.factor(G) > BF.htest <- leveneTest(ei[order(X)],group) > BF.htest Levene's Test for Homogeneity of Variance (center = median)Df F value Pr(>F) group 1 48.474 8.218e-12 ***649 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1欠擬合檢驗
接下來我們需要驗證一下模型是不是欠擬合了,我們用lack-of-fit ANOVA來完成這個檢驗。因為存在replicate,所以full model應該是factor model,reduced model才是一元線性回歸。第一行就是估計factor model的code,只需要把X變成factor(X)就好,然后用ANOVA分析這兩個模型,注意是reduced model的模型對象在前,full model的在后。看ANOVA的那個p值,在0.1的顯著性水平下我們應該拒絕原假設,即full model和reduced model還是有差別的,模型存在欠擬合,我們應該用full model;在0.05或者0.01的顯著性水平下,我們不能拒絕原假設,即兩種模型沒有差別。
> fmodel.lm <- lm(Y ~ factor(X)) > anova(ureg01.lm,fmodel.lm) Analysis of Variance TableModel 1: Y ~ X Model 2: Y ~ factor(X)Res.Df RSS Df Sum of Sq F Pr(>F) 1 649 2.6290e+16 2 591 2.3267e+16 58 3.0227e+15 1.3238 0.06068 . --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1最后總結一下我們診斷出的這個模型存在的問題:
總結
以上是生活随笔為你收集整理的UA MATH571A R语言回归分析实践 一元回归3 NBA球员的工资的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA MATH571A R语言回归分析实
- 下一篇: UA MATH571A R语言回归分析实