Windowed adaptation schedule - widths of each interval?

In section 15.2 of the manual, looking at the first figure and table it seems that the (default) widths of the adaptation intervals/windows which Stan uses are as follows: \{75, 25, 50, 100, 200, 400, 25 \} (with the first and last intervals being the “fast” adaptation ones which adapt \epsilon and \tau only, and the 5 middle windows being the “slow” adaptation windows which adapt \mathbf{M}, \epsilon and L ) - which requires a total number of 875 iterations.

My questions are as follows:

  • How do these intervals change if the burn-in period is < 875 iterations? for instance if the burn-in is 300? do the length of the windows shrink or will there just be less “slow” windows?
  • Can I extract the length of each window from Stan model output?

See here



Sorry for being dense here but how do I actually extract init_buffer etc. after I have run a model using cmdstanr? I have set save_warmup = 1 when running the model but still cannot see init_buffer, window, etc in the output?

After setting save_warmup=1 I also get a “Warning: non-fatal error reading adaptation data” warning after the model has finished running - not sure if this matters or not?

Ah, it appears that the documentation is a bit incomplete; while there are default values for init_buffer (75), term_buffer (50) and window (25), those values don’t seem to be noted in the cmdstan docs nor the corresponding docs of any of the interfaces. You can see the default values in the csv header when you run the sampler with no user-supplied values for those arguments.

1 Like