我有一个关于Logistic回归的问题:我的数据集包括一个病例控制数据集,包括100个生病病例和100个健康对照(都是虚构的高斯分布)。因此,流行率为0.5。为了简单起见,我只使用一个变量(x)及其系数B0和B1。使用这些系数和给定的x值,我生成患病的概率(p),但只对流行率为50%的数据集。然而,我想计算出总体人口的p值,其患病率为9%,但我找不到办法。有人能帮我一把吗?
发布于 2023-04-30 06:27:19
你可以使用一种叫做流行度调整的技术。
下面是如何计算调整后的概率:
注意:请记住,这种方法假设变量(x)与疾病之间的关系在总体上保持不变。
一点问题都没有。
你说得对,我是说OR = e^B1
当多个预测因子具有各自的系数(Bn)和预测值(xn)时,logistic回归方程为:P=1/ (1 + exp(-(B0 + B1x1 + B2x2 +.+Bn*xn))
这里,x1,x2,.,xn表示给定观测的每个预测变量的值。B0是截距项,B1,B2,…,Bn是每个预测变量相关联的系数。
要计算总体的概率(p),您将遵循前面提到的相同步骤,但现在逻辑回归方程将包括所有的预测变量及其系数。
至于x的用法,我正在研究你在问题中给出的例子。如果你想要根据血检结果(x)来计算总体的概率(p),你可以将特定的x值替换为logistic回归方程以及调整的截距和其他系数。这将给你估计患病的可能性,在9%的人口中的特定个人。我通过添加公式详细说明了这些步骤:
在你的病例控制数据集上训练logistic回归模型,患病率为50% (100例病人和100名健康对照者)。这将给出您的预测变量的估计系数。
一旦你有了系数,你可以调整截取项,以考虑流行率的变化。当所有预测变量为零时,截取项表示结果的日志概率。在这种情况下,你需要调整它,以反映9%的患病情况。
若要调整拦截,可以使用公式:
adjusted_intercept = original_intercept + log((desired_prevalence /(1-desired_prevalence))/ (original_prevalence /(1-original_prevalence)
在这里,original_intercept是根据你们的logistic回归模型估计的截距,患病率为50% ( 0.5 ),original_prevalence为0.5。desired_prevalence为0.09 (9%)。
一旦你有了adjusted_intercept,你就可以把它插入logistic回归方程来计算总体人口的新概率:P= exp(adjusted_intercept + coefficient_1x_1 + coefficient_2x_2 +.)
在此方程中,x_1、x_2等表示预测变量的值,而coefficient_1、coefficient_2等则是从logistic回归模型中估计的系数。
https://datascience.stackexchange.com/questions/121237
复制相似问题