Table of Contents

Lucas Wu

变量的相关性计算

相关性是衡量变量之间的相互依存的程度,也就是通过观察一个变量(自变量,解释变量)在变化的时候,如何影响到另一个变量(因变量,响应变量)的变化。

相关性并不代表因果关系,即使两个变量之间有很强的相关性,也不意味着一个变量的变化导致了另一个变量的变化,比如冰淇淋销售量和溺水事件之间可能存在正相关关系,但并不意味着吃冰淇淋会导致溺水,实际原因可能是夏天天气炎热,导致人们都更多地购买冰淇淋并去游泳。

Pearson系数

Pearson(皮尔逊系数)相关系数通常用字母“r”标识,用于衡量两个连续性变量之间的线性关系强度和方向,也就是说它告诉我们两个变量是如何在一起变化的。

皮尔逊相关系数会返回一个取值范围在-1到+1之间的一个值:

  1. 正相关:如果越靠近+1,则代表两个变量之间呈现正相关,即随着自变量的提高,因变量也随着提高。
  2. 负相关:如果越靠近-1,则代表两个变量之间呈现负相关,即随着自变量的提高,因变量随着降低。
  3. 无相关:实际上越靠近0,说明两个变量之间没有线性关系。

进一步根据r值进行解读:

Chi-Square Test

Chi-Square Test(卡方检验)是一种统计方法,用于判断两个分类变量(指能够被分为不同类别或组别的变量)之间是否存在相关性,原理是通过比对实际数据和理论数据(基于变量之间独立建立的)差异,看是否存在相关。

卡方检验能根据如下男女生喜欢巧克力的观测数据,解决两个问题:

  1. 下面的数据中,男生喜欢巧克力的概率为60%,女生为80%,那么60%与80%的差异是偶然的吗?
  2. 差异大到是不是可以认为“性别”影响了概率?
编号 性别 是否喜欢巧克力
1 喜欢
2 喜欢
3 喜欢
4 喜欢
5 喜欢
6 喜欢
7 不喜欢
8 不喜欢
9 不喜欢
10 不喜欢
11 喜欢
12 喜欢
13 喜欢
14 喜欢
15 喜欢
16 喜欢
17 喜欢
18 喜欢
19 不喜欢
20 不喜欢

要了解卡方检验,就需要了解其计算原理,卡方检验计算阶段为如下的5个阶段。

计算步骤1-整理数据,制作列联表(交叉表)

卡方统计需要将观测数据制作一个列联表(交叉表),列联表用于展示分类变量之间的关系,它显示每种类别组合的频数,这个频数可以理解出现的次数,转换为列联表后为:

性别 喜欢 不喜欢 总计
男生 6 4 10
女生 8 2 10
总计 14 6 20

计算步骤2-设定假设,计算独立事件的联合概率

在第二个阶段也是卡方检验的核心,是建立一个期望频数表,其中期望频数基于两个变量完全独立的零假设基础上,然后通过比较实际频数与理论频数的差异,检查是否显著偏离理论频数。

这里提到的独立性假设也就是卡方检验假设两个变量是没有关系的、独立的,那么基于两个变量的独立性下,那么他们的联合概率应该为两个概率的积。

所以如果我要计算总人数里面男生出现的概率以及总人数里面喜欢巧克力的出现概率,就可以计算为:

$$ P(男生出现的概率) = 10 / 20 = 0.5 \newline P(喜欢巧克力的概率) = 14 / 20 = 0.7 $$

因为卡方检验是假设的两个事件都是独立事件,所以两者的联合概率为两者值的积:

$$ P(男生出现的概率) * P(喜欢巧克力的概率) = 0.35 $$

然后再进一步计算得到具体的人数为:

$$ 0.35 * 20  = 7 $$

以此类推,再次计算男生的不喜欢人数和女生的喜欢和不喜欢人数,得到如下数据,即是期望频数的列联表:

性别 喜欢 不喜欢 总计
男生 7 3 10
女生 7 3 10
总计 14 6 20

计算步骤3-计算卡方统计量

卡方统计量目的是比对实际观测频数和理论频数之间的差异,如果最终的值很接近0,说明两个数据可能是独立,如果最终值很大说明两个变量存在显著关系。

卡方统计量的计算公式为:

$$ \chi^2 = \sum \frac{(O_{ij} - E_{ij})^2}{E_{ij}} $$

其中O(ij)为实际观测频数,而E(ij)为期望频,根据上述的列联表的计算:

$$ 男生喜欢巧克力的卡方统计量:(6 - 7)^2 / 7  = 0.143 \newline 男生不喜欢巧克力的卡方统计量:(4 - 3)^2 / 3  = 0.333 \newline 女生喜欢巧克力的卡方统计量:(8 - 7)^2 / 7  = 0.143 \newline 女生不喜欢巧克力的卡方统计量:(2 - 3)^2 / 3  = 0.333 $$

最终卡方统计量为:

$$ \chi^2 = 0.143 + 0.333 + 0.143 + 0.333  = 0.952 $$

计算步骤4-计算自由度

计算自由度的意义是表示有多少的数据点不受限制,比如你现在有3个球要给两个人A和B,你现在拿了2个给A,那么B的分配已经被固定了(只能拿到1个),所以在这样的情况下你只有A一个人的数值自由选择的,所以自由度为1。

自由度df计算的公式为:

$$ df = (行数 - 1) * (列数 - 1) $$

拿下面的列联表来说,自由度也是等于1,因为下面的列联表是2x2,然后已经固定了4个值,即10个男生、10个女生、14个喜欢和6个不喜欢,所以当在4个地方填入任何一个数值的时候,其余的三个值都已经固定了,所以只有只有一个单元格能自由选择,所以自由度为1。

性别 喜欢 不喜欢 总计
男生 7 3 10
女生 7 3 10
总计 14 6 20

在本次的例子中,计算为:

$$ df = (2 - 1) * (2 - 1) = 1 $$

计算步骤5-显著性检验

计算显著性检验的时候,需要确定一个显著性水平α(可以理解为能接受多少概率假设时的犯罪),一般情况为5%,即:

$$ α = 0.05 $$

确定了α后,再结合自由度df,通过查询卡方分布表找到对应的临界值3.841,最终对比卡方统计量和临界值:

$$ 0.952 < 3.841 $$

关于卡方统计量与临界值的解读:

  1. 如果大于临界值,则说明拒绝零假设(相互独立的假设),说明两个变量之间存在显著的关系,实际频数和理论频数无法用随机误差解读,因此变量可能相关。

  2. 如果小于临界值则说明实际频数表和理论频数表偏差不大,差异的波动可能是随机造成的,因此无法证明两个变量相关。

P-Value

P代表统计中的概率值,取值范围为0-1,用于帮助我们判断观察到的结果(比如相关系数)是否具有统计意义,即这种结果是否可能是偶然发生的,P-Value可以帮助我们进一步结合Pearson和Chi Square Test的结果进行解读,比如scipy.stats.pearsonr方法就会返回一个pearson_coef和一个p-value。

常见的解读方式:

  1. P-value < 0.001:我们说有强有力的证据表明相关性是显著的。
  2. P-value < 0.05:有中等证据表明相关性显著。
  3. P-value < 0.1:有微弱证据表明相关性显著。
  4. P-value > 0.1:没有证据表明相关性显著。

P-Value结合Pearson

比如在Pearson中,P-Value验证的假设为两个系数之间的r=0,即零假设,如果P值<=0.05,比如P=0.01,即代表有足够的证据拒绝零假设,即表达两个变量之间有显著的关系存在,不太可能是偶然,因为偶然性只有1%。

如果P值>0.05,比如P=0.3,表明没有证据拒绝零假设,两个变量之间相关性不显著,可能只是偶然,因为偶然性高达到了30%。

P-Value结合Chi Square Test

在卡方检验中,P值越小,代表看到卡方检验中实际频数表和理论频数表的差异发生概率越低,代表不是偶然,变量之间存在显著关系,而P值越大,说明这种发生概率越高,说明观测到这些数据非常常见。

(完)