8.1 Assignment: CRQA and Diagonal Profile
- Create two variables for CRQA analysis, or use the \(x\) and \(y\) coordinates we roecorded during the lecture:
y1 <- sin(1:900*2*pi/67) y2 <- sin(.01*(1:900*2*pi/67)^2) # Here are the circle trace data xy <- import("https://raw.githubusercontent.com/FredHasselman/DCS/master/assignmentData/RQA_circletrace/mouse_circle_xy.csv") y1 <- xy$x y2 <- xy$y
You have just created two sine(-like) waves. We’ll examine if and how they are coupled in a shared phase space. As a first step plot them.
Find an embedding delay (using mutual information) and an embedding dimension (if you calculate an embedding dimension using package
fractalfor each signal seperately, as a rule of thumb use the highest embedding dimension you find in further analyses).
# General settings for `crqa()` par0 <- list(rescale = 0, normalize = 0, mindiagline = 2, minvertline = 2, tw = 0, whiteline = FALSE, recpt = FALSE, side = "both", checkl = list(do = FALSE, thrshd = 3, datatype = "categorical",pad = TRUE) ) # Settings for `optimizeParam()` par <- list(lgM = 20, steps = seq(1, 6, 1), radiusspan = 100, radiussample = 40, normalize = par0$normalize, rescale = par0$rescale, mindiagline = par0$mindiagline, minvertline = par0$minvertline, tw = par0$tw, whiteline = par0$whiteline, recpt = par0$recpt, fnnpercent = 10, typeami = "mindip")
- We can now create a cross recurrence matrix. Fill in the values you decided on. You can choose a radius automatically, look in the
- Get the optimal parameters using a radius which will give us 2%-5% recurrent points.
Note: There is no rescaling of data, the sines were created in the same range. You can plot a matrix using
image(). You could also check package
nonlinearTseries. If you sourced the
(ans <- optimizeParam(ts1 = y1, ts2 = y2, par = par, min.rec = 2, max.rec = 5))
Run the CRQA and produce a plot of the recurrence matrix.
- Can you understand what is going on?
- For the simulated data: Explain the the lack of recurrent points at the beginning of the time series.
- For the circle trace: How could one see these are not determisnistic sine waves?
- Examine the synchronisation under the diagonal LOS. Look in the manual of
crqaor Coco & Dale (2014).
- To get the diagonal profile from the recurrence plot, use
- Make a plot of the diagonal profile. How far is the peak in RR removed from 0 (Line of Synchronisation)?
- Perform the same steps with a shuffled version (or use surrogate analysis!) of the data of timeseries \(y1\). You can use the embedding parameters you found earlier.
NOTE: If you generate surrogate timeseries, make sure the RR is the same for all surrogates. Try to keep the RR in the same range by using the
optimizeParamfor each surrogate.