def DrawLines(lines): ax = gca() for line in lines: tline = Line2D((line[0], line[2]), (line[1], line[3])) ax.add_line(tline) n, w, a = read_para(sys.argv[1:]) #1 represent SAX and calculate the frequence x = Time_series.Time_series_CAR(n) data = x.tolist() sax = SAX(w, a, 1e-6) (letters, indices) = sax.to_letter_rep(data) frq = sax.symbol_frequency(data) #2 Dimensionality reduction with linear interprolation a = np.asarray(data, dtype=np.float64) newdata = (a + np.random.normal(0, 3, n)).tolist() nordata = normalize(a[:, np.newaxis], axis=0).ravel() figure() lines = WindowSliding.WindowSliding(nordata, Fitting.Fitting, Fitting.SumofSquaredError) DrawPlot(nordata, 'Pecewise linear approximation with Sliding Window') DrawLines(lines) show()
fname = 'file.txt' if os.path.isfile(fname) and file_len(fname) / 5 <= 20: flen = file_len(fname) / 5 + 1 mode = 'a' else: flen = 1 mode = 'w' f = open(fname, mode) f.write("----------------------%d---------------------\n" % flen) f.write("SAX parameters: %s\n" % str(para)) f.write("Symbolic letters: %s\n" % letters) f.write("Indices: %s\n" % str(indices)) f.write("freq: %s\n" % str(freq)) f.close() n, w, a = read_para(sys.argv[1:]) para = {'n': n, 'w': w, 'a': a} # represent SAX and calculate the frequence x = Time_series.Time_series_CAR(n) newx = x.tolist() sax = SAX(w, a, 1e-6) (letters, indices) = sax.to_letter_rep(newx) frq = sax.symbol_frequency(newx) # Write Data and information to files WriteDataFiles(newx) WriteInfoFile(letters, indices, frq, para)