Tillämpa icke-parametriska tester i experimentell analys

Experimentell design i Python

James Chapman

Curriculum Manager, DataCamp

När används icke-parametriska tester?

 

  • Parametriska testantaganden uppfylls inte
  • Data på ordinalskala eller icke-normalfördelad
  • Robust mot avvikande värden och icke-linjär data

Skev fördelning

Experimentell design i Python

Utforska icke-parametriska metoder

 

  • Icke-parametriska metoder för data som inte uppfyller klassiska antaganden
  • Mann-Whitney U-test: jämför två oberoende grupper
  • Kruskal-Wallis-test: jämför fler än två grupper

Icke-normalfördelning

Experimentell design i Python

Visualisera icke-parametrisk data

  • Violindiagram: visualiserar fördelningar per grupp
condensed_data = mineral_rocks[mineral_rocks['RockType'].isin(['Igneous', 'Metamorphic'])]

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

Violindiagram över mineralhårdhet per bergart (magmatisk vs metamorf)

Experimentell design i Python

Visualisera icke-parametrisk data

  • Boxendiagram: bättre inblick i fördelningens form
sns.boxenplot(x='RockType', y='MineralHardness', data=mineral_rocks)

Boxendiagram över mineralhårdhetens fördelning per bergart

Experimentell design i Python

Tillämpa icke-parametriska tester – 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
Experimentell design i Python

Tillämpa icke-parametriska tester – 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
Experimentell design i Python

Nu kör vi en övning!

Experimentell design i Python

Preparing Video For Download...