<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The ensemble of algorithms for coronaryheart disease detection based on electrocardiogram</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>V N Guryanova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lomonosov Moscow State University</institution>
          ,
          <addr-line>Leninskie Gory 1, Moscow, Russia, 119991</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>73</fpage>
      <lpage>83</lpage>
      <abstract>
        <p>Coronary heart disease (CHD)is the leadingcause of deathin the world. This disease can be asymptomaticfor a long time and over time can progress and result in death. Today electrocardiogram (ECG) can be done at home with the help of special equipment from CardioQvark. In this paper the possibility of CHD detection based on such ECwGass explored. Di erent approaches to the classification of such electrocardiograms werseurveyed. New algorithms and modifications to existing algorithms were proposed. A new method - the ensemble of di erent algorithms - has shown the best performance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Coronary heart disease(CHD) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a group of diseases, that is de ned by lack of oxygen supply
to the heart muscle through the coronary arteries. According to World Health Organization,
this disease is the leading cause of death in the world.
      </p>
      <p>At the initial stages of the disease, most people do not show any symptoms of this disease.
It is very important to identify the CHD in time to slow the course of the disease and prevent
the patient's death.</p>
      <p>Traditionally, CHD can be detected with the help of specialists and a number of tests. It
should be noted that these tests take a signi cant amount of patient's time, and also require high
quali cation of the specialist who will conduct them. Since there are very few specialists and
the number of potential patients is growing every year, the task of automatically determining
CHD is extremely urgent at the present time. Currently, it is extremely relevant to create a
device that will help determine the disease or its probability at home. Such devices will allow
the person to be sent to a doctor in case of a high probability of having a CHD.</p>
      <p>
        An electrocardiogram (ECG) { is a signal that re ects the electrical activity of the heart. ECG
is one of the most a ordable ways of diagnosing heart disease now due to its non-invasiveness
and low cost. Currently, there are many di erent studies that show that the ECG can be used
to determine CHD [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>CardioQvark (project site: www.cardioqvark.ru) has created a device in a form of a
smartphone case that allows you to make ECG measurements at home. The CardioQVARK
device is a portable electrocardiograph in the form of a smartphone case (iPhone 5 / 5s / SE /
6 / 6s), allowing to register data of bio-electrical activity of the heart from the rst ECG lead
and next leads: aVR, aVL, aVF, Vi (i = 1 ... 6) using the patient's cable. In this work, the
possibility of CHD detection based on such ECGs from the rst lead was explored.</p>
      <p>There are di erent approaches to ECG classi cation problem. Some of them were surveyed
in this work. New algorithms and modi cations to existing algorithms were proposed. In order
to improve the performance of the classi cation, an ensemble of 5 di erent methods was built.
Each of these methods will be described below.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Data Description</title>
      <p>All research was conducted on the basis of the following medical centers: NGHCI "Semashko
Central Clinical Hospital 2", Federal State Scienti c Institution "Petrovsky Russian Scienti c
Center of Surgery", Federal State-Funded Health Care Institution "City Clinical Hospital 4
Health Care Moscow Department", Federal State-Funded Health Care Institution "Moscow
Clinical Scienti c Center of Moscow Department Health Care", State Autonomous Health Care
Institution of the Moscow Region "Clinical Center for Restorative Medicine and Rehabilitation".</p>
      <p>A voluntary anonymous study included patients over 18 years of age. Annotated impersonal
electrocardiograms (ECG) were recorded from the rst ECG-lead using a CardioQVARK cardio
monitor. The duration of each recording was 5 minutes. The measurement was taken in the
sitting position, with support for the back, hands on the knees or on the table. Data was collected
in dynamics of 3-10 observations with an interval of at least 12 hours between measurements.</p>
      <p>The sample that was used for this task consists of 1798 cardiograms. It contained 1055
cardiograms of healthy patients and 743 cardiograms of patients with CHD. The sampling
frequency was 1000 Hz.</p>
      <p>
        Signals were preprocessed before applying machine learning algorithms. For preprocessing, a
low-pass and high-pass Butterworth lters [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] of the second order were used. For low-pass lter
cuto frequency was 0.3 Hz. For high-pass lter cuto frequency was 15 Hz. The signal trend
was extracted using a median lter [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Then the trend was subtracted from the preprocessed
signal.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Algorithms Description</title>
      <p>Below are descriptions of the algorithms that were used to build the ensemble.</p>
      <sec id="sec-3-1">
        <title>3.1. The algorithm based on the HRV signal</title>
        <p>
          The idea which was used for this algorithm was described in the article [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. In the ECG signal,
R-peaks can be distinguished, which correspond to the person's pulse [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] . ECG signal is used
to create heart rate variability signal (HRV signal). It is calculated as follows.
        </p>
        <p>R-peaks are computed.</p>
        <p>The intervals between two R-peaks (RR-intervals) are measured.</p>
        <p>Each value of the RR-interval is converted to 60=RR.</p>
        <p>The main idea of this method is a construction of various groups of features from HRV signal.</p>
        <p>The rst group of features includes various entropic features, which indicate a measure of
unpredictability in the signal. The following types of entropies are used: approximate entropy,
sample entropy, and Shannon entropy. Each type of entropy is described in detail below.</p>
        <p>Approximate entropy is calculated as follows. Here x = (x0; x1; :::; xN 1) is the HRV signal
of length N .</p>
        <p>The integer m and the real r are xed.</p>
        <p>The values Cim(r) are calculated as follows:
A set of vectors of the form xim = (xi; xi+1; :::; xi+m 1), where i 2 [0; N
m] is composed.</p>
        <p>Cim(r) =
xkm : d xim; xkm</p>
        <p>N</p>
        <p>r; k 2 [0; N
m + 1
m]
;
where
where the xim(a) component a of the vector xim.</p>
        <p>The values m(r) are de ned as:</p>
        <sec id="sec-3-1-1">
          <title>Approximate entropy (ApEn) is de ned as</title>
          <p>d xim; xkm
= a2m[0;amx 1] xim(a)</p>
          <p>xkm(a) ;
m(r) = (N</p>
          <p>M + 1) l</p>
          <p>log(Cim(r)):
N m+1</p>
          <p>X
i=1
ApEn(r) =
m(r)
m+1(r):
In this paper, the approximate entropy was realized for m = 10 and r = 0:2std(x), std(x)
standard deviation of the signal x.</p>
          <p>The Sample entropy is calculated as follows.</p>
          <p>Vectors xim of length m and vectors xim+1 of length m + 1 are formed similar to those that
were formed in approximate entropy.</p>
          <p>The values A and B are calculated as follows:</p>
          <p>A(r) = (xkm+1; xlm+1) : d(xkm+1; xlm+1)
r; 0
k
l</p>
          <p>N
m
1 ;
B(r) = (xkm; xlm) : d(xkm; xlm)
r; 0
k
l</p>
          <p>N
m ;
where d is determined as in approximate entropy.</p>
          <p>Sample entropy (SampEn) is de ned as</p>
          <p>SampEn (r) =
log</p>
          <p>A(r)
B(r)</p>
          <p>:
ShanEn =
k
X pf log pf ;
f=1
In this paper, the sample entropy was determined for m = 10, r = 0:2std(x).</p>
          <p>The Shannon entropy is calculated as
where k is the number of di erent elements in the signal x, pf is the frequency of the element f
in the signal x.</p>
          <p>The following group of features is based on a recurrence plot. This plot shows the frequency
and duration of repetitions in the signal. The element (i; j) of the given plot is de ned as 1,
if jjxi xj jj &lt; ", or as 0 otherwise, where x is the HRV signal.</p>
          <p>Based on this plot, the following features are calculated, N the number of elements in the
HRV signal, ld min the minimum length of the plot diagonal, lv min minimal length of the
vertical line, ld max maximum length of the diagonal, lv max maximum length of the vertical
line:</p>
          <p>Density of points (REC)</p>
          <p>REC =</p>
          <p>The percentage of points that form the diagonal lines (DET)</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>P (l) is the number of diagonals of length l.</title>
          <p>The average length of the diagonals (Lmean)
Entropy of diagonal lines (ENd)
where pl is the frequency of diagonal lines of length l.</p>
          <p>Entropy of vertical lines (ENv)</p>
          <p>DET =</p>
          <p>Plld=mldamxin lP (l)</p>
          <p>PiN;j R(i; j)</p>
          <p>;
Lmean =</p>
          <p>Plld=mldamxin lP (l)
Pl=ld min P (l)</p>
          <p>:
ENd =</p>
          <p>pl log pl;
ld max</p>
          <p>X
l=ld min
lv max</p>
          <p>X
l=lv min
ENv =
pvl log pvl;
where pvl is the frequency of vertical lines of length l.</p>
          <p>
            For the calculation of these features, the PyRQA library [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] was used.
          </p>
          <p>Another group of features that is used for this approach is a group of features based on the
Poincare plot. The Poincare plot is constructed as follows: for the signal x = (x0; x1; :::; xN 1),
the plot consists of the points</p>
          <p>(x0; x1); (x1; x2); :::; (xi; xi+1)
and so on. In this case, RR-intervals were used as a signal x.
constructed:</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>The following features are</title>
          <p>The standard deviation of distances from the points of the plot to the line y = x. This
feature describes the local variability of RR-intervals.</p>
          <p>The standard deviation of distances from the points of the plot to the line y = x
2RRmean. RRmean is the average value of RR-intervals. This feature describes the
long-term variability of RR-intervals.</p>
          <p>The feature, which is based on the detrended uctuation analysis. This method allows
determining the self-dependence of the signal. The following cumulative sum is de ned as:
t
xcumsum(t) = X(x(i)
i=1
);
x is a signal consisting of RR-intervals, is the mean of the signal x.</p>
          <p>The data is segmented with a window of size n. On each segment polynomial is found for
the data, which most accurately represents it (usually linear). The union of all such polynomials
forms a function x n(t), which is an approximation of the original function xcumsum(t). Then
there is the following function:
v</p>
          <p>N
F ( n) = tuu N1 Xt=1[xcumsum(t)
x n(t)]2;
where N is the length of the signal consisting of RR-intervals.</p>
          <p>
            The feature is the slope of the line log F ( n) to log( n). More information about this
approach is written in [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]. In this paper, the implementation of this feature was computed using
publicly available software Nonlinear measures for dynamical systems or nolds, version 0.3.2,
which can be downloaded from (https://pypi.python.org/pypi/nolds).
          </p>
          <p>The next feature that was used in this approach is the correlation of dimensions. This feature
is a quantitative characteristic of the signal trajectory and is de ned as follows.</p>
          <p>Vectors xim of length m are similar to those that were formed in approximate entropy are
constructed.</p>
          <p>The value g is de ned as:
g(r) = (xkm; xlm) : d(xlm; xkm)
r; 0
k
l</p>
          <p>N
m
1 ;
g is the number of pairs of vectors whose distance is less than or equal to r.
The value C(r) is de ned as
where N is the length of the signal x.</p>
          <p>The correlation of dimensions (D2) is de ned as</p>
          <p>C(r) =
g(r)
N 2</p>
          <p>;
D2 = lim
r!0 log(r)</p>
          <p>:
log C(r)</p>
          <p>In this paper, the implementation of this feature was computed using publicly available
software Nonlinear measures for dynamical systems or nolds, version 0.3.2, which can be
downloaded from (https://pypi.python.org/pypi/nolds).</p>
          <p>
            The gradient boosting from the xgboost package [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] was used as the classi er in this approach.
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. The algorithm based on 3 di erent feature spaces</title>
        <p>This algorithm is a mixture of 3 di erent feature spaces, which were previously used in the
classi cation of biomedical signals.</p>
        <p>
          The rst group of features consists of the parameters of the Hjorth's parameters:
activity, mobility, complexity [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. These parameters were originally used as features for
electroencephalograms. Later, these parameters were used in many works, including the
classi cation of ECG signals [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>The second group of features consists of statistical signal features: mean, standard deviation,
signal minimum, signal maximum, skew, kurtosis, selective quantiles of order: 0.1, 0.25, 0.5, 0.75,
0.9, sums and sums of signal values squares that are above / below certain values of quantiles:
0.1, 0.25, 0.5, 0.75, 0.9.</p>
        <p>
          The next group of features was suggested by Uspenskiy for the disease detection by patient's
ECG [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. To calculate these features, it is necessary to calculate the amplitudes of the R-peaks
(A(n)), the distances between the R-peaks (T (n)), and the arctangent of their ratio
(n) = acrtg
        </p>
        <p>A(n)
T (n)</p>
        <p>It is assumed that the values of A(n), T (n) are not important, but signs of their increments
are. The method of signal encoding based on all possible signs of increments of these quantities
is presented in Table 1.</p>
        <p>After the code representation of the signal is received, the three-gram selection is performed.
The feature space is the number of occurrences of each of the possible three-grams in a given
code sequence derived from the signal.</p>
        <p>
          The logistic regression from the scikit-learn package [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] was used as the classi er in this
approach.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. The algorithm based on R-peak's neighborhood</title>
        <p>
          The idea used in this algorithm was described in the article [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] for determining the state of the
patient's heart in which he should be sent to the cardiac service. The feature space for this
approach is constructed as follows.
        </p>
        <p>The neighborhoods of the signal R-peaks are allocated: 200 points before R-peak and 500
after.</p>
        <p>The averaged neighborhood is used as a feature space.</p>
        <p>Neural network with the architecture described in Table 2 was used as the classi cation model
for this algorithm.</p>
        <p>
          In this work, the neural network was implemented using the libraries Theano [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] and Lasagne
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. The algorithm based on wavelet transformation</title>
        <p>
          The idea for this algorithm was described in paper [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] for epilepsy detection based on
ECGsignal and for identi cation of a person based on ECG-signal.
        </p>
        <p>Wavelet signal transformation is a convolution of the signal with functions (t), called
wavelets. Such wavelet functions should possess speci c properties:</p>
        <p>Z +1
(t)dt = 0</p>
        <p>Z +1</p>
        <p>j (t)j2dt &lt; 1:
1 1</p>
        <p>
          Wavelet transformation allows achieving signal compression, with good performance of
reproduced original signal [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>All wavelet functions used in a wavelet transformation can be represented with prototype
function (t) using scaling and shift. In case of discreet wavelet transformation all wavelet
function can be written as:</p>
        <p>
          In discrete wavelet transformation of m;n function can be separated into two parts. The
two types of functions correspond to coe cients of approximation and detail coe cients. In
the present work approximation coe cients are used for new representation of the signal, and
Daubechies wavelets [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] are used as a wavelet function.
        </p>
        <p>After getting the coe cients of wavelet transformations, local segments are extracted from
the signal. The segments are extracted by moving a window of certain length w with step s,
with all elements within one window going into a separate segment. After such a procedure
every signal is represented as a set of local segments.</p>
        <p>All local segments in the training set are separated into k clusters using k-means algorithm.
After this, every segment is replaced with the number of the cluster it belongs to. This way every
signal is represented as a text of codewords, with each word representing the certain cluster.</p>
        <p>In the implementation of described algorithm these parameter values were used: w = 100,
s = 30, k = 200. K-means algorithm implementation from scikit-learn package was used.</p>
        <p>In the train sample every local segment is replaced with the cluster it is the closest to. That
means that for every local segment si in test sample cluster c it belongs to is determined using
this formula:
c = argmin d(bj ; si); d(bj ; si) = tuvu Xw(sik</p>
        <p>bjk)2;
k=1
where bj is a cluster center j, sik (bjk) is a kth element of local segment i (cluster j).</p>
        <p>Using this approach and transforming the input signal into text it is possible to use natural
language processing algorithms. The paper's authors that suggested such encoding used the bag
of words as a feature space. Feature description is a number of occurrences of each code word
in a speci c signal.</p>
        <p>
          Features based on word2vec technology were used in order to extract dependencies between
local segments in the signal. This approach was suggested by Google and it allows to use
context-aware text processing, reducing the dimensions of the data [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
        <p>
          Word2Vec model was trained using the length of embedding vector equals to 80. A mean of
all vectors in the signal was used as a feature. The model was trained using package gensim [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
The logistic regression from scikit-learn package [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] was used as a classi cation algorithm.
        </p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. The algorithm based on bispectrum</title>
        <p>
          Bispectrum is a function of two variables f1 and f2 that specify the frequencies, expressed by
the following formula [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]:
        </p>
        <p>
          B(f1; f2) = X(f1)X(f2)X (f1 + f2);
where X(f ) is the Fourier transform of the signal, and X (f ) is the complex conjugate of
it. The signal bispectrum is usually calculated using a fast Fourier transform. A detailed
description of the algorithm for the bispectrum computation of the signal can be found in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
During calculation the bispectrum of the signal, we obtain a two-dimensional matrix whose
elements are complex numbers.
        </p>
        <p>Based on the resulting matrix, the elements of which can be denoted as a(i; j), we can
associate each signal with a certain image. This image is calculated as follows. A new matrix
B = jjbi;j jj is calculated, the elements of which are equal to:</p>
        <p>q
b(i; j) =</p>
        <p>Re2a(i; j) + Im2a(i; j);
where Re denotes the real part of the complex number, and Im denotes the imaginary part of
the complex number. The contour plot of matrix B is used as the image.</p>
        <p>
          The authors of the article [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] have shown that coronary heart disease can be detected by
analyzing images obtained from a signal bispectrum. The method described in the above article
was to allocate the area of the region within the level lines to conclude that the patient had
CHD. The results obtained by the authors allow concluding that bispectrum images can be used
to detect CHD.
        </p>
        <p>It was proposed to use neural networks for classi cation of such images. The architecture of
the neural network is described in Table 3.</p>
        <p>
          In this work, the neural network was implemented using the libraries Theano [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] and Lasagne
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Methods of constructing ensembles of algorithms</title>
      <p>In order to increase classi cation performance, it was suggested to use ensembles of the
algorithms. Several methods of ensembling are described in this section.</p>
      <sec id="sec-4-1">
        <title>4.1. Majority voting</title>
        <p>Given a set of algorithms A = (A1; A2; :::; An) and output a vector of predictions a =
(a1; a2; :::; an) then the resulting answer a of the ensemble is equal to</p>
        <p>a = mode(a1; a2; :::; an);
where mode is a statistic, that is equal to the element which is most often encountered in the
predictions. If there are several of them a random one of them is chosen.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. EM-algorithm</title>
        <p>
          The main idea of the EM-algorithm [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] is data aggregation from di erent people about the
same event in order to get a correct evaluation. Since the goal of ensembling is the aggregation
of several di erent algorithms, the EM-algorithm is applicable to ensemble creation.
        </p>
        <sec id="sec-4-2-1">
          <title>Algorithm description:</title>
          <p>N size of available data, nikl whether the k-th algorithm has the answer l (l 2 f1; 2g) to
the data i (i = 1:::N ),</p>
          <p>jkl (j 2 f1; 2g) is the probability that the k th algorithm will return j when the true
answer is l.</p>
          <p>Tij = 1, if the true answer for the data i is j, otherwise, it equals 0.
pj the probability of class j in the sample.</p>
          <p>Step 1: Initialize the matrices
majority.</p>
          <p>Step 2: Recalculate the values of matrices</p>
          <p>and pj :
to the ideal case. T initialize the voting value for the
jkl =</p>
          <p>P Tij nikl
i
P P Tij nikl
l i</p>
          <p>P Tij
pj = i</p>
          <p>N
Tij =</p>
          <p>pj QkK=1 Ql2=1( jkl)nikl</p>
          <p>Pq2=1 pq QkK=1 Ql2=1( qkl)nikl</p>
          <p>Step 3. Recalculate Tij :
Repeat steps 2 and 3 until the matrices stop changing.</p>
          <p>At the end of this algorithm, we obtain the probability of the data belonging to each class
in the matrix T . As an answer, the class is taken, the probability of belonging to which is the
greatest.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation of Algorithms</title>
      <p>Cross-validation was used to evaluate the performance of algorithm. To avoid over tting the
ECGs of one patient did not fall simultaneously into the training and test set. The following
performance criteria was introduced:</p>
      <p>N i=1</p>
      <p>
        N Pjn=i1 Itij=pij ;
1 X
ni
where tij is the true value of the target variable for the cardiogram j of the patient i, pij
the predicted value of the target variable for the cardiogram j of patient i, ni the number
of cardiograms of the patient i, N the number of patients, Itij=pij is the indicator function
which equals to 1 if tij equals to pij and equals to 0 otherwise. This criterion is called patient
performance. It allows us to evaluate how well the algorithm determines a person's disease by
any of his cardiograms. In addition, this performance criterion does not depend on the number
of cardiograms for each patient. ROC-AUC score [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] and F-score [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] were used for models
evaluation.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Results</title>
      <p>The results of evaluations are shown in Table 4, where the rst column shows algorithms type
or ensemble type. The algorithm based on wavelet transformation is included in two variants,
with word2vec and without.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>In the course of this paper, the following results were obtained. When CardioQvark equipment is
used, it is possible to determine CHD with an accuracy of more than 0.81 for patient performance,
with an accuracy greater than 0.77 for F-score and with an accuracy greater than 0.87 for
ROC-AUC score. Word2vec can increase the performance of the classi cation method based
on the wavelet transformation. Bispectrum can be used to classify CHD. The EM algorithm
is applicable for ensemble and in this case, shows the best performance of classi cation for all
selected performance criteria.</p>
      <sec id="sec-7-1">
        <title>An Algorithm</title>
        <p>Bispectrum
Wavelet transformation
Wavelet transformation +word2vec
R-peak's neighborhood
The HRV signal
3 di erent feature spaces
majority
EM</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Gorbachev</surname>
            <given-names>V V</given-names>
          </string-name>
          <year>2008</year>
          <article-title>I cardiac ischemia (Minsk: Vysh</article-title>
          . shk) p
          <volume>479</volume>
          (in Russian)
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Dua</given-names>
            <surname>Sumeet 2012</surname>
          </string-name>
          <article-title>Novel classi cation of coronary artery disease using heart rate variability analysis</article-title>
          <source>Journal of Mechanics in Medicine and Biology</source>
          <volume>12</volume>
          (
          <issue>4</issue>
          )
          <fpage>1240017</fpage>
          -
          <lpage>1240019</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Giri</surname>
            <given-names>D 2013</given-names>
          </string-name>
          <article-title>Automated diagnosis of coronary artery disease a ected patients using LDA, PCA, ICA and discrete wavelet transform</article-title>
          <source>Knowledge-Based Systems 37</source>
          <fpage>274</fpage>
          -
          <lpage>282</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Acharya</surname>
            <given-names>U</given-names>
          </string-name>
          2017 Rajendra et al.
          <article-title>Application of higher-order spectra for the characterization of coronary artery disease using electrocardiogram signals</article-title>
          <source>Biomedical Signal Processing and Control</source>
          <volume>31</volume>
          <fpage>31</fpage>
          -
          <lpage>43</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Kumar M R B U and Rajendra А</surname>
          </string-name>
          <article-title>2017 Characterization of coronary artery disease using flexible analytic wavelet transform applied on</article-title>
          <source>ECG signals Biomedical Signal Processing and Control</source>
          <volume>31</volume>
          <fpage>301</fpage>
          -
          <lpage>308</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Rangayyan R M 2015 Biomedical Signal</surname>
          </string-name>
          <article-title>Analysis</article-title>
          (John Wiley &amp; Sons)
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Rawald T M and Sips N M 2017 PyRQA -</surname>
          </string-name>
          <article-title>Conducting recurrence quantification analysis on very long time series efficiently</article-title>
          <source>Computers &amp; Geosciences</source>
          <volume>104</volume>
          <fpage>101</fpage>
          -
          <lpage>108</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Kantelhardt</surname>
            <given-names>J W</given-names>
          </string-name>
          <year>2001</year>
          <article-title>Detecting long-range correlations with detrended fluctuation analysis Physica A: Statistical Mechanics</article-title>
          and
          <source>its Applications</source>
          <volume>295</volume>
          (
          <issue>3-4</issue>
          )
          <fpage>441</fpage>
          -
          <lpage>454</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Tianqi</surname>
            <given-names>C</given-names>
          </string-name>
          and
          <string-name>
            <surname>Guestrin C 2016</surname>
          </string-name>
          <article-title>Xgboost: a scalable tree boosting system Proc. of the 22nd acm sigkdd international conference on knowledge discovery and data mining ACM</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Hjorth</surname>
            <given-names>B 1970</given-names>
          </string-name>
          <article-title>EEG analysis based on time domain properties Electroencephalography</article-title>
          and
          <source>Clinical Neurophysiology</source>
          <volume>29</volume>
          (
          <issue>3</issue>
          )
          <fpage>306</fpage>
          -
          <lpage>310</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>De Cooman</surname>
            <given-names>T</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carrette</surname>
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boon</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meurs</surname>
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Van Huffel S 2014 September</surname>
          </string-name>
          <article-title>Online seizure detection in adults with temporal lobe epilepsy using single-lead ECG</article-title>
          <source>Proceedings of the 22nd European Signal Processing Conference 1532-1536</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Uspensky</surname>
            <given-names>V 2008</given-names>
          </string-name>
          <article-title>Theory and practice of diagnosis of diseases of internal organs by the method of information analysis of electrocardio signals (Moscow: Economics and Informatics) p 116 (in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Pedregosa</surname>
            <given-names>F 2011</given-names>
          </string-name>
          <article-title>Scikit-learn: machine learning in</article-title>
          <source>PythJoonurnal of machine learning research 2825-2830</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Ripoll V J R 2016</surname>
          </string-name>
          <article-title>ECG assessment based on neural networks with pretrAaipnpinliegd</article-title>
          <source>Soft Computing</source>
          <volume>49</volume>
          <fpage>399</fpage>
          -
          <lpage>406</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Al-Rfou</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alain</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Almahairi</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Angermueller</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bahdanau</surname>
            <given-names>D</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ballas N 2016 Theano:</surname>
          </string-name>
          <article-title>a Python framework for fast computation of mathematical expressions Preprint arXiv</article-title>
          :
          <volume>1605</volume>
          .
          <fpage>02688</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Dieleman</surname>
            <given-names>S 2015</given-names>
          </string-name>
          <string-name>
            <surname>Lasagne:</surname>
          </string-name>
          <article-title>First release (Geneva</article-title>
          , Switzerland: Zenodo)
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Wang</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>She</surname>
            <given-names>M F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nahavandi</surname>
            <given-names>S</given-names>
          </string-name>
          and
          <article-title>Kouzani A 2013 Bag-of-words representation for biomedical time series classi cation</article-title>
          <source>Biomedical Signal Processing and Control</source>
          <volume>8</volume>
          (
          <issue>6</issue>
          )
          <fpage>634</fpage>
          -
          <lpage>644</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Liu C L 2010</surname>
          </string-name>
          <article-title>A tutorial of the wavelet transform (Taiwan: NTUEE)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Mikolov</surname>
            <given-names>T 2013</given-names>
          </string-name>
          <article-title>E cient estimation of word representations in vector space (Scottsdale</article-title>
          , Arizona: ICLRWorkshop)
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Rehurek</surname>
            <given-names>R</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sojka</surname>
            <given-names>P 2010</given-names>
          </string-name>
          <article-title>Software framework for topic modelling with large corpora</article-title>
          <source>Proc. of the LREC Workshop on New Challenges for NLP Frameworks</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Civera M L Z and Surace</surname>
            <given-names>S 2016</given-names>
          </string-name>
          <article-title>Using bispectral analysis and neural networks to localise cracks in beam-like structuresProc</article-title>
          .
          <source>of the 8th European Workshop On Structural Health Monitoring 1542-1551</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Chrysostomos</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mysore</surname>
            <given-names>L</given-names>
          </string-name>
          and
          <string-name>
            <surname>Raghuveer</surname>
            <given-names>R 1987</given-names>
          </string-name>
          <article-title>Bispectrum estimation: A digital signal processing frameworkProc</article-title>
          .
          <source>of the IEEE</source>
          <volume>75</volume>
          (
          <issue>7</issue>
          )
          <fpage>869</fpage>
          -
          <lpage>891</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Al-Fahoum</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Al-Fraihat</surname>
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Al-Araida</surname>
            <given-names>A</given-names>
          </string-name>
          2014 Detection
          <article-title>of cardiac ischaemia using bispectral analysis approach Journal of medical engineering</article-title>
          &amp; technology
          <volume>38</volume>
          (
          <issue>6</issue>
          )
          <fpage>311</fpage>
          -
          <lpage>316</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Dawid</surname>
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Skene</surname>
            <given-names>A 1979</given-names>
          </string-name>
          <article-title>Maximum likelihood estimation of observer error-rates using the</article-title>
          <source>EM algorithm Applied statistics 20-28</source>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Sokolova</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Japkowicz</surname>
            <given-names>N</given-names>
          </string-name>
          and
          <string-name>
            <surname>Szpakowicz</surname>
            <given-names>S 2006</given-names>
          </string-name>
          <article-title>Beyond accuracy, F-score and ROC: a family of discriminant measures for performance evaluation</article-title>
          <source>Australian conference on artificial intelligence</source>
          <volume>4304</volume>
          <fpage>1015</fpage>
          -
          <lpage>1021</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>