이 경우 x의 y에 대한 회귀가 x의 y보다 명확하게 더 낫습니까?


10

사람의 혈액 내 포도당 수준을 측정하는 데 사용되는 기기는 10 명의 무작위 표본에서 모니터링됩니다. 수준은 매우 정확한 실험실 절차를 사용하여 측정됩니다. 기기 측정은 x로 표시됩니다. 실험실 절차 측정 값은 y로 표시됩니다.

나는 개인적으로 실험실 판독 값을 예측하기 위해 기기 판독 값을 사용하기 때문에 x의 y가 더 정확하다고 생각합니다. x의 y는 이러한 예측의 오류를 최소화합니다.

그러나 제공된 답변은 x on y였습니다.


2
@Neo 사이트에 오신 것을 환영합니다. 이 질문이 수업 / 교과서 연습에서 동기를 얻은 경우 [self-study]태그 를 추가하십시오 .
gung-복직 모니카

답변:


6

많은 실험실 논문, 특히 기기 테스트 실험에서는 이러한 x를 y 회귀 분석에 적용합니다.

실험의 데이터 수집에서 y 조건이 제어되고 기기 판독 값에서 x를 얻습니다 (일부 오류가 발생 함). 이것은 실험의 원래 물리적 모델이므로 x ~ y + 오류가 더 적합합니다.

실험 오류를 최소화하기 위해 때로는 동일한 조건에서 y를 제어 한 다음 x를 여러 번 측정 (또는 반복 실험)합니다. 이 절차를 통해 배후의 논리를 이해하고 x ~ y + 오류를보다 명확하게 찾을 수 있습니다.


+1 지금까지의 해답을 생각합니다. 아마도 원래 게시물에 가장 적합 할 것입니다. 이 질문은 프록시를 캘리브레이션하는 대신 계측기를 이해함으로써 동기가 부여되었습니다. 각 Y에 대해 하나의 X 측정이있는 경우 Y-on-X가 올바른 접근 방법이라고 확신합니다 (whuber의 의견 제외). 여러 X가 그것을 파괴하지만 X-on-Y는 여전히 정확합니다 (그러나 Y를 예측하는 데는 사용할 수 없습니다).
코 로네

@Corone에 문제가 있습니다 .X vs Y 및 Y vs X가 모두 정확하면 R 21 보다 작을 때마다 분명히 다른 피팅 선 을 얻는다는 것을 알고 있습니다 . 이 두 줄 중 어느 것을 선택하고 어떤 기준으로 선택 하시겠습니까? 이 딜레마의 올바른 해결 방법은 Vincent가 설명했듯이 측정 오차 개념에 비대칭 성이 있다는 것입니다. 계측기는 상당한 오차로 측정됩니다. 실습실에는 눈에 띄는 오류가 없다고 가정합니다. 일반적인 회귀 절차는 X에 오류가없고 모든 오류가 Y에 있다고 가정 하여이를 해결합니다. R21
whuber

@ whuber 그들은 모두 정확하지만 다른 문제에 대답합니다. 다중 X 측정을 통해 Y-on-X는 더 이상 문제가 해결되지 않습니다. 내 의견은 어리석지 않습니다. 대신 답변을 수정하겠습니다.
Korone

6

일반적으로, 다른 분석은 다른 질문에 답변합니다. 두 X  에  Y는 방금 확인 분석이 응답 할 질문을 일치하는지 확인하려면, 여기 유효 할 수있다. (이 행을 더 자세히 보려면 ​​여기에서 내 대답을 읽으십시오 .Y는 X의 X와 X의 Y에 대한 선형 회귀의 차이점은 무엇입니까? )Y on XX on Y

YXY on XX

X on YYX

X on YY

X on Y


YX

@whuber 변수의 오류는 예측에 적합하지 않습니다. 변수의 오차 는 관계크기 를 이해하고 싶지만 X와 Y의 측정 오차가있는 경우에 유용합니다 . 예측을 위해 X는 훈련 세트에서 동일한 방식으로 수집되는 한 "오류없이 알려짐"과 예측 세트.
코 로네

@Corone 변수 오류가 예측에 좋지 않다는 것이 맞지만, 내가 알 수있는 한 권장되지 않습니다. 실제로 이것이 정확히 다른 방법이 아닌 실험실 (OLS 만 사용)에 대해 계측기를 되돌려 야하는 이유입니다. 이 글타래에 대한 다른 코멘트에서 인용 한 Draper & Smith 참조를 참조하십시오. 나는 두 번째 판의 섹션 1.7에 의존하고 있습니다.
whuber

@Corone, 당신은 변수의 예측 / 오류에 대해 맞지만, 내가 말하려는 것은 아닙니다. 나는 그것을 표현하는 더 좋은 방법을 생각하려고 노력할 것입니다.
gung-Monica Monica 복원

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가 올바른 방법이라고 말했기 때문에 위의 대답을 원하지 않았습니다. 왜 그들이 원했을까요? 아마도 그들은 기기를 이해하는 작업을 고려하고 있었을 것입니다. Vincent의 답변에서 설명한 것처럼 계측기의 동작에 대해 알고 싶다면 X-on-Y를 사용하는 것이 좋습니다.

위의 첫 번째 방정식으로 돌아갑니다.

Xi=βYi+ϵi

E[Xi|Yi]=YiXβ

수축

YE[Y|X]γE[Y|X]Y. 이것은 회귀에서 평균까지의 경험과 경험적 베이와 같은 개념으로 이어진다.

R의 예 여기에서 무슨 일이 일어나고 있는지 느끼는 방법 중 하나는 데이터를 만들고 방법을 시도하는 것입니다. 아래 코드는 예측 및 교정을 위해 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")

두 개의 회귀선이 데이터 위에 그려집니다.

여기에 이미지 설명을 입력하십시오

그런 다음 새 표본에 대한 두 적합치에 대해 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

두 예측의 분포는 밀도 플롯에서 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오


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

1
그것을 넣는 훌륭한 방법 인 @RayKoopman! 예-X의 Y는 많은 다른 Y에 대해 평균적으로 최상의 예측을 얻는 것에 관한 것이며, 교정은 개별 Y에 대해 공정하고 편견에 관한 것입니다.
Korone

2

정규 최소 제곱에 대한 X의 분산과 Y의 분산에 대한 가정에 따라 다릅니다. Y에 유일한 분산 원이 있고 X에 분산이 0이면 X를 사용하여 Y를 추정합니다. 다른 가정이있는 경우 (X에 분산 만 있고 Y에 0의 분산이있는 경우) Y를 사용하여 X를 추정합니다.

X와 Y에 분산이 있다고 가정하면 총 최소 제곱 을 고려해야 합니다.

링크 에 TLS에 대한 자세한 설명이 작성되었습니다 . 이 문서는 거래에 중점을두고 있지만 섹션 3은 TLS를 잘 설명합니다.

편집 1 (2013 년 10 월 10 일) =========================================== ======

나는 이것이 일종의 숙제 문제라고 생각했기 때문에 OP의 질문에 대한 "답변"에 대해 구체적으로 알지 못했습니다. 그러나 다른 답변을 읽은 후에는 좀 더 자세하게 알 수있는 것처럼 보입니다.

OP의 질문 중 일부를 인용 :

".... 수준도 매우 정확한 실험실 절차를 사용하여 측정됩니다."

위의 진술은 두 가지 측정이 있는데 하나는 계측기에서, 하나는 실험실 절차에서 측정 한 것입니다. 이 진술은 또한 실험실 절차의 분산이 기기의 분산에 비해 낮다는 것을 암시합니다.

OP의 질문에서 또 다른 인용문은 다음과 같습니다.

".... 실험실 절차 측정 값은 y .....로 표시됩니다."

따라서 위의 두 진술에서 Y는 분산이 더 낮습니다. 따라서 오류가 발생하기 쉬운 기술은 Y를 사용하여 X를 추정하는 것입니다. "제공된 답변"이 정확했습니다.


1
XY

아니요, 차이가있는 위치를 기준으로 회귀를 선택해서는 안됩니다. 답변하려는 질문을 바탕으로해야합니다. TLS를 사용하여 X 주어진 Y에 대한 예측 모델을 작성하면 잘못 될 것입니다. TLS 및 이와 유사한 변수 오류 모델은 모두 예측이 아니라 기본 변수 / 프로세스 간의 실제 관계를 이해하는 것에 관한 것입니다.
Korone

1
@Corone 자신의 목표가 통계적 절차의 선택을 안내한다는 것은 정확하지만 절차는 확률 모델 ( "분산이있는 곳")에도 적합해야합니다. 고 분산 계기 판독 값에서 실험실 판독 값을 예측하는 것이 목적인 경우에는 그에 적합한 절차를 선택하십시오. 그러나 해당 절차는 일반적인 최소 제곱 적합과 분산 추정값을 사용한 예측 이 아닙니다 .
whuber

1
@Corone-회귀 기술은 대답하려는 질문을 기반으로해야한다는 데 동의하지만 선택한 기술에는 변수의 분산에 대한 가정이 포함됩니다. 선택의 분산 가정이 모델의 개념과 일치하지 않으면 잘못된 기술을 선택한 것입니다. 그렇기 때문에 3 가지 가능성 (Y를 추정하기위한 X 분산, X를 추정하기위한 Y 분산, 0이 아닌 X 및 Y 분산)을 나열했습니다.
bill_080
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.