0 到 1 之间的结果(比率或分数)的回归

机器算法验证 回归 物流 广义线性模型 贝塔分布 贝塔回归
2022-02-04 06:50:48

我正在考虑建立一个模型来预测比率,其中因此,该比率将介于之间。a/baba>0b>001

我可以使用线性回归,尽管它自然不会限制为 0..1。我没有理由相信这种关系是线性的,但当然它还是经常被使用,作为一个简单的第一个模型。

我可以使用逻辑回归,尽管它通常用于预测两种状态结果的概率,而不是预测 0..1 范围内的连续值。

什么都不知道,你会使用线性回归、逻辑回归还是隐藏选项c

4个回答

您应该选择“隐藏选项 c”,其中 c 是 beta 回归。当响应变量分布为Beta时,这是一种合适的回归模型您可以将其视为类似于广义线性模型这正是您正在寻找的。有一个R名为betareg的包可以处理这个问题。我不知道您是否使用R,但即使您不使用,您也可以阅读“小插曲”,除了如何在R其中实施之外,它们还会为您提供有关该主题的一般信息(您不需要这种情况)。


编辑(很久以后): 让我快速澄清一下。我将这个问题解释为关于两个积极的真实价值的比率。如果是这样,(并且它们以 Gamma 的形式分布)这是一个 Beta 分布。但是,如果是已知总数的“试验”中的“成功”计数,那么这将是计数比例,而不是连续比例,您应该使用二项式 GLM(例如,逻辑回归)。有关如何在 R 中执行此操作,请参阅例如当结果为分数时如何在 R 中进行逻辑回归(两个计数的比率)?aba/b

如果可以转换比率以满足标准线性模型的假设,另一种可能性是使用线性回归,尽管我对实际工作并不乐观。

这些是配对样本还是两个独立的群体?

如果是独立种群,您可以考虑log(M) = log(B) + *log(ratio)Xi是 A 的值,则X 是向量 = 1,如果是 B 的值, = 0 XiMiXiMi

您对该回归的截距将是 log(B),而您的斜率将是 log(ratio)。

在这里查看更多:

Beyene J, Moineddin R. 应用位置商的比率参数的置信区间估计方法。BMC 医学研究方法论。2005;5(1):32。

编辑:我写了一个 SPSS 插件来做到这一点。如果你有兴趣,我可以分享。

不对。逻辑回归的数据是二进制 0 或 1,但模型预测 p 表示给定预测变量的成功概率,其中是模型中预测变量的数量。实际上,由于 logit 函数,线性模型可以预测 log( ) 的值。因此,要获得 p 的预测,您只需执行逆变换其中是预测的 logit。Xii=1,2,..,kkp1pp=exp(x)[1+exp(x)]x

我们可以在 SVM-C 或任何其他以权重为比率的分类器中使用 sample_weights。在原始情况下,每个数据点将有两个数据点:

  1. 以 1 作为目标变量,其中 sample_weight 等于 ratio
  2. 以 0 作为目标变量,其中 sample_weight 为 (1-ratio)。

在此处考虑 sample_weights 对 SVM-C 的影响https://scikit-learn.org/stable/auto_examples/svm/plot_weighted_samples.html

然后我们可以使用目标值 1 的预测概率作为我们的比率估计。这里的weights指的是sklearn的fit方法中的sample_weights