Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

I have a data set with 853 units. Below, a small sample of it:

y

 [1]  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
[10]  0.000000  6.751283  0.000000  0.000000 11.927481  0.000000  0.000000  0.000000  0.000000
[19]  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
[28]  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
[37]  0.000000  0.000000  0.000000  0.000000  5.342471  2.286760  0.000000  0.000000  3.464403
[46]  3.952309 16.030779 17.942967  0.000000  0.000000

head(x)

    gdp.cap     bf.cap
1  8.789771 0.03911118
2 10.204732 0.02341257
3  6.890112 0.04160150
4  9.178957 0.03892352
5  9.384171 0.03880186
6  9.562188 0.04165802

I'm calling JAGS from R to run the following code:

1) In JAGS

model {

    # Lognormal likelihood
    for(i in 1:N) { 
        y[i] ~ dlnorm(mu[i], tau)
        mu[i] <- beta0 + inprod(x[i,], beta[])
    }

    # Prior for betas
    beta0 ~ dnorm(mbeta0, precbeta0)

    for (j in 1:K) { # b are the number betas to be estimated
        beta[j] ~ dnorm(m[j], prec[j])
    }

    # Prior for precision of Y
    tau ~ dgamma(tau.a, tau.b)
    sigma <- 1/sqrt(tau)

}

2) In R:

dt <- read.csv("data.csv", header=T, sep=',')
dt <- na.omit(dt)

# Organize Data
y <- dt[,30]
x <- as.matrix(dt[,c(31,46)])

# Data:  
data <- list(N=length(y), K=2, y=y, x=x, m=c(-2,2), prec=c(.20, .20), tau.a=1, tau.b=2, mbeta0=0, precbeta0=.01)
inits <- rep(list(list(beta0=0, beta=c(1,1), tau=1)),5)
param <- c("beta0", "beta", "sigma")

# Sample Posterior
library(rjags)
sim <- jags.model(file="Bayesian/lognormal.bug", data=data, inits=inits, n.chains=5, n.adapt=1000)

I don't know why I get the following error:

Compiling model graph
Resolving undeclared variables
Allocating nodes
Graph Size: 39212

Initializing model
Deleting model

Error in jags.model(file = "Bayesian/lognormal.bug", data = data, inits = inits,  : 
Error in node y[1]
Observed node inconsistent with unobserved parents at initialization

Any help, please?

share|improve this question
Are you sure there is no zero or negative value in y ? – Stéphane Laurent Oct 28 '12 at 11:42
Can you show us a small previe of your data (dt,y and x)?? – A.R Oct 28 '12 at 14:35
Stéphane, there are lots of zeros in y. That's why I am using a lognormal. However, there are no negative values. – user1172558 Oct 28 '12 at 15:37

1 Answer

up vote 1 down vote accepted

You can't have zero values in a lognormal random variable--the support of the lognormal distribution is strictly positive.

If you explain in more detail what you're trying to do we may be able to help you write down a model that makes more sense.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.