=Paper= {{Paper |id=Vol-2870/paper125 |storemode=property |title=ECG Signal Processing Based on Linguistic Chain Fuzzy Sets |pdfUrl=https://ceur-ws.org/Vol-2870/paper125.pdf |volume=Vol-2870 |authors=Igor Baklan,Alina Oliinyk,Iryna Mukha,Kateryna Lishchuk,Olena Gavrilenko,Svitlana Reutska,Anna Tsytsyliuk,Yurii Oliinyk |dblpUrl=https://dblp.org/rec/conf/colins/BaklanOMLGRTO21 }} ==ECG Signal Processing Based on Linguistic Chain Fuzzy Sets== https://ceur-ws.org/Vol-2870/paper125.pdf
ECG signal processing based on linguistic chain fuzzy sets
Igor Baklan, Alina Oliinyk, Iryna Mukha, Kateryna Lishchuk, Olena Gavrilenko, Svitlana Reutska,
Anna Tsytsyliuk and Yurii Oliinyk

National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute", 37, Prosp. Peremohy, Kyiv,
03056, Ukraine


                Abstract
                In the article on the stage of intervalization in the construction of a linguistic model of the time
                series, it is proposed to apply the description of intervals in the form of fuzzy subsets with a
                probabilistic degree of affiliation. Definitions are considered operations of limiting addition,
                marginal product and concentration for their hybrid parameters, when one of them is a fuzzy
                subset in which the degree of belonging is a random variable, and the second parameter is a
                constant. These operations are used in fuzzy derivation as a direct construction of the division
                of the area of acceptable values of the time series.
                The need to use such an approach is dictated by the problem of inverse linguistic
                transformation. This approach will effectively assess the correctness of the constructed
                linguistic models of the input time series.

                Keywords 1
                Semantic analysis, Fuzzy nets, Linguistic modelling

1. Introduction
    In the medicine, there was an idea to write a software to detect normal areas of electrocardiogram
(ECG) and determine the patient's illness. Nowdays scientists are trying to find the best approach to
solving this problem in various studies.
    For example, in 2014, V. I. Dubrovin, Yu. V. Tverdokhleb and V. V. Kharchenko wrote a paper
about calculating ECG peaks [1]. A neural network classifier of cardiocycles was proposed in it. In
order to assess its quality, two indicators were analyzed: sensitivity and predictability of a positive
result. The authors managed to achieve an accurate determination of PQRST intervals based on the
database from QTDB (99.8% accuracy). This study has significantly improved the determination of the
position of the extreme points.
    In 2016 Volosatova T. M., Spaseonov A. Yu. and Logunova A. O. created a software implementation
of the classification of informative features [2]. Using the heart rate variability parameters and applying
the wavelet transform, they prepared the dataset for further support vector machine processing. Also,
using the same database from QTDB, they managed to separate the electrocardiograms into two
categories: normal and arrhythmic.
    Mustafaev A.G., Temirbulatov M.A. and Omarov R.S. attempted to use neural networks for
improving the accuracy of the programming detection. In their study about the definition of heart
anomalies [3], they applied an error backpropagation algorithm. They also prepared data for training: a
structured array of digitized records and related information obtained by Holter monitoring in a hospital
setting. The accuracy of detecting the disease was only 79%, but this study showed the promise of using
artificial intelligence for classifying ECGs.

COLINS-2021: 5th International Conference on Computational Linguistics and Intelligent Systems, April 22–23, 2021, Kharkiv, Ukraine
EMAIL: iaa@ukr.net (I. Baklan); oleynik.a.o@gmail.com (A. Oliinyk); mip.kpi@gmail.com (I. Mukha); lishchuk_kpi@ukr.net (K.
Lishchuk); gelena1980@gmail.com (O. Gavrilenko); lana.reutska@gmail.com (S. Reutska); ann.tsytsyluik@gmail.com (A. Tsytsyluk);
oliyura@gmail.com (Y. Oliinyk);
ORCID: 0000-0002-5274-5261 (I. Baklan); 0000-0003-3642-0333 (A. Oliinyk); 0000-0002-4423-5106 (I. Mukha); 0000-0002-9902-0065
(K. Lishchuk); 0000-0003-0413-6274 (O. Gavrilenko); 0000-0002-0835-4394 (S. Reutska); 0000-0001-5527-4154 (A. Tsytsyluk); 0000-
0002-7408-4927 (Y. Oliinyk);
                 ©️ 2021 Copyright for this paper by its authors.
                 Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
                 CEUR Workshop Proceedings (CEUR-WS.org)
    In 2018, Sobolev KV's dissertation about the algorithmic search for anomalies in time series was
published [4]. It described the types of time series, the problems that they caused and solutions to that
problems. The following algorithms were reviewed and analyzed:
    • based on sliding windows;
    • metric;
    • based on forecasting;
    • based on hidden Markov models.
    A classification method based on convolutional neural networks has been proposed. Then it was
compared with other algorithms. Accuracy, completeness and F-measure were used as quality metrics
for the problem of detecting anomalies. As a result, boosting over decision trees proved to be the most
accurate.
    K. Lagirvandze, A. N. Kalinichenko, and T. V. Morgunova used the principles of vector signal
transformation and investigated three variants of the classification analysis to improve the algorithm's
resistance to losses in 2019 [5]. They removed signal interference with digital high and low pass filters,
cut from 3 to 100 Hz. For each ECG signal recording, a reference vector showing the dominant direction
was determined. Next, we applied machine learning algorithms: feedforward networks without a hidden
layer, with one and two hidden layers. As a result, the highest accuracy scores were obtained using a
network with one hidden layer. The program managed to achieve an accuracy result of 90%.
    In years 2019-2020, neural networks began to be used in all possible areas. The number of articles
with their application for the analysis of the ECG is growing rapidly. At the same time, many problems
remain in demand of additional study of ECG with neural networks.
    First of those problems is the uneven distribution of data between classes, which complicates the
classification. For example, the MIT-BIH arrhythmia database [6] contains a total of 2203 records of
the S, V, F or Q categories (with 89774 records of the N category).
    The second problem met is the impermanence of the ECG. The period and amplitude of the ECG
can depend on the age, health status, gender, weight and even the patient's lifestyle [7] [8]. Because of
this, some researchers determine anomalies relying mostly on personal patient records. Thus, in article
[9], a dictionary is created that gives representations of the normal heartbeat for each specific user. For
those users, all deviations from this dictionary will be treated as anomalies.
    Another important problem in ECG analysis is the presence of noise. Most modern research first
removes noise from recordings and only then analyzes those recordings with neural networks. There
are many works on the topic and each of them has its own strengths and weaknesses. [10] [11]
    But despite the problems listed above, neural networks are one of the most advanced methods for
analyzing ECG with great accuracy.
    Let's list the main deep learning technologies that are used to analyze the ECG:
    • Multilayer Perceptron (MLP)
    • Convolutional Neural Network (CNN)
    • Deep Belief Network (DBN)
    • Recurrent Neural Network (RNN)
    • Long Short-Term Memory (LSTM)
    • Bidirectional Recurrent Neural Network (BRNN)
    • Gated Recurrent Unit (GRU)
    A detailed comparison of these technologies and the results of their use in scientific articles related
to the analysis of the ECG are given in the article “A Review on Deep Learning Methods for ECG
Arrhythmia Classification” [12]
    Another well-known approach is linguistic modeling, the main idea of which is to convert a string
of numbers into a sequence of letters. Then, only sequence of letters with anomaly will be taken into
consideration and pushed to the database. In case they match any of them, an anomaly of a certain type
will be detected. [13] [14]
    A similar approach was used in the article [15] where the ECG segment is transformed into a "word".
On the basis of such "words", a special grammar is formed. By means of using this grammar other ECG
records will be validated
    Direct linguistic transformation is given in a number of works devoted to the construction of
linguistic models of time series [13,14]. To verify the adequacy of the obtained linguistic models, the
task is to implement inverse linguistic modeling, ie to obtain the input time series according to its
linguistic model.
    However, the maximum solution of this problem with the classical approach at the stage of
intervalization will give us at best a time series in the interval image. However, for a qualitative analysis
of the process of constructing a linguistic model, it is proposed to present the intervals in the form of
fuzzy subsets with the membership function, which is a probabilistic quantity.
    This type of fuzzy subsets was first presented in [16]. The use of this device and the introduction of
new functions was proposed in [17].


2. Fuzzy set approach
     Let's take a closer look at the step of constructing a linguistic model of a time series: intervalization.
     Let 𝑋 present a time series 𝑋 = {𝑥1 , 𝑥2 , … , 𝑥𝑛 }. Where 𝑥𝑚𝑎𝑥 , 𝑥𝑚𝑖𝑛 — maximum and minimum
values of time series elements.
     Intervalization process consist of splitting the interval [𝑥𝑚𝑖𝑛 , 𝑥𝑚𝑎𝑥 ] on 𝑁 subintervals
[𝑥1 , 𝑥2′ ], [𝑥2′ , 𝑥3′ ], … , [𝑥𝑁′ , 𝑥𝑁+1
   ′                                   ′   ] for a certain way:
     1. equivalent intervals when [𝑥1′ , 𝑥2′ ] = [𝑥2′ , 𝑥3′ ] = ⋯ = [𝑥𝑁′ , 𝑥𝑁+1′   ]
                                                                                                   𝑑𝑖𝑚{𝑋}
     2. equiprobable intervals when 𝑣([𝑥1 , 𝑥2 = 𝑣( [𝑥2 , 𝑥3 ]) = ⋯ = 𝑣([𝑥𝑁′ , 𝑥𝑁+1
                                                        ′ ′ ])     ′    ′                   ′ ]) =
                                                                                                     𝑁
                                                                                                          , where
            ′    ′                                                                                      ′    ′
     𝑣([𝑥𝑘 , 𝑥𝑘+1 ]) - the frequency (number) of hits of the time series 𝑋 elements to the interval [𝑥𝑘 , 𝑥𝑘+1  ],
     where 𝑑𝑖𝑚{𝑋} - the number of items in the time series
     3. on the probability distribution with the distribution function 𝐹, when the probability of falling
     elements of the series to the interval 𝑃 {𝑥𝑗 ∈ [𝑥𝑘′ , 𝑥𝑘+1  ′           ′
                                                                     ]} = 𝐹(𝑥𝑘+1 ) − 𝐹(𝑥𝑘′ ).
     We are faced with the question of determining the intervals obtained at the stage of intervalization,
in the form of a fuzzy set 𝑁.
     In general case, we have a set of functions:
                                                   𝑁 = 𝑁𝐿 ∪ 𝑁𝐴 ∪ 𝑁𝐷 ∪ 𝑁𝑆 ∪ 𝑁𝑈 ,
     where 𝑁𝐿 - fuzzy logic functions, 𝑁𝐴 - fuzzy arithmetic functions defined on fuzzy numbers, 𝑁𝐷 -
fuzzy inference function, 𝑁𝑆 - functions over fuzzy subsets, 𝑁𝑈 - functions over fuzzy subsets with an
indefinite degree of affiliation.
     The operation of fuzzy inference functions implies methods of fuzzy derivation, in which parcels
are fuzzy concepts. This operation uses the compositional rules, which use the operations of limit
addition and limit multiplication.
     Let's consider operations that are defined when one or both operands are fuzzy subsets whose
membership belongs to a continuous random variable.
     For a fuzzy subset 𝐴 with degree of affiliation 𝜇𝐴 (𝑥) the result of the application of the concentration
operation will be a subset of 𝐵 with the degree of affiliation 𝜇𝐵 (𝑥) = 𝜇𝐴2 (𝑥).
     If 𝐴 and 𝐵 are two fuzzy subsets of the universe 𝑈 with degrees of affiliation 𝜇𝐴 (𝑥) and 𝜇𝐵 (𝑥), then
their maximum amount 𝐴 ⊕ 𝐵, will be a fuzzy subset 𝐶 of the set 𝑈 with degree of affiliation 𝜇𝐶 (𝑥) =
𝑚𝑖𝑛(1, 𝜇𝐴 (𝑥) + 𝜇𝐵 (𝑥)). Marginal product 𝐴 ⊙ 𝐵, there will be a fuzzy subset 𝐶 of the universe 𝑈
with the degree of affiliation 𝜇𝐶 (𝑥) = 𝑚𝑎𝑥(0, 𝜇𝐴 (𝑥) + 𝜇𝐵 (𝑥) − 1).
     Let's consider the question of the degrees of membership of these fuzzy subsets, when their degrees
of membership are random variables and the set 𝐵 is a constant.
     If 𝐴 is a fuzzy subset with the degree of affiliation 𝜇𝐴 (𝑥), which is a continuous random variable
that takes values on a unit interval 𝐼 = [0,1], with a distribution density 𝑓𝐴 (𝑥), and 𝐵 is a fuzzy set with
the degree of affiliation then the degree of affiliation 𝜇𝐵 (𝑥) = 𝑎, the degree of belonging to their
maximum amount is 𝐶 = 𝐴 ⊕ 𝐵: 𝜇𝐶 (𝑥) = 𝑚𝑖𝑛(1, 𝜇𝐴 (𝑥) + 𝜇𝐵 (𝑥)) - a continuous random variable that
takes values on the interval 𝐼, with a distribution function 𝐹𝐶 (𝑧) = 𝐹𝐴 (𝑧 + 𝑎) − 𝐹𝐴 (𝑎) and probability
density 𝑓𝐶 (𝑧) = 𝜎(𝑧 − 1)[1 − 𝐹𝐴 (𝑧 + 𝑎) − 𝐹𝐴 (𝑎)] + 𝑓𝐴 (𝑧 − 𝑎).
     With the same conditions for operands, the degree of marginal product 𝐷 = 𝐴 ⊙ 𝐵: 𝜇𝐶 (𝑥) =
𝑚𝑎𝑥(0, 𝜇𝐴 (𝑥) + 𝜇𝐵 (𝑥) − 1) there will also be a continuous random variable that takes values on a
unit interval 𝐼 with density 𝑓𝐷 (𝑧) = 𝜎(𝑧)[𝐹𝐴 (𝑧 + 𝑎 − 1) − 𝐹𝐴 (𝑎 − 1)] + 𝑢(𝑧)𝑓𝐴 (𝑧 − 𝑎 + 1) and
distribution function 𝐹𝐷 (𝑧) = 𝐹𝐴 (𝑧 + 𝑎 − 1) − 𝐹𝐴 (𝑎 − 1), if 𝑧 > 0, and 𝐹𝐷 (𝑧) = 0, when 𝑧 = 0.
   The expressions used a single function 𝑢(𝑧) and delta function.



3. An improved method based on the apparatus of fuzzy sets
   The method of converting the ECG signal into a linguistic chain by adding the membership function
and the rules of fuzzy sets is shown on Figure 1 and consists of the following steps:
   1. Divide the signal into intervals. The resulting intervals must contain the same number of
   elements. The size of the intervals can be different, as they depend on the elements included in them.
   If there are elements that are far from each other, the size of the interval will be larger. As the number
   of intervals increases, the accuracy of the result increases
   2. Assign an appropriate character to each interval;
   3. Determine the membership function of each element to a certain interval. The frequency-based
   membership function is used. It is calculated by the ratio of the number of a certain element in the
   range to the total number of all elements;
   4. Convert an element into a symbol depending on the maximum value of the membership
   function to the appropriate interval. The maximum value is used to solve the problem when the
   element is between two intervals.
   As a result of application of a method we receive the following data:
   •     linguistic chain
   •     list of intervals
   •     the number of elements included in the interval
   •     the sum of the membership functions of all elements included in the interval.
    The data description of fuzzy set intervals can be used to convert new data or inversely convert and
obtain a signal as a numerical series.




Figure 1: Algorithm of transformation method operation with fuzzy set apparatus
   The experiment description
    Data on fuzzy set formation rules and their relationship to alphabetic characters are stored in a JSON
file. In order to realize the data, first of all the information is stored in an intermediate entity, which is
a class of FuzzySets. The file contains information about the segment number of the interval, which
were obtained as a result of segmentation of the input data. The following is detailed information about
each segment. The initial and final value of the fuzzy set, its symbol, the total membership function of
all elements and the number of elements included in the set are indicated.
    When converting an element into a symbol, an analysis of the fulfillment of all requirements for
entering a fuzzy set is performed. The interval of a certain set is set, because to transform a certain value
of the ECG into the correct symbol, it is necessary that it enters the interval. In other words, the 𝑋
element must satisfy the following requirement 𝑆𝑡𝑎𝑟𝑡_𝑝𝑜𝑖𝑛𝑡 ≤ 𝑋 ≤ 𝐸𝑛𝑑_𝑝𝑜𝑖𝑛𝑡. If so, its membership
function is calculated and translated into a symbol. Otherwise, the element is checked for belonging to
other interval. The experiment was used with an alphabet of 52 characters. The alphabet had the
meaning of all the uppercase and lowercase Latin letters. Transformations based on the selected
character set were performed using fuzzy set data. The result is shown on Figure 2. The visual
representation of the signal, the horizontal division into fuzzy sets, the symbols corresponding to the
sets and the selection of the values of R-peaks are shown.




Figure 2: Visual representation of horizontal division into fuzzy sets

   The result of the conversion of a numerical interval into the linguistic chain itself is shown on Figure
3. Information about the segment number and the result of its conversion is stored. A similar
transformation is performed for data containing anomalies.
   The resulting linguistic chains are compared with each other to determine if the patient's ECG signals
contain abnormalities. If the match percentage is greater than a certain value, it is determined that the
input data deviate and require more detailed consideration.
Figure 3: Method processing result

4. Efficacy research
    To evaluate the efficiency, a separate module was implemented, which performed the reverse
conversion process. Data in the form of a linguistic chain was fed to the input, and a numerical series
was obtained at the output. Next, a comparison of the resulting circuit with the original.
    The deviation is searched by means of the method of standard deviation. This algorithm consists of
three major steps.
    1. Finding the difference between the initial elements and the corresponding obtained from the
    inverse transformation, and square it. The square is used to solve the problem of the negative value
    of the difference.
    2. Calculation of the average value of the whole series, the sum of the values obtained in point1,
    divided by the number of elements.
    3. Finding the square root of the mean.
This method is quite common for the value of the deviation of numerical data. The advantage of using
it is that if the difference between the output and the initial data is negative, then it is squared, which
significantly affects the result of the comparison.
    The existing method of ECG data pre-processing using linguistic modeling, which is described in
[14], was also implemented. This method divides the signal into intervals equal in size. It also does not
take into account the function of the element belonging to the interval.
The next step is to perform the inverse transformation for both methods
The result of the transformation is used to obtain a numerical series using the fuzzy set method.
Reproducing items as numbers is done with information about the intervals of sets and the number of
elements, they include. For the structured method, the intervals are created in the same way as for the
transformation.
    The spacing from smallest to largest element is calculated and divided by the number of elements.
Then the elements turned back from a symbol to a number. The last step was to determine the percentage
of error by the standard deviation method. The results of both methods were compared with each other.
Figure 4: Algorithm of efficiency research process

    The structural method showed a higher percentage of error, because no information is stored about
the number of elements that were converted to a specific character. While the results of performing the
transformation by the fuzzy set apparatus contain more detailed information about the original data, as
a result, the obtained numerical series of the ECG is close to the primary signal. In general, the error
rate of this method is less than 5%. Figure 5 shows a graph of the percentage of error of the data
conversion algorithm on the number of elements in the segment “From the number of 1000 elements to
3000” the graph for the fuzzy set method decreases, while for the structural on the contrary, it increases.
That is, the amount of data from this interval for the first method is the most optimal.
Figure 5: Dependence of the percentage of standard deviation on the number of elements in the signal




Figure 6: Software component diagram

   Software for ECG signal processing is developed using C# programming language and .NET
Framework 4.8. ECG signal processing software includes such components (Figure 6):
   •    «Read CSV File» component has necessary functions for reading input data from CSV file.
   Input data can only be presented in the CSV format. We use LumenWorks.Framework which
   provides functions for fast parsing and reading CSV file.
   •     «Segmentation» component contains functions for splitting ECG signal on intervals contain
   the same number of elements.
   •     «Convert to Chain» component contains functions for transforming intervals into linguistic
   chain based on the membership function. This component contains methods that transform data
   using fuzzy and structural methods.
   •     «Write File» component contains functions for writing data processing results and functions.
   Results can be writing by using JSON for future processing linguistic chains, membership functions,
   fuzzy sets. We use high-performance Newtonsoft.Json.NET framework for working with JSON-
   objects.
   •    «GUI» component contains different functions for data visualization. Some of them is
   displayed in Figure 2, Figure 3 and Figure 5.
   The result of the algorithms for determining errors by this method are presented in Table 1.

Table 1
The result of the study of efficiency
  ECG signal segment             Method error with          Error of the method with         Difference
         number                 structural approach         the apparatus of fuzzy sets
            1                         8,357%                          6,161%                  2,196%
            2                         7,836%                          7,472%                  0,364%
            5                         3,044%                          1,937%                  1,107%
            10                        3,852%                          1,113%                  2,739%
   Analyzing the results shown in Table 1, the method of linguistic modeling with the apparatus of
fuzzy sets has a lower percentage of error in the inverse transformation, compared with the structural
approach. Therefore, the proposed method can be considered to provide more accurate information in
linguistic chains. The root mean square error decreased by 1.6%.

5. Summary
     The main steps for the algorithm of the transformation method based on the apparatus of fuzzy sets
are the determination of intervals with the same number of elements and the calculation of the
membership function of each numeric of the signal to the intervals. Such intervals are fuzzy sets. As a
result, linguistic chains and detailed information about the formed sets are stored. Such data is
convenient to use for inverse conversion.
    An experiment was performed using a 52-character alphabet. The output is a file with data on each
fuzzy set of a certain character and a separate file on the conversion of each segment of the input signal
into a linguistic chain.
    During the research phase, the comparison of the results of the transformation into a linguistic chain
was performed using the apparatus of fuzzy sets and the structural method. The reverse transformation
of characters into a number series was carried out. Then the error between the original and initial data
by the method of standard deviation is determined. After that the same steps were performed for the
data obtained from the structural method. Finally, the resulting errors were compared. An inverse
transformation algorithm was performed for both methods and the deviation of the results from the
initial data was found. After analyzing the results, we can say that the improved method gives more
accurate conversion results. The average value of the error of the method with the apparatus of fuzzy
sets is 1.6% less than for the structural method.
   Experimental studies have shown that the proposed algorithm can be successfully used in expert
diagnostic systems for finding various anomalies associated with different heart disease. When
inversely reproducing data in a numerical series, the average error value is 4.17%.

6. References
[1] V. I. Dubrovin, J. V. Tverdohleb, V. V. Kharchenko, Automated system for analysis and
     interpretation of ECG, Radio Electronics, Computer Science, Control 1 (2014) 150-157. doi:
     10.15588/1607-3274-2014-1-22
[2] T. M. Volosatova, A. I. Spasenov, A.O. Logunova, Automated ECG analysis and interpretation
     system, Radio Engineering 1 (2016) 1–18. doi: 10.7463/rdopt.0116.0831932
[3] A. G. Mustafaev, M. A. Temirbulatov, R. S. Omarov, Determination of cardiac rhythm
     abnormalities and heart disease detection using neural networks, in: Proceedings of the XVI all-
     Russian conference, DIRC’2017, ICT SB RAS, Novosibirsk, 2017, pp. 240-245. URL:
     http://elib.ict.nsc.ru/jspui/handle/ICT/1467
[4] K. V. Sobolev, Automatic search for anomalies in time series, Master’s thesis, Moscow Institute
     of Physics and Technology (MIPT), Moscow, Russia, 2018.
[5] A. K. Lagirvandze, A. N. Kalinichenko, T. V. Morgunova, ECG cycles forms analysis based on
     machine learning techniques, Models, systems, networks in economics, technology, nature and
     society 4 (2019) 75-84. URL: https://mss.pnzgu.ru/files/mss.pnzgu.ru/08419.pdf
[6] PhysioNet,        PhysioNet      MIT-BIH      Atrial   Fibrillation      Database,     2000.    URL:
     https://physionet.org/content/afdb/1.0.0/
[7] P.W. Macfarlane, S.C. McLaughlin, B. Devine, T.F. Yang, Effects of age, sex, and race on ECG
     interval measurements, Journal of Electrocardiology 27 (1994) 14-19. doi: 10.1016/s0022-
     0736(94)80039-1
[8] H. Chubb, S. R. Ceresnak, K.S. Motonaga, A.M. Dubin, A proposed method for the calculation
     of age-dependent QRS duration z-scores, Journal of Electrocardiology 58 (2020) 132-134. doi:
     10.1016/j.jelectrocard.2019.12.004
[9] M. Longoni, D. Carrera, B. Rossi, P. Fragneto, M. Pessione, G. Boracchi, A Wearable Device for
     Online and Long-Term ECG Monitoring, in: Proceedings of the Twenty-Seventh International
     Joint Conference on Artificial Intelligence, IJCAI’18, AAAI Press, Stockholm, Sweden, 2018, pp.
     5838–5840. doi: 10.24963/ijcai.2018/855
[10] A. Sahu, P. K. Parida, Noise Reduction from Electrocardiogram Signal Using Signal Processing
     Techniques, in: Proceedings of the IEEE 3rd International conference on Electronics,
     Communication and Aerospace Technology (ICECA), Coimbatore, India, 2019, pp. 867-871. doi:
     10.1109/ICECA.2019.8821997.
[11] E. Castillo, D. P. Morales, A. García, F. Martínez-Martí, L. Parrilla, A. J. Palma, Noise Suppression
     in ECG Signals through Efficient One-Step Wavelet Processing Techniques, Journal of Applied
     Mathematics 1 (2013) 1-13. doi: 10.1155/2013/763903
[12] Z. Ebrahimi, M. Loni, M. Daneshtalab, A. Gharehbaghi, A review on deep learning methods for
     ECG arrhythmia classification, Expert Systems with Applications: X 7 (2020) 100033. doi:
     10.1016/j.eswax.2020.100033
[13] I. Baklan, I. Mukha, Y. Oliinyk, K. Lishchuk, E. Nedashkivsky, O. Gavrilenko, Anomalies
     Detection Approach in: Hu Z., Petoukhov S., Dychka I., He M. (eds), Advances in Computer
     Science for Engineering and Education II, ICCSEEA 2019, volume 938 of Advances in Intelligent
     Systems and Computing, Springer, Cham, 2019, pp. 513-522. doi: 10.1007/978-3-030-16621-2_48
[14] I. Baklan, Y. Oliinyk, I. Mukha, K. Lishchuk, O. Gavrilenko, O. Ocheretianyi, A. Tsytsyliuk,
     Adaptive Multistage Method of Anomalies Detection in ECG Time Series, in: Proceedings of the
     4th International Conference on Computational Linguistics and Intelligent Systems,
     COLINS’2020, volume I of Main Conference, CEUR-WS, volume 2604, pp. 670-679. URL:
     http://ceur-ws.org/Vol-2604/paper46.pdf
[15] P. Senin, J. Lin, X. Wang, T. Oates, S. Gandhi, A. P. Boedihardjo, C. Chen, S. Frankenstein, Time
     series anomaly discovery with grammar-based compression, in Proceedings of the 18th
     International Conference on Extending Database Technology, EDBT, Brussels, Belgium, 2015,
     pp.481-492. doi:10.5441/002/edbt.2015.42
[16] R. Yager, Fuzzy subsets with uncertain membership grades, IEEE Transactions on Systems, Man
     and Cybernetics 2 (1984) 271-275. doi: 10.1109/TSMC.1984.6313209
[17] I.V. Baklan, Linguistic, algorithmic and software tools of the automated workstation of the system
     analyst of integrated ACS (Information technology), Ph.D. thesis, Kyiv Polytechnic Institute,
     Kyiv, Ukraine,1988.