이 분포가 왜 균일합니까?


12

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

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

nA∼Binomial(N,pA)

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

PA∼Beta(1+nA,N−nA+1)

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

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

제 질문은 p_A = p_B 일 때 왜 S \ sim \ text {Uniform (0,1)} 입니까?S∼Uniform(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,1−p)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(1−p)Nα=nA/Nβ=nB/Npp(1−p)/N

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

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

    그리고 분산

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

    와 비슷한 결과가 .PB

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

PA−PB≈Normal(α−β,α(1−α)+β(1−β)N).

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

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

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


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

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

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

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