WO2022080583A1 - 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템 - Google Patents

시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템 Download PDF

Info

Publication number
WO2022080583A1
WO2022080583A1 PCT/KR2020/017919 KR2020017919W WO2022080583A1 WO 2022080583 A1 WO2022080583 A1 WO 2022080583A1 KR 2020017919 W KR2020017919 W KR 2020017919W WO 2022080583 A1 WO2022080583 A1 WO 2022080583A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
time series
prediction
block
social media
Prior art date
Application number
PCT/KR2020/017919
Other languages
English (en)
French (fr)
Inventor
김명섭
백의준
박지태
김보선
Original Assignee
고려대학교 세종산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 세종산학협력단 filed Critical 고려대학교 세종산학협력단
Publication of WO2022080583A1 publication Critical patent/WO2022080583A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic 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/06375Prediction of business process outcome or impact based on a proposed change
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash

Definitions

  • the present invention relates to a deep learning-based Bitcoin block data prediction system and method in consideration of time series distribution characteristics.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the prior art for predicting Bitcoin-related data can be classified through data sets and prediction methods.
  • 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.
  • 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.
  • 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.
  • 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. .
  • 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 them into a time series data set according to the distribution characteristics of each time series data regarding the preprocessed plurality of 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
  • 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
  • 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
  • the format of the statistical data is changed from block height to time unit.
  • 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 a 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • LSTM long and short-term memory
  • FIG. 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.
  • FIG. 2 is a diagram showing the configuration of a data collection module according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a process of extracting feature data of block data according to an embodiment of the present invention.
  • FIG. 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.
  • FIG. 5 is a diagram for explaining a data format conversion process of block data according to an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining a data format conversion process of text social media data according to an embodiment of the present invention.
  • FIG. 7 is a view for explaining a data format conversion process of price data according to an embodiment of the present invention.
  • FIG. 8 is a diagram for explaining a process of merging all class data according to an embodiment of the present invention.
  • FIG. 9 is a diagram for explaining a process of clustering into a time series data set according to an embodiment of the present invention.
  • FIG. 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.
  • FIG. 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.
  • FIG. 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.
  • 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.
  • price time series and volume time series data available from Bitcoin exchanges.
  • FIG. 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.
  • 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 .
  • FIG. 2 is a diagram showing the configuration of a data collection module according to an embodiment of the present invention.
  • the data collection module 110 collects a plurality of class data including block data, social media data, and price data.
  • 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 .
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Collect text social media data to perform analysis on 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.
  • 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
  • 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
  • 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.
  • a platform for collecting time-series social media data 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.
  • 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.
  • 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.
  • the preprocessing module 120 includes a statistics-based feature extractor 121 , a sentiment analysis-based feature extractor 122 , a time unit transformation and data merger 123 , a time series clusterer 124 , and a time series classifier 125 .
  • FIG. 3 is a diagram for explaining a process of extracting feature data of block data according to an embodiment of the present invention.
  • FIG. 3A shows a block statistical data extraction table according to an embodiment of the present invention
  • FIG. 3B shows a block data conversion process according to an embodiment of the present invention.
  • the statistics-based feature extractor 121 extracts a statistical-based feature time series from block data in JSON format.
  • the statistics-based feature extractor 121 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 increase the block height Generate statistical data with a data format of
  • 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.
  • Block level data is converted into a total of 4 (4*1) features without going through an extraction process
  • 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.
  • FIG. 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.
  • FIG. 4A shows an example of sentiment analysis according to an embodiment of the present invention
  • FIG. 4B shows a result of sentiment analysis according to an embodiment of the present invention.
  • the sentiment analysis-based feature extractor 122 extracts sentiment analysis-based feature time series data from text social media data in text form.
  • 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.
  • the collected text social media data is classified as positive, negative, or neutral emotion through Python’s TextBlob package-based sentiment analysis module.
  • 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.
  • 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.
  • the time unit conversion and data merging unit 123 averages the block height of all statistical data included within a predetermined time for the statistical data obtained from the statistics-based feature extractor 121 in order to unify the format of the data into time series data. Converts the data format of statistical data from block heights to units of time by taking And, by generating a plurality of time series data about the sentiment analysis data obtained from the sentiment analysis-based feature extractor 122, the statistical-based feature extractor 121, the price data collector 112, the sentiment analysis-based feature extractor 122 and the time series The data obtained from the social media data collector 114 are merged into time series data.
  • time unit conversion and data merger 123 unifies the time units of all data to be input to the predictive model.
  • 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
  • price data converts minutes into hours to convert all Unify the time unit of data.
  • FIG. 5 is a diagram for explaining a data format conversion process of block data according to an embodiment of the present invention.
  • FIG. 5A is a diagram for explaining time unit transformation and block statistical data according to an embodiment of the present invention
  • 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.
  • 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.
  • FIG. 6 is a diagram for explaining a data format conversion process of text social media data according to an embodiment of the present invention.
  • FIG. 6A is a diagram for explaining time unit conversion and text social media data according to an embodiment of the present invention
  • 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
  • FIG. 7 is a view for explaining a data format conversion process of price data according to an embodiment of the present invention.
  • FIG. 7A is a view for explaining time unit conversion and price data according to an embodiment of the present invention
  • 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.
  • FIG. 8 is a diagram for explaining a process of merging all class data according to an embodiment of the present invention.
  • the time unit conversion and data merger 123 includes block statistical data 810, time series social media data 820, text social media data (that is, text social media data) in which time units are unified through the time unit conversion and data merger 123 . , tweet feature data) 830 and price data (ie, transaction data) 840 are merged to generate integrated time series data 850 .
  • FIG. 9 is a diagram for explaining a process of clustering into a time series data set according to an embodiment of the present invention.
  • FIG. 9A is a diagram illustrating an example of a Spearman rank correlation coefficient according to an embodiment of the present invention
  • 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.
  • 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.
  • 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.
  • 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.
  • d is the size of the feature vector, denotes a feature vector at a specific time t.
  • j-th sampled time series data can be expressed as As a result, when the total number of data is L, the number of sampled time series data is Ls.
  • 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.
  • the K-Medoids algorithm is Given a time series object with a d dimension equal to set of dogs Divide by autumn set For the centroid of , the algorithm finds the set S of the least squares distance between the centroid and each time series object in the set, the formula is:
  • 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.
  • 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:
  • the Spearman rank correlation coefficient is defined as the Pearson correlation coefficient between the ranked variables.
  • go is the ranking of go Spearman rank correlation coefficient, assuming that the rank of is as follows:
  • 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.
  • Step 1 First, the initial center point of each cluster is set to random data in the data object.
  • 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:
  • Step 3 Set the center point u of k clusters to the most central object in each cluster, and the formula is as follows:
  • Step 4 Repeat steps 2-3 until all clusters remain unchanged.
  • 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. Since the clustering result may differ depending on the number of clusters k, in the present invention, clustering is performed by changing k from 2 to 12 in order to find the optimal number of clusters k. In addition, even for the same number of clusters k, clustering results may vary depending on which object is set as the initial center point. Therefore, clustering was repeatedly performed for each k for 5000 times, and among them, the clustering result with the highest silhouette coefficient was adopted.
  • FIG. 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.
  • 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
  • LSTM long short-term memory
  • GRU gated recurrent unit
  • RNN recurrent neural network
  • 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 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 of the predictive model is a time series of sequence length s consisting of multidimensional vectors, and the output is the data change direction and rate of change at the next time t-1. generated.
  • time series data set was clustered and time series data sets with similar distribution characteristics were generated.
  • a prediction model corresponding to each time series data set is generated, and as a result, a prediction model with k clusters is generated.
  • FIG. 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 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.
  • 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.
  • 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)
  • 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 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.
  • the pre-processing module performs pre-processing to unify the data format of the collected plurality of class data into time series data, and time series data according to the distribution characteristics of each time series data regarding the pre-processed plurality of class data grouped into three
  • 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.
  • the time unit conversion and data consolidator 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
  • the time series clusterer calculates the correlation coefficient 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, and calculates the correlation coefficient between time series data and the distribution characteristics of time series data. Then, it is clustered into a time series data set.
  • 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.
  • the learning module learns through a deep learning-based model for a plurality of time series data sets clustered, and generates a plurality of predictive models according to the plurality of time series data sets.
  • LSTM Long short-term memory
  • GRU Gated Recurrent Unit
  • the prediction module evaluates a plurality of learned prediction models, and when new data is input, a prediction model to be predicted from among the plurality of prediction models is selected.
  • Evaluate a plurality of predictive models 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.

Abstract

시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템 및 방법이 제시된다. 본 발명에서 제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템은 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 데이터 수집 모듈, 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 전처리 모듈, 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 학습 모듈 및 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 예측 모듈을 포함한다.

Description

시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템
본 발명은 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템 및 방법에 관한 것이다.
비트코인은 사토시 나카모토에 의해 개발된 첫 번째 블록체인 기반 암호화폐이며 비트코인의 개발 이후 많은 블록체인 기반 암호화폐들이 등장하였다. 블록체인 기술이 지닌 데이터 무결성과 암호화폐의 익명성은 암호화폐 시장을 빠르게 성장시켰으며 현재 시장에서 약 5,800개 암호화폐들이 활발히 거래되고 있다. 또한, 시장에서 거래되고 있는 모든 암호화폐들의 시가총액은 약 390조 원에 육박하며 하루 80조 원 규모의 이루어지는 추세다. 암호화폐 시장이 약한 형태의 효율을 띈다는 연구에도 불구하고 암호화폐 시장의 급성장에 따라 암호화폐의 가격 및 변동 추세는 전 세계의 관심사가 되었으며 이를 예측하는 연구들이 수행되었다. 그러나 암호화폐의 가격은 다양한 요소에 의해 영향을 받고 있기에 직접적인 가격 혹은 변동 추세를 예측하는 것보단 이에 영향을 미칠 수 있는 요소들을 분석하고 예측하는 것이 중요하다. 또한, 암호화폐 가격에 영향을 미칠 수 있는 요소들을 예측하는 것은 가격과 변동 추세에 관심을 가지는 사용자에게 폭넓은 선택지를 제공할 뿐 아니라 블록체인 네트워크의 단기적인 데이터 흐름에 대한 통찰과 더 나아가 암호화폐와 관련된 서비스 생태계의 생존성에 대해 판단할 수 있는 밑거름을 제공한다.
종래기술에서는 다양한 암호화폐 중 가장 오래되었고 아직도 인기를 끌고 있는 비트코인을 분석하였다. 비트코인은 2009년 사토시 나카모토라는 가명의 개발자에 의해 개발되었으며 Peer-to-Peer(P2P) 기반 분산 데이터베이스 형태로 거래를 수행한다. 비트코인의 사용자인 노드들은 공개 키 암호 방식으로 거래를 수행하며 거래들은 작업증명(PoW)을 통해 블록에 담기게 되어 모든 네트워크로 전파된다. 한번 블록에 담겨 블록체인에 연결된 거래들은 임의로 변주할 수 없고 거래를 수행하는 사용자 주소는 익명성을 지니기 때문에 누가 어떤 거래를 했는지 특정할 수 없다. 비트코인과 관련된 다양한 서비스로는 비트코인 화폐를 거래할 수 있는 거래소, 전문적으로 암호화폐를 채굴하기 위한 일종의 조합인 마이닝풀이 있으며 그 외 전자지갑, 도박, 커뮤니티, 소셜 미디어 등이 있고 이를 비트코인 에코시스템이라고 정의한다.
비트코인 관련 데이터를 예측하는 종래기술은 데이터 셋과 예측 방법을 통해 분류할 수 있다. 먼저, 기존 주식시장에서 사용되는 통계 기반 예측 모델을 암호화폐 분야에 적용한 종래기술들이 있다. 기존 통계 기반 예측에서는 대부분 시장 데이터를 통해 가격 변화율을 예측하였다. 다음으로, 기계학습(딥러닝 제외)를 통해 가격을 예측하고자 하는 종래기술들은 Light GBM, RF 등 트리 기반 예측모델과 SVM 등을 사용했다. 딥러닝을 사용해 가격을 예측하고자 했던 종래기술들은 시계열 기반의 모델들인 LSTM과 GRU 등이 사용되었으며, LSTM과 GRU를 비교했을 때 GRU가 더 높은 성능을 나타낸다고 보고했다. 기존 통계 기반 예측 종래기술에서는 대부분 암호화폐 시장의 데이터를 사용하거나 주가 지수 등 다른 시장의 데이터를 혼합한 데이터를 사용했다. 기계 학습 및 딥러닝을 사용하여 가격 예측을 수행했던 종래기술에서는 시장 데이터와 Blockchain.com에서 제공하는 블록 데이터를 혼합하여 가격 예측을 수행했으며 Reddit, Twitter와 같은 소셜 미디어로부터 얻은 텍스트를 감성 분석을 통해 수치화하여 예측에 사용한 연구도 있다. 특히, 시장 데이터, 블록 데이터, 다른 시장 데이터, 다른 암호화폐 데이터 등 다양한 데이터를 혼합하고 이를 딥러닝 기반 시계열 예측 모델들을 통해 예측을 수행한 종래기술이 있다. 관련 종래기술은 다른 서비스의 데이터들이 비트코인 관련 데이터과 깊은 연관을 가진다는 것을 시사한다.
본 발명이 이루고자 하는 기술적 과제는 다양한 서비스들로부터 데이터를 수집하고 이를 딥러닝 기반 시계열 예측 모델 중 높은 예측 성능을 나타내는 LSTM, GRU 모델에 학습시켜 높은 예측 성능을 달성하기 위한 방법 및 장치를 제공하는데 있다.
일 측면에 있어서, 본 발명에서 제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템은 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 데이터 수집 모듈, 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 전처리 모듈, 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 학습 모듈 및 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 예측 모듈을 포함한다.
데이터 수집 모듈은 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집하는 블록 데이터 수집기, 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집하는 가격 데이터 수집기, 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집하는 텍스트 소셜 미디어 데이터 수집기 및 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집하는 시계열 소셜 미디어 데이터 수집기를 포함한다.
전처리 모듈은 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성하는 통계 기반 특징 추출기, 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성하는 감성분석 기반 특징 추출기, 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환하고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합하는 시간 단위 변환 및 데이터 병합기, 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 시계열 군집화기 및 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류하는 시계열 분류기를 포함한다.
학습 모듈은 LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성한다.
예측 모듈은 학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법은 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계, 전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계, 학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계 및 예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계를 포함한다.
본 발명의 실시예들에 따르면 다양한 요소들의 영향을 받고 있는 비트코인의 가격 예측을 직접적인 가격 예측보단 가격 변동에 영향을 미칠 수 있는 요소들을 분석하여 예측할 수 있다. 이러한 요소들을 예측하는 것은 단기적인 비트코인 네트워크의 데이터 흐름에 대한 통찰을 제공할 수 있으며 더 나아가 비트코인 생태계 내 다양한 서비스들의 생존성을 판단할 수 있도록 도울 수 있다. 본 발명에서는 트랜잭션 개수, 수수료의 비율, 비트코인 거래량 등의 블록 데이터를 예측하고, 종래기술에서 고려되었던 데이터를 포함하여 세 가지 클래스의 데이터들을 수집하고 이를 시계열 예측에 뛰어난 성능을 보이는 장단기 메모리(LSTM)를 통해 학습하여 높은 예측 정확도를 달성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터 수집 모듈의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 블록 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가격 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 전체 클래스 데이터를 병합하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 시계열 데이터 셋으로 군집화하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 새로운 데이터가 입력될 경우 예측 모델을 선택하는 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법을 설명하기 위한 흐름도이다.
비트코인의 가격은 다양한 요소들의 영향을 받고 있기에 직접적인 가격 예측보단 가격 변동에 영향을 미칠 수 있는 요소들을 분석하는 것이 중요하다. 또한, 이러한 요소들을 예측하는 것은 단기적인 비트코인 네트워크의 데이터 흐름에 대한 통찰을 제공할 수 있으며 더 나아가 비트코인 생태계 내 다양한 서비스들의 생존성을 판단할 수 있도록 도울 수 있다. 본 발명에서는 트랜잭션 개수, 수수료의 비율, 비트코인 거래량 등의 블록 데이터를 예측하고자 한다. 종래기술에서 고려되었던 데이터를 포함하여 세 가지 클래스의 데이터들을 수집하고 이를 시계열 예측에 뛰어난 성능을 보이는 장단기 메모리(LSTM)를 통해 학습하여 높은 예측 정확도를 달성하였다.
본 발명에서는 비트코인 에코시스템에서 수집할 수 있는 데이터를 크게 3가지 클래스로 분류한다. 첫 번째 클래스는 비트코인 블록체인의 블록에 담긴 데이터이며 비트코인 네트워크 내 데이터의 흐름을 분석할 수 있다. 두 번째 클래스는 비트코인과 관련된 키워드를 언급한 소셜 미디어 데이터이며 비트코인에 대한 다양한 의견을 수집할 수 있는 트위터, 전 세계의 비트코인과 관련된 검색어의 인기를 분석하는 구글 트렌드 등이 있다. 마지막으로 비트코인 거래소에서 얻을 수 있는 가격 시계열 및 거래량 시계열 데이터이다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템의 구성을 나타내는 도면이다.
제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템은 데이터 수집 모듈(110), 전처리 모듈(120), 학습 모듈(130) 및 예측 모듈(140)을 포함한다.
도 2는 본 발명의 일 실시예에 따른 데이터 수집 모듈의 구성을 나타내는 도면이다.
데이터 수집 모듈(110)은 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집한다.
데이터 수집 모듈(110)은 블록 데이터 수집기(111), 가격 데이터 수집기(112), 텍스트 소셜 미디어 데이터 수집기(113) 및 시계열 소셜 미디어 데이터 수집기(114)를 포함한다.
블록 데이터 수집기(111)는 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집한다. 블록 데이터 수집기(111)는 블록체인 네트워크에서 블록 데이터를 수집하고, 데이터 형식은 JSON이며, 데이터 주기는 블록 높이이다.
본 발명의 실시예에 따르면, 비트코인 블록 데이터를 수집하기 위해 비트코인-노드(Bitcoind-node)를 설치하였으며 개발 환경에 상관 없이 도커(Docker) 기반으로 쉽게 설치할 수 있다. 노드와 RPC를 통해 통신할 수 있으며 getblockhash 명령어를 통해 특정 높이의 블록의 해쉬(hash) 값을 얻을 수 있고 getblock [hash] 명령어를 통해 해당 높이의 블록에 대한 데이터를 얻을 수 있다. 비트코인의 블록은 작업증명을 통해 생성되는 트랜잭션들의 집합이며 정성적인 데이터와 정량적인 데이터로 구성되어 있다. 정성적인 데이터는 블록의 해시, 생성 시간, 난스, 비트 등을 포함하며 정량적인 데이터는 블록의 크기, 가중치, 거래량, 트랜잭션의 개수 등을 포함한다. 또한, 블록 데이터는 세 가지 레벨로 분류할 수 있으며 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래를 포함한 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터로 분류할 수 있다. 블록 데이터는 계층적인 구조로서 블록 레벨은 트랜잭션 레벨의 데이터를 포함하고 마찬가지로 트랜잭션 레벨은 입출력 레벨의 데이터를 포함한다.
가격 데이터 수집기(112)는 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집한다. 가격 데이터 수집기(112)는 암호화폐 거래소에서 가격 데이터를 수집하고, 데이터 형식은 시계열 데이터 이며, 데이터 주기는 분, 시간, 일이다.
본 발명의 실시예에 따른 가격 데이터 중 과거의 데이터는 캐글(Kaggle)에 등록된 비트코인 히스토리 데이터(Bitcoin Historical Data)이며 실시간으로 받아오는 데이터는 Blockchain.com으로부터 수집한다. 데이터는 분당 비트코인 가격을 나타내며 2012년 1월 1일부터 데이터를 수집하였고 각 행은 타임스탬프와 시작점, 고점, 저점, 끝점, 거래량 그리고 거래량에 대한 가격 가중 평균으로 구성되어 있으며 본 발명에서는 가격 가중 평균과 거래량을 사용한다. 수집한 데이터는 10분 단위의 가격 데이터를 포함하며 1시간 평균으로 변환하여 사용한다. 수집한 데이터는 표 1과 같다. 에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집한다. 텍스트 소셜 미디어 데이터 수집기(113)는 텍스트 소셜 미디어(예를 들어, 트위터)에서 텍스트 소셜 미디어 데이터를 수집하고, 데이터 형식은 텍스트이며, 데이터 주기는 없다. 본 발명의 실시예에 따른 텍스트 소셜 미디어 데이터를 수집하는 플랫폼은 트위터이다.
날짜 년-월-일 시
시간당 가격 가중 평균 해당 시간에 거래된 BTC의 평균 가격
거래량 해당 시간에 거래된 BTC양
트위터는 2006년 출시 된 이후 현재까지도 많은 인기를 끌고 있으며 3억 개의 활성화된 계정이 있으며 매일 5억 개의 트윗이 발생한다. 텍스트 소셜 미디어 데이터(예를 들어, 트위터 데이터)를 사람들이 특정 주제에 대해 어떻게 느끼는지에 대해 분석할 수 있는 풍부한 데이터 소스로 사용할 수 있으며 각 텍스트의 발생 시점을 볼 수 있으므로 시간이 지남에 따라 특정 주제에 대한 사용자들의 감정 변화를 관찰할 수 있다.
본 발명의 실시예에 따르면, 텍스트 API(Application Programming Interface)를 이용한 파이선(Python) 기반 텍스트 소셜 미디어 데이터 수집기(113)를 통해 실시간으로 "비트코인" 키워드에 대한 텍스트 소셜 미디어 데이터를 수집하는 모듈을 구현하였다.
시계열 소셜 미디어 데이터 수집기(114)는 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집한다. 시계열 소셜 미디어 데이터 수집기(114)는 시계열 소셜 미디어에서 시계열 소셜 미디어 데이터를 수집하고, 데이터 형식은 시계열이며, 데이터 주기는 시이다.
본 발명의 실시예에 따른 시계열 소셜 미디어 데이터를 수집한 플랫폼은 구글 트렌드이다. 구글 트렌드는 다양한 지역 및 언어에서 구글 검색의 인기 검색어들의 인기를 분석하는 구글 플랫폼이다. 구글 트렌드는 그래프를 사용하여 시간에 따른 여러 검색어의 검색량을 비교한다. 구글 트렌드의 인기 수치는 0부터 100까지의 값으로 설정되어 있으며 기간 내 상대적인 인기 수치를 나타낸다.
본 발명의 실시예에 따르면, 검색 키워드별 시계열 소셜 미디어 데이터(예를 들어, 구글 트렌드)를 수집할 수 있는 파이선(Python) 기반의 수집 모듈을 구현하였으며 검색 키워드를 Blockchain, BTC, Bitcoin, Mining Pool, Cryptocurrency Exchange로 설정하고 수집하였다. 전체 기간에 대한 시간 별 데이터가 제공되지 않으므로 시간 별 데이터를 수집하기 위하여 1주일 간격으로 데이터를 수집한다. 수집된 데이터는 앞서 언급했듯이 기간 내 상대적인 수치이므로 전체 기간에 대한 절대적인 수치로 변환하는 과정이 필요하다. 따라서, 수집하는 단계에서 수집 간격을 정확히 1주일 간격으로 자르는 것이 전 주에 대한 데이터와 다음 주에 대한 데이터 사이에 일정한 시간이 겹치도록 수집하고 겹치는 시간을 이용하여 데이터를 스케일링한다. 본 발명의 실시예에 따르면 전 주와 다음 주에 사이에 1일이 겹치도록 수정하여 모든 데이터를 스케일링하였고 스케일링한 데이터는 표 2와 같다.
날짜 년-월-일 시
Blockchain 키워드 별 인기도
BTC 키워드 별 인기도
Bitcoin 키워드 별 인기도
Mining Pool 키워드 별 인기도
Cryptocurrency Exchange 키워드 별 인기도
전처리 모듈(120)은 데이터 수집 모듈(110)에서 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화한다. 전처리 모듈(120)은 통계 기반 특징 추출기(121), 감성분석 기반 특징 추출기(122), 시간 단위 변환 및 데이터 병합기(123), 시계열 군집화기(124) 및 시계열 분류기(125)를 포함한다.
도 3은 본 발명의 일 실시예에 따른 블록 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.
도 3a는 본 발명의 일 실시예에 따른 블록 통계 데이터 추출표를 나타내고, 도 3b는 본 발명의 일 실시예에 따른 블록 데이터 변환과정을 나타낸다.
통계 기반 특징 추출기(121)는 JSON 형태의 블록 데이터로부터 통계 기반 특징 시계열을 추출한다.
통계 기반 특징 추출기(121)는 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성한다.
수집된 블록 데이터의 최하위 입출력 레벨로부터 바텀-업 방식으로 통계 데이터를 추출한다. 각 트랜잭션 내부에 포함된 다수의 입출력 레벨 데이터들로부터 통계 데이터를 추출하고 이는 트랜잭션 레벨의 데이터와 병합된다. 마찬가지로 각 블록 내부에 포함된 다수의 트랜잭션 레벨 데이터들로부터 통계 데이터를 추출하고 이는 블록 레벨의 데이터와 병합된다. 이 과정은 총 312개의 통계 데이터를 추출하며 시간 단위는 블록의 높이이다. 본 발명에서는 다른 클래스의 데이터와 시간 단위를 맞추기 위하여 1시간 내 포함된 모든 블록 높이의 데이터에 평균을 취함으로써 통계 데이터의 단위를 블록 높이에서 시 단위로 변환하였다. 추출과정에 대한 개요와 각 레벨의 데이터 개수는 도 3a에 나타나 있으며 통계 데이터의 형식은 표 3과 같다.
날짜 년-월-일 시
통계 데이터#1 실수 값
통계 데이터#2 실수 값
... ...
통계 데이터#3 실수 값
도 3a를 참조하면, 1차와 2차 통계 추출에서 추출하는 통계의 항목은 동일하다. 블록 레벨 데이터는 추출과정을 거치지 않고 총 4(4*1)개의 특징으로 변환되며 트랜잭션 레벨 데이터는 2차 통계 추출과정만을 거쳐 총 66(6*11)개의 특징으로 변환된다. 입출력 레벨 데이터는 1차 통계 추출과정과 2차 통계 추출과정 모두를 거쳐 총 242(2*11*11)개의 특징으로 변환된다.
도 4는 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 특징 데이터 추출 과정을 설명하기 위한 도면이다.
도 4a는 본 발명의 일 실시예에 따른 감성 분석 예시를 나타내고, 도 4b는 본 발명의 일 실시예에 따른 감성 분석 결과를 나타낸다.
감성분석 기반 특징 추출기(122)는 텍스트 형태의 텍스트 소셜 미디어 데이터로부터 감성분석 기반 특징 시계열 데이터를 추출한다.
감성분석 기반 특징 추출기(122)는 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성한다.
수집된 텍스트 소셜 미디어 데이터들은 파이선의 TextBlob 패키지 기반 감성 분석 모듈을 통해 긍정적, 부정적 또는 중립적 감정으로 분류되며 감성 분석의 결과로 각 텍스트 소셜 미디어 데이터의 텍스트는 -1과 1 사이의 실수 값이 할당되며 텍스트 소셜 미디어 데이터 내 문자열들의 감성 수치가 0이 아닌 양의 값을 가지면 해당 데이터는 긍정적이라고 평가된다. 마찬가지로 텍스트 소셜 미디어 데이터 내 문자열들의 감성 수치가 0이 아닌 음의 값을 가지면 해당 데이터는 부정적이라고 평가되며 0의 값을 가지면 중립적이라고 평가된다. 결과적으로 감성 분석 모듈은 수집된 텍스트 소셜 미디어 데이터에 대하여 감성 분석을 수행하고 블록 데이터 예측에 적합한 6개의 시계열 데이터를 생성한다. 감성분석이 수행된 데이터는 표 4와 같다.
날짜 년-월-일 시
긍정적 트윗 개수 해당 시간에 발생한 모든 긍정적 트윗 개수의 합
부정적 트윗 개수 해당 시간에 발생한 모든 부정적 트윗 개수의 합
중립적 트윗 개수 해당 시간에 발생한 모든 중립적 트윗 개수의 합
긍정 세기 해당 시간에 발생한 모든 긍정적 트윗의 감성 수치 합
부정 세기 해당 시간에 발생한 모든 부정적 트윗의 감성 수치 합
긍정 부정 세기 비율 해당 시간에 발생한 모든 긍정적 트윗의 감성 세기와 부정적 트윗의 감성 세기의 비율
시간 단위 변환 및 데이터 병합기(123)는 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기(121)로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환한다. 그리고, 감성분석 기반 특징 추출기(122)로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기(121), 가격 데이터 수집기(112), 감성분석 기반 특징 추출기(122) 및 시계열 소셜 미디어 데이터 수집기(114)로부터 획득된 데이터들을 시계열 데이터로 병합한다.
다시 말해, 시간 단위 변환 및 데이터 병합기(123)는 예측 모델에 입력하기 위해 모든 데이터의 시간 단위를 통일한다. 예를 들어, 블록 데이터는 블록 높이 단위를 시 단위로 변환하고, 텍스트 소셜 미디어 데이터는 텍스트 형태의 텍스트 소셜 미디어 데이터로부터 감성분석 기반 특징 시계열 데이터를 추출하며, 가격 데이터는 분 단위를 시로 변환하여 모든 데이터의 시간 단위를 통일한다.
도 5는 본 발명의 일 실시예에 따른 블록 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 5a는 본 발명의 일 실시예에 따른 시간 단위 변환 및 블록 통계 데이터를 설명하기 위한 도면이고, 도 5b는 본 발명의 일 실시예에 따른 시간 단위 변환, 블록 통계 데이터 및 데이터 관점을 설명하기 위한 도면이다.
블록 데이터의 단위는 블록 높이이며 이를 단위 시간 내 포함된 블록 통계 데이터의 평균으로 변환한다. 예를 들어, 블록의 평균 생성 주기가 10분일 경우 시간당 평균 6개를 생성할 수 있다.
도 6은 본 발명의 일 실시예에 따른 텍스트 소셜 미디어 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 6a는 본 발명의 일 실시예에 따른 시간 단위 변환 및 텍스트 소셜 미디어 데이터를 설명하기 위한 도면이고, 도 6b는 본 발명의 일 실시예에 따른 시간 단위 변환, 텍스트 소셜 미디어 데이터 및 데이터 관점을 설명하기 위한 도면이다.
텍스트 소셜 미디어 데이터의 단위는 없으며 이를 단위 시간 내 발생한 텍스트 소셜 미디어 데이터의 감성 수치를 세거나 합하여 6개의 특징 데이터를 추출한다.
도 7은 본 발명의 일 실시예에 따른 가격 데이터의 데이터 형식 변환 과정을 설명하기 위한 도면이다.
도 7a는 본 발명의 일 실시예에 따른 시간 단위 변환 및 가격 데이터를 설명하기 위한 도면이고, 도 7b는 본 발명의 일 실시예에 따른 시간 단위 변환, 가격 데이터 및 데이터 관점을 설명하기 위한 도면이다.
가격 데이터의 단위는 분이며 이를 단위 시간 내 가격과 거래량의 평균을 취함으로써 단위를 시로 변환한다.
도 8은 본 발명의 일 실시예에 따른 전체 클래스 데이터를 병합하는 과정을 설명하기 위한 도면이다.
시간 단위 변환 및 데이터 병합기(123)는 시간 단위 변환 및 데이터 병합기(123)를 통해 시간 단위가 통일된 블록 통계 데이터(810), 시계열 소셜 미디어 데이터(820), 텍스트 소셜 미디어 데이터(다시 말해, 트윗 특징 데이터)(830) 및 가격 데이터(다시 말해, 거래 데이터)(840)를 병합하여 통합된 시계열 데이터(850)를 생성한다.
도 9는 본 발명의 일 실시예에 따른 시계열 데이터 셋으로 군집화하는 과정을 설명하기 위한 도면이다.
도 9a는 본 발명의 일 실시예에 따른 스피어만 순위 상관 계수의 예시를 나타내는 도면이고, 도 9b는 본 발명의 일 실시예에 따른 시계열 군집화 개요를 나타내는 도면이다.
시계열 데이터는 다양한 분포 특징을 가질 수 있으며 군집화한 데이터를 학습할 시 예측 성능을 향상 시킬 수 있다.
시계열 군집화기(124)는 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화한다.
시계열 분류기(125)는 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류한다.
DDoS 공격이 발생한 후 대부분의 가격 손실은 이틀 내에 복구되며 5일 내에 복구되지 않는 경우도 있다고 보고되었다. 본 발명에서는 비트코인에 영향을 미치는 긍정적인 또는 부정적인 사건이 계속 발생하고 있으며 이러한 사건에 의해 비트코인 데이터가 영향을 받음에 따라 사건이 발생했을 때와 사건이 발생하지 않았을 때의 시계열 분포가 달라질 것이라고 가정한다. 본 발명에서는 가정에 따라 클러스터링 알고리즘을 통해 수집한 시계열 데이터들을 분포 특징을 고려하여 군집화하고 군집 별로 학습 모델을 생성하여 학습 과정과 테스트 과정의 오차를 최소화하고자 한다. 먼저, 다변량 시계열 데이터를 시퀀스 길이 s로 샘플링한다. d가 특징 벡터의 크기일 때,
Figure PCTKR2020017919-appb-img-000001
는 특정 시간 t의 특징 벡터를 나타낸다. 그리고
Figure PCTKR2020017919-appb-img-000002
가 j번째 샘플링된 시계열 데이터라고 할 때,
Figure PCTKR2020017919-appb-img-000003
로 나타낼 수 있다. 결과적으로 전체 데이터의 개수가 L일 때, 샘플링된 시계열 데이터의 개수는 L-s이다.
다음으로, 앞선 과정에서 얻은 L-s개의 데이터를 클러스터링하여 유사한 분포 특징을 가진 시계열끼리 군집화한다. 본 발명에서는 샘플링된 시계열들을 군집화하기 위하여 K-Medoids 알고리즘을 사용했다. K-Medoids 알고리즘은 거리 기반 비유사성과 같은 비용함수를 최소화하는 방향으로 동작한다. 본 발명에서 K-Medoids 알고리즘은
Figure PCTKR2020017919-appb-img-000004
와 같은 d차원인 시계열 객체가 주어질 때, 시계열 객체들을
Figure PCTKR2020017919-appb-img-000005
개의 집합
Figure PCTKR2020017919-appb-img-000006
로 나눈다.
Figure PCTKR2020017919-appb-img-000007
가 집합
Figure PCTKR2020017919-appb-img-000008
의 중심일 때, 이 알고리즘은 집합에서 중심과 각 시계열 객체 사이의 최소 제곱 거리의 집합 S를 찾으며 수식은 다음과 같다:
Figure PCTKR2020017919-appb-img-000009
일반적으로 K-Medoids 알고리즘은 거리 측정 알고리즘으로 유클리드 거리를 사용한다. 하지만, 시계열들의 분포 특징을 유클리드 거리로 계산하는 것은 적합하지 않다. 본 발명에서는 시계열 간 선형 관계를 측정할 수 있는 피어슨 상관계수와 단조 관계를 측정할 수 있는 스피어만 상관계수를 고려한다. 피어슨 상관계수는 데이터에서 두 변수의 공분산을 표준 편차의 곱으로 나눈 값과 같으며 수식은 다음과 같다:
Figure PCTKR2020017919-appb-img-000010
피어슨 상관계수는 사용하기 이전에 두 변수 중 적어도 하나의 변수는 정규분포여야 한다는 조건을 만족해야 하지만 수집한 대부분의 데이터가 정규성을 만족하지 못하므로 정규성 문제에서 자유로운 스피어만 순위 상관계수를 거리 측정 방법으로 사용한다. 스피어만 순위 상관계수는 순위가 매겨진 변수 간 피어슨 상관계수로 정의되며
Figure PCTKR2020017919-appb-img-000011
Figure PCTKR2020017919-appb-img-000012
의 순위이고
Figure PCTKR2020017919-appb-img-000013
Figure PCTKR2020017919-appb-img-000014
의 순위라고 가정할 때 스피어만 순위 상관계수
Figure PCTKR2020017919-appb-img-000015
는 다음과 같다:
Figure PCTKR2020017919-appb-img-000016
스피어만 순위 상관 계수는 -1과 1 사이의 값을 갖고, 계수의 절댓값이 클수록 더 강한 상관 관계를 나타내며, 양의 상관관계와 음의 상관관계를 구분하지 않고 상관관계의 강함에 초점을 맞춘다. 두 데이터 객체 간 측정된 거리를 제곱 기존의 K-Medoids는 거리 측정값이 클수록 각 데이터 객체와의 거리가 멀어지고 이는 거리 측정값이 클수록 각 데이터 객체와의 거리가 가까워지는 스피어만 상관 계수와 반대로 동작한다. 따라서 두 데이터 객체 간 측정된 상관계수에 -1을 곱하여 부호를 전환하고 이 과정을 통해 스피어만 순위 상관계수는 기존의 거리 측정 알고리즘들과 동일하게 동작한다.
앞서 설명한 K-Medoids에 스피어만 순위 상관계수 기반 거리 측정 알고리즘을 적용했을 때 클러스터 중심과 각 시계열 객체의 최소 거리 집합 S를 찾는 수식은 다음과 같다:
Figure PCTKR2020017919-appb-img-000017
이때,
Figure PCTKR2020017919-appb-img-000018
는 순위 시계열 객체
Figure PCTKR2020017919-appb-img-000019
의 m번째 특징을 나타내며
Figure PCTKR2020017919-appb-img-000020
는 i번째 클러스터 중심점의 m번째 특징을 나타낸다. 이 클러스터링 알고리즘은 다음과 같이 동작한다:
1단계: 먼저, 각 클러스터의 초기 중심점을 데이터 객체 내에서 랜덤하게 개의 데이터로 설정한다.
2단계: 각 데이터 객체와 클러스터 객체 간 스피어만 순위 상관계수를 계산하여 해당 데이터 객체에서 가장 가까운 클러스터를 찾아 데이터를 할당하며 수식은 다음과 같다:
Figure PCTKR2020017919-appb-img-000021
3단계: k개의 클러스터의 중심점 u를 각 클러스터 내 가장 가운데 위치한 객체로 설정하며 수식은 다음과 같다:
Figure PCTKR2020017919-appb-img-000022
4단계: 모든 클러스터가 변하지 않을 때까지 2~3단계를 반복한다.
스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 간 상관 계수를 계산하여 유사한 분포 특징을 가진 시계열들을 클러스터링한다. 클러스터링 결과는 클러스터 개수 k에 따라 다를 수 있기에 본 발명에서는 최적의 군집 수 k를 찾기 위하여 k를 2부터 12까지 변경하여 클러스터링을 수행했다. 또한, 동일 클러스터 개수 k에 대해서도 어떤 객체가 초기 중심점으로 설정되는가에 따라 클러스터링 결과가 달라질 수 있으므로 각 k마다 클러스터링을 5000번 동안 반복적으로 수행하고 그 중 실루엣 계수가 가장 높은 클러스터링 결과를 채택했다.
도 10은 본 발명의 일 실시예에 따른 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 과정을 설명하기 위한 도면이다.
학습 모듈(130)은 전처리 모듈(120)에서 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 예측 모델 생성기(131)를 통해 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성한다.
본 발명의 실시예에 따른 예측을 위한 모델로 순환신경망(RNN)의 변형인 LSTM(Long short-term memory)과 GRU(Gated Recurrent Unit)를 사용한다. 예측 모델은 파이선(Python)을 기반으로 하여 텐서플로(Tensorflow)의 래퍼(wrapper) 라이브러리인 케라스(Keras)로 구현되었다. LSTM은 순환신경망의 변형으로 RNN의 장기 의존성 문제를 해결했을 뿐만 아니라 학습 또한 빠르게 수렴한다.
GRU는 LSTM의 변형으로 더 간단한 구조를 갖기 때문에 기존 LSTM보다 학습할 가중치가 적다는 이점을 가진다.
예측 모델의 입력은 다차원 벡터로 이루어진 시퀀스 길이 s의 시계열이며 출력은 다음 시간 t-1의 데이터 변동 방향, 변화율이며 예측 모델 최적화를 위해 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며 예측 모델을 생성하였다.
앞서 전체 시계열 데이터 셋을 클러스터링을 하고 유사한 분포 특징을 지닌 시계열 데이터의 셋을 생성했다. 각 시계열 데이터 셋에 대응하는 예측 모델을 생성하였으며 결과적으로 클러스터 개수 k개의 예측 모델이 생성된다.
도 11은 본 발명의 일 실시예에 따른 새로운 데이터가 입력될 경우 예측 모델을 선택하는 과정을 설명하기 위한 도면이다.
예측 모듈(140)은 학습 모듈(130)에서 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 데이터 예측기(141)를 통해 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택한다.
예측 모듈(140)은 학습 모듈(130)에서 생성된 복수의 예측 모델을 평가하는 방법과 새로운 데이터가 입력되었을 때 예측을 수행할 예측 모델을 선택한다. 본 발명의 실시예에 따르면, 군집화된 시계열 데이터 셋은 객관적인 평가를 위하여 6:2:2 비율의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋으로 분할된다. 클러스터링 결과에 따라 학습된 모델에 검증 데이터셋과 테스트 데이터셋을 입력하여 모델을 평가할 때 데이터 셋의 개별 시계열 데이터는 시계열 분류기를 거쳐 적합한 학습 모델에 입력되며 예측 모듈(140)은 입력된 시계열 데이터와 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택한다.
도 12는 본 발명의 일 실시예에 따른 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법을 설명하기 위한 흐름도이다.
제안하는 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 방법은 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계(1210), 전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계(1220), 학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계(1230) 및 예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계(1240)를 포함한다.
단계(1210)에서, 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집한다.
블록 데이터 수집기가 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집한다.
가격 데이터 수집기가 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집한다.
텍스트 소셜 미디어 데이터 수집기가 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집한다.
시계열 소셜 미디어 데이터 수집기가 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집한다.
단계(1220)에서, 전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화한다.
통계 기반 특징 추출기가 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성한다.
감성분석 기반 특징 추출기가 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성한다.
시간 단위 변환 및 데이터 병합기가 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환한다. 그리고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합한다.
시계열 군집화기가 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화한다.
시계열 분류기가 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류한다.
단계(1230)에서, 학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성한다.
LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성한다.
단계(1240)에서, 예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택한다.
학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (12)

  1. 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 데이터 수집 모듈;
    수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 전처리 모듈;
    군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 학습 모듈; 및
    학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 예측 모듈
    을 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템.
  2. 제1항에 있어서,
    데이터 수집 모듈은,
    블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집하는 블록 데이터 수집기;
    블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집하는 가격 데이터 수집기;
    텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집하는 텍스트 소셜 미디어 데이터 수집기; 및
    시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집하는 시계열 소셜 미디어 데이터 수집기
    를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템.
  3. 제2항에 있어서,
    전처리 모듈은,
    블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성하는 통계 기반 특징 추출기;
    텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성하는 감성분석 기반 특징 추출기; 및
    데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환하고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합하는 시간 단위 변환 및 데이터 병합기
    를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템.
  4. 제3항에 있어서,
    전처리 모듈은,
    시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 시계열 군집화기; 및
    시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류하는 시계열 분류기
    를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 시스템.
  5. 제1항에 있어서,
    학습 모듈은,
    LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성하는
    딥러닝 기반 비트코인 블록 데이터 예측 시스템.
  6. 제1항에 있어서,
    예측 모듈은,
    학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택하는
    딥러닝 기반 비트코인 블록 데이터 예측 시스템.
  7. 데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계;
    전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계;
    학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계; 및
    예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계
    를 포함하는 딥러닝 기반 비트코인 블록 데이터 예측 방법.
  8. 제7항에 있어서,
    데이터 수집 모듈이 블록 데이터, 소셜 미디어 데이터, 가격 데이터를 포함하는 복수의 클래스 데이터를 수집하는 단계는,
    블록 데이터 수집기가 블록의 헤더 부분인 블록 레벨 데이터, 실제 거래 데이터를 포함하는 트랜잭션 레벨 데이터, 트랜잭션 내부에 포함된 입력과 출력의 집합인 입출력 레벨 데이터를 포함하고, 블록체인 네트워크 내 거래 정보를 담고 있는 블록 데이터를 수집하고;
    가격 데이터 수집기가 블록체인 플랫폼을 통해 구현된 암호화폐로서 현금과의 환율(Exchange Rate)을 의미하는 가격 데이터를 수집하고;
    텍스트 소셜 미디어 데이터 수집기가 텍스트 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 텍스트 소셜 미디어 데이터를 수집하며;
    시계열 소셜 미디어 데이터 수집기가 시계열 소셜 미디어로부터 키워드에 대한 분석을 수행하기 위한 시계열 소셜 미디어 데이터를 수집하는
    딥러닝 기반 비트코인 블록 데이터 예측 방법.
  9. 제8항에 있어서,
    전처리 모듈이 수집된 복수의 클래스 데이터의 데이터 형식을 시계열 데이터로 통일 시키기 위한 전처리를 수행하고, 전처리된 복수의 클래스 데이터에 관한 각각의 시계열 데이터가 가진 분포 특징에 따라 시계열 데이터 셋으로 군집화하는 단계는,
    통계 기반 특징 추출기가 블록 데이터 수집기로부터 수집된 블록 데이터의 입출력 레벨 데이터로부터 통계 데이터를 추출하여 트랜잭션 레벨 데이터와 병합하고, 트랜잭션 레벨 데이터로부터 통계 데이터를 추출하여 블록 레벨 데이터와 병합함으로써 블록 높이의 데이터 형식을 갖는 통계 데이터를 생성하고;
    감성분석 기반 특징 추출기가 텍스트 소셜 미디어 데이터 수집기로부터 수집된 텍스트 소셜 미디어 데이터에 대한 감성 분석을 통해 긍정적, 부정적 또는 중립적 감정으로 분류하여 감성분석 데이터를 생성하며;
    시간 단위 변환 및 데이터 병합기가 데이터들의 형식을 시계열 데이터로 통일 시키기 위해 통계 기반 특징 추출기로부터 획득된 통계 데이터에 대하여 미리 정해진 시간 내에 포함된 모든 통계 데이터의 블록 높이에 평균을 취함으로써 통계 데이터의 데이터의 형식을 블록 높이에서 시간 단위로 변환하고, 감성분석 기반 특징 추출기로부터 획득된 감성분석 데이터에 관한 복수의 시계열 데이터를 생성하여 통계 기반 특징 추출기, 가격 데이터 수집기, 감성분석 기반 특징 추출기 및 시계열 소셜 미디어 데이터 수집기로부터 획득된 데이터들을 시계열 데이터로 병합하는
    딥러닝 기반 비트코인 블록 데이터 예측 방법.
  10. 제9항에 있어서,
    시계열 군집화기가 시간 단위 변환 및 데이터 병합기로부터 획득된 시계열 데이터들에 대하여 스피어만 순위 상관계수를 거리측정 알고리즘으로 사용한 K-Medoids 클러스터링 알고리즘을 통해 시계열 데이터 간의 상관 계수를 계산하고 시계열 데이터들의 분포 특징에 따라 시계열 데이터 셋으로 군집화하고;
    시계열 분류기가 시계열 군집화기로부터 획득된 시계열 데이터 셋에 대하여 예측 모델에 입력되어야 할 시계열 데이터 셋을 분류하는
    딥러닝 기반 비트코인 블록 데이터 예측 방법.
  11. 제7항에 있어서,
    학습 모듈이 군집화된 복수의 시계열 데이터 셋에 대하여 딥러닝 기반 모델을 통해 학습하고, 복수의 시계열 데이터 셋에 따른 복수의 예측 모델을 생성하는 단계는,
    LSTM(Long short-term memory) 또는 GRU(Gated Recurrent Unit)를 사용하여 시계열 데이터의 시퀀스 길이, 학습 횟수를 포함하는 학습 변수를 변경하며, 전처리 모듈에서 군집화된 각각의 시계열 데이터 셋에 대응하는 예측 모델을 생성하는
    딥러닝 기반 비트코인 블록 데이터 예측 방법.
  12. 제7항에 있어서,
    예측 모듈이 학습된 복수의 예측 모델에 대하여 평가하고, 새로운 데이터가 입력될 경우, 복수의 예측 모델 중 예측을 수행할 예측 모델을 선택하는 단계는,
    학습 모듈로부터 획득된 복수의 예측 모델에 전처리 모듈의 시계열 분류기로부터 획득된 시계열 데이터 셋의 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋을 입력하여 복수의 예측 모델을 평가하고, 획득된 시계열 데이터 셋과 가장 가까운 클러스터 중심점을 검색하여 데이터를 입력할 예측 모델을 선택하는
    딥러닝 기반 비트코인 블록 데이터 예측 방법.
PCT/KR2020/017919 2020-10-14 2020-12-09 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템 WO2022080583A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0132680 2020-10-14
KR1020200132680A KR102438923B1 (ko) 2020-10-14 2020-10-14 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템

Publications (1)

Publication Number Publication Date
WO2022080583A1 true WO2022080583A1 (ko) 2022-04-21

Family

ID=81208214

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/017919 WO2022080583A1 (ko) 2020-10-14 2020-12-09 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템

Country Status (2)

Country Link
KR (1) KR102438923B1 (ko)
WO (1) WO2022080583A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941291A (zh) * 2022-11-16 2023-04-07 西南科技大学 面向DPoS区块链网络安全态势感知的分析系统及方法
WO2024000152A1 (en) * 2022-06-28 2024-01-04 Chan Kin Kwan A system and a method for analysing a market of exchangeable assets

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862000B1 (ko) * 2017-11-22 2018-05-29 팝펀딩 주식회사 다중 거래소를 사용하는 암호화폐 리스크 관리시스템
KR20190013038A (ko) * 2017-07-31 2019-02-11 주식회사 빅트리 다중 특징 추출기법을 이용한 다중 시계열 데이터 추세 예측 시스템 및 예측 방법
KR20200005206A (ko) * 2018-07-06 2020-01-15 에임시스템 주식회사 기계 학습 기반의 설비 이상 분류 시스템 및 방법
KR20200036219A (ko) * 2018-09-28 2020-04-07 충북대학교 산학협력단 Lstm을 이용한 농산물 가격 및 판매량 예측 방법
KR20200115708A (ko) * 2019-03-11 2020-10-08 한전케이디엔주식회사 딥 러닝 기반 자원 가격 예측 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102142524B1 (ko) 2020-02-20 2020-08-10 팀블랙버드 주식회사 인공지능을 이용한 암호화폐 가격 변동성 예측 방법, 장치 및 컴퓨터프로그램

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190013038A (ko) * 2017-07-31 2019-02-11 주식회사 빅트리 다중 특징 추출기법을 이용한 다중 시계열 데이터 추세 예측 시스템 및 예측 방법
KR101862000B1 (ko) * 2017-11-22 2018-05-29 팝펀딩 주식회사 다중 거래소를 사용하는 암호화폐 리스크 관리시스템
KR20200005206A (ko) * 2018-07-06 2020-01-15 에임시스템 주식회사 기계 학습 기반의 설비 이상 분류 시스템 및 방법
KR20200036219A (ko) * 2018-09-28 2020-04-07 충북대학교 산학협력단 Lstm을 이용한 농산물 가격 및 판매량 예측 방법
KR20200115708A (ko) * 2019-03-11 2020-10-08 한전케이디엔주식회사 딥 러닝 기반 자원 가격 예측 방법

Cited By (2)

* Cited by examiner, † Cited by third party
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 (zh) * 2022-11-16 2023-04-07 西南科技大学 面向DPoS区块链网络安全态势感知的分析系统及方法

Also Published As

Publication number Publication date
KR20220049259A (ko) 2022-04-21
KR102438923B1 (ko) 2022-09-01

Similar Documents

Publication Publication Date Title
US10883345B2 (en) Processing of computer log messages for visualization and retrieval
Zhang et al. Deep representation learning of activity trajectory similarity computation
WO2022080583A1 (ko) 시계열 분포 특징을 고려한 딥러닝 기반 비트코인 블록 데이터 예측 시스템
WO2020122456A1 (ko) 이미지와 텍스트간 유사도 매칭 시스템 및 방법
Hua et al. Collaborative active visual recognition from crowds: A distributed ensemble approach
Wang et al. Learning from language description: Low-shot named entity recognition via decomposed framework
CN110162632B (zh) 一种新闻专题事件发现的方法
Luo et al. Semi-supervised feature selection via insensitive sparse regression with application to video semantic recognition
CN109408574B (zh) 基于文本挖掘技术的投诉责任认定系统
WO2018131955A1 (ko) 디지털 컨텐츠를 분석하는 방법
WO2021157863A1 (ko) 준 지도 학습을 위한 오토인코더 기반 그래프 설계
US7991617B2 (en) Optimum design management apparatus from response surface calculation and method thereof
CN114491082A (zh) 基于网络安全应急响应知识图谱特征提取的预案匹配方法
Han et al. SlimML: Removing non-critical input data in large-scale iterative machine learning
Galhotra et al. Learning to generate fair clusters from demonstrations
CN114491081A (zh) 基于数据血缘关系图谱的电力数据溯源方法及系统
Chen et al. Exploring science-technology linkages: A deep learning-empowered solution
CN113535949A (zh) 基于图片和句子的多模态联合事件检测方法
Yan et al. TL-CNN-IDS: transfer learning-based intrusion detection system using convolutional neural network
Huang et al. A semantic matching approach addressing multidimensional representations for web service discovery
CN112949778A (zh) 基于局部敏感哈希的智能合约分类方法、系统及电子设备
Wang et al. An improved clustering method for detection system of public security events based on genetic algorithm and semisupervised learning
WO2022092447A1 (ko) 딥러닝 모델 거래중개서버에 의해서 수행되는 딥러닝 모델 거래를 중개하는 방법
CN108388673B (zh) 一种用于经济管理分析数据的计算机系统
Jaiswal et al. Genetic approach based bug triage for sequencing the instance and features

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20957827

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20957827

Country of ref document: EP

Kind code of ref document: A1