混合效应逻辑回归中每个群组/组的可变样本大小

时间:2013-11-08 00:00:23

标签: r logistic-regression

我正在尝试运行混合效果逻辑回归模型,但我担心每个群集/组中的变量样本大小,以及某些模型中“成功”的数量非常少。

我有大约700棵树,分布在163个地块(即群集/群组)中,每年从2004 - 11年开始访问。我为研究的每一年拟合单独的混合效应逻辑回归模型(以下称GLMM),以将该输出与来自共享脆弱模型的推断(即,具有随机效应的生存分析)进行比较。

每个地块的树木数量从1-22不等。此外,有些年份的“成功”(即患病的树木)数量非常少。例如,在2011年,694个“失败”(即健康的树木)中只有4个成功。

我的问题是:(1)当推理重点仅在于估计GLMM中的固定效应时,是否存在理想样本数组的一般规则,以及(2)当有这样的情况时GLMM是稳定的成功率的极端差异:失败。

感谢您提供任何建议或建议。

-Sarah

2 个答案:

答案 0 :(得分:1)

(嗨,莎拉,对不起我之前没有通过电子邮件回答......)

一般来说很难回答这些问题 - 你被困住了 你的数据,对吧?所以这不是功率分析的问题。 如果您想确保您的结果合理 可靠,可能最好的办法是运行一些模拟。 我将展示lme4的一个相当近期的特征(在...中) 开发版本1.1-1,在Github上),即模拟 给定公式和一组参数的GLMM数据。

首先,我必须模拟预测变量(你不会 必须这样做,因为你已经有了数据 - 尽管如此 您可能想尝试改变绘图数量的范围, 每个地块的树木等。)。

set.seed(101)
## simulate number of trees per plot
## want mean of 700/163=4.3 trees, range=1-22
## by trial and error this is about right
r1 <- rnbinom(163,mu=3.3,size=2)+1
## generate plots and trees within plots
d <- data.frame(plot=factor(rep(1:163,r1)),
            tree=factor(unlist(lapply(r1,seq))))
## expand by year
library(plyr)
d2 <- ddply(d,c("plot","tree"),
        transform,year=factor(2004:2011))

现在设置参数:我将假设年份是固定的 效果和整体疾病发病率为plogis(-2)=0.12除外 在2011年,它是plogis(-2-3)=0.0067。之间的标准差 是1(在logit标度上),就像树内的标准一样 偏差:

beta <- c(-2,0,0,0,0,0,0,-3)
theta <- c(1,1)  ## sd by plot and plot:tree

现在模拟:年份作为固定效果,情节和树内情节为 随机效应

library(lme4)
s1 <- simulate(~year+(1|plot/tree),family=binomial,
     newdata=d2,newparams=list(beta=beta,theta=theta))
d2$diseased <- s1[[1]]

综述/检查:

d2sum <- ddply(d2,c("year","plot"),
           summarise,
           n=length(tree),
           nDis=sum(diseased),
           propDis=nDis/n)
library(ggplot2)
library(Hmisc)  ## for mean_cl_boot
theme_set(theme_bw())
ggplot(d2sum,aes(x=year,y=propDis))+geom_point(aes(size=n),alpha=0.3)+
    stat_summary(fun.data=mean_cl_boot,colour="red")

现在适合模特:

g1 <- glmer(diseased~year+(1|plot/tree),family=binomial,
        data=d2)
fixef(g1)

您可以尝试多次,看看结果的可靠程度......

答案 1 :(得分:0)

正如约什所说,对于CrossValidated来说,这是一个更好的问题。

逻辑回归没有硬性和快速的规则,但一条经验法则是10次成功,设计中每个单元需要10次失败(本例中为簇)乘以模型中连续变量的数量。

在你的情况下,我认为模型,如果收敛,将是不稳定的。你可以通过引导固定效应估计的误差来检查它。