从 glmer(family=inverse.gaussian(link="log")) 反向转换

back transform from glmer(family=inverse.gaussian(link="log"))

我目前是 运行 家庭成员=inverse.gaussian(link="log")。我的"top model"如下:

 full_mod2=glmer(cpueplus1 ~ assnage * logcobb + (1|fyear) + (1|flocation),
 data=yc,family=inverse.gaussian(link = "log"))

系数的输出为:

  Fixed effects:
                   Estimate Std. Error t value Pr(>|z|)    
  (Intercept)      1.53670    0.16126   9.529  < 2e-16 ***
  assnage         -0.30168    0.04909  -6.146 7.96e-10 ***
  logcobb          0.42032    0.06155   6.829 8.54e-12 ***
  assnage:logcobb -0.10132    0.02395  -4.231 2.33e-05 ***

我希望有一个方程,我将能够保持其中一个变量不变(例如 assnage)并确定另一个变量对观察值的影响(例如 logcobb)。使用 gmler,您可以轻松地将 "invlogit()" 用于二项式分布,是否有类似于 inverse.gaussian 的东西?例如,当 assnage 等于平均值​​ (2)、最大值 (4) 或最小值 (1) 时:

 mean_age=FUNCTION(1.53670 + -0.30168*(mean(assnage)) +
 0.42032*observedvalues(logcobb) + -0.10132*(mean(assnage)*observedvalues(logcobb))

您可以从 inverse.gaussian 对象中获取反函数。

inv.gaus <- inverse.gaussian(link = "log")

inv.gaus$linkfun(10)
inv.gaus$linkinv(inv.gaus$linkfun(10))

你也可以直接看这些函数的定义

inv.gaus$linkfun
function (mu) 
log(mu)
<environment: namespace:stats>
inv.gaus$linkinv
function (eta) 
pmax(exp(eta), .Machine$double.eps)
<environment: namespace:stats>

您可以通过查看 attributes(inv.gaus)

查看 link 对象中的更多属性

要完成你的背部变形,你可以使用

inv.gaus$linkinv(1.53670 + -0.30168*(mean(assnage)) +
 0.42032*observedvalues(logcobb) + -0.10132*(mean(assnage)*observedvalues(logcobb))