Comments (3)
Just found this bug myself - I was going to post an issue but found this one.
Rethinking will fit an NBD model correctly using rgampois - I can get results to match brms() glm.nb() and match the model parameters for some simulated data. (I can share detail on this if helpful)
However, if you run sim()
on the fitted rethinking model, then the simulated data won't be right as there's a mismatch between the different parameterisations. To get the correct simulations, you need to take the fitted values and pass them to the built in rnbinom
function with different transformations.
I agree with rgampois_proposed()
as above for getting the right numbers out.
from rethinking.
Thanks. If I understand right, the issue is just that the internal Stan function has a different parameterization than is assumed to be consistent with random number generator function? The map2stan model seems to be working fine.
from rethinking.
You are right.
Based on my observation, I think the parameterization of negative binomial in stan and rethinking are different as follows:
Using X ~ Gamma(a, b) where E[X]= a * b, Var[X]=a* b^2 as a reference gamma distribution(where a
is a shape parameter and b
a scale parameter),
- In
rgampois
ofrethinking
, the focus ismu
andb
( which is the scale parameter of the above gamma distribution), hence its function definition. - In
neg_binomial_2
ofstan
, the focus is onmu
anda
(which is a shape parameter of the above gamma distribution), which is also an inverse dispersion parameter. The critical insight I learned while debugging this is that the notion of dispersion is embeded ina
as opposed tob
.
I was a bit confused initially, because when I think of negative binomial(or gamma-poisson mixture), I always think of poisson + overdispersion. So I automatically assumed that "scale" represented the parameter for the overdispersion, when in fact it's not.
from rethinking.
Related Issues (20)
- Feature request: Add a template for shifted lognormal distribution HOT 2
- Does the rethinking package work using the newest version of R - 4.2.2? HOT 1
- Nevermind HOT 2
- Eliminating variable breaks ulam model HOT 2
- Smooth functions of a variable - modeling syntax HOT 2
- Problem with R code 9.14 on Mac OS
- problems loading rethinking HOT 1
- Zero Inflated Negative Binomial Model HOT 1
- difference in n_eff of population mean depending on model specification HOT 3
- Comparison length > 1 in `cv_data_slice`.
- character limit in translating to stan with ulam()? HOT 3
- Problem with defining imputed variable as a vector in generated stan code HOT 2
- link() not handling id variable values not in original data HOT 2
- Gamma parameterisation
- sim() from model with missing value imputation breaks with error "function merge_missing not found" HOT 2
- 'reject' stan command conflicts with UCBadmit data
- Chapter 16 Lynx Hare Model Change with Stan 2.33.0? HOT 10
- How to construct a spline model using ulam() HOT 4
- cannot install rethinking HOT 1
- Error in link(), R code 4.67 HOT 1
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 rethinking.