Learn R Programming

mmpp (version 0.4)

ieimetric: Compute Inter Event Interval-based Metric Between Marked Point Processes

Description

This metric considers inter event interval for point processes.

Usage

ieimetric(S1, S2, measure = "sim", M = NULL, window.length = NULL, variant = "spike", abs.tol = .Machine$double.eps^0.25)

Arguments

S1
marked point process data.
S2
marked point process data.
measure
"sim" for similarity and "dist" for distance. Default "sim".
M
a precision matrix for filter of marks, i.e., exp( - r' M r) is used for filtering marks. It should be symmetric and positive semi-definite.
window.length
width of the window used for splitting the original MPP. If not provided, max(max(S1$time,S2$time) - min(S1$time,S2$time)) is used.
variant
choose from two variants "spike-weighted" or "time-weighted". Default "spike", which is computationally efficient than "time". See the reference for details.
abs.tol
absolute tolerance for numerical integration.

Value

Similarity or distance between two inputs (marked) point process S1 and S2.

Details

iei computes inter event interval-based measure between MPP realizations. iei for simple point process does not have any tuning parameter, which can be a desirable property for data analysis. However, it's computational cost is relatively higher than other metrics.

References

T. Kreuz, J.S. Haas, A. Morelli, H.D.I. Abarbanel, and A. Politi. Measuring spike train synchrony, Journal of Neuroscience Methods, Vol. 165(1), pp. 151-161, 2007.

Examples

Run this code
##The aftershock data of 26th July 2003 earthquake of M6.2 at the northern Miyagi-Ken Japan.
data(Miyagi20030626)
## time longitude latitude depth magnitude
## split events by 7-hour
sMiyagi <- splitMPP(Miyagi20030626,h=60*60*7,scaleMarks=TRUE)$S
N <- 5
sMat <- matrix(0,N,N)
  cat("calculating intensity inner product...")
 for(i in 1:(N)){
   cat(i," ")
   for(j in i:N){
     S1 <- sMiyagi[[i]]$time;S2 <- sMiyagi[[j]]$time
    sMat[i,j] <- ieimetric(S1,S2,M=diag(1,4))
   }
 }
 sMat <- sMat+t(sMat)
 tmpd <- diag(sMat) <- diag(sMat)/2
 sMat <- sMat/sqrt(outer(tmpd,tmpd))
image(sMat)

Run the code above in your browser using DataLab