In [1]:
import os 
os.getcwd()


Out[1]:
'/home/psenin/git/saxpy/jupyter'

In [2]:
os.chdir("/home/psenin/git/saxpy")
import numpy as np
from saxpy.strfunc import idx2letter 
from saxpy.znorm import znorm
from saxpy.paa import paa
from saxpy.alphabet import cuts_for_asize
from saxpy.sax import sax_via_window

In [12]:
dat = np.array([0., 0., 0., 0., 0., -0.270340178359072, -0.367828308500142,
                0.666980581124872, 1.87088147328446, 2.14548907684624,
                -0.480859313143032, -0.72911654245842, -0.490308602315934,
                -0.66152028906509, -0.221049033806403, 0.367003418871239,
                0.631073992586373, 0.0487728723414486, 0.762655178750436,
                0.78574757843331, 0.338239686422963, 0.784206454089066,
                -2.14265084073625, 2.11325193044223, 0.186018356196443,
                0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.519132472499234,
                -2.604783141655, -0.244519550114012, -1.6570790528784,
                3.34184602886343, 2.10361226260999, 1.9796808733979,
                -0.822247322003058, 1.06850578033292, -0.678811824405992,
                0.804225748913681, 0.57363964388698, 0.437113583759113,
                0.437208643628268, 0.989892093383503, 1.76545983424176,
                0.119483882364649, -0.222311941138971, -0.74669456611669,
                -0.0663660879732063, 0., 0., 0., 0., 0.,])

sax1 = sax_via_window(dat, 6, 3, 3, "none", 0.01)

sax1


Out[12]:
defaultdict(list,
            {'aac': [4, 10, 11, 30, 35],
             'abc': [12, 14, 36, 44],
             'acb': [5, 16, 21, 37, 43],
             'acc': [13, 52, 53],
             'bac': [3, 19, 34, 45, 51],
             'bba': [31],
             'bbb': [15, 18, 20, 22, 25, 26, 27, 28, 29, 41, 42, 46],
             'bbc': [2],
             'bca': [6, 17, 32, 38, 47, 48],
             'caa': [8, 23, 24, 40],
             'cab': [9, 50],
             'cba': [7, 39, 49],
             'cbb': [33],
             'cca': [0, 1]})

In [5]:
from saxpy.znorm import znorm
from saxpy.alphabet import cuts_for_asize
cuts_for_asize(3)


Out[5]:
array([      -inf, -0.4307273,  0.4307273])

In [9]:
from saxpy.znorm import znorm
from saxpy.paa import paa
from saxpy.sax import ts_to_string
ts_to_string(paa(znorm(np.array([-2, 0, 2, 0, -1])), 3), cuts_for_asize(3))


Out[9]:
'acb'

In [11]:
import numpy as np
from saxpy.alphabet import cuts_for_asize
from saxpy.znorm import znorm
from saxpy.paa import paa
from saxpy.sax import ts_to_string

dat = np.array([-2, 0, 2, 0, -1])
dat_znorm = znorm(dat)
dat_paa_3 = paa(dat_znorm, 3)

ts_to_string(dat_paa_3, cuts_for_asize(3))


Out[11]:
'acb'

In [ ]:


In [ ]:


In [ ]:


In [4]:
import matplotlib.pyplot as plt
plt.plot(dat)
plt.show()



In [5]:
saxpy.ts_to_string()


Out[5]:
defaultdict(list,
            {'aac': [4, 10, 11, 30, 35],
             'abc': [12, 14, 36, 44],
             'acb': [5, 16, 21, 37, 43],
             'acc': [13, 52, 53],
             'bac': [3, 19, 34, 45, 51],
             'bba': [31],
             'bbb': [15, 18, 20, 22, 25, 26, 27, 28, 29, 41, 42, 46],
             'bbc': [2],
             'bca': [6, 17, 32, 38, 47, 48],
             'caa': [8, 23, 24, 40],
             'cab': [9, 50],
             'cba': [7, 39, 49],
             'cbb': [33],
             'cca': [0, 1]})

In [7]:
sax1['cca']


Out[7]:
[0, 1]

In [14]:
elements_num = 0
for key in sax1:
    elements_num += len(sax1[key])
elements_num


Out[14]:
54

In [16]:
sax_exact = sax_via_window(dat, 6, 3, 3, "exact", 0.01)
sax_exact


Out[16]:
defaultdict(list,
            {'aac': [4, 10, 30, 35],
             'abc': [12, 14, 36, 44],
             'acb': [5, 16, 21, 37, 43],
             'acc': [13, 52],
             'bac': [3, 19, 34, 45, 51],
             'bba': [31],
             'bbb': [15, 18, 20, 22, 25, 41, 46],
             'bbc': [2],
             'bca': [6, 17, 32, 38, 47],
             'caa': [8, 23, 40],
             'cab': [9, 50],
             'cba': [7, 39, 49],
             'cbb': [33],
             'cca': [0]})

In [17]:
sax_mindist = sax_via_window(dat, 6, 3, 3, "mindist", 0.01)
sax_mindist


Out[17]:
defaultdict(list,
            {'aac': [10, 30],
             'acb': [21, 37, 43],
             'acc': [13, 52],
             'bac': [19, 34, 45],
             'bba': [31],
             'bbc': [2],
             'bca': [6, 17, 47],
             'caa': [8, 23],
             'cab': [50],
             'cba': [39],
             'cca': [0]})