讨论二项式回归和建模策略

机器算法验证 物流 造型 二项分布 模型选择
2022-04-01 03:27:43

今天我有一个关于二项式/逻辑回归的问题,它基于我部门的一个小组已经完成并正在征求意见的分析。我编造了下面的例子来保护他们的匿名性,但他们很想看到回应。

首先,分析从简单的 1 或 0 二项式响应(例如从一个繁殖季节到下一个繁殖季节的存活率)开始,目标是将这种响应建模为一些协变量的函数。

然而,一些协变量的多次测量可用于某些个体,但不适用于其他个体。例如,假设变量 x 是分娩期间代谢率的量度,个体的后代数量会有所不同(例如,变量 x 对个体 A 测量了 3 次,但对个体 B 仅测量了一次)。这种不平衡不是由于研究人员本身的抽样策略,而是反映了他们抽样的人群的特征;有些人的后代比其他人多。

我还应该指出,测量分娩事件之间的二项式 0\1 响应是不可能的,因为这些事件之间的间隔非常短。再一次,想象一下有问题的物种的繁殖季节很短,但在这个季节可以生出不止一个后代。

研究人员选择运行一个模型,在该模型中,他们使用变量 x 的平均值作为一个协变量,将个体生育的后代数量作为另一个协变量。

现在,由于多种原因,我不热衷于这种方法

1)取 x 的平均值意味着在 x 的个体内可变性中丢失信息。

2)均值本身就是一个统计量,因此通过将其放入模型中,我们最终可以对统计量进行统计。

3)一个人的后代数量在模型中,但它也用于计算变量x的平均值,我认为这可能会造成麻烦。

所以,我的问题是人们将如何对这种类型的数据进行建模?

目前,我可能会为有一个后代的个体运行单独的模型,然后为有两个后代的个体等运行单独的模型。此外,我不会使用变量 x 的平均值,而只使用每次出生的原始数据,但我是也不相信这会好得多。

感谢您的时间

(PS:对不起,这是一个很长的问题,我希望这个例子很清楚)

2个回答

听起来您确实有点进退两难,因为每个单独的测量只有 1 个响应变量。我最初打算推荐一种多层次的方法。但是为了使它起作用,您需要观察最低级别的响应-您没有-您在个人级别观察您的响应(这将是传销中的第 2 级)

1)取 x 的平均值意味着在 x 的个体内可变性中丢失信息。

您正在失去协变量 x 的可变性,但这仅在 X 中包含的其他信息与响应相关时才重要。也没有什么可以阻止您将 X 的方差作为协变量。

2)均值本身就是一个统计量,因此通过将其放入模型中,我们最终可以对统计量进行统计。

统计量是观察数据的函数。因此,任何协变量都是“统计数据”。所以不管你喜不喜欢,你已经在做“统计上的统计”了。但是,它确实会影响您应该如何解释斜率系数 - 作为平均值,而不是个体出生的值。如果您不关心个人出生,那么这无关紧要。如果你这样做了,那么这种方法可能会产生误导。

3)一个人的后代数量在模型中,但它也用于计算变量x的平均值,我认为这可能会造成麻烦。

仅当 X 的平均值在功能上/确定性上与后代数量相关时才重要。发生这种情况的一种方法是,如果每个出生次数相同的人的 X 值相同。通常情况并非如此。

您可以指定一个模型,其中包含 X 的每个值作为协变量。但这可能会涉及我想象的你的一些新的方法学研究。由于个体内部的测量次数不同,您的似然函数对于不同的个体会有所不同。我不认为多层次建模在概念上适用于这种情况。这仅仅是因为出生不是个体中的子集或样本。虽然数学可能是一样的。

您可以合并此结构的一种方法是创建一个模型,例如:

(Yij|xij)Bin(Yij|nij,pij)

其中是个体的二项式响应,表示出生次数,是协变量,是具有相同协变量值且具有相同数量的个体的数量的出生。 是概率,您通常将其建模为:Yijijxijnijpij

g(pij)=xijTβ

对于一些单调/可逆函数g(.). “棘手”部分的出现是因为xijj. 这种情况下的对数似然是:

L=L(β)=jB[i=1Njlog[Bin(Yij|nij,g1(xijTβ))]]

在哪里B只是您数据集中可用的出生人数的集合。要最大化它可能是一项不平凡的任务,并且您可能不会通过对当前估计进行泰勒级数展开来获得通常的 IRLS 方程。泰勒系列是我从这里开始的方式——我只是没有精力在这个时候完成这个过程。我建议您尝试重新安排您的答案,使其看起来像“普通”二项式 GLM。这将使您能够利用可用的标准软件。

我可以告诉你的是,当你区分取决于取决于j(例如第三胎的代谢率系数),这个求和中的一些项会丢失。这基本上是“告诉你”某些观察对估计某些参数没有任何贡献的可能性(例如,生育两个或更少后代的个体对第三胎代谢率的估计斜率没有任何贡献)。

因此,总而言之,当您建议丢失某些东西时,您的直觉是正确的。但是,“纯度”的价格可能很高——尤其是如果您需要编写自己的算法来获得估算值。

我认为您可以探索非线性混合模型;这应该允许您有效地使用您拥有的数据。但是如果相对较少的科目有多个度量,那就没关系了,可能效果不好(我认为可能存在收敛问题)。

如果您使用的是 SAS,则可以使用 PROC GLIMMIX;如果使用 RI 认为 lme4 应该有用。