#----------------------------------------------
# Inferenza di p di Bernoulli da una sequenza
# + previsione di successi in ulteriori prove
#
# GdA marzo 2011
#----------------------------------------------
# function pausa
pausa <- function() {
  cat ("\n >> Guarda il plot e dai enter per continuare\n")
  scan()
}

library(rjags)

modello = "inf_lambda_pred.bug"  # file con il modello

dati <- NULL  # oggetto con i dati
dati$X  <- 100

jm <- jags.model(modello, dati)  # definisce il modello

update(jm, 100)                  # burn in 

catena <- coda.samples(jm, c("lambda","Y"), n.iter=10000)  # sampling 

print(summary(catena))
plot(catena)

pausa()
# trasformiamo il formato della catena
catena.df <- as.data.frame( as.mcmc(catena) )

# plot a modo nostro
layout(matrix(1:2,2,1)) 
hist(catena.df$lambda, nc=100, prob=TRUE,
     xlim=c(40,170), col='yellow',
     xlab='lambda', ylab='f(lambda)', main='Inferenza su lambda')

ty <- table(catena.df$Y)
barplot(ty/sum(ty), col='red', xlab='Y', ylab='f(Y)',
#         xlim=c(40,170),
        main=sprintf('Numero di conteggi futuri', dati$n1))
layout(1)

pausa()
# plot di correlazione
print(cor(catena.df$lambda, catena.df$Y))
plot(catena.df$lambda, catena.df$Y,
     xlab='lambda', ylab='Y', main='Correlazione y-p')
