スプレッドシートで Q-Q プロットを書く方法

最終更新日

Q-Q プロットを Google Sheets で手作りする方法

(1) まず列 A にデータを記入する。

列 A にデータを記入

(2) 列 B にデータを降順に整列する (必須ではないけれど、やっておくと見通しが良い)

列 B にデータを整列

(3) 列 C にデータの順位を記入する

列 C にデータの順位を記入

(4) 列 G、H に母数 (= パラメータ) 等を書く欄を作り、H2 に標本サイズ (= データの個数) を記入する。

セル H2 に標本サイズを記入

(5) 列 D に “分位” を記入する。いくつかある計算方法のうち、ここでは [順位 - 0.5] ÷ [標本サイズ] で算出した。

列 D に “分位” を記入

ここで算出した値は、母分位の推定量となってる。詳しくは記事の後半で説明する。

(6) 比較する分布の母数を列 H に記入する。例えば正規分布と比較する場合は、平均値 \(\mu\) と標準偏差 \(\sigma\) を記入する。

データが従うと期待する分布の母数を記入する

(7) 比較する分布において、分位に対応する分位数の理論値を計算する。具体的には、分布の累積分布関数の逆関数に列 D の分位数を入力する。比較する分布が正規分布なら、NORMINV() 関数を呼ぶだけなので簡単。

比べる分布の累積分布関数の逆関数を使って、列 D の分位に当たる分位数の理論値を計算する

(8) 列 E を x 軸に、列 B を y 軸にして散布図を書く。

Q-Q プロットが書けました

(9) 回帰直線の傾き = 1 となる母数を探索し、そのときの決定係数を調べる。

回帰直線の傾きが 1 になるよう、比較する分布の母数を調整した

(補足 1) 算出する “分位” の正体は、母分位の推定量

[順位 - 0.5] ÷ [標本サイズ] で計算された値の正体は、母集団における分位 (母分位) の推定量。これは、標本の最大値/最小値よりも大きい/小さい値が、母集団の中に存在しうることを表している。ちなみに、標本分位は [順位 - 1] ÷ [標本サイズ - 1] で求められる。

標本順位標本分位
[順位 - 1] ÷ [標本サイズ - 1]
母分位の推定量
[順位 - 0.5] ÷ [標本サイズ]
母集団は、標本の最大値より
大きい値を含みうる
5054/4 (= 標本の最大)4.5/5
4043/43.5/5
3032/42.5/5
2021/41.5/5
1010/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]
Q-Q プロット – IBM Documentation を改変

[順位 - 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
データと各分布の当て嵌めの良さは、決定係数では測れなさそう

今回裾の重い分布を扱って初めてコーシー分布やラプラス分布を知った。ざっくりとした僕の理解をまとめておこう。

  • ラプラス分布は、指数分布を両側に拡張したもの
    • 通常の指数分布の定義域は \(0 \le x\) で定義されるもの
    • 正規分布より裾が重いが、コーシー分布のほうが裾が重い
  • コーシー分布は、 スケーリング指数 \(k = 2\) としたべき分布と同じ \(\sim x^{-2}\) に漸近する
    • べき分布も \(0 \le x\) で定義される左右非対称の分布
    • コーシー分布、t 分布、正規分布の順に裾が重い
    • t 分布の自由度 = 1 がコーシー分布で、自由度 \(\rightarrow \infty\) が正規分布

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする