スプレッドシートで Q-Q プロットを書く方法
Q-Q プロットを Google Sheets で手作りする方法
(1) まず列 A にデータを記入する。
(2) 列 B にデータを降順に整列する (必須ではないけれど、やっておくと見通しが良い)
(3) 列 C にデータの順位を記入する
(4) 列 G、H に母数 (= パラメータ) 等を書く欄を作り、H2 に標本サイズ (= データの個数) を記入する。
(5) 列 D に “分位” を記入する。いくつかある計算方法のうち、ここでは [順位 - 0.5] ÷ [標本サイズ] で算出した。
ここで算出した値は、母分位の推定量となってる。詳しくは記事の後半で説明する。
(6) 比較する分布の母数を列 H に記入する。例えば正規分布と比較する場合は、平均値 \(\mu\) と標準偏差 \(\sigma\) を記入する。
(7) 比較する分布において、分位に対応する分位数の理論値を計算する。具体的には、分布の累積分布関数の逆関数に列 D の分位数を入力する。比較する分布が正規分布なら、NORMINV() 関数を呼ぶだけなので簡単。
(8) 列 E を x 軸に、列 B を y 軸にして散布図を書く。
(9) 回帰直線の傾き = 1 となる母数を探索し、そのときの決定係数を調べる。
(補足 1) 算出する “分位” の正体は、母分位の推定量
[順位 - 0.5] ÷ [標本サイズ] で計算された値の正体は、母集団における分位 (母分位) の推定量。これは、標本の最大値/最小値よりも大きい/小さい値が、母集団の中に存在しうることを表している。ちなみに、標本分位は [順位 - 1] ÷ [標本サイズ - 1] で求められる。
| 標本 | 順位 | 標本分位[順位 - 1] ÷ [標本サイズ - 1] | 母分位の推定量[順位 - 0.5] ÷ [標本サイズ] |
|---|---|---|---|
| – | – | 母集団は、標本の最大値より 大きい値を含みうる | |
| 50 | 5 | 4/4 (= 標本の最大) | 4.5/5 |
| 40 | 4 | 3/4 | 3.5/5 |
| 30 | 3 | 2/4 | 2.5/5 |
| 20 | 2 | 1/4 | 1.5/5 |
| 10 | 1 | 0/4 (= 標本の最小) | 0.5/5 |
| – | – | 母集団は、標本の最小値より 小さい値を含みうる |
母分位の推定量が「確率」と呼ばれることもある。たとえば上のデータで、20 の確率 (= 母分位の推定量) は 1.5/5 = 30% であり、これは母集団から 1 つ値を取ったとき、その値が 20 以下となる確率を表していると考えられるため。
(補足 2) 母分位を推定する手法
順位から母分位を推定する方法は複数あるけれども、どの方法が一番良いかは特に考えなくて良いらしい。参考までに、IBM のソフトウェアが実装する 4 種類の方法を載せよう。僕がこの記事で使ったのは、この 2 番目の方法。
| 方法 | 計算 |
|---|---|
| Blom | [順位 - 3/8] ÷ [標本サイズ + 1/4] |
| Rankit | [順位 - 1/2] ÷ [標本サイズ] |
| Tukey | [順位 - 1/3] ÷ [標本サイズ + 1/3] |
| Van der Waerden | [順位] ÷ [標本サイズ + 1] |
[順位 - 0.5] ÷ [標本サイズ] は、母分布が正規分布のときは割と良い推定を与えるらしい。それを確かめた数値実験のデータを下に貼ろう (図中の Methematica が対応)。とはいえ通常は真の母分布は未知なので、どの推定法が良いかを考えずに好きな方法を使えばよさそうだ。
ところで、この記事では「分位」と「分位数」を別の言葉として扱ったけど、言葉遣いの正しさに自信がない。例えば下のような言い方をしている。特に後者の言い回しを他で見たことがないけど、誤解なく伝わるだろうか?
- 標本 [10, 20, 30, 40, 50] において 0.5 分位数は 30
- 標本 [10, 20, 30, 40, 50] において 30 の分位は 0.5
(蛇足) 僕の動機は、不明な分布の正体を解き明すこと
さて、上述の説明で用いたデータはきっと正規分布に従ってない。作った Q-Q プロットは、視覚的にも直線 \(y = x\) 上に点が並んでないし、数値的にも決定係数が \(R^{2} = 0.231\) と小さい。観測値の値域は正側にも負側にも極めて広く、正規分布よりもずっと裾の重い分布に従ってそうだ。
では、どんな分布に従っているだろう?詳細は省くけれども、このデータは 0 付近に最頻値を持ち、正規分布より裾が重く、\(-\infty\) から \(+\infty\) までで定義された左右対称の分布に従うことが、その性質から予想できる。そのような分布として有名なラプラス分布、コーシー分布との比較で Q-Q プロットを書いてみた。
Q-Q プロットを書いたあと、当て嵌めの良さを回帰直線の決定係数で判定してはだめそうだ。3 つの中で最大の決定係数を持つコーシー分布が、データをよく説明する分布とはあまり言えなさそうだもんね。「Q-Q プロットの回帰直線の決定係数を見よ」とする文献が見当たらなかったのも納得だ。
| 比較する分布 | 回帰直線の傾きを 1 にする母数 | 決定係数 \(R^{2}\) |
|---|---|---|
| 正規分布 | \(\mu = 0, \sigma = 8.34\) | 0.231 |
| ラプラス分布 | \(\mu = 0, b = 17.16\) | 0.365 |
| コーシー分布 | \(x_{0} = 0, \gamma = 0.546\) | 0.754 |
今回裾の重い分布を扱って初めてコーシー分布やラプラス分布を知った。ざっくりとした僕の理解をまとめておこう。