--- a +++ b/NEWS.md @@ -0,0 +1,199 @@ +# Current development version + +### Smaller Changes and Bug Fixes + + +# hsstan 0.8.2 (13 January 2024) + +### Smaller Changes and Bug Fixes + +- Update deprecated syntax for future rstan compatibility (thanks to + Andrew Johnson for the patch). + +# hsstan 0.8.1 (16 September 2021) + +### Smaller Changes and Bug Fixes + +- Fix bug in `projsel()` if the number of observations in the dataset is + smaller than both the number of available predictors and the maximum + number of iterations in the selection procedure. +- Add workaround for + [rstantools issue #77](https://github.com/stan-dev/rstantools/issues/77) + to make the base models run again correctly with the compilation changes + introduced in `rstan` 2.21. +- Add `RcppParallel` to Imports and LinkingTo, as future versions of + `rstan` require to link to the Intel TBB library. +- Improve validation of scalar inputs. + +# hsstan 0.8 (29 June 2020) + +### Major Changes + +- Add the `sub.idx` option to `posterior_performance()` to select the + observations to be used in the computation of the performance measures. +- Add the `start.from` option to run `projsel()` to start the selection + procedure from a submodel different from the set of unpenalized covariates. +- Allow interaction terms in the formula for unpenalized covariates. +- Speed up matrix multiplications in `posterior_linpred()` and `projsel()`: + this also benefits all other functions that use `posterior_linpred()`, such + as `log_lik()`, `posterior_predict()`, `posterior_performance()` and others. + +### Smaller Changes and Bug Fixes + +- Fix parallelized loop boundaries in `posterior_performance()` for Windows. +- Speed up `posterior_performance()` for gaussian models. +- Handle correctly the case in which a variable is mentioned both among the + unpenalized covariates and the penalized predictors. +- Fix bug in handling of a factor variable with multiple levels in the set of + penalized predictors. +- Use the correct sigma term in the computation of the elpd for gaussian models. +- Allow running `projsel()` on models with no penalized predictors. + +### Notes + +- This version was used in: + - [M. Colombo][mcol], A. Asadi Shehni, I. Thoma et al., + Quantitative levels of serum N-glycans in type 1 diabetes and their + association with kidney disease, + [_Glycobiology_ (2021) 31 (5): 613-623](https://doi.org/10.1093/glycob/cwaa106). + +# hsstan 0.7 (1 May 2020) + +### Major Changes + +- Speed up all models up to 4-5 times by using Stan's `normal_id_glm()` and + `bernoulli_logit_glm()`. +- Use a simpler parametrization of the regularized horseshoe prior. + +### Smaller Changes and Bug Fixes + +- Allow using the `iter` and `warmup` options in `kfold()`. +- Switch to `rstantools` 2.0.0. +- Fix bug in the use of the `slab.scale` parameter of `hsstan()`, as it was not + squared in the computation of the slab component of the regularized horseshoe + prior. The default value of 2 in the current version corresponds to using the + value 4 in versions 0.6 and earlier. + +# hsstan 0.6 (14 September 2019) + +### Major Changes + +- First version to be available on CRAN. +- Add the `kfold()` and `posterior_summary()` functions. +- Implement parallelization on Windows using `parallel::parLapply()`. +- Remove the deprecated `sample.stan()` and `sample.stan.cv()`. +- Replace `get.cv.performance()` with `posterior_performance()`. +- Report the intercept-only results from `projsel()`. +- Add options to `plot.projsel()` for choosing the number of points to plot and + whether to show a point for the null model. + +### Smaller Changes and Bug Fixes + +- Cap to 4 the number of cores used by default when loading the package. +- Don't change an already set `mc.cores` option when loading the package. +- Drop the internal horseshoe parameters from the stanfit object by default. +- Speed up the parallel loops in the projection methods. +- Evaluate the full model in `projsel()` only if selection stopped early. +- Rename the `max.num.pred` argument of `projsel()` to `max.iters`. +- Validate the options passed to `rstan::sampling()`. +- Expand the documentation and add examples. + +### Notes + +- This version was used in: + - [M. Colombo][mcol], S.J. McGurnaghan, L.A.K. Blackbourn et al., + Comparison of serum and urinary biomarker panels with albumin creatinin + ratio in the prediction of renal function decline in type 1 diabetes, + [_Diabetologia_ (2020) 63 (4): 788-798](https://doi.org/10.1007/s00125-019-05081-8). + +# hsstan 0.5 (11 August 2019) + +### Major Changes + +- Update the interface of `hsstan()`. +- Don't standardize the data inside `hsstan()`. +- Implement the thin QR decomposition and use it by default. +- Replace uses of `foreach()`/`%dopar%` with `parallel::mclapply()`. +- Add the `posterior_interval()`, `posterior_linpred()`, `posterior_predict()` + `log_lik()`, `bayes_R2()`, `loo_R2()` and `waic()` functions. +- Change the folds format from a list of indices to a vector of fold numbers. + +### Smaller Changes and Bug Fixes + +- Add the `nsamples()` and `sampler.stats()` functions. +- Use `crossprod()`/`tcrossprod()` instead of matrix multiplications. +- Don't return the posterior mean of sigma in the hsstan object. +- Store covariates and biomarkers in the hsstan object. +- Remove option for using variational Bayes. +- Add option to control the number of Markov chains run. +- Fix computation of fitted values for logistic regression. +- Fix two errors in the computation of the elpd in `fit.submodel()`. +- Store the original data in the hsstan object. +- Use `log_lik()` instead of computing and storing the log-likelihood in Stan. +- Allow the use of regular expressions for `pars` in `summary.hsstan()`. + +# hsstan 0.4 (24 July 2019) + +### Major Changes + +- Merge `sample.stan()` and `sample.stan.cv()` into `hsstan()`. +- Implement the regularized horseshoe prior. +- Add a `loo()` method for hsstan objects. +- Change the default `adapt.delta` argument for base models from 0.99 to 0.95. +- Decrease the default `scale.u` from 20 to 2. + +### Smaller Changes and Bug Fixes + +- Add option to set the seed of the random number generator. +- Add computation of log-likelihoods in the generated quantities. +- Use `scale()` to standardize the data in `sample.stan.cv()`. +- Remove the standardize option so that data is always standardized. +- Remove option to create a png file from `plot.projsel()`. +- Make `get.cv.performance()` work also on a non-cross-validated hsstan object. +- Add `print()` and `summary()` functions for hsstan objects. +- Add options for horizontal and vertical label adjustment in `plot.projsel()`. + +# hsstan 0.3 (4 July 2019) + +### Major Changes + +- Add option to set the `adapt_delta` parameter and change the default for all + models from 0.95 to 0.99. +- Allow to control the prior scale for the unpenalized variables. + +### Smaller Changes and Bug Fixes + +- Add option to control the number of iterations. +- Compute the elpd instead of the mlpd in the projection. +- Fix bug in the assignment of readable variable names. +- Don't compute the predicted outcome in the generated quantities block. + +# hsstan 0.2 (13 November 2018) + +### Major Changes + +- Switch to `doParallel` since `doMC` is not packaged for Windows. + +### Smaller Changes and Bug Fixes + +- Enforce the direction when computing the AUC. +- Check that there are no missing values in the design matrix. +- Remove code to disable clipping of text labels from `plot.projsel()`. + +### Notes + +- This version was used in: + - [M. Colombo][mcol], E. Valo, S.J. McGurnaghan et al., + Biomarkers associated with progression of renal disease in type 1 diabetes, + [_Diabetologia_ (2019) 62 (9): 1616-1627](https://doi.org/10.1007/s00125-019-4915-0). + - [A. Spiliopoulou][athina], [M. Colombo][mcol], D. Plant et al., + Association of response to TNF inhibitors in rheumatoid arthritis with + quantitative trait loci for CD40 and CD39, + [_Annals of the Rheumatic Diseases_ (2019) 78: 1055-1061](https://doi.org/10.1136/annrheumdis-2018-214877). + +# hsstan 0.1 (14 June 2018) + +- First release. + +[mcol]: https://github.com/mcol +[athina]: https://precmed.cphs.mvm.ed.ac.uk/athina/