MFT.rate {MFT} | R Documentation |
MFT.rate
Description
The multiple filter test for rate change detection in point processes on the line.
Usage
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)
Arguments
Phi |
numeric vector of increasing events, input point process |
m |
non-negative integer, dependence parameter: serial corellation rho up to order m estimated |
cutout |
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 |
autoset.d_H |
logical, automatic choice of window size H and step size d |
S |
numeric, start of time interval, default: Smallest multiple of d that lies beyond min(Phi) |
E |
numeric, end of time interval, default: Smallest multiple of d that lies beyond max(Phi), needs E > S. |
d |
numeric, > 0, step size delta at which processes are evaluated. d is automatically set if autoset.d_H = TRUE |
H |
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 |
alpha |
numeric, in (0,1), significance level |
method |
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) |
sim |
integer, > 0, No of simulations of limit process (for approximation of Q), default = 10000 |
rescale |
logical, if TRUE statistic G is rescaled to statistic R, default = FALSE |
Q |
numeric, rejection threshold, default: Q is simulated according to sim and alpha. |
blocksize |
NA or integer >= 1, if method == 'bootstrap', blocksize determines the size of blocks (number of life times) for bootstrapping |
perform.CPD |
logical, if TRUE change point detection algorithm is performed |
print.output |
logical, if TRUE results are printed to the console |
Value
invisible
M |
test statistic |
Q |
rejection threshold |
method |
how threshold Q was derived, see 'Arguments' for detailed description |
sim |
number of simulations of the limit process (approximation of Q) |
blocksize |
size of blocks (number of life times) for bootstrapping (approximation of Q) |
rescale |
states whether statistic G is rescaled to R |
m |
order of respected serial correlation (m-dependence) |
CP |
set of change points estmated by the multiple filter algorithm, increasingly ordered in time |
rate |
estimated mean rates between adjacent change points |
S |
start of time interval |
E |
end of time interval |
Tt |
length of time interval |
H |
window set |
d |
step size delta at which processes were evaluated |
alpha |
significance level |
cutout |
states whether cutout was used (see 'Arguments') |
perform.CPD |
logical, if TRUE change point detection algorithm was performed |
tech.var |
list of technical variables with processes Phi and G_ht or R_ht |
type |
type of MFT which was performed: "rate" |
Author(s)
Michael Messer, Stefan Albert, Solveig Plomer and Gaby Schneider
References
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>
See Also
MFT.variance, MFT.m_est, plot.MFT, summary.MFT, MFT.mean, MFT.peaks
Examples
# 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)