demo/xrc2pbox.R

## ipeglim/demo/xrc2.R
##
## * multivariate normal imprecise prior
## * no intercept sampling model
## * X is centered
##
## Test of p-box
## 
## * log(E(y)) ~ b1*x1 + b2*x2

library(ipeglim)
rm(list=ls())

source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/cpef2reg.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/cpef.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/model.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/iprior.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/update_imprecise.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/summary_imprecise.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/print_imprecise.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/plot_imprecise.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/plot_summary.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/pbox_imprecise.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/qc.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/rvg4yx.R")
source("~/Documents/PhD/ipeglim/pkg/ipeglim/R/extract_MHchain.R")

# structure of X
xm <- c(3,-2)
xsd <- c(1,1)
xr <- diag(2)
xr[2] <- xr[3] <- r <- 0
xsigma <- t(diag(xsd))%*%xr%*%diag(xsd)

# structure of B
bm <- c(0,0)
bsd <- c(1,1)
br <- diag(2)
br[1,2] <- br[2,1] <- r1 <- 0
Bmat <- t(diag(bsd))%*%br%*%diag(bsd)
Bmat <- Bmat*1e-2

# parameter specification
bcfs1 <- c(0.5, 0.5)      # 1 quadrant
bcfs2 <- c(-0.5, 0.5)     # 2 quadrant
bcfs3 <- c(-0.5, -0.5)    # 3 quadrant
bcfs4 <- c(0.5, -0.5)     # 4 quadrant

SILENT <- TRUE
ZTRUNC <- TRUE

# random variates generation
tmp <- rvg4yx(N=3e2, pars=bcfs4, xreg=TRUE, ztrunc=ZTRUNC, kind="mvnorm", mean=xm, sigma=xsigma, center.X=TRUE)
dat <- tmp$yX
table(dat$y)
xi1 <- unlist(dat[1,-1])

m2fit <- model(formula=y~x1+x2-1, data=dat, ztrunc=ZTRUNC, dist="poisson")
cmfit <- iprior(obj=m2fit, circle=list(x0=0, y0=0, r=1, len=5))

t0 <- proc.time()

ola <- update(obj=cmfit, method="LA", B=Bmat, xi=xi1, silent=SILENT)
sla <- summary(ola, HT.est=TRUE, silent=SILENT)
t1 <- proc.time()

omh <- update(obj=cmfit, method="MH", B=Bmat, xi=xi1, silent=SILENT)
smh <- summary(omh, HT.est=TRUE, silent=SILENT)
t2 <- proc.time()

X11()
plot(sla, # for m0xtms
  main="Imprecise Posterior Shrinkage - Laplace", 
  sub=list(expression(-1<beta[1]~","~beta[2]<1), cex=1.25),
  xlab=expression(beta[1]),
  ylab=expression(beta[2]))

X11()
plot(smh, # for m0xtms
  main="Imprecise Posterior Shrinkage - Metropolis", 
  sub=list(expression(-1<beta[1]~","~beta[2]<1), cex=1.25),
  xlab=expression(beta[1]),
  ylab=expression(beta[2]))

Try the ipeglim package in your browser

Any scripts or data that you put into this service are public.

ipeglim documentation built on May 2, 2019, 4:31 p.m.