Movatterモバイル変換


[0]ホーム

URL:


Skip to contents

tidychangepoint

Usage

To installtidychangepoint from CRAN:

install.packages("tidychangepoint")

To install the development version oftidychangepoint:

remotes::install_github("beanumber/tidychangepoint")

To load it:

Tidy methods for changepoint analysis

Thetidychangepoint package allows you to use any number of algorithms for detecting changepoint sets in univariate time series with a common,tidyverse-compliant interface. Currently, algorithms fromchangepoint,wbs, and several genetic algorithms made accessible viaGA are supported. It also provides model-fitting procedures for commonly-used parametric models, tools for computing various penalty functions, and graphical diagnostic displays.

Changepoint sets are computed using thesegment() function, which takes a numeric vector that is coercible into ats object, and a string indicating the algorithm you wish you use.segment() always returns atidycpt object.

x<-segment(CET, method="pelt", model=fit_meanshift_norm, minseglen=3)class(x)
## [1] "tidycpt"

Various methods are available fortidycpt objects. For example,as.ts() returns the original data asts object, andchangepoints() returns the set of changepoint indices.

## [1] 330

If the original time series has time labels, we can also retrieve that information.

changepoints(x, use_labels=TRUE)
## [1] "1988-01-01"

Thefitness() function returns the both the value and the name of the objective function that the algorithm used to find the optimal changepoint set.

##    MBIC## 688.331

Thetidy() method shows the fitted parameters values for each region.

tidy(x)
## Registered S3 method overwritten by 'tsibble':##   method               from##   as_tibble.grouped_df dplyr## # A tibble: 2 × 9##   region    num_obs   min   max  mean    sd begin   end param_mu##   <chr>       <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>    <dbl>## 1 [1,330)       329  6.86  10.6  9.17 0.615     1   330     9.17## 2 [330,367)      37  8.95  11.2 10.3  0.528   330   367    10.3

Algorithmic coverage

## # A tibble: 14 × 5##    method      pkg             segmenter_class helper              wraps##    <chr>       <chr>           <chr>           <chr>               <chr>##  1 pelt        changepoint     cpt             segment_pelt()      changepoint:…##  2 binseg      changepoint     cpt             <NA>                changepoint:…##  3 segneigh    changepoint     cpt             <NA>                changepoint:…##  4 single-best changepoint     cpt             <NA>                changepoint:…##  5 wbs         wbs             wbs             <NA>                wbs::wbs()##  6 ga          GA              tidyga          segment_ga()        GA::ga()##  7 ga-shi      GA              tidyga          segment_ga_shi()    segment_ga()##  8 ga-coen     GA              tidyga          segment_ga_coen()   segment_ga()##  9 coen        tidychangepoint seg_basket      segment_coen()      <NA>## 10 random      GA              tidyga          segment_ga_random() segment_ga()## 11 manual      tidychangepoint seg_cpt         segment_manual()    <NA>## 12 null        tidychangepoint seg_cpt         segment_manual()    <NA>## 13 segmented   segmented       segmented       <NA>                segmented::s…## 14 cptga       changepointGA   tidycptga       segment_cptga()     changepointG…
ls_coverage()|>dplyr::group_by(method)|>dplyr::summarize(    models=paste(unique(model), collapse=", "),    penalties=paste(unique(penalty), collapse=", "))|>dplyr::arrange(method)|>knitr::kable()
methodmodelspenalties
binsegfit_meanvarNone, SIC, BIC, MBIC, AIC, HQC, Asymptotic, Manual, CROPS
coenfit_nhppBMDL
cptgaNANA
gafit_arima, fit_lmshift, fit_lmshift_ar1, fit_meanshift_lnorm, fit_meanshift_norm, fit_meanshift_norm_ar1, fit_meanvar, fit_nhpp, fit_trendshift, fit_trendshift_ar1SIC, AIC, BIC, HQC, MBIC, MDL
ga-coenfit_nhppBMDL
ga-shifit_meanshift_norm_ar1BIC
manualfit_meanshift_normBIC
nullfit_meanshift_normBIC
peltfit_meanshift_norm, fit_meanvarNone, SIC, BIC, MBIC, AIC, HQC, Asymptotic, Manual, CROPS
randomfit_arima, fit_lmshift, fit_lmshift_ar1, fit_meanshift_lnorm, fit_meanshift_norm, fit_meanshift_norm_ar1, fit_meanvar, fit_nhpp, fit_trendshift, fit_trendshift_ar1SIC, AIC, BIC, HQC, MBIC, MDL
segmentedNANA
segneighfit_meanvarNone, SIC, BIC, MBIC, AIC, HQC, Asymptotic, Manual, CROPS
single-bestfit_meanvarNone, SIC, BIC, MBIC, AIC, HQC, Asymptotic, Manual, CROPS
wbsNANA

References

Please readthe full paper for more details.

To cite the package, use the following information:

citation("tidychangepoint")
## Warning in citation("tidychangepoint"): could not determine year for## 'tidychangepoint' from package DESCRIPTION file## To cite package 'tidychangepoint' in publications use:####   Baumer B, Suárez Sierra B, Coen A, Taimal C (????). _tidychangepoint:##   A Tidy Framework for Changepoint Detection Analysis_. R package##   version 1.0.2, <https://beanumber.github.io/tidychangepoint/>.#### A BibTeX entry for LaTeX users is####   @Manual{,##     title = {tidychangepoint: A Tidy Framework for Changepoint Detection Analysis},##     author = {Benjamin S. Baumer and Biviana Marcela {Suárez Sierra} and Arrigo Coen and Carlos A. Taimal},##     note = {R package version 1.0.2},##     url = {https://beanumber.github.io/tidychangepoint/},##   }

Links

License

Citation

Developers

  • Benjamin S. Baumer
    Author, maintainer, copyright holder
  • Biviana Marcela Suárez Sierra
    Author
  • Arrigo Coen
    Author
  • Carlos A. Taimal
    Author
  • More about authors...

Dev status

  • R-CMD-check
  • CRAN status
  • CRAN RStudio mirror downloads

[8]ページ先頭

©2009-2025 Movatter.jp