KR20230003303A - 시계열 예측 - Google Patents

시계열 예측 Download PDF

Info

Publication number
KR20230003303A
KR20230003303A KR1020227043184A KR20227043184A KR20230003303A KR 20230003303 A KR20230003303 A KR 20230003303A KR 1020227043184 A KR1020227043184 A KR 1020227043184A KR 20227043184 A KR20227043184 A KR 20227043184A KR 20230003303 A KR20230003303 A KR 20230003303A
Authority
KR
South Korea
Prior art keywords
time series
data
query
prediction
model
Prior art date
Application number
KR1020227043184A
Other languages
English (en)
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 구글 엘엘씨
Publication of KR20230003303A publication Critical patent/KR20230003303A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Linguistics (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

시계열 예측을 위한 방법은 데이터 처리 하드웨어(144)에게 복수의 시계열 예측들(22)을 수행할 것을 요청하는 사용자(12)로부터의 시계열 예측 쿼리(20)를 수신하는 단계를 포함한다. 각각의 시계열 예측은 개개의 현재 데이터(152)에 기초한 장래의 데이터(162)의 예측이다. 동시에, 시계열 예측 쿼리에 의해 요청된 복수의 시계열 예측들의 각각의 시계열 예측에 대해, 이 방법은 개개의 시계열 예측에 대한 복수의 모델들(212)을 훈련시키는 단계를 포함한다. 이 방법은 상기 복수의 모델들 중 어느 모델이 개개의 시계열 예측에 최적 적합한지를 결정하는 단계 및 상기 결정된 최적 적합한 모델 및 개개의 현재 데이터에 기초하여 장래의 데이터를 예측하는 단계를 또한 포함한다. 이 방법은, 상기 시계열 예측 쿼리에 의해 요청된 상기 복수의 시계열 예측들 각각에 대해 상기 예측된 장래의 데이터를 사용자에게 반환하는 단계를 또한 포함한다.

Description

시계열 예측
[0001] 본 개시는 시계열 예측에 관한 것이다.
[0002] 이력 데이터에 기초하여 장래의 트렌트들을 예측하는 단계는 다수의 상이한 애플리케이션들에 대한 유용한 정보를 제공할 수 있다. 방대한 양의 데이터가 손쉽게 이용 가능하게 되고 사용자들이 경쟁력 있는 이점들을 얻기 위해 정확한 예측들을 이용하고자 할 때 장래의 트렌트들의 정확한 예측에 대한 필요성이 증가하였다. 장래의 데이터 트렌드들을 예측할 때, 몇몇 기본 성분들이 데이터의 변화들에 영향을 줄 수 있다. 이들 변화는 시간 성분을 정확하게 예측하는 것을 매우 어렵게 할 수 있다. 많은 기계 학습 모델들은 시간 성분을 포함하는 장래의 트렌드들을 정확하게 예측하는 것을 목표로 한다.
[0003] 본 개시의 일 양태는 시계열 예측을 위한 방법을 제공한다. 이 방법은, 데이터 처리 하드웨어에서, 사용자로부터 시계열 예측 쿼리를 수신하는 단계를 포함한다. 시계열 예측 쿼리는 데이터 처리 하드웨어에 복수의 시계열 예측들을 수행할 것을 요청한다. 각각의 시계열 예측은 개개의 현재 데이터에 기초한 장래의 데이터의 예측이다. 시계열 예측 쿼리에 의해 요청된 복수의 시계열 예측들의 각각의 시계열 예측에 대해, 이 방법은, 동시에, 데이터 처리 하드웨어에 의해, 개개의 시계열 예측에 대한 복수의 모델들을 훈련시키는 단계를 포함한다. 이 방법은 동시에 복수의 모델들 중 어느 모델이 개개의 시계열 예측에 최적 적합한지를 결정하는 단계 및 결정된 최적 적합한 모델 및 개개의 현재 데이터에 기초하여 장래의 데이터를 예측하는 단계를 또한 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, 시계열 예측 쿼리에 의해 요청된 복수의 시계열 예측들 각각에 대해 예측된 장래의 데이터를 사용자에게 반환하는 단계를 또한 포함한다.
[0004] 본 개시의 구현들은 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 시계열 예측 요청은 단 하나의 쿼리를 포함한다. 이들 구현에서, 단일 쿼리는 SQL(Structured Query Language) 쿼리를 포함할 수 있다. 추가적으로 또는 대안적으로, 단일 쿼리는 테이블의 3개의 열에 대한 참조를 또한 포함한다. 일부 예들에서, 테이블의 3개의 열은 타임스탬프 데이터를 포함하는 제1 열, 현재 데이터를 포함하는 제2 열, 및 시계열 예측 ID(identification) 데이터를 포함하는 제3 열을 포함한다.
[0005] 일부 구현들에서, 각각의 개개의 시계열 예측에 대한 복수의 모델들의 각각의 모델은 자동 회귀 누적 이동 평균 모델(auto regressive integrated moving average model)을 포함한다. 복수의 모델들을 훈련시키는 단계는 하이퍼-파라미터 튜닝을 수행하는 단계를 포함할 수 있다. 일부 예들에서, 장래의 데이터를 예측하는 단계는 계절 효과들을 모델링하는 단계를 포함한다. 옵션으로, 장래의 데이터를 예측하는 단계는 휴일 효과들을 모델링하는 단계를 포함한다. 추가적인 예들에서, 장래의 데이터를 예측하는 단계는 드리프트를 모델링하는 단계를 포함한다. 일부 구현들에서, 장래의 데이터를 예측하는 단계는 이상 검출을 수행하는 단계를 포함한다. 일부 예들에서, 복수의 모델들 중 어느 모델이 개개의 시계열 예측에 최적 적합한지를 결정하는 단계는 어느 모델이 가장 낮은 AIC(Akaike information criterion)를 갖는지를 결정하는 단계를 포함한다.
[0006] 본 개시의 다른 양태는 시계열 예측을 위한 시스템을 제공한다. 이 시스템은 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 사용자로부터 시계열 예측 쿼리를 수신하는 단계를 포함한다. 시계열 예측 쿼리는 데이터 처리 하드웨어에 복수의 시계열 예측들을 수행할 것을 요청한다. 각각의 시계열 예측은 개개의 현재 데이터에 기초한 장래의 데이터의 예측이다. 시계열 예측 쿼리에 의해 요청된 복수의 시계열 예측들의 각각의 시계열 예측에 대해, 동작들은 동시에 개개의 시계열 예측에 대한 복수의 모델들을 훈련시키는 단계를 포함한다. 동작들은 동시에 복수의 모델들 중 어느 모델이 개개의 시계열 예측에 최적 적합한지를 결정하는 단계 및 결정된 최적 적합한 모델 및 개개의 현재 데이터에 기초하여 장래의 데이터를 예측하는 단계를 또한 포함한다. 동작들은 시계열 예측 쿼리에 의해 요청된 복수의 시계열 예측들 각각에 대해 예측된 장래의 데이터를 사용자에게 반환하는 단계를 또한 포함한다.
[0007] 본 개시의 구현들은 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 시계열 예측 요청은 단 하나의 쿼리를 포함한다. 이들 구현에서, 단일 쿼리는 SQL(Structured Query Language) 쿼리를 포함할 수 있다. 추가적으로 또는 대안적으로, 단일 쿼리는 테이블의 3개의 열에 대한 참조를 또한 포함한다. 일부 예들에서, 테이블의 3개의 열은 타임스탬프 데이터를 포함하는 제1 열, 현재 데이터를 포함하는 제2 열, 및 시계열 예측 ID(identification) 데이터를 포함하는 제3 열을 포함한다.
[0008] 일부 구현들에서, 각각의 개개의 시계열 예측에 대한 복수의 모델들의 각각의 모델은 자동 회귀 누적 이동 평균 모델을 포함한다. 복수의 모델들을 훈련시키는 단계는 하이퍼-파라미터 튜닝을 수행하는 단계를 포함할 수 있다. 일부 예들에서, 장래의 데이터를 예측하는 단계는 계절 효과들을 모델링하는 단계를 포함한다. 옵션으로, 장래의 데이터를 예측하는 단계는 휴일 효과들을 모델링하는 단계를 포함할 수 있다. 추가적인 예들에서, 장래의 데이터를 예측하는 단계는 드리프트를 모델링하는 단계를 포함한다. 일부 구현들에서, 장래의 데이터를 예측하는 단계는 이상 검출을 수행하는 단계를 포함한다. 일부 예들에서, 복수의 모델들 중 어느 모델이 개개의 시계열 예측에 최적 적합한지를 결정하는 단계는 어느 모델이 가장 낮은 AIC(Akaike information criterion)를 갖는지를 결정하는 단계를 포함한다.
[0009] 본 개시의 하나 이상의 구현의 세부 사항들은 첨부 도면들 및 이하의 설명에서 제시된다. 다른 양태들, 특징들, 및 이점들은 상세한 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
[0010] 도 1은 시계열 예측들을 생성하기 위한 예시적인 시스템의 개략도이다.
[0011] 도 2는 도 1의 시스템의 예시적인 컴포넌트들의 개략도이다.
[0012] 도 3은 시계열 ID 열을 포함하는 테이블의 개략도이다.
[0013] 도 4는 시계열 및 시계열의 대응하는 분해 성분들의 플롯이다.
[0014] 도 5는 도 1의 예시적인 시스템의 추가적인 예시적인 컴포넌트들의 개략도이다.
[0015] 도 6은 시계열 예측들을 생성하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0016] 도 7은 본 명세서에서 설명된 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
[0017] 다양한 도면들에서의 유사한 참조 부호들은 유사한 요소들을 나타낸다.
[0018] 시계열은 시간순으로(전형적으로 규칙적인 간격으로) 된 일련의 데이터 포인트들이다. 시계열에 대한 분석은 시간에 따라 변하는 임의의 변수(예를 들어, 산업 프로세스들 또는 비즈니스 메트릭들)에 적용될 수 있다. 시계열 예측은 과거의 데이터 값들에 기초하여 장래의 데이터 값들을 예측(즉, 추정)하는 실시이다. 너무 많은 예측 문제들이 시간 성분을 수반하기 때문에, 시계열 예측은 활발한 관심 분야이다. 구체적으로, 시계열 예측은 기계 학습의 중요한 영역이 되었다. 그러나, 내재된 비정상성(non-stationarity) 및 불확실성(uncertainty)으로 인해, 시계열 예측은 여전히 도전적인 문제이다.
[0019] 전형적인 기계 학습 도전들로 인해, 모델은 모델이 만족스러운 결과들을 제공할 때까지 훈련된다. 그 후 모델은 추가적인 새로운 데이터로 모델을 재훈련시키는 것을 정당화하기에 충분한 새로운 데이터가 있을 때까지 일정 기간 동안 새로운 데이터에 대한 예측들을 하기 위해 사용된다. 그러나, 시계열 예측에서는, 단 하나의 새로운 데이터 포인트가 수신될 때에도 모델을 재훈련시키는 것이 유익할 수 있다. 실용적인 관점에서, 정적 모델들을 배치하는 것(많은 기계 학습 모델들에서 전통적으로 그렇듯이)은 시계열 예측에 대해 비효과적이다.
[0020] 본 명세서에서의 구현들은 "대규모" 시계열 예측을 수행할 수 있는 시계열 예측 시스템에 관한 것이다. 즉, 이 시스템은 사용자가 단일 쿼리를 제출함으로써 병렬로 많은 시계열들을 적합화하고 예측하는 것을 허용한다. 이 시스템은, 시스템이 복수의 시계열 예측들을 수행할 것을 요청하는 시계열 예측 요청을 사용자로부터 수신한다. 복수의 시계열 예측들 각각에 대해, 이 시스템은 동시에 복수의 모델들을 훈련시키고 복수의 모델들 중 어느 모델이 개개의 시계열 예측에 최적 적합한지를 결정한다. 이 시스템은 결정된 최적 적합 모델들 각각에 기초하여 장래의 데이터를 예측하고 각각의 요청된 시계열 예측에 대해 예측된 장래의 데이터를 사용자에게 반환한다.
[0021] 이제 도 1을 참조하면, 일부 구현들에서, 예시적인 시계열 예측 시스템(100)은 네트워크(112)를 통해 하나 이상의 사용자 디바이스(10)와 통신하는 원격 시스템(140)을 포함한다. 원격 시스템(140)은 컴퓨팅 리소스들(144)(예를 들어, 데이터 처리 하드웨어) 및/또는 저장 리소스들(146)(예를 들어, 메모리 하드웨어)을 포함하는 확장 가능한/탄력적인 리소스들(142)을 갖는 단일 컴퓨터, 다수의 컴퓨터들, 또는 분산 시스템(예를 들어, 클라우드 환경)일 수 있다. 데이터 저장소(150)(즉, 원격 저장 디바이스)는 하나 이상의 클라이언트(예를 들어, 사용자 디바이스(10)) 또는 컴퓨팅 리소스(144)에 의한 저장 리소스들(146)의 확장 가능한 이용을 허용하기 위해 저장 리소스들(146) 상에 오버레이될 수 있다. 데이터 저장소(150)는 각각이 복수의 행들 및 열들(300,300a-n)(도 3)을 포함하는 하나 이상의 테이블(158,158a-n)(즉, 클라우드 데이터베이스) 내에 복수의 데이터 블록들(152,152a-n)을 저장하도록 구성된다. 데이터 저장소(150)는 임의의 시점에 임의의 수의 테이블들(158)을 저장할 수 있다.
[0022] 원격 시스템(140)은, 예를 들어, 네트워크(112)를 통해 개개의 사용자(12)와 연관된 사용자 디바이스(10)로부터 시계열 예측 쿼리(20)를 수신하도록 구성된다. 사용자 디바이스(10)는 데스크톱 워크스테이션, 랩톱 워크스테이션, 또는 모바일 디바이스(즉, 스마트폰)와 같은 임의의 컴퓨팅 디바이스에 대응할 수 있다. 사용자 디바이스(10)는 컴퓨팅 리소스들(18)(예를 들어, 데이터 처리 하드웨어) 및/또는 저장 리소스들(16)(예를 들어, 메모리 하드웨어)을 포함한다. 사용자(12)는 SQL(Structured Query Language) 인터페이스(14)를 사용하여 쿼리(20)를 구성할 수 있다. 각각의 시계열 예측 쿼리(20)는 하나 이상의 시계열 예측(22, 22a-n)을 요청한다. 구체적으로, 쿼리(20)에 의해 요청된 각각의 시계열 예측(22)은 원격 시스템(140)이 현재 데이터(152)에 기초하여 장래의 데이터(162)의 예측을 생성하기 위한 요청과 연관된다.
[0023] 원격 시스템(140)은 예측된 장래의 데이터(162)를 예측하고 사용자 디바이스(10)에 반환하기 위해 시계열 예측기(160)를 실행한다. 시계열 예측기(160)는 쿼리(20)를 수신하도록 구성된다. 아래에 더 상세히 논의되는 바와 같이, 모델 훈련기(210)는 각각의 예측 요청(22)에 대해 동시에 복수의 예측 모델들(212, 212a-n)을 생성하고 훈련시킨다. 본 명세서에서 사용되는, 예측 요청(22) 및 시계열 예측(22)이라는 용어들은 교환 가능하게 사용될 수 있다. 모델 훈련기(210)는 요청된 시계열 예측들(22)과 연관되는 데이터 저장소(150) 상에 저장된 하나 이상의 테이블(158)로부터 검색된 현재 데이터(152)(즉, 데이터 블록들(152))에 대해 예측 모델들(212)을 훈련시킬 수 있다. 즉, 쿼리(20)는 데이터 저장소(150) 상에 저장된 하나 이상의 테이블(158)에 위치하는 현재 데이터(152)에 기초하여 장래의 데이터를 예측할 것을 원격 시스템(140)에 각각 요청하는 다수의 시계열 예측들(22)을 포함할 수 있다. 대안적으로, 쿼리(20)는 현재 데이터(152)를 포함할 수 있다. 즉, 현재 데이터(152)가 데이터 저장소(150)를 통해 이용 가능하지 않을 때 사용자(12)는 (사용자 디바이스(10)를 통해) 현재 데이터(152)를 제공할 수 있다.
[0024] 모델 훈련기(210)는 상이한 파라미터들로 각각의 모델(212)을 생성 및/또는 훈련시킬 수 있다. 예를 들어, 모델 훈련기(210)는 자동 회귀 모델들의 상이한 차수들(즉, 시간 지연들의 수이고 일반적으로 파라미터 p로서 표현됨), 상이한 차이의 정도들(즉, 데이터가 과거 값들을 뺀 횟수이고 일반적으로 파라미터 d로서 표현됨), 및 이동 평균 모델의 차수(즉, 이동 평균 윈도우의 크기이고 일반적으로 파라미터 q로서 표현됨)로 복수의 자동 회귀 누적 이동 평균(ARIMA) 모델들을 생성하고 훈련시킬 수 있다. 상이한 파라미터들(예를 들어, 파라미터들 p, d, 및 q)의 조합을 사용하여, 모델 훈련기(210)는 각각의 조합에 대한 대응하는 예측 모델(212)을 생성한다. 각각의 모델(212)은 동일한 데이터(152)를 사용하여 훈련된다. 하나 이상의 파라미터는 사용자(12)에 의해 구성 가능하거나 부분적으로 구성 가능할 수 있다.
[0025] 모델 훈련기(210)는 복수의 모델들(212)을 생성하고 훈련시킬 때 하이퍼-파라미터 튜닝(하이퍼-파라미터 최적화로도 알려짐)을 수행할 수 있다. 하이퍼-파라미터는 다른 파라미터들(예를 들어, 노드 가중치들)이 학습되는 동안에 실제 학습 프로세스를 제어 또는 조정하는 파라미터이다. 예를 들어, 모델 훈련기(210)는 데이터 빈도 및 비계절 순서 파라미터들에 대해 하이퍼-파라미터 튜닝을 수행할 수 있다. 아래에 더 상세히 논의되는 바와 같이, 모델 훈련기(210)는 시계열의 많은 상이한 양태들을 모델링할 수 있는 예측 모델들(212)을 생성하고 훈련시킬 수 있다. 예를 들어, 예측 모델들(212)은 계절 효과들, 휴일 효과들, 모델링 드리프트, 및 이상들을 설명할 수 있다.
[0026] 모델 선택기(220)는 각각의 훈련된 모델(212)을 수신하여 어느 모델(212)이 데이터(152)에 최적 적합한지를 결정한다. 전형적으로, 기계 학습 모델들은 훈련 데이터세트에 대해 훈련된 다음 테스트 데이터세트에 대해 평가된다. 그러나, 시계열 데이터가 종종 아주 제한된 데이터세트를 갖기 때문에, 시계열 예측기(160)는 동일한 데이터를 사용하여 모델들(212)을 훈련시키고 또한 모델들(212)을 평가할 수 있다(즉, 장래의 데이터(162)를 예측할 수 있다). 따라서, 일부 예들에서, 모델 선택기(220)는 어느 모델(212)이 가장 낮은 AIC(Akaike information criterion)를 야기하는지를 결정한다. AIC는 샘플 외 예측 오차(out-of-sample prediction error)의 추정기이며 따라서 동일한 데이터(152)에 대해 훈련된 각각의 다른 모델(212)에 대한 대응하는 모델(212)의 상대적 품질을 나타낼 수 있다. 모델 선택기(220)는 최적 적합 모델(212S)(예를 들어, 가장 낮은 AIC를 갖는 모델(212))을 선택하고 모델(212S)을 예측기(230)에 전송한다. 이것은 모델 선택기(220)가 경험적 수단(예를 들어, 별개의 테스팅 데이터세트)에 의존하지 않고 분석적으로 최적 적합 모델(212)을 결정하는 것을 허용한다.
[0027] 예측기(230)는, 선택된 모델(212S)을 사용하여, 현재 데이터(152)에 기초하여 장래의 데이터(162)를 예측한다. 예측기(230)는 예측된 장래의 데이터(162)를 사용자(12)에게 반환한다(사용자 디바이스(10)를 통해). 사용자 디바이스(10)는 예측된 데이터(162)를, 예를 들어, 그래프로서 디스플레이한다. 쿼리(20)에 의해 요청된 각각의 시계열은 그 시계열의 어느 부분들이 디스플레이되는지를 제어하기 위한 사용자 구성 가능 필터들과 함께 동일한 그래프 상에 디스플레이될 수 있다. 예를 들어, 쿼리(20)는 10개의 시계열 예측(22)에 대한 요청을 포함한다. 장래의 데이터(162)를 수신한 후에, 사용자 디바이스(10)는 모든 10개의 시계열 예측을 동시에 그래프 상에 디스플레이할 수 있다. 사용자는 원하는 대로 데이터에 대해 어느 시계열이 보이고 줌인 또는 줌아웃되는지를 선택할 수 있다.
[0028] 이제 도 2를 참조하면, 일부 예들에서, 쿼리(20)는 원격 시스템(140)에 복수의 시계열 예측들(22)을 수행할 것을 요청한다. 이 경우, 모델 훈련기(210)는 복수의 시계열 예측들(22) 각각에 대해 동시에 복수의 모델들(212)을 훈련시킨다. 예를 들어, 쿼리(20)가 10개의 시계열 예측(22)을 포함하고 모델 훈련기(210)가 시계열 예측(22)당 40개의 모델(212)을 훈련시킬 때, 모델 훈련기(210)는 400개(즉, 40 곱하기 10)의 모델들(212)을 동시에 생성하고 훈련시킨다. 도 2에 도시된 바와 같이, 시계열 예측기(160)는 쿼리(20)에 의해 요청된 각각의 시계열 예측(22)에 대해 모델 훈련기(210)를 복제할 수 있다(즉, 10개의 예측 요청(22)에 대해 모델 훈련기(210)의 10개의 복제). 모델 선택기(220)는 마찬가지로 모델들(212)의 각각의 세트로부터 동시에(예를 들어, 복제를 통해) 대응하는 예측 요청(22)에 대한 최적 적합 모델(212S)을 결정한다. 예측기(230)는 또한 선택된 모델들(212S) 각각에 기초하여 동시에(예를 들어, 복제를 통해) 장래의 데이터(162)를 예측할 수 있다. 선택된 모델들(212S) 각각으로부터의 예측된 장래의 데이터(162)는 사용자 디바이스(10)를 통해 사용자(12)에게 반환되는 쿼리 응답(164) 내에 포함될 수 있다. 따라서, 사용자(12)는, 단 하나의 쿼리(20)로, 복수의 시계열 예측들(22)을 요청할 수 있고 시계열 예측기(160)는 시계열 예측들(22) 각각을 병렬로 처리하여, 쿼리(20)에 응답하는 데 필요한 시간의 양을 크게 감소시킨다.
[0029] 이제 도 3을 참조하면, 일부 구현들에서, 쿼리(20)는 데이터 저장소(150)에 저장된 테이블(158)의 3개의 열(300, 300a-c)에 대한 참조를 포함한다. 예를 들어, 하나의 열(300a)은 시계열 ID 정보를 포함하고, 또 다른 열(300b)은 시계열 타임스탬프 데이터를 포함하고, 제3 열(300c)은 시계열 데이터를 포함한다. 시계열 타임스탬프 열(300b)은 시계열의 필요한 시간 성분을 포함한다. 시계열 타임스탬프 열(300b)의 각각의 데이터 요소(310)는 시계열 데이터 열(300c)로부터의 개개의 시계열 데이터 요소(310)와 연관된 시점을 나타낸다. 시계열 예측기(160)는 시계열 타임스탬프 열(300b) 및 시계열 데이터 열(300c)을 사용하여 예측 모델(212)을 훈련시키고 장래의 데이터(162)를 예측한다.
[0030] 일부 예들에서, 시계열 타임스탬프 열(300b) 및 시계열 데이터 열(300c)은 시계열 ID(identification) 열(300a)과 연관된다. 시계열 ID 열(300a)은 시계열 타임스탬프 열(300b) 및 시계열 데이터 열(300c)의 어느 부분들이 쿼리(20)에 의해 요청된 복수의 시계열 예측들(22) 각각에 대응하는지를 식별한다. 즉, 시계열 ID 열(300a)은 쿼리(20)에 의해 요청된 복수의 시계열 예측(22)에 기초하여 시계열 타임스탬프 열(300b)과 시계열 데이터 열(300c)을 획정(demarcate)한다.
[0031] 예시된 예에서, "ID1"의 시계열 ID는 일련의 타임스탬프 및 데이터 요소들(310)을 획정한다. 시계열 ID "ID1"과 연관된 각각의 타임스탬프 및 데이터 요소(310)는 쿼리(20)에 의해 요청된 시계열 예측(22) 중 하나에 대응한다. 유사하게, "ID2"의 시계열 ID는 제2 시계열 데이터 요청(22)에 대한 일련의 타임스탬프 및 데이터 요소들(310)을 획정하고, "ID3"의 시계열 ID는 제3 시계열에 대한 일련의 타임스탬프 및 데이터 요소들(310)을 획정한다. 이러한 방식으로, 시계열 ID 열(300a)은 쿼리(20)에 의해 요청된 별개의 시계열 예측(22) 각각의 경계들을 식별한다. 따라서, 사용자(12)는 단일 쿼리(20) 내의 복수의 요청된 시계열 예측들(22)을 식별하기 위해 시계열 ID(300a), 시계열 타임스탬프 열(300b), 및 시계열 데이터 열(300c)에 대응하는, 데이터 저장소(150) 상에 저장된 테이블(158)의 3개의 열(300)의 식별자를 제공하는 단일 쿼리를 생성할 수 있다(예를 들어, SQL 인터페이스(14)를 이용하여).
[0032] 도 3은 명확한 예를 제공하기 위해 명시적인 ID 열(300a)을 예시하지만, 테이블 내의 임의의 열(300)은 시계열 ID 열(300a)의 역할을 할 수 있다. 예를 들어, 복수의 상이한 사무실들에 대한 메트릭들을 나타내는 데이터를 포함하는 테이블(158)은 사무실 위치 열을 시계열 ID 열(300a)로서 사용하여 각각의 사무실 위치에 대한 복수의 시계열 예측들(22)을 생성할 수 있다. 다른 예로서, 상이한 국가들에 대한 날씨 통계들을 나타내는 데이터를 포함하는 테이블(158)은 해당 국가를 나타내는 열을 시계열 ID 열(300a)로서 사용하여 각각의 국가에 대한 복수의 시계열 데이터 예측들(22)을 생성할 수 있다. 즉, 사용자(12)는, 원하는 시계열을 획정할 목적으로 명시적으로 열(300)을 생성할 필요 없이, 테이블(158) 내의 임의의 기존의 열(300)에 기초하여 복수의 시계열 예측들(22)을 생성할 수 있다.
[0033] 이제 도 4를 참조하면, 플롯(400)은 예시적인 시계열(410) 및 시계열(410)의 대응하는 성분들(412a-c)을 예시한다. 시계열(410)은 시간(x축)에 대한 일련의 데이터 포인트들(y축)을 포함한다. 여기서, 데이터는 대략 60과 140 사이의 y축 상에 표현되고, x축은 대략 1995년 내지 2015년의 범위이다. 시계열(410)은 트렌드 성분(412a), 계절 성분(412b), 및 나머지 부분(412c)으로 분해된다. 트렌드 성분(412a)은 합리적으로 예측 가능한 패턴으로 위 또는 아래로 이동하는 데이터에서의 트렌드들을 나타낸다. 여기서, 트렌드 성분(412a)은 사이클들(예를 들어, "호황-불황(boom-bust)" 사이클들)에 대응하는 주기적 변화들을 또한 포함한다. 계절 성분(412b)은 특정 기간(예를 들어, 하루, 일주일, 한 달 등)에 걸쳐 반복되는 변화들을 예시한다. 예를 들어, 12월의 판매 증가는 계절 성분(412b)의 계절 효과를 나타낸다. 나머지 성분(412c)은 다른 성분들(412)의 분류들에 속하지 않는 외견상 랜덤한 잔여 변동들을 나타낸다.
[0034] 이제 도 5를 참조하면, 일부 예들에서, 종단간 시계열 예측기(500)는 복수의 입력 시계열들(502)(예를 들어, 데이터 저장소(150) 상에 저장된 데이터(152)로 구성됨)을 수신한다. 종단간 시계열 예측기(500)는 3개의 주요 스테이지: 전처리 스테이지(510), 훈련 스테이지(520), 및 예측 스테이지(530)를 포함할 수 있다. 전처리 스테이지(510)는 입력 시계열(502)을 수신하여 데이터 빈도 핸들링(512), NULL 임퓨테이션(514)(즉, 입력 시계열(502)에서의 임의의 널들을 결정 및/또는 거부), 휴일 효과 모델링(516), 및 이상 검출(518)을 수행한다.
[0035] 휴일 효과들은 시계열 예측에서 중요한 역할을 할 수 있다. 예를 들어, 온라인 소매상에 대한 판매를 나타내는 시계열은 "블랙 프라이데이(Black Friday)"에 판매시 상당한 급증을 경험할 수 있다. 그러나, 블랙 프라이데이는 11월의 네 번째 목요일인 추수감사절 이후의 날에 해당되기 때문에 고정된 기간을 갖지 않는다. 따라서, 그 효과들은 계절성 모델링으로 고려하는 것이 불가능하지는 않더라도 어렵다. 게다가, 휴일 효과들은 휴일 효과들의 바람직하지 않은 평활화로 이어질 수 있는 이상들로 잘못 판단될 수 있다. 휴일 효과 모델링 모듈(516)은 다른 상황에서는 계절성 모델링에 의해 누락되거나 이상 검출에 의해 잘못 평활화되는 이들 효과를 설명한다.
[0036] 전처리 후에, 훈련 스테이지(520)는 탈계절(de-seasoned) 성분(523a) 및 계절 성분(523b)을 생성하는 로컬 회귀(STL) 모듈(522)을 사용하여 계절 및 트렌드 분해로 시작한다. STL 모듈(522)은 비선형 관계들을 추정하고 시계열을 다수의 성분들(412a-c)(도 4)로 분해한다. 탈계절 성분(523a)은 KPSS(Kwiatkowsi-Phillips-Schmidt-Shin) 테스트 모듈(524)을 통해 처리되고 526에서 병렬로 복수의 ARIMA 모델들을 생성한다. 계절 성분(523b)은 이중 지수 평활화 모듈(528)에 전달된다. 예측 스테이지(530)에서, ARIMA 모델들로부터의 탈계절 성분들(523a)은 예측 모듈(532a)에 의해 예측되는 반면 이중 지수 평활화 모듈(528)로부터의 계절 성분(523b)은 예측 모듈(532b)에 의해 예측된다. 예측 모듈(532a) 및 예측 모듈(532b) 양쪽 모두로부터의 결과들은 결합되어 예측 결과들(534)을 생성한다. 예측기(500)는 예측 결과들(534)을 사용자 디바이스(10)를 통해 사용자(12)에게 반환할 수 있다. 종단간 시계열 예측기(500)는 각각의 입력 시계열이 동시에 병렬로 예측되도록 각각의 입력 시계열(502)에 대해 스테이지들(510, 520, 530)을 복제한다.
[0037] 도 6은 시계열 예측을 수행하기 위한 방법(600)에 대한 동작들의 예시적인 배열의 흐름도이다. 방법(600)은, 동작 602에서, 데이터 처리 하드웨어(144)에게 복수의 시계열 예측들(22)을 수행할 것을 요청하는 사용자(12)로부터의 시계열 예측 쿼리(20)를, 데이터 처리 하드웨어(144)에서, 수신하는 단계를 포함한다. 각각의 시계열 예측(22)은 개개의 현재 데이터(152)에 기초한 장래의 데이터(162)의 예측이다.
[0038] 복수의 시계열 예측들(22)의 각각의 시계열 예측(22)에 대해, 방법(600)은, 동작 604에서, 동시에, 데이터 처리 하드웨어(144)에 의해, 복수의 시계열 예측들(22)의 개개의 시계열 예측(22)에 대한 복수의 모델들(212)을 훈련시키는 단계를 포함한다. 동작 606에서, 방법(600)은 동시에, 데이터 처리 하드웨어(144)에 의해, 복수의 모델들(212) 중 어느 모델(212S)이 복수의 시계열 예측들(22)의 개개의 시계열 예측(22)에 최적 적합한지를 결정하는 단계를 포함한다. 동작 608에서, 방법(600)은 동시에, 데이터 처리 하드웨어(144)에 의해, 결정된 최적 적합 모델(212S) 및 개개의 현재 데이터(152)에 기초하여 장래의 데이터(162)를 예측하는 단계를 포함한다. 동작 610에서, 방법(600)은, 데이터 처리 하드웨어(144)에 의해, 시계열 예측 쿼리(20)에 의해 요청된 복수의 시계열 예측들(22) 각각에 대해 예측된 장래의 데이터(162)를 사용자(12)에게 반환하는 단계를 포함한다.
[0039] 도 7은 이 문서에서 설명된 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스(700)의 개략도이다. 컴퓨팅 디바이스(700)는 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말기들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 여기에 도시된 컴포넌트들, 그들의 접속들 및 관계들, 및 그들의 기능들은 단지 예시적인 것으로 의도되며, 본 문서에서 설명 및/또는 청구된 발명들의 구현들을 한정하는 것으로 의도되지 않는다.
[0040] 컴퓨팅 디바이스(700)는 프로세서(710), 메모리(720), 저장 디바이스(730), 메모리(720) 및 고속 확장 포트들(750)에 접속하는 고속 인터페이스/컨트롤러(740), 및 저속 버스(770) 및 저장 디바이스(730)에 접속하는 저속 인터페이스/컨트롤러(760)를 포함한다. 컴포넌트들(710, 720, 730, 740, 750, 및 760) 각각은 다양한 버스들을 사용하여 상호 접속되고, 공통 마더보드 상에 또는 적절한 경우 다른 방식들로 장착될 수 있다. 프로세서(710)는 고속 인터페이스(740)에 결합된 디스플레이(780)와 같은 외부 입력/출력 디바이스 상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(720)에 또는 저장 디바이스(730) 상에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령어들을 처리할 수 있다. 다른 구현들에서는, 다수의 프로세서들 및/또는 다수의 버스들이, 적절한 경우, 다수의 메모리들 및 메모리 타입들과 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(700)이 연결될 수 있고, 각각의 디바이스는 필요한 동작들의 부분들을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서).
[0041] 메모리(720)는 컴퓨팅 디바이스(700) 내에 비일시적으로 정보를 저장한다. 메모리(720)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들), 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(720)는 컴퓨팅 디바이스(700)에 의한 사용을 위해 일시적으로 또는 영구적으로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하기 위해 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예를 들어, 부트 프로그램들과 같은 펌웨어를 위해 전형적으로 사용됨)를 포함하지만, 이에 제한되지는 않는다. 휘발성 메모리의 예들은 RAM(random access memory), DRAM(dynamic random access memory), SRAM(static random access memory), PCM(phase change memory)뿐만 아니라 디스크들 또는 테이프들을 포함하지만, 이에 제한되지는 않는다.
[0042] 저장 디바이스(730)는 컴퓨팅 디바이스(700)에 대한 대용량 저장소를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(730)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현들에서, 저장 디바이스(730)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 추가적인 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은, 실행될 때, 위에 설명된 것들과 같은, 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는, 메모리(720), 저장 장치(730), 또는 프로세서(710) 상의 메모리와 같은, 컴퓨터 또는 기계 판독 가능 매체이다.
[0043] 고속 컨트롤러(740)는 컴퓨팅 디바이스(700)에 대한 대역폭 집약적 동작들을 관리하는 반면, 저속 컨트롤러(760)는 더 낮은 대역폭 집약적 동작들을 관리한다. 그러한 임무들의 할당은 단지 예시적이다. 일부 구현들에서, 고속 컨트롤러(740)는 메모리(720), 디스플레이(780)에 결합되고(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 또한 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(750)에 결합된다. 일부 구현들에서, 저속 컨트롤러(760)는 저장 디바이스(730) 및 저속 확장 포트(790)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(790)는, 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스에 결합되거나, 또는 예를 들어, 네트워크 어댑터를 통해, 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
[0044] 컴퓨팅 디바이스(700)는, 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 표준 서버(700a)로서 또는 그러한 서버들(700a)의 그룹에서 여러 번, 랩톱 컴퓨터(700b)로서, 또는 랙 서버 시스템(700c)의 일부로서 구현될 수 있다.
[0045] 본 명세서에서 설명된 시스템들 및 기법들의 다양한 구현들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들에서 실현될 수 있다. 이들 다양한 구현은 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스에 데이터 및 명령어들을 전송하도록 결합된, 특수 목적 또는 범용일 수 있는, 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
[0046] 소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스로 하여금 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱", 또는 "프로그램"이라고 지칭될 수 있다. 예시적인 애플리케이션들은 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 메인터넌스 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들, 및 게임 애플리케이션들을 포함하지만, 이에 제한되지는 않는다.
[0047] 이들 컴퓨터 프로그램(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로도 알려짐)은 프로그램 가능한 프로세서를 위한 기계 명령어들을 포함하며, 하이-레벨 절차적 및/또는 객체 지향 프로그래밍 언어로, 그리고/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용되는, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은, 기계 명령어들을 기계 판독 가능 신호로서 수신하는 기계 판독 가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, PLD(Programmable Logic Device)들)를 지칭한다. 용어 "기계 판독 가능 신호"란, 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
[0048] 본 명세서에서 설명된 프로세스들 및 로직 흐름들은, 입력 데이터에 작용하여 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는, 데이터 처리 하드웨어라고도 지칭되는, 하나 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 프로세스를 및 로직 흐름들은 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 어느 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크를 포함하거나, 그로부터 데이터를 수신하거나 그것에 데이터를 전송하거나, 또는 둘 다를 수행하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체들은, 예로서, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하여, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
[0049] 사용자와의 상호 작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube), LCD(liquid crystal display) 모니터, 또는 터치 스크린, 및 옵션으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호 작용할 수 있다; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써.
[0050] 많은 구현들이 설명되었다. 그럼에도 불구하고, 본 개시의 정신 및 범위를 벗어나지 않고 다양한 수정들이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 있다.

Claims (24)

  1. 방법(600)으로서,
    데이터 처리 하드웨어(144)에서, 사용자(12)로부터 시계열 예측 쿼리(20)를 수신하는 단계 ― 상기 시계열 예측 쿼리(20)는 상기 데이터 처리 하드웨어(144)에게 복수의 시계열 예측들(22)을 수행할 것을 요청하고, 각각의 시계열 예측(22)은 개개의 현재 데이터(152)에 기초한 장래의 데이터(162)의 예측임 ―;
    상기 시계열 예측 쿼리(20)에 의해 요청된 상기 복수의 시계열 예측들(22)의 각각의 시계열 예측(22)에 대해, 동시에:
    상기 데이터 처리 하드웨어(144)에 의해, 상기 개개의 시계열 예측(22)에 대한 복수의 모델들(212)을 훈련시키는 단계;
    상기 데이터 처리 하드웨어(144)에 의해, 상기 복수의 모델들(212) 중 어느 모델(212)이 상기 개개의 시계열 예측(22)에 최적 적합한지를 결정하는 단계; 및
    상기 데이터 처리 하드웨어(144)에 의해, 상기 결정된 최적 적합 모델(212) 및 상기 개개의 현재 데이터(152)에 기초하여 상기 장래의 데이터(162)를 예측하는 단계; 및
    상기 데이터 처리 하드웨어(144)에 의해, 상기 시계열 예측 쿼리(20)에 의해 요청된 상기 복수의 시계열 예측들(22) 각각에 대해 상기 예측된 장래의 데이터(162)를 상기 사용자(12)에게 반환하는 단계를 포함하는, 방법(600).
  2. 제1항에 있어서,
    상기 시계열 예측 쿼리(20)는 단 하나의 쿼리(20)를 포함하는, 방법(600).
  3. 제2항에 있어서,
    단일 쿼리(20)는 SQL(Structured Query Language) 쿼리(20)를 포함하는, 방법(600).
  4. 제2항 또는 제3항에 있어서,
    단일 쿼리(20)는 테이블(158)의 3개의 열(300)에 대한 참조를 포함하는, 방법(600).
  5. 제4항에 있어서,
    상기 테이블(158)의 상기 3개의 열(300)은:
    타임스탬프 데이터를 포함하는 제1 열(300a);
    상기 현재 데이터(152)를 포함하는 제2 열(300b); 및
    시계열 예측 ID(identification) 데이터를 포함하는 제3 열(300c)을 포함하는, 방법(600).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    각각의 개개의 시계열 예측(22)에 대한 상기 복수의 모델들(212)의 각각의 모델(212)은 자동 회귀 누적 이동 평균 모델(212)을 포함하는, 방법(600).
  7. 제6항에 있어서,
    상기 복수의 모델들(212)을 훈련시키는 단계는 하이퍼-파라미터 튜닝을 수행하는 단계를 포함하는, 방법(600).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 계절 효과들을 모델링하는 단계를 포함하는, 방법(600).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 휴일 효과들을 모델링하는 단계를 포함하는, 방법(600).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 드리프트를 모델링하는 단계를 포함하는, 방법(600).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 이상 검출(518)을 수행하는 단계를 포함하는, 방법(600).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 복수의 모델들(212) 중 어느 모델(212)이 상기 개개의 시계열 예측(22)에 최적 적합한지를 결정하는 단계는, 어느 모델(212)이 가장 낮은 AIC(Akaike information criterion)를 갖는지를 결정하는 단계를 포함하는, 방법(600).
  13. 시스템(100)으로서,
    데이터 처리 하드웨어(144); 및
    상기 데이터 처리 하드웨어(144)와 통신하는 메모리 하드웨어(146)를 포함하고, 상기 메모리 하드웨어(146)는, 상기 데이터 처리 하드웨어(144) 상에서 실행될 때, 상기 데이터 처리 하드웨어(144)로 하여금:
    사용자(12)로부터 시계열 예측 쿼리(20)를 수신하는 단계 ― 상기 시계열 예측 쿼리(20)는 상기 데이터 처리 하드웨어(144)에게 복수의 시계열 예측들(22)을 수행할 것을 요청하고, 각각의 시계열 예측(22)은 개개의 현재 데이터(152)에 기초한 장래의 데이터(162)의 예측임 ―;
    상기 시계열 예측 쿼리(20)에 의해 요청된 상기 복수의 시계열 예측들(22)의 각각의 시계열 예측(22)에 대해, 동시에:
    상기 개개의 시계열 예측(22)에 대한 복수의 모델들(212)을 훈련시키는 단계;
    상기 복수의 모델들(212) 중 어느 모델(212)이 상기 개개의 시계열 예측(22)에 최적 적합한지를 결정하는 단계; 및
    상기 결정된 최적 적합 모델(212) 및 상기 개개의 현재 데이터(152)에 기초하여 상기 장래의 데이터(162)를 예측하는 단계; 및
    상기 시계열 예측 쿼리(20)에 의해 요청된 상기 복수의 시계열 예측들(22) 각각에 대해 상기 예측된 장래의 데이터(162)를 상기 사용자(12)에게 반환하는 단계를 포함하는 동작들을 수행하게 하는,
    시스템(100).
  14. 제13항에 있어서,
    상기 시계열 예측 쿼리(20)는 단 하나의 쿼리(20)를 포함하는, 시스템(100).
  15. 제14항에 있어서,
    단일 쿼리(20)는 SQL(Structured Query Language) 쿼리(20)를 포함하는, 시스템(100).
  16. 제14항 또는 제15항에 있어서,
    단일 쿼리(20)는 테이블(158)의 3개의 열(300)에 대한 참조를 포함하는, 시스템(100).
  17. 제16항에 있어서,
    상기 테이블(158)의 상기 3개의 열(300)은:
    타임스탬프 데이터를 포함하는 제1 열(300a);
    상기 현재 데이터(152)를 포함하는 제2 열(300b); 및
    시계열 예측 ID(identification) 데이터를 포함하는 제3 열(300c)을 포함하는, 시스템(100).
  18. 제13항 내지 제17항 중 어느 한 항에 있어서,
    각각의 개개의 시계열 예측(22)에 대한 상기 복수의 모델들(212)의 각각의 모델(212)은 자동 회귀 누적 이동 평균 모델(212)을 포함하는, 시스템(100).
  19. 제18항에 있어서,
    상기 복수의 모델들(212)을 훈련시키는 단계는 하이퍼-파라미터 튜닝을 수행하는 단계를 포함하는, 시스템(100).
  20. 제13항 내지 제19항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 계절 효과들을 모델링하는 단계를 포함하는, 시스템(100).
  21. 제13항 내지 제20항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 휴일 효과들을 모델링하는 단계를 포함하는, 시스템(100).
  22. 제13항 내지 제21항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 드리프트를 모델링하는 단계를 포함하는, 시스템(100).
  23. 제13항 내지 제22항 중 어느 한 항에 있어서,
    상기 장래의 데이터(162)를 예측하는 단계는 이상 검출(518)을 수행하는 단계를 포함하는, 시스템(100).
  24. 제13항 내지 제23항 중 어느 한 항에 있어서,
    상기 복수의 모델들(212) 중 어느 모델(212)이 상기 개개의 시계열(410)에 최적 적합한지를 결정하는 단계는, 어느 모델(212)이 가장 낮은 AIC(Akaike information criterion)를 갖는지를 결정하는 단계를 포함하는, 시스템(100).
KR1020227043184A 2020-05-18 2021-05-06 시계열 예측 KR20230003303A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063026573P 2020-05-18 2020-05-18
US63/026,573 2020-05-18
US16/986,861 US11693867B2 (en) 2020-05-18 2020-08-06 Time series forecasting
US16/986,861 2020-08-06
PCT/US2021/031090 WO2021236344A1 (en) 2020-05-18 2021-05-06 Time series forecasting

Publications (1)

Publication Number Publication Date
KR20230003303A true KR20230003303A (ko) 2023-01-05

Family

ID=78512437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227043184A KR20230003303A (ko) 2020-05-18 2021-05-06 시계열 예측

Country Status (6)

Country Link
US (2) US11693867B2 (ko)
EP (1) EP4154128A1 (ko)
JP (1) JP7556982B2 (ko)
KR (1) KR20230003303A (ko)
CN (1) CN115668170A (ko)
WO (1) WO2021236344A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12112271B2 (en) * 2020-07-22 2024-10-08 Accenture Global Solutions Limited Resource data modeling, forecasting and simulation
US12009107B2 (en) * 2020-09-09 2024-06-11 Optum, Inc. Seasonally adjusted predictive data analysis
US20230274180A1 (en) * 2022-02-28 2023-08-31 Google Llc Machine Learning Super Large-Scale Time-series Forecasting
US20240320222A1 (en) * 2023-03-23 2024-09-26 International Business Machines Corporation Reducing inference time processing deep learning models
CN116582702B (zh) * 2023-07-11 2023-09-15 成都工业职业技术学院 一种基于大数据的网络视频播放量预测方法、系统及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110106723A1 (en) * 2009-11-03 2011-05-05 Michael Ryan Chipley Computer-Implemented Systems And Methods For Scenario Analysis
US11232466B2 (en) * 2015-01-29 2022-01-25 Affectomatics Ltd. Recommendation for experiences based on measurements of affective response that are backed by assurances
US20170193371A1 (en) * 2015-12-31 2017-07-06 Cisco Technology, Inc. Predictive analytics with stream database
WO2018146492A1 (en) * 2017-02-10 2018-08-16 Count Technologies Ltd Computer-implemented method of querying a dataset
US11120361B1 (en) * 2017-02-24 2021-09-14 Amazon Technologies, Inc. Training data routing and prediction ensembling at time series prediction system
CN107358317A (zh) * 2017-06-28 2017-11-17 北京优特捷信息技术有限公司 通过机器学习进行时序预测的方法及装置
US10671435B1 (en) * 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US10685283B2 (en) * 2018-06-26 2020-06-16 Sas Institute Inc. Demand classification based pipeline system for time-series data forecasting
CN111639247B (zh) * 2019-03-01 2023-08-01 百度在线网络技术(北京)有限公司 用于评估评论的质量的方法、装置、设备以及计算机可读存储介质

Also Published As

Publication number Publication date
US11693867B2 (en) 2023-07-04
US20210357402A1 (en) 2021-11-18
WO2021236344A1 (en) 2021-11-25
US20230297583A1 (en) 2023-09-21
JP2023526823A (ja) 2023-06-23
EP4154128A1 (en) 2023-03-29
CN115668170A (zh) 2023-01-31
JP7556982B2 (ja) 2024-09-26

Similar Documents

Publication Publication Date Title
JP7556982B2 (ja) 時系列予測
US20170192872A1 (en) Interactive detection of system anomalies
US20070156479A1 (en) Multivariate statistical forecasting system, method and software
US20160125157A1 (en) Systems and Methods to Monitor Health of Online Social Communities
Leiva‐Leon Measuring business cycles intra‐synchronization in US: A regime‐switching interdependence framework
US20220382857A1 (en) Machine Learning Time Series Anomaly Detection
US20160299827A1 (en) Generating a visualization of a metric at a level of execution
US20180046599A1 (en) Automatic detection of outliers in multivariate data
US11636377B1 (en) Artificial intelligence system incorporating automatic model updates based on change point detection using time series decomposing and clustering
US11694092B2 (en) Reward-based recommendations of actions using machine-learning on telemetry data
JP2016206914A (ja) 意思決定支援システム、及び意志決定支援方法
Sha et al. Development of a regression-based method with case-based tuning to solve the due date assignment problem
US20240202579A1 (en) Time series prediction execution based on deviation risk evaluation
Almomani et al. Selecting a good stochastic system for the large number of alternatives
US20240020436A1 (en) Automated data quality monitoring and data governance using statistical models
US11803558B2 (en) Relevance-independent position effects estimator for digital item ranking
US20220164405A1 (en) Intelligent machine learning content selection platform
US20210248512A1 (en) Intelligent machine learning recommendation platform
US10599992B1 (en) Predicting reliability of product and part combinations using machine learning based on shared model
US20230274180A1 (en) Machine Learning Super Large-Scale Time-series Forecasting
Hewa Nadungodage et al. Online multi-dimensional regression analysis on concept-drifting data streams
US11740986B2 (en) System and method for automated desktop analytics triggers
EP4050531A1 (en) System and method for predictive inventory
US20240281673A1 (en) Problem detection based on deviation from forecast
Subramaniam et al. Automated Resource Scaling in Kubeflow through Time Series Forecasting