この場合、xのyの回帰はxのyよりも明らかに良いですか?


10

人の血液中のブドウ糖のレベルを測定するために使用される機器は、10人のランダムなサンプルで監視されます。レベルはまた、非常に正確な実験室手順を使用して測定されます。計器メジャーはxで示されます。検査手順の測定値はyで示されます。

個人的には、実験室の測定値を予測するために機器の測定値を使用することを目的としているため、y on xの方が正しいと思います。そして、y on xは、そのような予測の誤差を最小限に抑えます。

しかし、提供された答えはx対yでした。


2
@Neoのサイトへようこそ。この質問がクラス/教科書の演習で動機付けられた場合は、[self-study]タグを追加してください。
ガン-モニカの回復

回答:


6

多くのラボペーパー、特に機器のテスト実験では、このようなx on y回帰が適用されます。

彼らは、実験のデータ収集から、y条件が制御され、機器の読み取り値からxを取得していると主張します(それに何らかのエラーを導入します)。これは実験の元の物理モデルであるため、x〜y + errorの方が適しています。

実験誤差を最小限に抑えるために、yが同じ条件で制御されている場合、xが数回測定されます(または繰り返し実験されます)。この手順は、それらの背後にあるロジックを理解し、x〜y + errorをより明確に見つけるのに役立ちます。


+1私はこれまでのところ本当に答えを考えています。これはおそらく元の投稿に最もよく対処します。この質問は、プロキシを調整するのではなく、機器を理解することによってほぼ確実に動機付けられました。YごとにXの測定値が1つしかない場合、Y-on-Xが正しいアプローチであることは確かです(whuberのコメントは別として)。複数のXはそれを破壊しますが、X-on-Yは依然として正しいです(ただし、Yの予測には使用できません)。
Corone

@Coroneに問題があります。X対YとY対Xの両方が正しい場合、R 21未満の場合は、はっきりと異なるフィッティングラインが得られます。これらの2つの行のどちらを選択しますか。このジレンマの正しい解決策は、ヴィンセントが説明するように、測定誤差の概念に非対称性があるということです。測定器はかなりの誤差で測定されます。ラボには、かなりのエラーはないと想定されています。通常の回帰手順では、Xにエラーがなく、すべてのエラーがYにあると想定しているため、問題は解決されます。R21
whuber

@ whuber彼らはどちらも正しいですが、異なる問題に答えます。複数のX測定を行うと、Y-on-Xは、回答することになっている問題に対しても正しくなくなります。私のコメントはばかげていますが、代わりに私の回答を編集します
Corone

6

Y on XX on Y

YXY on XX

X on YYX

X on YY

X on Y


YX

@whuber変数のエラーは予測には適していません。変数のエラーは、関係大きさを理解する必要があるが、XとYに測定エラーがある場合に役立ちます。Xは、トレーニングセットで同じ方法で収集され、予測セット。
Corone

@Corone変数内エラーは予測には適していませんが、私が知る限り、これは推奨されていることではありません。実際、これがまさに、実験室(OLSのみを使用する)に対して機器を実際に後退させる必要があり、その逆ではない理由です。このスレッドの別のコメントで引用しているDraper&Smithのリファレンスを参照してください。私は第2版のセクション1.7に依存しています。
whuber

@Corone、あなたは予測/変数のエラーについて正しいですが、それは私が言うつもりではありません。私はそれを表現するより良い方法を考えてみます。
gung-モニカの回復

4

予測と予測

はい、正解です。これを予測の問題と見なすと、Y-on-X回帰により、機器の測定値が与えられれば、ラボの手順を実行せずに、正確なラボ測定の公平な推定を行うことができるようなモデルが得られます。 。

E[Y|X]

エラー構造は「実際の」構造ではないため、これは直観に反するように見えるかもしれません。実験室の方法が最も標準的なエラーのない方法であるとすると、真のデータ生成モデルは

Xi=βYi+ϵi

YiϵiE[ϵ]=0

E[Yi|Xi]

Yi=Xiϵβ

Xi

E[Yi|Xi]=1βXi1βE[ϵi|Xi]

E[ϵi|Xi]ϵX

明らかに、一般性を失うことなく、

ϵi=γXi+ηi

E[ηi|X]=0

YI=1βXiγβXi1βηi

YI=1γβXi1βηi

ηββσ

YI=αXi+ηi

β

機器分析

この質問を設定した人は、X-on-Yが正しい方法であると言っているので、明らかに上記の答えを望んでいませんでした。おそらく彼らは楽器を理解するタスクを考えていました。ヴィンセントの回答で述べたように、彼らが楽器の動作を望んでいることを知りたい場合は、X-on-Yが適しています。

上記の最初の方程式に戻ります。

Xi=βYi+ϵi

E[Xi|Yi]=YiXβ

収縮

YE[Y|X]γE[Y|X]Y。これにより、平均への回帰や経験的ベイなどの概念が生まれます。

Rでの例 ここで何が行われているのかを理解する1つの方法は、データを作成してメソッドを試すことです。以下のコードは、X-on-YとY-on-Xを比較して予測とキャリブレーションを行います。X-on-Yは予測モデルには適していませんが、キャリブレーションの正しい手順であることがすぐにわかります。

library(data.table)
library(ggplot2)

N = 100
beta = 0.7
c = 4.4

DT = data.table(Y = rt(N, 5), epsilon = rt(N,8))
DT[, X := 0.7*Y + c + epsilon]

YonX = DT[, lm(Y~X)]   # Y = alpha_1 X + alpha_0 + eta
XonY = DT[, lm(X~Y)]   # X = beta_1 Y + beta_0 + epsilon


YonX.c = YonX$coef[1]   # c = alpha_0
YonX.m = YonX$coef[2]   # m = alpha_1

# For X on Y will need to rearrage after the fit.
# Fitting model X = beta_1 Y + beta_0
# Y = X/beta_1 - beta_0/beta_1

XonY.c = -XonY$coef[1]/XonY$coef[2]      # c = -beta_0/beta_1
XonY.m = 1.0/XonY$coef[2]  # m = 1/ beta_1

ggplot(DT, aes(x = X, y =Y)) + geom_point() +  geom_abline(intercept = YonX.c, slope = YonX.m, color = "red")  +  geom_abline(intercept = XonY.c, slope = XonY.m, color = "blue")

# Generate a fresh sample

DT2 = data.table(Y = rt(N, 5), epsilon = rt(N,8))
DT2[, X := 0.7*Y + c + epsilon]

DT2[, YonX.predict := YonX.c + YonX.m * X]
DT2[, XonY.predict := XonY.c + XonY.m * X]

cat("YonX sum of squares error for prediction: ", DT2[, sum((YonX.predict - Y)^2)])
cat("XonY sum of squares error for prediction: ", DT2[, sum((XonY.predict - Y)^2)])

# Generate lots of samples at the same Y

DT3 = data.table(Y = 4.0, epsilon = rt(N,8))
DT3[, X := 0.7*Y + c + epsilon]

DT3[, YonX.predict := YonX.c + YonX.m * X]
DT3[, XonY.predict := XonY.c + XonY.m * X]

cat("Expected value of X at a given Y (calibrated using YonX) should be close to 4: ", DT3[, mean(YonX.predict)])
cat("Expected value of X at a gievn Y (calibrated using XonY) should be close to 4: ", DT3[, mean(XonY.predict)])

ggplot(DT3) + geom_density(aes(x = YonX.predict), fill = "red", alpha = 0.5) + geom_density(aes(x = XonY.predict), fill = "blue", alpha = 0.5) + geom_vline(x = 4.0, size = 2) + ggtitle("Calibration at 4.0")

2つの回帰線がデータ上にプロットされます

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

次に、Yの二乗和誤差が、新しいサンプルの両方の近似に対して測定されます。

> cat("YonX sum of squares error for prediction: ", DT2[, sum((YonX.predict - Y)^2)])
YonX sum of squares error for prediction:  77.33448
> cat("XonY sum of squares error for prediction: ", DT2[, sum((XonY.predict - Y)^2)])
XonY sum of squares error for prediction:  183.0144

あるいは、固定Y(この場合は4)でサンプルを生成し、それらの推定値の平均をとることもできます。これで、Y-on-X予測子は、Yよりもはるかに低い期待値で十分に調整されていないことがわかります。X-on-Y予測子は、Yに近い期待値で十分に調整されています。

> cat("Expected value of X at a given Y (calibrated using YonX) should be close to 4: ", DT3[, mean(YonX.predict)])
Expected value of X at a given Y (calibrated using YonX) should be close to 4:  1.305579
> cat("Expected value of X at a gievn Y (calibrated using XonY) should be close to 4: ", DT3[, mean(XonY.predict)])
Expected value of X at a gievn Y (calibrated using XonY) should be close to 4:  3.465205

2つの予測の分布は、密度プロットで確認できます。

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


YXX

3
Y=β0+β1X+ϵVar(ϵ)=σ2.X=(Yβ0ϵ)/β1X=α0+α1Y+δVar(δ)=σ2α12σ2

1
β

2
Yは人口のランダム変数である可能性がありますが、特定の個人にとっては推定されるパラメータです。XでYを回帰すると、Yのすべての推定値がグループ平均に向かって縮小します。これにより、人々の平均二乗誤差は減少しますが、倫理的または法的な理由で許容できない体系的なバイアスが生じます。Yの回帰Xは、各人のYの不偏信頼区間を構築するために使用できる情報を提供しますが、これらの区間は、プロットの青い領域のように広くなる傾向がありますが、Xの回帰Yからの予測区間は狭くなりますがバイアスされます、赤のように。
Ray Koopman、2013

1
それを置く素晴らしい方法である@RayKoopman!はい- X上のYは、キャリブレーションは、個々のY.のための公正かつ公平であることについてであるが、異なるイースの平均以上のロットで最高の予測を得ることについてです
Corone

2

これは、通常の最小二乗法のXの分散とYの分散に関する仮定に依存します。Yに唯一の分散のソースがあり、Xにゼロの分散がある場合、Xを使用してYを推定します。仮定が逆の場合(Xには分散のみがあり、Yにはゼロの分散があります)、Yを使用してXを推定します。

XとYの両方に分散があると想定される場合は、合計最小二乗法を考慮する必要がある場合があります。

TLSの良い説明はこのリンクに書かれました。この論文はトレーディングを対象としていますが、セクション3はTLSをうまく説明しています。

編集1(2013年9月10日)========================================= ======

もともとこれはある種の宿題の問題だと思っていたので、OPの質問に対する「答え」について具体的には知りませんでした。しかし、他の回答を読んだ後、もう少し詳細を取得しても問題ないようです。

OPの質問の一部を引用します。

「...レベルも非常に正確な実験室手順を使用して測定されます...」

上記のステートメントは、2つの測定値があることを示しています。1つは機器から、もう1つはラボ手順からです。このステートメントは、実験室の手順の分散が機器の分散と比較して低いことも意味します。

OPの質問からの別の引用は次のとおりです。

"....検査手順の測定値はy .....で示されます"

したがって、上記の2つのステートメントから、Yの分散は小さくなります。したがって、最もエラーが発生しにくい手法は、Yを使用してXを推定することです。「提供された回答」は正しかったです。


1
XY

いいえ、回帰の選択は、分散がどこにあるかに基づいて行われるべきではありません-答えようとしている質問に基づいて行われるべきです。TLSを使用して、Xが与えられたYの予測モデルを構築する場合、誤りなります。TLSおよび同様の変数内エラーモデルはすべて、予測ではなく、基礎となる変数/プロセス間の真の関係を理解することを目的としています
Corone

1
@Coroneあなたの目的が統計的手順の選択を導くことは正しいですが、手順は確率モデル(「分散がある場合」)にも適切でなければなりません。目的が高分散機器の測定値からラボの測定値を予測することである場合は、そのために適切な手順を確実に選択してください。ただし、その手順は、通常の最小二乗近似とその分散推定値を使用した予測ではありません
whuber

1
@Corone-回帰手法は、回答しようとしている質問に基づく必要があることに同意しますが、選択した手法には変数の分散に関する仮定が含まれています。選択の分散の仮定がモデルの概念と一致しない場合は、誤った手法を選択しています。これが、3つの可能性(Yを推定するためのゼロX分散、Xを推定するためのゼロY分散、または非ゼロのXおよびY分散)をリストした理由です。
bill_080 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.