[英]GAM residuals in two distinct lines - R "mgcv"
我正在嘗試使用 mgcv 包在 r 上使用二項式數據(link=logit)運行 GAM。 這是為了嘗試使用存在 (1) 和不存在 (0) 數據作為響應並使用一組環境變量作為預測因子來描述寬吻海豚的棲息地使用。
我使用的代碼似乎工作正常,但是,當我繪制殘差時,我留下了兩條不同的線。 我的理解是,在繪制殘差時,線周圍應該有一個均勻的散布 - 但事實並非如此 - 任何關於我應該尋找什么的指導將不勝感激
這是使用 2 個變量的示例的輸出:
m1<-gam(Presence~s(Dist_Ent_k,k=8)+s(Dist_wall_m,k=5), data=mydata,
family = binomial(link = "logit"), weights=resp.weight)
summary(m1)
Family: binomial
Link function: logit
Formula:
Presence ~ s(Dist_Ent_k, k = 8) + s(Dist_wall_m, k = 5)
Parametric coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.30155 0.09839 -3.065 0.00218 **
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Approximate significance of smooth terms:
edf Ref.df Chi.sq p-value
s(Dist_Ent_k) 2.658 3.333 16.411 0.0015 **
s(Dist_wall_m) 1.389 1.680 0.273 0.7434
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
R-sq.(adj) = 0.0359 Deviance explained = 3.42%
UBRE = -0.76828 Scale est. = 1 n = 2696
plot(m1,shade=T,scale = 0,residuals = TRUE)]
先感謝您!
您繪制的是部分殘差,並且您看到兩個不同的波段只是您的數據是二元或伯努利觀測的結果。
如果您繪制偏差殘差與線性預測變量的關系圖,您也會看到這一點,只是更加極端; 嘗試
layout(matrix(1:4, ncol = 2, byrow = TRUE))
gam.check(m1)
layout(1)
由於數據的極端性質,伯努利模型(單次試驗的二項式)的模型診斷很困難 - 響應只是 0 或 1。例如,如果您以某種方式聚合數據,則可以更輕松地進行診斷,例如你不再有m=1
試驗而是m=M
; 假設您的數據在空間上排列,您可以在該區域上創建一個更大的網格並聚合每個網格中點的 0 和 1,保留有關每個網格中有多少點的信息(為每個聚合二項式計數提供M
) .
否則,我認為繪制此類模型的部分殘差或偏差殘差不會有什么好處。 來自gam.check()
的集合中的 QQ 圖,特別是如果您添加rep = 100
(或某個此類數字)對於檢查分布假設更有用,因為它允許創建參考帶,該帶對模型具有良好的屬性,例如這個; 有關僅創建 QQ 圖所需的功能/信息,請參閱?qq.gam
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.