timeseries.Signal.self_similarity — GDA Toolbox v1.0 Manual

# timeseries.Signal.self_similarity

`Signal.` `self_similarity`(window, step=1, start=None, stop=None, dist=<function euclidean>, normalizer=None)

  Compare sliding windows of this Signal using a distance function.

  Parameters: | window (length of segment) step (steps to move between windows) start (index to start at) stop (index to stop at) dist (distance function to use. Default:`scipy.spatial.distance.euclidean` normalizer (function to use to renormalize each window. default:None)
  Returns: | an iterator of the window comparisons. (0,0), (0,1), (0,2), … (0, n-1), (1,1), (1,2), … (n-2, n-1) The return elements are pairs ((index_lo, index_hi), norm), which can be used to populate a dictionary or array.

  Examples

      >>> S = Signal([0.0, 0.0, 3.0, 4.0, 6.0, 8.0])
      >>> Sss = list(S.self_similarity(window=2, step=2))
      >>> for (ij, d) in Sss:
      ...     print("{} -> {}".format(ij,d))
      (0, 0) -> 0.0
      (0, 2) -> 5.0
      (0, 4) -> 10.0
      (2, 2) -> 0.0
      (2, 4) -> 5.0
      (4, 4) -> 0.0
      >>> D = np.array([d for ij,d in Sss])
      >>> print(D)
      [  0.   5.  10.   0.   5.   0.]
      >>> print(ssd.squareform(D)) # scipy.spatial.distance
      [[  0.   0.   5.  10.]
       [  0.   0.   0.   5.]
       [  5.   0.   0.   0.]
       [ 10.   5.   0.   0.]]

#### Previous topic

timeseries.Signal.sample_near

#### Next topic

timeseries.Signal.smoothen