回帰モデルにおける同時不均一性と重い裾


8

回帰を使用して予測モデルを作成しようとしています。これは、Rでlm()を使用して取得したモデルの診断プロットです。 Rからの診断プロット

QQプロットから読み取ったのは、残差が裾が重い分布であり、残差vs適合プロットは残差の分散が一定でないことを示唆しているようです。堅牢なモデルを使用して、残差の重い裾を飼いならすことができます。

fitRobust = rlm(formula, method = "MM", data = myData)

しかし、それは物事が止まるところです。ロバストモデルの重さはいくつかの点0です。これらの点を削除すると、ロバストモデルの残差と近似値は次のようになります。ロバストモデルの残差vs適合

異分散はまだそこにあるようです。使用する

logtrans(model, alpha) 

α

rlm(formula, method = "MM") 

ログY+αバツ1++バツα

残差と対数変換された応答の適合

私には、残差がまだ一定の分散を持っていないように見えます。私は他の応答変換(Box-Coxを含む)を試しましたが、それらも改善のようには見えません。私がやっていることの第2段階(つまり、ロバストなモデルでの応答の変換を見つけること)が、どの理論によってもサポートされているかどうかさえわかりません。コメント、考え、または提案をいただければ幸いです。


2
非一定の分散について少しうるさいのではないかと思います。私には問題ないようです。回帰の目的は何ですか?説明/仮説のテストまたは予測?
確率論的

@probabilityislogic、コメントありがとうございます。大変感謝しています。私の目標は予測です。あなたが正しい。私は多分うるさいです。私が見ることができる異分散性の尺度はありますか?分散と近似値をプロットすることを考えましたが、分散を計算するための予測値ごとのポイントは多くありません。私はまた、この問題の一般的な解決策が何であるかを知りたいと思っています。Box-Coxおよびlog変換は、ロバストモデルにも適用できますか?
user765195 2012

ガウス誤差項のあるモデルのF検定を使用して、分散の等価性についてペアワイズ検定を実行できます。または、ガウス分布が非ガウス分布の場合は、リーベン検定などの分散のロバスト検定があります。
Michael R. Chernick 2012

@MichaelChernickありがとうございます。コメントありがとうございます。Rのlmtestパッケージ(hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/lmtest/html/…)に実装されている、異分散性のためのBreusch-Paganのテストのケーンカーの一般化を最後に使用しました。
user765195 2012

回答:


3

異分散性とレプトクルト症は、データ分析で簡単に融合されます。エラー項を生成するデータモデルをコーシーとする。これは同等分散性の基準を満たしています。コーシー分布には、無限の分散があります。コーシーエラーは、外れ値サンプリングプロセスを含めるシミュレータの方法です。

これらの重いテールエラーでは、正しい平均モデルをあてはめた場合でも、外れ値により大きな残差が生じます。異分散性のテストでは、このモデルでタイプIのエラーが大幅に増大しています。コーシー分布にはスケールパラメーターもあります。スケールが線形に増加するエラー項を生成すると、不均一なデータが生成されますが、そのような影響を検出する能力は実質的にゼロであるため、タイプIIエラーも増大します。

次に、適切なデータ分析アプローチは、テストで取り残されないようにすることをお勧めします。統計テストは主に誤解を招くものです。これは、二次モデリングの仮定を検証するためのテストよりも明白です。それらは常識の代わりにはなりません。データについては、2つの大きな残差がはっきりとわかります。残差とフィットのプロットの0ラインから直線的に離れている残差がオフセットされている場合、傾向への影響はごくわずかです。それはあなたが知る必要があるすべてです。

そこで望まれるのは、当てはめられた応答の範囲にわたって予測区間を作成できるようにする柔軟な分散モデルを推定する手段です。興味深いことに、このアプローチは、異分散性とクルトティスの両方のほとんどの正気な形式を処理できます。次に、平均二乗誤差を推定するために平滑化スプラインアプローチを使用しないのはなぜですか。

次の例を見てください。

set.seed(123)
x <- sort(rexp(100))
y <- rcauchy(100, 10*x)

f <- lm(y ~ x)
abline(f, col='red')
p <- predict(f)
r <- residuals(f)^2

s <- smooth.spline(x=p, y=r)

phi <- p + 1.96*sqrt(s$y)
plo <- p - 1.96*sqrt(s$y)

par(mfrow=c(2,1))
plot(p, r, xlab='Fitted', ylab='Squared-residuals')
lines(s, col='red')
legend('topleft', lty=1, col='red', "predicted variance")

plot(x,y, ylim=range(c(plo, phi), na.rm=T))
abline(f, col='red')
lines(x, plo, col='red', lty=2)
lines(x, phi, col='red', lty=2)

外れ値に対応するために「拡大」する次の予測間隔を指定します。それは依然として一貫した分散の推定値であり、「X = 4の周りにこの大きくて不安定な観察があり、そこでの値をあまり有用に予測することはできない」と人々に有益に伝えています。

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


これはglsなどの他のタイプのlmsでも機能しますか?
user2974951
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.