Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
33
Help us understand the problem. What is going on with this article?
@ynakayama

等分散か否かに関わらずウェルチの t 検定を使う (べきである)

More than 5 years have passed since last update.

ウェルチの検定についての概要

昨日は分散が等しくないときの検定について等分散検定→等平均検定をする手順を説明しました。

これを整理すると次のようになります。

帰無仮説

σ_a^2 = σ_b^2

統計量と分布

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

なお棄却域は対立仮説において分散をどう比較するか (等しいかあるいは上回るか / 片側検定または両側検定) で変わります。

さて、今日はいきなり昨日の内容を否定するかのような話をします。

古典的な統計の教科書では 2 つの正規母集団で、母分散 σ_a^2, σ_b^2 が不明であり σ_a^2 と σ_b^2 が等しくないと判定されたとき、ウェルチの t 検定 (Welch's t test) を用います。

t 検定は分散が等しいことを前提にした検定ですが、ウェルチの検定は必ずしも分散を等しいことを前提にしないという点が大きな違いです。

昨今ではこのように等分散を前提としない方法が主流になりつつあり、むしろウェルチの t 検定がデフォルトの t 検定で良いのではという雰囲気もあるほどなのです。

次の記事及び各リンク先を読むと統計の教科書によくある等分散の検定 (F 検定) → t 検定の流れにおける問題点がつかめるかと思います。

等分散検定から t検定・分散分析(ANOVA)・ウェルチ(Welch)検定への問題点
http://note.chiebukuro.yahoo.co.jp/detail/n13859

独立 2 群間の平均値の比較の際に生じる多重性の問題について
http://www2.vmas.kitasato-u.ac.jp/lecture0/statistics/stat_info03.pdf

2 段階検定を批判し等分散を前提としない検定で統一することを推奨する論文もあります。
http://beheco.oxfordjournals.org/content/17/4/688.full

深く理解するにはウェルチの検定の文献もあわせて参照しましょう。

SciPy における実装

それでは我らが SciPy ではどのようになっているのでしょう。

scipy.stats.ttest_ind のリファレンスを読めば一目瞭然ですが equal_var パラメータに False を指定することにより等分散を前提としなくなり即ちウェルチの t 検定となります。

この t 分布の自由度 m は次のようになります。

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} }

あとは SciPy のリファレンスからそのままのやり方ですが n1 != n2 のとき t 検定とウェルチの検定でそれぞれ次のようになります。

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)

# スチューデントの t 検定
stats.ttest_ind(rvs1, rvs2)
# => (0.24107173714677796, 0.8095821484893867)

# ウェルチの t 検定
stats.ttest_ind(rvs1, rvs2, equal_var = False)
# => (0.15778525230427601, 0.87491760438549948)

また先ほどのリンク先のブログ記事にもある通り、統計ソフト Statwing の T-Tests でもウェルチの t 検定がデフォルトであるとありますね。

以上のことから、筆者としても等分散か否かに関わらず、ウェルチの t 検定を利用することを推奨します。

33
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ynakayama
Software Engineer
dts
コンサルティングから設計、開発、HW/SWの選定、運用、保守までシステムをサポートする総合情報サービス企業です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
33
Help us understand the problem. What is going on with this article?