Niet-parametrische toetsen toepassen in experimentele analyses

Experimenteel ontwerpen in Python

James Chapman

Curriculum Manager, DataCamp

Wanneer gebruik je niet-parametrische toetsen

 

  • Aannames van parametrische toetsen niet gehaald
  • Data op ordinale schaal of niet-normaal
  • Robuust voor outliers en niet-lineaire data

Scheve verdeling

Experimenteel ontwerpen in Python

Niet-parametrische methoden verkennen

 

  • Niet-parametrische methoden voor data die niet aan klassieke aannames voldoet
  • Mann-Whitney U-toets: vergelijk twee onafhankelijke groepen
  • Kruskal-Wallis-toets: vergelijk meer dan twee groepen

Niet-normale verdeling

Experimenteel ontwerpen in Python

Niet-parametrische data visualiseren

  • Violinplots: verdelingen per groep visualiseren
condensed_data = mineral_rocks[mineral_rocks['RockType'].isin(['Igneous', 'Metamorphic'])]

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

Violinplot van Mineral Hardness per steentype (stollingsgesteente vs metamorfe)

Experimenteel ontwerpen in Python

Niet-parametrische data visualiseren

  • Boxenplot: beter zicht op de vorm van de verdeling
sns.boxenplot(x='RockType', y='MineralHardness', data=mineral_rocks)

Boxenplot van de verdeling van Mineral Hardness per steentype

Experimenteel ontwerpen in Python

Niet-parametrische toetsen toepassen - 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
Experimenteel ontwerpen in Python

Niet-parametrische toetsen toepassen - 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
Experimenteel ontwerpen in Python

Laten we oefenen!

Experimenteel ontwerpen in Python

Preparing Video For Download...