The research of accuracy of searching cycles methods in symbolic sequences (time series) with presence of random noises.
- based on mix of genetic algorithm and dynamic programming
- works perfectly for small sizes of the periods
- works normally (if you wanna get more concrete digits - ask about) with huge sequences
- works with all types of noise
- works with all types of periodicity
About all future analysis - percent (доля) in this case one (percent of noisy periods) * (percent of noise in period) where percent of noisy periods = percent of noisy periods in my tests
- just to show that algorithm (in my research) works more efficiently with small periods
- sometimes you can wait for hours to get result (if you use cluster)
- not easy to prepare the customizations for genetic algorithm
- not easy to make good first initialization of the organisms - matrices
Examples of Data files that was tested on cluster
- examples maybe here If you wanna test Korotkov algortihms - see the cluster link
- based on convolution
- fast computational complexity due to FFT in the kernel
- works well with any sizes of alphabet and any sizes of sequence
- just to show the efficiency (time complexity) of the CONV algorithm
- does not work with any noises (works well only with
replace
noise) - there are no single implementation for all types of periodicity
(exist separated implementations for
partial
andsegment
periodicity)
- additional implementation with GUI on java
- based on dynamic time warping
- easy to understand, easy to implement
- does not work great with all types of noises
to test this algorithm see the "instruction to test algorithms"
- additional implementation with GUI on java
- based on suffix tree
- works great for all types of periodicities
- works well for all types of noise
- works well only for discrete small alphabet
to test this algorithm ask about additional implementation that based on masudio solution
- generate_data.py - customize and run the file
- test.py choose the test function and run it
- just to show the results of my tests
Send me email to [email protected] if you want to compare these algorithms with any simple like algorithms below All of them were implemented on Java with GUI interface (JavaFX)
- easy to understand, easy to implement
- no chances to detect difficult periodicity (more than one same elements in a period)
- single cycle estimation
- modification of Floyd (binary degree representation) that estimate period more correct
- independent implementation
- very fast
- more correct than previous
- was developed only in 2004