Comments (5)
Seems like Stan changed something about how warmup and/or sampling works. If you set control=list(adapt_delta=0.99)
, the spike goes away with modest samples. So that suggests a change to warmup algorithm.
I don't understand why the results should differ, however, once the adaptation is adjusted.
I can't get the same random data from the provided seed, in any event. I can't imagine anything changed with the way the seed is used. So I must have used a different seed for the example shown in 13.4 and 13.5. I'll see if I figure it out.
from rethinking.
Thanks the adaptive_delta seems to have eliminated the spike. I initially expected that the mass at 0 was shifting the distribution's MAP, but it seems with the adaptive_delta it is still at:
Mean StdDev lower 0.89 upper 0.89 n_eff Rhat
Rho[1,1] 1.00 0.00 1.00 1.00 6000 NaN
Rho[1,2] -0.18 0.33 -0.71 0.33 2211 1.00
Rho[2,1] -0.18 0.33 -0.71 0.33 2211 1.00
Rho[2,2] 1.00 0.00 1.00 1.00 6000 1.00
Rather bizarre. Just to make sure I am understanding this correctly, I should expect Rho[1,2], Rho[2,1] to be -0.7 yes? As the original Rho matrix we defined earlier:
sigmas <- c(sigma_a,sigma_b) # standard deviations
Rho <- matrix( c(1,rho,rho,1) , nrow=2 ) # correlation matrix
Returns:
[,1] [,2]
[1,] 1.0 -0.7
[2,] -0.7 1.0
Right? Or am I missing something?
from rethinking.
I think the provided seed in the text won't reproduce Figure 13.4. That's an issue. I should figure out which random seed will reproduce that figure.
But we shouldn't expect any particular simulation to recover the "true" correlation of -0.7. Many simulated sets of data will produce a milder empirical correlation than that, and then the finite evidence will lead to regularization towards a less strong correlation.
from rethinking.
I think the Stan team recently changed the default of adapt_delta
from 0.95 to 0.8, which may explain the convergence problems. Apart from that, adapt_delta = 0.8
should work ok when using the non-centered parameterizations.
When trying to get reliable estimates of random effects correlations, n = 20
(for the cafes) will likely not suffice. Also lkjcorr(2)
pulls the estimates somewhat towards zero. As long as rho = -0.7
is in the 95% credible interval (when using Rho ~ lkjcorr(1)
) I wouldn't worry too much.
from rethinking.
set.seed(4) instead of set.seed(5) gives me roughly the same plot as figure 13.4 (1st edition)
from rethinking.
Related Issues (20)
- Error in link(), R code 4.67 HOT 1
- Poisson response imputation compilation error
- Random Effect in Zero-Inflated Model
- Rethink package is NOT getting installed HOT 8
- Sampling issue for the Cat Adoptions Survival model.
- Random walk in ulam HOT 2
- problem in precis command
- Can multiple outcomes be regressed on the same linear model?
- ulam fits missing @stanfit slot? HOT 2
- WAIC not computing from ulam() model, even with log_lik = TRUE HOT 4
- Problem installing cmdstanr HOT 1
- ulam fits giving odd errors HOT 4
- errata 2nd Edition page 130
- log_lik fails with matrices in models fit by ulam HOT 6
- Where is sim_globe, and the rest of the code shown in the videos? HOT 2
- Panda_nuts Nut-Cracking Frequency? HOT 6
- The garden of forking data - 2 blue from 1? HOT 3
- quap allows incorrect(?) definition with categorical variable HOT 1
- Consistent syntax error on map2stan/ulam issues HOT 2
- Some typos here and there
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.