Fondamenti dell'inferenza in Python
Paul Savala
Assistant Professor of Mathematics
| Dimensione campione | Dimensione effetto | Alfa |
|---|---|---|
![]() |
![]() |
![]() |
from scipy.stats import norm# Gruppo controllo: media 0 libbre, dev. std 1 libbracontrollo = norm.rvs(loc=0,scale=1,size=100)# Gruppo trattamento: media -2 libbre, dev. std 1 libbratrattamento = norm.rvs(loc=-2, scale=1, size=100)
$H_0$: Nessuna differenza nella perdita di peso (sbagliato)
$H_a$: Il gruppo trattamento perde peso (corretto)
Conclusione: rifiuta correttamente $H_0$ a favore di $H_a$.
from scipy.stats import ttest_ind# Esegui un t-test alpha = 0.05 t_test = ttest_ind(trattamento, controllo, alternative='less')# Verifica la significatività print(t_test.pvalue < alpha)
TRUE
control = norm.rvs(loc=0, scale=1, size=5) treatment = norm.rvs(loc=-2, scale=1, size=5)# Esegui un t-test tt = ttest_ind(treatment, control, alternative='less')print(tt.pvalue < 0.05)
FALSE
Conclusione: non rifiuti H0 (sbagliato)
# Perdita di peso = 0,2 libbre, campione = 100trattamento = norm.rvs(loc=-0.2, scale=1, size=100)# Esegui un t-test t_test = ttest_ind(trattamento, controllo, alternative='less')print(t_test.pvalue < 0.05)
FALSE

Se c’è un effetto significativo, il test lo rileverà?

Potenza di un test: se l’ipotesi alternativa (Ha) è vera, con quale probabilità il test rifiuta l’ipotesi nulla (H0) con i dati forniti?
Calcola la potenza prima di raccogliere il campione
from statsmodels.stats import power # Funzione di potenza tt_power = power.TTestIndPower()# Calcola la potenza pwr = tt_power.power(effect_size=0.2,nobs1=100,alpha=0.05)print(pwr)
0.291
Bassa probabilità di rilevarlo!
nobs1 = TTestIndPower().solve_power(effect_size=-0.2, nobs1=None, # Risolvi per alpha=0.05, power=0.8)print(nobs1)
13735.26
Fondamenti dell'inferenza in Python