刪除離羣點能夠提升數據集對於正態假設的擬合度,而強影響點會干擾結果,一般也會被刪除,二者刪除後模型須要從新擬合,一直重複上述過程,可是要謹慎把,由於有些刪除會致使結果錯誤
當模型不符合正態性、線性或同方差性假設時,一個或多個變量的變統統常能夠改善或調整模型效果。變換多用
替代
,
的常見值和解釋見表8-5。若
是比例數,一般使用 logit變換[ln(Y/1-Y)]
當
模型違反正態性假設時,一般能夠對
響應變量嘗試某種變換。
car 包中的 powerTransform() 、spreadLevelPlot()函數經過 λ 的最大似然估計來正態話變量X^λ
當
模型異方差性(偏差方差非恆定),也能夠經過響應變量嘗試某種變換
> library(car)
> summary(powerTransform(states$Murder))
bcPower Transformation to Normality
Est.Power Std.Err. Wald Lower Bound Wald Upper Bound #使用Murder^0.6
states$Murder 0.6055 0.2639 0.0884 1.1227
Likelihood ratio tests about transformation parameters
LRT df pval
LR test, lambda = (0) 5.665991 1 0.01729694
LR test, lambda = (1) 2.122763 1 0.14512456
結果代表,可用Murder^0.6 來正態化變量 Murder。因爲0.6很接近0.5,能夠嘗試用平方根變換來提升模型的正態性的符合程度。但在本例子中,λ = 1 的假設也沒法拒絕(p = 0.145),所以沒有強有力的證據代表本例須要變量變換。
當
違反了線性假設時,對預
測變量進行變換經常會比較有用。 car 包中的 boxTidwell() 函數經過得到預測變量冪數的最大似然估計來改善線性關係,下面的例子用州的人口和文盲率來預測謀殺率,對模型進行了 Box-Tidwell變換
> library(car)
> boxTidwell(Murder~Population+Illiteracy,data=states)
Score Statistic p-value MLE of lambda
Population -0.3228003 0.7468465 0.8693882
Illiteracy 0.6193814 0.5356651 1.3581188
iterations = 19
結果顯示,使用變量 Population^0.87 和 Illiteracy^1.36 可以大大改善線性關係,可是對 Population( p = 0.75)和 Illiteracy(p =0.54)的計分檢驗又代表變量並不須要變換。這些結果與成分殘差圖一致的。
可是若是僅是作預測,那麼多重共線性並不構成問題,但若是要對每一個預測變量進行解釋,那麼就必須解決這問題。
最多見的就是刪除某個存在多重共線性的變量。
另一種方法就即是
嶺迴歸--多元迴歸的變體,專門來處理多重共線性的問題
若是存在離羣點/強影響點,能夠使用
穩健迴歸模型替代OLS迴歸,若是違背了
正態的假設性,能夠使用非參數迴歸模型,若是存在顯著非線性,能嘗試非線性迴歸模型,若是違背了偏差獨立性假設,還能用那些專門研究偏差結果的模型,好比時間序列模型或者多層次迴歸模型,最後,你還能轉向普遍應用的廣義線性模型,他能適用於的許多OLS迴歸加假設不成立的狀況
至於用什麼。。。這些判斷是複雜的,須要依靠自身對主題知識的理解,判斷出哪一個模型提供最佳結果