2016-10-15 2 views
1

50 샘플 평균의 95 % 신뢰 구간을 찾으려고합니다. 샘플 크기는 2 내지 600의 범위, 각 시료의 값이 1 ~ 5 예 묶여있다 : (10)의 크기JAGS를 사용하여 로그 정규 분포를 베이지안으로 추정

sample 1 = (1,3.5,2.8,5,4.6) 
sample 2 = (1,5) 
sample 3 = (4.1,1.1,5,3.5,2,2.4,...) 

샘플 이상의 난의 베이지안 추정 장애가 있었던 사용 로그 정규 분포를 갖는다 로그 정규 모델 사양 존 K. Kruschke에서 적응 파라미터를 아래와 같이

modelstring = " 
    model { 
    for(i in 1 : N) { 
     y[i] ~ dlnorm(muOfLogY , 1/sigmaOfLogY^2) 
    } 
    sigmaOfLogY ~ dunif(0.001*sdOfLogY , 1000*sdOfLogY) 
    muOfLogY ~ dunif(0.001*meanOfLogY , 1000*meanOfLogY) 
    muOfY <- exp(muOfLogY+sigmaOfLogY^2/2) 
    modeOfY <- exp(muOfLogY-sigmaOfLogY^2) 
    sigmaOfY <- sqrt(exp(2*muOfLogY+sigmaOfLogY^2)*(exp(sigmaOfLogY^2)-1)) 
} 
" 

을 모델 내가 상한에 극대값을 가지고 103 < = 샘플 <으로, 샘플 크기 그러나> (10)로 잘 작동 (예 : 5) 평균을 초과 한 평균값 (예 : 3000).

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
    NA/NaN/Inf in 'y' 

내가 장애가 있었던 경우에 새로운 오전이 문제를 해결하는 방법을 알아낼 수 없습니다 : 는 표본 크기 = 2의 경우, 나는 아래의 오류가 발생했습니다. 나는 smaples에 대해 < 10 분배가 더 이상 로그 정상이라고 생각합니다! 아이디어가 있으십니까? 감사합니다.

답변

0

첫 번째 의미 메모. 샘플 수단을 찾기 위해 JAGS를 사용하지 않습니다. JAGS를 사용하여 샘플이 생성 된 개체군의 방법을 찾습니다. 샘플 (로그)을 찾으려면 샘플 값의 대수 (logarithms)를 취하면됩니다.

이제 각 샘플의 값이 (외부 제약으로 인해) 1과 5 사이에있는 경우, 로그 정규 분포에서 샘플을 가져 오지 않습니다.이 값은 본질적으로 5보다 큰 값보다 큰 확률을가집니다.

샘플은 대수 정규 샘플링에서 생겨 났으므로 (본질적으로 1과 5 사이에 국한되지는 않습니다) 상상해 봅시다. 그렇다면 JAGS는 샘플에 포함 된 정보가 충분하지 않아 단순히 모집단 평균을 정확하게 추정 할 수 없다고 말하고 있습니다. 표본 크기가 2 일 때 오류를 이해하는 것에 대해 걱정할 필요가 없습니다. 실제로 두 표본에서 모집단 평균에 대한 좋은 추론을 얻을 수있는 방법이 없으므로 걱정하지 않아도됩니다. 모집단이 실제로 정규 분포로 분포되어 있음을 알고 있더라도 마찬가지입니다. 그리고 당신의 인구가 실제로 로그 정규 분포가 아니기 때문에 (1과 5 사이에 한정되어 있음) 어쨌든 전체 추론 절차는 무효입니다.

관련 문제