Example #1
0
def optimize_machine(paths):    # optimizes over all the timeseries provided in the path list
    # returns a list of algorithms and a list of corresponding anomalies
    anomaly_dict= dict()
    anomaly_list= list()
    index= 1
    for path in paths:
        anomaly_dict[path]= dict()
        print "finding anomaly for path no." + str(index), path
        index+= 1
        for algo, feature, w_size in algo_iter():
            # TODO: replace with my_dict
            try:
                var= anomaly_dict[path][algo]
            except KeyError:
                anomaly_dict[path][algo]= dict()

            try:
                var= anomaly_dict[path][algo][feature]
            except KeyError:
                anomaly_dict[path][algo][feature]= dict()
                
            anomaly_list.append(gateway.get_anomalies(path, algo, feature, percent=2, mul_dev= 3, window_size= w_size))
            print len(anomaly_list[-1])
            anomaly_dict[path][algo][feature][w_size]= anomaly_list[-1]

    final_anomalies, weights= aggregate(anomaly_list, ratio= 0.01)
    min_algo= list()
    anomalies= list()
    for path in paths:
        min_algo.append(find_optimal_algo(anomaly_dict[path], final_anomalies))
        a= min_algo[-1]
        anomalies.append(anomaly_dict[path][a[0]][a[1]][a[2]])
    return min_algo, anomalies, final_anomalies, weights
Example #2
0
def ts_majority_vote(path, ratio=0.005):
    anomaly_list = list()
    for algo, feature, w_size in algo_iter():
        anomaly_list.append(
            gateway.get_anomalies(path,
                                  algo,
                                  feature,
                                  window_size=w_size,
                                  percent=10,
                                  mul_dev=1.5))
    final_anomalies, weights = aggregate(anomaly_list, ratio)
    return final_anomalies
Example #3
0
def optimize_machine(
        paths):  # optimizes over all the timeseries provided in the path list
    # returns a list of algorithms and a list of corresponding anomalies
    anomaly_dict = dict()
    anomaly_list = list()
    index = 1
    for path in paths:
        anomaly_dict[path] = dict()
        print "finding anomaly for path no." + str(index), path
        index += 1
        for algo, feature, w_size in algo_iter():
            # TODO: replace with my_dict
            try:
                var = anomaly_dict[path][algo]
            except KeyError:
                anomaly_dict[path][algo] = dict()

            try:
                var = anomaly_dict[path][algo][feature]
            except KeyError:
                anomaly_dict[path][algo][feature] = dict()

            anomaly_list.append(
                gateway.get_anomalies(path,
                                      algo,
                                      feature,
                                      percent=2,
                                      mul_dev=3,
                                      window_size=w_size))
            print len(anomaly_list[-1])
            anomaly_dict[path][algo][feature][w_size] = anomaly_list[-1]

    final_anomalies, weights = aggregate(anomaly_list, ratio=0.01)
    min_algo = list()
    anomalies = list()
    for path in paths:
        min_algo.append(find_optimal_algo(anomaly_dict[path], final_anomalies))
        a = min_algo[-1]
        anomalies.append(anomaly_dict[path][a[0]][a[1]][a[2]])
    return min_algo, anomalies, final_anomalies, weights
Example #4
0
def ts_majority_vote(path, ratio= 0.005):
    anomaly_list= list()
    for algo, feature, w_size in algo_iter():
        anomaly_list.append(gateway.get_anomalies(path, algo, feature, window_size= w_size, percent= 10, mul_dev= 1.5))
    final_anomalies, weights= aggregate(anomaly_list, ratio)
    return final_anomalies