【python造数据】周期数据加入异常数据

造点数据验证我的异常检测算法是否可行,以下代码可以生成 有异常数据的周期数据

import numpy as np
import math
import matplotlib.pyplot as plt
import pandas as pd

##周期性数据 我要造17280条数据

num_sum = 17280
###大周期
period_multiply = 8 #幅值
period_frequency = 600 #周期
base = 2740  #均值
###小周期
period_multiply_2 = 2 #幅值
period_frequency_2 = 20 #周期
base_2 = 2  #均值

##造几个异常值noise
noise = [6,100,434,567,2345,7456,15678,17100]

x = []
y = []
for i in range(0,num_sum):
    x.append(i)
    season1 = base + period_multiply*math.sin((2*math.pi/period_frequency)*i)
    season3 = base_2 + period_multiply_2*math.sin((2*math.pi/period_frequency_2)*i)
    #season2 = np.random.normal(0, 1)##随机波动
    season = season1 + season3
    ##造几个异常值noise
    if i in noise:
        season = season1 + season3 + 50
    y.append(season)

#绘图查看数据

plt.figure(figsize=(15, 3.5))
plt.plot(x,y)
plt.tight_layout(pad=0.4, w_pad=0.5, h_pad=2.0)
plt.show()



#list存入csv

test=pd.DataFrame(list(zip(y,y,y,y,y,y,y,y)))
print(test)
test.to_csv("17280.csv",encoding='utf-8',index=None,header=None)


生成的数据
【python造数据】周期数据加入异常数据_第1张图片

检测结果,找出来了
【python造数据】周期数据加入异常数据_第2张图片

你可能感兴趣的:(笔记,python,人工智能)