t-test a due campioni

Analisi dei dati da sondaggio in Python

EbunOluwa Andrew

Data Scientist

Confronto della gradevolezza

persone che si stringono la mano

group_a.agreeableness.mean()
4.011701199563795
group_b.agreeableness.mean()
4.03669574700109
Analisi dei dati da sondaggio in Python

Definizione del t-test a due campioni

  • Verifica se le medie di due gruppi indipendenti differiscono in modo significativo
  • Capire se le differenze sono dovute al caso

Coppia di bottiglie etichettate A e B

Analisi dei dati da sondaggio in Python

Ipotesi per il t-test a due campioni

  • Indipendenti
  • Distribuzione normale
    • Test di Shapiro-Wilk
    • stats.shapiro()
    • p-value > 0.05 -> normale
  • Varianze uguali
    • Test di Levene
    • stats.levene()
    • p-value > 0.05 -> varianze uguali

Numeri su blocchi di legno

Analisi dei dati da sondaggio in Python

Risultati del sondaggio

group_a

| userid | agreeableness |
|--------|---------------|
|    895 |          4.78 |
|    a06 |          3.40 |
|    e94 |          3.66 |
|    ee6 |          5.41 |
|    521 |          4.58 |
|    f4c |          3.24 |
...

1 = Poco gradevole

group_b

| userid | agreeableness |
|--------|---------------|
|    b7e | 4.43          |
|    030 | 2.92          |
|    f91 | 4.01          |
|    36f | 2.20          |
|    875 | 3.83          |
|    750 | 4.95          |
...

7 = Molto gradevole

Analisi dei dati da sondaggio in Python

Gruppi indipendenti

due gruppi

Analisi dei dati da sondaggio in Python

Gruppi distribuiti normalmente

from scipy.stats import shapiro
import scipy.stats as stats

norm_A = stats.shapiro(
  group_a.agreeableness)

ShapiroResult(
statistic=0.997467577457428,
pvalue=0.16834689676761627)
from scipy.stats import shapiro
import scipy.stats as stats

norm_B = stats.shapiro(
  group_b.agreeableness)

ShapiroResult(
statistic=0.9987381100654602,
pvalue=0.7757995128631592)
Analisi dei dati da sondaggio in Python

Varianze uguali

import scipy.stats as stats

var_test = stats.levene(group_a.agreeableness, group_b.agreeableness)
LeveneResult(statistic=0.40492634057696597, pvalue=0.5246354858484796)
Analisi dei dati da sondaggio in Python

Ipotesi verificate

  • Gruppi indipendenti
    • nessuna sovrapposizione di individui
  • Gruppi normali
  • Varianze uguali
    • nessuna differenza significativa tra le due varianze

Apple Pencil - Foto di Dose Media su Unsplash

Analisi dei dati da sondaggio in Python

t-test a due campioni con statsmodels

from scipy import stats

stats.ttest_ind(group_a.agreeableness, group_b.agreeableness)
Analisi dei dati da sondaggio in Python

t-test a due campioni con statsmodels

Ttest_indResult(statistic=0.7746406648066304, pvalue=0.4386519848366188)
Analisi dei dati da sondaggio in Python

Analisi aggiuntiva

group_a_mean = 4.011701199563795
group_b_mean = 4.03669574700109

Le case in California

Analisi dei dati da sondaggio in Python

Ayo berlatih!

Analisi dei dati da sondaggio in Python

Preparing Video For Download...