本記事の位置付け
下記読書会のためのまとめです。
課題図書
この記事に出てくる図は、すべて上記ページから引用したものです。
今回の範囲
8 Visualizing distributions: Empirical cumulative distribution functions and q-q plots
ヒストグラムや密度プロット(7章にて扱った)は直感的で視覚的に訴えやすい一方で、作成する際にどんなパラメータを設定するかによって出来上がったグラフの印象がかなり変わってしまうという欠点があります。例えばヒストグラムにてひとつの帯の幅をどの程度にするか、密度プロットにてbandwidthをどうするか、など。
このことはこのふたつの種類の可視化の場合、データが直接示されているというよりも、なんらかのデータの解釈(an interpretation of the data)に近いとも言えます。
その対策として、直接ECDFとQQプロットを紹介します。とても良いところは設定しないといけないパラメータがないことです(作成のときに悩まなくてヨイ)。一度にすべてのデータを示せるという利点もあります。
ただすこしばかり直感的ではないかもしれません。
これらふたつは専門的な文献以外ではあまり見ませんが統計を専門にする人の間ではとても一般的なものです。
Empirical Cumulative Distribution Function
(ECDF、経験に基づく累積分布関数)
と
Quantile–quantile plots(QQプロット)
の話・・・
8.1 ECDF (Empirical cumulative distribution functions)
ECDFの活用例を、学生の成績(グレード)のつけかたを基に考えてみます。学生50人が0-100点で採点されるテストを受けたという状況で、グレードの境界線をどこに引くべきかといったことを検討するのに役立つ可視化の仕方を見ていきます。
この図では、順位を利用してプロットしています。縦軸が学生の順位(この場合は点数の低いほうがランク1)、横軸がテストの点になっています。45点あたりが最も低い点でランク1としてプロット、次に50点超えたあたりにランク2としてプロット、という形です。このようにして得る図を、ECDF、経験に基づく累積分布関数、または単に、累積分布(cumulative distribution)と言います。
やっていることは同じながらランクを昇順から降順に変更したものがこちら。
Rank1が最高点が、一般的な気がするものの
ECDF的には前者のほうが一般的とのこと。
(降順パターンは次の節に関連)
実際に使うときは以下の処置をすることが多いです。
・各点のドットを書かない
・Rankをその最大値で正規化
(今回でいえば50で割るので、Rank1が 0.02 になる)
正規化したあとのY軸は
累積度数 cumulative frequency と呼ばれるそうな
この図は、どこでグレードの境界線を引けばいいか考える際に便利です。
中央値をみたいのであれば 累積度数0.5 のところを見ればよく、0.8 が90点あたりにあることからおおよそ学生の20% は90点以上なようだといったことを読み取ることができます。
この図の情報をみながら、
80点以上をB(79点以下をC)にしようかといった検討をしたり
8.2 大きく歪んだ分布(Highly skewed distributions)
多くの経験則に基づくデータセット(empirical datasets)は大きく歪んだ分布(特に右側に尾のあるような形)となり、こういった分布の可視化はなかなか難しいものがあります。
右にとても長いテール(tail、尾)を持つ形だったり、値の幅が極端に大きかったりします。
べき乗分布(power-law distributions)という重要なクラスがあります。アメリカの純資産を例にすると、例えば100万ドルの資産を基準としたときに、50万ドルの資産をもつひとは4倍の人数、200万ドルの資産をもつひとは1/4の人数と推測されるような分布のしかた(指数2 べき乗則に従うという例)。この関係は1万ドルを基準としても、1億ドルを基準としても、同様の関係をもつことから、power-law distributions は scale-free distributions とも呼ばれます。
冪乗則(power-law) Wiki
https://ja.wikipedia.org/wiki/%E5%86%AA%E4%B9%97%E5%89%87
アメリカの異なる郡に住む人口を例に見ていきます。右向きのとても長いテールを持つ、このことは、ほとんどの郡は比較的少ない住人で、いくつかの郡が突出して高い値を持つという分布を持つということにつながります(この例では中央値約2.5万人に対し、ロサンゼルスは約980万人)。
うえがデンシティプロットを用いた可視化、したがECDFを用いた可視化、どちらにしろあまりわかりやすくはありません。
この例は、べき乗分布ではなく、ほぼ完全な対数正規分布(log-normal distribution)にとなっています。
対数正規分布(log-normal distribution) Wiki
https://ja.wikipedia.org/wiki/%E5%AF%BE%E6%95%B0%E6%AD%A3%E8%A6%8F%E5%88%86%E5%B8%83
ここで横軸にログスケールを適用します。すると先ほどは見づらかった、デンシティプロットとECDFがそれぞれ、良い感じの正規分布(a nice bell curve)、良い感じのS字カーブ(a nice sigmoid shape)となりました。
シグモイド(sigmoid) Wiki
https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B0%E3%83%A2%E3%82%A4%E3%83%89
もし、べき乗分布である者に対し。X軸Y軸両方をログスケール(log-log)とると、直線となります。この性質でべき乗分布に従うかを見ることができます。実際に上述の例の、降順のECDFについてX軸Y軸両方をログスケールにしたものをみると、直線にはちかい部分もあるものの完全には直線にはなっていません(べき乗分布ではないため)。
小説Mody Dick(白鯨)における文字の登場頻度のデータについて同様の可視化をしてみます(下図)。このデータは完全なべき乗分布に従っているもので、それを示すように、かなり完全な直線に近い状態になっています。
log-log ECDFにしたときに、直線かどうかで、べき乗分布に従うかみれるというのは便利そう
8.3 QQプロット(Quantile–quantile plots)
与えられた分布に従っているかいないか、またその程度を確認したいときにQQプロットは有用である。データの順位付けと順位と値の関係の可視化といったところは、ECDFと似ている。しかし、QQプロットでは順位を直接プロットすることはせず、与えられたデータがどこに位置するかを予測するために使います。実際には、正規分布に従っているかを見るために、QQプロットはよく使われます。
平均10、標準偏差3のデータで考えてみると、ここで、正規分布を想定すると50th percentile(0.5で順位が真ん中=中央値?)は「10」に位置すると予想されます。
このようにしてすべての点に対し予測をし、そして予測値と比較できる形で実測値をプロットしていきグラフを作ります。
a data point at the 84th percentile to lie at position 13 (one standard deviation above from the mean), and a data point at the 2.3rd percentile to lie at position 4 (two standard deviations below the mean).
84th percentile(0.84)は13に位置すると予想される(中央値から1標準偏差)
2.3rd percentile(0.023)は4に位置すると予想される(中央値から2標準偏差)
68–95–99.7則 wiki
https://ja.wikipedia.org/wiki/68%E2%80%9395%E2%80%9399.7%E5%89%87
灰色のラインは(回帰直線ではなく)実測値と予測された値(理論値)が同じだったときの位置を示しています。どの程度このラインに乗っているかをみることで、想定した分布に従っているかを検討することができます(この例では正規分布が想定する分布)。この例ではおおむね正規分布に従っています(下位と上位の端を除いて)。
続いて、上述の人口のデータについても見てみます(想定する分布は今度は、対数正規分布)。プロットしてみると、想定分布を表すラインに、合っているようです。このデータが想定する分布(対数正規分布)にまさになっていることをこの図は示しています。
(まとめ終わり)