Hypothesetesten uitvoeren in python (met voorbeelden)
Een hypothesetest is een formele statistische test die we gebruiken om een statistische hypothese al dan niet te verwerpen.
In deze tutorial wordt uitgelegd hoe u de volgende hypothesetests in Python uitvoert:
- Een voorbeeld-t-test
- T-test met twee monsters
- Gepaarde monsters t-test
Laten we gaan!
Voorbeeld 1: Een voorbeeld van een t-test in Python
Een one-sample t-test wordt gebruikt om te testen of het gemiddelde van een populatie gelijk is aan een bepaalde waarde.
Laten we bijvoorbeeld zeggen dat we willen weten of het gemiddelde gewicht van een bepaalde schildpadsoort al dan niet 310 pond is.
Om dit te testen verzamelen we een eenvoudige willekeurige steekproef van schildpadden met de volgende gewichten:
Gewicht : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
De volgende code laat zien hoe u de functie ttest_1samp() in de scipy.stats- bibliotheek gebruikt om een t-test met één monster uit te voeren:
import scipy.stats as stats #define data data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] #perform one sample t-test stats. ttest_1samp (a=data, popmean= 310 ) Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)
De t-teststatistiek is -1,5848 en de overeenkomstige tweezijdige p-waarde is 0,1389 .
De twee hypothesen voor deze t-test op een bepaald monster zijn als volgt:
- H 0 : µ = 310 (het gemiddelde gewicht van deze schildpadsoort is 310 pond)
- H A : µ ≠310 (gemiddeld gewicht is geen 310 pond)
Omdat de p-waarde van onze test (0,1389) groter is dan alpha = 0,05, slagen we er niet in de nulhypothese van de test te verwerpen.
We hebben niet voldoende bewijs om te zeggen dat het gemiddelde gewicht van deze specifieke schildpadsoort iets anders is dan 310 pond.
Voorbeeld 2: T-test met twee monsters in Python
Een t-test met twee steekproeven wordt gebruikt om te testen of de gemiddelden van twee populaties gelijk zijn of niet.
Stel dat we bijvoorbeeld willen weten of het gemiddelde gewicht van twee verschillende soorten schildpadden gelijk is of niet.
Om dit te testen, verzamelen we van elke soort een eenvoudig willekeurig monster van schildpadden met de volgende gewichten:
Monster 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
Monster 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305
De volgende code laat zien hoe u de functie ttest_ind() in de scipy.stats- bibliotheek gebruikt om deze twee t-test-voorbeelden uit te voeren:
import scipy. stats as stats #define array of turtle weights for each sample sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305] #perform two sample t-tests stats. ttest_ind (a=sample1, b=sample2) Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)
De t-teststatistiek is –2,1009 en de overeenkomstige tweezijdige p-waarde is 0,0463 .
De twee aannames voor deze specifieke t-test met twee steekproeven zijn:
- H 0 : µ 1 = µ 2 (het gemiddelde gewicht tussen de twee soorten is gelijk)
- H A : µ 1 ≠ µ 2 (het gemiddelde gewicht tussen de twee soorten is niet gelijk)
Omdat de p-waarde van de test (0,0463) kleiner is dan 0,05, verwerpen we de nulhypothese.
Dit betekent dat we voldoende bewijs hebben om te zeggen dat het gemiddelde gewicht tussen de twee soorten niet gelijk is.
Voorbeeld 3: t-test van gepaarde monsters in Python
Een paired samples t-test wordt gebruikt om de gemiddelden van twee monsters te vergelijken wanneer elke waarneming in het ene monster kan worden geassocieerd met een waarneming in het andere monster.
Laten we bijvoorbeeld zeggen dat we willen weten of een bepaald trainingsprogramma al dan niet in staat is om de maximale verticale sprong (in inches) van basketbalspelers te vergroten.
Om dit te testen, kunnen we een eenvoudige willekeurige steekproef van twaalf universiteitsbasketbalspelers rekruteren en elk van hun maximale verticale sprongen meten. Dan kunnen we elke speler een maand lang het trainingsprogramma laten gebruiken en aan het einde van de maand opnieuw zijn maximale verticale sprong meten.
De volgende gegevens tonen de maximale spronghoogte (in inches) voor en na gebruik van het trainingsprogramma voor elke speler:
Voorkant : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21
Na : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20
De volgende code laat zien hoe u de functie ttest_rel() in de scipy.stats- bibliotheek gebruikt om deze t-test met gepaarde monsters uit te voeren:
import scipy. stats as stats #define before and after max jump heights before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21] after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20] #perform paired samples t-test stats. ttest_rel (a=before, b=after) Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)
De t-teststatistiek is –2,5289 en de overeenkomstige tweezijdige p-waarde is 0,0280 .
De twee aannames voor deze specifieke t-test met gepaarde monsters zijn:
- H 0 : µ 1 = µ 2 (de gemiddelde hoogte van de sprong voor en na gebruik van het programma is gelijk)
- H A : µ 1 ≠ µ 2 (de gemiddelde hoogte van de sprong voor en na gebruik van het programma is niet gelijk)
Omdat de p-waarde van de test (0,0280) kleiner is dan 0,05, verwerpen we de nulhypothese.
Dit betekent dat we voldoende bewijs hebben om te zeggen dat de gemiddelde spronghoogte voor en na gebruik van het trainingsprogramma niet gelijk is.
Aanvullende bronnen
U kunt de volgende online rekenmachines gebruiken om automatisch verschillende t-toetsen uit te voeren:
Een voorbeeld van een t-testcalculator
T-testcalculator met twee steekproeven
Gepaarde voorbeelden t-Test Calculator