Applicare test non parametrici nell'analisi sperimentale

Progettazione Sperimentale in Python

James Chapman

Curriculum Manager, DataCamp

Quando usare test non parametrici

 

  • Assunzioni dei test parametrici non rispettate
  • Dati ordinali o non normali
  • Robusti a outlier e non linearità

Distribuzione asimmetrica

Progettazione Sperimentale in Python

Esplorare metodi non parametrici

 

  • Metodi non parametrici per dati che non rispettano le assunzioni classiche
  • Mann-Whitney U: confronta due gruppi indipendenti
  • Kruskal-Wallis: confronta più di due gruppi

Distribuzione non normale

Progettazione Sperimentale in Python

Visualizzare dati non parametrici

  • Violin plot: visualizza le distribuzioni per gruppo
condensed_data = mineral_rocks[mineral_rocks['RockType'].isin(['Igneous', 'Metamorphic'])]

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

Violin plot di Durezza Minerale per Tipo di Roccia (Ignea vs Metamorfica)

Progettazione Sperimentale in Python

Visualizzare dati non parametrici

  • Boxen plot: migliore lettura della forma della distribuzione
sns.boxenplot(x='RockType', y='MineralHardness', data=mineral_rocks)

Boxen plot della distribuzione della durezza minerale per tipo di roccia

Progettazione Sperimentale in Python

Applicare test non parametrici - 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
Progettazione Sperimentale in Python

Applicare test non parametrici - 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
Progettazione Sperimentale in Python

Ayo berlatih!

Progettazione Sperimentale in Python

Preparing Video For Download...