評(píng)估變量貢獻(xiàn)度及模型預(yù)測——利用隨機(jī)森林模型或廣義線性模型

參考資料:
隨機(jī)森林(2)R實(shí)戰(zhàn)][https://www.yuque.com/biotrainee/biostat/chapter3-24]
優(yōu)雅R 微信公眾號(hào):https://mp.weixin.qq.com/s/fHDxqOOTW2CbKbSDVOD0bg

關(guān)于決策樹及隨機(jī)森林模型的理論基礎(chǔ)可以參考優(yōu)雅R 微信公眾號(hào)文章:https://mp.weixin.qq.com/s/fHDxqOOTW2CbKbSDVOD0bg

1、數(shù)據(jù)

> data1
   success_rate body.mass..g..x Migration.distance..km.. Mass...average...g Length...average...mm
1     0.0000000            30.0                   6052.5              36.00                 195.0
2     0.0000000             8.6                     19.8               8.00                 140.0
3     0.9453125          1141.0                   1678.2            1082.00                    NA
4     0.0000000            54.5                   1238.7              57.75                 181.0
5     0.9981481           354.5                      0.0             358.70                    NA
...

success_rate:繁殖的成功率
body.mass:體重
Migration.distance:年遷徙距離
Length:體長

其中包含了NA缺失值
建立模型的意圖為:1、計(jì)算各變量對(duì)模型的貢獻(xiàn)度。2、用訓(xùn)練好的模型預(yù)測測試集。

2、缺失值處理

(2.1)刪除缺失值(2.1或2.2都可,取決于具體樣本情況)

> data1<-na.omit(data1)

(2.2)利用隨機(jī)森林模型預(yù)測補(bǔ)全NA值

install.packages("randomForest")
library(randomForest)

data.imputed <- rfImpute(success_rate ~ ., data = data1, iter=10,ntree=500)

使用500棵決策樹組成的隨機(jī)森林進(jìn)行補(bǔ)全,重復(fù)10次。用success_rate來擬合其他所有缺失值?!皊uccess_rate ~ .”中的“.”意為所有參數(shù)。

3、建立模型

(3.1)廣義線性模型(glm()函數(shù))(3.1或3.2擇一)

glm_model<-glm(success_rate~ ., data=data.imputed,family=binomial(link = "logit"))

glm()函數(shù)是R自帶的函數(shù)?!皊uccess_rate~ .”意為用其他參數(shù)作為變量因素來擬合success_rate。family參數(shù)為模型的選擇,默認(rèn)為正態(tài)分布(高加索分布),其他的選擇還有:

binomial(link = "logit")
gaussian(link = "identity")
Gamma(link = "inverse")
inverse.gaussian(link = "1/mu^2")
poisson(link = "log")
quasi(link = "identity", variance = "constant")
quasibinomial(link = "logit")
quasipoisson(link = "log")

結(jié)果查看:

> summary(glm_model)

Call:
glm(formula = success_rate ~ ., family = binomial(link = "logit"), 
    data = data.imputed)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.5494  -0.9805  -0.4454   0.9659   1.6085  

Coefficients:
                           Estimate Std. Error z value Pr(>|z|)  
(Intercept)              -0.7536342  0.6148484  -1.226   0.2203  
body.mass..g..x           0.0001538  0.0004608   0.334   0.7385  
Migration.distance..km.. -0.0003455  0.0001704  -2.028   0.0426 *
Mass...average...g       -0.0002686  0.0004168  -0.644   0.5193  
Length...average...mm     0.0026700  0.0018083   1.477   0.1398  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 97.757  on 89  degrees of freedom
Residual deviance: 88.492  on 85  degrees of freedom
AIC: 123.9

Number of Fisher Scoring iterations: 4

Estimate表示模型中各參數(shù)的系數(shù),正負(fù)值即為相關(guān)性的正負(fù),絕對(duì)值大小代表對(duì)模型的貢獻(xiàn)程度。Pr(>|z|) 顯示了因素對(duì)模型的影響是否顯著,一般來說應(yīng)該保留顯著的,去掉不顯著的因素,重新跑模型(這里只Migration.distance有一個(gè)顯著的,就不繼續(xù)做了)。

(3.2)隨機(jī)森林模型

library(randomForest)
model_rf <- randomForest(success_rate ~ ., data=data.imputed,ntree=600)

model_rf 為訓(xùn)練好的模型

plot(model_rf)

繪制標(biāo)準(zhǔn)差變化圖,可以看到隨著決策樹計(jì)算的個(gè)數(shù)增多,標(biāo)準(zhǔn)差下降到穩(wěn)定值。


標(biāo)準(zhǔn)差變化圖

查看因素重要性并繪圖

> model_rf$importance
                         IncNodePurity
body.mass..g..x               3.868491
Migration.distance..km..      3.640498
Mass...average...g            4.019628
Length...average...mm         3.728895
#IncNodePurity越高,表明Gini值越低,因素貢獻(xiàn)率越高

> varImpPlot(model_rf)
因素重要性圖

用模型預(yù)測測試集:
假設(shè)有一個(gè)預(yù)測集testset,數(shù)據(jù)結(jié)構(gòu)與data1相同,通過model_rf預(yù)測相關(guān)參數(shù):

model.prediction <- predict(model.rf, testset)

此外,隨機(jī)森林還可以用于利用SNPs預(yù)測雜交categories等等。需要注意,如果是非連續(xù)變量,需要轉(zhuǎn)化為因子進(jìn)行分析。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容