簡體   English   中英

GAM R方差由變量解釋

[英]GAM R variance explained by variable

我目前的問題是用R計算一般加性模型(GAM)的不同變量所解釋的方差。

我按照Wood給出的解釋: https//stat.ethz.ch/pipermail/r-help/2007-October/142743.html

但我想用三個變量來做。 我試過這個:

library(mgcv)

set.seed(0)
n<-400
x1 <- runif(n, 0, 1)
x2 <- runif(n, 0, 1) 
x3 <- runif(n, 0, 1) 

f1 <- function(x) exp(2 * x) - 3.75887
f2 <- function(x) 0.2*x^11*(10*(1-x))^6+10*(10*x)^3*(1-x)^10
f3 <- function(x) 0.008*x^2 - 1.8*x + 874
f <- f1(x1) + f2(x2) + f3(x3)
e <- rnorm(n, 0, 2)
y <- f + e

b <- gam(y ~ s(x1, k = 3)+s(x2, k = 3)+ s(x3, k = 3))
b3 <- gam(y ~ s(x1) + s(x2), sp = c(b$sp[1], b$sp[2]))
b2 <- gam(y ~ s(x1) + s(x3), sp = c(b$sp[1], b$sp[3]))
b1 <- gam(y ~ s(x2) + s(x3), sp = c(b$sp[2], b$sp[3]))

b0 <- gam(y~1)

(deviance(b1)-deviance(b))/deviance(b0)
(deviance(b2)-deviance(b))/deviance(b0)
(deviance(b3)-deviance(b))/deviance(b0)

但我不明白結果。 例如,僅具有x1和x2的模型的偏差小於三個解釋變量的偏差。

我用來提取由三個變量變量解釋的方差的方法是否正確?

這是否意味着全球模型中存在混淆效應? 還是有另一種解釋?

非常感謝。

你這里做錯了什么:

b <- gam(y ~ s(x1, k = 3) + s(x2, k = 3) + s(x3, k = 3))
b3 <- gam(y ~ s(x1) + s(x2), sp = c(b$sp[1], b$sp[2]))
b2 <- gam(y ~ s(x1) + s(x3), sp = c(b$sp[1], b$sp[3]))
b1 <- gam(y ~ s(x2) + s(x3), sp = c(b$sp[2], b$sp[3]))

為什么要設置k = 3在第一線,而不是設置k = 3的休息嗎? 如果不指定ks()將采用默認值k = 10 現在你遇到了一個問題: b1b2b3沒有嵌套在b

在Simon Wood的原始例子中,他沒有指定k ,因此對於所有s()采用k=10 事實上,你可以改變k值,但你必須保證你對同一個協變量總是有相同的k (以確保嵌套)。 例如,你可以這樣做:

b <- gam(y ~ s(x1, k = 4) + s(x2, k = 6) + s(x3, k = 3))
b3 <- gam(y ~ s(x1, k = 4) + s(x2, k = 6), sp = c(b$sp[1], b$sp[2]))  ## droping s(x3) from b
b2 <- gam(y ~ s(x1, k = 4) + s(x3, k = 3), sp = c(b$sp[1], b$sp[3]))  ## droping s(x2) from b
b1 <- gam(y ~ s(x2, k = 6) + s(x3, k = 3), sp = c(b$sp[2], b$sp[3]))  ## droping s(x1) from b

那我們來做:

(deviance(b1)-deviance(b))/deviance(b0)
# [1] 0.2073421
(deviance(b2)-deviance(b))/deviance(b0)
# [1] 0.4323154
(deviance(b3)-deviance(b))/deviance(b0)
# [1] 0.02094997

正值意味着放棄任何模型術語都會使偏差膨脹,這是明智的,因為我們的真實模型具有所有三個術語。

暫無
暫無

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

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