当结果是分数(两个计数的比率)时,如何在 R 中进行逻辑回归?

机器算法验证 r 物流 多项分布
2022-02-01 22:42:17

我正在审查一篇具有以下生物实验的论文。一种装置用于将细胞暴露于不同量的流体剪切应力。随着对细胞施加更大的剪切应力,更多的细胞开始从基底上分离。在每一级剪切应力下,他们计算仍然附着的细胞,并且由于他们知道开始时附着的细胞总数,他们可以计算分数附着(或分离)。

如果您绘制粘附分数与剪切应力的关系图,则结果是逻辑曲线。理论上,每个单独的单元格是一个单独的观察值,但显然有数千或数万个单元格,因此如果以通常的方式设置数据集(每一行是一个观察值),数据集将是巨大的。

所以,自然地,我的问题(如标题中所述)现在应该有意义了。我们如何使用分数结果作为 DV 进行逻辑回归?是否有一些可以在 glm 中完成的自动转换?

同样,如果可能有 3 个或更多(分数)测量值,如何为多项逻辑回归执行此操作?

3个回答

中的glm函数R允许 3 种方法来指定逻辑回归模型的公式。

最常见的是数据框的每一行代表一个观察值,响应变量为 0 或 1(或具有 2 个水平的因子,或仅具有 2 个唯一值的其他变量)。

另一种选择是使用 2 列矩阵作为响应变量,第一列是“成功”的计数,第二列是“失败”的计数。

您还可以将响应指定为 0 到 1 之间的比例,然后将另一列指定为“权重”,该列给出该比例来自的总数(因此 0.3 的响应和 10 的权重与 3 相同)成功”和 7 次“失败”)。

最后两种方法中的任何一种都适合您尝试做的事情,最后一种似乎最直接地描述了您的数据。

首先,如果您有一个比例因变量,您可以使用 Beta 回归。这不会(以我有限的知识)扩展到多个比例。

有关 Beta 回归概述和 R 实现,请查看betareg

我一直在使用nnet::multinom(包 nnet 是 MASS 的一部分)用于类似目的,它接受 [0, 1] 中的连续输入。

如果您需要参考:C. Beleites et.al.:星形细胞瘤组织的拉曼光谱分级:使用软参考信息。肛门生物肛门化学,2011,卷。400(9),第 2801-2816 页