广义线性模型与广义加性模型
Generalized linear model vs Generalized additive model
我正在尝试关注这篇论文:Using a data science approach to predict cocaine use frequency from depressive symptoms 他们在其中使用 glm,gam 与 beck inventory depression。所以我确实找到了一个类似的数据集来测试这些模型。但是,我对这两种型号都很难。例如,我有两个变量 d64a 和 d64b,它们用 1,2,3,4 编码,这意味着它们是有序的。另外,在论文中y2只是1的值,但我还有一个额外的变量(可以依赖,消耗的比例)
对于我的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
同时对于 glm,我有以下内容:
d<-glm(y2~d64a+d64b,data=DATOS2)
我不知道,因为 d64a 和 d64b 是有序的,所以我必须使用 factor()?
错误消息告诉您 d64a
和 d64b
之一或两者都没有 9(九个)唯一值。
默认情况下 s(...)
将创建一个具有九个函数的基础。如果协变量中的唯一值少于九个,则会出现此错误。
使用以下方法检查哪些协变量受到影响:
length(unique(d64a))
length(unique(d64b))
并查看您希望包括的每个协变量的唯一值的数量。如果小于 9,则将 k
参数设置为上面返回的数字。例如,假设上述检查返回 5
和 7
唯一协变量,那么您可以通过如下设置 k
来表明这一点:
b <- gam(y2 ~ s(d64a, k = 5) + s(d64b, k = 7), data = DATOS2)
我正在尝试关注这篇论文:Using a data science approach to predict cocaine use frequency from depressive symptoms 他们在其中使用 glm,gam 与 beck inventory depression。所以我确实找到了一个类似的数据集来测试这些模型。但是,我对这两种型号都很难。例如,我有两个变量 d64a 和 d64b,它们用 1,2,3,4 编码,这意味着它们是有序的。另外,在论文中y2只是1的值,但我还有一个额外的变量(可以依赖,消耗的比例)
对于我的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
同时对于 glm,我有以下内容:
d<-glm(y2~d64a+d64b,data=DATOS2)
我不知道,因为 d64a 和 d64b 是有序的,所以我必须使用 factor()?
错误消息告诉您 d64a
和 d64b
之一或两者都没有 9(九个)唯一值。
默认情况下 s(...)
将创建一个具有九个函数的基础。如果协变量中的唯一值少于九个,则会出现此错误。
使用以下方法检查哪些协变量受到影响:
length(unique(d64a))
length(unique(d64b))
并查看您希望包括的每个协变量的唯一值的数量。如果小于 9,则将 k
参数设置为上面返回的数字。例如,假设上述检查返回 5
和 7
唯一协变量,那么您可以通过如下设置 k
来表明这一点:
b <- gam(y2 ~ s(d64a, k = 5) + s(d64b, k = 7), data = DATOS2)