处理实验数据的复杂性

Python 实验设计

James Chapman

Curriculum Manager, DataCamp

地质数据

mineral_rocks
 SampleID     RockType  Location  MineralHardness  RockPorosity
        1  Metamorphic      West              5.9          12.3
        2      Igneous     North              5.3           1.6
        3  Metamorphic      East              5.6          11.0
        4  Metamorphic     South              3.2          12.2
        5  Sedimentary     South              2.0          29.8
Python 实验设计

理解数据复杂性

 

  • 岩石类型与矿物硬度可能发生交互,影响矿物性质
  • 岩石孔隙度的方差可能变化,提示异方差性
  • 混杂变量可能影响矿物硬度与孔隙度

一堆不同岩石的集合。

Python 实验设计

处理交互作用

sns.scatterplot(x='MineralHardness', y='RockPorosity', 
                hue='RockType', data=mineral_rocks)

按岩石类型的矿物硬度与孔隙度散点图

Python 实验设计

处理异方差性

  • 异方差性:一个变量在另一个变量范围内的变异性随之改变
sns.residplot(x='MineralHardness', y='RockPorosity', 
              data=mineral_rocks, lowess=True)

检查不等方差

Python 实验设计

非正态数据

sns.displot(mineral_rocks['RockPorosity'])

RockPorosity 直方图与密度曲线

Python 实验设计

使用 Box-Cox 的数据变换

from scipy.stats import boxcox
mineral_rocks['TransformedRockPorosity'], _ = boxcox(mineral_rocks['RockPorosity'])
sns.displot(mineral_rocks['TransformedRockPorosity'])

Box-Cox 转换后的孔隙度

Python 实验设计
sns.residplot(x='MineralHardness', y='TransformedRockPorosity',
              data=mineral_rocks, lowess=True)

转换后孔隙度与矿物硬度的残差图

Python 实验设计

¡Vamos a practicar!

Python 实验设计

Preparing Video For Download...