相关性的注意事项

Python 统计学入门

Maggie Matsui

Content Developer, DataCamp

非线性关系

具有二次关系的变量散点图

$$r = 0.18$$

Python 统计学入门

非线性关系

我们看到:

具有二次关系并带二次趋势线的散点图

相关系数"看到":

具有二次关系并带线性趋势线的散点图

Python 统计学入门

相关性只刻画线性关系

勿盲目使用相关性

df['x'].corr(df['y'])
0.081094

务必先可视化数据

具有二次关系的散点图

Python 统计学入门

哺乳动物睡眠数据

print(msleep)
                 name       genus   vore         order  ... sleep_cycle  awake  brainwt   bodywt
1             Cheetah    Acinonyx  carni     Carnivora  ...         NaN   11.9      NaN   50.000
2          Owl monkey       Aotus   omni      Primates  ...         NaN    7.0  0.01550    0.480
3     Mountain beaver  Aplodontia  herbi      Rodentia  ...         NaN    9.6      NaN    1.350
4 Greater short-ta...     Blarina   omni  Soricomorpha  ...    0.133333    9.1  0.00029    0.019
5                 Cow         Bos  herbi  Artiodactyla  ...    0.666667   20.0  0.42300  600.000
..                ...         ...    ...           ...  ...         ...    ...      ...      ...
79         Tree shrew      Tupaia   omni    Scandentia  ...    0.233333   15.1  0.00250    0.104
80 Bottle-nosed do...    Tursiops  carni       Cetacea  ...         NaN   18.8      NaN  173.330
81              Genet     Genetta  carni     Carnivora  ...         NaN   17.7  0.01750    2.000
82         Arctic fox      Vulpes  carni     Carnivora  ...         NaN   11.5  0.04450    3.380
83            Red fox      Vulpes  carni     Carnivora  ...    0.350000   14.2  0.05040    4.230
Python 统计学入门

体重 vs 清醒时间

体重与清醒时间的散点图

msleep['bodywt'].corr(msleep['awake'])
0.3119801
Python 统计学入门

体重的分布

bodywt 变量的直方图

Python 统计学入门

对数变换

msleep['log_bodywt'] = np.log(msleep['bodywt'])

sns.lmplot(x='log_bodywt', y='awake', data=msleep, ci=None) plt.show()
msleep['log_bodywt'].corr(msleep['awake'])
0.5687943

对数体重与清醒时间的散点图

Python 统计学入门

其他变换

  • 对数变换(log(x)
  • 平方根变换(sqrt(x)
  • 倒数变换(1 / x

  • 组合示例:

    • log(x)log(y)
    • sqrt(x)1 / y
Python 统计学入门

为何进行变换?

  • 某些统计方法要求变量近似线性相关
    • 相关系数
    • 线性回归

 

Python 线性建模入门

Python 统计学入门

相关不代表因果

                "xy 相关"并不意味着"x 导致 y"

美国人均人造黄油消费与缅因州离婚率的散点图。两者高度相关,相关系数为 0.99

Python 统计学入门

混杂因素

  咖啡饮用(x)指向肺癌(y)

Python 统计学入门

混杂因素

  咖啡饮用(x)指向肺癌(y),上方有吸烟(混杂)

Python 统计学入门

混杂因素

  咖啡饮用(x)指向肺癌(y),含吸烟(混杂)。吸烟与咖啡饮用间有"双向箭头",标注"相关"。

Python 统计学入门

混杂因素

  咖啡饮用(x)指向肺癌(y),含吸烟(混杂)。吸烟与咖啡饮用间"双向箭头"标"相关"。吸烟到肺癌有单向箭头标"因果"。

Python 统计学入门

混杂因素

  咖啡饮用(x)与肺癌(y)间"双向箭头"标"相关"。吸烟与咖啡饮用"双向箭头"标"相关"。吸烟到肺癌单向箭头标"因果"。

  假日(x)指向零售额(y)。特价(混杂)与假日"双向箭头",并指向零售额。

Python 统计学入门

Passons à la pratique !

Python 统计学入门

Preparing Video For Download...