0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

正規QQプロット(Normal Quantile-Quantile Plot)は、観測データが正規分布に従っているかを調査する方法です。
下記に正規QQプロットについて説明します。

正規QQプロットの数式

  1. 観測データの分位数(Sample Quantiles):
    観測データの分位数を小さい順に並べます。
    並べた観測値を下記にようにします。
    $$ Q_{\text{observed}} = { q_{(1)},q_{(2)}, \ldots, q_{(n)} } $$ ここで、$q_{(k)}$ は観測データの中で $k$ 番目に小さい値です。 $n$でデータ数です。
  2. 理論的な分布の分位数(Theoretical Quantiles):
    各データの分位点(累積確率)を算出します。
    $p_{(k)} = \frac{k}{n+1}$を用いて、それぞれの分位点を算出します。
    正規分布の確率密度関数の逆関数$F^{-1}(x)$を用いて期待値を算出します。 $$Q_{\text{theoretical}} = { F^{-1}(p_{(1)}), F^{-1}(p_{(2)}), \ldots, F^{-1}(p_{(n)}) }$$
  3. 正規QQプロットの作成:
    正規QQプロットは、 $Q_{\text{theoretical}}$を横軸に、 $Q_{\text{observed}}$を縦軸にとり、これらの対応関係を散布図としてプロットします。理想的には、両者が一致する場合、データは対象とした理論分布に従っていることになります。

解説

  • 観測データの分位数 $q_{(k)}$ は、実際に観測されたデータの中で小さい順に並べた値です。これにより、データの分布全体の形状を示します。

  • 理論的な分布の分位数 $F^{-1}(p_{(k)})$ は、比較したい理論的な確率分布 $F$ の逆関数を用いて計算されます。これにより、理論分布がどのように観測データに適合するかを示します。

  • 正規QQプロットの対角線 は、完全な一致を表す参照線であり、もし観測データが理論分布に完全に従っていれば、点はこの線上に分布します。

Pythonで表示する場合は、下記のように作成することでも可能です。
statsmodelsというライブラリを用いることで調べることができます。
今回の記事で利用しているバージョンは0.14.0です。

$ pip install statsmodel

また、今回は実際のデータではなく、乱数を用いて作成した正規分布に従う値を用いています。

import statsmodels.api as sm
from matplotlib import pyplot as plt

np.random.seed(0)
data = np.random.normal(loc=0, scale=1, size=1000)
fig = sm.qqplot(data, stats.t, fit=True, line="45")

実行した際に下記のようなグラフが出力されます。
赤色の直線にデータが当てはまれば正規分布に従っていると言えます。

output.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?