Spotfireで正規性確率プロット(Q-Qプロット)を作成
正規確率プロットは、データの分布が正規分布を示しているかどうかを視覚的に判断するための散布図です。
正規性に関してはヒストグラムやガウス分布などの方が直観的に理解しやすいかもしれませんね。
何はともあれ分布が正規かどうかを知ることは、いくつかの状況で重要です。
正規分布に従うデータの利点は、平均値と標準偏差が信頼できるということです。
多くの統計ツール (たとえば ANOVA) ではデータが正規分布していることを前提としているので、正規分布からの偏差が非常に大きい場合には、正確な結果が得られない事が多いです。
そのような場合は、事前にどれだけ正規性が取れているのか確認するのは重要です。
データのイメージ
測定値とカテゴリとIDのシンプルなデータです。
描画は2万行くらいです使用しています。
正規性確率プロットの作成
丁寧な方法
実際のValueからrankとpを計算カラムで追加し、それを元にNorminvで期待値を計算
それを元にY軸ValueでX軸期待値の散布図を作成する事ができます。
#rankの計算式 Rank([Value],"desc") #pの計算式 ([rank] - 0.5) / Count([Value]) #期待値の計算式 NormInv([p],Avg([Value]),StdDev([Value]))
カスタム演算式で作成
Spotfireに慣れてくると計算カラムよりカスタム演算式の方が便利ですよね。
Y軸はValue、X軸をカスタム演算式で下記の式を入力して作成しました。
先ほどは3つのカラムを作成しましたが、これだと1つのカスタム演算式でOKです。
NormInv((rank([Value],"desc") - 0.5) / count([Value]), Avg([Value]),StdDev([Value]))
ヒストグラムとの比較
ヒストグラムでの表現です。ガウス曲線を追加しています。
カテゴリ別の比較
今回はデータの中にCategoryが含まれているので、個別に描画しましょう。
カスタム演算式を
NormInv((rank([Value],"Desc",[Category]) - 0.5) / count([Value]) OVER ([Category]), Avg([Value]) over ([Category]), StdDev([Value]) over ([Category]))
に修正しました。
over式でカテゴリ別に集計しています。