Releases: QMUL/poLCAParallel
Releases · QMUL/poLCAParallel
v1.2.7: Minor refactor to support gcc15 and MacOS
- Minor refactor of `EmAlgorithmRegress` - Revert use of `std::jthread` - Explicitly convert to `std::span` - Bump minimum R version to 4.1.2 - Bump version in Apptainer and renv
v1.2.6: Minor refactor
- Change the behaviour of functions on error by calling either `stop()` or `warning()` rather than `cat()` or returning `NULL` - R function `likelihood()` is internal - Add tests for the covariance matrix - Adjust tests to be more robust when comparing with the original `poLCA` - Add `renv.lock` for recording dependencies used during development and testing - Move C++ header files to `src/` - Minor refactor in code such as in `ErrorSolver` and using `std::jthread` - Housekeeping on documentation, `DESCRIPTION`, `CITATION`, `README.md` `.Rbuildignore`, `LICENSE` and Apptainer files
v1.2.5: Minor bug fixes, refactors and tests
- Fix bug where `probs.start.ok` is incorrectly `FALSE` if the user does not provide starting probabilities - Fix `poLCA.posterior()` which now uses the C++ implementation. Previously, it did not link correctly to the C implementation - Implement C++ versions of likelihood and posterior evaluation, deprecate some internal R and C functions following - Change the nesting order of `for` loops in the E step - Add more tests for various R functions - Add a `R CMD check` in the dev Apptainer - Favour `remotes` over `devtools` in documentation - Generate all documentation using `roxygen2` - Generate `NAMESPACE` with `usethis` and `roxygen2`
v1.2.4: Add tests and bug fix in `blrt()`
- Add C++ tests using Catch2 - Add R tests using `testthat` - Fix bug in `blrt()` when passing a model fitted onto dat with missing data - Add Apptainer definition file with testing and version pinning - Some minor refactors to both C++ and R code
v1.2.3: Bug fix in goodness of fit and other refactors
- Bug fix in `GoodnessOfFit`, correctly use `n_obs_` rather than `n_data` when calculating the chi-squared statistics - Move `.h` files to `include/` - Add `arma.h` and use `-DUSE_RCPP` - Add various utility functions in `util.h` - Overload constructors, making parameters for the regression problem optional - Use `[[maybe_unused]]` - Add assertions - Implement `GoodnessOfFit` - Use `atomic` in `EmAlgorithmArray` and `Blrt` - Use templates in `standard_error_rcpp.cc` - Other minor C++ refactors
v1.2.2: Bug fix in `Blrt` and C++ refactor
- Bug fix for `Blrt::Bootstrap` by sampling correctly from the prior, previously, it sampled from a uniform prior which is incorrect. This affect results from models with largely varying priors - Modernise C++ code, such as using containers, iterators, `const`, `std::size_t`, templates, ...etc. This will improve maintainability and, in certain cases, performance - Remove underflow detection as this was implemented incorrectly and never used
v1.2.1: Implement NA handling
- Fix bug so it can handle NA values - Add parameters in some C++ functions and classes to cater for NA handling - Minor C++ refactoring
v1.2.0: Add C++ implementation of standard error calculations
- Add C++ implementation of standard error calculations. This implementation uses SVD rather than a full pseudo-inverse. - Add argument `se.smooth` for experimental Laplace smoothing on the response probabilities when doing standard error calculations. This provides better numerical stability and avoids very small standard errors. - The original poLCA code is used for `nclass=1` - Bump to C++20 - No OpenMP to stop overthreading in the regression model - Minor update to the documentation - Minor improvements in the C++ code by using more of the arma and C++ features such as using in-place operations and containers instead of raw arrays
v1.1.1
Minor refactoring and bug fixes
- Fix missing
#include <memory> - Implement the sum of log probabilities in EStep(). This is only used when an
underflow is detected - Update README
- Add and update blrt scripts
- Add Doxyfile
v1.1.0
Add bootstrap likelihood ratio test
Add function blrt() which compares two
poLCA models together.
Minor adjustments to C++ code to cater
for blrt.
Minor adjustments to documentation.