Dwupróbkowy test t

Analiza danych ankietowych w Pythonie

EbunOluwa Andrew

Data Scientist

Porównanie ugodowości

osoby podające sobie ręce

group_a.agreeableness.mean()
4.011701199563795
group_b.agreeableness.mean()
4.03669574700109
Analiza danych ankietowych w Pythonie

Definicja dwupróbkowego testu t

  • Sprawdza, czy średnie dwóch niezależnych grup różnią się istotnie
  • Określa, czy różnice są przypadkowe

Butelki z etykietami A i B

Analiza danych ankietowych w Pythonie

Założenia dwupróbkowego testu t

  • Niezależność
  • Rozkład normalny
    • test Shapiro-Wilka
    • stats.shapiro()
    • p-wartość > 0.05 -> rozkład normalny
  • Równe wariancje
    • test Levene'a
    • stats.levene()
    • p-wartość > 0.05 -> równe wariancje

Drewniane klocki z cyframi

Analiza danych ankietowych w Pythonie

Wyniki ankiety

group_a

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

1 = Mała ugodowość

group_b

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

7 = Duża ugodowość

Analiza danych ankietowych w Pythonie

Niezależne grupy

dwie grupy

Analiza danych ankietowych w Pythonie

Grupy o rozkładzie normalnym

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)
Analiza danych ankietowych w Pythonie

Równe wariancje

import scipy.stats as stats

var_test = stats.levene(group_a.agreeableness, group_b.agreeableness)
LeveneResult(statistic=0.40492634057696597, pvalue=0.5246354858484796)
Analiza danych ankietowych w Pythonie

Założenia sprawdzone

  • Niezależne grupy
    • brak wspólnych obserwacji
  • Grupy o rozkładzie normalnym
  • Równe wariancje
    • brak istotnej różnicy między wariancjami

Rysik Apple Pencil – zdjęcie Dose Media z Unsplash

Analiza danych ankietowych w Pythonie

Dwupróbkowy test t w statsmodels

from scipy import stats

stats.ttest_ind(group_a.agreeableness, group_b.agreeableness)
Analiza danych ankietowych w Pythonie

Dwupróbkowy test t w statsmodels

Ttest_indResult(statistic=0.7746406648066304, pvalue=0.4386519848366188)
Analiza danych ankietowych w Pythonie

Dalsza analiza

group_a_mean = 4.011701199563795
group_b_mean = 4.03669574700109

Zabudowa mieszkalna w Kalifornii

Analiza danych ankietowych w Pythonie

Czas na ćwiczenia!

Analiza danych ankietowych w Pythonie

Preparing Video For Download...