KR20220049259A - Deep Learning based Bitcoin Block Data Prediction System Considering Characteristics of Time-Series Distribution - Google Patents
Deep Learning based Bitcoin Block Data Prediction System Considering Characteristics of Time-Series Distribution Download PDFInfo
- Publication number
- KR20220049259A KR20220049259A KR1020200132680A KR20200132680A KR20220049259A KR 20220049259 A KR20220049259 A KR 20220049259A KR 1020200132680 A KR1020200132680 A KR 1020200132680A KR 20200132680 A KR20200132680 A KR 20200132680A KR 20220049259 A KR20220049259 A KR 20220049259A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- time series
- prediction
- block
- social media
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
- G06Q10/06375—Prediction of business process outcome or impact based on a proposed change
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Accounting & Taxation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템 및 방법에 관한 것이다. The present invention relates to a deep learning-based Bitcoin block data prediction system and method in consideration of time series distribution characteristics.
비트코인은 사토시 나카모토에 의해 개발된 첫 번째 블록체인 기반 암호화폐이며 비트코인의 개발 이후 많은 블록체인 기반 암호화폐들이 등장하였다. 블록체인 기술이 지닌 데이터 무결성과 암호화폐의 익명성은 암호화폐 시장을 빠르게 성장시켰으며 현재 시장에서 약 5,800개 암호화폐들이 활발히 거래되고 있다. 또한, 시장에서 거래되고 있는 모든 암호화폐들의 시가총액은 약 390조 원에 육박하며 하루 80조 원 규모의 이루어지는 추세다. 암호화폐 시장이 약한 형태의 효율을 띈다는 연구에도 불구하고 암호화폐 시장의 급성장에 따라 암호화폐의 가격 및 변동 추세는 전 세계의 관심사가 되었으며 이를 예측하는 연구들이 수행되었다. 그러나 암호화폐의 가격은 다양한 요소에 의해 영향을 받고 있기에 직접적인 가격 혹은 변동 추세를 예측하는 것보단 이에 영향을 미칠 수 있는 요소들을 분석하고 예측하는 것이 중요하다. 또한, 암호화폐 가격에 영향을 미칠 수 있는 요소들을 예측하는 것은 가격과 변동 추세에 관심을 가지는 사용자에게 폭넓은 선택지를 제공할 뿐 아니라 블록체인 네트워크의 단기적인 데이터 흐름에 대한 통찰과 더 나아가 암호화폐와 관련된 서비스 생태계의 생존성에 대해 판단할 수 있는 밑거름을 제공한다.Bitcoin is the first blockchain-based cryptocurrency developed by Satoshi Nakamoto, and many blockchain-based cryptocurrencies have appeared since the development of Bitcoin. The data integrity of blockchain technology and the anonymity of cryptocurrencies have rapidly grown the cryptocurrency market, with about 5,800 cryptocurrencies being actively traded in the market. In addition, the market capitalization of all cryptocurrencies traded in the market is close to 390 trillion won, and it is a trend of 80 trillion won per day. Despite research that the cryptocurrency market has a weak form of efficiency, the price and fluctuation trend of cryptocurrency has become a global concern due to the rapid growth of the cryptocurrency market, and studies have been conducted to predict it. However, since the price of cryptocurrency is affected by various factors, it is important to analyze and predict factors that can affect it rather than predict the price or fluctuation trend directly. In addition, predicting factors that can influence the price of cryptocurrencies not only provide a wide range of options for users interested in price and fluctuation trends, but also provide insight into short-term data flows in blockchain networks and furthermore, cryptocurrencies and cryptocurrencies. It provides the basis for judging the viability of the related service ecosystem.
종래기술에서는 다양한 암호화폐 중 가장 오래되었고 아직도 인기를 끌고 있는 비트코인을 분석하였다. 비트코인은 2009년 사토시 나카모토라는 가명의 개발자에 의해 개발되었으며 Peer-to-Peer(P2P) 기반 분산 데이터베이스 형태로 거래를 수행한다. 비트코인의 사용자인 노드들은 공개 키 암호 방식으로 거래를 수행하며 거래들은 작업증명(PoW)을 통해 블록에 담기게 되어 모든 네트워크로 전파된다. 한번 블록에 담겨 블록체인에 연결된 거래들은 임의로 변주할 수 없고 거래를 수행하는 사용자 주소는 익명성을 지니기 때문에 누가 어떤 거래를 했는지 특정할 수 없다. 비트코인과 관련된 다양한 서비스로는 비트코인 화폐를 거래할 수 있는 거래소, 전문적으로 암호화폐를 채굴하기 위한 일종의 조합인 마이닝풀이 있으며 그 외 전자지갑, 도박, 커뮤니티, 소셜 미디어 등이 있고 이를 비트코인 에코시스템이라고 정의한다. In the prior art, Bitcoin, the oldest and still popular among various cryptocurrencies, was analyzed. Bitcoin was developed in 2009 by a developer under the pseudonym Satoshi Nakamoto and performs transactions in the form of a peer-to-peer (P2P)-based distributed database. Nodes, users of Bitcoin, perform transactions using public key cryptography, and transactions are stored in blocks through Proof of Work (PoW) and propagated to all networks. Transactions connected to the block chain once contained in a block cannot be arbitrarily changed, and the user address performing the transaction has anonymity, so it is impossible to specify who made which transaction. Various services related to bitcoin include an exchange that can trade bitcoin money, a mining pool that is a kind of combination for professionally mining cryptocurrency, and other electronic wallets, gambling, community, social media, etc. defined as a system.
비트코인 관련 데이터를 예측하는 종래기술은 데이터 셋과 예측 방법을 통해 분류할 수 있다. 먼저, 기존 주식시장에서 사용되는 통계 기반 예측 모델을 암호화폐 분야에 적용한 종래기술들이 있다. 기존 통계 기반 예측에서는 대부분 시장 데이터를 통해 가격 변화율을 예측하였다. 다음으로, 기계학습(딥러닝 제외)를 통해 가격을 예측하고자 하는 종래기술들은 Light GBM, RF 등 트리 기반 예측모델과 SVM 등을 사용했다. 딥러닝을 사용해 가격을 예측하고자 했던 종래기술들은 시계열 기반의 모델들인 LSTM과 GRU 등이 사용되었으며, LSTM과 GRU를 비교했을 때 GRU가 더 높은 성능을 나타낸다고 보고했다. 기존 통계 기반 예측 종래기술에서는 대부분 암호화폐 시장의 데이터를 사용하거나 주가 지수 등 다른 시장의 데이터를 혼합한 데이터를 사용했다. 기계 학습 및 딥러닝을 사용하여 가격 예측을 수행했던 종래기술에서는 시장 데이터와 Blockchain.com에서 제공하는 블록 데이터를 혼합하여 가격 예측을 수행했으며 Reddit, Twitter와 같은 소셜 미디어로부터 얻은 텍스트를 감성 분석을 통해 수치화하여 예측에 사용한 연구도 있다. 특히, 시장 데이터, 블록 데이터, 다른 시장 데이터, 다른 암호화폐 데이터 등 다양한 데이터를 혼합하고 이를 딥러닝 기반 시계열 예측 모델들을 통해 예측을 수행한 종래기술이 있다. 관련 종래기술은 다른 서비스의 데이터들이 비트코인 관련 데이터과 깊은 연관을 가진다는 것을 시사한다. The prior art for predicting Bitcoin-related data can be classified through data sets and prediction methods. First, there are prior technologies in which a statistical-based prediction model used in the existing stock market is applied to the cryptocurrency field. Most of the existing statistical-based forecasting predicted the rate of price change through market data. Next, conventional techniques that want to predict prices through machine learning (except deep learning) used tree-based prediction models such as Light GBM and RF and SVM. Conventional techniques that tried to predict price using deep learning used time series-based models, such as LSTM and GRU, and reported that GRU showed higher performance when LSTM and GRU were compared. Most of the existing statistical-based forecasting prior art uses data from the cryptocurrency market or data mixed with data from other markets, such as stock indices. In the prior art, which used machine learning and deep learning to perform price prediction, price prediction was performed by mixing market data and block data provided by Blockchain.com, and text obtained from social media such as Reddit and Twitter was analyzed through sentiment analysis. There are also studies that have been quantified and used for prediction. In particular, there is a prior art that mixes various data such as market data, block data, other market data, and other cryptocurrency data and performs prediction through deep learning-based time series prediction models. The related prior art suggests that data of other services have a deep relationship with data related to Bitcoin.
본 발명이 이루고자 하는 기술적 과제는 다양한 서비스들로부터 데이터를 수집하고 이를 딥러닝 기반 시계열 예측 모델 중 높은 예측 성능을 나타내는 LSTM, GRU 모델에 학습시켜 높은 예측 성능을 달성하기 위한 방법 및 장치를 제공하는데 있다.The technical task of the present invention is to provide a method and apparatus for collecting data from various services and learning it on LSTM and GRU models showing high prediction performance among deep learning-based time series prediction models to achieve high prediction performance. .
일 측면에 있어서, 본 발명에서 제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템은 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 데이터 수집 모듈, 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 전처리 모듈, 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 학습 모듈 및 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 예측 모듈을 포함한다. In one aspect, the deep learning-based Bitcoin block data prediction system in consideration of the time series distribution feature proposed in the present invention is a data collection module that collects a plurality of class data including block data, social media data, and price data, A preprocessing module that performs preprocessing to unify the data format of a plurality of class data into time series data, and clusters it into a time series data set according to the distribution characteristics of each time series data for a plurality of preprocessed class data, A learning module that learns a time series data set through a deep learning-based model, generates a plurality of predictive models according to a plurality of time series data sets, and evaluates a plurality of learned predictive models, and when new data is input, multiple and a prediction module for selecting a prediction model to perform prediction among prediction models of
데이터 수집 모듈은 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집하는 블록 데이터 수집기, 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집하는 가격 데이터 수집기, 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집하는 텍스트 소셜 미디어 데이터 수집기 및 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집하는 시계열 소셜 미디어 데이터 수집기를 포함한다. The data collection module includes block-level data, which is the header part of the block, transaction-level data including actual transaction data, and input/output level data, which is a set of inputs and outputs included in a transaction, and contains transaction information in the blockchain network. A block data collector that collects block data, a price data collector that collects price data that means the exchange rate with cash as a cryptocurrency implemented through a block chain platform, and performs keyword analysis from text social media a text social media data collector that collects text social media data for
전처리 모듈은 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성하는 통계 기반 특징 추출기, 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성하는 감성분석 기반 특징 추출기, 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환하고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합하는 시간 단위 변환 및 데이터 병합기, 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 시계열 군집화기 및 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류하는 시계열 분류기를 포함한다. The preprocessing module extracts statistical data from input/output level data of block data collected from the block data collector and merges it with transaction level data, and extracts statistical data from transaction level data and merges it with block level data to have a data format of block height. Statistics-based feature extractor that generates statistical data, sentiment analysis-based feature extractor that generates sentiment analysis data by classifying emotions into positive, negative, or neutral emotions through sentiment analysis on text social media data collected from text social media data collectors, data In order to unify the format of the statistical data into time series data, by taking the average of the block heights of all statistical data included within a predetermined time for the statistical data obtained from the statistics-based feature extractor, the format of the statistical data is changed from block height to time unit. By transforming and generating a plurality of time series data on the sentiment analysis data obtained from the sentiment analysis-based feature extractor, the data obtained from the statistical-based feature extractor, the price data collector, the sentiment analysis-based feature extractor, and the time series social media data collector are time-series data Correlation coefficients between time series data through the K-Medoids clustering algorithm using the Spearman rank correlation coefficient as the distance measurement algorithm for time series data obtained from time unit transformation and data merger, time unit transformation and data merger A time series clusterer that calculates and clusters into a time series data set according to the distribution characteristics of the time series data, and a time series classifier that classifies the time series data set to be input to the predictive model with respect to the time series data set obtained from the time series clusterer.
학습 모듈은 LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성한다. The learning module uses LSTM (Long short-term memory) or GRU (Gated Recurrent Unit) to change the learning variables including the sequence length and number of times of time series data, and corresponds to each time series data set clustered in the preprocessing module. create a predictive model that
예측 모듈은 학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택한다. The prediction module evaluates the plurality of prediction models by inputting the training dataset, the validation dataset, and the test dataset of the time series data set obtained from the time series classifier of the preprocessing module to the plurality of prediction models obtained from the learning module, and the obtained time series Select a predictive model to input data by searching for the cluster centroid closest to the data set.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법은 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계, 전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계, 학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계 및 예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계를 포함한다. In another aspect, the deep learning-based Bitcoin block data prediction method in consideration of the time series distribution feature proposed in the present invention collects a plurality of class data including block data, social media data, and price data by the data collection module. Step, the preprocessing module performs preprocessing to unify the data format of the collected plurality of class data into time series data, and clusters it into a time series data set according to the distribution characteristics of each time series data for the preprocessed plurality of class data Step, the learning module learns through a deep learning-based model for a plurality of time series data sets clustered, generating a plurality of predictive models according to the plurality of time series data sets, and the predictive module is trained on a plurality of predictive models and selecting a prediction model to perform prediction from among a plurality of prediction models when new data is input.
본 발명의 실시예들에 따르면 다양한 요소들의 영향을 받고 있는 비트코인의 가격 예측을 직접적인 가격 예측보단 가격 변동에 영향을 미칠 수 있는 요소들을 분석하여 예측할 수 있다. 이러한 요소들을 예측하는 것은 단기적인 비트코인 네트워크의 데이터 흐름에 대한 통찰을 제공할 수 있으며 더 나아가 비트코인 생태계 내 다양한 서비스들의 생존성을 판단할 수 있도록 도울 수 있다. 본 발명에서는 트랜잭션 개수, 수수료의 비율, 비트코인 거래량 등의 블록 데이터를 예측하고, 종래기술에서 고려되었던 데이터를 포함하여 세 가지 클래스의 데이터들을 수집하고 이를 시계열 예측에 뛰어난 성능을 보이는 장단기 메모리(LSTM)를 통해 학습하여 높은 예측 정확도를 달성할 수 있다. According to embodiments of the present invention, it is possible to predict the price of Bitcoin, which is affected by various factors, by analyzing factors that may affect price fluctuations rather than direct price prediction. Predicting these factors can provide insight into the short-term data flow of the Bitcoin network and further help to determine the viability of various services within the Bitcoin ecosystem. In the present invention, block data such as the number of transactions, the fee rate, and the Bitcoin transaction volume are predicted, and three classes of data are collected, including the data considered in the prior art, and the long and short-term memory (LSTM) showing excellent performance in time series prediction. ) to achieve high prediction accuracy.
도 1은 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터 수집 모듈의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 블록 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가격 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 전체 클래스 데이터를 병합하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 시계열 데이터 셋으로 군집화하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 새로운 데이터가 입력될 경우 예측 모델을 선택하는 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법을 설명하기 위한 흐름도이다.1 is a diagram showing the configuration of a deep learning-based Bitcoin block data prediction system in consideration of time series distribution characteristics according to an embodiment of the present invention.
2 is a diagram showing the configuration of a data collection module according to an embodiment of the present invention.
3 is a diagram for explaining a process of extracting feature data of block data according to an embodiment of the present invention.
4 is a diagram for explaining a process of extracting feature data of text social media data according to an embodiment of the present invention.
5 is a diagram for explaining a data format conversion process of block data according to an embodiment of the present invention.
6 is a diagram for explaining a data format conversion process of text social media data according to an embodiment of the present invention.
7 is a view for explaining a data format conversion process of price data according to an embodiment of the present invention.
8 is a diagram for explaining a process of merging all class data according to an embodiment of the present invention.
9 is a diagram for explaining a process of clustering into a time series data set according to an embodiment of the present invention.
10 is a diagram for explaining a process of generating a plurality of prediction models according to a time series data set according to an embodiment of the present invention.
11 is a diagram for explaining a process of selecting a predictive model when new data is input according to an embodiment of the present invention.
12 is a flowchart for explaining a deep learning-based Bitcoin block data prediction method in consideration of a time series distribution feature according to an embodiment of the present invention.
비트코인의 가격은 다양한 요소들의 영향을 받고 있기에 직접적인 가격 예측보단 가격 변동에 영향을 미칠 수 있는 요소들을 분석하는 것이 중요하다. 또한, 이러한 요소들을 예측하는 것은 단기적인 비트코인 네트워크의 데이터 흐름에 대한 통찰을 제공할 수 있으며 더 나아가 비트코인 생태계 내 다양한 서비스들의 생존성을 판단할 수 있도록 도울 수 있다. 본 발명에서는 트랜잭션 개수, 수수료의 비율, 비트코인 거래량 등의 블록 데이터를 예측하고자 한다. 종래기술에서 고려되었던 데이터를 포함하여 세 가지 클래스의 데이터들을 수집하고 이를 시계열 예측에 뛰어난 성능을 보이는 장단기 메모리(LSTM)를 통해 학습하여 높은 예측 정확도를 달성하였다. Since the price of Bitcoin is affected by various factors, it is important to analyze factors that can affect price fluctuations rather than direct price prediction. In addition, predicting these factors can provide insight into the short-term data flow of the Bitcoin network and further help to determine the viability of various services within the Bitcoin ecosystem. In the present invention, it is intended to predict block data such as the number of transactions, the fee ratio, and the Bitcoin transaction volume. High prediction accuracy was achieved by collecting three classes of data, including the data considered in the prior art, and learning it through long-term short-term memory (LSTM), which has excellent performance in time series prediction.
본 발명에서는 비트코인 에코시스템에서 수집할 수 있는 데이터를 크게 3가지 클래스로 분류한다. 첫 번째 클래스는 비트코인 블록체인의 블록에 담긴 데이터이며 비트코인 네트워크 내 데이터의 흐름을 분석할 수 있다. 두 번째 클래스는 비트코인과 관련된 키워드를 언급한 소셜 미디어 데이터이며 비트코인에 대한 다양한 의견을 수집할 수 있는 트위터, 전 세계의 비트코인과 관련된 검색어의 인기를 분석하는 구글 트렌드 등이 있다. 마지막으로 비트코인 거래소에서 얻을 수 있는 가격 시계열 및 거래량 시계열 데이터이다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.In the present invention, data that can be collected in the Bitcoin ecosystem is largely classified into three classes. The first class is data contained in blocks of the Bitcoin blockchain, and the flow of data in the Bitcoin network can be analyzed. The second class is social media data that mentions keywords related to Bitcoin, including Twitter, which can collect various opinions about Bitcoin, and Google Trends, which analyzes the popularity of search terms related to Bitcoin around the world. Finally, price time series and volume time series data available from Bitcoin exchanges. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템의 구성을 나타내는 도면이다. 1 is a diagram showing the configuration of a deep learning-based Bitcoin block data prediction system in consideration of time series distribution characteristics according to an embodiment of the present invention.
제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템은 데이터 수집 모듈(110), 전처리 모듈(120), 학습 모듈(130) 및 예측 모듈(140)을 포함한다. The proposed deep learning-based Bitcoin block data prediction system considering the time series distribution feature includes a data collection module 110 , a preprocessing module 120 , a learning module 130 , and a prediction module 140 .
도 2는 본 발명의 일 실시예에 따른 데이터 수집 모듈의 구성을 나타내는 도면이다. 2 is a diagram showing the configuration of a data collection module according to an embodiment of the present invention.
데이터 수집 모듈(110)은 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집한다. The data collection module 110 collects a plurality of class data including block data, social media data, and price data.
데이터 수집 모듈(110)은 블록 데이터 수집기(111), 가격 데이터 수집기(112), 텍스트 소셜 미디어 데이터 수집기(113) 및 시계열 소셜 미디어 데이터 수집기(114)를 포함한다. The data collection module 110 includes a block data collector 111 , a price data collector 112 , a text social media data collector 113 , and a time series social media data collector 114 .
블록 데이터 수집기(111)는 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집한다. 블록 데이터 수집기(111)는 블록체인 네트워크에서 블록 데이터를 수집하고, 데이터 형식은 JSON이며, 데이터 주기는 블록 높이이다. The block data collector 111 includes block level data that is the header part of the block, transaction level data including actual transaction data, and input/output level data that is a set of inputs and outputs included in the transaction, and transaction information in the block chain network. Collect block data containing The block data collector 111 collects block data from the blockchain network, the data format is JSON, and the data period is the block height.
본 발명의 실시예에 따르면, 비트코인 블록 데이터를 수집하기 위해 비트코인-노드(Bitcoind-node)를 설치하였으며 개발 환경에 상관 없이 도커(Docker) 기반으로 쉽게 설치할 수 있다. 노드와 RPC를 통해 통신할 수 있으며 getblockhash 명령어를 통해 특정 높이의 블록의 해쉬(hash) 값을 얻을 수 있고 getblock [hash] 명령어를 통해 해당 높이의 블록에 대한 데이터를 얻을 수 있다. 비트코인의 블록은 작업증명을 통해 생성되는 트랜잭션들의 집합이며 정성적인 데이터와 정량적인 데이터로 구성되어 있다. 정성적인 데이터는 블록의 해시, 생성 시간, 난스, 비트 등을 포함하며 정량적인 데이터는 블록의 크기, 가중치, 거래량, 트랜잭션의 개수 등을 포함한다. 또한, 블록 데이터는 세 가지 레벨로 분류할 수 있으며 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래를 포함한 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터로 분류할 수 있다. 블록 데이터는 계층적인 구조로서 블록 레벨은 트랜잭션 레벨의 데이터를 포함하고 마찬가지로 트랜잭션 레벨은 입출력 레벨의 데이터를 포함한다. According to an embodiment of the present invention, a Bitcoin-node is installed to collect Bitcoin block data, and it can be easily installed based on Docker regardless of the development environment. You can communicate with the node through RPC, and you can get the hash value of a block of a certain height through the getblockhash command, and you can get data about the block of that height through the getblock [hash] command. A block of Bitcoin is a set of transactions created through proof-of-work and consists of qualitative and quantitative data. Qualitative data includes block hash, creation time, nonce, and bits, and quantitative data includes block size, weight, transaction volume, and number of transactions. In addition, block data can be classified into three levels, and can be classified into block-level data, which is the header part of the block, transaction-level data including actual transactions, and input-output level data, which is a set of inputs and outputs included in a transaction. Block data is a hierarchical structure, and the block level includes transaction level data, and similarly, the transaction level includes input/output level data.
가격 데이터 수집기(112)는 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집한다. 가격 데이터 수집기(112)는 암호화폐 거래소에서 가격 데이터를 수집하고, 데이터 형식은 시계열 데이터 이며, 데이터 주기는 분, 시간, 일이다. The price data collector 112 collects price data that means an exchange rate with cash as a cryptocurrency implemented through a block chain platform. The price data collector 112 collects price data from the cryptocurrency exchange, the data format is time series data, and the data cycle is minutes, hours, and days.
본 발명의 실시예에 따른 가격 데이터 중 과거의 데이터는 캐글(Kaggle)에 등록된 비트코인 히스토리 데이터(Bitcoin Historical Data)이며 실시간으로 받아오는 데이터는 Blockchain.com으로부터 수집한다. 데이터는 분당 비트코인 가격을 나타내며 2012년 1월 1일부터 데이터를 수집하였고 각 행은 타임스탬프와 시작점, 고점, 저점, 끝점, 거래량 그리고 거래량에 대한 가격 가중 평균으로 구성되어 있으며 본 발명에서는 가격 가중 평균과 거래량을 사용한다. 수집한 데이터는 10분 단위의 가격 데이터를 포함하며 1시간 평균으로 변환하여 사용한다. 수집한 데이터는 표 1과 같다. Past data among price data according to an embodiment of the present invention is Bitcoin Historical Data registered in Kaggle, and data received in real time is collected from Blockchain.com. The data represents the Bitcoin price per minute and data was collected from January 1, 2012, and each row consists of a timestamp and a price weighted average for the starting point, high point, low point, end point, trading volume, and trading volume. In the present invention, price weighting Use average and volume. The collected data includes price data in units of 10 minutes and is converted into an hourly average for use. The collected data is shown in Table 1.
<표 1><Table 1>
텍스트 소셜 미디어 데이터 수집기(113)는 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집한다. 텍스트 소셜 미디어 데이터 수집기(113)는 텍스트 소셜 미디어(예를 들어, 트위터)에서 텍스트 소셜 미디어 데이터를 수집하고, 데이터 형식은 텍스트이며, 데이터 주기는 없다. 본 발명의 실시예에 따른 텍스트 소셜 미디어 데이터를 수집하는 플랫폼은 트위터이다. The text social media data collector 113 collects text social media data for performing analysis on keywords from text social media. The text social media data collector 113 collects text social media data from text social media (eg, Twitter), the data format is text, and there is no data cycle. A platform for collecting text social media data according to an embodiment of the present invention is Twitter.
트위터는 2006년 출시 된 이후 현재까지도 많은 인기를 끌고 있으며 3억 개의 활성화된 계정이 있으며 매일 5억 개의 트윗이 발생한다. 텍스트 소셜 미디어 데이터(예를 들어, 트위터 데이터)를 사람들이 특정 주제에 대해 어떻게 느끼는지에 대해 분석할 수 있는 풍부한 데이터 소스로 사용할 수 있으며 각 텍스트의 발생 시점을 볼 수 있으므로 시간이 지남에 따라 특정 주제에 대한 사용자들의 감정 변화를 관찰할 수 있다.Twitter has been very popular since its launch in 2006, with 300 million active accounts and 500 million tweets every day. You can use text social media data (such as Twitter data) as a rich data source to analyze how people feel about a particular topic, and you can see when each text occurred, so you can see the point in time for a specific topic. It is possible to observe the change in users' emotions toward
본 발명의 실시예에 따르면, 텍스트 API(Application Programming Interface)를 이용한 파이선(Python) 기반 텍스트 소셜 미디어 데이터 수집기(113)를 통해 실시간으로 "비트코인" 키워드에 대한 텍스트 소셜 미디어 데이터를 수집하는 모듈을 구현하였다. According to an embodiment of the present invention, a module for collecting text social media data for the "Bitcoin" keyword in real time through a Python-based text social media data collector 113 using a text API (Application Programming Interface) is provided. implemented.
시계열 소셜 미디어 데이터 수집기(114)는 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집한다. 시계열 소셜 미디어 데이터 수집기(114)는 시계열 소셜 미디어에서 시계열 소셜 미디어 데이터를 수집하고, 데이터 형식은 시계열이며, 데이터 주기는 시이다. The time series social media data collector 114 collects time series social media data for analyzing keywords from time series social media. The time series social media data collector 114 collects time series social media data from time series social media, the data format is time series, and the data period is city.
본 발명의 실시예에 따른 시계열 소셜 미디어 데이터를 수집한 플랫폼은 구글 트렌드이다. 구글 트렌드는 다양한 지역 및 언어에서 구글 검색의 인기 검색어들의 인기를 분석하는 구글 플랫폼이다. 구글 트렌드는 그래프를 사용하여 시간에 따른 여러 검색어의 검색량을 비교한다. 구글 트렌드의 인기 수치는 0부터 100까지의 값으로 설정되어 있으며 기간 내 상대적인 인기 수치를 나타낸다.A platform for collecting time-series social media data according to an embodiment of the present invention is Google Trends. Google Trends is a Google platform that analyzes the popularity of popular search terms in Google Search in various regions and languages. Google Trends uses graphs to compare search volume for different search terms over time. The popularity number of Google Trends is set as a value from 0 to 100 and represents the relative popularity within a period.
본 발명의 실시예에 따르면, 검색 키워드별 시계열 소셜 미디어 데이터(예를 들어, 구글 트렌드)를 수집할 수 있는 파이선(Python) 기반의 수집 모듈을 구현하였으며 검색 키워드를 Blockchain, BTC, Bitcoin, Mining Pool, Cryptocurrency Exchange로 설정하고 수집하였다. 전체 기간에 대한 시간 별 데이터가 제공되지 않으므로 시간 별 데이터를 수집하기 위하여 1주일 간격으로 데이터를 수집한다. 수집된 데이터는 앞서 언급했듯이 기간 내 상대적인 수치이므로 전체 기간에 대한 절대적인 수치로 변환하는 과정이 필요하다. 따라서, 수집하는 단계에서 수집 간격을 정확히 1주일 간격으로 자르는 것이 전 주에 대한 데이터와 다음 주에 대한 데이터 사이에 일정한 시간이 겹치도록 수집하고 겹치는 시간을 이용하여 데이터를 스케일링한다. 본 발명의 실시예에 따르면 전 주와 다음 주에 사이에 1일이 겹치도록 수정하여 모든 데이터를 스케일링하였고 스케일링한 데이터는 표 2와 같다. According to an embodiment of the present invention, a Python-based collection module that can collect time-series social media data (eg, Google Trends) for each search keyword is implemented, and the search keyword is applied to Blockchain, BTC, Bitcoin, and Mining Pool. , was set up as a Cryptocurrency Exchange and collected. Since hourly data for the entire period is not provided, data is collected at weekly intervals to collect hourly data. As mentioned earlier, since the collected data is a relative number within a period, it is necessary to convert it into an absolute number for the entire period. Therefore, in the step of collecting, cutting the collection interval to exactly one week intervals is to collect the data so that a certain time overlaps between the data for the previous week and the data for the next week, and use the overlapping time to scale the data. According to an embodiment of the present invention, all data is scaled by modifying so that one day overlaps between the previous week and the next week, and the scaled data is shown in Table 2.
<표 2><Table 2>
전처리 모듈(120)은 데이터 수집 모듈(110)에서 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화한다. The preprocessing module 120 performs preprocessing for unifying the data format of the plurality of class data collected by the data collection module 110 into time series data, and the distribution characteristic of each time series data regarding the plurality of preprocessed class data according to the time series data set.
전처리 모듈(120)은 통계 기반 특징 추출기(121), 감성분석 기반 특징 추출기(122), 시간 단위 변환 및 데이터 병합기(123), 시계열 군집화기(124) 및 시계열 분류기(125)를 포함한다. The preprocessing module 120 includes a statistics-based
도 3은 본 발명의 일 실시예에 따른 블록 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다. 3 is a diagram for explaining a process of extracting feature data of block data according to an embodiment of the present invention.
도 3a는 본 발명의 일 실시예에 따른 블록 통계 데이터 추출표를 나타내고, 도 3b는 본 발명의 일 실시예에 따른 블록 데이터 변환과정을 나타낸다. 3A shows a block statistical data extraction table according to an embodiment of the present invention, and FIG. 3B shows a block data conversion process according to an embodiment of the present invention.
통계 기반 특징 추출기(121)는 JSON 형태의 블록 데이터로부터 통계 기반 특징 시계열을 추출한다. The statistics-based
통계 기반 특징 추출기(121)는 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성한다. The statistics-based
수집된 블록 데이터의 최하위 입출력 레벨로부터 바텀-업 방식으로 통계 데이터를 추출한다. 각 트랜잭션 내부에 포함된 다수의 입출력 레벨 데이터들로부터 통계 데이터를 추출하고 이는 트랜잭션 레벨의 데이터와 병합된다. 마찬가지로 각 블록 내부에 포함된 다수의 트랜잭션 레벨 데이터들로부터 통계 데이터를 추출하고 이는 블록 레벨의 데이터와 병합된다. 이 과정은 총 312개의 통계 데이터를 추출하며 시간 단위는 블록의 높이이다. 본 발명에서는 다른 클래스의 데이터와 시간 단위를 맞추기 위하여 1시간 내 포함된 모든 블록 높이의 데이터에 평균을 취함으로써 통계 데이터의 단위를 블록 높이에서 시 단위로 변환하였다. 추출과정에 대한 개요와 각 레벨의 데이터 개수는 도 3a에 나타나 있으며 통계 데이터의 형식은 표 3과 같다. Statistical data is extracted from the lowest input/output level of the collected block data in a bottom-up method. Statistical data is extracted from multiple input/output level data included in each transaction, and it is merged with transaction level data. Similarly, statistical data is extracted from a plurality of transaction-level data included in each block, and this is merged with block-level data. This process extracts a total of 312 statistical data, and the unit of time is the height of the block. In the present invention, the unit of statistical data is converted from block height to hour unit by taking the average of all block height data included within one hour in order to match the time unit with data of another class. An outline of the extraction process and the number of data at each level are shown in FIG. 3A, and the format of the statistical data is shown in Table 3.
<표 3><Table 3>
도 3a를 참조하면, 1차와 2차 통계 추출에서 추출하는 통계의 항목은 동일하다. 블록 레벨 데이터는 추출과정을 거치지 않고 총 4(4*1)개의 특징으로 변환되며 트랜잭션 레벨 데이터는 2차 통계 추출과정만을 거쳐 총 66(6*11)개의 특징으로 변환된다. 입출력 레벨 데이터는 1차 통계 추출과정과 2차 통계 추출과정 모두를 거쳐 총 242(2*11*11)개의 특징으로 변환된다.Referring to FIG. 3A , items of statistics extracted in primary and secondary statistical extraction are the same. Block level data is converted into a total of 4 (4*1) features without going through an extraction process, and transaction level data is converted into a total of 66 (6*11) features through only a secondary statistical extraction process. Input/output level data is converted into a total of 242 (2*11*11) features through both the primary and secondary statistical extraction processes.
도 4는 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of extracting feature data of text social media data according to an embodiment of the present invention.
도 4a는 본 발명의 일 실시예에 따른 감성 분석 예시를 나타내고, 도 4b는 본 발명의 일 실시예에 따른 감성 분석 결과를 나타낸다. 4A shows an example of sentiment analysis according to an embodiment of the present invention, and FIG. 4B shows a result of sentiment analysis according to an embodiment of the present invention.
감성분석 기반 특징 추출기(122)는 텍스트 형태의 텍스트 소셜 미디어 데이터로부터 감성분석 기반 특징 시계열 데이터를 추출한다. The sentiment analysis-based feature extractor 122 extracts sentiment analysis-based feature time series data from text social media data in text form.
감성분석 기반 특징 추출기(122)는 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성한다. The sentiment analysis-based feature extractor 122 generates sentiment analysis data by classifying emotions into positive, negative, or neutral emotions through sentiment analysis on the text social media data collected from the text social media data collector.
수집된 텍스트 소셜 미디어 데이터들은 파이선의 TextBlob 패키지 기반 감성 분석 모듈을 통해 긍정적, 부정적 또는 중립적 감정으로 분류되며 감성 분석의 결과로 각 텍스트 소셜 미디어 데이터의 텍스트는 -1과 1 사이의 실수 값이 할당되며 텍스트 소셜 미디어 데이터 내 문자열들의 감성 수치가 0이 아닌 양의 값을 가지면 해당 데이터는 긍정적이라고 평가된다. 마찬가지로 텍스트 소셜 미디어 데이터 내 문자열들의 감성 수치가 0이 아닌 음의 값을 가지면 해당 데이터는 부정적이라고 평가되며 0의 값을 가지면 중립적이라고 평가된다. 결과적으로 감성 분석 모듈은 수집된 텍스트 소셜 미디어 데이터에 대하여 감성 분석을 수행하고 블록 데이터 예측에 적합한 6개의 시계열 데이터를 생성한다. 감성분석이 수행된 데이터는 표 4와 같다.The collected text social media data is classified as positive, negative, or neutral emotion through Python’s TextBlob package-based sentiment analysis module. As a result of sentiment analysis, the text of each text social media data is assigned a real value between -1 and 1. If the sentiment value of the character strings in the text social media data has a non-zero positive value, the corresponding data is evaluated as positive. Similarly, if the emotional value of the character strings in the text social media data has a negative value other than 0, the corresponding data is evaluated as negative, and if it has a value of 0, it is evaluated as neutral. As a result, the sentiment analysis module performs sentiment analysis on the collected text social media data and generates six time series data suitable for block data prediction. The data on which sentiment analysis was performed are shown in Table 4.
<표 4><Table 4>
시간 단위 변환 및 데이터 병합기(123)는 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기(121)로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환한다. 그리고, 감성분석 기반 특징 추출기(122)로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기(121), 가격 데이터 수집기(112), 감성분석 기반 특징 추출기(122) 및 시계열 소셜 미디어 데이터 수집기(114)로부터 획득된 데이터들을 시계열 데이터로 병합한다. The time unit conversion and data merge unit 123 averages the block heights of all statistical data included within a predetermined time for the statistical data obtained from the statistics-based
다시 말해, 시간 단위 변환 및 데이터 병합기(123)는 예측 모델에 입력하기 위해 모든 데이터의 시간 단위를 통일한다. 예를 들어, 블록 데이터는 블록 높이 단위를 시 단위로 변환하고, 텍스트 소셜 미디어 데이터는 텍스트 형태의 텍스트 소셜 미디어 데이터로부터 감성분석 기반 특징 시계열 데이터를 추출하며, 가격 데이터는 분 단위를 시로 변환하여 모든 데이터의 시간 단위를 통일한다.In other words, the time unit conversion and data merger 123 unifies the time units of all data to be input to the predictive model. For example, block data converts block height units into hours, text social media data extracts sentiment analysis-based feature time series data from text social media data in text form, and price data converts minutes into hours to convert all Unify the time unit of data.
도 5는 본 발명의 일 실시예에 따른 블록 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a data format conversion process of block data according to an embodiment of the present invention.
도 5a는 본 발명의 일 실시예에 따른 시간 단위 변환 및 블록 통계 데이터를 설명하기 위한 도면이고, 도 5b는 본 발명의 일 실시예에 따른 시간 단위 변환, 블록 통계 데이터 및 데이터 관점을 설명하기 위한 도면이다. 5A is a diagram for explaining time unit transformation and block statistical data according to an embodiment of the present invention, and FIG. 5B is a diagram for explaining time unit transformation, block statistical data, and data viewpoint according to an embodiment of the present invention It is a drawing.
블록 데이터의 단위는 블록 높이이며 이를 단위 시간 내 포함된 블록 통계 데이터의 평균으로 변환한다. 예를 들어, 블록의 평균 생성 주기가 10분일 경우 시간당 평균 6개를 생성할 수 있다. The unit of block data is the block height, and it is converted into the average of the block statistical data included within the unit time. For example, if the average generation period of a block is 10 minutes, an average of 6 blocks can be generated per hour.
도 6은 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.6 is a diagram for explaining a data format conversion process of text social media data according to an embodiment of the present invention.
도 6a는 본 발명의 일 실시예에 따른 시간 단위 변환 및 텍스트 소셜 미디어 데이터를 설명하기 위한 도면이고, 도 6b는 본 발명의 일 실시예에 따른 시간 단위 변환, 텍스트 소셜 미디어 데이터 및 데이터 관점을 설명하기 위한 도면이다.6A is a diagram for explaining time unit conversion and text social media data according to an embodiment of the present invention, and FIG. 6B is a view for explaining time unit conversion, text social media data and data perspective according to an embodiment of the present invention It is a drawing for
텍스트 소셜 미디어 데이터의 단위는 없으며 이를 단위 시간 내 발생한 텍스트 소셜 미디어 데이터의 감성 수치를 세거나 합하여 6개의 특징 데이터를 추출한다. There is no unit of text social media data, and six characteristic data are extracted by counting or summing emotional values of text social media data generated within a unit time.
도 7은 본 발명의 일 실시예에 따른 가격 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.7 is a view for explaining a data format conversion process of price data according to an embodiment of the present invention.
도 7a는 본 발명의 일 실시예에 따른 시간 단위 변환 및 가격 데이터를 설명하기 위한 도면이고, 도 7b는 본 발명의 일 실시예에 따른 시간 단위 변환, 가격 데이터 및 데이터 관점을 설명하기 위한 도면이다.7A is a view for explaining time unit conversion and price data according to an embodiment of the present invention, and FIG. 7B is a view for explaining time unit conversion, price data and data point of view according to an embodiment of the present invention .
가격 데이터의 단위는 분이며 이를 단위 시간 내 가격과 거래량의 평균을 취함으로써 단위를 시로 변환한다. The unit of price data is minutes, and the unit is converted to hours by taking the average of the price and volume within the unit time.
도 8은 본 발명의 일 실시예에 따른 전체 클래스 데이터를 병합하는 과정을 설명하기 위한 도면이다. 8 is a diagram for explaining a process of merging all class data according to an embodiment of the present invention.
시간 단위 변환 및 데이터 병합기(123)는 시간 단위 변환 및 데이터 병합기(123)를 통해 시간 단위가 통일된 블록 통계 데이터(810), 시계열 소셜 미디어 데이터(820), 텍스트 소셜 미디어 데이터(다시 말해, 트윗 특징 데이터)(830) 및 가격 데이터(다시 말해, 거래 데이터)(840)를 병합하여 통합된 시계열 데이터(850)를 생성한다. The time unit conversion and data merger 123 includes block
도 9는 본 발명의 일 실시예에 따른 시계열 데이터 셋으로 군집화하는 과정을 설명하기 위한 도면이다. 9 is a diagram for explaining a process of clustering into a time series data set according to an embodiment of the present invention.
도 9a는 본 발명의 일 실시예에 따른 스피어만 순위 상관 계수의 예시를 나타내는 도면이고, 도 9b는 본 발명의 일 실시예에 따른 시계열 군집화 개요를 나타내는 도면이다. 9A is a diagram illustrating an example of a Spearman rank correlation coefficient according to an embodiment of the present invention, and FIG. 9B is a diagram illustrating an overview of time series clustering according to an embodiment of the present invention.
시계열 데이터는 다양한 분포 특징을 가질 수 있으며 군집화한 데이터를 학습할 시 예측 성능을 향상 시킬 수 있다. Time series data can have various distribution characteristics, and when learning clustered data, prediction performance can be improved.
시계열 군집화기(124)는 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화한다. The time series clusterer 124 calculates the correlation coefficient between time series data through the K-Medoids clustering algorithm using the Spearman rank correlation coefficient as a distance measurement algorithm for time series data obtained from time unit transformation and data merger, and calculates the correlation coefficient between time series data They are clustered into time series data sets according to their distribution characteristics.
시계열 분류기(125)는 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류한다. The time series classifier 125 classifies the time series data set to be input to the prediction model with respect to the time series data set obtained from the time series clusterer.
DDoS 공격이 발생한 후 대부분의 가격 손실은 이틀 내에 복구되며 5일 내에 복구되지 않는 경우도 있다고 보고되었다. 본 발명에서는 비트코인에 영향을 미치는 긍정적인 또는 부정적인 사건이 계속 발생하고 있으며 이러한 사건에 의해 비트코인 데이터가 영향을 받음에 따라 사건이 발생했을 때와 사건이 발생하지 않았을 때의 시계열 분포가 달라질 것이라고 가정한다. 본 발명에서는 가정에 따라 클러스터링 알고리즘을 통해 수집한 시계열 데이터들을 분포 특징을 고려하여 군집화하고 군집 별로 학습 모델을 생성하여 학습 과정과 테스트 과정의 오차를 최소화하고자 한다. 먼저, 다변량 시계열 데이터를 시퀀스 길이 로 샘플링한다. 가 특징 벡터의 크기일 때, 는 특정 시간 의 특징 벡터를 나타낸다. 그리고 가 번째 샘플링된 시계열 데이터라고 할 때, 로 나타낼 수 있다. 결과적으로 전체 데이터의 개수가 일 때, 샘플링된 시계열 데이터의 개수는 이다. After a DDoS attack, it has been reported that most price losses are recovered within two days and in some cases not within five days. In the present invention, positive or negative events that affect Bitcoin continue to occur, and as Bitcoin data is affected by these events, the time series distribution when an event occurs and when an event does not occur will be different. Assume In the present invention, according to an assumption, time series data collected through a clustering algorithm are clustered in consideration of distribution characteristics, and a learning model is generated for each cluster to minimize the error between the learning process and the test process. First, multiply the multivariate time series data by sequence length. sample with When is the size of the feature vector, is a specific time represents the feature vector of . And go For the second sampled time series data, can be expressed as As a result, the total number of data When , the number of sampled time series data is am.
다음으로, 앞선 과정에서 얻은 개의 데이터를 클러스터링하여 유사한 분포 특징을 가진 시계열끼리 군집화한다. 본 발명에서는 샘플링된 시계열들을 군집화하기 위하여 K-Medoids 알고리즘을 사용했다. K-Medoids 알고리즘은 거리 기반 비유사성과 같은 비용함수를 최소화하는 방향으로 동작한다. 본 발명에서 K-Medoids 알고리즘은 와 같은 차원인 시계열 객체가 주어질 때, 시계열 객체들을 개의 집합 로 나눈다. 가 집합 의 중심일 때, 이 알고리즘은 집합에서 중심과 각 시계열 객체 사이의 최소 제곱 거리의 집합 를 찾으며 수식은 다음과 같다:Next, obtained in the previous process Data is clustered between time series with similar distribution characteristics. In the present invention, the K-Medoids algorithm is used to cluster the sampled time series. The K-Medoids algorithm works toward minimizing cost functions such as distance-based dissimilarity. In the present invention, the K-Medoids algorithm is Such as Given a time series object that is a dimension, set of dogs Divide by autumn set At the centroid of , this algorithm computes the set of least squares distances between the centroid and each time series object in the set. , and the formula is:
일반적으로 K-Medoids 알고리즘은 거리 측정 알고리즘으로 유클리드 거리를 사용한다. 하지만, 시계열들의 분포 특징을 유클리드 거리로 계산하는 것은 적합하지 않다. 본 발명에서는 시계열 간 선형 관계를 측정할 수 있는 피어슨 상관계수와 단조 관계를 측정할 수 있는 스피어만 상관계수를 고려한다. 피어슨 상관계수는 데이터에서 두 변수의 공분산을 표준 편차의 곱으로 나눈 값과 같으며 수식은 다음과 같다:In general, the K-Medoids algorithm uses Euclidean distance as a distance measurement algorithm. However, it is not suitable to calculate the distribution characteristics of time series using the Euclidean distance. In the present invention, a Pearson correlation coefficient capable of measuring a linear relationship between time series and a Spearman correlation coefficient capable of measuring a monotonic relationship are considered. The Pearson correlation coefficient is equal to the covariance of two variables in the data divided by the product of the standard deviation, and the formula is:
피어슨 상관계수는 사용하기 이전에 두 변수 중 적어도 하나의 변수는 정규분포여야 한다는 조건을 만족해야 하지만 수집한 대부분의 데이터가 정규성을 만족하지 못하므로 정규성 문제에서 자유로운 스피어만 순위 상관계수를 거리 측정 방법으로 사용한다. 스피어만 순위 상관계수는 순위가 매겨진 변수 간 피어슨 상관계수로 정의되며 가 의 순위이고 가 의 순위라고 가정할 때 스피어만 순위 상관계수 는 다음과 같다:Before using the Pearson correlation coefficient, at least one of the two variables must satisfy the condition that it must be normally distributed, but most of the collected data do not satisfy the normality. use it as The Spearman rank correlation coefficient is defined as the Pearson correlation coefficient between the ranked variables. go is the rank of go Spearman rank correlation coefficient, assuming that the rank of is as follows:
스피어만 순위 상관 계수는 -1과 1 사이의 값을 갖고, 계수의 절댓값이 클수록 더 강한 상관 관계를 나타내며, 양의 상관관계와 음의 상관관계를 구분하지 않고 상관관계의 강함에 초점을 맞춘다. 두 데이터 객체 간 측정된 거리를 제곱 기존의 K-Medoids는 거리 측정값이 클수록 각 데이터 객체와의 거리가 멀어지고 이는 거리 측정값이 클수록 각 데이터 객체와의 거리가 가까워지는 스피어만 상관 계수와 반대로 동작한다. 따라서 두 데이터 객체 간 측정된 상관계수에 -1을 곱하여 부호를 전환하고 이 과정을 통해 스피어만 순위 상관계수는 기존의 거리 측정 알고리즘들과 동일하게 동작한다. The Spearman rank correlation coefficient has a value between -1 and 1, and the larger the absolute value of the coefficient, the stronger the correlation. Square the measured distance between two data objects In the conventional K-Medoids, the larger the distance measure, the greater the distance from each data object. It works. Therefore, the sign is changed by multiplying the correlation coefficient measured between two data objects by -1, and through this process, the Spearman rank correlation coefficient operates the same as the existing distance measurement algorithms.
앞서 설명한 K-Medoids에 스피어만 순위 상관계수 기반 거리 측정 알고리즘을 적용했을 때 클러스터 중심과 각 시계열 객체의 최소 거리 집합 를 찾는 수식은 다음과 같다: When the Spearman rank correlation coefficient-based distance measurement algorithm is applied to the previously described K-Medoids, the cluster centroid and the minimum distance set of each time series object The formula to find is:
이때, 는 순위 시계열 객체 의 번째 특징을 나타내며 는 번째 클러스터 중심점의 번째 특징을 나타낸다. 이 클러스터링 알고리즘은 다음과 같이 동작한다:At this time, is a rank time series object of represents the second characteristic Is of the second cluster centroid represents the second characteristic. This clustering algorithm works as follows:
1단계: 먼저, 각 클러스터의 초기 중심점을 데이터 객체 내에서 랜덤하게 개의 데이터로 설정한다.Step 1: First, the initial center point of each cluster is set to random data in the data object.
2단계: 각 데이터 객체와 클러스터 객체 간 스피어만 순위 상관계수를 계산하여 해당 데이터 객체에서 가장 가까운 클러스터를 찾아 데이터를 할당하며 수식은 다음과 같다:Step 2: Calculate the Spearman rank correlation coefficient between each data object and the cluster object to find the cluster closest to the data object and assign the data. The formula is as follows:
3단계: 개의 클러스터의 중심점 를 각 클러스터 내 가장 가운데 위치한 객체로 설정하며 수식은 다음과 같다: Step 3: center point of the cluster is set to the center-located object in each cluster, and the formula is:
4단계: 모든 클러스터가 변하지 않을 때까지 2~3단계를 반복한다.Step 4: Repeat steps 2-3 until all clusters remain unchanged.
스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 간 상관 계수를 계산하여 유사한 분포 특징을 가진 시계열들을 클러스터링한다. 클러스터링 결과는 클러스터 개수 에 따라 다를 수 있기에 본 발명에서는 최적의 군집 수 를 찾기 위하여 를 2부터 12까지 변경하여 클러스터링을 수행했다. 또한, 동일 클러스터 개수 에 대해서도 어떤 객체가 초기 중심점으로 설정되는가에 따라 클러스터링 결과가 달라질 수 있으므로 각 마다 클러스터링을 5000번 동안 반복적으로 수행하고 그 중 실루엣 계수가 가장 높은 클러스터링 결과를 채택했다.Time series with similar distribution characteristics are clustered by calculating the correlation coefficient between time series through the K-Medoids clustering algorithm using the Spearman rank correlation coefficient as the distance measurement algorithm. The clustering result is the number of clusters. In the present invention, the optimal number of clusters to find was changed from 2 to 12 to perform clustering. Also, the same number of clusters As the clustering result may vary depending on which object is set as the initial center point for Each clustering was repeated 5000 times, and among them, the clustering result with the highest silhouette coefficient was adopted.
도 10은 본 발명의 일 실시예에 따른 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 과정을 설명하기 위한 도면이다. 10 is a diagram for explaining a process of generating a plurality of prediction models according to a time series data set according to an embodiment of the present invention.
학습 모듈(130)은 전처리 모듈(120)에서 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 예측 모델 생성기(131)를 통해 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성한다. The learning module 130 learns through a deep learning-based model for a plurality of time series data sets clustered in the preprocessing module 120, and a plurality of predictive models according to the plurality of time series data sets through the predictive model generator 131. create
본 발명의 실시예에 따른 예측을 위한 모델로 순환신경망(RNN)의 변형인 LSTM(Long short-term memory)과 GRU(Gated Recurrent Unit)를 사용한다. 예측 모델은 파이선(Python)을 기반으로 하여 텐서플로(Tensorflow)의 래퍼(wrapper) 라이브러리인 케라스(Keras)로 구현되었다. LSTM은 순환신경망의 변형으로 RNN의 장기 의존성 문제를 해결했을 뿐만 아니라 학습 또한 빠르게 수렴한다. As a model for prediction according to an embodiment of the present invention, a long short-term memory (LSTM) and a gated recurrent unit (GRU), which are variants of a recurrent neural network (RNN), are used. The predictive model is based on Python and implemented with Keras, a wrapper library of Tensorflow. LSTM is a transformation of the recurrent neural network that not only solves the problem of long-term dependence of RNNs, but also converges learning rapidly.
GRU는 LSTM의 변형으로 더 간단한 구조를 갖기 때문에 기존 LSTM보다 학습할 가중치가 적다는 이점을 가진다.Because GRU is a variant of LSTM and has a simpler structure, it has the advantage of having fewer weights to learn than the existing LSTM.
예측 모델의 입력은 다차원 벡터로 이루어진 시퀀스 길이 의 시계열이며 출력은 다음 시간 의 데이터 변동 방향, 변화율이며 예측 모델 최적화를 위해 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며 예측 모델을 생성하였다. The input to the predictive model is a sequence length consisting of multidimensional vectors. is a time series of and the output is A predictive model was created by changing the learning variables including the data change direction and rate of change of the sequence length and the number of times of learning to optimize the predictive model.
앞서 전체 시계열 데이터 셋을 클러스터링을 하고 유사한 분포 특징을 지닌 시계열 데이터의 셋을 생성했다. 각 시계열 데이터 셋에 대응하는 예측 모델을 생성하였으며 결과적으로 클러스터 개수 개의 예측 모델이 생성된다. Previously, the entire time series data set was clustered and time series data sets with similar distribution characteristics were generated. A predictive model corresponding to each time series data set was created, and as a result, the number of clusters A predictive model is created.
도 11은 본 발명의 일 실시예에 따른 새로운 데이터가 입력될 경우 예측 모델을 선택하는 과정을 설명하기 위한 도면이다. 11 is a diagram for explaining a process of selecting a predictive model when new data is input according to an embodiment of the present invention.
예측 모듈(140)은 학습 모듈(130)에서 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 데이터 예측기(141)를 통해 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택한다. The prediction module 140 evaluates the plurality of prediction models learned in the learning module 130 , and when new data is input, selects a prediction model to be predicted from among the plurality of prediction models through the data predictor 141 . do.
예측 모듈(140)은 학습 모듈(130)에서 생성된 복수의 예측 모델을 평가하는 방법과 새로운 데이터가 입력되었을 때 예측을 수행할 예측 모델을 선택한다. 본 발명의 실시예에 따르면, 군집화된 시계열 데이터 셋은 객관적인 평가를 위하여 6:2:2 비율의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋으로 분할된다. 클러스터링 결과에 따라 학습된 모델에 검증 데이터셋과 테스트 데이터셋을 입력하여 모델을 평가할 때 데이터 셋의 개별 시계열 데이터는 시계열 분류기를 거쳐 적합한 학습 모델에 입력되며 예측 모듈(140)은 입력된 시계열 데이터와 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택한다. The prediction module 140 selects a method for evaluating a plurality of prediction models generated by the learning module 130 and a prediction model to perform prediction when new data is input. According to an embodiment of the present invention, the clustered time series data set is divided into a training data set, a verification data set, and a test data set at a ratio of 6:2:2 for objective evaluation. When the model is evaluated by inputting the validation dataset and the test dataset to the trained model according to the clustering result, the individual time series data of the dataset goes through a time series classifier and is input to a suitable training model, and the prediction module 140 is combined with the input time series data and Select a predictive model to input data by searching for the nearest cluster centroid.
도 12는 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법을 설명하기 위한 흐름도이다.12 is a flowchart for explaining a deep learning-based Bitcoin block data prediction method in consideration of a time series distribution feature according to an embodiment of the present invention.
제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법은 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계(1210), 전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계(1220), 학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계(1230) 및 예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계(1240)를 포함한다. The proposed deep learning-based Bitcoin block data prediction method considering the time series distribution feature collects a plurality of class data including block data, social media data, and price data by the data collection module ( 1210 ), in which the pre-processing module is collected. Performing pre-processing to unify the data format of a plurality of class data into time series data, and clustering into a time series data set according to the distribution characteristics of each time series data of the preprocessed plurality of class data (1220), learning module Learning through a deep learning-based model on the clustered plurality of time series data sets, generating a plurality of predictive models according to the plurality of time series data sets ( 1230 ) and the prediction module evaluates the learned plurality of predictive models and selecting a prediction model to be predicted from among a plurality of prediction models when new data is input ( 1240 ).
단계(1210)에서, 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집한다. In
블록 데이터 수집기가 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집한다. The block data collector contains block-level data, which is the header part of the block, transaction-level data including actual transaction data, input/output level data, which is a set of inputs and outputs included in the transaction, and contains transaction information in the blockchain network. Collect block data.
가격 데이터 수집기가 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집한다. A price data collector collects price data, which means the exchange rate with cash, as a cryptocurrency implemented through a blockchain platform.
텍스트 소셜 미디어 데이터 수집기가 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집한다. A text social media data collector collects text social media data for performing analysis on keywords from text social media.
시계열 소셜 미디어 데이터 수집기가 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집한다. A time-series social media data collector collects time-series social media data for performing analysis on keywords from time-series social media.
단계(1220)에서, 전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화한다. In
통계 기반 특징 추출기가 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성한다. Data format of block height by statistic-based feature extractor extracting statistical data from input/output level data of block data collected from block data collector and merging with transaction level data, extracting statistical data from transaction level data and merging with block level data Generate statistical data with
감성분석 기반 특징 추출기가 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성한다. The sentiment analysis-based feature extractor generates sentiment analysis data by classifying it into positive, negative, or neutral emotions through sentiment analysis on the text social media data collected from the text social media data collector.
시간 단위 변환 및 데이터 병합기가 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환한다. 그리고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합한다. In order for the time unit conversion and data consolidator to unify the format of the data into time series data, for the statistical data obtained from the statistics-based feature extractor, the block height of all statistical data included within a predetermined time is averaged. Converts the format from block heights to units of time. And, by generating a plurality of time series data on the sentiment analysis data obtained from the sentiment analysis-based feature extractor, the data obtained from the statistical-based feature extractor, the price data collector, the sentiment analysis-based feature extractor, and the time series social media data collector are converted into time series data. merge
시계열 군집화기가 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화한다. The time series clusterer calculates the correlation coefficient between the time series data through the K-Medoids clustering algorithm using the Spearman rank correlation coefficient as the distance measurement algorithm for the time series data obtained from the time unit transformation and the data merger, and analyzes the distribution characteristics of the time series data. It is then clustered into time series data sets.
시계열 분류기가 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류한다. The time series classifier classifies the time series data set to be input to the prediction model with respect to the time series data set obtained from the time series clusterer.
단계(1230)에서, 학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성한다. In
LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성한다. Using Long short-term memory (LSTM) or Gated Recurrent Unit (GRU) to change the training variables including the sequence length and number of times of time series data, a predictive model corresponding to each time series data set clustered in the preprocessing module create
단계(1240)에서, 예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택한다. In
학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택한다. A plurality of predictive models are evaluated by inputting the training dataset, validation dataset, and test dataset of the time series data set obtained from the time series classifier of the preprocessing module to the plurality of prediction models obtained from the learning module, and the obtained time series data set and Select a predictive model to input data by searching for the nearest cluster centroid.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. may be embodied in The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (12)
수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 전처리 모듈;
군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 학습 모듈; 및
학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 예측 모듈
을 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템. a data collection module for collecting a plurality of class data including block data, social media data, and price data;
A preprocessing module that performs preprocessing to unify the data format of the collected plurality of class data into time series data, and clusters the preprocessed plurality of class data into time series data sets according to the distribution characteristics of each time series data;
a learning module for learning through a deep learning-based model on a plurality of clustered time series data sets, and generating a plurality of prediction models according to the plurality of time series data sets; and
A prediction module that evaluates a plurality of learned prediction models and selects a prediction model to perform prediction from among the plurality of prediction models when new data is input
A deep learning-based Bitcoin block data prediction system that includes
데이터 수집 모듈은,
블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집하는 블록 데이터 수집기;
블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집하는 가격 데이터 수집기;
텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집하는 텍스트 소셜 미디어 데이터 수집기; 및
시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집하는 시계열 소셜 미디어 데이터 수집기
를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템. According to claim 1,
The data collection module is
Block-level data, which is the header part of the block, transaction-level data including actual transaction data, and input/output level data, which is a set of inputs and outputs included in a transaction, are collected, and block data containing transaction information in the blockchain network is collected. a block data collector;
a price data collector that collects price data, which means the exchange rate with cash, as a cryptocurrency implemented through a blockchain platform;
a text social media data collector for collecting text social media data for performing analysis on keywords from text social media; and
A time series social media data collector that collects time series social media data to perform keyword analysis from time series social media.
A deep learning-based Bitcoin block data prediction system that includes
전처리 모듈은,
블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성하는 통계 기반 특징 추출기;
텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성하는 감성분석 기반 특징 추출기; 및
데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환하고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합하는 시간 단위 변환 및 데이터 병합기
를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템. 3. The method of claim 2,
The preprocessing module is
Statistical data having a data format of block height is obtained by extracting statistical data from the input/output level data of block data collected from the block data collector and merging it with transaction level data, and by extracting statistical data from transaction level data and merging with block level data. generating statistical-based feature extractors;
a sentiment analysis-based feature extractor that classifies emotions into positive, negative, or neutral emotions through sentiment analysis on text social media data collected from a text social media data collector to generate sentiment analysis data; and
In order to unify the format of data into time series data, the format of statistical data is changed from block height to time unit by taking the average of the block heights of all statistical data included within a predetermined time for the statistical data obtained from the statistics-based feature extractor. , and generate a plurality of time series data on the sentiment analysis data obtained from the sentiment analysis-based feature extractor, Time unit conversion and data merger to merge into data
A deep learning-based Bitcoin block data prediction system that includes
전처리 모듈은,
시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 시계열 군집화기; 및
시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류하는 시계열 분류기
를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템.4. The method of claim 3,
The preprocessing module is
For time series data obtained from time unit conversion and data merger, the correlation coefficient between time series data is calculated through the K-Medoids clustering algorithm using the Spearman rank correlation coefficient as the distance measurement algorithm, and the time series data according to the distribution characteristics of the time series data a time series clusterer that clusters into three; and
A time series classifier that classifies the time series data set to be input to the predictive model with respect to the time series data set obtained from the time series clusterer
A deep learning-based Bitcoin block data prediction system that includes
학습 모듈은,
LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성하는
딥러닝 기반 비트코인 블록 데이터 예측 시스템. According to claim 1,
The learning module is
Using Long short-term memory (LSTM) or Gated Recurrent Unit (GRU) to change the training variables including the sequence length and number of times of time series data, a predictive model corresponding to each time series data set clustered in the preprocessing module to create
Bitcoin block data prediction system based on deep learning.
예측 모듈은,
학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택하는
딥러닝 기반 비트코인 블록 데이터 예측 시스템. According to claim 1,
The prediction module is
A plurality of predictive models are evaluated by inputting the training dataset, validation dataset, and test dataset of the time series data set obtained from the time series classifier of the preprocessing module to the plurality of prediction models obtained from the learning module, and the obtained time series data set and It selects a predictive model to input data by searching for the nearest cluster centroid.
Bitcoin block data prediction system based on deep learning.
전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계;
학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계; 및
예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계
를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 방법. collecting, by the data collection module, a plurality of class data including block data, social media data, and price data;
performing pre-processing to unify the data format of the plurality of class data collected by the pre-processing module into time series data, and grouping them into time series data sets according to the distribution characteristics of each time series data regarding the plurality of preprocessed class data;
Learning by the learning module through a deep learning-based model for a plurality of time series data sets clustered, and generating a plurality of prediction models according to the plurality of time series data sets; and
The prediction module evaluates the plurality of learned prediction models, and when new data is input, selecting a prediction model to perform prediction from among the plurality of prediction models
Deep learning-based Bitcoin block data prediction method including
데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계는,
블록 데이터 수집기가 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집하고;
가격 데이터 수집기가 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집하고;
텍스트 소셜 미디어 데이터 수집기가 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집하며;
시계열 소셜 미디어 데이터 수집기가 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집하는
딥러닝 기반 비트코인 블록 데이터 예측 방법. 8. The method of claim 7,
The data collection module collects a plurality of class data including block data, social media data, and price data,
The block data collector contains block-level data, which is the header part of the block, transaction-level data including actual transaction data, input/output level data, which is a set of inputs and outputs included in the transaction, and contains transaction information in the blockchain network. collect block data;
a price data collector collects price data, which means an exchange rate with cash as a cryptocurrency implemented through a blockchain platform;
the text social media data collector collects text social media data for performing analysis on keywords from the text social media;
Time series social media data collector collects time series social media data to perform analysis on keywords from time series social media.
Deep learning-based Bitcoin block data prediction method.
전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계는,
통계 기반 특징 추출기가 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성하고;
감성분석 기반 특징 추출기가 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성하며;
시간 단위 변환 및 데이터 병합기가 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환하고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합하는
딥러닝 기반 비트코인 블록 데이터 예측 방법. 9. The method of claim 8,
The preprocessing module performs preprocessing to unify the data format of the plurality of class data collected into time series data, and the step of clustering into time series data sets according to the distribution characteristics of each time series data regarding the preprocessed plurality of class data is ,
Data format of block height by statistic-based feature extractor extracting statistical data from input/output level data of block data collected from block data collector and merging with transaction level data, extracting statistical data from transaction level data and merging with block level data generate statistical data having
the sentiment analysis-based feature extractor generates sentiment analysis data by classifying positive, negative or neutral emotions through sentiment analysis on the text social media data collected from the text social media data collector;
In order for the time unit conversion and data consolidator to unify the format of the data into time series data, for the statistical data obtained from the statistics-based feature extractor, the block height of all statistical data included within a predetermined time is averaged. It converts the format from block height to time unit, and generates a plurality of time series data about the sentiment analysis data obtained from the sentiment analysis-based feature extractor to generate statistical-based feature extractors, price data collectors, sentiment analysis-based feature extractors, and time series social media data The data obtained from the collector is merged into time series data.
Deep learning-based Bitcoin block data prediction method.
시계열 군집화기가 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화하고;
시계열 분류기가 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류하는
딥러닝 기반 비트코인 블록 데이터 예측 방법. 10. The method of claim 9,
The time series clusterer calculates the correlation coefficient between the time series data through the K-Medoids clustering algorithm using the Spearman rank correlation coefficient as the distance measurement algorithm for the time series data obtained from the time unit transformation and the data merger, and analyzes the distribution characteristics of the time series data. clustered into time series data sets according to;
The time series classifier classifies the time series data set to be input to the prediction model with respect to the time series data set obtained from the time series clusterer.
Deep learning-based Bitcoin block data prediction method.
학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계는,
LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성하는
딥러닝 기반 비트코인 블록 데이터 예측 방법. 8. The method of claim 7,
The learning module learns through a deep learning-based model on a plurality of time series data sets clustered, and generates a plurality of prediction models according to the plurality of time series data sets,
Using Long short-term memory (LSTM) or Gated Recurrent Unit (GRU) to change the training variables including the sequence length and number of times of time series data, a predictive model corresponding to each time series data set clustered in the preprocessing module to create
Deep learning-based Bitcoin block data prediction method.
예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계는,
학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택하는
딥러닝 기반 비트코인 블록 데이터 예측 방법.
8. The method of claim 7,
The prediction module evaluates a plurality of learned prediction models, and when new data is input, selecting a prediction model to perform prediction from among the plurality of prediction models comprises:
A plurality of predictive models are evaluated by inputting the training dataset, validation dataset, and test dataset of the time series data set obtained from the time series classifier of the preprocessing module to the plurality of prediction models obtained from the learning module, and the obtained time series data set and It selects a predictive model to input data by searching for the nearest cluster centroid.
Deep learning-based Bitcoin block data prediction method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200132680A KR102438923B1 (en) | 2020-10-14 | 2020-10-14 | Deep Learning based Bitcoin Block Data Prediction System Considering Characteristics of Time-Series Distribution |
PCT/KR2020/017919 WO2022080583A1 (en) | 2020-10-14 | 2020-12-09 | Deep learning-based bitcoin block data prediction system taking into account time series distribution characteristics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200132680A KR102438923B1 (en) | 2020-10-14 | 2020-10-14 | Deep Learning based Bitcoin Block Data Prediction System Considering Characteristics of Time-Series Distribution |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220049259A true KR20220049259A (en) | 2022-04-21 |
KR102438923B1 KR102438923B1 (en) | 2022-09-01 |
Family
ID=81208214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200132680A KR102438923B1 (en) | 2020-10-14 | 2020-10-14 | Deep Learning based Bitcoin Block Data Prediction System Considering Characteristics of Time-Series Distribution |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102438923B1 (en) |
WO (1) | WO2022080583A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024000152A1 (en) * | 2022-06-28 | 2024-01-04 | Chan Kin Kwan | A system and a method for analysing a market of exchangeable assets |
CN115941291A (en) * | 2022-11-16 | 2023-04-07 | 西南科技大学 | Analysis system and method for security situation awareness of DPoS (distributed denial of service) block chain network |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101862000B1 (en) * | 2017-11-22 | 2018-05-29 | 팝펀딩 주식회사 | Risk management system of cryptography money using multi-customer |
KR20190013038A (en) * | 2017-07-31 | 2019-02-11 | 주식회사 빅트리 | System and method for trend predicting based on Multi-Sequences data Using multi feature extract technique |
KR20200005206A (en) * | 2018-07-06 | 2020-01-15 | 에임시스템 주식회사 | System and method for fault classification of equipment based on machine learning |
KR20200036219A (en) * | 2018-09-28 | 2020-04-07 | 충북대학교 산학협력단 | Method for predicting price of agricultural product and sales volume using Long Short-Term Memory |
KR102142524B1 (en) | 2020-02-20 | 2020-08-10 | 팀블랙버드 주식회사 | Method, apparatus and computer program for forecasting cryptocurrency cost variability using artificial intelligence |
KR20200115708A (en) * | 2019-03-11 | 2020-10-08 | 한전케이디엔주식회사 | Method for Price Prediction of Resource Based on Deep Learning |
-
2020
- 2020-10-14 KR KR1020200132680A patent/KR102438923B1/en active IP Right Grant
- 2020-12-09 WO PCT/KR2020/017919 patent/WO2022080583A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190013038A (en) * | 2017-07-31 | 2019-02-11 | 주식회사 빅트리 | System and method for trend predicting based on Multi-Sequences data Using multi feature extract technique |
KR101862000B1 (en) * | 2017-11-22 | 2018-05-29 | 팝펀딩 주식회사 | Risk management system of cryptography money using multi-customer |
KR20200005206A (en) * | 2018-07-06 | 2020-01-15 | 에임시스템 주식회사 | System and method for fault classification of equipment based on machine learning |
KR20200036219A (en) * | 2018-09-28 | 2020-04-07 | 충북대학교 산학협력단 | Method for predicting price of agricultural product and sales volume using Long Short-Term Memory |
KR20200115708A (en) * | 2019-03-11 | 2020-10-08 | 한전케이디엔주식회사 | Method for Price Prediction of Resource Based on Deep Learning |
KR102142524B1 (en) | 2020-02-20 | 2020-08-10 | 팀블랙버드 주식회사 | Method, apparatus and computer program for forecasting cryptocurrency cost variability using artificial intelligence |
Also Published As
Publication number | Publication date |
---|---|
WO2022080583A1 (en) | 2022-04-21 |
KR102438923B1 (en) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Neelakandan et al. | RETRACTED ARTICLE: An automated exploring and learning model for data prediction using balanced CA-SVM | |
Minh et al. | Deep learning approach for short-term stock trends prediction based on two-stream gated recurrent unit network | |
Fong et al. | Accelerated PSO swarm search feature selection for data stream mining big data | |
Kang et al. | Neural and attentional factorization machine-based Web API recommendation for mashup development | |
Luo et al. | Semi-supervised feature selection via insensitive sparse regression with application to video semantic recognition | |
KR102438923B1 (en) | Deep Learning based Bitcoin Block Data Prediction System Considering Characteristics of Time-Series Distribution | |
CN113986674B (en) | Time sequence data abnormality detection method and device and electronic equipment | |
Glauner | Artificial intelligence for the detection of electricity theft and irregular power usage in emerging markets | |
CN113435900A (en) | Transaction risk determination method and device and server | |
Farimani et al. | Leveraging latent economic concepts and sentiments in the news for market prediction | |
ARMEL et al. | Fraud detection using apache spark | |
Sinha | Predicting Bitcoin Prices Using Machine Learning Techniques With Historical Data | |
Ortakci et al. | Optimising customer retention: An AI-driven personalised pricing approach | |
Benchaji et al. | Novel learning strategy based on genetic programming for credit card fraud detection in Big Data | |
Chen et al. | Stock market prediction using weighted inter-transaction class association rule mining and evolutionary algorithm | |
Jaiswal et al. | Genetic approach based bug triage for sequencing the instance and features | |
Tejasree et al. | An improved differential bond energy algorithm with fuzzy merging method to improve the document clustering for information mining | |
CN115098674A (en) | Method for generating confrontation network generation data based on cloud ERP supply chain ecosphere | |
Ranjbar-Khadivi et al. | Persian topic detection based on Human Word association and graph embedding | |
Hewapathirana et al. | A systematic investigation on the effectiveness of the tabbert model for credit card fraud detection | |
Ghio et al. | Byte The Bullet: Learning on Real-World Computing Architectures. | |
Thethi et al. | Stock market prediction and portfolio management using ml techniques | |
Malhotra et al. | An efficient FTS-BERT based fake news detection using CKH_GANs classification technique | |
Arjmand et al. | Bitcoin price prediction based on financial data, technical indicators, and news headlines sentiment analysis using CNN and GRU deep learning algorithms | |
Hekmatnia et al. | A parallel classification framework for protein fold recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |