在实验分析中应用非参数检验

Python 实验设计

James Chapman

Curriculum Manager, DataCamp

何时使用非参数检验

 

  • 未满足参数检验假设
  • 数据为有序尺度非正态
  • 对离群值和非线性数据更稳健

偏态分布

Python 实验设计

探索非参数方法

 

  • 非参数方法用于不满足传统假设的数据
  • Mann-Whitney U 检验:比较两个独立
  • Kruskal-Wallis 检验:比较两个以上

非正态分布

Python 实验设计

可视化非参数数据

  • 小提琴图:可视化各组分布
condensed_data = mineral_rocks[mineral_rocks['RockType'].isin(['Igneous', 'Metamorphic'])]

sns.violinplot(x='RockType', y='MineralHardness', data=condensed_data)

按岩石类型(火成岩 vs 变质岩)展示矿物硬度的小提琴图

Python 实验设计

可视化非参数数据

  • 箱增强图(boxen):更好呈现分布形状
sns.boxenplot(x='RockType', y='MineralHardness', data=mineral_rocks)

各岩石类型矿物硬度分布的箱增强图

Python 实验设计

应用非参数检验——Mann-Whitney U

from scipy.stats import mannwhitneyu, kruskal
u_stat, u_pval = mannwhitneyu(
    mineral_rocks[mineral_rocks['RockType'] == 'Igneous']['MineralHardness'],
    mineral_rocks[mineral_rocks['RockType'] == 'Sedimentary']['MineralHardness']
)

print(f"Mann-Whitney U test p-value: {u_pval:.4f}")
Mann-Whitney U test p-value: 0.9724
Python 实验设计

应用非参数检验——Kruskal-Wallis

k_stat, k_pval = kruskal(
    mineral_rocks[mineral_rocks['RockType'] == 'Igneous']['MineralHardness'],
    mineral_rocks[mineral_rocks['RockType'] == 'Sedimentary']['MineralHardness'],
    mineral_rocks[mineral_rocks['RockType'] == 'Metamorphic']['MineralHardness']
)

print(f"Kruskal-Wallis test p-value: {k_pval:.4f}")
Kruskal-Wallis test p-value: 0.0630
Python 实验设计

¡Vamos a practicar!

Python 实验设计

Preparing Video For Download...