부트 스트랩 회귀 기울기를 어떻게 비교합니까?


13

독립 변수 x 와 종속 변수 y 의 데이터 쌍을 각각 n 개 관측 한 두 개의 데이터 세트가 있다고 가정 해 봅시다 . 관측 값을 N 으로 부트 스트래핑 하고 회귀를 계산하여 각 데이터 세트에 대해 회귀 기울기 분포를 생성하고 y = a + bx를 계산 한다고 가정합니다.매번. 경사가 크게 다르다고 말하기 위해 두 분포를 어떻게 비교합니까? 분포의 중앙값 사이의 차이를 테스트하기위한 U- 검정은 N에 크게 의존합니다. 즉, 부트 스트랩을 반복할수록 차이가 더 커집니다. 유의 한 차이를 확인하기 위해 분포 간의 겹침을 어떻게 계산해야합니까?

답변:


19

부트 스트래핑은 큰 표본 이론으로 가정 된 것보다 샘플링 분포에 대한보다 강력한 그림을 얻기 위해 수행됩니다 . 부트 스트랩 할 때, 실제로 '부트 샘플'의 수에는 제한이 없습니다. 실제로 더 많은 부트 샘플을 샘플링 분포에 더 가깝게 얻을 수 있습니다. 부트 샘플 을 사용하는 것이 일반적 이지만 그 수에 대해서는 마법이 없습니다. 또한 부트 샘플에서 테스트를 실행하지 않습니다. 샘플링 분포의 추정치가 있습니다. 직접 사용하십시오. 알고리즘은 다음과 같습니다.B=10,000

  1. 교체와 함께 부트 관찰을 샘플링하여 하나의 데이터 세트의 부트 샘플을 가져옵니다 . [아래 설명과 관련하여 한 가지 관련 질문은 부팅 샘플에 사용할 유효한 '부팅 관찰'을 구성하는 것입니다. 실제로 몇 가지 합법적 인 접근 방식이 있습니다. 견고하고 데이터의 구조를 반영 할 수있는 두 가지에 대해 언급하겠습니다. 관찰 데이터가있는 경우 (예 : 데이터가 모든 차원에서 샘플링 된 경우) 부트 관측은 정렬 된 n- 튜플 (예 : 행) 일 수 있습니다. 예를 들어 예측 변수 하나와 반응 변수 하나가있는 경우 샘플링합니다.n 1 ( x , y ) n 1 j y j y Xn1n1 (x,y)주문한 쌍. 반면, 실험 데이터를 사용할 때 예측 변수 값은 샘플링되지 않았지만 실험 단위는 각 예측 변수의 의도 된 수준에 할당되었습니다. 이런 경우, 샘플 수 의 각각 내에서 값을 그런 다음, 예측 변수의 해당 레벨 쌍 그 예측 레벨의 대응 값들. 이런 식으로 샘플링하지 않습니다 .]n1j yjyX
  2. 회귀 모형을 적합하고 기울기 추정치를 저장합니다 ( ).β^1
  3. 교체와 함께 부트 관찰을 샘플링하여 다른 데이터 세트의 부트 샘플을 가져옵니다.n2
  4. 다른 회귀 모형을 적합하고 기울기 추정값을 저장합니다 ( ).β^2
  5. 두 추정치로부터 통계를 (제안 : 기울기 차이 )β^1β^2
  6. 통계를 저장하고 메모리를 낭비하지 않도록 다른 정보를 덤프하십시오.
  7. 1-6 단계 반복, 회B=10,000
  8. 경사 차이의 부트 스트랩 샘플링 분포 정렬
  9. 0과 겹치는 bsd의 %를 계산합니다 (더 작은 쪽, 오른쪽 꼬리 또는 왼쪽 꼬리 %)
  10. 이 비율에 2를 곱하십시오

통계 테스트 인이 알고리즘의 논리는 기본 테스트 (예 : t- 테스트)와 기본적으로 비슷하지만 데이터 또는 결과 샘플링 분포에 특정 분포가 있다고 가정하지는 않습니다. (예를 들어, 정규성을 가정하고 있지 않습니다.) 기본 가정은 데이터가 표본 추출 / 일반화하려는 모집단을 대표한다는 것입니다. 즉, 표본 분포는 모집단 분포와 유사합니다. 데이터가 관심있는 인구와 관련이없는 경우 운이 나빠질 수 있습니다.

예를 들어, 정규성을 가정하지 않을 경우 기울기를 결정하기 위해 회귀 모델을 사용하는 것에 대해 걱정하는 사람들이 있습니다. 그러나이 문제는 잘못되었습니다. Gauss-Markov 정리는 추정값이 공정하지 않다 (즉, 실제 값을 중심으로 함)를 나타내므로 괜찮습니다. 정규성의 부재는 단순히 실제 샘플링 분포가 이론적으로 정한 분포와 다를 수 있으므로 p- 값이 유효하지 않음을 의미합니다. 부트 스트랩 절차를 통해이 문제를 해결할 수 있습니다.

부트 스트랩 관련 두 가지 다른 문제 : 기존 가정이 충족되면 부트 스트랩은 파라 메트릭 테스트보다 효율성이 떨어집니다 (즉, 전력이 더 적습니다). 둘째, 부트 스트랩은 분포의 중심 근처를 탐색 할 때 가장 잘 작동합니다. 평균과 중간 값은 양호하고 사 분위수는 좋지 않으며 최소 또는 최대 부트 스트랩은 반드시 실패합니다. 첫 번째 요점과 관련하여 상황에 따라 부트 스트랩하지 않아도됩니다. 두 번째 점에 관해서는, 경사를 부트 스트랩하는 것은 완벽합니다.


비록 내가 틀렸을지라도 회귀의 부트 스트랩은 원시 데이터가 아닌 잔차에 있어야한다고 생각했습니다.
Xi'an

@ Xi'an, 나는 나 자신보다 잘못했지만 부트 부트 잔차 만 유효하다고 생각하는 이유를 이해하지 못합니다. Efron & Tibshirani (1994) 섹션 9.5는 "부트 스트랩 쌍은 부트 스트랩 잔차보다 가정에 덜 민감합니다. 부트 스트랩 쌍으로 얻은 표준 오차는 [선형 모형의 확률 구조]가 완전히 틀리더라도 합리적인 대답을 제공합니다." 이는 부트 스트랩 적용이 더 강력하다는 것을 의미하지만, 경우에 따라 효율이 떨어질 수도 있습니다.
궁 - 분석 재개 모니카

쌍을 부트 스트랩하는 것에 대한 나의 걱정은 일반적으로 정규 선형 모델에서 그림 외부에 남겨지는 예측 변수의 분포도 포함한다는 것입니다. 그래서 나는 항상 학생들에게 잔차 만 부트 스트랩하도록 가르칩니다.
시안

@ Xi'an, 그것은 합리적인 포인트입니다. 나는 관측 데이터 구조를 가정하고 있다고 가정합니다. 이 문제에 대한 자세한 내용을 추가하기 위해 답변을 편집했습니다. 그러나 부트 스트랩 쌍이 반드시 유효하지 않다는 것을 어떻게 알 수 있는지 모르겠습니다.
gung-모니 티 복원

두 개의 독립적 인 데이터 세트를 강제로 연결하는 것은 인공적이고 비효율적입니다. 당신은 그것보다 훨씬 더 잘할 수 있습니다!
whuber

4

si

yi=β0+β1xi+β2si+β3sixi+ϵi
β3
E[yix,si=1]=(β0+β2)+(β1+β3)xiE[yix,si=0]=β0+β1xi.
β3nn2n

오류 용어간에 상관 관계가있는 경우이 절차를 약간 변경해야 할 수 있으므로이 경우 다시 작성하십시오.

이 방법을 겉보기에 관련이없는 회귀 (SUR) 프레임 워크로 일반화 할 수 있습니다. 이 접근법은 여전히 ​​인터셉트 및 기울기에 대한 계수가 두 데이터 세트에서 임의로 상이하게한다.


1
좋은 생각이야 그러나 이것이 두 회귀에 iid 오류가 있다고 가정하지 않습니까?
whuber

1
좋은 지적. 그룹별로 오류에 대한 차이가 다르고 오류가 다른 그룹에서 상관되지 않아야합니다.
Charlie

0

한 번의 회귀로 모든 것을하는 것은 깔끔하며 독립성에 대한 가정이 중요합니다. 그러나 이런 방식으로 점 추정값을 계산할 때는 일정한 분산이 필요 하지 않습니다 . 이 R 코드를 사용해보십시오.

x <- rbinom(100, 1, 0.5)
z <- rnorm(100)
y <- rnorm(100)
coef(lm(y~x*z))
coef(lm(y~z, subset= x==1))[1] - coef(lm(y~z, subset= x==0))[1]
coef(lm(y~z, subset= x==1))[2] - coef(lm(y~z, subset= x==0))[2]

우리는 어느 쪽이든 같은 점 추정치를 얻습니다. 표준 오차를 추정하려면 일정한 분산이 필요할 수 있지만 (사용하는 오류에 따라 다름) 여기서 고려 된 부트 스트랩은 추정 된 표준 오차를 사용하지 않습니다.


1
기울기의 차이가 0인지 여부를 테스트하려면 (@Charlie의 회신에서와 같이 후속 조치 인 것처럼) 정확하고 유효한 표준 오류 추정이 필요합니다. 해당 추정치를 부트 스트랩할지 여부는 중요하지 않습니다.
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.