KR102574244B1 - A method and apparatus for generating future demand forecast data based on attention mechanism - Google Patents

A method and apparatus for generating future demand forecast data based on attention mechanism Download PDF

Info

Publication number
KR102574244B1
KR102574244B1 KR1020210019266A KR20210019266A KR102574244B1 KR 102574244 B1 KR102574244 B1 KR 102574244B1 KR 1020210019266 A KR1020210019266 A KR 1020210019266A KR 20210019266 A KR20210019266 A KR 20210019266A KR 102574244 B1 KR102574244 B1 KR 102574244B1
Authority
KR
South Korea
Prior art keywords
data
demand
future
neural network
product
Prior art date
Application number
KR1020210019266A
Other languages
Korean (ko)
Other versions
KR20220115357A (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 주식회사 티라유텍
Priority to KR1020210019266A priority Critical patent/KR102574244B1/en
Publication of KR20220115357A publication Critical patent/KR20220115357A/en
Application granted granted Critical
Publication of KR102574244B1 publication Critical patent/KR102574244B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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"
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

본 발명은 산업현장에서 발생할 수 있는 제품별 미래 수요예측의 정확성을 향상시킬 수 있는 어텐션 메커니즘 기반의 미래 수요 예측 데이터 생성방법 및 장치를 제안한다. 본 발명은 과거 수요 데이터들을 이용하여 미래 시점의 수요 예측을 위한 데이터를 준비하는 데이터 준비 엔진부, 및 준비된 데이터를 기초로 미래 시점의 수요을 예측하고 분석하는 예측/분석 엔진부를 포함하는 구성이며, 여기서 상기 데이터 준비 엔진부는, 과거 수요 데이터가 간헐적 패턴을 보이는 경우 결측치가 없도록 시계열 데이터로 변환하고, 상기 예측/분석 엔진부는, 간헐적 수요에 대한 미래 예측 데이터를 신경망 모델을 이용하여 개별적인 미래 예측 데이터로 분해하여 제공한다. The present invention proposes a method and apparatus for generating future demand forecast data based on an attention mechanism capable of improving the accuracy of future demand forecast for each product that may occur in industrial settings. The present invention is a configuration including a data preparation engine unit that prepares data for forecasting demand at a future time point using past demand data, and a prediction/analysis engine unit that predicts and analyzes demand at a future time point based on the prepared data, wherein The data preparation engine unit converts the past demand data into time-series data so that there are no missing values when there is an intermittent pattern, and the prediction/analysis engine unit decomposes the future forecast data for intermittent demand into individual future forecast data using a neural network model. and provide

Description

어텐션 메커니즘 기반의 미래 수요 예측 데이터 생성방법 및 장치{A method and apparatus for generating future demand forecast data based on attention mechanism}A method and apparatus for generating future demand forecast data based on attention mechanism {A method and apparatus for generating future demand forecast data based on attention mechanism}

본 발명은 산업현장에서 발생하는 시계열 데이터(Time series data) 또는 간헐적 데이터의 데이터 종류에 상관없이 어텐션 메커니즘(Attention Mechanism)이 적용된 RNN(Recurrent Neural Network) 신경망 알고리즘을 이용하여 미래 시점에 대한 정확한 수요 예측 데이터를 생성할 수 있는 방법 및 장치에 관한 것이다.The present invention accurately predicts demand at a future point in time by using a Recurrent Neural Network (RNN) neural network algorithm to which an Attention Mechanism is applied regardless of the data type of time series data or intermittent data generated at industrial sites. It relates to a method and apparatus capable of generating data.

모든 분야에서 미래 시점에 대한 수요 예측은 기업의 수익과 직결되는 부분으로써, 효율적인 공급망 관리를 위한 경영전략뿐만 아니라 제품생산 및 마케팅까지 포함한 부문의 의사결정에 매우 중요하다. 정확한 수요예측은 기업의 효율적인 운영을 가능하게 하며 이를 통해 기업은 고객에게 만족스러운 서비스를 제공할 수 있다. Demand forecasting for the future in all fields is directly related to corporate profits, and it is very important for decision-making in sectors including product production and marketing as well as business strategies for efficient supply chain management. Accurate demand forecasting enables efficient operation of companies, and through this, companies can provide satisfactory services to customers.

하지만 정확하지 못한 예측은 과잉 재고, 낮은 서비스 수준, 그리고 비효율적인 자원이용을 초래하여 전반적인 공급망 운영에 영향을 미친다. 그래서 제품에 대한 수요예측은 매우 중요하다. 특히 영세한 중소 중견 제조업체의 경우 시장 조사나 수요 예측에 어려움이 있어, 상품 재고 발생으로 인한 영업 손실이 크기 때문에 중요한 이슈일 수 있다. However, inaccurate forecasting can lead to overstocking, low service levels, and inefficient use of resources, affecting overall supply chain operations. So, forecasting the demand for a product is very important. In particular, it can be an important issue for small and medium-sized manufacturers, as they have difficulties in market research or demand forecasting, resulting in large operating losses due to product inventory.

중소/중견 제조업체는 제품에 대한 양산체계를 구축하는 것이 어려워 소량 제품에 대한 다품종 생산, 즉 다품종 소량생산 방식으로 특정 제품에 대한 견적 및 실수요가 발생하는 경우에 제품을 제공하는 MTO(Make To Order) 방식의 생산 체계를 운영하는 경우가 있다. 이러한 다품종 소량 생산 체계는 고객사의 주문 의존성, 즉 발주받는 수요변화에 따른 생산체계 영향이 상대적으로 높은 특징이 있다. 그러나 이러한 특징은 생산속도 불안정과 빈번한 일정 계획의 차질, 원자재에 대한 적기, 적량 조달이 곤란한 문제를 초래한다. 즉 사전에 원재료 및 반제품과 같은 자재 제고를 적절한 수량만큼 준비할 수 없어, 기한 내에 발주를 하지 못하는 치명적인 문제가 발생하고 예상할 수 있는 것이다. 그만큼 수요 예측이 중요하다 할 것이다. 따라서 다품종 소량 생산 체제에서 나타나는 간헐적 수요도 올바르게 예측하는 것이 중요하다.It is difficult for small and medium-sized manufacturers to establish a mass production system for products, so MTO (Make To Order) provides products in case of quotation and actual demand for a specific product by multi-product production for small-quantity products, that is, multi-product small-lot production method. There are cases in which a production system is operated. This multi-variety, small-volume production system is characterized by relatively high dependency on orders from customers, that is, a relatively high impact on the production system due to changes in demand received. However, these characteristics cause problems such as instability in production speed, frequent scheduling disruptions, and difficulties in procuring raw materials on time and in the right quantity. In other words, it is not possible to prepare stocks of materials such as raw materials and semi-finished products in an appropriate quantity in advance, so a fatal problem of failing to place an order within the deadline can occur and can be expected. That is why forecasting demand is so important. Therefore, it is important to accurately predict the intermittent demand that appears in the multi-product, small-volume production system.

종래의 수요 예측 기법들로서 ARIMA, 지수 평활법 등이 있다. 하지만 이러한 기법들은 시계열 데이터 예측 기법들로서 지속적으로 수요가 발생하는, 즉 결측치가 많이 존재하지 않는 연속적인 데이터에 대해서는 충분한 성능을 제공하지만 반대로 간헐적 데이터의 경우 특정 패턴을 추출하기 어려운 문제가 있어 예측 성능이 떨어진다. 간헐적 수요 데이터는 과거에 발생한 특정 제품에 대한 수요가 시스템에서 정의하고 있는 시간 단위(예를 들면, 주변, 월별, 분기별 등) 상에서 정기적으로 수요가 발생하지 않는 경우를 의미한다. Conventional demand forecasting techniques include ARIMA and exponential smoothing. However, these techniques are time-series data prediction techniques, which provide sufficient performance for continuous data where there is a continuous demand, that is, there are not many missing values. It falls. Intermittent demand data means a case in which the demand for a specific product that occurred in the past does not occur regularly in a time unit defined by the system (eg, perimeter, month, quarter, etc.).

한국공개특허 10-2005-0104482(2005. 11. 03. 자동수요예측을 통한 생산 계획 시스템 및 그 방법)Korea Patent Publication No. 10-2005-0104482 (2005. 11. 03. Production planning system and method through automatic demand forecasting)

따라서 본 발명의 목적은 일련의 산업현장에서 발생할 수 있는 제품별 미래 수요예측의 정확성을 향상시킬 수 있는 어텐션 메커니즘 기반의 미래 수요 예측 데이터 생성방법 및 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a method and apparatus for generating future demand forecast data based on an attention mechanism capable of improving the accuracy of future demand forecast for each product that may occur in a series of industrial settings.

본 발명의 다른 목적은 간헐적으로 제품 수요가 발생하는 경우에도 이의 수요 예측을 정확하게 할 수 있도록 한 것이다. Another object of the present invention is to enable accurate demand forecasting even when product demand occurs intermittently.

즉 본 발명은 시계열 데이터나 간헐적 데이터에 상관없이 어텐션 매커니즘 기반의 RNN 신경망(즉 RNN Attention)을 이용하여 미래에 대한 정확한 수요 예측 데이터를 생성하고 이를 분석하여 제공하는 것이라 할 것이다.That is, the present invention will generate, analyze, and provide accurate demand forecast data for the future using an attention mechanism-based RNN neural network (ie, RNN Attention) regardless of time series data or intermittent data.

이와 같은 목적을 달성하기 위한 본 발명은, 과거 수요 데이터들을 이용하여 미래 시점의 수요 예측을 위한 데이터를 준비하는 데이터 준비 엔진부; 준비된 데이터를 기초로 미래 시점의 수요을 예측하고 분석하는 예측/분석 엔진부를 포함하며, 상기 데이터 준비 엔진부는, 과거 수요 데이터가 간헐적 패턴을 보이는 경우 결측치가 없도록 시계열 데이터로 변환하고, 상기 예측/분석 엔진부는, 간헐적 수요에 대한 미래 예측 데이터를 신경망 모델을 이용하여 개별적인 미래 예측 데이터로 분해하여 제공하는 것을 특징으로 하는 미래 수요 예측 데이터 생성장치를 제공한다.The present invention for achieving the above object, the data preparation engine unit for preparing the data for demand forecast of the future point using the past demand data; A prediction/analysis engine unit for predicting and analyzing demand at a future point in time based on prepared data, wherein the data preparation engine unit converts past demand data into time-series data so that there is no missing information when the demand data shows an intermittent pattern, and the prediction/analysis engine Part 2 provides a future demand forecasting data generation device characterized in that future forecasting data for intermittent demand is decomposed into individual future forecasting data using a neural network model and provided.

상기 데이터 준비 엔진부는, 수요 예측에 활용할 데이터베이스의 범위를 설정하고, 군집(aggregation) 기준에 따라 계정(account)을 생성하는 계정 데이터 생성부; 상시 계정을 전처리 하는 전처리부; 및 상기 전처리된 값에 따라 과거 수요 데이터를 수집하고, 시계열 데이터로 변환한 스마트 셋(smart set)을 생성하여 상기 예측/분석 엔진부로 제공하는 입력정보 제공부를 포함하여 구성된다.The data preparation engine unit may include an account data generation unit that sets a database range to be used for demand forecasting and creates an account according to an aggregation standard; A pre-processing unit that pre-processes accounts at all times; and an input information providing unit that collects past demand data according to the preprocessed value, generates a smart set converted into time series data, and provides the generated smart set to the prediction/analysis engine unit.

상기 신경망 모델은, 어텐션 메커니즘(Attenton Mechanism)을 이용하는 RNN(Recurrent Neural Network) 기반이다.The neural network model is based on a Recurrent Neural Network (RNN) using an Attention Mechanism.

상기 예측/분석 엔진부는, 신경망 모델 제공부를 포함하며, 상기 신경망 모델 제공부는, 상기 스마트 셋을 입력으로 받아 학습하는 신경망 모델 실행부; 상기 스마트 셋에 대한 가중치를 계산하는 제1 계산부; 상기 가중치를 균일화하는 함수부; 상기 스마트 셋과 균일화된 가중치를 이용하여 균일화 스마트 셋을 계산하는 제2 계산부; 및 상기 균일화 스마트 셋을 이용하여 제품별 개별 가중치를 계산하는 제3 계산부를 포함하고, 상기 제품별 개별 가중치를 통해 제품별 미래 수요 예측값을 제공한다.The prediction/analysis engine unit includes a neural network model providing unit, and the neural network model providing unit includes: a neural network model execution unit receiving the smart set as an input and learning; a first calculation unit to calculate weights for the smart set; a function unit that equalizes the weights; a second calculation unit calculating a homogenized smart set using the smart set and a homogenized weight; and a third calculation unit that calculates individual weights for each product using the homogenized smart set, and provides a future demand forecast value for each product through the individual weights for each product.

본 발명의 다른 특징에 따르면, 과거 수요 데이터를 이용하여 미래 시점의 수요 예측 데이터를 생성하는 장치에 있어서, 간헐적 수요 패턴 데이터를 시계열 데이터로 변환하는 단계; 상기 시계열 데이터를 신경망 학습하는 단계; 및 학습 결과에 따라 제품에 대한 개별 미래 수요 예측 데이터를 제공하는 단계를 포함하는 미래 수요 예측 데이터 생성방법을 제공한다. According to another feature of the present invention, an apparatus for generating demand forecast data at a future point in time using past demand data, comprising: converting intermittent demand pattern data into time-series data; learning the time series data with a neural network; and providing individual future demand forecast data for products according to learning results.

상기 개별 미래 수요 예측 데이터를 이용하여 과거의 어떤 패턴으로부터 기인하였는지에 대한 분석 보고서를 제공하는 단계를 더 포함한다.The method further includes providing an analysis report on which past pattern has been derived using the individual future demand forecast data.

상기 신경망 학습하는 단계는, 제품마다 시점별로 발생한 과거 수요 데이터를 더하여 스마트 셋을 계산하는 단계; 계산된 스마트 셋 정보를 신경망에 입력하는 단계; 신경망의 학습에 따라 제품마다 시간별 가중치를 계산하는 단계; 소정 함수를 이용하여 시간별 가중치를 균일화하는 단계; 제품마다 스마트 셋과 균일화 가중치를 계산하여 균일화 스마트 셋을 계산하는 단계; 및 상기 균일화 스마트 셋을 이용하여 시점별로 제품별 개별 가중치를 계산하고, 제품별 미래 예측값을 생성하는 단계를 포함하여 이루어진다.The learning of the neural network may include calculating a smart set by adding past demand data generated for each product at each point in time; inputting the calculated smart set information to the neural network; Calculating a weight for each product according to learning of the neural network; equalizing time-specific weights using a predetermined function; calculating a homogenized smart set by calculating a smart set and a homogenization weight for each product; and calculating individual weights for each product at each point in time using the homogenized smart set, and generating a predicted future value for each product.

상기 신경망 학습하는 단계는, 어텐션 메커니즘(Attention Mechanism) 기반의 RNN(Recurrent Neural Network) 신경망을 이용한다.In the step of learning the neural network, an Attention Mechanism-based Recurrent Neural Network (RNN) neural network is used.

상기 함수는 softmax 함수를 적용한다.The function applies the softmax function.

이상과 같은 본 발명의 어텐션 메커니즘 기반의 미래 수요 예측 데이터 생성방법 및 장치에 따르면, 어텐션 메커니즘 기반의 RNN 신경망 모델을 적용하면서, 간헐적 패턴의 수요 데이터인 경우 이를 예측 가능한 시계열 패턴으로 변환한 후 개별 제품에 대한 미래 예측값을 제공할 수 있어, 소정 제품에 대하여 시계열 패턴 또는 간헐적 패턴으로 수요 데이터가 발생한 경우에도, 특정한 미래 시점의 수요 예측을 정확하게 예측할 수 있는 효과가 있다. 따라서 대부분의 중견/중소기업에서 판매되는 제품군의 경우 종래의 수요 예측 기법이 적용되기 어려운 경우가 빈번하게 발생하기 때문에, 더욱 개선된 예측 결과값을 기대할 수 있다. According to the attention mechanism-based future demand forecast data generation method and apparatus of the present invention as described above, while applying the attention mechanism-based RNN neural network model, in the case of intermittent pattern demand data, after converting it into a predictable time series pattern, individual products Since it is possible to provide a future forecast value for a specific product, even when demand data occurs in a time-series pattern or an intermittent pattern for a given product, there is an effect of accurately predicting demand at a specific future point in time. Therefore, in the case of products sold in most medium/small businesses, it is frequently difficult to apply the conventional demand forecasting technique, so more improved forecasting results can be expected.

본 발명에 따르면, 미래 수요 예측값이 과거 수요 패턴에서 어떤 요인이나 시간대가 얼마나 크게 작용하였는지에 대한 분석자료를 수치와 시각화를 통해 제공하고 있어, 예측 결과값을 특정한 목표 값에 근접할 수 있도록 관련 요인과 시간대를 분석하는 등 경영 전략을 보다 효과적으로 수립할 수 있다. According to the present invention, the future demand forecast value provides analysis data on how much a factor or time period acted in the past demand pattern through numerical values and visualization, so that the forecast result value can be approximated to a specific target value. You can more effectively establish management strategies, such as analyzing time zones.

도 1은 본 발명의 실시 예에 따른 어텐션 메커니즘 기반의 미래 수요 예측 데이터 생성장치의 전체 구성도
도 2는 도 1에 도시한 신경망 모델 제공부의 구성도
도 3은 본 발명의 실시 예에 따른 미래 수요 예측 데이터 생성방법을 설명한 흐름도
도 4는 본 발명에 따른 신경망 모델의 실행과정을 설명하는 흐름도
도 5는 도 4의 과정을 수치적으로 설명하기 위한 표
1 is an overall configuration diagram of an apparatus for generating future demand forecast data based on an attention mechanism according to an embodiment of the present invention.
Figure 2 is a block diagram of the neural network model provider shown in Figure 1
3 is a flowchart explaining a method for generating future demand forecast data according to an embodiment of the present invention.
Figure 4 is a flow chart explaining the execution process of the neural network model according to the present invention
5 is a table for numerically explaining the process of FIG. 4

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, it should be understood that this is not intended to limit the specific embodiments of the present invention, and includes all conversions, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

본 발명에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

공간적으로 상대적인 용어인 아래(below, beneath, lower), 위(above, upper) 등은 도면에 도시되어 있는 바와 같이 하나의 소자 또는 구성 요소들과 다른 소자 또는 구성 요소들과의 상관 관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 소자를 뒤집을 경우, 다른 소자의 아래(below, beneath)로 기술된 소자는 다른 소자의 위(above, upper)에 놓여질 수 있다. 따라서, 예시적인 용어인 아래는 아래와 위의 방향을 모두 포함할 수 있다. 소자는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms, such as below, beneath, lower, above, upper, etc., facilitate the correlation between one element or component and another element or component, as shown in the drawing. can be used to describe Spatially relative terms should be understood as encompassing different orientations of elements in use or operation in addition to the orientations shown in the figures. For example, when an element shown in the drawing is turned over, an element described as below or beneath another element may be placed above or above the other element. Accordingly, the exemplary term below may include both directions of down and above. Elements may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.

본 발명에서 사용되는 “부” 또는 “부분” 등의 일부분을 나타내는 표현은 해당 구성요소가 특정 기능을 포함할 수 있는 장치, 특정 기능을 포함할 수 있는 소프트웨어, 또는 특정 기능을 포함할 수 있는 장치 및 소프트웨어의 결합을 나타낼 수 있음을 의미하나, 꼭 표현된 기능에 한정된다고 할 수는 없으며, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As used in the present invention, an expression indicating a part such as “part” or “part” refers to a device in which a corresponding component may include a specific function, software which may include a specific function, or a device which may include a specific function. and software, but cannot necessarily be limited to the expressed functions, which are provided only to help a more general understanding of the present invention, and those with ordinary knowledge in the field to which the present invention belongs If so, various modifications and variations are possible from these descriptions.

또한, 본 발명에서 사용되는 모든 전기 신호들은 일 예시로서, 본 발명의 회로에 반전기 등을 추가적으로 구비하는 경우 이하 설명될 모든 전기 신호들의 부호가 반대로 바뀔 수 있음을 유의해야 한다. 따라서, 본 발명의 권리범위는 신호의 방향에 한정되지 않는다.In addition, it should be noted that all electrical signals used in the present invention, as an example, can be reversed in signs of all electrical signals to be described below when an inverter or the like is additionally provided in the circuit of the present invention. Therefore, the scope of the present invention is not limited to the direction of the signal.

따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims fall within the scope of the spirit of the present invention. .

이하에서는 도면에 도시한 실시 예에 기초하면서 본 발명에 대하여 더욱 상세하게 설명하기로 한다. Hereinafter, the present invention will be described in more detail based on the embodiments shown in the drawings.

도 1은 본 발명의 실시 예에 따른 어텐션 메커니즘 기반의 미래 수요 예측 데이터 생성장치의 전체 구성도이다. 도시한 바와 같이 본 발명의 장치(10)는 크게 데이터를 준비하는 데이터 준비 엔진부(100)와, 준비된 데이터를 기초로 예측 및 분석과정을 수행하는 예측/분석 엔진부(200)를 포함한다. 1 is an overall configuration diagram of an apparatus for generating future demand prediction data based on an attention mechanism according to an embodiment of the present invention. As shown, the apparatus 10 of the present invention largely includes a data preparation engine unit 100 that prepares data and a prediction/analysis engine unit 200 that performs a prediction and analysis process based on the prepared data.

첫 번째, 데이터 준비 엔진부(100)는 계정 데이터 생성부(110), 전처리부(120) 및 입력정보 산출부(130)를 포함하여 구성된다. 계정 데이터 생성부(110)는, 수요 예측에 활용할 데이터베이스의 범위를 설정하고, 제품명/발주처 등과 같은 군집(aggregation) 기준에 따라 개별 시계열 데이터인 계정(account)을 생성하는 프로세서를 수행하는 구성이다. 데이터 범위는 예를 들면 시간 단위로 기준을 선택하는 것을 의미할 수 있다. 1년을 기준으로 데이터 범위를 월(月)로 선택하면 총 12개의 시계열 데이터가 생성되고, 주 단위로 선택하면 총 52개의 시계열 데이터가 생성되는 것이다. First, the data preparation engine unit 100 includes an account data generation unit 110, a pre-processing unit 120, and an input information calculation unit 130. The account data generation unit 110 is a component that sets the range of the database to be used for demand forecasting and performs a processor that generates an account, which is individual time series data, according to aggregation criteria such as product name/ordering place. A data range may mean selecting a criterion, for example in units of time. A total of 12 time series data are created when the data range is selected by month based on a year, and a total of 52 time series data are created when selected by week.

전처리부(120)는, 생성된 계정을 전처리하는 프로세스를 제공한다. 전처리 대상은 기본정보(예를 들면 원, 달러와 같은 통화 설정, 예측 알고리즘 할당 등) 설정을 위한 기준 값 처리, 생성된 계정이 간헐적 수요 패턴을 보이는 경우 이를 하나의 계정으로 통합하는 통합 계정(smart set) 처리, 데이터에 이상치를 보이는 데이터를 평활법 등을 이용하여 제거할 지 선택하는 이상치 처리, 실제 수요 및 실제 판매량 등 예측 목표값에 대한 기준인 목표 값(target value) 처리 등을 수행한다. The pre-processing unit 120 provides a process of pre-processing the created account. The pre-processing targets include basic value processing for setting basic information (e.g., currency setting such as won and dollar, prediction algorithm allocation, etc.), integrated account (smart set) processing, outlier processing that selects whether or not to remove data showing outliers using a smoothing method, and target value processing, which is the standard for predicted target values such as actual demand and actual sales.

입력정보 제공부(130)는, 상기 전처리된 값에 맞게 데이터를 수집하고 정제한 뒤, 후단의 예측/분석 엔진부(200)가 사용할 수 있는 입력정보를 산출하여 제공하는 역할을 한다.The input information providing unit 130 collects and refines data according to the preprocessed values, and then calculates and provides input information that can be used by the prediction/analysis engine unit 200 at a later stage.

두 번째, 예측/분석 엔진부(200)는 데이터 준비 엔진부(100)가 제공한 입력정보를 신경망 모델에서 학습시켜 미래 수요값을 예측하고 분석하는 구성으로, 모델 피팅부(210), 신경망 모델 제공부(220), 결과 제공부(230), 보정부(240)를 포함하여 이루어진다. Second, the prediction/analysis engine unit 200 is configured to predict and analyze future demand values by learning the input information provided by the data preparation engine unit 100 in the neural network model, and includes the model fitting unit 210 and the neural network model. It includes a providing unit 220, a result providing unit 230, and a correcting unit 240.

모델 피팅부(210)는, 신경망의 예측 알고리즘에 대한 매개 변수들을 선택하는 프로세스를 제공한다. 예를 들어 예측 알고리즘에 의한 학습량 대비 오차값이 가장 적은 매개 변수를 선택할 수 있다. 신경망 모델 제공부(220)는, 과거 수요 데이터를 기초로 미래 수요 예측 데이터를 생성하는 프로세스를 제공한다. 결과 제공부(230)는 사용자가 확인할 수 있도록 미래 예측 데이터를 제공하는 프로세스를 제공하며, 필요에 따라 미래 예측 데이터를 손쉽게 확인할 수 있도록 시각화된 데이터로 제공할 수도 있다. 보정부(240)는 미래 수요 예측 데이터를 보정하는 프로세스를 제공한다. 필요에 따라 미래 수요 예측 데이터를 추가로 제공해야 하거나, 잘못 생성된 경우, 만족스럽지 못한 결과 값 등이 제공될 경우 이를 다시 학습시켜 재생산하도록 하는 것이다. The model fitting unit 210 provides a process for selecting parameters for the prediction algorithm of the neural network. For example, a parameter with the smallest error value compared to the amount of learning by the prediction algorithm can be selected. The neural network model providing unit 220 provides a process of generating future demand prediction data based on past demand data. The result providing unit 230 provides a process for providing future prediction data so that the user can check it, and may provide visualized data to easily check the future prediction data if necessary. The correction unit 240 provides a process of correcting future demand forecast data. If future demand forecast data needs to be additionally provided, or if it is generated incorrectly or if unsatisfactory result values are provided, it is re-learned and reproduced.

본 발명의 신경망 모델은 RNN(Recurrent Neural Network) 기반이 제공된다. RNN 기반 신경망은 어텐션 메커니즘(Attention Mechanism)를 통해 미래 수요 예측 데이터를 생산하고 제공한다. 어텐션 메커니즘은 attention score, attention output, attention distribution, decoder hidden state 순으로 동작하며 공지된 구성으로 본 명세서는 이의 상세한 설명은 생략하기로 한다.The neural network model of the present invention is based on a Recurrent Neural Network (RNN). The RNN-based neural network produces and provides future demand forecast data through the Attention Mechanism. The attention mechanism operates in the order of attention score, attention output, attention distribution, and decoder hidden state, and as a known configuration, a detailed description thereof will be omitted in this specification.

도 2는 도 1에 도시한 신경망 모델 제공부의 구성도이다. 도시한 바와 같이 신경망 모델 제공부(220)는, 제품마다 시점별로 발생한 과거 수요 데이터를 더하여 스마트 셋을 계산하는 스마트 셋 계산부(221), 상기 스마트 셋에 대한 가중치를 계산하는 제1 계산부(222), 상기 가중치를 균일화하는 함수부(223), 상기 스마트 셋과 균일화된 가중치를 이용하여 균일화 스마트 셋을 계산하는 제2 계산부(224), 및 상기 균일화 스마트 셋을 이용하여 제품별 개별 가중치를 계산하는 제3 계산부(225)를 포함하여 구성된다. 이러한 구성에 따라 상기 제품별 개별 가중치를 통해 제품별 미래 수요 예측값을 제공한다. FIG. 2 is a block diagram of the neural network model providing unit shown in FIG. 1 . As shown, the neural network model provider 220 includes a smart set calculator 221 that calculates a smart set by adding past demand data generated for each product at each point in time, and a first calculator that calculates a weight for the smart set ( 222), a function unit 223 that equalizes the weights, a second calculator 224 that calculates a uniformed smart set using the smart set and the uniformed weights, and individual weights for each product using the uniformed smart set It is configured to include a third calculator 225 that calculates. According to this configuration, a future demand forecast value for each product is provided through the individual weights for each product.

다음에는 이와 같이 구성된 미래 수요 예측 데이터 생성장치를 이용하여 미래 수요 예측 데이터를 생성, 제공하는 과정에 대해 살펴본다.Next, a process of generating and providing future demand forecasting data using the future demand forecasting data generator constructed as described above will be described.

도 3은 본 발명의 실시 예에 따른 미래 수요 예측 데이터 생성방법을 설명한 흐름도이다. 본 발명은 미래 수요예측을 위해 데이터를 준비하는 단계(데이터 준비단계, s100), 및 준비된 데이터를 기반으로 미래시점의 수요를 예측하고 분석하는 단계(예측/분석 단계, s200))가 순차적으로 진행된다. 3 is a flowchart illustrating a method for generating future demand forecast data according to an embodiment of the present invention. In the present invention, the step of preparing data for forecasting future demand (data preparation step, s100), and the step of predicting and analyzing demand at a future point based on the prepared data (prediction/analysis step, s200)) proceed sequentially do.

데이터 준비 단계(s100)는, 우선 수요 예측에 활용할 전체 데이터베이스의 범위를 설정한다(s110). 그리고 과거 수요 데이터들을 군집할 기준을 선택하고(s120), 각 기준에 따라 계정(account)을 생성한다(s130). 예를 들면 과거 수요 데이터들 중 제품군을 기준으로 한다면 제품 1 내지 제품 n으로 분류할 수 있고, 각 제품군별로 계정을 생성하는 것이다. 이때 계정은 수요가 지속적으로 발생한 정상 수요패턴이거나 간헐적 수요 패턴일 수 있다. 제품군마다 상이할 수 있는 것이다. In the data preparation step (s100), first, the range of the entire database to be used for demand forecasting is set (s110). The criterion for clustering the past demand data is selected (s120), and an account is created according to each criterion (s130). For example, if the past demand data is based on the product group, it can be classified as product 1 to product n, and an account is created for each product group. At this time, the account may be a normal demand pattern in which demand continuously occurs or an intermittent demand pattern. This may be different for each product group.

군집 기준에 따라 계정들이 생성되면, 생성된 계정에 대한 정책 관리정보를 설정한다(s140). 정책 관리는 전처리부(120)가 과거 수요 데이터를 기초로 어떤 기준에 따라 미래 수요 예측을 실시할 것인지를 셋팅하는 것을 말한다. 정책 관리의 예로, 기본 정보 설정, 스마트 셋 처리, 이상치 관리, 목표 값 설정 등을 말할 수 있다. 기본 정보 설정은, 예를 들면 원화(₩)나 달러($)와 같은 통화 값 설정, 예측 알고리즘을 설정하는 작업이다. 스마트 셋 처리는, 생성된 계정이 간헐적 수요를 보이는 경우 하나의 계정인 스마트 셋으로 통합하는 작업이다. 간헐적 수요가 있는 경우 스마트 셋을 하도록 설정하는 것으로 보면 된다. 이상치 관리는 이상치로 보이는 데이터가 있는 경우 평활법(smoothing) 등을 이용하여 제거를 할 것인지에 대한 선택을 하는 것이다. 목표 값 설정은 실제 수요나 실제 판매량 등 예측 목표값에 대한 기준을 설정하는 것이다.When accounts are created according to the cluster criteria, policy management information for the created accounts is set (s140). Policy management refers to setting the pre-processing unit 120 to predict future demand according to which criterion based on past demand data. Examples of policy management include basic information setting, smart set processing, outlier management, target value setting, and the like. Setting basic information is, for example, setting a currency value such as won (\) or dollar ($), and setting a prediction algorithm. Smart set processing is an operation of integrating into one account, a smart set, when the created accounts show intermittent demand. If there is intermittent demand, it can be regarded as setting to do a smart set. Outlier management is to select whether or not to remove data using a smoothing method when there is data that appears to be an outlier. Target value setting is to set standards for forecast target values, such as actual demand or actual sales.

이후, 입력정보 제공부(130)는 미래 수요 예측을 위한 데이터를 수집하고 정제한 후, 예측 및 분석에 사용될 수 있는 형태로 가공한다(s150). 입력정보 제공부(130)는 결측치가 존재하는 계정들을 통합하여 하나의 시계열 데이터(즉 스마트 셋)로 변환하여 새로운 데이터 셋(data set)을 생성하는 작업을 한다. 생성된 데이터 셋이 추후 예측 단계에서 실질적으로 사용된다. 여기서 시계열 데이터로 변환하는 이유는 미래 수요 예측을 위한 과거 수요 데이터가 간헐적 수요 패턴인 경우 정확한 미래 수요 예측이 어렵기 때문이다. 간헐적 수요 패턴이란 과거에 발생한 특정 제품에 대한 수요가 시스템에서 정의하고 있는 시간 단위 상에서 다수의 결측치가 발생하는 데이터를 말한다. 그렇기 때문에, 입력정보 제공부(130)는 과거에 발생한 수요 데이터들을 결측치가 보이지 않는 시계열 데이터 형태로 변환시키는 작업을 수행하는 것으로 보면 된다. 물론, 과거 수요 데이터가 간헐적 수요 패턴이 아닌 정상 패턴인 경우라면, 상기한 변환작업은 생략될 수 있을 것이다. Thereafter, the input information providing unit 130 collects and refines data for forecasting future demand, and then processes the data into a form that can be used for prediction and analysis (s150). The input information providing unit 130 integrates accounts with missing values and converts them into one time series data (ie, smart set) to create a new data set. The generated data set is actually used in the future prediction step. The reason for converting to time series data here is that it is difficult to accurately predict future demand if the past demand data for forecasting future demand is an intermittent demand pattern. An intermittent demand pattern refers to data in which a number of missing values occur in the time unit defined by the system for the demand for a specific product that occurred in the past. Therefore, it can be considered that the input information providing unit 130 performs an operation of converting the demand data generated in the past into a time-series data form in which missing values are not visible. Of course, if the past demand data is a normal pattern rather than an intermittent demand pattern, the above conversion operation may be omitted.

이와 같은 과정에 의하여 과거 수요 데이터는 실제 미래 수요 예측이 가능한 시계열 데이터 패턴을 가지는 데이터 셋으로 가공되는 것이고, 가공된 데이터 셋을 활용하여 미래 수요 예측을 실시하게 될 것이다. 수요 예측 및 분석에 대해 계속하여 살펴본다. Through this process, past demand data is processed into a data set having a time-series data pattern capable of predicting actual future demand, and future demand forecasting will be performed using the processed data set. We continue our look at demand forecasting and analysis.

예측/분석 엔진부(200)는 데이터 셋을 입력받으면 정해진 신경망 모델에서 시계열 데이터를 학습하는 모델 피팅과정을 수행한다(s210). 이러한 과정은 학습에 따라 신경망 모델이 미래 수요 예측을 최적으로 수행할 수 있는 매개변수를 결정하는 작업일 수 있다. When a data set is received, the prediction/analysis engine unit 200 performs a model fitting process of learning time-series data from a predetermined neural network model (S210). This process may be the task of determining the parameters by which the neural network model can optimally perform future demand forecasting according to learning.

이후 신경망 모델 제공부(220)에 의해 제공된 신경망 모델을 실행하여(s220), 데이터 셋에 대한 미래 수요 예측을 실시하고, RNN 기반의 신경망 모델을 통한 미래 수요 예측값을 산출한다(s230). 단계 220에 대한 구체적은 설명은 도 4를 참조하여 아래에서 살펴볼 것이다. 그리고 산출된 미래 수요 예측값은 결과 제공부에 의해 사용자가 확인할 수 있도록 제공된다(s240). 산출된 예측 결과값은 수치뿐만 아니라 시각화를 통해 제공될 수 있다. 여기서 본 발명은 어텐션 메커니즘을 통한 가중치를 제공하기 때문에, 미래 수요 예측 결과값에 대해 수치와 시각화를 통해 설명을 제공할 수 있는 것이고, 이에 산출된 미래 수요 에측 결과값에 작용하는 과거 수요 데이터의 요인이나 시간대, 기여도를 알 수 있다. 즉 수요 예측 결과값이 어떠한 근거를 기초로 예측하였는지 설명할 수 있는 해석력을 제공할 수 있다(s250). Thereafter, the neural network model provided by the neural network model providing unit 220 is executed (S220) to predict future demand for the data set, and a future demand forecast value is calculated through the RNN-based neural network model (S230). A detailed description of step 220 will be described below with reference to FIG. 4 . And the calculated future demand forecast value is provided so that the user can check it by the result providing unit (s240). The calculated predicted result value may be provided through visualization as well as numerical values. Here, since the present invention provides weights through the attention mechanism, it is possible to provide an explanation through figures and visualizations for future demand prediction results, and the factors of past demand data acting on the calculated future demand prediction results or time period, and contribution can be known. In other words, it is possible to provide interpretive power that can explain the basis on which demand forecast result value was predicted (s250).

따라서 미래 수요 예측값을 앞서 설명한 특정한 목표 값(target value)에 근접할 수 있도록 관련 요인과 시간대를 분석할 수 있어, 기업의 경영 전략을 보다 효과적으로 수립할 수 있게 한다. Therefore, it is possible to analyze related factors and time periods so that the future demand forecast value can approach the specific target value described above, so that the company's management strategy can be established more effectively.

본 발명은 미래 수요 예측값을 보정하는 과정이 선택적으로 실시될 수도 있다. 기준값 변경이나 다른 기준에 의해 미래 수요 예측, 과거 수요 데이터나 데이터 셋 등의 오류 등과 같이 실질적으로 미래 수요 예측을 다시 하고자 할 경우 보정과정이 수행될 수 있다.In the present invention, a process of correcting the predicted future demand may be selectively performed. A correction process may be performed when a future demand forecast is to be practically re-examined, such as a future demand forecast based on a change in reference value or an error in past demand data or data set.

도 4는 본 발명에 따라 미래 수요 예측을 위한 신경망 모델의 실행과정을 설명하는 흐름도이다. 이 과정은 신경망 모델 제공부(220)에 의해 실시된다. 4 is a flowchart illustrating an execution process of a neural network model for predicting future demand according to the present invention. This process is performed by the neural network model providing unit 220 .

도시한 바와 같이 수요를 예측하고자 하는 제품을 설정한다(s300). 수요 예측 제품에 대한 데이터는 상기한 데이터 준비 단계(s100)에서 사전에 완료된 상태이며, 여기서는 수요 예측 대상제품에 해당하는 데이터 셋을 호출하면 된다. 데이터 셋은 정상 패턴 데이터 또는 간헐적 수요 패턴 데이터일 수 있다. 정상 패턴 데이터는, 다수의 결측치가 없는 데이터로, 위에서 말한 시계열 데이터로 변환하여 새로운 데이터 셋을 생성하는 작업이 필요없는 데이터일 수 있다.As shown, a product whose demand is to be predicted is set (s300). The data for the demand forecasting product has been completed in advance in the data preparation step (s100) described above, and here, the data set corresponding to the demand forecasting target product can be called. The data set may be normal pattern data or intermittent demand pattern data. Normal pattern data is data without a large number of missing values, and may be data that does not require an operation of generating a new data set by converting it into the above-mentioned time series data.

신경망 모델이 상기 데이터 셋이 입력되면, 예측값을 산출하기 위해 학습을 시작한다(s320). 학습 과정에 따라 과거 수요 패턴을 판단하는 과정이 수행된다(s330). 상기 단계에서, 정상 패턴 데이터에 대한 데이터 셋인 경우, 상기 신경망 모델은 각 제품마다 시간 가중치 및 미래 예측값을 산출하여 제공한다(s340). 이를 통해 과거 어떤 시계열 패턴으로부터 미래 수요 예측이 되었는지를 알 수 있다. When the data set is input, the neural network model starts learning to calculate a predicted value (S320). According to the learning process, a process of determining a past demand pattern is performed (S330). In the above step, in the case of a data set of normal pattern data, the neural network model calculates and provides time weights and future predicted values for each product (S340). Through this, it is possible to know from which time series pattern in the past the future demand forecast has been made.

반면 간헐적 패턴 데이터를 가지는 데이터 셋인 경우에도(s350), 제품마다 시간 가중치 및 미래 예측값을 산출하여 제공할 수 있다. 그러나 간헐적 수요 패턴의 경우 과거 어떠한 데이터 패턴으로부터 영향을 받았는지 알 수 없기 때문에 다시 제품별로 미래 수요 예측값을 배분할 필요가 있다.On the other hand, even in the case of a data set having intermittent pattern data (s350), time weights and future predicted values may be calculated and provided for each product. However, in the case of an intermittent demand pattern, since it is not known which data pattern was influenced by the past, it is necessary to allocate future demand forecasts by product again.

정확한 예측값을 계산하기 위하여, 스마트 셋 계산부(221)는 제품마다 시점별로 발생한 과거 수요 데이터를 더하여 스마트 셋을 계산한다(s352). 그리고 제 계산부(222)가 제품마다 시간별 가중치를 계산한다(s354)하고, softmax가 적용된 함수부(223)는 제품마다 시점별로 계산된 시간 가중치를 균일화한다(s354). 균일화된 제품별 시간 가중치를 '균일화 가중치'라 하여 설명한다. 상기 균일화 가중치를 모두 가산하면 합은 '1'이 된다. In order to calculate an accurate predicted value, the smart set calculation unit 221 calculates a smart set by adding past demand data generated for each product at each point in time (S352). Then, the calculation unit 222 calculates the time weight for each product (S354), and the function unit 223 to which softmax is applied equalizes the calculated time weight for each product and time point (S354). The uniformized time weight for each product is referred to as 'uniform weight'. When all of the equalization weights are added, the sum becomes '1'.

제2 계산부(224)는 상기 균일화 가중치를 이용하여 제품마다 시점별 데이터를 이용하여 스마트 셋(s')을 다시 계산한다(s358). 여기서 계산된 스마트 셋(s')은 최초의 스마트 셋과는 다른 데이터이고, 이하에서는 '균일화 스마트 셋'이라 하여 설명한다. 이와 같이 균일화 스마트 셋이 계산되면, 제3 계산부(225)는 이를 이용하여 제품마다 시점별로 개별 가중치를 계산하게 된다(s359). 따라서 제품별로 미래 수요 예측값을 계산하여 배분할 수 있는 것이다. 이를 통해 미래 수요 예측값이 과거의 어떤 패턴으로부터 기인하였는지 알 수 있다.The second calculation unit 224 recalculates the smart set s' using the data for each product and each time using the equalization weight (S358). The smart set (s') calculated here is data different from the first smart set, and will be described below as a 'uniformized smart set'. When the homogenization smart set is calculated in this way, the third calculator 225 calculates individual weights for each product and for each time point using it (s359). Therefore, it is possible to calculate and allocate future demand forecasts for each product. Through this, it is possible to know from which pattern the future demand forecast was derived.

즉 도 4의 과정은 하나 이상의 제품에 대하여 소정 정해진 시간동안 발생한 과거 수요 데이터를 기초로 하면서, 제품마다 시점별로 발생한 과거 수요 데이터를 더하여 스마트 셋을 계산하고, 계산된 스마트 셋 정보를 신경망에 입력하고, 신경망의 학습에 따라 제품마다 시간별 가중치를 계산하고, 시간별 가중치를 균일화하고, 제품마다 스마트 셋과 균일화 가중치를 계산하여 균일화 스마트 셋을 계산하고, 상기 균일화 스마트 셋을 이용하여 시점별로 제품별 개별 가중치를 계산하고, 제품별 미래 예측값을 생성하는 단계가 순차적으로 실시되어, 미래 수요 예측값을 생성하고, 생성결과에 대한 설명을 제공하는 것이다.That is, in the process of FIG. 4, a smart set is calculated by adding past demand data generated at each point in time for each product based on past demand data generated during a predetermined period of time for one or more products, and inputting the calculated smart set information into the neural network , According to learning of the neural network, weights are calculated for each product at each time, the weights are equalized for each time, a smart set and a uniformed weight are calculated for each product to calculate a uniformed smart set, and individual weights for each product at each time point using the uniformed smart set The step of calculating and generating a future forecast value for each product is sequentially performed to generate a future demand forecast value and provide an explanation for the generated result.

도 4의 과정을 도 5에 도시한 표를 참조하여 수치적으로 나타내면 다음과 같다. 도 5에서 보듯이, '제품 1' 내지 '제품 5'에 대해 '1' ~ '12' 시간 시점별로 수요 데이터가 간헐적으로 발생했다고 가정하면, 이러한 간헐적 패턴을 보인 데이터를 결측치가 없도록 시계열 데이터로 변환하여 스마트 셋(s)을 생성한다. 그리고 신경망 모델에 의해 각 시점별 시간 가중치를 계산한 다음 소프트맥스 함수를 이용하여 균일화 가중치를 구한다. 균일화 가중치의 값을 모두 더하면 '1'이 된다.The process of FIG. 4 is numerically expressed with reference to the table shown in FIG. 5 as follows. As shown in FIG. 5, assuming that demand data for 'Product 1' to 'Product 5' occurs intermittently for each time point '1' to '12', data showing such an intermittent pattern is converted into time series data so that there are no missing values. Transform to create smart set(s). Then, the time weight for each time point is calculated by the neural network model, and then the equalization weight is obtained using the softmax function. The sum of all equalization weight values is '1'.

그리고 균일화 가중치와 스마트 셋 정보를 통해 균일화 스마트 셋(s')을 구한 다음, 이를 통해 제품마다 시점별 개별 가중치를 구한다. 그러면 제품마다 개별 가중치를 구할 수 있다. 이 값이 제품별 미래 배분값이 된다. 그리고 이를 통해 고, 이를 합하여 미래 예측값을 구할 수 있다. 도 5에서 미래 예측값은 '22.78081'이고, 이 값은 각 제품별 미래 배분값의 합 또는 균일화 스마트 셋(s')의 합이 된다.Then, a uniform smart set (s') is obtained through the uniformization weight and smart set information, and then, through this, individual weights for each product at each point in time are obtained. Then, individual weights can be obtained for each product. This value becomes the future distribution value for each product. And through this, we can find the future prediction value by summing it. In FIG. 5, the future prediction value is '22.78081', and this value becomes the sum of future distribution values for each product or the sum of the uniformed smart set (s').

이와 같이 본 발명은 꾸준한 패턴의 시계열 데이터나 간헐적 수요 패턴을 보인 간헐적 데이터에 상관없이 미래 시점에 대한 수요 예측값을 생성하며, 특히 간헐적인 수요 데이터의 경우 어텐션 메커니즘을 적용된 RNN 신경망을 이용하여 미래 시점에서의 제품별 예측 값을 제공함으로써, 미래 예측 값이 과거 어느 시점에서 가장 많이 영향을 받았는지에 대한 해석 데이터를 제공할 수 있게 됨을 알 수 있다.As such, the present invention generates demand forecasts for future time points regardless of time series data with steady patterns or intermittent data showing intermittent demand patterns. It can be seen that by providing forecast values for each product of , it is possible to provide interpretation data on which future forecast values were most affected at some point in the past.

이상과 같이 본 발명의 도시된 실시 예를 참고하여 설명하고 있으나, 이는 예시적인 것들에 불과하며, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면 본 발명의 요지 및 범위에 벗어나지 않으면서도 다양한 변형, 변경 및 균등한 타 실시 예들이 가능하다는 것을 명백하게 알 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적인 사상에 의해 정해져야 할 것이다.Although the above has been described with reference to the illustrated embodiments of the present invention, these are only examples, and those skilled in the art to which the present invention belongs can variously It will be apparent that other embodiments that are variations, modifications and equivalents are possible. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

10: 미래 수요 예측 데이터 생성장치
100: 데이터 준비 엔진부
110: 계정 데이터 생성부
120: 전처리부
130: 입력정보 제공부
200: 예측/분석 엔진부
221: 스마트셋 계산부
222: 제1 계산부
223: 함수부
224: 제2 계산부
225: 제3 계산부
210: 모델 피팅부
220: 신경망 모델 제공부
230: 결과 제공부
240: 보정부
10: Future demand forecast data generator
100: data preparation engine unit
110: account data generation unit
120: pre-processing unit
130: input information providing unit
200: prediction/analysis engine unit
221: smart set calculator
222: first calculation unit
223: function part
224: second calculator
225: third calculation unit
210: model fitting part
220: neural network model providing unit
230: result providing unit
240: correction unit

Claims (9)

과거 수요 데이터들을 이용하여 미래 시점의 수요 예측을 위한 데이터를 준비하는 데이터 준비 엔진부;
준비된 데이터를 기초로 미래 시점의 수요를 예측하고 분석하는 예측/분석 엔진부를 포함하며,
상기 데이터 준비 엔진부는, 과거 수요 데이터가 간헐적 패턴을 보이는 경우 제품마다 시점별로 발생한 과거 수요 데이터를 더하여 시계열 데이터로 변환한 스마트 셋을 생성하고,
상기 예측/분석 엔진부는, 간헐적 수요에 대한 미래 예측 데이터를 신경망 모델을 이용하여 개별적인 미래 예측 데이터로 분해하여 제공하며,
상기 예측/분석 엔진부는, 신경망 모델 제공부를 포함하며,
상기 신경망 모델 제공부는,
상기 생성된 스마트 셋에 대해 제품마다 시간별 가중치를 계산하는 제1 계산부;
상기 가중치를 균일화하는 함수부;
상기 스마트 셋과 균일화된 가중치를 이용하여 균일화 스마트 셋을 계산하는 제2 계산부;
상기 균일화 스마트 셋을 이용하여 제품별 개별 가중치를 계산하는 제3 계산부를 포함하여, 상기 제품별 개별 가중치를 통해 제품별 미래 수요 예측값을 제공하는 것을 특징으로 하는 미래 수요 예측 데이터 생성장치.
a data preparation engine unit that prepares data for forecasting future demand using past demand data;
Includes a forecasting/analysis engine unit that predicts and analyzes future demand based on prepared data;
When the past demand data shows an intermittent pattern, the data preparation engine unit creates a smart set converted into time series data by adding past demand data generated at each point in time for each product,
The prediction/analysis engine unit decomposes future forecast data for intermittent demand into individual future forecast data using a neural network model and provides them,
The prediction/analysis engine unit includes a neural network model providing unit,
The neural network model providing unit,
a first calculation unit that calculates a time-specific weight for each product with respect to the generated smart set;
a function unit that equalizes the weights;
a second calculation unit calculating a homogenized smart set using the smart set and a homogenized weight;
A future demand forecasting data generating device comprising a third calculation unit that calculates individual weights for each product using the homogenized smart set, and providing a future demand forecast value for each product through the individual weights for each product.
제 1 항에 있어서,
상기 데이터 준비 엔진부는,
수요 예측에 활용할 데이터베이스의 범위를 설정하고, 군집(aggregation) 기준에 따라 계정(account)을 생성하는 계정 데이터 생성부;
상기 계정을 전처리 하는 전처리부를 더 포함하는 것을 특징으로 하는 미래 수요 예측 데이터 생성장치.
According to claim 1,
The data preparation engine unit,
an account data generation unit that sets a range of databases to be used for demand forecasting and creates accounts according to aggregation criteria;
Future demand forecasting data generating device further comprising a pre-processing unit for pre-processing the account.
제 1 항에 있어서,
상기 신경망 모델은, 어텐션 메커니즘(Attention Mechanism)을 이용하는 RNN(Recurrent Neural Network) 기반인 것을 특징으로 하는 신경망인 미래 수요 예측 데이터 생성장치.
According to claim 1,
The neural network model is a neural network, characterized in that it is based on a recurrent neural network (RNN) using an attention mechanism.
삭제delete 과거 수요 데이터를 이용하여 미래 시점의 수요 예측 데이터를 생성하는 미래 수요 예측 데이터 생성장치에 있어서,
상기 미래 수요 예측 데이터 생성장치가,
간헐적 수요 패턴 데이터를 시계열 데이터로 변환하는 단계;
상기 시계열 데이터를 신경망 학습하는 단계;
학습 결과에 따라 제품에 대한 개별 미래 수요 예측 데이터를 제공하는 단계; 및
상기 개별 미래 수요 예측 데이터를 이용하여 과거의 어떤 패턴으로부터 기인하였는지에 대한 분석 보고서를 제공하는 단계를 포함하며,
상기 신경망 학습하는 단계는,
제품마다 시점별로 발생한 과거 수요 데이터를 더하여 스마트 셋을 계산하는 단계;
계산된 스마트 셋 정보를 신경망에 입력하는 단계;
신경망의 학습에 따라 제품마다 시간별 가중치를 계산하는 단계;
소정 함수를 이용하여 시간별 가중치를 균일화하는 단계;
제품마다 스마트 셋과 균일화 가중치를 계산하여 균일화 스마트 셋을 계산하는 단계;
상기 균일화 스마트 셋을 이용하여 시점별로 제품별 개별 가중치를 계산하고, 제품별 미래 예측값을 생성하는 단계를 포함하여 이루어지는 미래 수요 예측 데이터 생성방법.
In the future demand forecast data generating device for generating demand forecast data at a future point using past demand data,
The future demand forecast data generating device,
converting intermittent demand pattern data into time series data;
learning the time series data with a neural network;
providing individual future demand forecast data for products according to learning results; and
Using the individual future demand forecast data to provide an analysis report on what pattern it originated from in the past,
The step of learning the neural network,
Calculating a smart set by adding past demand data for each product at each point in time;
inputting the calculated smart set information to the neural network;
Calculating a weight for each product according to learning of the neural network;
equalizing time-specific weights using a predetermined function;
calculating a homogenized smart set by calculating a smart set and a homogenization weight for each product;
A method for generating future demand forecast data comprising the step of calculating individual weights for each product at each point in time using the homogenized smart set and generating a future forecast value for each product.
삭제delete 삭제delete 제 5 항에 있어서,
상기 신경망 학습하는 단계는,
어텐션 메커니즘(Attention Mechanism) 기반의 RNN(Recurrent Neural Network) 신경망을 이용하여 학습하는 미래 수요 예측 데이터 생성방법.
According to claim 5,
The step of learning the neural network,
A method for generating future demand forecast data learning using an Attention Mechanism-based Recurrent Neural Network (RNN) neural network.
제 5 항에 있어서,
상기 함수는 softmax 함수를 적용하는 것을 특징으로 하는 미래 수요 예측 데이터 생성방법.
According to claim 5,
The function is a method for generating future demand forecast data, characterized in that the softmax function is applied.
KR1020210019266A 2021-02-10 2021-02-10 A method and apparatus for generating future demand forecast data based on attention mechanism KR102574244B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210019266A KR102574244B1 (en) 2021-02-10 2021-02-10 A method and apparatus for generating future demand forecast data based on attention mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210019266A KR102574244B1 (en) 2021-02-10 2021-02-10 A method and apparatus for generating future demand forecast data based on attention mechanism

Publications (2)

Publication Number Publication Date
KR20220115357A KR20220115357A (en) 2022-08-17
KR102574244B1 true KR102574244B1 (en) 2023-09-06

Family

ID=83111178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210019266A KR102574244B1 (en) 2021-02-10 2021-02-10 A method and apparatus for generating future demand forecast data based on attention mechanism

Country Status (1)

Country Link
KR (1) KR102574244B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586797B1 (en) * 2023-06-28 2023-10-10 주식회사 나인씨엔에프 chemical materials Distribution system and method based on artificial intelligence model
CN116579722B (en) * 2023-07-14 2023-09-19 四川集鲜数智供应链科技有限公司 Commodity distribution warehouse-in and warehouse-out management method based on deep learning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102109369B1 (en) * 2018-03-16 2020-05-28 울산과학기술원 Artificial Intelligence System to Predict Changes and Explain Reasons in Time Series

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050104482A (en) 2004-04-29 2005-11-03 탁현준 System and method for production plan using auto-demand-forecast
KR20180060317A (en) * 2016-11-28 2018-06-07 한국전력공사 Apparatus and method for predicting electricity demand based on deep neural networks
KR102415220B1 (en) * 2018-11-26 2022-07-01 한국전자통신연구원 Time series data processing device and operating method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102109369B1 (en) * 2018-03-16 2020-05-28 울산과학기술원 Artificial Intelligence System to Predict Changes and Explain Reasons in Time Series

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
조영기 외 1명. ‘변형된 Attention 메커니즘 기반의 LSTM을 통한 전력수요 예측 프레임웍’. 한국지능시스템학회 논문지. 한국지능시스템학회. 제30권 제3호, 2020년 6월, pp.242-250*

Also Published As

Publication number Publication date
KR20220115357A (en) 2022-08-17

Similar Documents

Publication Publication Date Title
US8374903B2 (en) Information criterion-based systems and methods for constructing combining weights for multimodel forecasting and prediction
Zhou et al. Bullwhip and inventory variance in a closed loop supply chain
US7251589B1 (en) Computer-implemented system and method for generating forecasts
US11354121B2 (en) Software portfolio management system and method
US20040122647A1 (en) Apparatus and method for managing the performance of an electronic device
KR102574244B1 (en) A method and apparatus for generating future demand forecast data based on attention mechanism
US20100114794A1 (en) Prediction of financial performance for a given portfolio of marketing investments
US20100125487A1 (en) System and method for estimating settings for managing a supply chain
Kacar et al. A comparison of multiple linear regression approaches for fitting clearing functions to empirical data
EP4310676A1 (en) Data processing method and apparatus
CN115169818A (en) Digital modeling-based technical engineering measurement and calculation method and system
Amer et al. Optimizing order fulfillment using design for six sigma and fuzzy logic
Schmidt et al. Schedule compliance operating curves and their application in designing the supply chain of a metal producer
Birkmaier et al. Towards a robust digital production and logistics network by implementing flexibility measures
US9697480B2 (en) Process analysis, simulation, and optimization based on activity-based cost information
US7844486B2 (en) System and method for determining and increasing an accuracy of costing
CN117010790A (en) Operation method, device, equipment and storage medium based on multi-level BOM
Koo et al. Simultaneous determination of lot size and production rate at capacity-constrained multiple-product systems
US20060136328A1 (en) Method and system for analyzing the risk of a project
CN113762842B (en) Warehouse scheduling method, server and system
US20050097065A1 (en) System and method for analyzing relationships between sourcing variables
US20110172801A1 (en) Method and system for determining manufacturing throughput target
CN110858355A (en) Project budget balance prediction method and device
US20210304015A1 (en) Method, device, and computer readable storage media for data analysis
EP4016404A1 (en) Method and apparatus for generating a control signal to control a device in accordance with a constrained hierarchy

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant