我想使用 varfun 在 glm 的准系列中指定我自己的方差函数,但是我找不到任何有关如何使用该函数的文档。有谁知道如何使用这个功能?
问问题
1342 次
1 回答
2
在设置时,quasi()
只采用自己的预定义方差函数,即“mu(1-mu)”、“mu”、“mu^2”、“mu^3”和“constant”。如果您想使用其中之一,您只需将其指定为variance =
参数的字符串。
如果您想指定自己的方差函数:“准系列将接受文字字符串(或不作为名称/表达式引用)规范“常量”,“mu(1-mu)”,“mu”,“ mu^2" 和 "mu^3",一个长度为一的字符向量,取其中一个值,或者一个包含组件 varfun、validmu、dev.resids、initialize 和 name 的列表。
那是来自帮助文件!我以前怎么错过的?quasi
无论如何,查看函数本身以了解它如何为其预设的方差函数指定这些组件中的每一个可能仍然有用。
如果要指定自己创建的方差函数,则需要查看quasi()
函数返回的内容:
structure(list(family = "quasi", link = linktemp, linkfun = stats$linkfun,
linkinv = stats$linkinv, variance = varfun, dev.resids = dev.resids,
aic = aic, mu.eta = stats$mu.eta, initialize = initialize,
validmu = validmu, valideta = stats$valideta, varfun = variance_nm),
class = "family")
如果您quasi
在控制台中输入(不带括号),您可以看到该函数是如何创建此结构的。您基本上可以通过修改此结构并将其传递给您glm()
的family =
参数来创建您想要的任何“家庭”。实际上创建一个按需要工作的新家庭超出了我的理解范围,但这就是你的做法。警告讲师。
于 2011-03-21T18:16:38.513 回答