残差のサイズによってデータセットを階層化し、2サンプルの比較を行うことはまったく防御可能ですか?


16

これは一種のアドホックな方法として行われていると見られており、私には非常に怪しいように見えますが、おそらく何かが欠けています。私はこれを多重回帰で見ましたが、単純にしておきましょう:

yi=β0+β1xi+εi

次に、近似モデルから残差を取得します

ei=yi(β^0+β^1xi)

残差のサイズに基づいてサンプルを階層化します。たとえば、最初のサンプルが残差の下部90%であり、2番目のサンプルが上部10%である場合、2つのサンプル比較を実行します-これはモデルの予測子で行われ、モデルにない変数。使用される非公式のロジックは、おそらく、モデルの下で予想される値をはるかに超える値を持つポイント(つまり、大きな残差)が何らかの方法で異なり、その違いがこの方法で調査されることです。x

このテーマに関する私の考えは次のとおりです。

  • モデルの予測変数に2サンプルの差がある場合、現在の状態ではモデルによって考慮されていない予測変数の効果(つまり、非線形効果)があります。
  • モデルにない変数に2サンプルの差がある場合は、最初にモデルにあるはずです。

私は(シミュレーションで)経験的に発見したことの一つは、モデルで予測値の平均値を比較している場合、つまりし、2つのサンプル手段を生成するために、このように階層化、¯ X 1及び¯ X 2、それらは互いに正の相関。両方のサンプルが依存するので、これは理にかなって¯のY¯ Xσ Xσ Y及びρ X 、Yxx¯1x¯2y¯,x¯,σ^x,σ^yρ^xy。その相関は、カットオフを下げると増加します(つまり、サンプルの分割に使用する%)。したがって、少なくとも、2サンプルの比較を行う場合、統計の分母の標準誤差を調整して、相関を考慮に入れる必要があります(ただし、共分散)。t

とにかく、私の基本的な質問は次のとおりです。これを行う理由はありますか?もしそうなら、これはどのような状況でこれを行うのに役立つでしょうか?明らかに私は存在するとは思わないが、正しい方法で考えていないことがあるかもしれない。


2つのサンプル比較は同じIVsを使用しますか?もしそうなら、残差分割がすでにその情報を使用しているので、私はこの点を見ることができません。これを見た場所の例を挙げていただけますか、それは私にとって新しいことですか?
ミシェル

1
おそらく、モデルの仕様に誤りがあるかどうかを確認するための診断として使用できる可能性があります-それについてどう思いますか?
マクロ

3
上記のコメントで示唆されているように、問題のあるポイントや欠落している非線形効果を特定する診断ツールとして以外、これを行う点は見当たりません。OPの2つの点(「主題に関する考え...」)はかなり健全だと思います。
ピーターエリス

1
この手法は、Lohと彼の共著者が、ツリーアルゴリズムのサポートとGUIDEで分割変数を決定するために使用します。データセットはそのように分割されるため、非線形の影響(ステップワイズ関数によってプロキシされる)を探し、変数が実際に忘れられているかどうかを判断するものと考えることができます。それが賢いのかと疑問に思ったことを覚えていますが、彼らの論文でもっと説明を見つけられるかもしれません(覚えていない)。
モモ

1
もちろん問題ありません。チャウドリー他 www3.stat.sinica.edu.tw/statistica/j4n1/j4n18/j4n18.htm www3.stat.sinica.edu.tw/statistica/j5n2/j5n217/j5n217.htmのサポートおよびGUIDE stat
モモ

回答:


8

平均の比較は弱すぎます。代わりに、分布を比較してください。

また、(述べたように)残差のサイズを比較するのが望ましいのか、残差自体を比較するのが望ましいのかという疑問もあります。したがって、両方を評価します。

R(x,y)xyyxq0q1>q0x

test <- function(y, x, q0, q1, abs0=abs, ...) {
  y.res <- abs0(residuals(lm(y~x)))
  y.groups <- cut(y.res, quantile(y.res, c(0,q0,q1,1)))
  x.groups <- split(x, y.groups)
  xy <- qqplot(x.groups[[1]], x.groups[[3]], plot.it=FALSE)
  lines(xy, xlab="Low residual", ylab="High residual", ...)
}

この関数の5番目の引数abs0、デフォルトでは、残差のサイズ(絶対値)を使用してグループを形成します。後で、残差自体を使用する関数に置き換えることができます。

xy

simulate <- function(n, beta0=0, beta1=1, beta2=0, sd=1, q0=1/3, q1=2/3, abs0=abs,
                     n.trials=99, ...) {
  x <- 1:n - (n+1)/2
  y <- beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd)
  plot(x,y, ylab="y", cex=0.8, pch=19, ...)
  plot(x, res <- residuals(lm(y ~ x)), cex=0.8, col="Gray", ylab="", main="Residuals")
  res.abs <- abs0(res)
  r0 <- quantile(res.abs, q0); r1 <- quantile(res.abs, q1)
  points(x[res.abs < r0], res[res.abs < r0], col="Blue")
  points(x[res.abs > r1], res[res.abs > r1], col="Red")
  plot(x,x, main="QQ Plot of X",
       xlab="Low residual", ylab="High residual",
       type="n")
  abline(0,1, col="Red", lwd=2)
  temp <- replicate(n.trials, test(beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd), 
                             x, q0=q0, q1=q1, abs0=abs0, lwd=1.25, lty=3, col="Gray"))
  test(y, x, q0=q0, q1=q1, abs0=abs0, lwd=2, col="Black")
}

yβ0+β1x+β2x2sdq0q1abs0n.trialsn(x,y)データ、その残差、および複数の試行のqqプロット-提案されたテストが特定のモデルに対してどのように機能するかを理解するのに役立ちます(n、ベータ、およびによって決定されsdます)。これらのプロットの例を以下に示します。

これらのツールを使用して、残差の絶対値を使用して、非線形性と不均一分散の現実的な組み合わせを調べてみましょう。

n <- 100
beta0 <- 1
beta1 <- -1/n
sigma <- 1/n

size <- function(x) abs(x)
set.seed(17)
par(mfcol=c(3,4))
simulate(n, beta0, beta1, 0, sigma*sqrt(n), abs0=size, main="Linear Homoscedastic")
simulate(n, beta0, beta1, 0, 0.5*sigma*(n:1), abs0=size, main="Linear Heteroscedastic")
simulate(n, beta0, beta1, 1/n^2, sigma*sqrt(n), abs0=size, main="Quadratic Homoscedastic")
simulate(n, beta0, beta1, 1/n^2, 5*sigma*sqrt(1:n), abs0=size, main="Quadratic Heteroscedastic")

xxx

絶対値

xxx

まったく同じdataを使用して同じことを行いますが、残差自体を分析します。これを行うには、この変更を行った後、前のコードブロックを再実行しました。

size <- function(x) x

残差

x

おそらくこれらの両方のテクニックを組み合わせることでうまくいくでしょう。これらのシミュレーション(および興味のある読者が自由に実行できるそれらのバリエーション)は、これらの手法にはメリットがないわけではないことを示しています。

x(x,y^x)提案されたテストは、Bresch-Paganのような回帰ベースのテストよりも強力ではないと予想できます。


2

あなたの両方の点に同意します。モデルが不適切な場合、残差はほぼ独立しておらず、均一に分布していない可能性があります。重要な変数が省略されているか、リグレッサー変数の関数形式が間違っている可能性があります。その場合は、これよりも標準の回帰診断を使用して問題を特定します。また、適切な関数形式を持つモデルに適切な変数を含めることができますが、それでも一定でない分散があります。これは、プロットするだけで明らかになるかもしれませんe に対して バツ。何らかの形の残差を通してモデル内の外れ値を見つけたいという点を見ることができますが、それらを検出するには影響関数アプローチをお勧めします。この手順が何を達成するのかわかりません。

これは、2つのデータセットを個別にモデル化する必要があるかどうかを確認するための単なる探索ツールである可能性があるとコメントしている人もいます。もしそうなら、これと他の探索的アプローチは大丈夫かもしれません。しかし、質問は次に何をしますか?次に、2つの別々の回帰を行い、サンプルについて推論を行う場合、サンプルを分割する方法を何らかの形で考慮する必要があると思います。


0

これを行うにはいくつかの動機があると思います。たとえば、残差が一貫していると仮定すると、言及した方法が外れた観測値を特定するのに役立ちます。しかし、外れ値の検出を実行したり、これらの方法のすべてが十分に定義されている分位点回帰、LMS(最小二乗中央値)、M推定器など、そのような観測の存在に対してロバストな推定器を提供するより厳密な手法がありますおよび既知の統計的特性。(これは@Michael Chernikによって追加されました)

他の動機はクラスター識別であるかもしれませんが、これもまた明確に定義され広く実装されているクラスター検出に利用可能な技術と比較すると原始的です。

どちらの場合も、残差の使用は非公式で原始的なように見えますが、探索ツールとしてはまだ許容される可能性があります。また、読者のドメインにも依存します。これは、定量的ツールの人気が低い一部の社会科学では受け入れられると思います。

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