- Simplify methods initialization.
- Update package comparison and remove packages breaking seed setting.
- Add pre-compiled vignettes.
- Simplify code.
- Expose
fastcpd_impl
API for use in other packages.
- Skip certain tests on CRAN.
- Fix CRAN noSuggests error.
- Fix possible numeric issues on CRAN breaking updates of other packages.
- Correct mBIC.
- Add citation.
- Remove package check in examples.
- Use proper pruning coefficients for MBIC and MDL.
- Make residuals matrices.
- Use preprocess for faster mean change detection.
- Update examples demonstrating faster mean change.
- Replace comparison packages in vignettes with strange dependencies with
results and
eval = FALSE
.
- Default no pruning for
lasso
. - Comment out
gfpop
due to #10.
- Update all documentations.
- Customizable and pretty plots.
- Remove
pruning
parameter and replace withconvexity_coef = -Inf
.
- Update vignettes.
- Remove useless C++ codes.
- Add more debug points in C++.
- Add more examples for data
well_log
. - Add detection comparison for
well_log
data. - Add a variance estimator for median change.
- Deprecate
winsorize_minval
andwinsorize_maxval
.
- Add Rice estimation for ARMA model variance estimation.
- Add time comparison using Well-log data in vignettes.
- Add Rice estimator for mean change variance estimation.
- Export variance estimator function for linear models.
- Add package comparison with
CptNonPar
,gfpop
,InspectChangepoint
,jointseg
,Rbeast
andVARDetect
.
-
Note: From now on, MBIC is used as the default penalty selection for
beta
parameter. -
Add penalty selection criteria using
- BIC:
(p + 1) * log(nrow(data)) / 2
- Modified BIC:
(p + 2) * log(nrow(data)) / 2
with adjusted cost function. - MDL:
(p + 2) * log(nrow(data)) / 2
with adjusted cost function.
In the mean time, a numeric value can be passed to
beta
as well to explicitly specify the penalty for BIC. - BIC:
- Add package check in examples and tests.
-
Remove
bcp
according toPackage ‘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
andupper
parameters to denote the lower and upper bounds of the parameters. - Add line search.
- Add hardcoded ARMA(3, 2).
- Add
bitcoin
andwell_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 oldbeta
is still in use. - Remove tests estimating the variance in the "gaussian" family dynamically.
- Merge
beta
updating intoget_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 forlasso
. - 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
andfastcpd_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
andcost_update
fromRcppExports.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 ofcost
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: RcppCore/Rcpp#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
andhessian
. - 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 infastcpd
class. - Fix plot where residuals and responses appear in the same plot.
- Default
cp_only
toFALSE
. - 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.