Deprecated Features
This appendix lists currently deprecated functionality along with how to replace it.
Starting with Stan 2.29, minor (syntax-level) deprecations can be removed 3 versions after release; e.g., syntax deprecated in Stan 2.20 will be removed in Stan 2.23 and placed in Removed Features. The Stan compiler can automatically update many of these on the behalf of the user for at least one version after they are removed.
Any feature which changes semantic meaning (such as the upgraded ODE solver interface) will not be removed until a major version change (e.g., Stan 3.0).
lkj_cov
distribution
Deprecated:The distribution lkj_cov
is deprecated.
Replacement: Replace lkj_cov_lpdf(...)
with an lkj_corr
distribution on the correlation matrix and independent lognormal distributions on the scales. That is, replace
cov_matrix[K] Sigma;
// ...
Sigma ~ lkj_cov(mu, tau, eta);
with
corr_matrix[K] Omega;
vector<lower=0>[K] sigma;
// ...
Omega ~ lkj_corr(eta);
sigma ~ lognormal(mu, tau);// ...
cov_matrix[K] Sigma;
Sigma <- quad_form_diag(Omega, sigma);
The variable Sigma
may be defined as a local variable in the model block or as a transformed parameter. An even more efficient transform would use Cholesky factors rather than full correlation matrix types.
Scheduled Removal: Stan 3.0 or later.
Use of _lp
functions in transformed parameters
Deprecated: Using functions that end in _lp
in the transformed parameters
block.
Replacement: Use _jacobian
functions and the jacobian +=
statement instead. These allow for change-of-variable adjustments which can be conditionally enabled by Stan’s algorithms.
New Keywords
Deprecated: The following identifiers will become reserved in the language in the specified version.
Replacement: Rename any variables or functions with these names.
Identifier | Version |
---|---|
jacobian | 2.38 |
Deprecated Functions
Several built-in Stan functions have been deprecated. Consult the functions reference for more information.