test.once.psi.robust {OLCPM} | R Documentation |
robust test of single change point for matrix-valued online data given rolling eigenvalue series
Description
Based on test.once.psi
, this function
repeats the randomized procedure multiple times and reports the majority
vote, thus more robust.
Usage
test.once.psi.robust(
m = 20,
psi,
method = "ps",
eta = 0.25,
cv = 2.386,
S = 100,
pr = 0.75
)
Arguments
m |
a positive integer ( |
psi |
the transformed eigenvalue series, produced by gen.psi.tau.flat
or gen.psi.tau.proj, with length |
method |
indicating the test statistic, “ps” for the partial-sum method, while others for the worst-case method. |
eta |
a number between |
cv |
critical value; see also |
S |
an integer indicating the number of replications. |
pr |
an number in |
Details
See He et al. (2021).
Value
a list containing:
test |
a logical value. 1 indicating the existence of change point, 0 indicating no change point. |
loc |
an integer larger than m, indicating
the median location of the change point among the positive votes in the
S replications; or |
Author(s)
Yong He, Xinbing Kong, Lorenzo Trapani, Long Yu
References
He Y, Kong X, Trapani L, & Yu L(2021). Online change-point detection for matrix-valued time series with latent two-way factor structure. arXiv preprint, arXiv:2112.13479.
Examples
k1=3
k2=3
epsilon=0.05
Sample_T=50
p1=40
p2=20
kmax=8
r=8
m=p2
# generate data
Y=gen.data(Sample_T,p1,p2,k1,k2,tau=0.5,change=1,pp=0.5)
# calculate delta
temp=log(p1)/log(m*p2)
delta=epsilon*(temp<=0.5)+(epsilon+1-1/(2*temp))*(temp>0.5)
# calculate psi.tau
psi1=gen.psi.tau.proj(Y,k1+1,m,delta,r,kmax)
psi2=gen.psi.tau.flat(Y,k1+1,m,delta,r)
# calculate cv for "ps" with eta=0.45 and "wc"
cv1=getcv(0.05,method="ps",eta=0.45)
cv2=getcv(0.05,method="wc")
# test with psi1
test.once.psi.robust(m,psi1[,3],method="ps",eta=0.45,cv1,S=100,pr=0.75)
test.once.psi.robust(m,psi1[,3],method="wc",eta=0.5,cv2,S=100,pr=0.75)
# test with psi2
test.once.psi.robust(m,psi2[,3],method="ps",eta=0.45,cv1,S=100,pr=0.75)
test.once.psi.robust(m,psi2[,3],method="wc",eta=0.5,cv2,S=100,pr=0.75)