广义线性模型与广义加性模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广义线性模型与广义加性模型相关的知识,希望对你有一定的参考价值。

[我正在尝试遵循本文:Using a data science approach to predict cocaine use frequency from depressive symptoms,其中他们使用glm,gam和beck库存下降。因此,我确实找到了类似的数据集来测试这些模型。但是我在使用这两种模型时都遇到了困难。例如,我有两个变量d64a和d64b,它们分别用1,2,3,4编码,表示它们是序数。另外,在纸中y2仅是1的值,但我还有一个变量Extra(可以依赖于消耗的比例)

对于GAM模型,我有:

b<-gam(y2~s(d64a)+s(d64b),data=DATOS2)

但是我有以下错误:

Error in smooth.construct.tp.smooth.spec(object, dk$data, dk$knots) : 
  A term has fewer unique covariate combinations than specified maximum degrees of freedom

与此同时,我有以下几点:

d<-glm(y2~d64a+d64b,data=DATOS2)

我不知道,因为d64a和d64b是序数,我必须使用factor()吗?

答案

错误消息告诉您d64ad64b中的一个或两个都没有9(九个)唯一值。

默认情况下,s(...)将创建具有9个功能的基础。如果协变量中的唯一值少于9个,则会出现此错误。

使用以下命令检查哪些协变量受到影响:

length(unique(d64a))
length(unique(d64b))

并查看要包含的每个协变量的唯一值数量。如果k参数小于9,则将其设置为上面返回的数字。例如,假设上述检查返回了57唯一协变量,则可以通过如下设置k来表明这一点:

b <- gam(y2 ~ s(d64a, k = 5) + s(d64b, k = 7), data = DATOS2)

以上是关于广义线性模型与广义加性模型的主要内容,如果未能解决你的问题,请参考以下文章

R语言广义加性模型(GAMs:Generalized Additive Model)建模:数据加载划分数据并分别构建线性回归模型和广义线性加性模型GAMs并比较线性模型和GAMs模型的性能

R语言广义加性模型(generalized additive models,GAMs):使用广义线性加性模型GAMs构建logistic回归

R语言 广义加性模型GAM

R语言广义加性模型GAMs:可视化每个变量的样条函数样条函数与变量与目标变量之间的平滑曲线比较并进行多变量的归一化比较测试广义线性加性模型GAMs在测试集上的表现(防止过拟合)

R语言mgcv包中的gam函数拟合广义加性模型(Generalized Additive Model)GAM(对非线性变量进行样条处理计算RMSER方调整R方可视化模型预测值与真实值的曲线)

广义与一般线性模型及R使用