- Add package check in examples and tests.

Remove

`bcp`

according to`Package ‘bcp’ was removed from the CRAN repository. Formerly available versions can be obtained from the archive. Archived on 2024-01-12 as email to the maintainer is undeliverable. A summary of the most recent check results can be obtained from the check results archive. Please use the canonical form https://CRAN.R-project.org/package=bcp to link to this page.`

- Increase test coverage.
- Use
`interactive()`

to check if the current R session is interactive.

- Add package comparison with other packages.

- Add small shiny app.

- Preliminary support for ARMA(p, q) model with parameter
`order = c(p, q)`

and family`"arma"`

. - Add
`fastcpd.arma`

/`fastcpd_arma`

for ARMA(p, q) model. - Add adaptive increasing
`beta`

values.

- Add
`lower`

and`upper`

parameters to denote the lower and upper bounds of the parameters. - Add line search.
- Add hardcoded ARMA(3, 2).

- Add
`bitcoin`

and`well_log`

data. - Add residual calculation for mean family.
- Add plots for bitcoin data.
- Fix residual calculation for time series data when the seegments are too small.
- Handle variance estimation errors.

- Add wrapper functions of AR(p) family:
`fastcpd.ar`

/`fastcpd_ar`

, ARIMA(p, d, q) family:`fastcpd.arima`

/`fastcpd_arima`

, GARCH(p, q) family:`fastcpd.garch`

/`fastcpd_garch`

, linear regression family:`fastcpd.lm`

/`fastcpd_lm`

, logistic regression family:`fastcpd.binomial`

/`fastcpd_binomial`

, poisson regression family:`fastcpd.poisson`

/`fastcpd_poisson`

, penalized linear regression family:`fastcpd.lasso`

/`fastcpd_lasso`

, MA(q) model:`fastcpd.ma`

/`fastcpd_ma`

, mean change:`fastcpd.mean`

/`fastcpd_mean`

, variance change:`fastcpd.variance`

/`fastcpd_variance`

, mean or variance change:`fastcpd.meanvariance`

/`fastcpd_meanvariance`

/`fastcpd.mv`

/`fastcpd_mv`

. - Replace
`"gaussian"`

family with`"lm"`

. - Add progress bar.
- Fix design matrix from formula bug.

- Fix sanity check.
- Add small AR(1) data in gallery.
- Fix VAR(p) model bug.
- Add VAR(2) example in Gallery.
- Remove commented code.

- Deprecate “vanilla” family by
`vanilla_percentage`

parameter. - Add check utility functions.
- Add MA(4) example.
- Fix the bug when
`beta`

is updated but the old`beta`

is still in use. - Remove tests estimating the variance in the “gaussian” family dynamically.
- Merge
`beta`

updating into`get_segment_statistics`

.

- Add gallery to vignettes.
- Remove cheatsheets pdf from the package.
- Use
`forecast`

package for ARIMA model. - Use
`fGarch`

package for GARCH model.

- Wrap
`&&`

around`||`

by parentheses. - Add ma(4) example using custom cost function.
- Add full support for AR(p), MA(q) and ARIMA(p, d, q) models.

- Submit for CRAN update.

- Add cheatsheets.
- Refactor code and utilize the
`cost_function_wrapper`

. - Optimize warm start.

- Add
`fastcpd.ts`

/`fastcpd_ts`

for time series data. - Fix pre segmengation bug for
`lasso`

. - Fix bug related to
`vanilla_percentage`

parameter for`lasso`

. - Add tests with invalid family for
`fastcpd.ts`

. - Remove the
`cp_only = TRUE`

default when the family is “custom”. - Improved plotting for “ar” and “var” families.
- Add test coverage for
`cp_only = TRUE`

and`fastcpd_ts`

. - Increase test coverage.
- Provide user selection when
`ggplot2`

is not installed.

- Add cheatsheets WIP.
- Add smaller examples test for penalized linear regression.

- Add new “ar” family for autoregressive models.
- Add new “var” family for vector autoregressive models.

Deal with the following:

`Due to the excessive calls to `glmnet` between R and C++, it is better to use the R implementation of `fastcpd` for lasso.`

- Separate the use of internal C++ cost functions and user-defined R cost functions.
- Add Codecov Icicle plot in README.
- Remove
`cost_optim`

and`cost_update`

from`RcppExports.R`

. Estimate the variance in the “gaussian” family dynamically.

- Move default cost functions definition inside the
`fastcpd`

definition. - Define constant unordered set to store the family sets.
- Avoid using
`length(formals(cost))`

to check the number of arguments of`cost`

function. - Introduce an internal family “vanilla”.

- Add variance estimation example in linear regression.
- Update reference page.
- Add validation for
`family`

. - Add user selection when
`ggplot2`

is not installed. - Add AR(1) using
`forecast`

example in the tests.

- Update website UI.
- Update
`fastcpd`

documentation.

- Allow multiple response variables in the
`formula`

. - Add fastcpd logo to README.

- Add suggested package checking in tests.
Try to solve the

*amazing*clang-ASAN error on CRAN:`Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/data/gannet/ripley/R/test-clang/mvtnorm/libs/mvtnorm.so': /data/gannet/ripley/R/test-clang/mvtnorm/libs/mvtnorm.so: undefined symbol: _ZNK7Fortran7runtime10Terminator5CrashEPKcz Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load`

- Add package citation.

- Remove C++ unit tests using catch and commented out the code since the new version of development version of Rcpp is not yet available on CRAN. Related pull request: https://github.com/RcppCore/Rcpp/pull/1274.
- Add more documentation for
`fastcpd`

method.

- Add more experiments.

- Check warning messages in tests.
- Further encapsulation of all FastcpdParameters members.

- Add CRAN release badge.

- Address CRAN comments.
- Add more experiments.

- Address CRAN comments.

- Submit for CRAN release.

- Fix loss function for custom mean or variance change.

- Add stargazers in README.

- Add example and test for multivariate mean shift.
- Add example and test for multivariate variance change.
- Add example and test for multivariate mean and variance change.
- Add test for linear regression with multi-dimensional responses.

- Fix bug when no change point is detected.

- Add more experiments but commented out for the sake of test time without affecting the test coverage.
- Add examples in README.
- Add CRAN manual using
`R CMD Rd2pdf . --output=man/figures/manual.pdf --force --no-preview`

from stackoverflow. - Add example for multiple epochs using custom cost functions.
- Add table of contents to README.

- Add one-dimensional linear regression example with plot.

- Prepare for CRAN release.

- Rewrite the whole package in C++ except LASSO due to the excessive calls between R and C++ of
`glmnet`

.

- Add the transition from vanilla PELT to SeN by using
`vanilla_percentage`

parameter.

- Merge the implementation of vanilla PELT and SeN.
- Encapsulate the implementation of binding new coefficients into the previous coefficients.
- Rewrite
`fastcpd`

parameters updating in C++.

- Integrate initialization and update for
`theta_hat`

,`theta_sum`

and`hessian`

. - Combine theta estimation into a single function.
- Add a parameter
`vanilla_percentage`

to denote the method switching between vanilla PETL and SeN. - Add more documentation to
`cp_only`

parameter. - Add preparation for merging vanilla PELT with SeN.

- Add examples as tests for
`fastcpd`

. - Rearrange C++ functions.
- Add more precondition check.

- Bump test coverage for class methods of
`fastcpd`

.

- Fix Poisson regression bug related to
`lfactorial`

.

- Make penalized linear regression estimated coefficients output sparse.

- Fix mean change example bug.
- Update documentation to redirect README to
`pkgdown`

generated webpage. - Add contact methods and ways to file a ticket.

- Add C++ sanity check for Logistic regression data, i.e. binomial family.
- Add examples as tests for
`fastcpd`

. - Rename C++ source files to follow Unix convention.
- Update documentation link in README.

- Hide internal functions from the documentation.
- Export
`fastcpd`

class.

- Add column name for
`thetas`

slot in`fastcpd`

class. - Fix plot where residuals and responses appear in the same plot.
- Default
`cp_only`

to`FALSE`

. - Remove residuals from
`summary`

method.

- Add missing examples for linear regression and LASSO.

- Add more examples to illustrate the use of the
`fastcpd`

function. - Indicating internal functions so that the users should not use them.

- Add more examples to the README.

- Added a
`NEWS.md`

file to track changes to the package.