2016-10-15 4 views
1

Ich versuche 95% glaubwürdige Intervall von 50 Stichprobe Mittel zu finden. Probengrößen reichen von 2 bis 600, und die Werte in jeder Probe werden zwischen 1 und 5 ex begrenzt:Bayesian Schätzung von log-normal mit 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,...) 

Proben mit einer Größe von 10 oder mehr haben, eine Lognormalverteilung, wo i JAGS für Bayesian Schätzung verwenden die lognormalen Parameter angepasst von John K. Kruschke, mit Modellspezifikation wie folgt:

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)) 
} 
" 

Das Modell mit Probengröße> 10 jedoch gut funktioniert, mit 3 < = Proben < 10i in Obergrenze Extremwert bekam (z. B. 3000), die den maximal möglichen Wert des Mittelwerts (z. B. 5) überschritten hat. Bei Stichprobengröße = 2, erhielt ich die folgenden Fehler:

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

Ich bin neu in JAGS und kann nicht herausfinden, wie diese Probleme zu lösen. Ich denke für smapes < 10 ist die Verteilung nicht mehr lognormal! Irgendwelche Ideen? Danke

Antwort

0

Zuerst eine semantische Notiz. Sie verwenden JAGS nicht, um Beispielmittel zu finden. Sie verwenden JAGS, um die Mittelwerte der Populationen zu ermitteln, aus denen die Stichproben entstanden sind. Wenn Sie das Beispiel (log) finden möchten, können Sie einfach den Mittelwert der (Logarithmen der) Beispielwerte nehmen.

Wenn nun die Werte in jeder Stichprobe zwischen 1 und 5 begrenzt sind (aufgrund einer externen Einschränkung), wird die Stichprobe NIE aus einer logarithmischen Normalverteilung gezogen, was die Wahrscheinlichkeitsmasse über Werte von mehr als fünf setzt.

Stellen wir uns vor, um zu sagen, dass die Proben aus Lognormalproben stammen (und daher nicht inhärent zwischen 1 und 5 begrenzt sind). Dann sagt Ihnen JAGS einfach, dass nicht genügend Informationen in der Stichprobe enthalten sind, um eine gute Schätzung des Bevölkerungsdurchschnitts zu erhalten, aus dem er gezogen wurde. Ich würde mich nicht darum kümmern, den Fehler zu verstehen, wenn die Stichprobengröße zwei ist, weil es buchstäblich keine Möglichkeit gibt, aus zwei Stichproben eine gute Schlussfolgerung über den Mittelwert der Population zu ziehen. Dies gilt auch, wenn Sie wissen, dass die Bevölkerung logarithmisch normalverteilt ist. Und da Ihre Populationen nicht logarithmisch normal verteilt sind (sie sind zwischen 1 und 5 begrenzt), ist die gesamte Inferenzprozedur sowieso ungültig.