이 분포가 왜 균일합니까?


12

우리는 베이지안 통계 테스트를 조사하고 있으며 이상한 현상을 겪고 있습니다.

다음과 같은 경우를 고려하십시오. A 또는 B 인구가 ​​어느 전환율이 더 높은지 측정하는 데 관심이 있습니다. 온 전성 검사의 경우 설정합니다 . 즉, 변환 확률이 두 그룹에서 동일합니다. 이항 모델을 사용하여 인공 데이터를 생성합니다. 예 :pA=pB

nABinomial(N,pA)

그런 다음 베이지안 베타 이항 모델을 사용하여 p_A, p_B 를 추정하려고 시도합니다 pA,pB. 예를 들어

PABeta(1+nA,NnA+1)

테스트 통계는 몬테 카를로를 통해 S=P(PA>PB|N,nA,nB) 를 계산하여 계산 됩니다.

pA=pB 라면 S \ sim \ text {Uniform (0,1)} 이라는 사실에 놀랐습니다 SUniform(0,1). 내 생각은 샘플 크기 N 이 커짐에 따라 0.5에 집중하고 심지어 0.5로 수렴 할 것이라는 생각이었습니다 .

제 질문은 p_A = p_B 일 때 왜 S \ sim \ text {Uniform (0,1)} 입니까?SUniform(0,1)pA=pB


다음은 시연 할 몇 가지 Python 코드입니다.

%pylab
from scipy.stats import beta
import numpy as np
import pylab as P

a = b = 0.5
N = 10000
samples = [] #collects the values of S
for i in range(5000):
    assert a==b
    A = np.random.binomial(N, a); B = np.random.binomial(N, b)
    S = (beta.rvs(A+1, N-A+1, size=15000) > beta.rvs(B+1, N-B+1, size=15000)).mean() 
    samples.append(S)

P.hist(samples)
P.show()

참고 이 이산 변수이기 때문에, 정확히 균일하지 않을 수 있습니다. 따라서 당신은 점근 적 행동에 대해 묻고 있습니다. 또한 작은 ( 미만 , 대략 ) 분포는 원격으로 균일하지 않습니다. SN100/min(p,1p)p=pA=pB
whuber

@ whuber S는 불 연속적이지 않으며 0과 1 사이에있을 수있는 확률입니다. 또한 N이 낮더라도 균일 한 동작을 관찰하고 있습니다.
Cam.Davidson.Pilon

2
그렇다면 설정을 오해해야합니다. 제가 말할 수있는 임의의 주어진 값에 대해 값 A는 번호. 따라서 및 가 (코드에서 와 현재 고정되어 있음을 받아들이 면 는 의 함수입니다 . 그러나 두 개의 이항 분포를 실현 한 후자는 개별 값 세트 만 얻을 수 있습니다. 에서 코드를 재현하면 작은 대해 결정적으로 비 균일 히스토그램이 표시됩니다 . S N , p A , p B S ( n A , n B ) NN,nA,nB,SN,pA,pBS(nA,nB)RN
whuber

1
실제로 값이 과 사이 이지만 비이 산형과 혼동하지 마십시오. 최대 개의 고유 한 값을 가질 수 있습니다 (실제로는 그보다 작음). 시뮬레이션 이 올바른 값이 아닌 추정값 을 생성 하고 추정값에 본질적으로 연속 분포가 있기 때문에 이는 명확하지 않을 수 있습니다 . 0 1 N 2 SS01N2S
whuber

1
@ whuber 네, 당신은 정확하고 훌륭한 관찰입니다. 나는 왜 그것이 왜 균일하게 보이는지 에 붙어 있습니다.
Cam.Davidson.Pilon

답변:


11

TL; DR : 빈 크기가 크면 정규 분포의 혼합이 균일하게 보일 수 있습니다.

이 답변은 @ whuber의 샘플 코드에서 빌 렸습니다 (처음에는 오류라고 생각했지만 아마도 힌트 일 것입니다).

모집단의 기본 비율은 같습니다 a = b = 0.5.
각 그룹 A와 B에는 10000 명의 구성원이 N = 10000있습니다.
5000 번의 시뮬레이션 복제를 수행 할 것 for i in range(5000):입니다.

실제로, 우리가하는 일은 의 입니다 . 5000 각 반복에서 우리가 할 것 . s i m u l a t i o n u n d e r l y i n g s i m u l a t i o n p r i m e s i m u l a t i o n usimulationprimesimulationunderlyingsimulationprimesimulationunderlying

의 각 반복에서 앞에서 정의한 동일한 기본 비율이 주어지면 '성공'(AKA 변환) 인 임의의 수의 A와 B를 시뮬레이션합니다 . 명목상 이것은 A = 5000 및 B = 5000을 산출하지만 A와 B는 sim run마다 다르며 5000 시뮬레이션 실행에 독립적으로 (대략) 정상적으로 분배됩니다 (우리는 다시 돌아올 것입니다).simulationprimeA = np.random.binomial(N, a); B = np.random.binomial(N, b)

이제 A와 B가 동일한 수의 성공을 거둔 의 단일 반복에 대해 을 단계별로 살펴 보겠습니다 (평균과 마찬가지로). 의 각 반복에서 A와 B가 주어지면 각 그룹에 대한 베타 분포의 무작위 변이를 만듭니다. 그런 다음이를 비교하고 인지 확인하여 TRUE 또는 FALSE (1 또는 0)를 생성합니다. 실행 이 끝나면 15000 회의 반복이 완료되었으며 15000 개의 TRUE / FALSE 값이 있습니다. 이들의 평균은 다음의 비율의 (대략적인) 샘플링 분포에서 단일 값을 산출합니다. s i m u l a t i o n p r i m e s i m u l a t i o n u n d e r l y i n g B e t a A >simulationunderlyingsimulationprimesimulationunderlying simulatio n u n d e r l y i n g B e t a A > B e t a BBetaA>BetaBsimulationunderlyingBetaA>BetaB .

이제 은 5000 A와 B 값을 선택합니다. A와 B가 정확히 동일하지는 않지만 A와 B 성공 횟수의 일반적인 차이는 A와 B의 총 표본 크기로 인해 줄어 듭니다. 일반적인 As와 B는 비율의 샘플링 분포에서 더 많은 풀을 생성합니다. 이지만 A / B 배포 가장자리에있는 것도 가져옵니다.B e t a A > B e t a BsimulationprimeBetaA>BetaB

본질적으로 우리가 많은 시뮬레이션을 수행하는 것은 A와 B의 조합에 대한 의 샘플링 분포 조합입니다 (공통 값에서 얻은 샘플링 분포에서 더 많은 풀림) A와 B의 드문 값보다 A와 B). 이로 인해 정규 분포가 혼합됩니다. 작은 빈 크기로 결합하면 (사용하고 히스토그램 함수의 기본값이 원래 코드에서 직접 지정됨) 균일 한 분포처럼 보입니다.BetaA>BetaB

치다:

a = b = 0.5
N = 10
samples = [] #collects the values of S
for i in range(5000):
    assert a==b
    A = np.random.binomial(N, a); B = np.random.binomial(N, b)
    S = (beta.rvs(A+1, N-A+1, size=15000) > beta.rvs(B+1, N-B+1, size=15000)).mean() 
    samples.append(S)

P.hist(samples,1000)
P.show()

1
따라서 내 코드와 코드에는 차이가 있습니다. 각 루프에서 A와 B를 샘플링하면 한 번 샘플링하고 S 5000 배를 계산합니다.
Cam.Davidson.Pilon

1
불일치는에 대한 호출에 rbinom있으며 벡터를 반환합니다. 이후의 rbeta내부 호출 replicate은 벡터화되므로 내부 (내부) 루프는 생성 된 각 15000 개의 임의 변수에 대해 서로 다른 및 를 사용합니다 (이후의 마지막 5000에 래핑 ). 자세한 내용 을 참조하십시오 . 이는 @Cam의 코드와는 다르지만 5000 개 샘플링 ( ) 루프 마다 15000 개의 임의-변수 호출에 사용되는 단일 고정 및 있습니다. AA BBNSIM = 10000?rbetaABreplicate
추기경

1
여기 호기심의 출력입니다 : imgur.com/ryvWbJO은
Cam.Davidson.Pilon

1
내가 알고있는 유일한 개념은 잠재적으로 개념적 수준과 관련이 있습니다 .a) 예상되는 결과 분포가 대칭 적입니다 .b) 빈 크기 1은 항상 균일합니다. d) N에 의한 증가로부터 도출 될 수있는 가능한 샘플링 분포의 수 f) 샘플은 0과 1 사이에서 제한됩니다.
russellpierce

1
관찰만으로 샘플링 분포의 중심이 0.5에서 멀어짐에 따라 샘플링 분포의 중심 사이의 거리가 줄어드는 것을 볼 수 있습니다 (아마도 위의 f와 관련 있음). 이 효과는 그룹 A와 그룹 B의 경우에 거의 동일한 성공을 거두는 높은 빈도의 관측 경향에 대항하는 경향이 있습니다. 그러나 왜 또는 왜 특정 빈 크기에 대해 정규 분포를 산출 해야하는지에 대한 수학적 솔루션을 제공하는 것이 내 영역 근처에 있지 않습니다.
russellpierce

16

무슨 일이 일어나고 있는지 직관을 얻으려면 매우 크게 만들어서 동작 을 무시하고 베타 및 이항 분포가 대략 정규가된다는 점근 론을 활용하십시오. (어려운 문제로이 모든 것이 엄격해질 수 있습니다.) 이렇게하면 다양한 매개 변수 사이의 특정 관계에서 결과가 나타납니다.NO(1/N)


정규 근사법을 사용할 계획이므로 변수의 기대치 및 분산에주의를 기울입니다.

  • 이항 변동으로, 및 는 대한 기대치 및 편차를 갖습니다 . 결과적으로 및 은 및 분산 대한 기대치를 갖습니다 .(N,p)nAnBpNp(1p)Nα=nA/Nβ=nB/Npp(1p)/N

  • 베타 변형으로서 는 및 . 근사 적으로, 우리는 가(nA+1,N+1nA)PA(nA+1)/(N+2)(nA+1)(N+1nA)/[(N+2)2(N+3)]PA

    E(PA)=α+O(1/N)

    그리고 분산

    Var(PA)=α(1α)/N+O(1/N2),

    와 비슷한 결과가 .PB

따라서 정규 및 정규 분포 (두 번째 모수 하여 및 분포를 근사합니다. 분산을 지정합니다 ). 의 분포는 결과적으로 대략 정규입니다. 재치,PAPB(α,α(1α)/N)(β,β(1β)/N)PAPB

PAPBNormal(αβ,α(1α)+β(1β)N).

매우 큰 , 은 다르지 않습니다. 확률이 매우 낮습니다 (또 다른 무시 항). 따라서, 표준 일반 CDF로하자.Nα(1α)+β(1β)p(1p)+p(1p)=2p(1p)O(1/N)Φ

Pr(PA>PB)=Pr(PAPB>0)Φ(αβ2p(1p)/N).

그러나 는 평균이 0이고 분산이 은 표준 Normal입니다. 변이 (적어도 대략). 는 확률 적분 변환입니다 . 는 균일 합니다.αβ2p(1p)/N, Z=αβ2p(1p)/NΦΦ(Z)


1
나는 ... 까지 당신과 함께 해요 . 그러면 당신은 내가 따르지 않은 다른 방향으로 . 가 한 번 표준 정규 CDF로 두 번 정의하고 확률 적분으로 변환? 이 단계에 대한 설명을 확장하고 초기 코드 / 문제와 관련시킬 수 있기를 바랍니다. 어쩌면 루프백하고 특정 매개 변수가 균일 한 결과를 생성하는지 다시 설명하십시오. PAPBNormalΦ
russellpierce

1
@rpierce (1) 차이 는 와 가 독립적이고 각각이 대략 정상이므로 대략 정상입니다. 평균은 평균의 차이이고 분산은 분산의 합입니다. (2) 확률 적분 변환 이다 CDF : 그것은 모든 랜덤 변수의 경우와 연속 분포 것을, 일정하다. PAPBPAPBXFF(X)
whuber

1
오, 1을 얻었습니다. 이것은 어리석은 생각이지만 는 왜 CDF와 ? Pr(PA>PB)
russellpierce

1
@rpierce 정의에서 직접 따르지만 정규 분포의 대칭이 호출되는 약간의 왜곡이 있습니다. 우리는 및 variance 이라고 가정 하는 정규 변량 있습니다. 표준화 하면 확률을 μ = α - β σ 2 = 2 p ( 1 - p ) /X=PAPBμ=αβσ2=2p(1p)/NX
Pr(X>0)=Pr((Xμ)/σ>(0μ)/σ)=1Φ(μ/σ)=Φ(μ/σ).
whuber

3
@ whuber 이것은 꽤 놀랍습니다. 당신은 훌륭한 선생님입니다. 귀하와 rpierce의 답변에 감사드립니다. 문제가 해결되었으므로 여전히 그에게 신용을 드리겠습니다. 타이!
Cam.Davidson.Pilon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.