よしだの備忘録

シミュレーションやデータサイエンスに関する備忘録

q-qプロット

実務でデータ解析をしていると、二つのデータ間の分布の差を実データから直接比較したいといったことがあります。
つまり、平均や分散のような統計量だけ見ても違いがわかりづらく、統計検定をやってもうまく差が見えないような時でも何かしら分布間の違いの差を見て、解析のヒントにしたいといったような状況です。そんな泥臭い解析を想定してます。

そこで使用できるが、qq plotです。実際に使うコードはこちらです。
Pythonのstatsmodels.graphics.gofplots.qqplot_2samplesを使用します。
www.statsmodels.org

import statsmodels.api as sm
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.graphics.gofplots import qqplot_2samples
x = np.random.normal(loc=8.5, scale=2.5, size=37)
y = np.random.normal(loc=8.0, scale=3.0, size=37)
pp_x = sm.ProbPlot(x)
pp_y = sm.ProbPlot(y)
qqplot_2samples(pp_x, pp_y)
plt.show()

正規分布などを理論分布と仮定したqq plot

特に、正規分布を理論分布と仮定している場合は正規Q-Qプロットと呼ばれます。*1
以下のサイトを参考にしてください。
docs.scipy.org