Kemudraj

januari_serii

Aug 22nd, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.56 KB | None | 0 0
  1. from __future__ import print_function
  2. import numpy as np
  3. import scipy.stats as sp
  4.  
  5. y_labels = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  9.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  10.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  11.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  12.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  13.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  14.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  15.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  16.             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  17.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  18.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  19.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  20.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  21.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  22.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  23.             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  24.  
  25.  
  26. def percentiles_all(x, iqr=True, amplitude=True, percentiles_list=[5, 10, 25, 40, 50, 60, 75, 90, 95]):
  27.     names = ['p_' + str(p) for p in percentiles_list]
  28.     if iqr and 25 in percentiles_list and 75 in percentiles_list:
  29.         names.append('iqr')
  30.     if amplitude and 1 in percentiles_list and 99 in percentiles_list:
  31.         names.append('perc_amp')
  32.     if len(x) == 0:
  33.         values = [0 for i in range(len(names))]
  34.         return values, names
  35.     if len(percentiles_list) > 0 and all([0 < q < 100 for q in percentiles_list]):
  36.         values = list(np.percentile(x, percentiles_list))
  37.     else:
  38.         values = []
  39.     if iqr:
  40.         q1 = percentiles_list.index(25)
  41.         q3 = percentiles_list.index(75)
  42.         values.append(values[q3] - values[q1])
  43.     if amplitude and 1 in percentiles_list and 99 in percentiles_list:
  44.         q1 = percentiles_list.index(1)
  45.         q3 = percentiles_list.index(99)
  46.         values.append(values[q3] - values[q1])
  47.     return values, names
  48.  
  49. def stats_calculate_all(x):
  50.     xnp = np.array(x)
  51.     n = len(x)
  52.     if n == 0:
  53.         values = [0 for i in range(len(stats_all_names))]
  54.         return values, stats_all_names
  55.     values = []
  56.     vmean = float(np.mean(xnp))
  57.     vstd = float(np.std(xnp))
  58.     if vstd != 0:
  59.         snr = vmean / vstd
  60.     values.append(vmean)
  61.     values.append(np.median(xnp))
  62.     values.append(vstd)
  63.     return values
  64.  
  65.  
  66. if __name__ == "__main__":
  67.     x = np.array(X_data)
  68.     shift = 5  # pomestuvanje pomegu podviznite prozorci
  69.     w_long = input()  # dolzina (broj na otcituvanja) na dolgiot prozorec
  70.     w_short = input()  # dolzina (broj na otcituvanja) na kratkiot prozorec
  71.     for i in range(max(w_short, w_long), len(X_data), shift):
  72.         lista=[]
  73.         nova=[]
  74.         for j in range(x.shape[1]):
  75.             x_winow_long = x[i - w_long:i, j]
  76.             x_winow_short = x[i - w_short:i, j]
  77.             s1 = stats_calculate_all(x_winow_long)
  78.             s2= stats_calculate_all(x_winow_short)
  79.             lista.append(round((x[i][j]),2))
  80.             for d in s1:
  81.                 lista.append(round(d,2))
  82.             for d in s2:
  83.                 lista.append(round(d,2))
  84.             if(s1[0]<s2[0]):
  85.                 lista.append(-1)
  86.             else:
  87.                 lista.append(1)
  88.         print (i,lista)
Advertisement
Add Comment
Please, Sign In to add comment