# Nonlinear latent variables: Problems with initial values

Hi all,
I want to fit a model with latent variables restricted to the unit interval [0,1] and nonlinear relations. This is a toy model of a real application with much more relations. Below is the complete R code including simulation of a data set. When I run this model I get the error “Rejecting initial value” because “Log probability evaluates to log(0)” . I have no clue where the the problem comes from. Any help?
Reinhard

``````require(rstan)

n=100;
L1=runif(n); L2=runif(n)
x1=0.1+0.7*L1+rnorm(n,0,0.2) # path weigth 1,2 : 0.1, 0.7
x2=0.3+0.5*L2+rnorm(n,0,0.1) # path weigth 3,4 : 0.3, 0.5
x3=0.2+0.8*L1*L2+rnorm(n,0,0.2) # path weight 5,6 : 0.2, 0.8

dat=data.frame(x1,x2,x3)

stan.dat <- list(N=nrow(dat), P=ncol(dat), Y=as.matrix(dat), L=2, B=6 )

model="
data{
int N; // sample size
int P; // number of manifest variables
matrix[N, P] Y; // data matrix
int L; // number of latent variables
int B; // number of path weights
}

parameters{
matrix<lower = 0, upper = 1>[N, L] LV; // factor scores of latent variables
vector[B] beta; // path weights
vector<lower=0>[P] var_P; // error variance for observed variables
}

transformed parameters{
matrix[N,P] mu_pred; // predicted values of observed variables
for(i in 1:N){
mu_pred[i,1]= beta[1] +beta[2]*LV[i,1];
mu_pred[i,2]= beta[3] +beta[4]*LV[i,2];
mu_pred[i,3]= beta[5] +beta[5]*LV[i,1]*LV[i,2];
}
}