首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mgcv中指定可变系数和因子级别复制

在mgcv中指定可变系数和因子级别复制
EN

Stack Overflow用户
提问于 2019-10-16 03:14:05
回答 1查看 129关注 0票数 1

我在R中使用mgcv包来拟合平滑度。我对拟合变系数模型很感兴趣,其中变系数平滑也根据因子变量而变化。

根据mgcv文档,当使用s()指定平滑时,by参数可以采用数字变量或因子变量,在这种情况下,适合可变系数模型;在这种情况下,会为每个因子级别生成平滑的副本。我看不出为什么这是不可能的,所以这两个不同的效果是由同一个参数指定的,这有点奇怪。

EN

回答 1

Stack Overflow用户

发布于 2020-03-16 04:34:31

我通过这个问题联系了 mgcv 包的创建者,下面是我得到的的响应

这应该是可能的,但可能存在可识别性问题。

Y=z s_f(x) +噪声

然后

代码语言:javascript
运行
复制
da <- as.numeric(f="a")*z
db <- as.numeric(f="b")*z
dc <- as.numeric(f="c")*z

gam(y ~ s(x,by=da) + s(x,by=db) + s(x,by=dc) - 1)

符合模型。唯一的问题是-1。我们需要它,因为否则平滑的截距会与整体截距混淆。-1在这个简单的情况下处理可识别性,但在其他一些情况下不会-例如,如果您在模型中以参数方式包括一个因子变量,或者以这种方式有第二组平滑条件的因子水平。

在这些情况下,一种可能性是对gam使用select=TRUE参数,这将正式消除可识别性问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58401273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档