KR102134682B1 - 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법 - Google Patents

실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법 Download PDF

Info

Publication number
KR102134682B1
KR102134682B1 KR1020180072742A KR20180072742A KR102134682B1 KR 102134682 B1 KR102134682 B1 KR 102134682B1 KR 1020180072742 A KR1020180072742 A KR 1020180072742A KR 20180072742 A KR20180072742 A KR 20180072742A KR 102134682 B1 KR102134682 B1 KR 102134682B1
Authority
KR
South Korea
Prior art keywords
time
formula
equation
series data
data
Prior art date
Application number
KR1020180072742A
Other languages
English (en)
Other versions
KR20200000660A (ko
Inventor
이기천
임태훈
안도훈
Original Assignee
(주) 우림인포텍
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 우림인포텍, 한양대학교 산학협력단 filed Critical (주) 우림인포텍
Priority to KR1020180072742A priority Critical patent/KR102134682B1/ko
Publication of KR20200000660A publication Critical patent/KR20200000660A/ko
Application granted granted Critical
Publication of KR102134682B1 publication Critical patent/KR102134682B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법이 개시된다. 본 발명의 일 측면에 따르면, 복수의 실시간 시계열 데이터를 차례로 획득하는 단계 및 (b) M번째 시점의 시계열 데이터가 획득되는 경우, M+1번째 시점에서의 예측 값 을 산출하는 단계 및 (c) 상기 (b) 단계를 적어도 1회 반복 수행하는 단계를 포함하되, 상기 (b) 단계는, (b-1) 모수를 산출하는 단계 및 (b-2) 산출된 모수가 반영된 시계열 데이터 예측 모형에 기초하여 M+1번째 시점에서의 예측 값을 산출하는 단계를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 방법이 제공된다.

Description

실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법{System and method for generating prediction model for real-time time-series data}
본 발명은 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법에 관한 것이다.
현대 사회에 들어 데이터는 산업 전반에 영향을 끼치고 있으며, 데이터가 산업에 끼치는 영향은 점점 더 커지고 있다. 이에 많은 산업에서 데이터를 저장하고 실시간으로 빠르게 처리하는 것이 기술에 대한 필요성 역시 갈수록 높아지고 있다.
데이터의 한 종류인 시계열 데이터(time series data)는 각종 산업에서 실시간으로 들어오는 특징을 가지고 있기 때문에 중요성을 가진다. 시계열 데이터의 대표적인 예로 센서 데이터와 로그 데이터를 들 수 있다. IoT(Internet of Things)의 발전으로 인하여 많은 센서데이터가 생성되고 이러한 센서데이터는 실시간 처리를 필요로 한다. 웹 또는 모바일 어플리케이션과 서버의 시스템들 사이에서 로그 데이터가 매우 많이 발생하게 되는데, 이러한 로그 데이터들 역시 시계열 데이터의 특징을 띄고 있다.
실시간으로 수집되는 데이터들은 현 상황에 영향을 주기 때문에 실시간에 가까울 정도로 빠르게 처리하여 데이터를 분석하는 작업이 중요하다. 실시간 입력 데이터를 반영하여 정확하고 빠르게 미래를 예측하는 것을 통해 우리는 미래에 대한 최적의 의사결정을 할 수 있다.
시계열 데이터의 예측모형으로는 전통적으로 ARMA(Autoregressive Moving Average), ARIMA (Autoregressive Intergrated Moving Average) 와 같은 모형들이 사용되어 왔다. 해당모형은 AR(Autoregressive)모형과 MA(Moving Average)모형의 조합으로 이루어져 있다.
AR 모형의 모수를 추정하기 위해서는 자기공분산을 계산한 뒤 Yule Walker 방정식을 통해 모수를 찾아낸다. 또는 초기 값을 가정하고 Conditional Sum of Square 조건부 최소제곱 추정을 하게 된다. MA 모형이 적용된 모델의 경우에는 다른 계산 방법을 사용해야만 한다. 오차항이 모수에 대해 비선형식으로 나타나게 되기 때문에 비선형 추정방법을 사용해야 한다. 사용자가 정한 수렴기준에 도달할 때까지 계산을 반복하며 모형을 추정해야 하므로 많은 시간이 걸린다는 단점이 존재한다. AR과 MA모형이 조합된 ARMA와 ARIMA역시 비선형추정방식을 사용해야 하기 때문에 같은 단점이 존재할 수밖에 없다.
최근에는 딥러닝 기반의 ANN(Artificial Neural Network)와 RNN(Recurrent Neural Network)를 이용한 예측 방법을 제시되고 있다. 기존 RNN은 ANN에서 발전되어 시계열 데이터에 적용이 가능하도록 만든 뉴럴 네트워크이다 J.T. 하지만 긴 시퀀스를 가지는 데이터를 예측하는데 RNN은 그라디언트 소실 문제(vanishing gradient problem)가 생긴다. 이를 해결하기 위해 RNN의 변형 형태인 LSTM (Long Short Term Memory)을 사용한다. LSTM은 RNN의 문제인 시퀀스가 길어질 때 그라디언트(gradient)가 소실되는(vanishing) 현상을 망각 게이트(forget gate)를 통해 해결하였다.
하지만 이와 같은 방법들에서는 많은 데이터가 커지고 변수가 많아질수록 모형학습에서의 시간 복잡도(time complexity)가 지수적으로 증가한다. 즉, 많은 계산량으로 인해 시계열 예측모형을 데이터가 들어올 때마다 실시간으로 업데이트하며 예측하는 것에는 시간이 너무 많이 걸린다는 문제가 있다. 또한 이 과정에서 온라인으로 빠르게 모형을 재학습하는 최적화(optimization)의 문제를 해결해야 한다. 온라인 콘벡스 최적화(online convex optimization)의 영역에서 알고리즘의 효율성에 대해 설명하기 위해 리그렛 최소화(regret minimization)의 개념이 도입되었다. 여기서 리그렛(regret)이란 온라인 상황에서의 전체 비용(total cost)와 배치 데이터 세트(batch data set)에서의 전체 비용(total cost)의 차이다. 리그렛 최소화의 목표는 시간 T의 함수인 리그렛(regret)이 시간이 지날수록 최적 파라미터에 접근함에 따라 그 증가량을 감소시키는 것이다. 즉,
Figure 112018062065248-pat00001
를 만족시키면 관련 알고리즘을 통해 시간이 지날수록 적절한 모수를 찾을 수 있음을 의미한다.
온라인 상황에서 리그렛 최소화를 위해 여러 방법들이 제안되고 있다. Martin.Z는 그의 연구에서 온라인 상황에서 경사 하강법(Gradient Descent)을 적용하여 리그렛이
Figure 112018062065248-pat00002
이내임을 증명하였다. 이때 리그렛 바운드(regret bound)는
Figure 112018062065248-pat00003
라고 한다. 시간 T의 함수에 비해 증가량이 점점 감소하는 추세를 가지므로 해당 알고리즘은 좋은 추정을 할 수 있게 됨을 알 수 있다. Elad 등은 뉴튼 스텝(Newton Step)을 이용하여 온라인 콘벡스 최적화 방법을 제시한다. 이 방법의 경우 리그렛 바운드는
Figure 112018062065248-pat00004
을 가진다. 즉 시간 T가 커질수록 온라인 경사 하강법(OGD)에 비해 온라인 상황에서 더욱 빠르게 최적 모수를 찾을 수 있다는 것을 의미한다. 온라인 경사 하강법 에 비해 많은 계산량을 가지지만, 해당 알고리즘을 통해 효율적으로 좋은 모수를 찾을 수 있다.
온라인 경사 하강법(OGD)과 온라인 뉴튼 스텝(ONS)을 기존 전통 시계열 예측 모형에 적용하여 미래 값을 예측하고자 하는 연구가 제안되었다. Anava 등은 그들의 연구에서 ARMA에 ONS와 OGD를 적용하여 시계열 예측모형을 구축한다. 이를 통해 기존 ARMA 추정방법인 Yule walker 방법과 비교하여 실시간 모형 업데이트의 시간 측면에서 더 좋은 성능을 내고 있다는 것을 언급한다.
온라인 학습 상황에서는 모든 시점(t)의 오차항(
Figure 112018062065248-pat00005
)를 알 수 없다. 따라서 Anava 등은 모든 모수를 오차항에 대해 선형식으로 만들기 위해서 MA 모형을 AR모형으로 이전시켜 AR 차수를 고정시킨 형태를 사용한다. 이를 improper learning이라 한다. 실제 시계열 모형인 ARIMA에서 AR과 MA의 쌍대성의 원리를 통해서 MA항을 AR로 이전시킴으로 모형 구성 작업을 수행할 수 있다는 것을 알 수 있다.
Chenghao 등의 연구에서는 ARMA에 ONS와 OGD를 적용시킨 것을 발전시켜ARIMA에 ONS, OGD를 적용하여 시계열 예측 모형을 구축한다. 이는 ARMA 방법에 Intergrated, 차분항을 포함시킨 것이다. 해당 연구에서 시계열의 추세를 제거하여 정상성을 띄게 만들어준 후 ONS를 적용하는 것이 좋은 성능이 확인되었다. 또한 해당 논문에서도 MA의 모수를 AR의 모수로 이전시킨 improper learning의 방법을 사용하였다.
본래 기존 ARIMA는 추정방법으로 비선형 추정방법인 가우스 뉴턴 방법을 사용하였다. 이때 모수 추정에 필요한 계산량이 많아지기 때문에 온라인으로 실시간 시계열 모형 업데이트를 하기위해 ONS OGD와 같은 수치적인 근사 방법을 사용하였다. 하지만 Anava 등이 제시한 improper learning 방법을 통해 오차항을 모수에 대해 선형식으로 나타낼 수 있다. 오차항이 모수에 대한 선형식으로 표현될 수 있고 콘벡스(convex)하다면 최적화를 위해서 최소 제곱법(Least Square)으로 명백하게 적절한 모수를 찾을 수 있다. 하지만 기존 최소 제곱법은 모든 데이터가 주어진 가정 하에 진행되는 추정법이기 때문에 데이터가 추가되는 순간마다 전체 데이터를 사용하여 모형을 구축한다면 많은 시간이 걸린다는 단점이 있었다.
일반적인 배치 최소 제곱 추정법(batch LSE)은 데이터가 늘어날수록 모형 재구축에 시간이 오래 걸리지만 이를 완화하기 위해 추정에 사용되는 데이터의 윈도우 사이즈(window-size)를 정해서 모형을 재구축한다. 하지만 이 방법 역시 윈도우 사이즈에 따라 모수 추정의 시간이 오래 걸릴 수 있다는 단점이 있다. 모형 업데이트에 시간이 오래 걸리는 단점으로 인해 실시간으로 모형을 빠르게 업데이트해야 하는 온라인 상황에서는 배치 최소 제곱 추정법은 적절하지 않다.
본 발명이 해결하고자 하는 과제는 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법을 제공하는 것이다.
본 발명에서는 온라인 최적화를 위해서 우리는 순환 최소 제곱법(Recursive Least Square; RLS)을 적용하고자 한다. RLS를 통해 기존 CSS방법과 같은 모수의 추정의 원리를 보다 빠른 속도로 올바르게 추정할 수 있다.
본 발명에서 제안되는 RLS방식은 셔먼모리스의 행렬역변환 공식을 통해 변형된 RLS 계산 순환식으로 행렬역 변환을 취하기 전보다 더 빠른 계산을 할 수 있다. 변형을 통해서 계산량을
Figure 112018062065248-pat00006
에서
Figure 112018062065248-pat00007
로 줄임으로써 실시간 온라인 예측을 위해 같은 시간 내에 처리할 수 있는 데이터의 양을 늘릴 수 있다.
본 발명에서 제안되는 RLS는 현재에 가까운 데이터들에 높은 가중치를 주는 방법이 가능하다. RLS의 필터를 적용함으로 구현 가능하며 이를 망각 인자(forget factor)라고 한다. 이를 통해 현재의 상황에 더 알맞은 모수를 추정할 수 있고 또한 다이나믹하게 변화하는 상황에서 더 빠르게 적응하여 적절한 예측을 할 수 있는 장점을 가지게 된다.
또한 본 발명에서는 ARIMA 모형에서 RLS필터로 망각 인자를 적용한 온라인 업데이트 알고리즘을 제안하고자 한다. RLS 필터의 망각 인자를 적용한 것은 기존 LSTM의 망각 게이트(forget gate)의 적용과 같이 과거의 데이터의 영향을 줄여주는 역할을 하게 된다. 이를 통해 자기공분산이 갑작스럽게 변화하게 되는 상황에서도 빠르게 현 상황에 적응하여 적절한 예측을 할 수 있을 것으로 기대된다.
정리하자면 본 발명에서 제안하는 방안에서는 실시간 시계열 데이터 예측을 위해서 정확한 모수를 찾기보다 improper learning을 적용한다. improper learning을 통해 오차항을 모수들에 대해 과거 값의 선형방정식으로 만들어준다. 그 뒤 RLS 방법을 통해 새로운 데이터가 들어오는 시점마다 빠르게 예측을 한다. 이때 망각 인자를 적용하여 현재의 상황에 맞게 빠르게 상황을 적용하여 모수를 추정한다.
본 발명의 일 측면에 따르면, (a) 복수의 실시간 시계열 데이터를 차례로 획득하는 단계 및 (b) M번째 시점의 시계열 데이터가 획득되는 경우, M+1번째 시점에서의 예측 값
Figure 112018062065248-pat00008
을 산출하는 단계(여기서, M은 2+p 이상의 정수, p는 하기 [수식 1]에 따른 시계열 데이터 예측 모형의 차수로서 미리 정의된 2 이상의 정수) 및 (c) 상기 (b) 단계를 적어도 1회 반복 수행하는 단계를 포함하되, 상기 (b) 단계는, (b-1) 하기 [수식 2]에 따른 모수
Figure 112018062065248-pat00009
를 산출하는 단계(여기서, N = M-p-1) 및 (b-2) 산출된 모수
Figure 112018062065248-pat00010
가 반영된 하기 [수식 1]에 따른 시계열 데이터 예측 모형에 기초하여 M+1번째 시점에서의 예측 값
Figure 112018062065248-pat00011
을 산출하는 단계를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 방법이 제공된다.
[수식 1]
Figure 112018062065248-pat00012
(여기서, Zi는 i번째 시점의 시계열 데이터임(i는 i>=1인 임의의 정수))
[수식 2]
Figure 112018062065248-pat00013
Figure 112018062065248-pat00014
Figure 112018062065248-pat00015
Figure 112018062065248-pat00016
Figure 112018062065248-pat00017
Figure 112018062065248-pat00018
일 실시예에서, 상기 (b-1) 단계는, 하기 [수식 3]에 따른
Figure 112018062065248-pat00019
을 산출하는 단계, 하기 [수식 4]에 따른
Figure 112018062065248-pat00020
을 산출하는 단계, 하기 [수식 5]에 따른
Figure 112018062065248-pat00021
을 산출하는 단계 및 하기 [수식 6]에 따른
Figure 112018062065248-pat00022
을 산출하는 단계를 포함할 수 있다.
[수식 3]
Figure 112018062065248-pat00023
(여기서,
Figure 112018062065248-pat00024
임)
[수식 4]
Figure 112018062065248-pat00025
[수식 5]
Figure 112018062065248-pat00026
[수식 6]
Figure 112018062065248-pat00027
일 실시예에서, 상기 (b-1) 단계는, 하기 [수식 7]에 따른
Figure 112018062065248-pat00028
을 산출하는 단계, 하기 [수식 8]에 따른
Figure 112018062065248-pat00029
을 산출하는 단계, 하기 [수식 9]에 따른
Figure 112018062065248-pat00030
을 산출하는 단계 및 하기 [수식 10]에 따른
Figure 112018062065248-pat00031
을 산출하는 단계를 포함할 수 있다.
[수식 7]
Figure 112018062065248-pat00032
(여기서,
Figure 112018062065248-pat00033
Figure 112018062065248-pat00034
인 미리 정의된 실수이며,
Figure 112018062065248-pat00035
임)
[수식 8]
Figure 112018062065248-pat00036
[수식 9]
Figure 112018062065248-pat00037
(여기서,
Figure 112018062065248-pat00038
임)
[수식 10]
Figure 112018062065248-pat00039
본 발명의 다른 일 측면에 따르면, 상술한 방법을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록매체가 제공된다
본 발명의 다른 일 측면에 따르면, 데이터 처리 장치에 설치되며, 상술한 방법을 수행하는 컴퓨터 프로그램이 제공된다.
본 발명의 다른 일 측면에 따르면, 적어도 하나의 프로세서 및 컴퓨터 프로그램이 저장되는 메모리를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 시스템으로서, 상기 컴퓨터 프로그램은, 상기 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 예측 모형 생성 시스템이, 상술한 방법을 수행하도록 하는 실시간 시계열 데이터를 위한 예측 모형 생성이 제공된다.
본 발명의 다른 일 측면에 따르면, 복수의 실시간 시계열 데이터를 차례로 획득하는 획득모듈 및 M번째 시점의 시계열 데이터가 획득되면, M+1번째 시점에서의 예측 값
Figure 112018062065248-pat00040
을 산출하는 산출모듈(여기서, M은 2+p 이상의 정수, p는 상기 [수식 1]에 따른 시계열 데이터 예측 모형의 차수로서 미리 정의된 2 이상의 정수)을 포함하되, 상기 산출모듈은, 상기 [수식 2]에 따른 모수
Figure 112018062065248-pat00041
를 산출하고(여기서, N = M-p-1), 산출된 모수
Figure 112018062065248-pat00042
가 반영된 상기 [수식 1]에 따른 시계열 데이터 예측 모형에 기초하여 M+1번째 시점에서의 예측 값
Figure 112018062065248-pat00043
을 산출하는 단계를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 시스템이 제공된다.
본 발명의 일 실시예에 따른 실시간 시계열 데이터를 위한 예측 모델 생성 시스템은 예측 모델 생성 및 이를 통한 예측 값을 산출하기 위한 계산속도가 빠르며 실시간으로 모델을 업데이트 할 수 있다는 장점을 지닌다. 또한 과거의 데이터를 모두 저장하지 않아도 되는 장점이 있다.
본 발명의 일 실시예에 따르면 망각 인자(forget factor)를 통해 먼 과거의 값들과 가까운 과거의 값들이 같은 중요도를 가지고 계산이 되어 현재의 상황이 모델에 적절히 반영이 안 될 수 있다는 기존 알고리즘의 단점을 보완하고, 급격하게 변화하는 상황에 빠르게 적응할 수 있는 효과가 있다.
또한 본 발명에 제안한 방법은 대부분의 시계열 데이터에 적용이 가능하므로 빅데이터 분석에 효과적이라는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 실시간 시계열 데이터를 위한 예측 모형 생성 시스템의 구조를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 예측 모형 생성 시스템이 예측 모형을 생성하고, 다음 시계열 데이터를 예측하는 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 예측 모형 생성 시스템이 시계열 데이터 예측 모형의 모수를 추정하는 과정의 일 예를 도시한 흐름도이다.
도 4a 내지 도 4g는 각각 실험 결과를 도시한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하에서는 본 발명의 기술적 사상에 따른 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법을 이해하는데 필요한 선행 이론들에 관하여 먼저 살펴본다.
선행이론
(1) 정상 확률 과정
확률과정이란 확률법칙에 의해 생성되는 일련의 통계적인 현상이다. 이를 수식으로 표현하면 확률공간에서 정의되는 확률변수들의 모임이라고 할 수 있다. 시계열에서 다루는 대부분의 확률모형들은 확률과정을 설명하는 모형들이다. 또한 시계열 자료는 시간의 흐름에 따라 관측되는 자료이므로 대부분의 경우 집합 T는 시간의 집합이다.
일반적인 시계열 자료는 어떤 특정한 확률과정으로부터 실현된 값이라고 가정할 수 있다. 이때 어떤 모형이 이 시계열 모형을 생성한 것인지 확인하는 작업이 필요하다. 가능한 시계열 모형은 무수히 많으므로, 이들 중에서 어떤 특정한 성질을 가진 일부분만을 고려하는 취지에서 나온 개념이 정상성의 개념이다.
시계열에서 정상성이란 시계열의 확률적인 성질들이 시간의 흐름에 따라 변하지 않는 것을 의미한다. 평균 분산 등에 체계적인 변화가 없고 주기적인 변화도 없는 경우를 의미한다. 대부분의 시계열 이론들은 정상성을 가정하고 전개되기 때문에 정상성을 띄지 못하는 시계열은 정상시계열로 변환해 주어야 할 필요가 있다. 추세선이나 계절 변동같은 비정상적인 요소들을 지니고 있는 시계열의 경우 이러한 요소들을 제거하여야 시계열 이론들을 적용할 수 있다.
엄격한 의미의 정상성은 임의의 자연수 N과 k에 대하여 n개의 확률변수 Z1, Z2, …, ZN의 결합확률밀도함수가 Z1+k, Z2+k, …, ZN+k의 결합확률밀도함수와 동일한 경우를 의미한다. 이는 시간 축을 k만큼 이동하여도 모든 n에 대하여 결합확률밀도함수가 동일하다는 것을 의미하며, 강한 의미의 정상성이라는 표현을 쓰기도 한다. 따라서 어떤 확률과정이 엄격한 의미의 정상성을 만족한다면 모든 n에 대하여 결합확률밀도함수가 시간대를 바꾸어도 동일하다는 것을 보여야 한다. 그러나 이는 매우 복잡하며, 유한 개의 관측 값만을 가지고는 이를 보이는 것이 현실적으로 불가능하다. 따라서 약한 의미의 정상성이라는 개념이 존재한다. 이는 1차 또는 2차 적률들을 이용해 결합확률밀도함수를 설명한다.
Figure 112018062065248-pat00044
여기서
Figure 112018062065248-pat00045
는 자기공분산이라 하는데 일정한 시점 간에 확률변수의 공분산을 뜻한다.
Figure 112018062065248-pat00046
라면 자기공분산은 일반적인 분산과 같다. 즉 평균과 분산은 시점 N에 상관없이 일정하며 자기 공분산은 시차에만 의존하며 시점 N와는 무관한 것을 약한 의미의 정상성이라 한다. 정상 확률과정은 바로 이러한 정상성을 가지는 확률과정을 의미한다.
비정상 시계열을 정상화시키기 위해서는 모든 시점에 대해 분산을 일정하게 유지해야 한다. 이를 위해 분산 상수화 변환을 한다. 또한 시점에 따라 평균이 일정하지 않고 추세를 가진다면 추세를 제거하여 정상화해야 한다. 추세에는 결정적 추세와 확률적 추세라는 두 가지 방향이 있다. 지엽적으로 다른 시점 별로 추세는 다르지만 본질적으로 시계열의 움직임이 같은 경우는 확률적 추세라고 한다. 이러한 비정상성을 가진 시계열은 차분을 해줌으로써 정상시계열로 변환할 수 있다. 차분연산자는 다음 (1)과 같다.
Figure 112018062065248-pat00047
(1)
결정적인 추세 역시 차분식을 통해 추세를 제거할 수 있다. 확률적 추세를 판단하기 위해서는 Fuller, W.A의 단위근 검정을 사용한다. 이때 지나친 차분을 통해 과대차분이 이루어진다면 정상성에는 문제가 없으나, 자기상관함수(AutoCorrelation Function, ACF)를 복잡하게 만들거나 분산을 크게 만들 수 있다.
(2) 백색잡음과정
차분과 분산 상수화 변환 등을 통해 정상성을 띄게 되게 된 확률과정 중에서 가장 중요한 과정이 서로 독립이고 동일한 분포를 따르는 확률변수들의 계열로 구성된 확률과정이다. 이를 특히 백색잡음과정(white noise process)이라 부른다. 많은 확률과정들이 백색잡음과정으로부터 생성된다.
(3) 자기회귀모형(AR)
회귀모형을 이용해 자료를 분석할 때 일반적으로 오차항이 서로 독립이라는 가정을 한다. 오차의 독립성 가정이 지켜지지 않고 자기 상관관계가 존재하는 경우 최소제곱법을 이용하는 회귀분석의 모수의 추정은 효율이 떨어지고 편향을 가지거나 예측 값의 신뢰구간 및 유의성 검정에 오류가 생길 수 있다. 이 때 잔차들 사이에 규칙적인 상관관계의 정보가 존재하기 때문에 이 부분에서 예측 값을 더욱 개선할 여지가 남아 있다. 자기회귀과정은 현 시점의 상태를 과거 시점의 상태들, 즉 과거 자기 자신의 관측값과 현 시점의 오차의 함수 형태로 나타내고자 하는 것이다. 자기 자신의 과거에 회귀시킨다는 의미에서 자기회귀라는 표현을 쓴다. 자기회귀모형에서 자기회귀(AR)의 차수가 p인 형태는 다음 (2)와 같다.
Figure 112018062065248-pat00048
(2)
(4) 이동평균모형(MA)
확률과정
Figure 112018062065248-pat00049
가 서로 독립인 과거 오차항 확률변수들의 선형결합의 형태로 나타나는 것을 선형과정이라 한다.
Figure 112018062065248-pat00050
(3)
이때 특정 j항까지 의
Figure 112018062065248-pat00051
만이 0이 아닌 확률과정이 이동평균과정이다. 이 확률과정을 차수가 q인 이동평균과정이라고 한다. 유한개의 항을 가지는 이동평균(MA) 과정은 항상 정상성을 띈다.
Figure 112018062065248-pat00052
(4)
이동평균과정의 평균과 분산, 공분산을 계산해 보면 항상 정상확률과정을 따르는 것을 알 수 있다. 이동평균과정은 현시점의 상태를 과거시점의 오차항의 함수의 형태로 나타내고자 한다. 자기자신을 과거에 실제 값과 예측 값과의 차이를 표현한 오차항들에 회귀시킨다는 것에서 자기회귀와 의미가 다르다.
유한개의 항을 가지는 MA과정은 항상 정상과정이다. 그러므로 MA 과정에서는 정상성 조건을 논의할 필요가 없다. 대신 가역성이라는 조건을 만족해야 한다. 이동평균모형에서는 ACF와 두 모형간에 일대일 관계를 성립시키기 위해 제약조건을 가해주어야 한다. 이동평균모수
Figure 112018062065248-pat00053
에 제약조건을 줌으로써 ACF와 모형 사이에 일대일 관계가 성립하게끔 해주는 것이다. 이를 가역성 조건이라 한다. 가역성을 만족시키는 모형은 하나만 존재한다. 가역성을 만족하기 위해서는 특성함수
Figure 112018062065248-pat00054
의 근의 절대값이 1보다 크다는 조건을 주면 된다.
(5) 자기회귀과정과 이동평균과정 (자기회귀이동평균과정)
시계열 자료를 순수하게 자기회귀과정이나 이동평균과정으로만 설명하기 위해서는 AR 차수인 p 파라미터나 MA 차수인 q 파라미터의 값이 너무 커질 수 있다. 추정해야 하는 모수의 개수가 많아지면 해석이 쉽지 않게 된다. 따라서 적합한 모형을 선택하기 위해서는 자기회귀과정과 이동평균과정을 동시에 포함하는 확률과정을 선택한다. 이는 모수의 절약이라는 말로 설명된다. 자기회귀이동평균은 ARMA과정이라 한다.
Figure 112018062065248-pat00055
(5)
이때 시계열을 정상으로 만들기 위한 차분이 들어가게 되면 ARIMA과정을 뜻하게 된다. 자기회귀이동평균과정은 모수의 절약으로 하나의 모형을 쓰는 것에 비해 적은 수의 모수를 추정하면 된다. 1차 차분을 실행한 결과의 ARIMA 모델은 다음과 같다.
Figure 112018062065248-pat00056
(6)
이후 예측을 실행하기 위해서는 차분을 거쳐 예측된 값에 변형을 해야 한다. 변형식은 다음과 같다.
Figure 112018062065248-pat00057
(7)
(6) Yule Walker 추정, 적률추정법
적률추정법이란 모집단의 적률을 상응하는 표본의 적률로 대체한 후 방정식을 풀어 추정량을 구하는 방식이다. 먼저 평균
Figure 112018062065248-pat00058
을 상응하는 표본의 적률
Figure 112018062065248-pat00059
과 같게 놓음으로써
Figure 112018062065248-pat00060
의 적률 추정량은 아래와 같다.
Figure 112018062065248-pat00061
(8)
그리고
Figure 112018062065248-pat00062
의 분산
Figure 112018062065248-pat00063
의 적률추정량은 상응하는 표본의 2차 적률을 통해서 구한다.
Figure 112018062065248-pat00064
(9)
표본자기상관함수는 다음과 같이 구할 수 있으며
Figure 112018062065248-pat00065
(10)
이를 통해 표본자기상관계수를 구할 수 있다.
Figure 112018062065248-pat00066
(11)
이제 AR(p)모형의 적률추정을 위해 Yule-Walker 방정식을 사용한다.
Figure 112018062065248-pat00067
,
Figure 112018062065248-pat00068
(12)
위의 방정식을 이용하여 행렬식으로 표현하면 다음의 연립방정식을 얻는다.
Figure 112018062065248-pat00069
(13)
위의 행렬식을 모집단의 적률
Figure 112018062065248-pat00070
에 상응하는 표본의 적률
Figure 112018062065248-pat00071
로 대치하면 다음과 같은 행렬을 구할 수 있다.
Figure 112018062065248-pat00072
,
Figure 112018062065248-pat00073
(14)
표본의 적률 행렬을 통해서 적률추정량
Figure 112018062065248-pat00074
를 구할 수 있다. 이 추정량들을 Yule-Walker 추정량 혹은 적률추정량이라 부른다.
적률추정법을 통해 MA모형이나 ARMA모형의 모수를 추정하기 위해서는 2차방정식 이상의 식을 풀어야 한다. 이때 계산을 위해서는 복잡한 과정을 거치게 된다. MA, ARMA의 모형의 모수 추론 시에 불필요한 계산을 줄이고 효율적으로 추정하기 위해 최소제곱추정이나 최대가능도추정을 사용한다. 또한 Yule-Walker의 추정방법 역시 모든 데이터의 자기공분산을 계산하므로 계산속도가 느리고 메모리상에 문제가 됨을 알 수 있다.
(7) 조건부 최소제곱추정법
모수추정에 이용할 수 있는 정보는 시간 1에서 주어진 N시간까지의 데이터의 정보이다. 하지만 모든 오차의 제곱합을 최소화하는 모수를 구하기 위해서는 과거의 값들이 필요하다. 이때 다음과 같은 초기 값이 필요하다.
Figure 112018062065248-pat00075
(15)
조건부 최소제곱추정량
Figure 112018062065248-pat00076
Figure 112018062065248-pat00077
는 초기 조건
Figure 112018062065248-pat00078
이 주어졌을 때 다음과 같은 조건부 오차제곱합
Figure 112018062065248-pat00079
을 최소로 해주는
Figure 112018062065248-pat00080
Figure 112018062065248-pat00081
의 값이다. 초기 조건을 주는 방법으로는 관측되지 않은
Figure 112018062065248-pat00082
의 값으로는 시계열의 표본평균
Figure 112018062065248-pat00083
를 사용하고
Figure 112018062065248-pat00084
의 값으로는
Figure 112018062065248-pat00085
의 기대값인 0을 사용한다. 또는
Figure 112018062065248-pat00086
인 해당하는 오차의 제곱합만을 활용하여 최소제곱추정량을 계산하기도 한다. 조건부 최소제곱추정을 통한 모수는 표본의 크기 N이 상당히 크면 적률추정법의 추정모수와 거의 같게 된다.
Figure 112018062065248-pat00087
(16)
(8) 최대가능도 추정법
최대가능도 추정법은 관측된 시계열 데이터의 결합확률밀도함수인 모수의 가능도함수를 최대화시키는 모수를 구하는 방식이다. 시계열 데이터의 확률분포에 대한 가정이 추가되어야 한다. 이를 위해 보통 백색잡음과정이 정규분포를 따른다고 가정한다. 최대가능도추정 모수를 쉽게 구하기 위해 로그가능도함수를 최대로 하는 모수의 값을 찾는 방법을 쓴다. 이때 최대가능도추정량을 계산한다면 결국 오차항들의 제곱을 최소화하는 문제로 귀결되게 된다.
(9) 온라인 예측을 위한 방법
최대가능도추정이나 최소제곱추정은 오차항
Figure 112018062065248-pat00088
들의 제곱합 혹은 비조건부 제곱합을 최소화하는 문제이다. AR모형의 경우
Figure 112018062065248-pat00089
는 모수에 관해 선형식이므로 오차의 제곱합을 최소로 해주는
Figure 112018062065248-pat00090
는 명백하게 구해진다. 하지만 MA모형이나 ARMA모형의
Figure 112018062065248-pat00091
는 모수에 관해 비선형이다. 따라서 이 모형에 대해 최소제곱추정량을 구하기 위해서는 비선형최소제곱추정방법을 사용하게 된다. 제곱합에 모수의 초기값을 대입한 뒤에 보다 작은 제곱합이 계산되는 방향으로 모수의 값을 업데이트한다. 이때 설정해 둔 수렴기준에 도달한다면 반복을 멈추게 된다. 온라인으로 다음 예측값을 빠르게 계산해야 하는 상황에서 비선형최소제곱추정은 적절하지 않다. 따라서 선형 최소제곱추정만으로 모수를 추정하기 위해 온라인 탐색에서는 MA가 없는 AR 알고리즘을 사용한다. 많은 AR 차수를 사용해야 하지만 모수 탐색의 시간을 효율적으로 줄일 수 있다는 장점이 있다. Chengho Liu의 연구에서도 빠른 탐색을 위해서
Figure 112018062065248-pat00092
가 모수에 관한 선형식으로 표현되는 AR(p)모형이 사용된다.
(10) 자기회귀과정과 이동평균과정의 쌍대성
실제 데이터가 ARMA모형이 적합한 경우에도, AR모형만으로 해당 데이터를 적절히 분석할 수 있다. 이것이 가능한 것은 자기회귀가정과 이동평균과정의 쌍대성으로 나타난다. 정상 AR과정은 무한차수의 MA과정으로 표현할 수 있다.
Figure 112018062065248-pat00093
(17)
또한 가역성을 가지는 MA과정
Figure 112018062065248-pat00094
도 무한차수의 AR과정의 형태로 바꾸어 쓸 수 있다.
Figure 112018062065248-pat00095
(18)
이는 다음과 같이 표현할 수 있다.
Figure 112018062065248-pat00096
(19)
ARMA과정역시 MA항의 계수들을 AR항으로 이동시켜준다면 무한차수의 AR과정으로 나타낼 수 있음을 알 수 있다. 하지만 실제 계산을 위한 과정에서 무한차수에 의한 AR모형을 적합시킬 수 없으므로 실제 온라인 모형을 적합할 때는 적절한 수의 충분한 AR(p)를 적합시켜 모형의 예측 정확도를 확인하도록 한다.
(11) 리그렛 최소화(Regret minimization)
리그렛 최소화의 목적은 본 발명에서 제안하는 온라인 알고리즘이 시간이 지날수록 좋은 모수의 추정을 할 수 있다는 것을 보여주는 것이다.
Figure 112018062065248-pat00097
는 일반적으로 온라인으로 탐색을 하는 알고리즘의 손실(Loss) 값을 나타낸다.
Figure 112018062065248-pat00098
는 데이터가 배치(batch)되어 있는 상태에서 구축한 예측 모형의 미래 예측 값을 뜻한다.
Figure 112018062065248-pat00099
는 데이터가 배치(batch)되어 있는 상태에서 최적의 모수를 찾아냈을 때의 손실 값을 나타낸다.
Figure 112018062065248-pat00100
(20)
리그렛 계산식은 온라인으로 실시간으로 시간이 경과할수록 모수의 추정이 어떻게 이루어지는가에 대한 평가지표가 될 수 있다. 효과적인 온라인 추정 알고리즘이 되기 위해서는 리그렛이 시간 N의 함수로써 N이 커질수록 그 영향이 줄어들어야 한다. 즉, 계산이 이루어졌을 때
Figure 112018062065248-pat00101
를 만족해야 한다.
Chenghao Liu의 연구에서는 온라인 컨벡스 최적화를 위하여 두 가지 방법을 사용한다. 온라인 하강 경사법(Online Gradient Descent) 과 온라인 뉴튼 스텝(Online Newton Step)이다.
(12) ARIMA-온라인 경사하강법(ARIMA-OGD)
Chenghao Liu 의 연구에서는 이를 ARIMA 에 적용시켜 모수를 구한다. 일반적인 컨벡스 최적화 방법인 경사하강법을 온라인 버전에 적용시킨 것이다. 이때 MA항을 AR항으로 이동시킨 improper learning을 사용한다. OGD의 경우 리그렛 바운드(regret bound)는 ARIMA-ONS에 비해 크지만 계산적으로 더 효율적이다. 이때 리그렛 바운드는
Figure 112018062065248-pat00102
이다.
(13) ARIMA-온라인 뉴튼 스텝(ARIMA-ONS)
ONS의 경우 Newton Raphson 알고리즘을 온라인 버전으로 적용시킨 것이다. OGD에 비해 리그렛 바운드가 더 작다. 따라서 시간이 경과함에 따라 더 좋은 모수의 추정이 가능하다. 이때 리그렛 바운드는
Figure 112018062065248-pat00103
이다.
제안하는 방법에 대한 이론적 배경
ARMA 모형이 적합하다 하더라도 이를 쌍대성의 원리를 이용해 AR모형으로 변환시킴으로 모수의 추정은 이제 선형 최소제곱추정을 통해 구할 수 있다. 하지만 일반 온라인 상황에서 일반 최소제곱추정을 사용하는 것은 데이터가 많아질수록 계산량이 많아지게 되고, 또한 저장공간의 제약의 문제가 발생하게 된다.
이에 본 발명에서는 순환최소제곱법을 통해 문제를 해결하고자 한다. 새로운 데이터가 들어왔을 때 모델을 새롭게 만들지 않고 기존의 정보를 통해 파라미터를 업데이트 하는 방식이다. 따라서 일반 선형최소제곱추정에 비해 계산속도가 빠르며 저장공간의 제약이 발생하지 않는다는 장점이 있다. 또한 경사하강법이나 Newton Raphson 의 방법과 같이 점진적으로 최적의 모수를 찾지 않아도 된다. 최소제곱법을 통해 직접적으로 최적의 모수를 찾을 수 있다. 또한 RLS는 과거의 데이터들에 낮은 가중치를 부여하는 방법을 사용함으로써 다이나믹하게 상태가 변화하는 상황에서 기존의 방식에 비해 더 좋은 결과를 나타낼 수 있다는 장점이 있다.
이하에서는 본 발명의 기술적 사상에 따른 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법을 뒷받침하는 이론적 배경에 대하여 보다 상세하게 설명하기로 한다.
(1) Improper learning
온라인 학습 상황에서는 모든 시점의
Figure 112018062065248-pat00104
을 알 수 없다.
Figure 112018062065248-pat00105
을 알지 못하는 상태에서는 예측 값(Prediction)을 구할 수 없고 또한 손실(Loss)값도 구할 수 없다. 또한 적절한 모수의 오더(Order)를 찾기 위해서는 자기상관함수(autocorrelation function; ACF)와 편자기상관함수(partial autocorrelation function; PACF)를 확인해야 하며, 또는 모형의 적합도를 판별하는 AIC(Akaike Information Criterion; 아카이케 정보기준) 의 값들을 확인을 해야 하기 때문에 모수를 선택하는데 많은 시간이 걸리게 된다.
Anava 등은 모든 모수를 오차항에 대해 과거값들의 선형식으로 만들기 위해서 MA 모형을 AR모형으로 이전시켜 AR 차수를 고정시킨 형태를 사용한다. 이는 AR과 MA의 쌍대성의 원리를 통해 가능하다는 것을 알 수 있다. 이때 무한차수의 AR형태로 표현할 수 있지만 실제 모형에서 무한차수를 적용할 수 없으므로 경험적으로 적절히 큰 차수 p값을 고정하여 사용하도록 한다. 이를 Improper learning이라 한다. 이는 AR과 MA의 쌍대성의 원리를 통해 가능하다는 것을 알 수 있다. 이러한 AR 차수만이 존재하는 모형에서는 현재값이 과거값들의 선형방정식으로 나타나기 때문에 선형 최적화 방법인 최소제곱추정법(Least Square Estimation)을 사용할 수 있다.
본 발명에서는 온라인 상황에서 최소제곱추정을 빠르게 계산하기 위하여 순환최소제곱법(Recursive Least Square; RLS)를 적용한다. 이때 AR 차수 p는 사전에 고정시킨 값을 사용한다. 따라서 이때 모형의 종속변수는
Figure 112018062065248-pat00106
이며 독립변수는
Figure 112018062065248-pat00107
이다. 아래는 이러한 시계열 데이터 예측 모형을 나타내는 식이다.
Figure 112018062065248-pat00108
(2) Recursive least square
순환최소제곱법은 새로운 데이터가 들어올 때 다시 처음부터 모든 데이터를 사용하여 모델을 만들지 않는다. 대신, 기존의 정보를 통해 만들어진 모델과 새로운 데이터를 사용해, 기존의 모델을 업데이트 한다. 따라서 순환 최소제곱추정법은 그 계산속도가 빠르며 실시간으로 모델을 업데이트 할 수 있다는 장점을 지닌다. 또한 과거의 데이터를 모두 저장하지 않아도 되는 장점이 있다. 기존의 최소제곱추정법은 아래와 같다. 이때의
Figure 112018062065248-pat00109
은 improper learning을 고려하여 N개의 관측치를 가지고 있고, AR 차수인 <P> 만큼의 과거의 값들이 독립변수로 구성되어 있는
Figure 112018062065248-pat00110
행렬이다.
Figure 112018062065248-pat00111
은 N개의 시계열 예측값으로 구성된
Figure 112018062065248-pat00112
행렬이다.
Figure 112018062065248-pat00113
(21)
Figure 112018062065248-pat00114
이때 새로운 P차원의 N+1시점 데이터는
Figure 112018062065248-pat00115
이다. 순환최소제곱법은 모든 데이터를 사용해
Figure 112018062065248-pat00116
를 추정하는 대신 기존에 계산된
Figure 112018062065248-pat00117
를 업데이트 하여
Figure 112018062065248-pat00118
를 추정한다. 하지만 기존의 최소제곱법을 사용한다면 아래의 식과 같다.
Figure 112018062065248-pat00119
(22)
이때
Figure 112018062065248-pat00120
Figure 112018062065248-pat00121
행렬인
Figure 112018062065248-pat00122
이라고 정의 하면, N+1시점에서의 최소제곱 추정식을 다음같이 쓸 수 있다.
Figure 112018062065248-pat00123
(23)
Figure 112018062065248-pat00124
을 좌변으로 옮기고, 시점을 N+1이 아닌 N시점을 기준으로 식을 고치면 다음과 같음을 알 수 있다.
Figure 112018062065248-pat00125
(24)
Figure 112018062065248-pat00126
Figure 112018062065248-pat00127
과 새로운 데이터의 조합으로 표현할 수 있다.
Figure 112018062065248-pat00128
(25)
Figure 112018062065248-pat00129
(26)
이제
Figure 112018062065248-pat00130
은 다음과 같다.
Figure 112018062065248-pat00131
(27)
왼쪽항과 오른쪽에
Figure 112018062065248-pat00132
을 나누게 된다면 결국 다음과 같이 정리된다.
Figure 112018062065248-pat00133
(28)
이제 식 (25), (28)로 순환 공식을 만들 수 있다.
Figure 112018062065248-pat00134
(29)
Figure 112018062065248-pat00135
(30)
Figure 112018062065248-pat00136
(31)
Figure 112018062065248-pat00137
(32)
이 공식은
Figure 112018062065248-pat00138
행렬인
Figure 112018062065248-pat00139
의 역행렬을 계산해야 한다. 역행렬은
Figure 112018062065248-pat00140
으로 계산량이 많아지기 때문에 계산이 쉬운 방법으로 식을 변형한다.
Figure 112018062065248-pat00141
(33)
Figure 112018062065248-pat00142
의 역행렬을
Figure 112018062065248-pat00143
로 정의 하고, 이때 셔먼모리슨의 행렬 역변환 공식을 이용한다. 아래의 식을 얻을 수 있다.
Figure 112018062065248-pat00144
(34)
Figure 112018062065248-pat00145
(35)
양변에
Figure 112018062065248-pat00146
을 곱해주면 다음과 같은 식을 얻을 수 있다. 이때
Figure 112018062065248-pat00147
Figure 112018062065248-pat00148
이라고 하자
Figure 112018062065248-pat00149
(36)
Figure 112018062065248-pat00150
를 식(35)에 대입함으로써 다음과 같이 풀 수 있다.
Figure 112018062065248-pat00151
(37)
(25), (26) 식과 (36) 식을 이용하여
Figure 112018062065248-pat00152
을 다음과 같이 풀 수 있다.
Figure 112018062065248-pat00153
(38)
Figure 112018062065248-pat00154
이제 (36), (37), (38) 식을 이용하여 효율적으로 계산 가능한 다음의 순환공식을 만들 수 있다.
Figure 112018062065248-pat00155
(39)
Figure 112018062065248-pat00156
(40)
Figure 112018062065248-pat00157
(41)
Figure 112018062065248-pat00158
(42)
이 순환 공식의 경우 시간 복잡도(Time complexity)는
Figure 112018062065248-pat00159
으로 기존의 RLS가
Figure 112018062065248-pat00160
을 보이는 것에 비해 빠른 처리 속도를 보여준다. 또한 기존의 최소제곱추정은 데이터가 늘어남에 따라 계산량이 증가하고 필요한 저장공간이 늘어난다는 단점이 있었지만 RLS의 경우 AR 차수인 <P>의 함수식으로 계산량이 고정되어 있음을 알 수 있다.
(3) RLS with forget factor
RLS는 계산상의 이점을 가지고 있다. 하지만 온라인으로 계산이 계속될수록 먼 과거의 값들과 가까운 과거의 값들이 같은 중요도를 가지고 계산이 되어 현재의 상황이 모델에 적절히 반영이 안 될 수 있다는 단점이 있다. 이를 해결하기 위하여 forget factor를 적용한 RLS를 제안한다.
forget factor인
Figure 112018062065248-pat00161
는 과거 데이터의 영향을 줄여주는 역할을 한다. 일반적으로
Figure 112018062065248-pat00162
의 값으로 설정한다. 1에 가까울수록 일반적인 RLS와 같음을 의미한다. 과거의 데이터에
Figure 112018062065248-pat00163
값이 지수적으로 감소하는 가중치를 주게 된다.
Figure 112018062065248-pat00164
(43)
가중치가 곱해진 데이터를 다음과 같이 표현하자.
Figure 112018062065248-pat00165
,
Figure 112018062065248-pat00166
(44)
모든 오차항의 제곱합을 재표현하면 다음과 같다.
Figure 112018062065248-pat00167
(45)
이때 새롭게 구해진 가중치가 곱해진 데이터의 최소제곱 추정을 하게 된다면 다음과 같이 표현할 수 있다.
Figure 112018062065248-pat00168
(46)
Figure 112018062065248-pat00169
Figure 112018062065248-pat00170
를 풀어쓴다면 다음과 같이 정리 할 수 있다.
Figure 112018062065248-pat00171
(47)
Figure 112018062065248-pat00172
(48)
이를 셔먼모리스의 행렬역변환 정리와 순환식에 적용시켜 식 (25), (26)를 변형시키도록 한다. forget factor가 적용된 순환 최소제곱 공식을 다시 표현하게 된다면 다음과 같다.
Figure 112018062065248-pat00173
(49)
Figure 112018062065248-pat00174
(50)
Figure 112018062065248-pat00175
(51)
Figure 112018062065248-pat00176
(52)
이때 우리가 제안한 알고리즘의 경우 데이터가 배치(batch)되어 있는 상태에서의 알고리즘과 동일한 모수추정의 값을 계산하게 된다. 따라서 이때의 리그렛은 온라인 모델 추정 과정의 손실 값과 batch 모델 추정의 손실 값이 같기 때문에 0이라고 할 수 있다. 시간 복잡도의 경우 셔먼모리슨 공식을 통해 변경된 순환공식과 같은
Figure 112018062065248-pat00177
이다.
제안하는 시스템 및 방법(실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법)
도 1은 본 발명의 일 실시예에 따른 실시간 시계열 데이터를 위한 예측 모형 생성 시스템(이하, '예측 모형 생성 시스템'이라고 함)의 구조를 나타내는 블록도이다.
상기 예측 모형 생성 시스템(100)은 컴퓨팅 시스템, 서버 혹은 데이터 처리 장치일 수 있다. 일 실시예에서, 상기 예측 모형 생성 시스템(100)은 분산 처리 시스템일 수 있다.
한편, 상기 예측 모형 생성 시스템은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 예측 모형 생성 시스템은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 예측 모형 생성 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 상기 예측 모형 생성 시스템은 다수의 모듈의 형태로 구현될 수 있다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
도 1에 도시된 바와 같이, 상기 예측 모형 생성 시스템(100은 획득모듈(110) 및 산출모듈(120)을 포함할 수 있다.
상기 획득모듈(110)은 온라인 상황에서 실시간 시계열 데이터 Z1, Z2, …, Zn, …(10)를 차례로 획득할 수 있다. 시계열 데이터는 일정한 시간 간격을 두고 측정되는 데이터일 수 있다. 예를 들어, 실시간 시계열 데이터는 소정의 센서로부터 측정되는 일련의 데이터일 수 있다.
상기 획득모듈(110)은 획득한 실시간 시계열 데이터 중 적어도 일부를 저장할 수 있다.
일 실시예에서 상기 획득모듈(110)은 획득한 시계열 데이터 전체를 저장할 수 있다.
다른 일 실시예에서 상기 획득모듈(110)은 최근 시점으로부터 과거 일정 수의 데이터만을 저장할 수도 있다. 이 경우 상기 획득모듈(110)은 후술하는 시계열 데이터 예측 모형의 모수 p 이상의 개수의 데이터를 저장할 수 있다.
상기 산출모듈(120)은 다음 [수식 1]로 표현되는 시계열 데이터 예측 모형의 모수를 추정할 수 있으며, 모수 추정 후 다음 시계열 데이터
Figure 112018062065248-pat00178
를 예측할 수 있다.
[수식 1]
Figure 112018062065248-pat00179
여기서 p는 상기 시계열 데이터 예측 모형의 차수로서 미리 정의된 2 이상의 정수이며, Zi는 i번째 시점의 시계열 데이터(i는 i>=1인 임의의 정수)이며, M은 2+p 이상인 정수이다.
즉 상기 산출모듈(120)은 과거 p개의 시계열 데이터만으로 다음 시계열 데이터
Figure 112018062065248-pat00180
를 예측할 수 있다.
상기 산출모듈(120)은 일정 개수(예를 들어, 2+p개)의 시계열 데이터가 축적된 이후부터 축적된 데이터를 이용하여 다음 시계열 데이터를 예측할 수 있다.
도 2는 본 발명의 일 실시예에 따른 예측 모형 생성 시스템(100)이 예측 모형을 생성하고, 다음 시계열 데이터를 예측하는 과정을 도시한 도면이다.
도 2를 참조하면 상기 획득모듈(110)은 첫 번째 시계열 데이터 Z1부터 획득을 시작하여 p+1 번째 시계열 데이터 Zp+1까지 획득하고 이를 축적할 수 있다. 물론 실시예에 따라서는 이보다 많은 수의 시계열 데이터를 축적한 후 다음 과정이 수행될 수도 있음은 물론이다.
이후 예측 모형 업데이트 및 다음 시계열 데이터 예측 과정이 수행될 수 있다. 보다 상세하게는 상기 획득모듈(120)은 M번째 시계열 데이터 ZM을 획득할 수 있다(S110).
그러면, 상기 산출모듈(120)은 다음 [수식 2-1]에 의해 정의되는 모수
Figure 112018062065248-pat00181
를 산출할 수 있다(S120). 이때 N은 N = M-p-1이다.
[수식 2-1]
Figure 112018062065248-pat00182
이때, X(N), Y(N),
Figure 112018062065248-pat00183
,
Figure 112018062065248-pat00184
은 각각 다음의 [수식 2-2]과 같이 표현될 수 있다.
[수식 2-2]
Figure 112018062065248-pat00185
Figure 112018062065248-pat00186
Figure 112018062065248-pat00187
Figure 112018062065248-pat00188
이후 상기 산출모듈(120)은 산출된 모수
Figure 112018062065248-pat00189
가 반영된 상기 [수식 1]에 따른 시계열 데이터 예측 모형에 기초하여 다음 시점(M+1번째 시점)에서의 예측 값
Figure 112018062065248-pat00190
을 산출할 수 있다(S130). 구체적으로 상기 산출모듈(120)은 하기 [수식]에 의해 예측 값
Figure 112018062065248-pat00191
을 산출할 수 있다.
[수식]
Figure 112018062065248-pat00192
일 실시예에서, 상기 산출모듈(110)은 통상적인 최소제곱추정(Least Square Estimation)방법을 사용하여 모수
Figure 112018062065248-pat00193
를 추정할 수 있으나, 계산 성능을 높이기 위하여 본 발명의 기술적 사상에 따른 순환최소제곱추정방법에 따라 모수
Figure 112018062065248-pat00194
를 추정할 수 있는데, 이하에서는 도 3을 참조하여 이에 대하여 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 예측 모형 생성 시스템이 시계열 데이터 예측 모형의 모수
Figure 112018062065248-pat00195
를 추정하는 과정(S120 단계)의 일 예를 도시한 흐름도이다.
먼저, 상기 산출모듈(120)은 하기 [수식 3]에 따른
Figure 112018062065248-pat00196
을 산출할 수 있다(S121).
[수식 3]
Figure 112018062065248-pat00197
여기서 V(N)은 이전에 수행된 순환최소제곱추정 과정에서 산출되는 값이며, 초기 값은
Figure 112018062065248-pat00198
이다(상술한 식(33) 참조).
다음으로 상기 산출모듈(120)은 하기 [수식 4]에 따른
Figure 112018062065248-pat00199
을 산출할 수 있다(S122).
[수식 4]
Figure 112018062065248-pat00200
다음으로 상기 산출모듈(120)은 하기 [수식 5]에 따른
Figure 112018062065248-pat00201
을 산출할 수 있다(S123).
[수식 5]
Figure 112018062065248-pat00202
여기서, 초기값
Figure 112018062065248-pat00203
이다(상술한 식(21) 참조).
다음으로 상기 산출모듈(120)은 다음 순환최소제곱추정 과정에서 사용될 V(N+1)을 하기 [수식 6]을 통해 산출할 수 있다(S124).
[수식 6]
Figure 112018062065248-pat00204
즉, 상기 산출모듈(120)은 시계열 데이터가 획득될 때마다 순환적(recursively)으로 예측 모형을 업데이트하고 다음 시계열 데이터를 예측할 수 있다.
한편, 다른 일 실시예에서, 상기 산출모듈(120)은 망각 인자(forget factor)가 적용된 순환최소제곱추정 과정을 수행할 수도 있다.
망각 인자(forget factor)가 적용된 순환최소제곱추정은 다음의 [수식 7] 내지 [수식 10]에 의해 표현될 수 있다.
[수식 7]
Figure 112018062065248-pat00205
(여기서,
Figure 112018062065248-pat00206
Figure 112018062065248-pat00207
인 미리 정의된 실수이며,
Figure 112018062065248-pat00208
임)
[수식 8]
Figure 112018062065248-pat00209
[수식 9]
Figure 112018062065248-pat00210
(여기서,
Figure 112018062065248-pat00211
임)
[수식 10]
Figure 112018062065248-pat00212
시뮬레이션
이하에서는 본 발명의 기술적 사상에 따른 실시간 시계열 데이터를 위한 예측 방법의 성능을 평가하기 위해 수행한 실험 및 그 결과에 대해 설명하기로 한다.
실험에 앞서 먼저 제안한 알고리즘의 온라인 처리속도와 망각 인자(forget factor)를 사용하였을 때의 효율성에 대한 확인을 위해 시뮬레이션 데이터를 생성하였다. 시계열 데이터의 경우 센서 데이터나 가격 데이터는 외부의 영향을 받기 쉬운 환경에 있다. 외부에서 강한 자극이 생길 경우 시계열의 확률적 성질이 변할 수 있다. 이때 정상적인 성질을 띄던 시계열 데이터가 다른 모수를 가지는 시계열 데이터가 될 수 있다. 우리는 이 상황에서 forget factor를 적용함으로써 빠르게 상황에 적응할 수 있도록 모델을 설계하였다. 시뮬레이션 데이터를 통해 우리의 알고리즘이 적절히 작동되는 지에 대한 여부를 확인하기 위해 확률적 상황이 바뀌는 여러 상황에서의 시뮬레이션 데이터를 생성하였다.
<시뮬레이션 setting 1>
시뮬레이션 데이터의 생성은 기존 Chenghao Liu 가 제시하는 방식을 차용하였다. 우선 ARIMA model을 통해 정상성을 띄는 데이터를 생성한다. AR 차수인 <P>를 [0.6, -0.5, 0.4, -0.4, 0.3] 으로 설정하였다. MA 차수인 <q>를 [0.3, -0.2]로 설정하였다. noise term은
Figure 112018062065248-pat00213
으로 가정하였다. 기존에 noise term과 같은 분포를 가지는 초기 값을 생성하고 초기값을 통해 데이터를 생성한다. 새롭게 생성된 데이터를 N+1시점에 추가한다. 그 뒤 반복적으로 다음 시점의 데이터를 생성해 낸다. 총 100000개의 관측치를 가진 시계열 데이터를 생성하였다.
<시뮬레이션 setting 2>
시계열 데이터의 경우 외부의 자극으로 인하여 갑작스럽게 데이터의 확률과정이 변화할 수 있다. 정상성에서 자기 공분산의 동일함의 성질이 깨지게 되는 것이다. 정상성이 설정되지 않은 데이터의 경우 일반적인 ARIMA 모델은 적절한 모델을 생성할 수 없다. 하지만 forget factor를 적용한 본 발명의 알고리즘은 이러한 상황에 대해 빠르게 적응하여 올바른 예측이 가능할 것이라 예측하였다.
이에 대한 확인을 하기 위하여 갑작스럽게 모수가 변화하는 상황을 가지는 비정상 데이터를 생성한다. 500개 시계열 관측치 데이터는 AR 차수인 <P>를 [0.6, -0.5, 0.4, -0.4, 0.3]으로 설정하였다. MA 차수인 <q>를 [0.3, -0.2]를 통해 생성하였다. 이후 5000개 시계열 관측치 데이터는 AR order인 <P>를 [-0.4, -0.5, 0.4, 0.4, 0.1]으로 설정하였다. MA order인 <q>를 [-0.3, 0.2]를 통해 생성하였다. 총 10000개의 관측치 데이터를 합쳐 다이나믹 환경 시계열 데이터를 생성하였다. noise term은
Figure 112018062065248-pat00214
으로 가정하였다.
<시뮬레이션 setting 3>
갑작스럽게 시계열의 모수가 두 번 변화하는 다이나믹 환경 시계열 데이터를 생성하였다. 5000개의 관측치는 AR order인 <P>를 [0.6, -0.5, 0.4, -0.4, 0.3] 으로 설정하였다. MA order인 <q>를 [0.3, -0.2]를 통해 생성되었다. 두번째 5000개 시계열 관측치 데이터는 AR order인 <P>를 [-0.4, -0.5, 0.4, 0.4, 0.1] 으로 설정하였다. MA order인 <q>를 [-0.3, 0.2]를 통해 생성되었다. 세 번째 5000개 시계열 관측치 데이터는 AR order인 <P>를 [-0.5, -0.4, -0.3, 0.2, 0.1] 으로 설정하였다. MA order인 <q>를 [-0.4, -0.3]를 통해 생성되었다. 총 15000개의 데이터는 5000번째와 10000번째 포인트 지점에서 모수가 변화하는 단계를 가지고 있다. noise term은
Figure 112018062065248-pat00215
으로 가정하였다.
<시뮬레이션 setting 4>
점진적으로 ARIMA 모형의 모수가 변화하는 상황을 가정한 데이터를 생성하였다. AR 차수의 값을 아래와 같이 계산하여 적용하도록 하였다.
Figure 112018062065248-pat00216
MA 차수는 [0.32, -0.2]로 세팅하였고 noise term은
Figure 112018062065248-pat00217
으로 가정하였다. 이러한 세팅에서 ARIMA 모형을 기반으로 하는 데이터는 그 모수가 천천히 변화함에 따라 다이나믹환 환경의 특징을 띄게 된다. 우리는 이 데이터에서 우리 모형의 이점을 확실히 확인할 수 있다.
<real-life data>
실제 시계열 현상 데이터에 실험을 실행하였다. Chenghao Liu의 연구에서 사용된 데이터를 활용해 해당 논문의 결과와 본 발명의 결과를 비교 하였다. 또한 실제 한국의 농수산물 가격 데이터를 통해 본 발명의 알고리즘의 성능을 확인하였다. (a) 1885-1962 년도의 일일 다우존스 산업평균지수이다. (b) 농수산물의 일일 평균 가격데이터를 적용해 보았다.
<실험결과>
본 발명의 효과를 입증하기 위한 실험은 시뮬레이션 데이터와 실제 데이터를 통해 이루어 졌다. 총 시뮬레이션 데이터 4개와 실제 데이터 2개를 사용하여 예측성능에 대한 실험을 진행하였다. 또한 실시간 상황에서 알고리즘의 데이터 처리속도를 비교하기 위하여 각 simulation setting의 상황에서 총 100000개의 데이터를 처리하는데 걸리는 시간을 비교하였다.
제안되는 방법은 RLS-ARIMA, FRLS-ARIMA 이다. 이를 기존의 시계열 예측방법인 Yule walker와 ARIMA-OGD와 ARIMA-ONS과 비교해보고자 한다. Yule walker는 과거의 모든 값들을 모수를 추정하는데 사용한다. 따라서 시간이 지날수록 많은 과거의 데이터들을 사용해야 하므로 많은 시간이 걸리게 된다. 반면 본 발명에서 제안된 두 가지 방법과 ARIMA-OGD와 ARIMA-ONS 방법은 온라인 학습으로 빠른 시간에 데이터들의 처리가 가능하다. 이때 알고리즘의 impoper learning을 위해 AR 차수 P 값을 정해야 한다. 본 실험에서 P는 10으로 고정하여 사용한다. 또한 ARIMA-ONS와 ARIMA-OGD의 경우 알고리즘 적용을 위한 파라미터는 기존 연구에서 제안되는 파라미터와 추가적인 탐색작업을 통해 찾아낸 최적 파라미터를 사용하였다. FRLS-ARIMA의 경우 그 forget factor인
Figure 112018062065248-pat00218
의 값은 데이터 상에 급격하게 비정상성이 의심이 되는 상황이 생길 경우 0.99로 설정하고, 비정상성이 의심되지 않을 경우에는 0.999로 설정하였다. 급격하게 확률적 상황에 변화는 상황에서
Figure 112018062065248-pat00219
의 값을 더 작게 설정할 경우 현재의 상황에 더욱 빠르게 적응하여 모수를 추정할 수 있다는 장점이 있다.
예측성능을 확인하기 위한 측정지표는 온라인 상황에서 각 시점마다 추정한 모수로 예측한
Figure 112018062065248-pat00220
시점의 값과 실제
Figure 112018062065248-pat00221
시점의 값과의 차이를 제곱한 뒤 모두 더해 제곱근을 구한 것을 사용하였다. 이는 온라인 버전의 RMSE 이다.
RMSE =
Figure 112018062065248-pat00222
도 4a는 <시뮬레이션 setting 1>의 상황에서 각 알고리즘의 성능을 나타내는 도면이다(The number of observation 10000., 정상성 시계열).
도 4b는 <시뮬레이션 setting 1>의 상황에서 각 알고리즘의 성능을 나타내는 도면이다(The number of observation 100000., 정상성 시계열).
도 4a와 도 4의 경우 정상성을 띄는 데이터에 적용한 결과이다. 이 plot은 실시간으로 데이터가 처리되면서 실시간으로 계산되는 RMSE값들을 그린 것이다. 모든 알고리즘에서 실험의 초기 단계에는 모수의 추정에 많은 데이터가 사용되지 않았기 때문에 지표가 불안정하고 비교적 높은 RMSE을 보이고 있다. 하지만 Figure 2.와 같이 많은 데이터가 실시간으로 알고리즘을 거치게 되면서, 알고리즘의 RMSE값은 0.3으로 점근적으로 수렴하는 것을 볼 수 있다. 이는 본 실험에서 시뮬레이션 데이터를 만들 때
Figure 112018062065248-pat00223
Figure 112018062065248-pat00224
으로 설정하였기 때문이다.
Yule walker의 방식은 처음부터 모든 데이터를 사용하기 때문에 다른 모형에 비해 데이터가 조금 모여도 최적의 모수를 찾을 수 있다. 하지만 이 방법은 경우에는 온라인 상황에서는 적절하지 않다는 문제가 있다. ONS와 OGD의 경우 데이터가 들어올수록 점근적으로 최적모수를 찾아가는 과정이기 때문에 최적 모수에 수렴하는데 Yule Walker나 RLS방식보다 많은 데이터가 필요로 한다는 것을 알 수 있다. 실시간 처리의 전반부에 모형의 RMSE는 불안정하고 다른방법에 비해 상대적으로 높지만 데이터 100000개를 모두 봤을 경우 후반부에 들어가게 되면 모형의 RMSE는 안정화된다. 반면 RLS와 FRLS 의 경우 CSS와 같은 방식의 추정방법을 순환공식을 통해 빠르게 계산할 수 있다. 따라서 CSS와 같이 N이 커지게 된다면 0.3으로 수렴하는 것을 보인다. 또한 ONS와 OGD와 다르게 RMSE의 수렴이 더 잘되는 것을 볼 수 있다.
도 4c는 <시뮬레이션 setting 2>의 상황에서 각 알고리즘의 성능을 나타내는 도면이다(The number of observation 10000., 5000time에서 다이나믹 시계열).
도 4c에서는 5000번째 데이터가 들어오면서 데이터의 확률과정이 갑작스럽게 바뀌는 상황을 보여준다. 이때 데이터의 확률과정이 바뀐다는 것은 다이나믹한 환경의 시계열 데이터를 뜻한다. 모든 데이터를 사용하는 Yule Walker의 경우 5000데이터가 들어오는 순간부터 시계열 데이터의 모수가 변화하게 되면서 모형의 예측 성능이 급격하게 떨어지는 것을 확인 할 수 있다. 반면 ONS와 OGD는 점근적으로 모수를 찾아가기 때문에 급격하게 확률과정이 변하더라도 다시 안정적으로 모수를 찾아간다는 것을 알 수 있다. RLS의 경우는 CSS와 마찬가지로 모형의 예측도가 떨어지는 것을 알 수 있다. 이때 forget factor를 적용한 FRLS모형의 경우 과거의 값들에 낮은 가중치를 부여하게 되면서 다른 모형들에 비해 빠르게 현재 상황에 적응하여 최적 모수를 찾음을 알 수 있다. forget factor 는 0.99로 설정하였다.
도 4d는 <시뮬레이션 setting 3>의 상황에서 각 알고리즘의 성능을 나타내는 도면이다(The number of observation 15000., 5000time과 10000time에서 다이나믹 시계열).
도 4d 에서는 확률과정이 바뀌는 순간이 두 번인 순간은 가정한 것이다. 해당모형의 경우 FRLS를 제외한 다른 모형의 경우 확률과정이 바뀌는 순간마다 RMSE값이 급격하게 올라가는 것을 보인다. FRLS의 경우에는 빠르게 상황에 적응하여 최적모수를 찾아가고 있다. forget factor 는 0.99로 설정하였다.
도 4e는 <시뮬레이션 setting 4>의 상황에서 각 알고리즘의 성능을 나타내는 도면이다(The number of observation 10000., Slowly change of
Figure 112018062065248-pat00225
and
Figure 112018062065248-pat00226
비정상 시계열).
도 4e의 경우 점진적으로 모수가 변화하는 상황이다. 이때 데이터가 들어옴에 따라 확률과정의 모수는 점진적으로 변화한다. 현재 상황에서 FRLS를 사용한 방법이 가장 적절히 RMSE값을 산출해 냄을 알 수 있다. FRLS의 forget factor 는 0.999로 설정하였다. 비정상 시계열의 경우 Yule walker와 RLS의 경우에는 모수의 추정이 적절히 이루어지지 않아 RMSE의 값이 어느 지점에서 다시 증가하는 현상을 보인다. 반면 ONS와 OGD는 데이터가 들어옴에 따라 적절한 모수를 점근적으로 찾아감으로 안정된 RMSE 값이 산출된다.
도 4f는 <다우존스 산업평균지수>에 대한 각 알고리즘의 성능을 나타내는 도면이며, 도 4g는 <농수산물의 일일 평균 가격데이터>에 대한 각 알고리즘의 성능을 나타내는 도면이다.
도 4f의 경우 OGD나 ONS에 비해 Yule-Walker 방식과 RLS방식이 더욱 좋은 예측을 하고 있다는 것을 보여주고 있다. 도 4g의 경우 Yule Walker 방식에 비해 RLS방식이 더 좋은 예측을 하고 있는 것으로 나타난다. Yule Walker의 방식은 반올림 오차에 매우 민감하기 때문에 일어날 결과라고 볼 수 있다. 또한 OGD와 ONS의 결과는 Yule Walker의 결과나 RLS의 결과보다 좋지 못한 결과값을 산출한다.
다음 [표 1] 는 각 모델별 알고리즘의 Setting 1. 처리 시간을 비교한 것이다. 안정적인 알고리즘 처리 시간을 확인하기 위해서 10 times의 실험을 통해 처리 시간을 확인한 뒤 평균을 내었다. 이때의 AR 차수값은 10으로 고정하였다.
MODEL (AR-order = 10) Seconds
OGD-ARIMA 12.01
ONS-ARIMA 13.52
RLS-ARIMA 13.40
Forget-RLS-ARIMA 13.42
Yule Walker 1390.04
한편, 구현 예에 따라서, 상기 예측 모형 생성 시스템은 적어도 하나의 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다.
한편, 본 발명의 실시예에 따른 실시간 시계열 데이터를 위한 예측 모형 생성 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (7)

  1. (a) 실시간 시계열 데이터를 위한 예측 모형 생성 시스템이, 소정의 외부 장치로부터 제1번째 시점의 실시간 시계열 데이터 Z1 내지 제M번째 시점의 실시간 시계열 데이터 ZM를 차례로 획득하는 단계(여기서, M은 2+p 이상의 정수이고, p는 하기 [수식 1]에 따른 시계열 데이터 예측 모형의 차수로서 미리 정의된 2 이상의 정수); 및
    (b) 상기 실시간 시계열 데이터를 위한 예측 모형 생성 시스템이, 상기 제M번째 시점의 시계열 데이터까지 획득한 후, 제M+1번째 시점에서의 예측 값
    Figure 112019130087182-pat00280
    을 산출하여 출력하는 단계를 포함하되,
    상기 (b) 단계는,
    (b-1) 하기 [수식 2]에 따른 모수 행렬
    Figure 112019130087182-pat00281
    를 산출하는 단계(여기서, N = M-p-1);
    (b-2) 산출된 모수 행렬
    Figure 112019130087182-pat00282
    , 및 모수 행렬
    Figure 112019130087182-pat00283
    과 모수
    Figure 112019130087182-pat00284
    내지
    Figure 112019130087182-pat00285
    간의 관계식인 하기 [수식 3]에 의해, 하기 [수식 1]에 이용될 모수
    Figure 112019130087182-pat00286
    내지
    Figure 112019130087182-pat00287
    을 산출하는 단계; 및
    (b-2) 산출된 모수
    Figure 112019130087182-pat00288
    내지
    Figure 112019130087182-pat00289
    가 반영된 하기 [수식 1]에 따른 시계열 데이터 예측 모형에 기초하여 M+1번째 시점에서의 예측 값
    Figure 112019130087182-pat00290
    을 산출하는 단계를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 방법.

    [수식 1] 시계열 데이터 예측 모형
    Figure 112019130087182-pat00291

    (여기서, Zi는 제i번째 시점의 시계열 데이터임(i는 1=<i<=M인 임의의 정수))

    [수식 2]
    Figure 112019130087182-pat00292

    (여기서, Zi는 제i번째 시점의 시계열 데이터이며(i는 1=<i<=M인 임의의 정수), N = M-p-1이고,
    Figure 112019130087182-pat00293
    이고,
    Figure 112019130087182-pat00294
    이고,
    Figure 112019130087182-pat00295
    이고,
    Figure 112019130087182-pat00296
    임)

    [수식 3] 모수 행렬
    Figure 112019130087182-pat00297
    과 모수
    Figure 112019130087182-pat00298
    내지
    Figure 112019130087182-pat00299
    간의 관계식
    Figure 112019130087182-pat00300


  2. 제1항에 있어서, 상기 (b-1) 단계는,
    하기 (수식 4.1) 및 (수식 4.2)로 구성된 하기 [수식 4]를 초기 조건(initial condition)으로 하며, 하기 (수식 5.1) 내지 (수식 5.4)로 구성되는 순환 공식(recursive formula)인 하기 [수식 5]의 재귀 호출(recursive call)을 통해 모수 행렬
    Figure 112019130087182-pat00301
    를 산출하는 단계를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 방법.

    [수식 4] 초기 조건(initial condition)
    Figure 112019130087182-pat00302
    (수식 4.1)
    Figure 112019130087182-pat00303
    (수식 4.2)

    [수식 5] 순환 공식(recursive formula)
    Figure 112019130087182-pat00304
    (수식 5.1)
    Figure 112019130087182-pat00305
    (수식 5.2)
    Figure 112019130087182-pat00306
    (수식 5.3)
    Figure 112019130087182-pat00307
    (수식 5.4)
    (여기서, xk = [Zk+1 Zk+2 … Zk+p] 이며, yk = [Zk+p+1] 임 (k는 2<=k<=N+1인 임의의 정수))
  3. 제1항에 있어서, 상기 (b-1) 단계는,
    하기 (수식 6.1) 및 (수식 6.2)로 구성된 하기 [수식 6]을 초기 조건(initial condition)으로 하며, 하기 (수식 7.1) 내지 (수식 7.4)로 구성되는 순환 공식(recursive formula)인 하기 [수식 7]의 재귀 호출(recursive call)을 통해 모수 행렬
    Figure 112019130087182-pat00308
    를 산출하는 단계를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 방법.
    [수식 6] 초기 조건(initial condition)
    Figure 112019130087182-pat00309
    (수식 6.1)
    Figure 112019130087182-pat00310
    (수식 6.2)

    [수식 7] 순환 공식(recursive formula)
    Figure 112019130087182-pat00311
    (수식 7.1)
    (여기서,
    Figure 112019130087182-pat00312
    Figure 112019130087182-pat00313
    인 미리 정의된 실수임)
    Figure 112019130087182-pat00314
    (수식 7.2)
    Figure 112019130087182-pat00315
    (수식 7.3)
    Figure 112019130087182-pat00316
    (수식 7.4)
  4. 제1항 내지 제3항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  5. 데이터 처리 장치에 설치되며, 제1항 내지 제3항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  6. 적어도 하나의 프로세서; 및
    컴퓨터 프로그램이 저장되는 메모리를 포함하는 실시간 시계열 데이터를 위한 예측 모형 생성 시스템으로서,
    상기 컴퓨터 프로그램은, 상기 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 예측 모형 생성 시스템이, 제1항 내지 제3항 중 어느 한 항이 기재된 방법을 수행하도록 하는 실시간 시계열 데이터를 위한 예측 모형 생성 시스템.
  7. 삭제
KR1020180072742A 2018-06-25 2018-06-25 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법 KR102134682B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180072742A KR102134682B1 (ko) 2018-06-25 2018-06-25 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180072742A KR102134682B1 (ko) 2018-06-25 2018-06-25 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20200000660A KR20200000660A (ko) 2020-01-03
KR102134682B1 true KR102134682B1 (ko) 2020-07-17

Family

ID=69155672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180072742A KR102134682B1 (ko) 2018-06-25 2018-06-25 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102134682B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230039901A (ko) 2021-09-15 2023-03-22 주식회사 모플 멀티모달 시계열 예측을 위한 분포가정 없는 확률 모델링 방법 및 그 장치
KR20230039902A (ko) 2021-09-15 2023-03-22 주식회사 모플 시계열 예측 및 원인인자 분석을 위한 동적 초고차원 특징 선택 방법 및 그 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102405282B1 (ko) * 2021-12-21 2022-06-07 홍석훈 예측 모델을 이용한 태양광 발전량 예측 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3738977B2 (ja) 2001-06-27 2006-01-25 石井 昭良 時系列データ解析に基づく連続データ変換方法及び装置
JP2006085645A (ja) 2004-09-17 2006-03-30 Canon System Solutions Inc データ予測装置及びデータ予測方法並びにプログラム
KR101508641B1 (ko) 2013-08-08 2015-04-08 국립대학법인 울산과학기술대학교 산학협력단 생산 공정에서 데이터마이닝을 이용하여 제품 상태를 예측하는 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101901654B1 (ko) * 2015-12-23 2018-09-27 (주) 우림인포텍 전후방향 동향 통합 시계열 예측 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3738977B2 (ja) 2001-06-27 2006-01-25 石井 昭良 時系列データ解析に基づく連続データ変換方法及び装置
JP2006085645A (ja) 2004-09-17 2006-03-30 Canon System Solutions Inc データ予測装置及びデータ予測方法並びにプログラム
KR101508641B1 (ko) 2013-08-08 2015-04-08 국립대학법인 울산과학기술대학교 산학협력단 생산 공정에서 데이터마이닝을 이용하여 제품 상태를 예측하는 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230039901A (ko) 2021-09-15 2023-03-22 주식회사 모플 멀티모달 시계열 예측을 위한 분포가정 없는 확률 모델링 방법 및 그 장치
KR20230039902A (ko) 2021-09-15 2023-03-22 주식회사 모플 시계열 예측 및 원인인자 분석을 위한 동적 초고차원 특징 선택 방법 및 그 장치

Also Published As

Publication number Publication date
KR20200000660A (ko) 2020-01-03

Similar Documents

Publication Publication Date Title
EP3504666B1 (en) Asychronous training of machine learning model
CN110852421B (zh) 模型生成方法和装置
KR102134682B1 (ko) 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법
KR20190069582A (ko) 보조 작업들을 통한 강화 학습
CN106933649B (zh) 基于移动平均和神经网络的虚拟机负载预测方法及系统
CN110852438A (zh) 模型生成方法和装置
US20240346112A1 (en) Anomaly detection apparatus, anomaly detection method, and program
US20220108215A1 (en) Robust and Data-Efficient Blackbox Optimization
US20180314978A1 (en) Learning apparatus and method for learning a model corresponding to a function changing in time series
JP6704583B2 (ja) 学習システムおよび学習方法
CN116541176A (zh) 算力资源分配的优化方法、优化装置、电子设备和介质
US20180129968A1 (en) Update of attenuation coefficient for a model corresponding to time-series input data
US10924556B2 (en) Real time dynamic timeout prediction
CN115427968A (zh) 边缘计算设备中的鲁棒人工智能推理
CN116151353A (zh) 一种序列推荐模型的训练方法和对象推荐方法
Buchaca et al. Sequence-to-sequence models for workload interference prediction on batch processing datacenters
WO2020218246A1 (ja) 最適化装置、最適化方法、及びプログラム
CN117151195A (zh) 基于求逆归一化的模型优化方法、装置、设备和介质
US11537910B2 (en) Method, system, and computer program product for determining causality
US20230026322A1 (en) Data Processing Method and Apparatus
JPWO2018087814A1 (ja) マルチタスク関係学習システム、方法およびプログラム
WO2022157862A1 (ja) トラフィック変動予測装置、及びトラフィック変動予測方法、並びにトラフィック変動予測プログラム
Güntürkün et al. Recursive hidden input estimation in nonlinear dynamic systems with varying amounts of a priori knowledge
JP7206784B2 (ja) 移動経路推定装置、移動経路推定方法、およびプログラム
RU2679225C2 (ru) Способ и устройство для определения градиента основанной на данных функциональной модели

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right