From ed765749d607a553d538bfd576f0e4325bf6718f Mon Sep 17 00:00:00 2001 From: Troy Hofstrand Date: Wed, 13 Jul 2022 15:33:34 -0500 Subject: [PATCH 1/7] Changed t1 to use `lgamma()` and made M1 no longer take the log of t1. Now BFIC values no longer go to INF. --- R/changePointDetect.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/changePointDetect.R b/R/changePointDetect.R index 8fc9c5d..33787b4 100644 --- a/R/changePointDetect.R +++ b/R/changePointDetect.R @@ -160,10 +160,10 @@ detectChangePoint <- function(a, setdetail, useBFIC = TRUE, showplot = FALSE, sh # If M1 > 3, good evidence of change point - M2 = max(probvec) m <- nrow(DWTmat) - t1 = gamma(m/2 + 0.5) + t1 = lgamma(m/2 + 0.5) A <- t(DWTmat) %*% DWTmat t2 = det(A) #Numerically unstable. - M1 = log(t1) + (-m/2 + wid/2) * log(t2) + M1 = t1 + (-m/2 + wid/2) * log(t2) ifelse(useBFIC, value <- (M2 - M1 - 0.5 * wid * log(m)), value <- max(probvec)) From 9afa3d578ca94e1af72c03310c3b450adc2b0a56 Mon Sep 17 00:00:00 2001 From: Troy Hofstrand Date: Thu, 14 Jul 2022 15:19:55 -0500 Subject: [PATCH 2/7] Removed Y-Axis scale from `probvec` graph. Fixed bug in showall graphing logic. --- R/JLDetectChangePoint.R | 2 +- R/plotChangePoint.R | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/R/JLDetectChangePoint.R b/R/JLDetectChangePoint.R index 5df4817..53b24a1 100644 --- a/R/JLDetectChangePoint.R +++ b/R/JLDetectChangePoint.R @@ -92,7 +92,7 @@ JLDetectChangePoint <- function(multiSeries, reducedDim = 5, useGaussian = FALSE print(cpbaywave::detectChangePoint(reducedData[,best_vector[1]], useBFIC = useBFIC, showplot = FALSE)) gridExtra::grid.arrange(plt1, plt2, nrow = 1,ncol=2) } - else{ + if (reducedDim < 2){ best_dim <- Rfast::nth(vector, 1, descending = T,index.return=TRUE) best_vector <- c(best_vector,best_dim) print('Plot 1') diff --git a/R/plotChangePoint.R b/R/plotChangePoint.R index 139f51d..2d23cf7 100644 --- a/R/plotChangePoint.R +++ b/R/plotChangePoint.R @@ -39,6 +39,9 @@ plotChangePoint <- function(M1,M2,pad1,probvec,wid,m,n,data,indices,showall=FALS plot2 <- ggplot(probData, aes_string(x = 'x', y = 'probvec')) + geom_line() + plot2 <- plot2 + theme(axis.text.y=element_blank(), + axis.ticks.y=element_blank()) + rbind(ggplotGrob(plot1), ggplotGrob(plot2), size = "last") @@ -50,6 +53,8 @@ plotChangePoint <- function(M1,M2,pad1,probvec,wid,m,n,data,indices,showall=FALS geom_smooth(method = "loess",se = FALSE) plot2 <- ggplot(probData, aes_string(x = 'x', y = 'probvec')) + geom_line() + plot2 <- plot2 + theme(axis.text.y=element_blank(), + axis.ticks.y=element_blank()) rbind(ggplotGrob(plot1), ggplotGrob(plot2), size = "last") @@ -68,6 +73,8 @@ plotChangePoint <- function(M1,M2,pad1,probvec,wid,m,n,data,indices,showall=FALS geom_line(data = plotData[(indices[1] + 1):(n-pad1 - 1),], mapping = aes_string(x = 'x', y = 'y'), stat = "smooth", method = "loess",span = 0.6, se = FALSE, alpha = 1, color = "blue") plot2 <- ggplot(probData, aes_string(x = 'x', y = 'probvec')) + geom_line() + plot2 <- plot2 + theme(axis.text.y=element_blank(), + axis.ticks.y=element_blank()) grid.newpage() grid.draw(rbind(ggplotGrob(plot1), ggplotGrob(plot2), size = "last")) @@ -79,6 +86,8 @@ plotChangePoint <- function(M1,M2,pad1,probvec,wid,m,n,data,indices,showall=FALS geom_smooth(method = "loess",se = FALSE) plot2 <- ggplot(probData, aes_string(x = 'x', y = 'probvec')) + geom_line() + plot2 <- plot2 + theme(axis.text.y=element_blank(), + axis.ticks.y=element_blank()) grid.newpage() grid.draw(rbind(ggplotGrob(plot1), ggplotGrob(plot2), size = "last")) From 42f1bfda1cffb18b230eca5baf8965abb0718e20 Mon Sep 17 00:00:00 2001 From: Troy Hofstrand Date: Mon, 18 Jul 2022 13:55:00 -0500 Subject: [PATCH 3/7] Adding new file --- R/SVDetectChangePoint.R | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 R/SVDetectChangePoint.R diff --git a/R/SVDetectChangePoint.R b/R/SVDetectChangePoint.R new file mode 100644 index 0000000..fac68df --- /dev/null +++ b/R/SVDetectChangePoint.R @@ -0,0 +1,28 @@ +#' Singular Value of the Laplacian Change Point Detection +#' +#' Computes a random projection with Bernoulli or Gaussian entries of each element in a time series, then calls detectChangePoint to determine where the +#' change point occurs. In most cases of real data, the BFIC will be significantly greater than 3; it is an open +#' question to determine good values of the BFIC for various types of problems. +#' @param multiSeries The high dimensional time series. Should be a matrix, with each row being an observation of the time series. +#' @param reducedDim The dimension you want to project onto. Should be less than the dimension of the time series. Default is 10 +#' @param useGaussian Set to TRUE if you want to use a random Gaussian projection. Default is random matrix of +- 1. +#' @param setdetail Optional argument to set the detail level you wish to use. Default is all details. +#' @param useBFIC Optional argument to use BFIC to decide change point location. +#' @param showplot set to TRUE to see plot of 1-d time series and probability plot. +#' @param showall set to TRUE to see the top three candidate plots based on highest BFIC value +#' @export +#' @import stats +#' @import Rfast +#' @import grid +#' @import gridExtra +#' @examples +#'\dontrun{ + + + +SVDetectChangePoint <- function(multiSeries, useGaussian = FALSE, useBFIC = TRUE, showplot = TRUE) { + + + cpbaywave::detectChangePoint(multiseries, useBFIC = useBFIC, showplot = showplot) + +} From fcc629c782bfc8227d809ef2f9e27110e06514ca Mon Sep 17 00:00:00 2001 From: thofstrand <65848210+thofstrand@users.noreply.github.com> Date: Mon, 18 Jul 2022 14:32:27 -0500 Subject: [PATCH 4/7] Delete SVDetectChangePoint.R --- R/SVDetectChangePoint.R | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 R/SVDetectChangePoint.R diff --git a/R/SVDetectChangePoint.R b/R/SVDetectChangePoint.R deleted file mode 100644 index fac68df..0000000 --- a/R/SVDetectChangePoint.R +++ /dev/null @@ -1,28 +0,0 @@ -#' Singular Value of the Laplacian Change Point Detection -#' -#' Computes a random projection with Bernoulli or Gaussian entries of each element in a time series, then calls detectChangePoint to determine where the -#' change point occurs. In most cases of real data, the BFIC will be significantly greater than 3; it is an open -#' question to determine good values of the BFIC for various types of problems. -#' @param multiSeries The high dimensional time series. Should be a matrix, with each row being an observation of the time series. -#' @param reducedDim The dimension you want to project onto. Should be less than the dimension of the time series. Default is 10 -#' @param useGaussian Set to TRUE if you want to use a random Gaussian projection. Default is random matrix of +- 1. -#' @param setdetail Optional argument to set the detail level you wish to use. Default is all details. -#' @param useBFIC Optional argument to use BFIC to decide change point location. -#' @param showplot set to TRUE to see plot of 1-d time series and probability plot. -#' @param showall set to TRUE to see the top three candidate plots based on highest BFIC value -#' @export -#' @import stats -#' @import Rfast -#' @import grid -#' @import gridExtra -#' @examples -#'\dontrun{ - - - -SVDetectChangePoint <- function(multiSeries, useGaussian = FALSE, useBFIC = TRUE, showplot = TRUE) { - - - cpbaywave::detectChangePoint(multiseries, useBFIC = useBFIC, showplot = showplot) - -} From 47e9cd4e07685d19357ad740064a25bdc3ef56c2 Mon Sep 17 00:00:00 2001 From: Troy Hofstrand Date: Mon, 18 Jul 2022 14:33:29 -0500 Subject: [PATCH 5/7] testing --- R/SVDetectChangePoint.R | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/R/SVDetectChangePoint.R b/R/SVDetectChangePoint.R index fac68df..626d8af 100644 --- a/R/SVDetectChangePoint.R +++ b/R/SVDetectChangePoint.R @@ -15,8 +15,10 @@ #' @import Rfast #' @import grid #' @import gridExtra -#' @examples -#'\dontrun{ +#' +#' +#' + From 070c7839507730b1ef4b2c4df2c385849b325128 Mon Sep 17 00:00:00 2001 From: Troy Hofstrand Date: Mon, 18 Jul 2022 14:50:27 -0500 Subject: [PATCH 6/7] deletions --- R/SVDetectChangePoint.R | 3 --- 1 file changed, 3 deletions(-) diff --git a/R/SVDetectChangePoint.R b/R/SVDetectChangePoint.R index 626d8af..bd713cf 100644 --- a/R/SVDetectChangePoint.R +++ b/R/SVDetectChangePoint.R @@ -4,13 +4,10 @@ #' change point occurs. In most cases of real data, the BFIC will be significantly greater than 3; it is an open #' question to determine good values of the BFIC for various types of problems. #' @param multiSeries The high dimensional time series. Should be a matrix, with each row being an observation of the time series. -#' @param reducedDim The dimension you want to project onto. Should be less than the dimension of the time series. Default is 10 #' @param useGaussian Set to TRUE if you want to use a random Gaussian projection. Default is random matrix of +- 1. #' @param setdetail Optional argument to set the detail level you wish to use. Default is all details. #' @param useBFIC Optional argument to use BFIC to decide change point location. #' @param showplot set to TRUE to see plot of 1-d time series and probability plot. -#' @param showall set to TRUE to see the top three candidate plots based on highest BFIC value -#' @export #' @import stats #' @import Rfast #' @import grid From 606c15701f93a4560feed143030fc076de67f6d2 Mon Sep 17 00:00:00 2001 From: Troy Hofstrand Date: Fri, 22 Jul 2022 11:04:39 -0500 Subject: [PATCH 7/7] Roxygen seems to have found a lot of documentation stuff I never committed, so that's why there are so many files. Added SVDetectChangePoint --- DESCRIPTION | 2 +- NAMESPACE | 4 ++++ R/SVDetectChangePoint.R | 44 +++++++++++++++++++++++++++------- man/JLDetectChangePoint.Rd | 14 +++++++++-- man/SVDetectChangePoint.Rd | 29 ++++++++++++++++++++++ man/bootJLDetectChangePoint.Rd | 20 +++++++++++++--- man/createTimeSeries.Rd | 2 +- man/detectChangePoint.Rd | 10 ++++++-- man/metricChangePoint.Rd | 12 ++++++++-- man/persistenceChangePoint.Rd | 9 +++++-- man/plotChangePoint.Rd | 43 +++++++++++++++++++++++++++++++++ man/repJLDetectChangePoint.Rd | 12 ++++++++-- 12 files changed, 178 insertions(+), 23 deletions(-) create mode 100644 man/SVDetectChangePoint.Rd create mode 100644 man/plotChangePoint.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 9bff30a..0e265ce 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -20,7 +20,7 @@ Imports: graphics, testthat, TDA -RoxygenNote: 6.0.1 +RoxygenNote: 7.2.0 Suggests: knitr, rmarkdown VignetteBuilder: knitr diff --git a/NAMESPACE b/NAMESPACE index 263e7ce..1bac9ba 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,6 +1,7 @@ # Generated by roxygen2: do not edit by hand export(JLDetectChangePoint) +export(SVDetectChangePoint) export(bootJLDetectChangePoint) export(computeProb) export(createTimeSeries) @@ -8,9 +9,12 @@ export(detectChangePoint) export(metricChangePoint) export(persistenceChangePoint) export(repJLDetectChangePoint) +import(Rfast) import(TDA) import(ggplot2) +import(ggpubr) import(grid) +import(gridExtra) import(stats) import(testthat) import(utils) diff --git a/R/SVDetectChangePoint.R b/R/SVDetectChangePoint.R index bd713cf..694f50f 100644 --- a/R/SVDetectChangePoint.R +++ b/R/SVDetectChangePoint.R @@ -1,27 +1,55 @@ #' Singular Value of the Laplacian Change Point Detection #' -#' Computes a random projection with Bernoulli or Gaussian entries of each element in a time series, then calls detectChangePoint to determine where the -#' change point occurs. In most cases of real data, the BFIC will be significantly greater than 3; it is an open -#' question to determine good values of the BFIC for various types of problems. +#' Implements change point detection for time series of graphs by examining the singular values of the Laplacian #' @param multiSeries The high dimensional time series. Should be a matrix, with each row being an observation of the time series. #' @param useGaussian Set to TRUE if you want to use a random Gaussian projection. Default is random matrix of +- 1. #' @param setdetail Optional argument to set the detail level you wish to use. Default is all details. #' @param useBFIC Optional argument to use BFIC to decide change point location. #' @param showplot set to TRUE to see plot of 1-d time series and probability plot. +#' @param useNorm use normalized Laplacian #' @import stats #' @import Rfast #' @import grid #' @import gridExtra +#' @import igraph +#' @export #' -#' -#' - +#'#NOTES: +#'Take in list of time series graphs +#'Calculate the singular values of the laplacian +#'5-6 vertices (more than 50 use JL) +#'expects list of dataframes with source, dest, and weight, where first thing in list is graph at time 1 +#'each row an observation (5 vertices is five columns) +#'try ... in function declaration for showall +#'change svd to eigen at some point (user parameter?) +SVDetectChangePoint <- function(timeSeriesList, useNorm = TRUE, useBFIC = TRUE, showplot = TRUE, ...) { -SVDetectChangePoint <- function(multiSeries, useGaussian = FALSE, useBFIC = TRUE, showplot = TRUE) { + df_list <- list() + for (series in 1:length(timeSeriesList)){ + svds <- purrr::map_df(timeSeriesList[[series]], function(val) { + gg <- igraph::graph_from_data_frame(dplyr::select(timeSeriesList[[series]], source, receive), directed = T) + E(gg)$weight <- timeSeriesList[[series]]$val + h <- data.frame(t(svd(graph.laplacian(gg))$d)) #graph fourier transform + }) + df_list[[length(df_list) + 1]] <- svds + } + bb <- data.table::rbindlist(df_list) + bb <- dplyr::bind_rows(df_list) - cpbaywave::detectChangePoint(multiseries, useBFIC = useBFIC, showplot = showplot) + if (length(timeSeriesList) > 50){ + cpbaywave::JLDetectChangePoint(as.matrix(bb),showplot=showplot, useBFIC = useBFIC, ... ) + } + else{ + cpbaywave::detectChangePoint(as.matrix(bb), useBFIC = useBFIC,showplot=showplot) + } } + + + + + + diff --git a/man/JLDetectChangePoint.Rd b/man/JLDetectChangePoint.Rd index 134de22..f19a71c 100644 --- a/man/JLDetectChangePoint.Rd +++ b/man/JLDetectChangePoint.Rd @@ -4,8 +4,15 @@ \alias{JLDetectChangePoint} \title{Johnson-Lindendstrauss Dimension Reduction} \usage{ -JLDetectChangePoint(multiSeries, reducedDim = 5, useGaussian = FALSE, - useBFIC = TRUE, setdetail, showplot = TRUE) +JLDetectChangePoint( + multiSeries, + reducedDim = 5, + useGaussian = FALSE, + useBFIC = TRUE, + setdetail, + showplot = TRUE, + showall = FALSE +) } \arguments{ \item{multiSeries}{The high dimensional time series. Should be a matrix, with each row being an observation of the time series.} @@ -19,6 +26,8 @@ JLDetectChangePoint(multiSeries, reducedDim = 5, useGaussian = FALSE, \item{setdetail}{Optional argument to set the detail level you wish to use. Default is all details.} \item{showplot}{set to TRUE to see plot of 1-d time series and probability plot.} + +\item{showall}{set to TRUE to see the top three candidate plots based on highest BFIC value} } \description{ Computes a random projection with Bernoulli or Gaussian entries of each element in a time series, then calls detectChangePoint to determine where the @@ -36,4 +45,5 @@ image(matrix(lennon_ts[90,], nrow = 256), col = gray(0:100/100)) JLDetectChangePoint(lennon_ts, reducedDim = 10,useGaussian = TRUE) } + } diff --git a/man/SVDetectChangePoint.Rd b/man/SVDetectChangePoint.Rd new file mode 100644 index 0000000..dd6440d --- /dev/null +++ b/man/SVDetectChangePoint.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/SVDetectChangePoint.R +\name{SVDetectChangePoint} +\alias{SVDetectChangePoint} +\title{Singular Value of the Laplacian Change Point Detection} +\usage{ +SVDetectChangePoint( + multiSeries, + useGaussian = FALSE, + useBFIC = TRUE, + showplot = TRUE +) +} +\arguments{ +\item{multiSeries}{The high dimensional time series. Should be a matrix, with each row being an observation of the time series.} + +\item{useGaussian}{Set to TRUE if you want to use a random Gaussian projection. Default is random matrix of +- 1.} + +\item{useBFIC}{Optional argument to use BFIC to decide change point location.} + +\item{showplot}{set to TRUE to see plot of 1-d time series and probability plot.} + +\item{setdetail}{Optional argument to set the detail level you wish to use. Default is all details.} +} +\description{ +Computes a random projection with Bernoulli or Gaussian entries of each element in a time series, then calls detectChangePoint to determine where the +change point occurs. In most cases of real data, the BFIC will be significantly greater than 3; it is an open +question to determine good values of the BFIC for various types of problems. +} diff --git a/man/bootJLDetectChangePoint.Rd b/man/bootJLDetectChangePoint.Rd index f495cc9..ebb2484 100644 --- a/man/bootJLDetectChangePoint.Rd +++ b/man/bootJLDetectChangePoint.Rd @@ -4,9 +4,19 @@ \alias{bootJLDetectChangePoint} \title{Bootstrap Change Point Detection with Johnson-Lindenstrauss dimension reduction} \usage{ -bootJLDetectChangePoint(multiSeries, reducedDim = 5, useGaussian = TRUE, - setdetail, useBFIC = TRUE, numRepeat = 100, numKeep = 2, alpha = 0.05, - useJL = TRUE) +bootJLDetectChangePoint( + multiSeries, + reducedDim = 5, + useGaussian = TRUE, + setdetail, + useBFIC = TRUE, + numRepeat = 100, + numKeep = 2, + alpha = 0.05, + useJL = TRUE, + rotate_xaxis = FALSE, + returnPlot = FALSE +) } \arguments{ \item{multiSeries}{The high dimensional time series. Should be a matrix, with each row being an observation of the time series.} @@ -26,6 +36,10 @@ bootJLDetectChangePoint(multiSeries, reducedDim = 5, useGaussian = TRUE, \item{alpha}{The significance level of the bootstrap.} \item{useJL}{Use Johnson-Lindenstrauss dimension reduction. Not currently implemented for useJL = FALSE.} + +\item{rotate_xaxis}{set to TRUE if you wish to rotate the values on the x-axis; will not print out all values} + +\item{returnPlot}{set to TRUE if you wish for the plot to be returned.} } \value{ List with values diff --git a/man/createTimeSeries.Rd b/man/createTimeSeries.Rd index aabd7d9..4896d92 100644 --- a/man/createTimeSeries.Rd +++ b/man/createTimeSeries.Rd @@ -21,7 +21,7 @@ createTimeSeries(mu1, mu2, sigma, n = 128, tau = 72) A vector of length n containing multivariate normal entries. } \description{ -This function creates a multi-dimensional normal time series with normal entries and a possible change point in the mean. Running with no +This function creates a multi-dimensional nomral time series with normal entries and a possible change point in the mean. Running with no arguments creates five dimensional normal time series with mean 0, mean 1 and identity covariance matrix. } \examples{ diff --git a/man/detectChangePoint.Rd b/man/detectChangePoint.Rd index a29414f..fbfe9a2 100644 --- a/man/detectChangePoint.Rd +++ b/man/detectChangePoint.Rd @@ -4,8 +4,14 @@ \alias{detectChangePoint} \title{Detect Change Point} \usage{ -detectChangePoint(a, setdetail, useBFIC = TRUE, showplot = FALSE, - padding = "insertion") +detectChangePoint( + a, + setdetail, + useBFIC = TRUE, + showplot = FALSE, + showall = FALSE, + padding = "insertion" +) } \arguments{ \item{a}{A vector or matrix representing time series. If matrix, each row is the value at a single time. Numerically unstable if data dimension is greater than about 50. Use JLDetectChangePoint in that case.} diff --git a/man/metricChangePoint.Rd b/man/metricChangePoint.Rd index 178749e..f7e174e 100644 --- a/man/metricChangePoint.Rd +++ b/man/metricChangePoint.Rd @@ -4,8 +4,16 @@ \alias{metricChangePoint} \title{Change Point Detection in Metric Spaces} \usage{ -metricChangePoint(multiSeries, distance, useGaussian = TRUE, useBFIC = TRUE, - setdetail, reducedDim = 10, useBootstrap = FALSE) +metricChangePoint( + multiSeries, + distance, + useGaussian = TRUE, + useBFIC = TRUE, + useMetricProject = FALSE, + setdetail, + reducedDim = 10, + useBootstrap = FALSE +) } \arguments{ \item{multiSeries}{The high dimensional time series. Should be a matrix, with each row being an observation of the time series.} diff --git a/man/persistenceChangePoint.Rd b/man/persistenceChangePoint.Rd index ee6db0c..f0f8bd1 100644 --- a/man/persistenceChangePoint.Rd +++ b/man/persistenceChangePoint.Rd @@ -4,8 +4,13 @@ \alias{persistenceChangePoint} \title{Persistence Diagram Change Point Detection} \usage{ -persistenceChangePoint(multiSeries, maxDimension, maxScale, - useWasserstein = TRUE, useBootstrap = FALSE) +persistenceChangePoint( + multiSeries, + maxDimension, + maxScale, + useWasserstein = TRUE, + useBootstrap = FALSE +) } \arguments{ \item{multiSeries}{A list of matrices, where each row of the matrix corresponds to a point in Euclidean space.} diff --git a/man/plotChangePoint.Rd b/man/plotChangePoint.Rd new file mode 100644 index 0000000..22768c2 --- /dev/null +++ b/man/plotChangePoint.Rd @@ -0,0 +1,43 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/plotChangePoint.R +\name{plotChangePoint} +\alias{plotChangePoint} +\title{Change point plotter} +\usage{ +plotChangePoint( + M1, + M2, + pad1, + probvec, + wid, + m, + n, + data, + indices, + showall = FALSE +) +} +\arguments{ +\item{M1}{Max of probability vector [calculated in changePointDetect]} + +\item{M2}{If M1 > 3, good evidence of change point [calculated in changePointDetect]} + +\item{pad1}{padding [calculated in changePointDetect]} + +\item{probvec}{idealized data set and its discrete wavelet transform [calculated in changePointDetect]} + +\item{wid}{number of columns of data (width) [calculated in changePointDetect]} + +\item{m}{row length [calculated in changePointDetect]} + +\item{n}{length [calculated in changePointDetect]} + +\item{data}{change point dataset [calculated in changePointDetect]} + +\item{indices}{indices of change point [calculated in changePointDetect]} + +\item{showall}{set to TRUE to see the top three candidate plots based on highest BFIC value} +} +\description{ +Plots change points. Shows best plot or the top three plots based on BFIC value. +} diff --git a/man/repJLDetectChangePoint.Rd b/man/repJLDetectChangePoint.Rd index c8e86f1..95fe31f 100644 --- a/man/repJLDetectChangePoint.Rd +++ b/man/repJLDetectChangePoint.Rd @@ -4,8 +4,16 @@ \alias{repJLDetectChangePoint} \title{Repeated JL Dimension Reduction} \usage{ -repJLDetectChangePoint(multiSeries, reducedDim = 5, useGaussian = TRUE, - setdetail, useBFIC = TRUE, numRepeat = 100, numKeep = 2, alpha = 0.05) +repJLDetectChangePoint( + multiSeries, + reducedDim = 5, + useGaussian = TRUE, + setdetail, + useBFIC = TRUE, + numRepeat = 100, + numKeep = 2, + alpha = 0.05 +) } \arguments{ \item{multiSeries}{The high dimensional time series. Should be a matrix, with each row being an observation of the time series.}