Product: TIBCO Spotfire®

**Problem:**

FlexBayes library Help Files for bhpm() has a bug.

**Solution:**

There is a bug in the FlexBayes library Help Files. If you run one of the examples from the bhpm() Help File:

##########################################

# Use bhpm to fit an overdispersed Poisson model to the

# pumps data

xi.prior = bayes.uniformShrinkage (0.5)

random.var.prior = bayes.invWishart( df = 3, scale = diag( c(1,1) ) )

pump.prior = bhpm.prior ( xi = xi.prior,

random.var = random.var.prior,

common.glm = 2 )

# Specify the control parameters (burn-in length,

# etc.) and the initial values for the parameters.

pump.sampler <- bhpm.sampler( nSamples=1000, nThin= 50,

nChains = 1, nBurnin = 1000,

init.point = "prior", update.cov = 0 )

pump.exposure <- ~ e

pump.random <- z ~ 1 + x

## call bhpm to fit a gamma-conjugate model

pump.bhpm <- bhpm( random.formula = pump.random,

exposure.formula = pump.exposure, data = pumps,

prior = pump.prior, sampler = pump.sampler,

overdispersion = "gamma-conj" )

# check convergence

autocorr.plot(pump.bhpm)

# summarize the posterior distribution

summary(pump.bhpm)

##########################################

> pump.bhpm <- bhpm(random.formula = pump.random, exposure.formula = pump.exposure, data = pumps, prior = pump.prior,

sampler = pump.sampler, overdispersion = "gamma-conj")

Problem in mcmc: argument burnin= not matched: mcmc(data = post.samples, thin = sampleFrequency, burnin = burnInLength)

Use traceback() to see the call stack

> traceback()

10: eval(action, sys.parent())

9: doErrorAction("Problem in mcmc: argument burnin= not matched: mcmc(data = post.samples, thin = sampleFrequency, burnin = burnInLength)",

8: mcmc(data = post.samples, thin = sampleFrequency, burnin = burnInLength)

7: fit.bayeshpm(n.groups, n.responses, dim.random, dim.fixed, dim.level2, exposure.in.model, response.names,

6: bhpm(random.formula = pump.random, exposure.formula = pump.exposure, data = pumps, prior = pump.prior, sampler =

5: eval(i, local)

4: source(auto.print = auto.print, exprs = substitute(exprs.literal))

3: script.run(exprs.literal = {

2: eval(expression(script.run(exprs.literal = {

1:

Message: Problem in mcmc: argument burnin= not matched: mcmc(data = post.samples, thin = sampleFrequency, burnin = burnInLength)

###########################################

The problem is coming from the Coda library being higher in the search path than flexBayes. If you do a quick command to see where the mcmc() function is located at (this is the function causing the error message you are encountering), you can see that it exists in both Coda and flexBayes:

> find("mcmc")

[1] "flexbayes" "coda"

This means that it is finding the mcmc() function in the Coda library and using it instead of finding and using the mcmc() function in the flexBayes library. To fix this issue, remove your Coda library and then run the code again. For example:

> detach("coda")

> search()

[1] "D:\\Program Files\\Tibco\\splus81\\users\\rflodin"

[2] "finmetrics"

[3] "robust"

[4] "splus"

[5] "stat"

[6] "data"

[7] "trellis"

[8] "curl"

[9] "nlme3"

[10] "menu"

[11] "sgui"

[12] "MASS"

[13] "pkgutils"

[14] "flexbayes"

[15] "main"

> myPostX <- bhlm( fixed.formula = SDF3$veh.mean ~ 1, data = SDF3,prior

> = myPrior )

Loading required package coda

> myPostX

*** Posterior Distribution from the Bayesian Model ***

Call:

bhlm(fixed.formula = SDF3$veh.mean ~ 1, data = SDF3, prior = myPrior)

# of Chains: 1

Starting Iteration: 1001

Ending Iteration: 2000

Thinning: 1

# of Samples: 1000

1. Summary statistics:

Mean S.D.

(Intercept) 136.70 8.070

SIGMA 18.39 7.136

2. Quantiles:

2.5 % 25 % 50 % 75 % 97.5 %

(Intercept) 121.20 132.40 136.70 141.00 152.70

SIGMA 10.03 13.67 16.85 20.83 37.32

>

If this does not work, try detaching both Coda and flexBayes and then load flexBayes from the command prompt:

> detach("coda")

> detach("flexBayes")

> library(flexBayes)

There is also a known bug that occurs when loading flexBayes from the GUI (File -> Load Library...). The problem is that it is not loaded in the correct position in the search path. By loading the library at the command prompt using:

> library(flexBayes)

it is loaded into the correct position.

## Comments

0 comments

Article is closed for comments.