統計学は昔かなり勉強したつもりでいたのですが、結構忘れているところがありました。
わざわざ公開するような内容でもないですけど、復習がてらまとめておきたいと思います。
記述統計学の基礎
記述統計学の基本統計量
- 相加平均
- いわゆる平均。観測データの合計値を観測数で割ったもの。算術平均ともいう。和ではなく積を用いた相乗平均もある。
- 最頻値(モード)
- 対象データの中で最も多く観測された値
- 中央値(メジアン)
- データを大きな順に並べたときの中央に位置する値。観測データが正規分布ではなく、ベキ分布に従っている場合など、データの種類によっては平均値よりも代表値として相応しい場合もある。
- 分散
- データのばらつきを表す値。各観測データから平均値を引いて二乗したものの総和を観測数で割る。観測数-1で割った場合は不偏分散と呼ぶ。
- 標準偏差
- データの散らばり具合を示す値。分散の正の平方根
- データが正規分布に従っていて、観測数が十分に大きい場合、標準偏差を「σ」とすると、「平均値±σ」の範囲に全体の68.3%が収まる。「平均値±σ*1.96」の範囲で95%が収まり、「平均値±σ*2.58」に99%が収まる
以下のようなデータの場合を考えます(便宜的にRの文法で書きます)。
dataB <- c(6,3,5,7,2,3,6,6,8,2)
この場合は各基本統計量は以下のようになります。
data A | data B | |
---|---|---|
相加平均 | 5.556 | 4.8 |
最頻値 | 3, 6, 8 | 6 |
中央値 | 6 | 5.5 |
分散 | 3.777778 | 4.622222 |
標準偏差 | 1.943651 | 2.149935 |
統計的検定
上で挙げたdataAとdataBが10点満点で何かに対する評価をしていたとすると、dataAとdataBのどちらの評価が高いと言えるのでしょうか?
(ベキ分布ではなく)正規分布に沿っていると仮定すると、代表値としては平均値が適してそうです。
dataAの平均は「5.556」なのに対し、dataBの平均は「4.8」です。これだけみると、dataAの方が評価が高いと言えそうです。
ほんとにそうでしょうか?dataBの方が標準偏差が大きくバラツキが大きそうです。であれば、高い評価の人と低い評価の人に割れていると考えられます。
2集団の間に違いがあるかどうかを調べるには、T検定を用いて検定を行います。T検定は平均値の差の検定です。
T検定には以下の3種類があります。
- 等分散を仮定するT検定
- 等分散を仮定しないT検定
- 対応のある場合のT検定
同一の評価者によるデータであれば「対応のある場合のT検定」を用いますが、今回はデータ数も違うので対応はないと考えられます。
等分散を仮定できるかどうかは必要であれば、F検定を行って判別します。面倒なので今回は省いて、等分散を仮定しないことにします。
T検定の計算方法はちょっと面倒なので、Rに任せてしまいます。
Welch Two Sample t-test
data: dataA and dataB
t = 0.8045, df = 16.998, p-value = 0.4322
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.225864 2.736975
sample estimates:
mean of x mean of y
5.555556 4.800000
P値(p-value)が0.05以下であれば信頼度95%で、有意差があると言えます。今回はP値が0.4322なので、有意差はなさそうです。
T検定が有効なのは、あくまでも「1対1の比較のみ」です。3つのグループの間の平均値の差を検定したいという場合には使えません。そういう場合は多重比較を行います(ここでは省略します)。
推測統計学と区間推定
記述統計学は観測対象となるデータの性質を正確に記述することを目的としているのに対し、推測統計学では一部のデータ(サンプル)から母集団の性質を推測しようとするものです。
sample Aとsample Bに対して、アンケートを取ってYesかNoかを聞いてみました。結果は以下のようなクロス表になりました。
YES | NO | 合計 | |
---|---|---|---|
sample A | 60 | 90 | 150 |
sample B | 80 | 70 | 150 |
行パーセントを計算すると、このようになります。
YES | NO | 合計 | |
---|---|---|---|
sample A | 40.0% | 60.0% | 100% |
sample B | 53.3% | 46.7% | 100% |
まず、Sample Aで「YES」と答える確率について考えます。
150人中60人がYESと回答したので、YESと答える確率は40%となります。
この「40%」というデータはどこまで正確なのでしょうか?観測対象となった人数は150人だけですが、これはあくまでもサンプルとして抽出した人の人数であって、背後には多数の「母集団」がいます。では、母集団がYESと答える確率はどの程度でしょうか?これを推測するのが推計統計学の目的となります。
まず、Sample Aの分散と標準偏差を考えます。
確率の場合、分散と標準偏差は以下のような式で簡単に求められます。
確率をPとすると、
- 分散=P(1-P)
- 標準偏差=√(P(1-P))
なので、Sample Aの場合、
- 分散: 0.4*(1-0.4)=0.24
- 標準偏差: √0.24 = 0.4898979
記述統計の場合は「平均値±σ*1.96」で95%の範囲の値を出すことができましたが、母集団の推測の場合、標準偏差ではなく、標準誤差を用いることで母集団がとりうる値の範囲を推測することができます。
標準誤差をSE、標準偏差をSD、サンプル数をnとすると、標準誤差(SE)は
で算出することが可能です。この時、
が成立します。ちなみに、
が成り立ち、計算は非常に楽になります。
(近似計算を行わずに)計算すると、SampleAの標準誤差は4%となります。
記述統計の場合と同じように、母集団のとりうる値は、
95%の信頼度で、
確率±SE*1.96
となります。
よって、Sample Aの母集団は
下限:32.16%
上限:47.84%
が取りうる値の範囲となります。
同様に、Sample Bの母集団は
下限:45.35%
上限:61.32%
が取りうる値の範囲となります。
確率の検定
それでは、SampleAとSampleBは、どちらのほうがYesと回答する割合が高いと言えるのでしょうか。記述統計の場合と同様に検定を行うことで差の有無を検証します。
確率の検定は通常の場合、カイ二乗検定を行います(サンプル数が非常に少ない場合はフィッシャーの正確確率検定を利用します)。
Rで検定すると、このようになります。
YES NO
1 60 90
2 80 70
> chisq.test(data)
Pearson's Chi-squared test with Yates' continuity correction
data: data
X-squared = 4.8348, df = 1, p-value = 0.02789
P値(p-value)が0.02789で、0.05を下回っているので、SampleAとSampleBに違いがあると認めることができそうです。