मैं कागजात का एक सेट की समीक्षा की है, प्रत्येक रिपोर्टिंग की माप की प्रेक्षित मतलब और एसडी में जाना जाता है आकार के अपने संबंधित नमूने में, एन । मैं एक नए अध्ययन में उसी माप के संभावित वितरण के बारे में सबसे अच्छा संभव अनुमान लगाना चाहता हूं जो मैं डिजाइन कर रहा हूं, और उस अनुमान में कितनी अनिश्चितता है। मुझे लगता है करने के लिए खुश हूँ एक्स ~ एन ( μ , σ 2 )।
मेरा पहला विचार मेटा-विश्लेषण था, लेकिन मॉडल आमतौर पर बिंदु अनुमानों और इसी आत्मविश्वास अंतराल पर ध्यान केंद्रित करते थे। हालांकि, मैं से भरा वितरण के बारे में कुछ कहना चाहते जो इस मामले में भी विचरण के बारे में एक अनुमान बनाने, सहित होता है, σ 2 ।
मैं पूर्व ज्ञान के प्रकाश में दिए गए वितरण के मापदंडों के पूर्ण सेट का आकलन करने के लिए संभावित बायिसन दृष्टिकोण के बारे में पढ़ रहा हूं। यह आम तौर पर मेरे लिए अधिक समझ में आता है, लेकिन मुझे बायेसियन विश्लेषण के साथ शून्य अनुभव है। यह भी मेरे दांतों को काटने के लिए एक सीधी, अपेक्षाकृत सरल समस्या की तरह लगता है।
1) मेरी समस्या को देखते हुए, कौन सा दृष्टिकोण सबसे अधिक समझ में आता है और क्यों? मेटा-विश्लेषण या बायेसियन दृष्टिकोण?
2) यदि आपको लगता है कि बायेसियन दृष्टिकोण सबसे अच्छा है, तो क्या आप मुझे इसे लागू करने के तरीके पर इंगित कर सकते हैं (अधिमानतः आर में)?
संपादन:
मैं इस पर काम करने की कोशिश कर रहा हूं जो मुझे लगता है कि एक 'सरल' बायेसियन तरीका है।
जैसा कि मैंने ऊपर कहा गया है, मैं सिर्फ अनुमान मतलब, में कोई दिलचस्पी नहीं , लेकिन यह भी विचरण, σ 2 , पहले जानकारी के प्रकाश में, यानी पी ( μ , σ 2 | Y )
फिर से, मैं व्यवहार में Bayeianism बारे में कुछ नहीं पता है, लेकिन यह लंबे समय से नहीं लिया के माध्यम से एक बंद फार्म समाधान है कि अज्ञात मतलब और विचरण के साथ एक सामान्य वितरण के पीछे लगता है conjugacy सामान्य उलटा-गामा वितरण के साथ,।
समस्या के रूप में पुनर्निर्मित किया गया है ।
एक सामान्य वितरण के साथ अनुमान लगाया गया है; उलटा-गामा वितरण के साथ पी ( gam 2 | Y ) ।
मुझे अपना सिर इसके चारों ओर लाने में थोड़ा समय लगा, लेकिन इन लिंक ( 1 , 2 ) से मैं सक्षम था, मुझे लगता है, यह करने के लिए कि आर में यह कैसे करना है।
मैंने 33 अध्ययनों / नमूनों में से प्रत्येक के लिए एक पंक्ति से बना एक डेटा फ्रेम के साथ शुरू किया, और माध्य, विचरण और नमूना आकार के लिए कॉलम। मैंने अपनी पूर्व सूचना के रूप में, पंक्ति 1 में पहले अध्ययन से माध्य, विचरण और नमूना आकार का उपयोग किया। मैं तो अगले अध्ययन से जानकारी के साथ इस अद्यतन, प्रासंगिक पैरामीटर गणना की है, और के वितरण पाने के लिए सामान्य उलटा-गामा से नमूना और σ 2 । यह तब तक दोहराया जाता है जब तक सभी 33 अध्ययनों को शामिल नहीं कर लिया जाता।
# Loop start values values
i <- 2
k <- 1
# Results go here
muL <- list() # mean of the estimated mean distribution
varL <- list() # variance of the estimated mean distribution
nL <- list() # sample size
eVarL <- list() # mean of the estimated variance distribution
distL <- list() # sampling 10k times from the mean and variance distributions
# Priors, taken from the study in row 1 of the data frame
muPrior <- bayesDf[1, 14] # Starting mean
nPrior <- bayesDf[1, 10] # Starting sample size
varPrior <- bayesDf[1, 16]^2 # Starting variance
for (i in 2:nrow(bayesDf)){
# "New" Data, Sufficient Statistics needed for parameter estimation
muSamp <- bayesDf[i, 14] # mean
nSamp <- bayesDf[i, 10] # sample size
sumSqSamp <- bayesDf[i, 16]^2*(nSamp-1) # sum of squares (variance * (n-1))
# Posteriors
nPost <- nPrior + nSamp
muPost <- (nPrior * muPrior + nSamp * muSamp) / (nPost)
sPost <- (nPrior * varPrior) +
sumSqSamp +
((nPrior * nSamp) / (nPost)) * ((muSamp - muPrior)^2)
varPost <- sPost/nPost
bPost <- (nPrior * varPrior) +
sumSqSamp +
(nPrior * nSamp / (nPost)) * ((muPrior - muSamp)^2)
# Update
muPrior <- muPost
nPrior <- nPost
varPrior <- varPost
# Store
muL[[i]] <- muPost
varL[[i]] <- varPost
nL[[i]] <- nPost
eVarL[[i]] <- (bPost/2) / ((nPost/2) - 1)
# Sample
muDistL <- list()
varDistL <- list()
for (j in 1:10000){
varDistL[[j]] <- 1/rgamma(1, nPost/2, bPost/2)
v <- 1/rgamma(1, nPost/2, bPost/2)
muDistL[[j]] <- rnorm(1, muPost, v/nPost)
}
# Store
varDist <- do.call(rbind, varDistL)
muDist <- do.call(rbind, muDistL)
dist <- as.data.frame(cbind(varDist, muDist))
distL[[k]] <- dist
# Advance
k <- k+1
i <- i+1
}
var <- do.call(rbind, varL)
mu <- do.call(rbind, muL)
n <- do.call(rbind, nL)
eVar <- do.call(rbind, eVarL)
normsDf <- as.data.frame(cbind(mu, var, eVar, n))
colnames(seDf) <- c("mu", "var", "evar", "n")
normsDf$order <- c(1:33)
यहाँ प्रत्येक अद्यतन पर माध्य और विचरण के लिए अनुमानित वितरण से नमूने के आधार पर desnities हैं।
मैं इसे किसी और के लिए उपयोगी होने के मामले में जोड़ना चाहता था, और ताकि लोगों को पता चल सके कि क्या यह समझदार है, दोषपूर्ण है, आदि।