[PYTHON] Verwenden Sie den Welch-T-Test (sollte) mit oder ohne gleiche Dispersion

Übersicht über Welchs Test

Gestern erläuterte das Verfahren für den Test mit gleicher Dispersion → Test mit gleichem Durchschnitt für Tests, bei denen die Varianzen nicht gleich sind.

Dies kann wie folgt organisiert werden.

Nullhypothese

σ_a^2 = σ_b^2

Statistik und Verteilung

T = U_a^2 / U_b^2 \ge 1 \\
F(Na - 1, Nb -1)

Beachten Sie, dass der Ablehnungsbereich davon abhängt, wie die Varianzen in der alternativen Hypothese verglichen werden (gleich oder größer / einseitig oder zweiseitig).

Übrigens werde ich heute so reden, als würde ich plötzlich den Inhalt von [Gestern] ablehnen (http://qiita.com/ynakayama/items/a8d9da8215670b8d7317).

Wenn in klassischen Statistiklehrbüchern die Populationsvarianzen σ_a ^ 2, σ_b ^ 2 unbekannt sind und σ_a ^ 2 und σ_b ^ 2 in zwei normalen Populationen als ungleich bestimmt werden, dann [Welch's t-Test (Welch's) t test)](http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%AB%E3%83%81%E3%81%AEt%E6% A4% 9C% E5% AE% 9A) wird verwendet.

Der t-Test ist ein Test, bei dem davon ausgegangen wird, dass die Varianzen gleich sind. Der Hauptunterschied besteht jedoch darin, dass der Welch-Test nicht unbedingt davon ausgeht, dass die Varianzen gleich sind.

In den letzten Jahren haben sich Methoden, die keine gleichmäßige Streuung voraussetzen, zum Mainstream entwickelt, und eher es gibt eine Atmosphäre, in der der Welch t-Test der Standard-t-Test sein kann. 2013/12 / welchtanovastatwing.html).

Wenn Sie die folgenden Artikel und jeden Link lesen, können Sie die Probleme im Ablauf des Äquivalenztests (F-Test) → t-Tests erfassen, der in Statistiklehrbüchern häufig vorkommt.

Probleme vom Test der gleichen Varianz bis zum Test t, der Varianzanalyse (ANOVA) und dem Welch-Test http://note.chiebukuro.yahoo.co.jp/detail/n13859

Zum Problem der Multiplizität, das beim Vergleich der Mittelwerte zwischen zwei unabhängigen Gruppen auftritt http://www2.vmas.kitasato-u.ac.jp/lecture0/statistics/stat_info03.pdf

Einige Artikel kritisieren den zweistufigen Test und empfehlen die Vereinigung mit Tests, die nicht die gleiche Streuung voraussetzen. http://beheco.oxfordjournals.org/content/17/4/688.full

Für ein tieferes Verständnis lesen Sie bitte auch Welch's Test Literature.

Implementierung in SciPy

Wie sieht unser SciPy aus?

Wenn Sie die Referenz von scipy.stats.ttest_ind lesen, ist es offensichtlich, dass der Parameter equal_var False ist. Durch die Angabe wird nicht mehr die gleiche Dispersion angenommen, dh der Welch t-Test.

Der Freiheitsgrad m dieser t-Verteilung ist wie folgt.

m = \frac {(\frac {S_a^2} {n_a - 1} + \frac {S_b^2} {n_b - 1})^2} { \frac {({S_a^2})^2} {{({n_a - 1})}^3} + \frac {({S_b^2})^2} {{({n_b - 1})}^3} }

Der Rest ist der gleiche wie die SciPy-Referenz, aber wenn n1! = N2, sind der t-Test und der Welch-Test wie folgt.

from scipy import stats
import numpy as np
np.random.seed(12345678)

rvs1 = stats.norm.rvs(loc=5,scale=10,size=500)
rvs2 = stats.norm.rvs(loc=5, scale=20, size=100)

#Studententest
stats.ttest_ind(rvs1, rvs2)
# => (0.24107173714677796, 0.8095821484893867)

#Welch's t Test
stats.ttest_ind(rvs1, rvs2, equal_var = False)
# => (0.15778525230427601, 0.87491760438549948)

Wie in dem zuvor verlinkten Blog-Beitrag erwähnt, ist der T-Test von Welch auch bei T-Tests der Statistiksoftware Statwing die Standardeinstellung. ).

Aus diesem Grund empfehlen wir Ihnen, den Welch-T-Test zu verwenden, unabhängig davon, ob er gleichmäßig verteilt ist oder nicht.

Recommended Posts

Verwenden Sie den Welch-T-Test (sollte) mit oder ohne gleiche Dispersion
[Kleine Geschichte] Mit Python ohne Multithreading synchronisieren (eingeschränkte Verwendung)
Ich habe kurz zusammengefasst, was Sie beim Lernen mit / ohne Lehrer beachten sollten