處理實驗資料的複雜性

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 的實驗設計

一起來練習吧!

Python 的實驗設計

Preparing Video For Download...