Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Calculates stats from the provided list xnp, based on the stats config object.
- :param stat_config: Configuration for which stats to be computed.
- :param x: The time series list.
- :param offset: Offset of the values so some stats can be calculated
- :return:
- """
- stats_all_names = ['len', 'min', 'max', 'range', 'mean', 'hmean', 'gmean', 'var', 'std', 'skew', 'kurtosis',
- 'median', 'mode', 'energy', 'energy_sample', 'snr']
- xnp = np.array(x)
- n = len(x)
- if n == 0:
- values = [0 for i in range(len(stats_all_names))]
- return values, stats_all_names
- values = []
- vmin = float(min(xnp))
- if vmin < 1:
- offset = 1 + abs(vmin)
- else:
- offset = 0
- vmax = float(max(xnp))
- vrange = vmax - vmin
- vmean = float(np.mean(xnp))
- vstd = float(np.std(xnp))
- venergy = float(sum(np.array(xnp) ** 2))
- venergy_sample = venergy / n
- snr = 0.0
- if vstd != 0:
- snr = vmean / vstd
- values.append(vmin)
- values.append(vmax)
- #values.append(vrange)
- values.append(vmean)
- # values.append(float(sp.hmean(xnp + offset)))
- # values.append(float(sp.gmean(xnp + offset)))
- # values.append(vstd ** 2)
- values.append(vstd)
- # values.append(sp.skew(xnp))
- # values.append(sp.kurtosis(xnp))
- # values.append(np.median(xnp))
- # vmode = sp.mode(xnp)
- # vmode = float(vmode[0][0])
- # values.append(vmode)
- # values.append(venergy)
- # values.append(venergy_sample)
- # values.append(snr)
- return values, stats_all_names
- if __name__ == "__main__":
- x = np.array(X_data)
- shift = input()
- w_long = input()
- arr_len = len(x[0, :]) #dolzinata na np X (np.array)
- for i in range(int(w_long), len(X_data), shift): #zimame 50(w_long) reda od vkupno 700(len(X-data) so pomestuvanje 10(shift)
- result=[] #prazna lista
- for j in range(0,arr_len): #iterirame niz prozorot
- s,names = stats_calculate_all(x[i-w_long:i,j]) #zna calculete all mu ja davame datata od x so golemina i-w_long
- result.extend([round(s[0],2), round(s[1],2), round(s[2],2), round(s[3],2)])
- print (i,result)
- # vasiot kod tuka
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement