Ejemplo n.º 1
0
def run_main_prog(params):
    #start = time.clock()
    (m,numSig) = params # m is index for noise level, numSig is idex for realization
    numSurr = 99
    SignalAndSurr = numpy.zeros((numSurr+1,N),dtype='float32')
    noise = NL[m]*numpy.std(SignalX[numSig,:].copy())*numpy.random.normal(0,1,N)
    SignalAndSurr[0,:] = SignalX[numSig,:].copy()+noise
    for j in range(1,numSurr+1,1):
         SignalAndSurr[j,:] = UnivariateSurrogates(SignalAndSurr[0,:].copy(),120)
    
    T = numpy.zeros((numSurr+1,1),dtype='float32')          
    
    for k in range(0,numSurr+1,1):
        ts = SignalAndSurr[k,:]
        ts.shape = (-1,1)
        psv = RecurrencePlot.embed_time_series(ts,dim=3,tau=3)
        randomVertices = random.sample(xrange(psv.shape[0]), int(sys.argv[1]))
        R = RecurrenceNetwork(psv[randomVertices,:],recurrence_rate=float(sys.argv[2]),silence_level=2)
        T[k] = R.transitivity() # compute network measure for hypothesis testing

    if T[0] > max(T[1:]): #non-parametric testing
         H0 = 1 #null-hypothesis rejected
    else:
         H0 = 0
    #elapsed = (time.clock() - start)
    #print elapsed
    return (H0)
Ejemplo n.º 2
0
#  Calculate and print the recurrence rate again to check if it worked...
RR = rp.recurrence_rate()
print("Recurrence rate:", RR)

#  Calculate some standard RQA measures
DET = rp.determinism(l_min=2)
LAM = rp.laminarity(v_min=2)

print("Determinism:", DET)
print("Laminarity:", LAM)

#  Generate a recurrence network at fixed recurrence rate
rn = RecurrenceNetwork(time_series,
                       dim=DIM,
                       tau=TAU,
                       metric=METRIC,
                       normalize=False,
                       recurrence_rate=RR)

#  Calculate average path length, transitivity and assortativity
L = rn.average_path_length()
T = rn.transitivity()
C = rn.global_clustering()
R = rn.assortativity()

print("Average path length:", L)
print("Transitivity:", T)
print("Global clustering:", C)
print("Assortativity:", R)
        #  Get time series section for current window
        time_series = data[j * delta:j * delta + T_embedded]
        local_step_sequence[j] = j * delta + T_embedded / 2

        #  Prepare recurrence network from original data
        rec_net = RecurrenceNetwork(time_series.flatten(),
                                    dim=DIM,
                                    tau=TAU,
                                    metric=METRIC,
                                    normalize=False,
                                    silence_level=2,
                                    recurrence_rate=RR)

        #  Calculations for original recurrence network
        local_result["Average path length"][j] = rec_net.average_path_length()
        local_result["Transitivity"][j] = rec_net.transitivity()

        #local_result["Assortativity"][j] = rec_net.assortativity()
        #local_result["Diameter"][j] = rec_net.diameter()

        #  Calculate RQA measures
        #local_result["Determinism"][j] = rec_net.determinism()
        #local_result["Laminarity"][j] = rec_net.laminarity()
        #local_result["Mean diagonal line length"][j] = rec_net.average_diaglength()
        #local_result["Trapping time"][j] = rec_net.trapping_time()
        #local_result["Diagonal line entropy"][j] = rec_net.diag_entropy()
        #local_result["Autocorrelation"][j] = autocorrelation(time_series, lag=1)
        #local_result["Mean"][j] = time_series.mean()
        #local_result["Standard deviation"][j] = time_series.std()

        #  Update progress bar every step
import numpy as np
from pyunicorn.timeseries import RecurrenceNetwork

x = np.sin(np.linspace(0, 10 * np.pi, 1000))
net = RecurrenceNetwork(x, recurrence_rate=0.05)
print net.transitivity()
Ejemplo n.º 5
0
#  Generate a recurrence plot object with fixed recurrence rate RR
rp = RecurrencePlot(time_series, dim=DIM, tau=TAU, metric=METRIC,
                    normalize=False, recurrence_rate=RR)

#  Calculate and print the recurrence rate again to check if it worked...
RR = rp.recurrence_rate()
print "Recurrence rate:", RR

#  Calculate some standard RQA measures
DET = rp.determinism(l_min=2)
LAM = rp.laminarity(v_min=2)

print "Determinism:", DET
print "Laminarity:", LAM

#  Generate a recurrence network at fixed recurrence rate
rn = RecurrenceNetwork(time_series, dim=DIM, tau=TAU, metric=METRIC,
                       normalize=False, recurrence_rate=RR)

#  Calculate average path length, transitivity and assortativity
L = rn.average_path_length()
T = rn.transitivity()
C = rn.global_clustering()
R = rn.assortativity()

print "Average path length:", L
print "Transitivity:", T
print "Global clustering:", C
print "Assortativity:", R
#  Run analysis for each realization separately
for i in xrange(n_realizations):
    #  Loop over moving windows
    for j in xrange(t_steps):
        #  Get time series section for current window
        time_series = values[i,j * delta:j * delta + T_embedded]
        step_sequence[j] = j * delta + T_embedded / 2

        #  Prepare recurrence network from original data
        rec_net = RecurrenceNetwork(time_series.copy(), dim=DIM, tau=TAU,
                                    metric=METRIC, normalize=False,
                                    silence_level=2, recurrence_rate=RR)

        #  Calculations for original recurrence network
        results["Transitivity"][i,j] = rec_net.transitivity()
        results["Average path length"][i,j] = rec_net.average_path_length()

        #results["Assortativity"][i,j] = rec_net.assortativity()
        #results["Diameter"][i,j] = rec_net.diameter()

        #  Calculate RQA measures
        #local_result["Determinism"][j] = rec_net.determinism()
        #local_result["Laminarity"][j] = rec_net.laminarity()
        #local_result["Mean diagonal line length"][j] = rec_net.average_diaglength()
        #local_result["Trapping time"][j] = rec_net.trapping_time()
        #local_result["Diagonal line entropy"][j] = rec_net.diag_entropy()
        #local_result["Autocorrelation"][j] = autocorrelation(time_series,
        #                                                      lag=1)
        #local_result["Mean"][j] = time_series.mean()
        #local_result["Standard deviation"][j] = time_series.std()
Ejemplo n.º 7
0
import numpy as np
from pyunicorn.timeseries import RecurrenceNetwork

x = np.sin(np.linspace(0, 10 * np.pi, 1000))
net = RecurrenceNetwork(x, recurrence_rate=0.05)
print(net.transitivity())
Ejemplo n.º 8
0
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 19 11:25:43 2015

@author: George
"""

from __future__ import absolute_import, division, print_function, unicode_literals
import numpy as np
from pyunicorn.timeseries import RecurrenceNetwork

x = np.sin(np.linspace(0, 10 * np.pi, 1000))
net = RecurrenceNetwork(x, recurrence_rate=0.05)
print(net.transitivity())