前言——主要内容
这篇笔记的主要内容是StatQuest视频教程的第29与30,第29的内容是比值比(Odds)与比值比的log转换(LogOdds)。第30的内容是oddo ratio。
ratio与rate的区别
原视频中有几个术语比较容易混淆,下面是几个英文的注释。
ratio:译为“相对比”,通常简称为“比”,是指一个数字与另外一个数字的比值,它可以是两个有关的同类指标之比,也可以是不同性质的指标之比,常以倍数或百分数来表示,如下所示:
这里的甲、乙指标值可以是绝对数、相对数或平均数等。我们看下面的一个表:
某地区某年居民钩虫感染人数 | ||
---|---|---|
年龄组/岁 | 检查人数 | 感染人数 |
0-14 | 453 | 48 |
15-49 | 824 | 78 |
50及以上 | 206 | 18 |
合计 | 1483 | 144 |
这个表示中,0-14岁组与15-49岁组钩虫感染人数相对比为48/78X100%=61.54%,0-14岁组与15-49岁组钩虫感染率的相对比为10.60%/9.47%=1.12(倍)。
rate:对应的中文翻译是“率”,率是一个具有时间概率的比,用于说明在某一时期内某个现象发生的频率或旨度。某事件在某时间的发生率为表示为:
率常以百分率(%)、千分率、万分率(1/万)、十万分率(1/10万)等表示,在用率的指标时,应说明观察时时期的时间单位。常用的率有生存率、发病率。例如2000年初,在某地区调查了1000名60岁以上的老人,经检查发现,有80人患糖尿病。在2001年初随访这1000名60岁以上的老人,并进行体验,发生其中有95名老人患有糖尿病,那么糖尿病的发病率为:
也就是说,这个地区60岁以上的老人在2000年的糖尿病发病率为1.63%。
——上述内容引用自《医学统计学及SAS应用》(王炳顺.2014)
odds与odds ratio翻译的区别
odds与odds ratio这两个词容易弄混,后来找了一本书(颜虹. 医学统计学.第2版[M]. 人民卫生出版社, 2010.),根据书里的翻译如下:
odds:翻译为优势比
或比数
或比值
,在不同的情况下,可以译成不同的名称,例如在比赛时,可以译为“胜算”,在赌博时,也可以译为“胜率”,在疾病方面,也可以译为“风险”。为了方便理解与描述,后文中我会在括号中注明。
odds ratio:翻译为比数比
或比值比
。
后文会详细讲这两个术语的区别,为了避免搞混淆,此篇笔记都会使用中英文来描述比数和比数比。
odds
关于比数(odds),我们先举一个例子。
你或许这么说过,“我支持的球队踢赢的概率可能是1:4”。这里暗含的意思就是有5场比赛,其中我的支持的球队会赢1场(下图蓝点所示),会输4场(下图红点所示),如下所示:
那么此时我们使用比数(odds)来表示1:4
,我们也可以说是1/4
,如下所示:
计算一下,就是0.25。也就是说我支持的球队赢的胜算是0.25(注:odds在这里译为了胜算,因为我觉得在球赛这种场合使用比数比较不太合适,这里可以理解为“胜算”)。
再把这个案例修改一下,如果我支持的球队赢得比赛的胜算(odds)是5:3,那么实际上暗示会有8场比赛,在这8场比赛中,我支持的球队会赢5场(蓝点所示),如下所示:
因此球队赢的胜算(odds)就是5/3
,如下所示:
计算结果就是1.7。我们可以说我支持的球队赢的胜算(odds)是1.7。
需要注意的是,比数(odds,这里又切换到了统计学术语)与概率(probability)不同,比数(odds)指的是某些发生的事情与不发生的事情的比值,那么在这个案例中,比数(odds)的计算就是赢的事件数目(蓝色点)除以输的事件数目(红色点)如下所示:
而概率(probability)则指的发生的事情数目(蓝色点)除以所有的事件数目(赢的(蓝色点)和输的(红色点)),如下所示:
因此,在前文中介绍的案例里,赢的比数就是5比3,也就是1.7,如下所示:
而赢的概率则是5/8,也就是0.625,如下所示:
此时我们就理解了比数(odds)与概率(probability)的区别。
此时我们看一下如何从概率(probability)中计算比值比(odds)。在上个案例中,我们看到了,赢的比数(odds)为1.7,概率为0.625,我们还可以计算一下输入的概率,也就是3/8=0.375。其实也就是1-赢的概率=1-5/8=3/8=0.375
,如下所示:
此时我们用赢的概率除以输的概率,如下所示:
计算后,如下所示:
上述讲了两种计算比数(odds)的方式,一种是根据事件数目计算,一种是根据概率计算。但经常使用的是则是第二种,如下所示:
log odds
再回到最初的案例,也就是我支持的球队在5场比赛中,可能赢1场的那个案例,它的比数(odds)计算如下所示:
如果我支持的球队表现更差,胜算(odds,就是比数,我是为了方便描述比赛)为1:8,那么就是下面的情况:
如果我支持的球队表现再差,假设胜算(odds)为1:16,那么就是下面的情况:
或者还差呢,比如1:32,这基本上就接近0了,如下所示:
我们再假设一下,我支持的球队很好,有可能踢个4:3,或1.3,也就是下面的样子:
如果还好,比如8:3(或2.7),如下所示:
如果非常好,例如32:3(或者说是10.7),如下所示:
在这个案例中,我们知道,最初球队的胜算(odds,比数)是1,然后上下波动,差的时候,是从很小的值(基本上接近于0了)到1,如果很好的时候,则是从1到很大。此时,我们把这个比数(odds)放到一个数轴上表示,如下所示:
红色的箭头表示的就是球队比较差的时候,输的胜算(odds,比数),如下所示:
蓝色的则相反,表示的是球队赢的胜算(odds,比数),如下所示:
但是,这个数轴不太直观,因为红色与蓝色不对称,比较起来不方便,如下所示:
例如,如果胜算(odds)是1比6的话,也就是说1/6=0.17,它就在下面的这个位置:
如果胜算(odds,比数)是6比1的话,也就是6/1=6,它就在很远处,如下所示:
但是这些比数(odds)的程度都比较类似(一个是1比6,一个是6比1),但是区别很大,如下所示:
为了方便观察,我们可以把比数(odds)进行一个log转换来解决这个问题,转换后的数轴如下所示:
例如,如果比数是1:6,那么经过log转换(log(1/6)=log(0.17)=-1.79
)则是下面这个样子:
如果比数(odds)是6比1,经过log转换,则是下面的这个样子:
我们通过使用log转换,这两个相似的值就很对称了,如下所示:
注:在学习统计学的时候,有时候我们可能看到一个指标,觉得很奇怪,但是只要深入其中最根本的原理部分,就会发现,这有一定的合理性。
odds深入
在我们刚涉及比数(odds)时,是按事件数目计算的,接着我们又按概率进行了计算,这两种方法在本质上是相同的,如下所示:
最后我们又涉及了比数(odds)的log转换,此时我们需要注意的是,概率的比值(ratio of probabilities)的log转换称为logit函数(logit function),它是logistic回归(logistic regression)的基础,如下所示:
此时我们明白了比数(odds)和比数的log转换,那么它有什么用处呢,看下面的一个案例。在下面的这个案例里,如果随机选择一对加起来的值为100的两个数字,然后利用这对数字计算log(odds),并且绘制出直方图,这个直方图就比较类似于正态分布了,如下所示:
添加上正态分布曲线,就是下面的这个样子:
使用log(odds)在解决某些统计学问题方面很有用,尤其是在我们计算赢/输概率方面,或者是yes/no,或者是true/false这些情况时(我觉得这与二项分布有些类似,以后补一下)。
最后,我们需要注意的是比数(odds)虽然是一个比率(ratio),但它与比数比(odds ratio)是不同的,至于有哪些不同,后文会提到。
odds ratio
当我们说比数(odds)的时候,我们仅指两个事件发生的比(ratio)
的比值
,还以前面的案例为例说明,例如比数(odds)我们指的是我支持的球队获胜的比(ratio)
除以我支持的球队失败的比例,如下所示:
我们用图型表示就是下面的这个样子,蓝色圆形表示赢,如下所示:
红色圆形表示输,如下所示:
那么我支持的球队赢的比数(odds)
就是蓝色的圆形除以红色的圆形,如下所示:
此时,我们计算一下圆形的数目,就可以计算出比数(odds)
,如下所示:
此时需要注意的是,即使比数(odds)
是一个比(ratio)
,它也不是人们所谓的比数比(odds ratio)
,如下所示:
当人们说比数比(odds ratio)
的时候,事实上他们是在说比数的比(ratio of odds)
(这几个术语很拗口,为了避免混淆,我都会在括号时注明英文),分子与分母都是一个比数(odds),如下所示:
计算可得0.17,如下所示:
就像我们计算某件事情的比数(odds)时,如果分母比分子大很多,那么比数比(odds ratio)就位于0到1这个区间上,如下所示:
相反,如果分子很大,分母很小,那么比数比(odds ratio)就位于1到极大这个区间上,如下所示:
与比数(odds)类似,我们也可以把比数比(odds ratio)进行log转换,让它们看起来比较对称,如下所示:
例如,比数比(odds ratio)为(2/4)/(3/1)
,进行log转换,即log(odds ratio)=-1.79
,比数比(odds ratio)为(3/1)/(2/4)
,进行log转换,即log(odds ratio)=1.79
,如下所示:
此时我们就得到了转换后的比数比(odds ratio),如下所示:
odds ratio案例
此时,我们看一个案例,Has cancer
表示得癌症的情况,Yes是得,No是不得,Has the mutated gene
表示含有突变基因的情况,Yes是含有突变基因,No是不含突变基因,如下所示:
方框中的数据是356个(356=23+117+6+210),其中,我们从是否得癌症的角度来看,29个人得癌症(29=23+3),327人不得癌症(327=117+210),我们从是否含有突变基因的角度来看,含有突变基因的人数是140(140=23+117),不含突变基因的人数是216(216=6+210)。
此时,我们可以使用比数比(odds ratio)来研究突变基因与癌症之间的关系,如果一个人含有突变基因,那么它得病症的风险(odds,比数)有多高?如下所示:
如果一个人含有突变基因,那么他得癌症的的风险(odds)为23/117
,如果一个人不含突变基因,那么他得癌症的风险就是6/210
,此时我们把23/117
放在分子上,把6/210
放在分母上,如下所示:
它们整体上被称为比数比(odds ratio),如下所示:
经计算,可得比数比(odds ratio)为6.88,这个数字告诉我们,含有突变基因的人得癌症的风险要比不含突变基因的人风险高出6.88倍,如下所示:
把6.88进行log转换,就得到了1.93,这个转换的意义类似于线性回归中的,它表示的是两个事件(在这个案例中是突变基因与癌症的关系)的关联程度,它们的值反映了事件的效应程度(effect size),如下所示:
当这个值很大的时候,表示突变基因是癌症的一个很好的指标,如果这个值比较小,那么突变基因就不是癌症的一个很好指标,如下所示:
此时还有一个问题,还是与线性回归中的一样,我们要知道,这个值是否有统计学上的意义,一共有3种方式来计算比数比(odds ratio),如下所示:
- Fisher's 精确检验
- Chi-Square检验
- The Wald检验(有人喜欢用这种方法来计算p值与置信区间)
至于哪种方法好,目前还没有一个统计的认识,如下所示:
Fisher精确检验
我们先用Fisher精确检验来计算。
第一步,我们先把这几个数字当作是某个袋子中的不同颜色的巧克力豆(注:原视频说把这些豆子是M&M豆,后来查了一下,这是美国的一个巧克力豆品牌,简称为MM豆,它有各种颜色),得癌症的用红色表示,不得的用蓝色表示,如下所示:
第二步,在得癌症的人中,数字是29,也就是29=26+3,如下所示:
第三步:不得癌症的人的数字是327,也就是327=117+210,如下所示:
第四步:计算我们抓到23个红豆和117个蓝豆的p值,如下所示:
经计算,这个p值为0.00001,如下所示:
Chi-square检验
我们再用Chi-square来检验一下p值,它的原理就是通过比较理论值与真实值之间的差异来计算p值的。
第一步,我们先假设突变基因与癌症没有关系,如下所示:
第二步:计算整体中得癌症的概率,在这个数据集中,得癌症的人是29个,即29=23+6,那么它除以总的人数356(356=23+117+6+210)就是得癌症的概率,如下所示:
第三步:计算不同组中得得癌症的理论人数,以含有这个突变基因的组为例(这个组的人数是140,即140=23+117),那么这个组中得癌症的理论人数应该为140 x 0.08 = 11.2,如下所示:
按照同样的方法,把所有组的理论得癌症人数都计算出来,如下所示:
第四步:比较理论值与观察值,如下所示:
至于有2个p值,这主要是因为卡方检验通常是不连续数据,但样本量足够大的话,可以视为连续数据。因此在进行卡方检验时,可以使用连续性校正,也可以不使用。
Wald检验
这种检验常常用于计算logistic回归中的比数比(odds ratios)的显示性与置信区间,如下所示:
Wald检验会充分利用log(odds ratios)
,它通常是服从正态分布的,如下所示:
这个直方图是由10000个随机的log(odds ratio)
生成的,它告诉我们如果突变基因与癌症没有关系的话,可能的p值大小,如下所示:
如果要在自己的计算机上绘制这个直方图,那么随机选择的人的数目就是300到400。在这个案例中我们计算的步骤如下(Wald检验不懂,我只能照着字面翻译):
第一,我们选择的是325(数字位于300到400之间);
第二,针对每个样本选择一个0到1之间的随机数,例如0.01,0.73,0.95;
第三,小于0.08的那些随机数就是得样本得癌症的概率,例如,17除以325就是0.05,小于0.08;
第四,为每个样本再挑选1个位于0到1之间的随机数字;
第五,小于0.05的那些随机数字就是含有突变基因的人数。
至少,我们会得到一个矩阵,这个矩阵中的值和基因与癌症之间的关系无关,下面主是这个矩阵,如下所示:
𦘀,计算log(odds ratio)
,做10000万次,然后绘制出直方图,如下所示:
这个直方图的正态分布曲线如下所示:
在x=0处,log(odds ratio)=0,它表示不同组之间的比数(odds)没有差异,这个正态分布的标准差为0.43,如下所示:
通常使用观测值来估计标准差,如下所示:
计算过程如下所示:
最终结果是0.47,如下所示:
我们可以发现,这个0.47与0.43还是比较接近的。
Wald检验所做的就是观测值的log(odds ratio)
距离0有多少个标准差,如下所示:
由于Wald检验通常使用估计的标准差(这里就是0.47),那么我们使用一个中心为0,标准差为0.47的正态分布区曲线来替换原来的直方图,如下所示:
此时计算一下观测值的log(odds ratio)
,如下所示:
计算可得log(odds ratio)=1.93
,它位于曲线的右侧部分,如下所示:
此时我们计算一个这个值距离0有几个标准差,我们只用它除以标准差即可,如下所示:
经计算可得,观测值的log(odds ratio)
距离0有4.11个标准差,如下所示:
按照我们平时的计算规则,通常偏离2个标准差的p值会小于0.05,那么此时我们就可以知道log(odds ratio)
在统计学上的显著的,如下所示:
不过,为了得到一个精确的双尾检验的p值,我们可以求出大于1.93以及小于-的.93的曲线下面积,如下所示:
不过上述是传统的,利用标准正态曲线计算的方式,如下所示:
利用这种方法就意味着,大于4.11以及小于-4.11的曲线下面积的点都加在了一起,其中4.11是log(odds ratio)
离均值标准差的数目,如下所示:
最终我们计算的结果就是,突变基因与癌症之间没有关系的p值是0.00005,如下所示:
三种方法总结
前面我们使用了3种方法来计算p值,当我们生成10000个随机的log(odds ratios)
时,我们分别使用这3种方法来检验,如果检验符合预期,那么有5%的可能性p值是小于0.05的,如下所示:
从这三种方法的计算结果来看,它们在限制p值方面都表现得很好,因此你所做的就是找出你自己专业领域中最常用的方法。就作者个人的看法,如果都能通过所有的检验,那么他会选择一个在边界上的p值。
总结
比数比(odds ratio)就是比数(odds)的比,如下所示:
log(odds ratio)
就是odds ratio
进行log转换,如下所示:
比数比(odds ratio)会告诉我们两件事情之间的联系,例如有某种突变基因的人是否会增加其得癌症的风险(odds),如下所示:
有三种方法来计算两个事件之间的p值,分别为Fisher精确检验,Chi-Square检验,Wald检验,在前面的案例中,这3个检验得到的p值如下所示: