QQplotの解釈-非正規性を決定する経験則はありますか?


47

ここでQQplotのスレッドを十分に読んで、QQplotが他の正規性テストよりも有益であることを理解しています。しかし、私はQQplotsの解釈に不慣れです。私はたくさんグーグルでした。非正規のQQplotのグラフをたくさん見つけましたが、既知の分布と「直感」との比較と思われるものを除き、それらの解釈方法に関する明確なルールは見つかりませんでした。

非正規性の判断に役立つ経験則があるか(または知っているか)知りたい。

この質問は、次の2つのグラフを見たときに浮上しました。 グラフ2 グラフ1

非正規性の決定は、データとそれらの処理に依存することを理解しています。ただし、私の質問は、一般に、観測された直線からの逸脱が正規性の近似を不合理にするのに十分な証拠を構成するのはいつですか?

価値のあることですが、Shapiro-Wilk検定は、どちらの場合も非正規性の仮説を否定できませんでした。


3
QQライン周辺の信頼帯はかなりクールです。それらを取得するために使用したRコードを共有できますか?
user603 14

7
{qualityTools}からのqqPlot():)
greymatter0 14

回答:


43

Shapiro-Wilkは正常性の強力なテストであることに注意してください。

最善のアプローチは、使用したい手順がさまざまな種類の非正規性に対してどれだけ敏感であるかを実際によく理解することです(あなたよりも推論に影響を与えるには、どれほどひどく非正規である必要がありますか)受け入れることができます)。

プロットを見るための非公式のアプローチは、実際にあなたが持っているものと同じサンプルサイズの通常のデータセットを生成することです-(例えば、それらの24)。このようなプロットのグリッド内に実際のデータをプロットします(24個のランダムセットの場合は5x5)。見た目が特に異常なもの(最悪の見た目など)でなければ、正常性と合理的に一致します。

ここに画像の説明を入力してください

私の目には、中央のデータセット「Z」は「o」と「v」、さらには「h」とほぼ同程度に見えますが、「d」と「f」は少し悪く見えます。「Z」は実際のデータです。私はしばらくの間それが実際に正常であるとは信じていませんが、通常のデータと比較すると特に異常な見た目ではありません。

[編集:ランダムアンケートを実施しました。まあ、娘に尋ねました、かなりランダムな時間に -そして、直線のように彼女の選択は「d」でした。そのため、調査対象の100%が「d」が最も奇妙なものだと考えていました。

より正式なアプローチは、シャピロ-フランシアテスト(QQプロットの相関に効果的に基づく)を行うことですが、(a)シャピロウィルクテストほど強力ではなく、(b)フォーマルテストはとにかく答えを知っている必要があるという質問(時には)(あなたのデータが引き出された分布は正確に正規ではありません)、答える必要のある質問の代わりに(どれほどひどいことですか?)


要求に応じて、上記のディスプレイのコード。何も関係ありません:

z = lm(dist~speed,cars)$residual
n = length(z)
xz = cbind(matrix(rnorm(12*n),nr=n),z,matrix(rnorm(12*n),nr=n))
colnames(xz) = c(letters[1:12],"Z",letters[13:24])

opar = par()
par(mfrow=c(5,5));
par(mar=c(0.5,0.5,0.5,0.5))
par(oma=c(1,1,1,1));

ytpos = (apply(xz,2,min)+3*apply(xz,2,max))/4
cn = colnames(xz)

for(i in 1:25) {
  qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main="")
  qqline(xz[,i],col=2,lty=2)
  box("figure", col="darkgreen")
  text(-1.5,ytpos[i],cn[i])
}

par(opar)

これは単に説明を目的としたものであることに注意してください。私は車のデータの線形回帰からの残差を使用した理由のために、やや非正常に見える小さなデータセットが必要でした(モデルはあまり適切ではありません)。ただし、実際に回帰の残差のセットに対してこのような表示を生成している場合、モデルと同じ 25すべてのデータセットを回帰し、残差のQQプロットを表示します。通常の乱数には存在しない構造。x

(少なくとも80年代半ばからこのようなプロットのセットを作成しています。仮定が成り立つ場合とそうでない場合の動作に慣れていない場合、どのようにプロットを解釈できますか?)

続きを見る:

ブジャ、A。、クック、D。ホフマン、H。、ローレンス、M。リー、E.-K。、スウェイン、DFおよびウィッカム、H。(2009)探索的データ分析およびモデル診断のための統計的推論Phil。トランス R. Soc。A 2009 367、4361-4383 doi:10.1098 / rsta.2009.0120


8
+1。サンプルのQQプロットをランダムに生成されたものと比較するというアイデアが本当に好きです!
COOLSerdash 14

@Glen_bありがとう。グラフのグリッドをどのように作成しましたか?
greymatter0 14

3
私はあなたの要求に応答したことがないことを発見しました。スクリプト全体を入れる余地はありませんが、その概要を説明します。私はプロットオプションと遊んだ- opar=par(); par(mfrow=c(5,5)); par(mar=c(0.5,0.5,0.5,0.5)); par(oma=c(1,1,1,1))そして、上のループにi私がしたqqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main=""); qqline(xz[,i],col=2,lty=2); box("figure", col="darkgreen")最後に、その後par(opar)のオプションを設定するには、何でも、彼らが前にいたに戻って。詳細の一部は省略されていますが、そこから管理できるはずです。
Glen_b 14

@ greymatter0 ...そして今、私は最終的に答えたときにあなたにきちんとpingをしなかったことを発見しました。謝罪いたします。
Glen_b

Glen_bを心配しないでください、覚えてくれてありがとう!
greymatter0 14年

22

ここで優れた答えのいずれかと矛盾することなく、私は1つの経験則を持っています。(@Danteによる回答の合格コメントも適切と思われます。)

述べることはあまりにも明白に思えるかもしれませんが、ここにあります。

明らかにより適切な別の説明を提供できると思う場合は、分布を非正規と呼んでうれしいです。

したがって、通常の変位値-変位値プロットの尾部に小さな曲率や不規則性があるが、ガンマ変位値-変位値プロットで近似直線性がある場合、「それは正常として特徴付けられていない、それはガンマのようなものです」 「。

これは、一般的な科学的実践は言うまでもなく、科学の歴史と哲学の標準的な議論を反映していることは偶然ではありません。仮説は、あなたが代わりに置くべきより良いものがあるときに最も明確かつ効果的に反論されます。(キュー:カールポッパー、トーマスS.クーンなどの暗示)

初心者にとって、そして実際、すべての人にとって、「常に予想される小さな不規則性を除いては正常」と「通常とは非常に異なるが、しばしば得られる大まかな類似性」の間には滑らかなグラデーションがあることは事実です。 「。

Confidence(-like)エンベロープと複数のシミュレートされたサンプルは大いに役立ちます。両方を使用してお勧めしますが、これも役立ちます。(ちなみに、シミュレーションのポートフォリオと比較することは最近繰り返された再発明ですが、少なくとも1931年のシューハートまで遡ります。)

一番上の行をエコーし​​ます。ブランド名の分布がまったく合わない場合があり、できる限り前進する必要があります。


12

@Glen_bが言ったように、あなたはあなたのデータをあなたが正常であると確信しているデータと比較することができます。

以下は、OpenIntro Statistics教科書の例です

このQQプロットを見てみましょう。

qq1

普通ですか?それを正規分布データと比較しましょう:

qq2

これはデータよりも見栄えが良いため、データは正常ではないようです。それを数回シミュレートし、並べてプロットすることで確認しましょう

qq3

したがって、私たちの直感は、サンプルが正常に配布される可能性が低いことを示しています。

これを行うRコードは次のとおりです。

load(url("http://www.openintro.org/stat/data/bdims.RData"))
fdims = subset(bdims, bdims$sex == 0)

qqnorm(fdims$wgt, col=adjustcolor("orange", 0.4), pch=19)
qqline(fdims$wgt)

qqnormsim = function(dat, dim=c(2,2)) {
  par(mfrow=dim)
  qqnorm(dat, col=adjustcolor("orange", 0.4), 
         pch=19, cex=0.7, main="Normal QQ Plot (Data)")
  qqline(dat)
  for (i in 1:(prod(dim) - 1)) {
    simnorm = rnorm(n=length(dat), mean=mean(dat), sd=sd(dat))
    qqnorm(simnorm, col=adjustcolor("orange", 0.4), 
           pch=19, cex=0.7,
           main="Normal QQ Plot (Sim)")
    qqline(simnorm)
  }
  par(mfrow=c(1, 1))
}
qqnormsim(fdims$wgt)

9

正常性の多くのテストがあります。通常、帰無仮説、つまり「」に。しかし、対立仮説にはほとんど注意が払われていません:「何に対して」?H0:F=Normal

典型的には、検討テスト任意右対立仮説を用いた試験と比較したときに代替仮説として他の分布は、低消費電力を有する(例えば、参照1及び2)。

いくつかのノンパラメトリック正規性テスト( 'nortest'、http://cran.r-project.org/web/packages/nortest/index.html)の実装を含む興味深いRパッケージがあります。上記の論文で述べたように、適切な対立仮説による尤度比検定は、これらの検定よりも強力です。

サンプルを(適合した)モデルからのランダムサンプルと比較することについて@Glen_bが言及したアイデアは、2番目のリファレンスで言及されています。それらは「QQ-Envelopes」または「QQ-Fans」と呼ばれます。これには、データを生成するためのモデルが必要であり、結果として対立仮説が必要です。


4

私の回帰モデリング戦略コースを教えるとき、このトピックは常に私の生徒と私を悩ませます。私たちのグラフィカルな評価は常に主観的であり、疲れたときよりも一日の早い段階でグラフを心配する傾向があることを伝えます。正式な統計検定を追加するだけでは十分ではありません。非常に大きなサンプルサイズの場合、テストは些細な非正規性を拾い、小さな重要な非正規性を見逃す可能性があります。私は、効率的な正規性を仮定しない方法、たとえば連続順序回帰を使用することを好みます。YnY


1
+1。@Franckに5分の時間があれば、このスレッドstats.meta.stackexchange.com/questions/4743を見て、そこに計量してください。これは、順序/順序付きロジット/プロビットのタグに関するものです。全体のタグまたは関連するタグがあり、[ordinal]タグの使用方法に多少の不整合があるため、これらのタグを整理することをお勧めします。それらを整理する最良の方法についてあなたの意見を知ることは素晴らしいことです。
アメーバは、モニカを復活

1
連続例を使用して、rms orm関数に関する投稿から始めます。...現時点でそれを見つけることができませんY
フランク・ハレル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.