In [1]:
from IPython.parallel import Client
parallel_client = Client()
ldview = parallel_client.load_balanced_view()
In [2]:
#load magics in current kernel
%matplotlib inline
%pylab inline
%load_ext autoreload
%autoreload 2
In [3]:
%%px --noblock
#load magics in clusters
%matplotlib inline
%pylab inline
%load_ext autoreload
%autoreload 2
Out[3]:
In [5]:
#initialize experiments in current kernel
%run experiments_init.py
In [6]:
%%px --noblock
#initialize experiments in clusters
%run experiments_init.py
Out[6]:
In [124]:
def run_amgng_mackey_glass_time_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
with Capturing() as output:
signal = train_amgng(signal, dimensions, buffer_len, ma_window,
ma_recalc_delay, increase_start, decrease_stop,
modify_time_domain=True, gamma=gamma, e_w=e_w, e_n=e_n)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_mackey_glass_time_noise = ldview.map_async(run_amgng_mackey_glass_time_noise, [0])
In [22]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 200,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_mackey-glass_time_noise_150000_wide.csv',
index_col='step', low_memory=False),
}
if True:
#if amgng_mackey_glass_time_noise.ready():
#ret_val = amgng_mackey_glass_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
#signal.to_csv('experiments/oger/out_amgng_mackey-glass_time_noise_150000_wide.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld, 'anomaly_score', 'A', 'Annotation', increase_start, decrease_stop, plot_score=False)
plot_signal(signal, max_threshld, 'anomaly_score', 'A', 'Annotation', 1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000), annotate_scores=False, plot_score=False)
else:
print('Not ready')
In [197]:
def run_cla_mackey_glass_time_noise(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
#trans = np.fft.fftn(signal.iloc[increase_start:decrease_stop])
#noise = trans + 2*np.random.randn(modification_len, dimensions)
#itrans = np.fft.ifftn(noise).real
#signal.iloc[increase_start:decrease_stop] = itrans
signal.iloc[increase_start:decrease_stop] = np.random.randn(modification_len, dimensions)
file_name = 'cla_mackey_glass_time_noise_3.csv'
cwd = 'experiments/oger/'
name = 'mackey_glass_time_noise'
with Capturing() as output:
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_mackey_glass_time_noise = ldview.map(run_cla_mackey_glass_time_noise, [0])
In [23]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_mackey-glass_time_noise_150000_wide.csv',
index_col='step', low_memory=False)
}
#if cla_mackey_glass_time_noise.ready():
if True:
# ret_val = cla_mackey_glass_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_cla_mackey-glass_time_noise_150000_wide.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld, 'anomaly_likelihood', 'A', 'Annotation', increase_start, decrease_stop)
plot_signal(signal, max_threshld, 'anomaly_likelihood', 'A', 'Annotation', 1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000), annotate_scores=False)
else:
print('Not ready')
In [142]:
def run_amgng_mackey_glass_fix_time_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[-1, -1, -2, -2],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
with Capturing() as output:
signal = train_amgng(signal, dimensions, buffer_len, ma_window,
ma_recalc_delay, increase_start, decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_mackey_glass_fix_time_noise = ldview.map(run_amgng_mackey_glass_fix_time_noise, [0])
In [27]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 200,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_mackey-glass_fix_time_noise_150000.csv',
index_col='step', low_memory=False),
}
if True:
#if amgng_mackey_glass_fix_time_noise.ready():
# ret_val = amgng_mackey_glass_fix_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_amgng_mackey-glass_fix_time_noise_150000.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
increase_start, decrease_stop, plot_score=False)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False, plot_score=False)
else:
print('Not ready')
In [46]:
def run_cla_mackey_glass_fix_time_noise_4(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[-1, -1, -2, -2],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
#trans = np.fft.fftn(signal.iloc[increase_start:decrease_stop])
#noise = trans + 2*np.random.randn(modification_len, dimensions)
#itrans = np.fft.ifftn(noise).real
#signal.iloc[increase_start:decrease_stop] = itrans
#signal.iloc[increase_start:decrease_stop] = np.random.randn(modification_len, dimensions)
file_name = 'cla_mackey_glass_fix_time_noise.csv'
cwd = 'experiments/oger/'
name = 'mackey_glass_fix_time_noise'
with Capturing() as output:
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_mackey_glass_fix_time_noise_4 = ldview.map(run_cla_mackey_glass_fix_time_noise_4, [0])
In [28]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_mackey-glass_fix_time_noise_150000.csv',
index_col='step', low_memory=False)
}
if True:
# if cla_mackey_glass_fix_time_noise_4.ready():
#ret_val = cla_mackey_glass_fix_time_noise_4.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_cla_mackey-glass_fix_time_noise_150000.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
increase_start, decrease_stop)
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False)
else:
print('Not ready')
In [146]:
def run_amgng_mackey_glass_freq_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
with Capturing() as output:
signal = train_amgng(signal, dimensions, buffer_len, ma_window,
ma_recalc_delay, increase_start, decrease_stop,
modify_freq_domain=True, gamma=gamma, e_w=e_w, e_n=e_n)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_mackey_glass_freq_noise = ldview.map(run_amgng_mackey_glass_freq_noise, [0])
In [29]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 200,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_mackey-glass_freq_noise_150000.csv',
index_col='step', low_memory=False),
}
if True:
#if amgng_mackey_glass_freq_noise.ready():
# ret_val = amgng_mackey_glass_freq_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_amgng_mackey-glass_freq_noise_150000.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
increase_start, decrease_stop, plot_score=False)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False, plot_score=False)
else:
print('Not ready')
In [532]:
signal = pd.read_csv('experiments/oger/out_amgng_mackey-glass_freq_noise_150000.csv',
index_col='step', low_memory=False)
increase_start = 74600
decrease_stop = 76400
figure()
subseq = signal[increase_start-1000:increase_start]
ax = subplot(2, 1, 1)
subseq.iloc[:,0].plot(ax=ax)
ax.set_ylabel('clean time series')
subseq = signal[increase_start:increase_start+1000]
ax = subplot(2, 1, 2)
subseq.iloc[:,1].plot(ax=ax)
ax.set_ylabel('time series with noise')
Out[532]:
In [64]:
def run_cla_mackey_glass_freq_noise(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
trans = np.fft.fftn(signal.iloc[increase_start:decrease_stop])
noise = trans + 2*np.random.randn(modification_len, dimensions)
itrans = np.fft.ifftn(noise).real
signal.iloc[increase_start:decrease_stop] = itrans
file_name = 'cla_mackey-glass_freq_input.csv'
cwd = 'experiments/oger/'
name = 'mackey_glass_freq_noise'
with Capturing() as output:
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_mackey_glass_freq_noise = ldview.map(run_cla_mackey_glass_freq_noise, [0])
In [30]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_mackey-glass_freq_noise_150000.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_mackey_glass_freq_noise.ready():
#ret_val = cla_mackey_glass_freq_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
#signal.to_csv('experiments/oger/out_cla_mackey-glass_freq_noise_150000.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
increase_start, decrease_stop)
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False)
else:
print('Not ready')
In [170]:
def run_amgng_random_ts_time_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0])
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
signal.iloc[increase_start:decrease_stop] = np.random.randn(modification_len, dimensions)
with Capturing() as output:
signal = train_amgng(signal=signal, dimensions=dimensions, buffer_len=buffer_len,
ma_window=ma_window, ma_recalc_delay=ma_recalc_delay,
increase_start=increase_start, decrease_stop=decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_random_ts_time_noise = ldview.map(run_amgng_random_ts_time_noise, [0])
In [31]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 200,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_random_ts_time_noise.csv',
index_col='step', low_memory=False),
}
if True:
#if amgng_random_ts_time_noise.ready():
# ret_val = amgng_random_ts_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_amgng_random_ts_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
increase_start, decrease_stop, plot_score=False)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False, plot_score=False)
else:
print('Not ready')
In [231]:
def run_cla_random_ts_time_noise(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0])
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
signal.iloc[increase_start:decrease_stop] = np.random.randn(modification_len, dimensions)
file_name = 'cla_random_ts_time_input.csv'
cwd = 'experiments/oger/'
name = 'random_ts_time_noise'
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_random_ts_time_noise = ldview.map(run_cla_random_ts_time_noise, [0])
In [32]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_random_ts_time_noise.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_random_ts_time_noise.ready():
# ret_val = cla_random_ts_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_cla_random_ts_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
increase_start, decrease_stop)
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False)
else:
print('{} Not ready'.format(datetime.now()))
In [18]:
def run_amgng_random_ts_fix_time_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[-1, -1, -2, -2])
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
with Capturing() as output:
signal = train_amgng(signal=signal, dimensions=dimensions, buffer_len=buffer_len,
ma_window=ma_window, ma_recalc_delay=ma_recalc_delay,
increase_start=increase_start, decrease_stop=decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_random_ts_fix_time_noise = ldview.map(run_amgng_random_ts_fix_time_noise, [0])
In [33]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 200,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_random_ts_fix_time_noise.csv',
index_col='step', low_memory=False),
}
if True:
#if amgng_random_ts_fix_time_noise.ready():
# ret_val = amgng_random_ts_fix_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_amgng_random_ts_fix_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
increase_start, decrease_stop, plot_score=False)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False, plot_score=False)
else:
print('Not ready')
In [51]:
def run_cla_random_ts_fix_time_noise(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[-1, -1, -2, -2])
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
file_name = 'cla_random_ts_fix_time_input.csv'
cwd = 'experiments/oger/'
name = 'random_ts_fix_time_noise'
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_random_ts_fix_time_noise = ldview.map(run_cla_random_ts_fix_time_noise, [0])
In [34]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_random_ts_fix_time_noise.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_random_ts_fix_time_noise.ready():
# ret_val = cla_random_ts_fix_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_cla_random_ts_fix_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
increase_start, decrease_stop)
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False)
else:
print('{} Not ready'.format(datetime.now()))
In [14]:
def run_amgng_mixed_mackey_glass_time_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
ddof = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0],
seed=0)
r_signal, _ = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0])
signal[['signal_150000_samples_2d', 'signal_150000_samples_3d']] = r_signal
signal.iloc[:,[1, 3]] *= -2
signal.iloc[increase_start:decrease_stop, 0] = np.random.randn(modification_len)
with Capturing() as output:
signal = train_amgng(signal, dimensions, buffer_len, ma_window,
ma_recalc_delay, increase_start, decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n, ddof=ddof)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_mixed_mackey_glass_time_noise = ldview.map_async(run_amgng_mixed_mackey_glass_time_noise, [0])
In [35]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 200,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_mixed_mackey-glass_time_noise.csv',
index_col='step', low_memory=False),
}
if True:
#if amgng_mixed_mackey_glass_time_noise.ready():
# ret_val = amgng_mixed_mackey_glass_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal = signal.rename(columns={'signal_150000_samples_0d': 'MG1', 'signal_150000_samples_1d': 'MG2',
# 'signal_150000_samples_2d': 'R1', 'signal_150000_samples_3d': 'R2'})
# signal.to_csv('experiments/oger/out_amgng_mixed_mackey-glass_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
increase_start, decrease_stop,
plot_score=False,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False, plot_score=False,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
else:
print('{} Not ready'.format(datetime.now()))
In [26]:
signal = pd.read_csv('experiments/oger/out_amgng_mixed_mackey-glass_time_noise.csv',
index_col='step', low_memory=False)
increase_start = 74600
decrease_stop = 76400
figure()
subseq = signal[increase_start-1000:decrease_stop+1000]
ax = subplot(3, 1, 1)
subseq.iloc[:,:4].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('signals')
ax = subplot(3, 2, 3)
subseq.iloc[:,0].plot(ax=ax, alpha=0.5, ylim=(-4,4),)
ax.set_ylabel('MG1')
ax = subplot(3, 2, 4)
subseq.iloc[:,1].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('MG2')
ax = subplot(3, 2, 5)
subseq.iloc[:,2].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('R1')
ax = subplot(3, 2, 6)
subseq.iloc[:,3].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('R2')
Out[26]:
In [13]:
def run_cla_mixed_mackey_glass_time_noise(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0],
seed=0)
r_signal, _ = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0])
signal[['signal_150000_samples_2d', 'signal_150000_samples_3d']] = r_signal
signal.iloc[:,[1, 3]] *= -2
signal.iloc[increase_start:decrease_stop, 0] = np.random.randn(modification_len)
file_name = 'cla_mixed_mackey-glass_time_noise_input.csv'
cwd = 'experiments/oger/'
name = 'mixed_mackey-glass_time_noise'
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_mixed_mackey_glass_time_noise = ldview.map_async(run_cla_mixed_mackey_glass_time_noise, [0])
In [36]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_mixed_mackey-glass_time_noise.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_mixed_mackey_glass_time_noise.ready():
# ret_val = cla_mixed_mackey_glass_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal = signal.rename(columns={'signal_150000_samples_0d': 'MG1', 'signal_150000_samples_1d': 'MG2',
# 'signal_150000_samples_2d': 'R1', 'signal_150000_samples_3d': 'R2'})
# signal.to_csv('experiments/oger/out_cla_mixed_mackey-glass_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
increase_start, decrease_stop,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
else:
print('{} Not ready'.format(datetime.now()))
In [9]:
def run_amgng_mixed_random_time_noise(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
ddof = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0],
seed=0)
r_signal, _ = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0])
signal[['signal_150000_samples_2d', 'signal_150000_samples_3d']] = r_signal
signal.iloc[:,[1, 3]] *= -2
signal.iloc[increase_start:decrease_stop, 2] = np.random.randn(modification_len)
with Capturing() as output:
signal = train_amgng(signal, dimensions, buffer_len, ma_window,
ma_recalc_delay, increase_start, decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n, ddof=ddof)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_mixed_random_time_noise = ldview.map_async(run_amgng_mixed_random_time_noise, [0])
In [37]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'ma_window': 38000,
'signal': pd.read_csv('experiments/oger/out_amgng_mixed_random_time_noise.csv',
index_col='step', low_memory=False)
}
if True:
#if amgng_mixed_random_time_noise.ready():
# ret_val = amgng_mixed_random_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal = signal.rename(columns={'signal_150000_samples_0d': 'MG1', 'signal_150000_samples_1d': 'MG2',
# 'signal_150000_samples_2d': 'R1', 'signal_150000_samples_3d': 'R2'})
# signal.to_csv('experiments/oger/out_amgng_mixed_random_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_scores(xs, f1, precision, recall)
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
increase_start, decrease_stop,
plot_score=False,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
plot_signal(signal, max_threshld,
'anomaly_score', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False, plot_score=False,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
else:
print('{} Not ready'.format(datetime.now()))
In [17]:
signal = pd.read_csv('experiments/oger/out_amgng_mixed_random_time_noise.csv',
index_col='step', low_memory=False)
increase_start = 74600
decrease_stop = 76400
figure()
subseq = signal[increase_start-1000:decrease_stop+1000]
ax = subplot(3, 1, 1)
subseq.iloc[:,:4].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('signals')
ax = subplot(3, 2, 3)
subseq.iloc[:,0].plot(ax=ax, alpha=0.5, ylim=(-4,4),)
ax.set_ylabel('MG1')
ax = subplot(3, 2, 4)
subseq.iloc[:,1].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('MG2')
ax = subplot(3, 2, 5)
subseq.iloc[:,2].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('R1')
ax = subplot(3, 2, 6)
subseq.iloc[:,3].plot(ax=ax, alpha=0.5, ylim=(-4,4))
ax.set_ylabel('R2')
Out[17]:
In [511]:
def run_cla_mixed_random_time_noise(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0],
seed=0)
r_signal, _ = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=2,
sample_len=sample_len,
increases=[0, 0])
signal[['signal_150000_samples_2d', 'signal_150000_samples_3d']] = r_signal
signal.iloc[:,[1, 3]] *= -2
signal.iloc[increase_start:decrease_stop, 2] = np.random.randn(modification_len)
file_name = 'cla_mixed_random_time_noise_input.csv'
cwd = 'experiments/oger/'
name = 'mixed_random_time_noise'
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_mixed_random_time_noise = ldview.map_async(run_cla_mixed_random_time_noise, [0])
In [38]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_mixed_random_time_noise.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_mixed_random_time_noise.ready():
# ret_val = cla_mixed_random_time_noise.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal = signal.rename(columns={'signal_150000_samples_0d': 'MG1', 'signal_150000_samples_1d': 'MG2',
# 'signal_150000_samples_2d': 'R1', 'signal_150000_samples_3d': 'R2'})
# signal.to_csv('experiments/oger/out_cla_mixed_random_time_noise.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_likelihood', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_likelihood')
plot_scores(xs, f1, precision, recall, 'anomaly_likelihood')
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
increase_start, decrease_stop,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
plot_signal(signal, max_threshld,
'anomaly_likelihood', 'A', 'Annotation',
1000, 1000 + (decrease_stop-increase_start),
slce=slice(increase_start-1000, decrease_stop+1000),
annotate_scores=False,
signal_columns=['MG1', 'MG2', 'R1', 'R2'])
else:
print('{} Not ready'.format(datetime.now()))
In [10]:
def run_amgng_mackey_glass_shift(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
ddof = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
signal.iloc[increase_start:, 0] += 5
signal.iloc[increase_start:, 1] -= 5
signal.iloc[increase_start:, 2] += 10
signal.iloc[increase_start:, 3] -= 10
with Capturing() as output:
signal = train_amgng(signal, dimensions, buffer_len, ma_window,
ma_recalc_delay, increase_start, decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n, ddof=ddof)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_mackey_glass_shift = ldview.map_async(run_amgng_mackey_glass_shift, [0])
In [ ]:
#ret_val = {
# 'increase_start': 74600,
# 'decrease_stop': 76400,
# 'buffer_len': 400,
# 'signal': pd.read_csv('experiments/oger/out_amgng_mackey-glass_shift.csv',
# index_col='step', low_memory=False)
# }
#if True:
if amgng_mackey_glass_shift.ready():
ret_val = amgng_mackey_glass_shift.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
signal.to_csv('experiments/oger/out_amgng_mackey-glass_shift.csv')
xs, f1, precision, recall, max_threshld = print_f1_stats(signal=signal, density_column='anomaly_score', regex='A')
print_shift_stats(signal=signal, shift_start=increase_start, shift_end=decrease_stop, column='anomaly_score')
plot_signal(signal, 0,
'anomaly_score', 'A', 'Annotation',
0, 0,
annotate_scores=False, plot_score=False,
plot_threshold=False)
plot_signal(signal, 0,
'anomaly_score', 'A', 'Annotation',
0, 0,
slce=slice(increase_start-1500, increase_start+1500),
annotate_scores=False, plot_score=False,
plot_threshold=False)
else:
print('{} Not ready'.format(datetime.now()))
In [268]:
def run_cla_mackey_glass_shift(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_mackey_glass(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0],
seed=0)
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
signal.iloc[increase_start:, 0] += 5
signal.iloc[increase_start:, 1] -= 5
signal.iloc[increase_start:, 2] += 10
signal.iloc[increase_start:, 3] -= 10
file_name = 'cla_mackey-glass_shift_input.csv'
cwd = 'experiments/oger/'
name = 'mackey_glass_shift'
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_mackey_glass_shift = ldview.map_async(run_cla_mackey_glass_shift, [0])
In [477]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_mackey-glass_shift.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_mackey_glass_shift.ready():
# ret_val = cla_mackey_glass_shift.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_cla_mackey-glass_shift.csv')
print_shift_stats(signal, increase_start, 'anomaly_likelihood')
plot_signal(signal, 0,
'anomaly_likelihood', 'A', 'Annotation',
0, 0,
annotate_scores=False,
plot_threshold=False)
plot_signal(signal, 0,
'anomaly_likelihood', 'A', 'Annotation',
0, 0,
slce=slice(increase_start-1500, increase_start+1500),
annotate_scores=False,
plot_threshold=False)
else:
print('{} Not ready'.format(datetime.now()))
In [8]:
def run_amgng_random_ts_shift(x):
dimensions = 4
buffer_len = 200
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
gamma = 88
e_w = 0.4
e_n = 0.05
ma_window = 38000
ma_recalc_delay = 1
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0])
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
signal.iloc[increase_start:, 0] += 5
signal.iloc[increase_start:, 1] -= 5
signal.iloc[increase_start:, 2] += 10
signal.iloc[increase_start:, 3] -= 10
with Capturing() as output:
signal = train_amgng(signal=signal, dimensions=dimensions, buffer_len=buffer_len,
ma_window=ma_window, ma_recalc_delay=ma_recalc_delay,
increase_start=increase_start, decrease_stop=decrease_stop,
gamma=gamma, e_w=e_w, e_n=e_n)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'ma_window': ma_window,
'signal': signal,
}
return ret_val
amgng_random_ts_shift = ldview.map(run_amgng_random_ts_shift, [0])
In [ ]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_amgng_random_ts_shift.csv',
index_col='step', low_memory=False)
}
if True:
#if amgng_random_ts_shift.ready():
# ret_val = amgng_random_ts_shift.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
ma_window = ret_val['ma_window']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_amgng_random_ts_shift.csv')
print_shift_stats(signal, increase_start)
plot_signal(signal, 0,
'anomaly_score', 'A', 'Annotation',
0, 0,
annotate_scores=False, plot_score=False,
plot_threshold=False)
plot_signal(signal, 0,
'anomaly_score', 'A', 'Annotation',
0, 0,
slce=slice(increase_start-1500, increase_start+1500),
annotate_scores=False, plot_score=False,
plot_threshold=False)
else:
print('{} Not ready'.format(datetime.now()))
In [323]:
def run_cla_random_ts_shift(x):
dimensions = 4
buffer_len = 400
sample_len = 150000
increase_start = 74600
increase_stop = 75400
decrease_start = 75600
decrease_stop = 76400
modification_len = decrease_stop - increase_start
signal, annotations = signal_generation.generate_memtest(increase_start, increase_stop,
decrease_start, decrease_stop,
n_samples=dimensions,
sample_len=sample_len,
increases=[0, 0, 0, 0])
signal.iloc[:,1] *= -1
signal.iloc[:,2] *= 2
signal.iloc[:,3] *= -2
signal.iloc[increase_start:, 0] += 5
signal.iloc[increase_start:, 1] -= 5
signal.iloc[increase_start:, 2] += 10
signal.iloc[increase_start:, 3] -= 10
file_name = 'cla_random_ts_shift_input.csv'
cwd = 'experiments/oger/'
name = 'random_ts_shift'
signal = train_cla(name=name, cwd=cwd, file_name=file_name,
signal=signal, buffer_len=buffer_len,
increase_start=increase_start,
decrease_stop=decrease_stop)
ret_val = {
'increase_start': increase_start,
'decrease_stop': decrease_stop,
'buffer_len': buffer_len,
'signal': signal,
}
return ret_val
cla_random_ts_shift = ldview.map_async(run_cla_random_ts_shift, [0])
In [476]:
ret_val = {
'increase_start': 74600,
'decrease_stop': 76400,
'buffer_len': 400,
'signal': pd.read_csv('experiments/oger/out_cla_random_ts_shift.csv',
index_col='step', low_memory=False)
}
if True:
#if cla_random_ts_shift.ready():
# ret_val = cla_random_ts_shift.result[0]
increase_start = ret_val['increase_start']
decrease_stop = ret_val['decrease_stop']
buffer_len = ret_val['buffer_len']
signal = ret_val['signal']
# signal.to_csv('experiments/oger/out_cla_random_ts_shift.csv')
print_shift_stats(signal, increase_start, 'anomaly_likelihood')
plot_signal(signal, 0,
'anomaly_likelihood', 'A', 'Annotation',
0, 0,
annotate_scores=False,
plot_threshold=False)
plot_signal(signal, 0,
'anomaly_likelihood', 'A', 'Annotation',
0, 0,
slce=slice(increase_start-1500, increase_start+1500),
annotate_scores=False,
plot_threshold=False)
else:
print('{} Not ready'.format(datetime.now()))
In [14]:
ldview.queue_status()
Out[14]: