In [1]:
#==============================================================================
# Distribuicao preditiva (x_n | x_1,x_2,...,x_{n-1})
#==============================================================================
x      <- c(2911,3403,3237,3509,3118) 
xbarra <- mean(x)
In [2]:
#==============================================================================
# Funcao de densidade de probabilidade preditiva (x_n | x_1,x_2,...,x_{n-1})
#==============================================================================
fpred <- function(xn,xbarra,a,b,logT=T){
    if(!is.vector(xbarra) || !is.vector(a) || !is.vector(b)) return(NA)
    if(length(xbarra)!=1 || length(a)!=1 || length(b)!=1) return(NA)
    n    <- length(xn)
    out  <- ( (a+n-1)*log(b+(n-1)*xbarra)-(a+n)*log(b+(n-1)*xbarra+xn)
            + lgamma(a+n)-lgamma(a+n-1) )
    if(!logT) out <- exp(out)
    return(out)
}
In [3]:
#==============================================================================
# Grafico da f.d.p. preditiva (x_n | x_1,x_2,...,x_{n-1})
#==============================================================================
xpred <- seq(0,30000,length=10000) # sequencia de valores de lambda
ypred <-  fpred(xpred,xbarra=xbarra,a=4,b=20000,logT=F)

par(mfrow=c(1,1),lwd=2.0,cex.lab=1.5,cex.axis=1.5,lab=c(4,4,5),
    mar=c(5,5,2,2.5),xpd=T,cex.main=2.0)
plot(xpred,ypred,type="l",lwd=2,col="blue",xlab=expression(x[n]),
    ylab=expression(paste("f(",x[n],"|",x[1],",...,",x[n-1],")",sep="")))