日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

R语言中如何进行多元逻辑回归

發布時間:2023/12/19 综合教程 22 生活家
生活随笔 收集整理的這篇文章主要介紹了 R语言中如何进行多元逻辑回归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小編給大家分享一下R語言中如何進行多元邏輯回歸,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

如何進行多元邏輯回歸

可以使用階梯函數通過逐步過程確定多元邏輯回歸。此函數選擇模型以最小化AIC。

通常建議不要盲目地遵循逐步程序,而是要使用擬合統計(AIC,AICc,BIC)比較模型,或者根據生物學或科學上合理的可用變量建立模型。

多元相關是研究潛在自變量之間關系的一種工具。例如,如果兩個獨立變量彼此相關,可能在最終模型中都不需要這兩個變量,但可能有理由選擇一個變量而不是另一個變量。

多元相關

創建數值變量的數據框

Data.num$Status=as.numeric(Data.num$Status)

Data.num$Length=as.numeric(Data.num$Length)

Data.num$Migr=as.numeric(Data.num$Migr)

Data.num$Insect=as.numeric(Data.num$Insect)

Data.num$Diet=as.numeric(Data.num$Diet)

Data.num$Broods=as.numeric(Data.num$Broods)

Data。num$Wood=as.numeric(Data.num$Wood)

Data.num$Upland=as.numeric(Data.num$Upland)

Data.num$Water=as.numeric(Data.num$Water)

Data.num$Release=as.numeric(Data.num$Release)

Data.num$Indiv=as.numeric(Data.num$Indiv)

###檢查新數據框

headtail(Data.num)

1115209600.01.2111226.01001629

2112505000.00.561016.010011085

318703360.00.071014.0100138

77017031.00.5531224.0NA10012

78021036.92.002823.7100112

790225106.51.2021224.8200012

###檢查變量之間的相關性

###這里使用了Spearman相關性

多元邏輯回歸的例子

在此示例中,數據包含缺失值。在R中缺失值用NA表示。SAS通常會無縫地處理缺失值。雖然這使用戶更容易,但可能無法確保用戶了解這些缺失值的作用。在某些情況下,R要求用戶明確如何處理缺失值。處理多元回歸中的缺失值的一種方法是從數據集中刪除具有任何缺失值的所有觀察值。這是我們在逐步過程之前要做的事情,創建一個名為Data.omit的數據框。但是,當我們創建最終模型時,我們只想排除那些在最終模型中實際包含的變量中具有缺失值的觀察。為了測試最終模型的整體p值,繪制最終模型,或使用glm.compare函數,我們將創建一個名為Data.final的數據框,只排除那些觀察結果。

盡管二項式和poission系列中的模型應該沒問題,但是對于使用某些glm擬合的步驟過程存在一些注意事項。

用逐步回歸確定模型

最終模型

summary(model.final)


Coefficients:

EstimateStd.ErrorzvaluePr(>|z|)

(Intercept)-3.54964822.0827400-1.7040.088322.

Upland-4.54842892.0712502-2.1960.028093*

Migr-1.81840490.8325702-2.1840.028956*

Mass0.00190290.00070482.7000.006940**

Indiv0.01370610.00387033.5410.000398***

Insect0.23947200.13734561.7440.081234.

Wood1.81344451.31059111.3840.166455

偽R方

$Pseudo.R.squared.for.model.vs.null

Pseudo.R.squared

McFadden0.700475

CoxandSnell(ML)0.637732

Nagelkerke(CraggandUhler)0.833284

模型總體p值

在最終模型中創建包含變量的數據框,并省略NA。

偏差表分析

AnalysisofDevianceTable



Model1:Status~Upland+Migr+Mass+Indiv+Insect+Wood

Model2:Status~1

Resid.DfResid.DevDfDeviancePr(>Chi)

16330.392

26993.351-6-62.9591.125e-11***

似然比檢驗

Likelihoodratiotest



#DfLogLikDfChisqPr(>Chisq)

17-15.196

21-46.675-662.9591.125e-11***

標準化殘差圖

簡單的預測值圖

在最終模型中創建包含變量的數據框,并在NA中省略

過度離散檢驗

過度離散是glm的deviance殘差相對于自由度較大的情況。這些值顯示在模型的摘要中。一個指導原則是,如果deviance殘差與剩余自由度的比率超過1.5,則模型過度離散。過度離散表明模型不能很好地擬合數據:解釋變量可能無法很好地描述因變量,或者可能無法為這些數據正確指定模型。如果存在過度離散,一種可能的解決方案是 在glm中使用quasibinomial family選項。

Nulldeviance:93.351on69degreesoffreedom

Residualdeviance:30.392on63degreesoffreedom

deviance/df.residual



[1]0.482417

評估模型的替代方法

使用逐步程序的替代或補充是將模型與擬合統計進行比較。我的compare.glm 函數將為glm模型顯示AIC,AICc,BIC和偽R平方。使用的模型應該都擬合相同的數據。也就是說,如果數據集中的不同變量包含缺失值,則應該謹慎使用。如果您對使用哪種擬合統計數據沒有任何偏好,您希望在最終模型中使用較少的術語,我可能會推薦AICc或BIC。

一系列模型可以與標準的anova 功能進行比較。模型應嵌套在先前模型中或anova函數列表中的下一個模型中; 和模型應該擬合相同的數據。在比較多個回歸模型時,通常放寬p值為0.10或0.15。

在以下示例中,使用通過逐步過程選擇的模型。請注意,雖然模型9最小化了AIC和AICc,但模型8最小化了BIC。anova結果表明模型8不是對模型7的顯著改進。這些結果支持選擇模型7,8或9中的任何一個。

compareGLM(model.1,model.2,model.3,model.4,model.5,model.6,
model.7,model.8,model.9)



$Models

Formula

1"Status~1"

2"Status~Release"

3"Status~Release+Upland"

4"Status~Release+Upland+Migr"

5"Status~Release+Upland+Migr+Mass"

6"Status~Release+Upland+Migr+Mass+Indiv"

7"Status~Release+Upland+Migr+Mass+Indiv+Insect"

8"Status~Upland+Migr+Mass+Indiv+Insect"

9"Status~Upland+Migr+Mass+Indiv+Insect+Wood"



$Fit.criteria

RankDf.resAICAICcBICMcFaddenCox.and.SnellNagelkerkep.value

116694.3494.5398.750.00000.00000.0000Inf

226562.1362.5168.740.37870.39990.54012.538e-09

336456.0256.6764.840.46840.46830.63253.232e-10

446351.6352.6162.650.53920.51670.69797.363e-11

556250.6452.0463.870.57230.53770.72637.672e-11

666149.0750.9764.500.61180.56180.75885.434e-11

776046.4248.9064.050.66330.59120.79852.177e-11

866144.7146.6160.140.66010.58940.79616.885e-12

976044.0346.5161.670.68970.60550.81787.148e-12


AnalysisofDevianceTable



Model1:Status~1

Model2:Status~Release

Model3:Status~Release+Upland

Model4:Status~Release+Upland+Migr

Model5:Status~Release+Upland+Migr+Mass

Model6:Status~Release+Upland+Migr+Mass+Indiv

Model7:Status~Release+Upland+Migr+Mass+Indiv+Insect

Model8:Status~Upland+Migr+Mass+Indiv+Insect

Model9:Status~Upland+Migr+Mass+Indiv+Insect+Wood



Resid.DfResid.DevDfDeviancePr(>Chi)

16690.343

26556.130134.2134.94e-09***

36448.02418.1060.004412**

46341.63116.3930.011458*

56238.64312.9880.083872.

66135.07013.5730.058721.

76030.41514.6550.030970*

86130.710-1-0.2950.587066

96028.03112.6790.101686

總結

以上是生活随笔為你收集整理的R语言中如何进行多元逻辑回归的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。