python

Recurrence plot (시계열 데이터를 학습시켜보자!)

J-Mook 2022. 5. 25. 22:06
반응형

딥러닝 분야는 최근 자연어, 이미지 처리를 분석하는데 활발히 사용되고있는 추세이다.

 

기존에 방식으로는 시계열 데이터는 1차원이므로 2d CNN과 같은 이미지 처리에 사용되는 신경망에 사용 될 수없다.

 

따라서 1차원 배열을 이미지화 하는 Recurrence plot을 사용 해야한다. 

 

흔히 히트맵이라고 불리는 그래프를 생각하면 이해가 쉽다.

 

 

 

위의 사진이 왼쪽의 그래프를 오른쪽의 Recurrence plot으로 바꾼 이미지다.

 

파이썬에 관련 라이브러리를 통해 간단하게 구현할 수도있지만, numpy라이브러리를 활용해서도 만들수있다.

def Recurrence_plot(s, eps=None, step=None):
    s = np.array(s)
    if eps == None: eps = 0.01
    if step == None: step = 10
    N = s.size
    S = np.repeat(s[None,:],N,axis=0)
    Z = np.floor(np.abs(S - S.T)/eps)
    return Z

 

이제 시계열 데이터를 2d cnn에 넣을 수 있게 됐다!

여러가지 학습을 시켜보자.

반응형