龙空技术网

统计咨询||二元logistic分析时OR值太大,该怎么解决?

生存分析 21

前言:

现在看官们对“logistic回归or值很大”都比较着重,同学们都需要了解一些“logistic回归or值很大”的相关资讯。那么小编在网络上搜集了一些对于“logistic回归or值很大””的相关知识,希望朋友们能喜欢,你们快快来了解一下吧!

问题描述:

做Logistic回归分析时,因变量是二分类(0和1)变量,自变量里除APA外剩下3个都是二分类变量。样本量一共有50个。消化道出血的有7例,6例都死亡了。

表格中“消化道出血”的95%CI:5.310-34707.356

现在编辑要求我给出OR值和95%置信区间,我该怎么弄?因为数据是真实的,事实就是这样,我也不想改,如何在讨论里解释下这个情况啊!急啊!或者在不改变数据真实情况下,怎么调整下啊?

问题解答:

1. Logistics回归结果如何解读?

在Logistic回归分析中,Odds Ratio(OR)值是指在特定结果发生的情况下,某一暴露组与非暴露组之间比值的比率。在上数结果中,已经计算了Exp(B)值,它就是OR值。而95%置信区间(C.I.)表示的是这个OR值的可能范围,通常用来判断该OR值是否显著。

从结果可以看到,每个自变量的OR值和它的95%CI都已经给出,例如:APA自变量的OR值是1.386,95%CI是1.082到1.775。一般论文或者文章中需要给出OR值和95%置信区间,直接报告上述结果即可。

如果结果中OR > 1,表示自变量与事件的发生是正相关的,即自变量每增加一个单位,事件发生的几率会增加。OR值可以被解释为几率的增加比例。例如,如果OR为1.5,则表明在其他条件不变的情况下,自变量每增加一个单位,事件发生的几率是不发生几率的1.5倍。OR < 1,表示自变量与事件的发生是负相关的,即自变量每增加一个单位,事件发生的几率会减少。例如,如果OR为0.5,则表明在其他条件不变的情况下,自变量每增加一个单位,事件发生的几率是不发生几率的一半。OR = 1,表示自变量与事件的发生没有关联,自变量的变化不会影响事件发生的几率。

如果是分类变量,例如性别:男=“1”,女=“2”,则在SPSS设置时,需要制定参考类别,如下图如果选“last”为参考标准,那输出的结果中OR的解释为以女性为参考,男性是女性发生的概率多少倍。

2. 如果OR值很大,具体原因是什么?

OR值的范围大(即置信区间的宽度)通常与以下因素有关:

(1)样本量:较小的样本量会导致估计的不确定性增加,从而使置信区间变宽。在上述问题中,样本量为50,往往被认为是一个较小的样本量,这可能是造成宽置信区间的一个重要因素。

(2)事件发生率:在上述问题中作者提供的数据中,消化道出血的事件发生率很低(只有7例),并且其中6例都死亡了。当事件发生率很低或很高时,估计的变异性会增加,从而可能导致置信区间变宽。

(3)效应大小(模型自变量回归系数B值):非常大或非常小的效应大小可能导致估计不稳定,这也可以表现为置信区间的宽度增加。"效应大小"(Effect Size)指的是自变量对因变量的影响程度(结果表格的B值)。在Logistics回归中,这些系数描述了自变量变化一个单位时因变量(通常是事件发生的概率)的对数几率变化。如果一个自变量的系数非常大,这意味着它对于预测的事件发生有很强的影响。在Logistics回归中,这可能意味着自变量的一个很小的变化会导致事件发生概率的巨大变化。如果回归系数过大,可能需要考虑数据中是否存在异常值、是否正确模型化了数据,或者自变量是否过于敏感。相反,如果自变量的系数非常小,可能表示它对于事件发生的概率几乎没有或者只有很小的影响。在这种情况下,即使自变量有显著的变化,也可能不会明显改变事件的发生概率。

效应大小非常大或非常小可能导致模型估计的不稳定性。原因可能包括数据范围的限制、模型过度拟合、数据质量问题或样本量过小。在解释效应大小时,应当注意以下几点:模型自变量系数是否统计显著(P值)。系数对应置信区间,如果很宽,这表明估计的不确定性很高。最后即使统计上显著,也要考虑自变量系数是否在实践中有意义。有时候很小的自变量系数可能具有实际重要性,尤其是在影响大量人群的公共健康问题上。

(4)变异性:数据中的变异性越大,估计的不确定性越高,置信区间也会更宽。

在统计学中,变异性描述的是数据分布的广度,也就是说数据点是如何围绕中心值(如平均值)分布的。变异性越大,数据点就越分散,反之则越集中。

例如:如果一个班级里学生的身高差异很大,有的很高,有的很矮,那么这个班级的平均身高的变异性就很大。如果你只能随机测量几个学生的身高来估计整个班级的平均身高,你得到的平均值可能会因为你恰好选中的是比较高或者比较矮的学生而有很大不确定性。

因此,你对这个平均值的估计置信区间(你相信真实平均身高所在的范围)也会比较宽。相反,如果班级里每个学生的身高都差不多,那么变异性就很小。这时,即使你只测量几个学生,得到的平均身高也很可能接近整个班级的真实平均身高,因为大家的身高都很接近。因此,估计的不确定性较小,置信区间也会较窄。一个窄的置信区间表示我们对估计值相对比较有信心。

因此在任何统计分析步骤之前,首先应该进行详细的探索性描述性数据分析(一般是Table 1表格的结果),以了解数据的特性和变量之间的关系。在处理变异性大的连续变量时,可以利用如下几种技术降低变异性,(a)数据转换:比如对连续变量进行对数、平方根或倒数转换,这可能有助于降低极端值的影响;(b)稳健的统计方法:使用对异常值不敏感的稳健统计方法,如稳健回归;(c)非参数方法:考虑使用非参数方法,这些方法不依赖于数据的特定分布。

(5)数据分布:如果数据不符合模型假设(例如,二分类Logistic回归假设自变量和对数几率是线性关系),可能会导致估计不准确和置信区间增宽。

在二分类Logistics回归模型中,我们感兴趣的是某个事件发生的概率P(X)。这个概率与自变量X之间的关系通过一个称为Logistics函数的S形曲线来建模。

Logistics回归的目标是,通过自变量的线性组合来估计对数几率,即事件发生几率与不发生几率的对数比(OR值)。所谓“线性关系”是指自变量与对数几率之间的关系是线性的。如果这个假设不成立,可能是因为以下几种情况之一:

(a)非线性关系:自变量与事件发生概率之间的真实关系可能是非线性的;(b)交互作用:模型可能忽略了自变量之间的交互作用;(c)分类变量的非线性影响:即使是分类变量,也可能与对数几率的关系不是线性的;(d) 数据分布的偏态:例如,如果一个自变量在大多数情况下的值都非常接近,只在极少数情况下有很大的不同,那么这个变量的分布可能是偏态的。在这种情况下,极端值可能过度影响对数几率的估计,导致线性模型不适用。

3. 如果样本量较小,如何补救,以下几种方法可以作为参考。

(1)Bootstrap重抽样技术

Bootstrap的原理是通过对原始样本进行重复随机抽样(有放回),生成大量的“重抽样”数据集,对每个重采样数据集进行Logistics回归分析。使用所有重抽样数据分析的结果来估计参数的置信区间。

在SPSS软件中,已经镶嵌Boostrap功能。具体如下:

在做Logistics回归时,SPSS中有Bootstrap功能,点击后,如图所示操作。即对样本数据重抽样1000次,结果中会给出重抽样结果。上述案例中重新抽样了1000次,相当于生成了1000个新数据集,每个数据集做一次Logistics回归,每次回归都有95CI上下限,1000个上限,1000个下限,计算这1000个值的SE,利用SE可以计算出95%CI。这个步骤,SPSS可以直接给出。

具体结果如下:

从图中结果可见,执行Bootstrap后,OR值的95%CI区间变窄了。如果研究中样本量小,在结果中可以报告Bootstrap的95%CI结果,可以作为文章附录一起报告出来。

(2)贝叶斯Logistics回归建模

贝叶斯统计方法可以在样本量较小的情况下提供更为稳健的估计。贝叶斯统计是一种统计推断的框架,它基于贝叶斯定理,该定理提供了如何通过现有证据(数据)来更新对某个假设(参数)的信念的数学规则。与传统的频率主义统计不同,贝叶斯统计不仅仅提供点估计和置信区间,而且提供了参数的完整概率分布,这被称为后验分布。它允许研究者将先验信息整合到分析中,这可以在样本信息不足时提供额外的支持。

在实践中,后验分布的计算往往不是解析的(即不能通过简单的数学公式直接计算)。因此,通常需要使用数值方法,如马尔可夫链蒙特卡洛(MCMC)算法,来近似地生成后验分布的样本。这些样本可以用来估计参数的各种统计特性,如后验均值、中位数、置信区间等。

贝叶斯方法在样本量较小的情况下特别有用,因为先验信息可以减少估计的不确定性。在极端情况下,当样本非常小或数据信息有限时,先验信息的作用会更加显著。这就是为什么在样本信息不足时,贝叶斯方法可以提供比传统频率主义方法更稳健的估计。

在Logistic回归中,贝叶斯方法不是仅仅计算参数的点估计,而是产生整个参数的概率分布。

具体步骤如下:

(a)先验分布:为模型中的每个参数选择一个先验分布。这可以是基于先前研究的信息,或者如果没有先验信息,可以选择非信息性先验。(b)似然函数:构建一个似然函数,它是观察到的数据作为参数的函数。(c)后验分布:利用贝叶斯定理结合先验分布和似然函数来得到后验分布。(d)计算和推断:使用MCMC等数值方法来近似后验分布,并据此进行推断,如计算后验平均、后验标准差和置信区间(通常是最高后验密度区间,HPD)。

R软件中可以通过rstanarm包实现:

#贝叶斯Logistic回归模型

library(rstanarm)#加载程序包

head(wells)#包中自带的数据集名称为“wells”

wells$dist100 <- wells$dist / 100

fit2 <- stan_glm( switch ~ dist100 + arsenic, data = wells, family = binomial(link = "logit"), prior_intercept = normal(0, 10), QR = TRUE,refresh = 0,chains = 2, iter = 200 )#拟合logistics回归模型。

说明:fit2 <- stan_glm(...):使用stan_glm函数拟合一个贝叶斯Logistics回归模型。模型的因变量是switch,预测变量是dist100和arsenic。

family = binomial(link = "logit"):指定模型为二分类Logistics回归,链接函数为logit。

prior_intercept = normal(0, 10):为截距项设置一个均值为0,标准差为10的正态先验分布。

QR = TRUE:使用QR分解来提高数值稳定性和计算效率。

refresh = 0:在MCMC抽样过程中不打印进度更新。

chains = 2, iter = 200:指定MCMC使用2条链,每条链抽样200次。

print(fit2)

family: binomial [logit]:使用二项分布家族,链接函数为logit。

formula: switch ~ dist100 + arsenic:模型公式。

observations: 3020:数据集中的观测数量。

predictors: 3:模型中的预测变量数量(包括截距)。

系数估计的中位数和中位绝对偏差(MAD_SD):

(Intercept):截距的中位数为0.0,MAD_SD为0.1。

dist100:dist100的中位数为-0.9,MAD_SD为0.1,表明距离与switch发生的几率的对数是负相关的。

arsenic:arsenic的中位数为0.5,MAD_SD为0.0,表明砷含量与switch发生的几率的对数是正相关的。

MAD_SD是中位绝对偏差的标准化版本,用于估计后验分布的离散程度,类似于传统标准差的角色,但在存在异常值时更稳健。

模型输出中看到的中位数是Logistics回归模型系数的中位数。在贝叶斯统计中,我们不仅关心参数估计的平均值,还关心它们的中位数,因为中位数是后验分布的一个稳健的中心趋势度量,尤其在分布不对称的情况下。

中位绝对偏差(Median Absolute Deviation, MAD_SD)是衡量数据变异性的一种方式,它是数据点与中位数差值的绝对值的中位数。在这里,MAD_SD是对这些绝对偏差进行标准化处理后的值。这样做的目的是让MAD_SD在正态分布下具有与标准差类似的解释,同时保持对异常值的稳健性。

在Logistics回归中,一个系数的负符号表示随着这个自变量的增加,事件发生的对数几率会减少。所以,当dist100的系数为-0.9时,这表明每增加一个单位的dist100,事件switch发生的对数几率会下降,即与switch发生的几率是负相关的。中位偏差(MAD_SD)在这里的用处是给出关于系数估计不确定性的信息。当MAD_SD值较小,表示后验分布较为集中,我们对这个系数的估计较为确定;反之,较大的MAD_SD值则表示较大的不确定性。

在解释Logistics回归的结果时,我们可以描述系数和它们代表的效应方向。

模型结果表明,dist100每增加一个单位,与switch发生的风险呈负相关,中位数估计为-0.9。dist100变量的中位绝对偏差(MAD_SD)为0.1,表示我们对这个负效应的估计相对稳健。","arsenic的估计显示,arsenic每增加一个单位,switch发生的风险的中位数估计增加了0.5倍,MAD_SD接近于0,这表明这一变量在统计上是相当稳健的。总体而言,模型结果支持dist100的减少、arsenic的增加与switch发生的风险增加之间存在相关性。"到这一步,实际已经证明了Logistics回归筛选到的变量是有意义的。在实际报告中,你还应该考虑模型的整体拟合好坏、其他潜在变量的影响以及你的模型是否已经考虑了所有重要的预测变量。

下述两张图用于评估贝叶斯模型的拟合质量。

plot(fit2, plotfun = "areas", prob = 0.9,pars = c("(Intercept)", "arsenic"))

这一行代码生成了模型系数后验分布的图形。这里是截距项和arsenic变量回归系数不确定性的直观表示。如果这些分布集中在某个值附近,表明后验估计相对精确;如果分布较宽,则表明有较大的不确定性。

截距项(Intercept)的分布位于0附近,但分布较宽,表明对其准确值仍有不确定性。arsenic系数的分布更尖锐且集中在0.5附近,表明对这个参数的估计相对较准确。

pp_check(fit2, plotfun = "error_binned")

这一行代码生成了模型预测的检查图,使用的是分箱误差图。这个图表评估了模型的预测值与实际观测值的一致性。图中的点表示实际观测值的分箱均值误差,而线表示模型预测的分箱均值误差。如果模型拟合良好,我们期望这些点大体上围绕零上下分布。

分箱误差图是根据模型预测的概率将观测数据分成若干组,或称为“箱”(bins)。每个箱代表的是模型预测的概率区间。例如,如果我们有从0到1的预测概率,并将其分为10个箱,则每个箱可能代表一个0.1的概率区间,比如第一个箱代表0到0.1的预测概率,第二个箱代表0.1到0.2的预测概率,以此类推。

在图中,如果点在水平虚线(零误差线)上方,说明在该箱中模型倾向于低估了真实发生的概率;如果点在线下方,说明模型倾向于高估了概率。

这种图表用于诊断模型的整体预测性能,特别是模型是否在不同的预测概率水平上保持了准确性。如果模型预测非常准确,我们会期望所有点都紧密围绕零误差线分布。如果某些点远离零线,这可能表明模型在相应的预测概率区间内表现不佳。在贝叶斯Logistics回归分析中,这个图表可以帮助评估模型在不同预测概率水平上的表现,从而可以辅助解释和理解模型预测的稳健性。

在这个特定的例子中,我们看到大多数点围绕零线分布,表明我们建立的贝叶斯Logistics回归分析较稳健。

在解释这些图形时,您可以指出它们如何支持模型的参数估计,并讨论模型预测的准确性。在您的论文中,您可以使用这些图形来补充标准逻辑回归的结果,表明您已经使用了贝叶斯方法来评估和验证模型的预测表现。

(3)精确方法

精确方法通常是指不依赖大样本理论的统计推断方法。在Logistic回归中,当样本量很小时,传统的估计方法(如最大似然估计)可能不准确,因此可能需要使用精确方法。精确Logistic回归利用所有可能的样本分布的排列组合来计算精确的P值和置信区间,而不是依赖于大样本近似。这种方法通过对数据进行重抽样或使用组合计算来实现,通常涉及计算密集型的计算。

具体步骤如下:

(a)排列:通过考虑数据可能的所有排列来计算统计量的分布。(b)计算统计量:对于每一种可能的排列,计算感兴趣的统计量(如OR值)。(c)置信区间:基于这些统计量的分布,计算参数的精确置信区间。(d)推断:使用这些精确计算的统计量和置信区间来进行推断。

R软件中的elrm(exact-like inference in logistic regression models)包可以实现这一过程。

library(elrm)

data(drugDat);包中自带的数据“drugDat”

drug.elrm = elrm(formula=recovered/n~sex+treatment, interest=~sex+treatment,

r=4,iter=40000, burnIn=1000, dataset=drugDat);

在这段代码中:

formula 参数指定了模型的公式,也就是因变量和自变量的关系。

interest 参数指定了我们感兴趣的参数,即想要估计OR和CI的变量。

r 参数指定了MCMC的迭代次数,增加这个值可以增加结果的精度但也会增加计算时间。

burnin 参数指定了MCMC的预热期迭代次数,在这期间的迭代结果不会用于最终的统计推断。

执行这些代码会返回关于拟合模型的详细信息以及感兴趣参数的OR值和95%置信区间的估计。

以下是输出结果的逐条解释:

(a)系数估计($coeffs):

这部分展示了模型参数的点估计。这里sex和treatment分别是它们OR值的估计值。

(b)系数的95%置信区间($coeffs.ci):

这里列出了sex和treatment的95%CI。例如,对于sex,95%CI是从-0.58551886到1.177874。

(c)P值($p.values):

joint是测试所有指定自变量联合建模同时等于零的P值。在这里,它是0.12251282,意味着模型参数联合不显著。就是说,它是一个对整个模型的测试,用来判断整个模型中的所有参数是否有至少一个是显著的。在这里,joint P值为0.12251282,表示当我们同时用sex和treatment建模时,模型P>0.05无意义。这意味着模型中包含的变量,作为一个整体,可能不足以显著预测响应变量。

对于sex和treatment,这些P值分别测试每个参数是否显著不同于0。在这里,sex的P值是0.54503250,意味着它不显著;treatment的P值是0.06805582,表明它接近显著,但通常仍然不被认为统计显著(通常的显著性水平是0.05)。

(d)P值的蒙特卡洛标准误差($p.values.se):

这些是估计的P值的标准误差,反映了P值的估计精度。这些值越小,我们对P值的估计越有信心。

Markov Chain Monte Carlo(MCMC)输出($mc):

这部分展示了用于参数估计的MCMC样本。Start和End表示MCMC的迭代次数,Thinning interval表示间隔多少迭代取样一次,用于减少样本的自相关性。

在您的论文中,您可以指出elrm提供的精确置信区间作为传统逻辑回归结果的补充,特别是当您担心小样本偏差时。您可以强调,精确逻辑回归的置信区间更能反映小样本数据中参数的真实不确定性,这可能对决策和解释具有重要影响。

但需要注意的是,这个方法需要MCMC,即不断地迭代组合,对电脑的性能要求比较高,建议刚开始的时候,迭代次数不宜过大。

(4)增加样本量

上述三种方法都是从统计学的角度,对小样本数据的补救措施。如果研究者可能的话,建议增加样本量,这个是提高估计稳定性和减小置信区间宽度的最直接方法。这可以通过收集更多的数据或合并多个相似研究的数据来实现。

(5)改变分析策略

研究者可以尝试使用不同的统计模型或变量转换,以减少对样本量的依赖。

这可能包括使用非线性模型或对数据进行分层等技术来实现。

标签: #logistic回归or值很大 #二元logistic回归or值很大