gpt4 book ai didi

r - MGCV 获取设计矩阵

转载 作者:行者123 更新时间:2023-12-05 07:54:56 27 4
gpt4 key购买 nike

基于样条的 GAM 回归由以下成本函数定义:

cost = ||y - S\beta ||^2 + scale * integral(|S''\beta|^2)

其中 S 是由样条定义的设计矩阵。

在 R 中,我可以使用以下代码计算 gam:

library('mgcv')
data = data.frame('x'=c(1,2,3,4,5), 'y'=c(1,0,0,0,1))

g = gam(y~s(x, k = 4),family = 'binomial', data = data, scale = 0.5)
plot(g)

我想获取由 s() 函数生成的设计矩阵 S

我该怎么做?

最佳答案

我相信有两种方法可以从 gamObject

获取设计矩阵
library('mgcv')
data <- data.frame('x'=c(1,2,3,4,5), 'y'=c(1,0,0,0,1))

g <- gam(y~s(x, k = 4),family = 'binomial', data = data, scale = 0.5)
plot(g)

(option1 <- predict(g, type = "lpmatrix"))
# (Intercept) s(x).1 s(x).2 s(x).3
# 1 1 1.18270529 -0.39063809 -1.4142136
# 2 1 0.94027407 0.07402655 -0.7071068
# 3 1 -0.03736554 0.32947477 0.0000000
# 4 1 -0.97272283 0.21209396 0.7071068
# 5 1 -1.11289099 -0.22495720 1.4142136
# attr(,"model.offset")
# [1] 0
(option2 <- model.matrix.gam(g))
# (Intercept) s(x).1 s(x).2 s(x).3
# 1 1 1.18270529 -0.39063809 -1.4142136
# 2 1 0.94027407 0.07402655 -0.7071068
# 3 1 -0.03736554 0.32947477 0.0000000
# 4 1 -0.97272283 0.21209396 0.7071068
# 5 1 -1.11289099 -0.22495720 1.4142136
# attr(,"model.offset")
# [1] 0

关于r - MGCV 获取设计矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30729174/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com