The multiple filter test for rate change detection in point processes on the line.
MFT.rate(Phi, m = 0, cutout = TRUE, autoset.d_H = TRUE, S = NULL,
E = NULL, d = NULL, H = NULL, alpha = 0.05,
method = "asymptotic", sim = 10000, rescale = FALSE, Q = NA,
blocksize = NA, perform.CPD = TRUE, print.output = TRUE)numeric vector of increasing events, input point process
non-negative integer, dependence parameter: serial corellation rho up to order m estimated
logical, if TRUE for every point, for which the estimated rho becomes negative, the h-neighborhood of G (resp. R) is set to zero. This might only occur, if m > 0
logical, automatic choice of window size H and step size d
numeric, start of time interval, default: Smallest multiple of d that lies beyond min(Phi)
numeric, end of time interval, default: Smallest multiple of d that lies beyond max(Phi), needs E > S.
numeric, > 0, step size delta at which processes are evaluated. d is automatically set if autoset.d_H = TRUE
vector, window set H, all elements must be increasing ordered multiples of d, the smallest element must be >= d and the largest =< (T/2). H is automatically set if autoset.d_H = TRUE
numeric, in (0,1), significance level
either "asymptotic", "bootstrap" or "fixed", defines how threshold Q is derived, default: "asymptotic", If "asymptotic": Q is derived by simulation of limit process L (Brownian motion); possible set number of simulations (sim), If "bootstrap": Q is derived by (Block)-Bootstrapping; possibly set number of simulations (sim) and blocksize (blocksize), If "fixed": Q may be set manually (Q)
integer, > 0, No of simulations of limit process (for approximation of Q), default = 10000
logical, if TRUE statistic G is rescaled to statistic R, default = FALSE
numeric, rejection threshold, default: Q is simulated according to sim and alpha.
NA or integer >= 1, if method == 'bootstrap', blocksize determines the size of blocks (number of life times) for bootstrapping
logical, if TRUE change point detection algorithm is performed
logical, if TRUE results are printed to the console
invisible
test statistic
rejection threshold
how threshold Q was derived, see 'Arguments' for detailed description
number of simulations of the limit process (approximation of Q)
size of blocks (number of life times) for bootstrapping (approximation of Q)
states whether statistic G is rescaled to R
order of respected serial correlation (m-dependence)
set of change points estmated by the multiple filter algorithm, increasingly ordered in time
estimated mean rates between adjacent change points
start of time interval
end of time interval
length of time interval
window set
step size delta at which processes were evaluated
significance level
states whether cutout was used (see 'Arguments')
logical, if TRUE change point detection algorithm was performed
list of technical variables with processes Phi and G_ht or R_ht
type of MFT which was performed: "rate"
Michael Messer, Marietta Kirchner, Julia Schiemann, Jochen Roeper, Ralph Neininger and Gaby Schneider (2014). A multiple filter test for the detection of rate changes in renewal processes with varying variance. The Annals of Applied Statistics 8(4): 2027-67 <doi:10.1214/14-AOAS782>
Michael Messer, Kaue M. Costa, Jochen Roeper and Gaby Schneider (2017). Multi-scale detection of rate changes in spike trains with weak dependencies. Journal of Computational Neuroscience, 42 (2), 187-201. <doi:10.1007/s10827-016-0635-3>
MFT.variance, MFT.m_est, plot.MFT, summary.MFT, MFT.mean, MFT.peaks
# NOT RUN {
# Rate change detection in Poisson process
# with three change points (at t = 250, 600 and 680)
set.seed(0)
Phi1 <- runif(rpois(1,lambda=390),0,250)
Phi2 <- runif(rpois(1,lambda=380),250,600)
Phi3 <- runif(rpois(1,lambda=200),600,680)
Phi4 <- runif(rpois(1,lambda=400),680,1000)
Phi <- sort(c(Phi1,Phi2,Phi3,Phi4))
mft <- MFT.rate(Phi)
plot(mft)
# }
Run the code above in your browser using DataLab