Comments (2)
The problem is that Stan, unlike BUGS and R,
distinguishes between integer and floating-point (real)
types.
Specifically, your declaration
real Y[N];
is incompatible in Stan with its use:
Y[i] ~ poisson(a + b*X[i]);
The variate in a Poisson is required to be an
integer type.
You should be able to fix the problem by declaring:
int Y[N];
If your Y aren't integers, you can't technically use a Poisson
probability mass function.
You could define a probability density function that's Poisson-like
using lp__ as described in the manual section on writing your
own probability functions in Stan.
- Bob
On 2/12/13 5:43 PM, rszoh wrote:
All,
I have the following code that fits a Poisson model to a data:
library(rstan)
Bcca_mod <- '
data {
int N; // sample size
real Y[N];
real X[N];
}
parameters {
real a;
real b;
}
transformed parameters {}
model {
a ~ gamma(1,1);
b~ gamma(1,1);
for(i in 1:N)
Y[i] ~ poisson(a + b*X[i]);
}
'
N=20X = seq(0,20,length.out=N)/20
a=1.5
b=3
Y = apply(matrix(a+b*X,ncol=1),1,rpois,n=1)bcca_dat<-list("Y"=Y,"N"=N,"X"=X)
fit <- stan(model_code = Bcca_mod, data = bcca_dat, iter = 1000, chains = 2)Note that I have the right constraints on a and b and Y even though they don't show.
When I run the above code I get this error message:Error in stanc(file = file, model_code = model_code, model_name = model_name, :
failed to parse Stan model 'Bcca_mod' with error message:
EXPECTATION FAILURE LOCATION: file=input; line=18, column=1Y[i] ~ poisson(a + b*X[i]);
^-- hereDIAGNOSTIC(S) FROM PARSER:
no matches for function name="poisson_log"
arg 0 type=real
arg 1 type=real
unknown distribution=poisson
Parser expecting:Does it mean that stan does not yet support the poisson distribution??
Any help will be appreciated.
Thanks—
Reply to this email directly or view it on GitHub #13.
from stan.
I realized after another close look a the code that Y was declared real instead of Int. Now things work just perfect!
Many thanks!
from stan.
Related Issues (20)
- Typo on wiki: prior choice recommendation for correlation HOT 2
- Pathfinder run not reproducible from seed
- Underflow in psis_weights leads to uniform sampling from multi-pathfinder draws
- Add resampling options for multi-Pathfinder HOT 5
- min:max indexing does not support SoA but does not prevent this at compile time? HOT 5
- `install-tbb.bat` fails on windows
- Write metric as JSON - add field "metric_type" HOT 1
- How to use stan::math::hypergeometric_2F1 in stan? HOT 1
- Move away from the `boost::ecuyer1988` pRNG HOT 3
- Remove places where exceptions are unconditionally swallowed.
- Add an argument to write Hessian from Laplace algorithm to a file
- CompileError: command '/usr/bin/gcc' failed with exit code 1 HOT 6
- Pathfinder: unexpected behavior when num_draws < num_elbo_draws
- Implementation of improved Rhat for assessing convergence of MCMC
- Exception: In serializer: Storage capacity [763] exceeded while writing value of size [16] from position [759] HOT 6
- Too loose ASSERT_NEAR and wrong test values in compute_potential_scale_reduction_test.cpp HOT 3
- Allow some chains in multi chain samplers to fail during initialization HOT 3
- Move from int to long int? HOT 3
- Round the Pathfinder Pareto k-value
- report condition number of metric for HMC adaptive samplers HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stan.