UA MATH571A R语言回归分析实践 一元回归4 NBA球员的工资
UA MATH571A R語言回歸分析實踐 一元回歸4 NBA球員的工資
- Box-Cox變換
- Full Model
- 模型再診斷
- 總結
上一講對一元線性回歸模型進行了診斷,發現模型主要存在三個問題:
這一講針對這些問題給出解決方案,看是否能提高模型的解釋力。
Box-Cox變換
Box-Cox變換是作用在被解釋變量上的變換,可以描述Y與X之間的非線性關系,需要用到MASS包
require(MASS)接下來選擇Box-Cox變換的參數,但做這個之前需要先對被解釋變量做個簡單處理,在原始數據中,沒有被簽約的球員工資數據為0,但Box-Cox變換允許對數變換,所以被解釋變量需要是正數,我們簡單操作一下把為0的那些工資改成1,
for(i in 1:651){if(Y[i] == 0){Y[i] = 1} }然后重新估計一下回歸模型來做Box-Cox
> ureg01.lm <- lm(Y~X) > ureg01.bc <- boxcox(ureg01.lm,lambda=seq(-1, 1, 0.1), interp=F )
根據這個圖,基本認定對數似然最大對應的lambda為1/4,所以回歸模型應該修改為
Y1/4=β0+β1X+?Y^{1/4} = \beta_0 + \beta_1 X + \epsilonY1/4=β0?+β1?X+?
先對數據做變換,然后重新估計模型
主要結果基本不變,現在我們關注的是R方,可以發現改了模型設定后,R方變大了不少,說明之前的線性設定真的是不成立的。但我們對現在的結果也不是很滿意,因為工資的變化還是只有33%與名次有關。
Full Model
一元線性回歸不行的話,按之前的檢驗,可能也有欠擬合的原因,我們再試試,在Box-Cox變換之后用full model來估計:
> fmodel02.lm <- lm(Ystar ~ factor(X)) > summary(fmodel02.lm)Call: lm(formula = Ystar ~ factor(X))Residual standard error: 14.84 on 591 degrees of freedom Multiple R-squared: 0.3868, Adjusted R-squared: 0.3256 F-statistic: 6.319 on 59 and 591 DF, p-value: < 2.2e-16它的結果比較長,我只把倒數三行放在了這里,可以看到用factor model的話R方會再提升一點,但因為factor model復雜度比一元線性回歸高,所以adjusted R方反而會有一點點下降。但是,即使R方有一點點改善,也才只有0.3868。
模型再診斷
我們已經試了所有改進的思路,但是模型解釋力最高也才0.3868,接下來我們對Box-Cox變換的結果再做一下診斷,看看還有什么遺留問題。
plot(ureg02.lm$residuals~X) abline(h=0)
殘差關于X的圖,可以發現那個非線性的東西還在,說明它不一定是由Y和X的非線性關系引起的,或者說他們之間的非線性關系的形式在Box-Cox變換能處理的范圍之外。以及刪失數據依然存在。
QQ圖的結果雖然看上去要好一點的,但Shapiro檢驗還是不認可正態分布。
總結
簡單總結一下,我們用一元線性回歸模型對NBA球員的NBA draft number與工資之間的關系做的探索:
總結
以上是生活随笔為你收集整理的UA MATH571A R语言回归分析实践 一元回归4 NBA球员的工资的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA MATH571A R语言回归分析实
- 下一篇: UA MATH571A R语言回归分析实