如何使用回归在连续尺度上预测离散因变量

数据挖掘 机器学习 回归 预测建模 线性回归
2022-02-14 11:26:04

我试图找到某种药膏的“最佳”用量,以尽量减少患者出现皮疹的天数。然而,乳膏剂量的数据是 0、0.25、0.5、0.75 和 1 值(在某种规模上,例如 50 毫升)。我正在尝试使用这些离散值建立回归模型并在连续范围内找到最佳值(即在这些离散值之外,[要应用的最佳奶油量可能是 0.37])。我还希望能够根据连续的药膏剂量输入预测患者出现皮疹的天数(例如,如果使用 0.65 的剂量,患者会出现皮疹 4 天)

目前,我正在执行适用于连续因变量的回归分析,例如套索回归。然后使用我建立的模型,我使用连续输入到小数点后 2 位 [0,0.01, 0.02, .... 0.98, 0.99, 1] 来预测患者出现皮疹的天数时间来查看哪个始终产生最少的皮疹天数。

我不确定这是否是正确的方法,任何确认/指导将不胜感激。

1个回答

我假设“剂量”y仅限于y[0,1]. 因此,在您的目标值“堆积”的那一刻y您尝试删除。在这种情况下,线性回归可能会导致“过冲”(有关更多详细信息,请参见此处)。所以使用一些“限制”的估计器可能是有益的y^[0,1]也是。

这可以使用“beta 回归”来实现。这是一个R 实现,文档说:

使用具有均值(取决于协变量上的链接函数)和精度参数(称为 phi)的参数化,通过最大似然拟合比率和比例的 beta 回归模型。

例子:

library("betareg")
data("GasolineYield", package = "betareg")
summary(GasolineYield$yield)

Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.0280  0.1165  0.1780  0.1966  0.2705  0.4570 

br = betareg(yield ~ batch + temp, data = GasolineYield)
preds = predict(br, newdata=GasolineYield)
summary(preds)

Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.04571 0.10309 0.16364 0.19655 0.26429 0.50792 

你提到的第二个问题“预测天数...... ”我目前还不清楚。如果第二个模型独立于第一个模型,则该方法可能非常适合作为健全性检查或获得一些高级估计。但是,我想从某种意义上测试您的模型,您需要研究引导或可能不太复杂:交叉验证