Welchův t-test je test založený na Studentově rozdělení a určený k testování statistické hypotézy o rovnosti matematických očekávání náhodných veličin, které nemusí mít nutně stejné známé rozptyly. Jedná se o modifikaci Studentova t-testu . Pojmenováno po britském statistikovi Bernardu Lewisovi Welchovi.
Pro aplikaci dvouvýběrového Studentova t-testu je nutné, aby dva nezávislé výběry měly normální rozdělení středních hodnot a skutečné rozptyly byly stejné. V případě Welchova t-testu už nemusí být skutečné rozptyly stejné, ale předpoklad, že data jsou normálně rozdělena, zůstává.
Nechť jsou dány dva nezávislé vzorky normálně rozdělených náhodných veličin:
Testujeme následující nulovou hypotézu o rovnosti matematických očekávání:
Nechť je pravdivá nulová hypotéza. Potom a . Nechť a být nezkreslené odhady rozptylů , resp. Spočítejme si následující statistiky:
Udělejme následující transformaci:
Rozdělení první statistiky je standardní normální rozdělení:
Zvažte druhou statistiku a zavolejte ji pro další výpočty :
Statistika připomíná chí-kvadrát náhodnou proměnnou dělenou stupni volnosti, ale není. Nechť je náhodná veličina s rozdělením chí-kvadrát se stupni volnosti. Pak , stejně jako . Nyní si všimněte, že (protože používáme nestranné odhady rozptylů) a .
Protože chceme, aby to bylo co nejpodobnější , pak srovnáme rozptyly těchto náhodných proměnných:
Vypočítejte rozptyl náhodné veličiny :
Odtud:
Nakonec máme, za platnosti nulové hypotézy:
,
kde se nachází jako:
S dostatečně velkými velikostmi vzorků můžeme použít normální aproximaci:
Nechť jsou dány dva nezávislé vzorky normálně rozdělených náhodných veličin:
V rámci nulové hypotézy vypočítáme následující statistiky:
Nechť je alternativní hypotéza .
Pokud je nulová hypotéza pravdivá, rozdělení bude přibližně Studentovo rozdělení se stupni volnosti:
,
kde se nachází jako:
Pokud tedy hodnota sledované statistiky v absolutní hodnotě překročí kritickou hodnotu tohoto rozdělení (na dané hladině významnosti), je nulová hypotéza zamítnuta.
V následujících příkladech porovnáme Studentův t-test a Welchův t-test. Ukázky generuje modul numpy.random pro programovací jazyk Python .
U všech tří příkladů budou matematická očekávání stejná , resp.
V prvním příkladu jsou skutečné odchylky ( ) a velikosti vzorků jsou ( ). Označte pomocí a jako odpovídající náhodné vzorky:
Ve druhém příkladu jsou skutečné rozptyly nestejné ( , ) a velikosti vzorků jsou nestejné ( , ). Menší vzorek má větší rozptyl:
Ve třetím příkladu jsou skutečné rozptyly nestejné ( , ) a velikosti vzorků jsou nestejné ( , ). Větší vzorek má větší rozptyl:
Vzorek | Vzorek | Studentův t-test | Welchův t-test | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Příklad | -hodnota | -hodnota | -hodnota | -hodnota | ||||||||||
jeden | patnáct | 20.29 | 4.61 | patnáct | 22,67 | 4.35 | -3.07 | 28 | 0,005 | 0,005 | −3.07 | 28,0 | 0,005 | 0,004 |
2 | deset | 21.10 | 21.01 | dvacet | 22.22 | 1.04 | −1.06 | 28 | 0,299 | 0,465 | -0,76 | 9,57 | 0,464 | 0,459 |
3 | deset | 20.27 | 1.31 | dvacet | 22,89 | 16,69 | −1,97 | 28 | 0,059 | 0,015 | −2,66 | 23.28 | 0,014 | 0,018 |
Pro stejné rozptyly a stejnou velikost vzorku poskytl Studentův t-test a Welchův t-test přibližně stejný výsledek (příklad 1). Pro nestejné rozptyly Welchův t-test odhaduje skutečné rozdělení statistiky přesněji než Studentův t-test ( -hodnota pro Welchův t-test je blíže k simulované -hodnotě než pro Studentův t-test).
Pokud není známo, zda jsou rozptyly dvou populací stejné, důrazně se nedoporučuje provádět předběžné testy k určení rovnosti rozptylů, ale je lepší okamžitě použít Welchův t-test. [jeden]
Programovací jazyk / software | Funkce | Poznámka |
---|---|---|
libreoffice | TTEST(Data1; Data2; Mode; Type) | Přečtěte si více [2] |
MATLAB | ttest2(data1, data2, 'Vartype', 'unequal') | Přečtěte si více [3] |
Microsoft Excel před rokem 2010 | TTEST(array1, array2, tails, type) | Přečtěte si více [4] |
Microsoft Excel 2010 a novější | T.TEST(array1, array2, tails, type)neboТТЕСТ(массив1;массив2;хвосты;тип) | Přečtěte si více [5] [6] |
Krajta | scipy.stats.ttest_ind(a, b, equal_var=False) | Přečtěte si více [7] |
R | t.test(data1, data2, alternative="two.sided", var.equal=FALSE) | Přečtěte si více [8] |
Haskell | Statistics.Test.StudentT.welchTTest SamplesDiffer data1 data2 | Přečtěte si více [9] |
Julie | UnequalVarianceTTest(data1, data2) | Přečtěte si více [10] |
Stát | ttest varname1 == varname2, welch | Přečtěte si více [11] |
Tabulky Google | TTEST(range1, range2, tails, type) | Přečtěte si více [12] |