母集団が正規分布に従っているかを判断する手段は?

正規分布とは

正規分布とはデータを処理する上で非常に都合がいい分布です。

なので、できれば、標本のデータが正規分布に従っていると仮定できれば、統計処理する上で非常に都合がいい訳です。

自然界は正規分布に溢れていて、例えば国民の身長や雨粒の大きさなどが有名でいい例です。

 

図書館に行くと、統計学に関して様々な議論をしている教科書が山ほどありますが、現場で実際に統計を行う場面になると、

「どのように統計処理すればいいんだ?」

ってなると思います。

その理由の一つとして、このデータは正規分布に従うのか自分で判断する必要があるが、判断方法について教わってないからではないでしょうか。

 

正規分布を前提としてベラベラ語っている参考書は散見されるけど、正規分布として扱っていいのかについて判断する方法について考えている本ってあんまないですよね。

 

考えましょう。

 

分位点を用いた方法

Q-Qplot

qqplotのqはquantileのqで、分位点を示してます。

 

今回は、1871年から1970年間のナイル川の年間流量のデータを例で使います。

 

時系列でplotすると

 

これをヒストグラムにすると

累積密度関数にすると

となった。

 

この累積密度関数を拡大すると

こうなる。

 

標準正規分布でこれに対応する値を出してプロットしたものがqqplot.

つまり、

ナイル川のデータをx軸にすると、

(456,α1),(649,α2),......,(1370,α100)をplotしたものがqqplot.

じゃあそのα1〜α100はどう求めるかというと、

標準正規分布の累積密度関数で、それに相当する分位点の値。

例えば分位点の設定を

i/n にすると、

(456,z0.99),(649,z0.98).....(1370,z0)

となるが、z0は無限に発散するので、この分位点は利用できない。

(i-1)/n も同様に、z100が-無限に発散するので利用できない。

 

なので、

ナイル川のi番目に相当する分位点αiは, (i-1)/n <α<i/n の範囲で任意に設定すればいい。

 

よく使われるのがtype5のやつ。 この場合は上記範囲の真ん中を取っている。



どうやってqqplotを再現するかというと、

正規分布の累積密度関数で分位点が0.005, 0.015, ....0.995 に対応する統計量Zをx

ナイル川のデータを昇順に並べたものをy

に収納して

これをプロットしたものがqqplotです。

_

いちいちこんな面倒なことせずに、qqnorm関数を使えば勝手にやってくれます。

 

分位点でいうtype5でplotしてやると

type8の分位点を採用すると

ってなります。

 

これが直線になっていれば正規分布と近似できるのではないか、と考える。

 

なんかモヤモヤするんですよね。

まず、x軸とy軸でデータ値の次元が違ったり(1メモリの値がお互い異なる)、範囲が違う(原点が0,01じゃない)のがモヤモヤ

ただ判断基準は1次関数になっているかどうかであり、傾きとか切片はどうでも良いから大丈夫って感じかな

 

 

あと、標本の経験分布関数に対する正規分布はどうせなら標準正規分布でなくて、

標本の平均と分散を同じにした正規分布の方がいいんじゃないかと思うんですよね。

plotすると

素人的にはこっちの方が見やすいと思うんですけど、、

 

拡大すると

 

 

 

この方法のデメリットは、主観的な判断になってしまうこと。

このナイル川のやつだと、(456,   )が外れ値で邪魔しているが、どう考えるかは検定者に委ねられる。

 

 

Shapiro-Francia検定

そこで出てくるのがこの検定方法。じゃじゃじゃじゃーん。

正規分布下でそれに相当する分位点での統計量の期待値(上でいうx)と

Nile側のデータ(上でいうy)

の決定係数(相関係数の2乗)を検定統計量W'とし,

そのW'の分布を用いて検定する。

 

RだとShapiroFranciaTestとかsf.testで検定できるらしいのですが

なぜか僕のRstudioだとできず、、

そもそもこの検定法の情報が少なくて、W'がどんな分布を呈するのかよくわからず、、

 

とりあえず決定係数は0.97 でした。

 

一言で言えば、qqplotしたものが本当に線型化しているのかを確認するために

単回帰分析して、決定係数で評価してるってことですね。

 

 

 

 

ちなみに、

対する正規分布を標準正規分布ではなくて、

平均と分散を標本分布に調整した正規分布で見てみると

決定係数は同じになりますね。

 

f:id:nashuto:20240125194108j:image

f:id:nashuto:20240125194112j:image

原理としてはこんなとこ。

LaTexが苦手でして、許して。

 

Shapiro-Wilk検定

shapirofranciaを進化させて検定。

xとyの値のばらつきが違うので、分散共分散行列で重みをつけた統計量を用います。

(むしろ、shapirofranciaはshapiro wilkの簡易版ってイメージらしい)

 

正規分布じゃないらしいです。

 

 

適合度を用いた方法

kolmogorov検定、Kuiper検定

母集団から導かれる実際の累積密度関数と、順位統計量から導かれる理想的な経験分布関数の差の大きさを用いて統計する方法です。

 

青い線は実際のデータの累積密度関数のグラフ。

赤い線は帰無仮説で仮定している分布の累積密度関数を示したグラフ。

 

今回は正規分布かを検討したい訳なので、

今回の場合だと、

平均値と分散がナイル川のデータと同じ正規分布

になります。

 

 

 

確率変数X1,X2....X100の点で、赤の関数F(x)と青の関数Fn(x)の値の差をみる。

青の関数Fn(x)の方が上にある時の差の大きさ その内の最大値がDn +

赤の関数F(x)の方が上にある時の差の大きさ その内の最大値がDn -

今回の例だと青の関数が上にいっているのが殆どのようだが、、

 

Dn +とDn-の最大値 max(Dn+,Dn-) がKolmogorov統計量

Dn+とDn- の和 (Dn+) + (Dn-) がKuiper統計量

になる。

 

このKolmogorov統計量を用いた正規性の検定として

Kolmogorov–Smirnov test があり、

ナイル川のデータを実際にやってみると、

 

標準正規分布は否定されました。

ただ、平均値と分散が同じ正規分布で検定すると、否定できないという結果になりました。

 

分布の特性を用いた方法

正規分布の歪度と尖度はそれぞれ0,3なので、

知りたい標本分布の歪度と尖度を求め、それぞれが0,3から離れているかを検定する。

 

この分野の数学的解釈がまあ難しく、、、

数学的側面は断念して、もう道具として使います、、