Aplikace neparametrických testů v experimentální analýze

Experimentální design v Pythonu

James Chapman

Curriculum Manager, DataCamp

Kdy použít neparametrické testy

 

  • Předpoklady parametrických testů nejsou splněny
  • Data na ordinální škále nebo nenormálně rozdělená
  • Robustní vůči odlehlým hodnotám a nelineárním datům

Zešikmené rozdělení

Experimentální design v Pythonu

Přehled neparametrických metod

 

  • Neparametrické metody pro data nesplňující tradiční předpoklady
  • Mann-Whitney U test: porovnání dvou nezávislých skupin
  • Kruskal-Wallis test: porovnání více než dvou skupin

Nenormální rozdělení

Experimentální design v Pythonu

Vizualizace neparametrických dat

  • Housličkové grafy: vizualizace rozdělení napříč skupinami
condensed_data = mineral_rocks[mineral_rocks['RockType'].isin(['Igneous', 'Metamorphic'])]

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

Housličkový graf tvrdosti minerálů podle typu horniny (vyvřelé vs. metamorfované)

Experimentální design v Pythonu

Vizualizace neparametrických dat

  • Boxen plot: podrobnější pohled na tvar rozdělení
sns.boxenplot(x='RockType', y='MineralHardness', data=mineral_rocks)

Boxen plot rozdělení tvrdosti minerálů napříč typy hornin

Experimentální design v Pythonu

Neparametrické testy – 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
Experimentální design v Pythonu

Neparametrické testy – 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
Experimentální design v Pythonu

Pojďme procvičovat!

Experimentální design v Pythonu

Preparing Video For Download...