簡體   English   中英

通過邏輯回歸繪制預測

[英]Plotting predictions from a logistic regression

我正在嘗試在R中繪制邏輯回歸。我目前有此代碼...

mylogit<- glm(Breeding.success ~ Dam.Age, family = binomial, data = captive)
summary(mylogit)

predicted.data<- as.data.frame(predict(mylogit, type="response", se=TRUE))
summary(predicted.data)

new.data <- cbind(captive, predicted.data)

graph <- ggplot(captive, aes(x=Dam.Age, y=Breeding.success)) +
geom_point()+
stat_smooth(method="glm", method.args = list(family="binomial"), se=FALSE) +
labs(x="Dam age", y="Breeding success")

我目前有一個帶有直線的圖形,我想使其彎曲和平滑。 另外,我還在努力繪制置信區間。 任何建議都很好,謝謝。

我可以給您使用的實際數據-http: //datadryad.org/resource/doi:10.5061/dryad.58ff4

我正在復制一些圖表,這是最后一年項目的一部分。 該代碼用於根據水壩年齡繪制的育種成功案例。

主要問題是,您繪制的邏輯曲線在所獲得的數據范圍內大致呈線性(當預測概率在0.3到0.7的范圍內時,通常是正確的)。

您可以通過在geom_smooth()調用中指定se=TRUE來獲得繪圖上的標准錯誤...

在下面的圖中,I(1)使用stat_sum()而不是geom_point()來可視化數據集中的重疊點; (2)使用fullrange=TRUE來獲得整個圖范圍的預測(而不只是數據實際跨越的范圍); (3)使用expand_limits()將圖推到較大的年齡值,以說明如果將預測范圍擴展到足夠低或足夠高的預測概率,預測看起來確實是非線性的(要獲得高概率,則需要使年齡增長負面...)

download.file("http://datadryad.org/bitstream/handle/10255/dryad.141600/All%20females%20breeding%20success.csv?sequence=1",dest="breeding_success.csv")

captive <- read.csv("breeding_success.csv")
library(ggplot2)
graph <- ggplot(captive, aes(x=Dam.Age, y=Breeding.success)) +
    stat_sum()+
    stat_smooth(method="glm",
                method.args = list(family="binomial"), se=TRUE,
                fullrange=TRUE) +
    labs(x="Dam age", y="Breeding success")+
    expand_limits(x=20)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM