Next Article in Journal
Impact of an Educational Intervention on BPPV Management: An Interrupted Time Series Analysis
Previous Article in Journal
Application Features of a VOF Method for Simulating Boiling and Condensation Processes
Previous Article in Special Issue
A Data-Driven Intelligent Methodology for Developing Explainable Diagnostic Model for Febrile Diseases
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

SAIN: Search-And-INfer, a Mathematical and Computational Framework for Personalised Multimodal Data Modelling with Applications in Healthcare

by
Cristian S. Calude
1,
Patrick Gladding
2,
Alec Henderson
3 and
Nikola Kasabov
4,*
1
Department of Computer Science, University of Auckland, Auckland 1142, New Zealand
2
Bioengineering Institute, University of Auckland, Auckland 1142, New Zealand
3
University of Queensland Center for Clinical Research, Brisbane, QLD 4072, Australia
4
Department of Computer Science, Auckland University of Technology, Auckland 1142, New Zealand
*
Author to whom correspondence should be addressed.
Algorithms 2025, 18(10), 605; https://doi.org/10.3390/a18100605
Submission received: 26 June 2025 / Revised: 10 September 2025 / Accepted: 18 September 2025 / Published: 26 September 2025
(This article belongs to the Special Issue Algorithms for Computer Aided Diagnosis: 2nd Edition)

Abstract

Personalised modelling has become dominant in personalised medicine and precision health. It creates a computational model for an individual based on large data repositories of existing personalised data, aiming to achieve the best possible personal diagnosis or prognosis and derive an informative explanation for it. Current methods are still working on a single data modality or treating all modalities with the same method. The proposed method, SAIN (Search-And-INfer), offers better results and an informative explanation for classification and prediction tasks on a new multimodal object (sample) using a database of similar multimodal objects. The method is based on different distance measures suitable for each data modality and introduces a new formula to aggregate all modalities into a single vector distance measure to find the closest objects to a new one, and then use them for a probabilistic inference. This paper describes SAIN and applies it to two types of multimodal data, cardiovascular diagnosis and EEG time series, modelled by integrating modalities, such as numbers, categories, images, and time series, and using a software implementation of SAIN.

1. Introduction

Multimodal data has been gathered at a personalised level in large quantities, worldwide, for many applications, such as neuro-imaging analysis, personalised health diagnosis and prognosis, environmental modelling, and financial modelling, to mention only a few of them. Still, there are no efficient methods to integrate various multimodal data for a new subject and derive a more accurate and explainable diagnosis or prognosis based on existing multimodal data of many other subjects. The goal of this paper is to create such a method.
There are three main approaches to multimodal data integration in machine learning, explored so far [1]:
1. Early integration, where a common vector represents all modalities used for training a model and for its recall. This approach has been used for integrating time series and textual information [2,3], for image integration [4], and for the integration of clinical, social, and cognitive data modalities to predict psychosis in young adults [5]. While the method in [4] is based on deep, feedforward neural networks, the methods in [2,5] use a brain-inspired spiking neural network architecture NeuCube [6].
2. Late integration, where a model is created and trained for each of the modalities of data, and the results from all models are integrated to calculate the output. This approach has been demonstrated in [1] on integrating clinical, genetic, cognitive, and social data for medical prognosis.
3. Hybrid, early, late, and intermediate integration of data modalities, where the two approaches above are combined [1].
The proposed SAIN method in this paper is designed for early integration of data modalities, where specific encoding and distance metrics are suggested for different types of data, along with novel algorithms for search in a multimodal database and inference. These search and inference algorithms are related to building a personalised model for individual outcome assessment and its explanation.
Personalised modelling is concerned with the creation of an individual model for a new personal (individual) record of data X, using an already existing repository D of many other personal records for which the outcomes are known, to assess the outcome of the new record X [7]. Methods for personalised modelling have been developed to work mainly on a single modality of data [8,9]. These methods have been used in many applications and constitute the state of the art in the field (e.g., refs. [1,9,10,11,12,13]). In [9,14], a personalised modelling is proposed based on static and temporal modalities of data, which are used to train a spiking neural network model.
The enormous growth of personal multimodal data worldwide demands more advanced methods for personal modelling with the use of multimodal data. This paper offers such a method, called SAIN, where the specificity of each data modality is considered and new algorithms are proposed for the encoding of multimodal data, for search in a multimodal data repository, and for multimodal inference, along with its explanation and visualisation. In contrast with the statistical solutions used in [15,16,17], we adopt a probabilistic framework that gives more precise evaluations of probabilities of outcomes for an individual.

2. Mathematical Description

In this section, we present the mathematical method. In detail, we start with the database coding and a class of distances (metrics) to be used in this article, followed by the list of tasks (problems) and their solutions. Detailed examples illustrate the solutions. Detailed solutions to three critical problems, namely survival analysis, heart disease diagnosis, and time series classification, are presented in detail and illustrated with numerical examples.

2.1. Database

We will work with the multidimensional data described as follows:
  • m > 1 objects (samples) o 1 , , o m ;
  • Each object o i ( 1 i m ) is defined by n > 1 criteria (variables) c 1 , , c n with values in linearly ordered domains D i with min D i and max D i ; if some value a i , j D i ( 1 i m , 1 j n ) is either missing or uncertain, then its value is recorded as ;
  • n > 1 weights w 1 , , w n in ( 0 , 1 ) with i = 1 n w i = 1 , where each w i ( 1 i n ) quantifies the importance of the criterion c i ; if w i = 1 n for all 1 i n , then all criteria are equally important; a criterion c i is ignored if w i = 0 .
Data of independent variables are organised as in Table 1.

2.2. Distance Metrics

A distance metric on a space X is a positive real-valued function d : X × X R + satisfying the following three conditions for all x , y , z X : (a) d ( x , y ) = 0 if and only if x = y , (b) d ( x , y ) = d ( y , x ) , (c) d ( x , z ) d ( x , y ) + d ( y , z ) .
The multicriteria metrics [18,19] (used in multicriteria recommendation systems [20]) presented in this part can be used on a variety of domains X = D i : they can be sets of logical values, rational numbers, percentages, digitally codified images, sounds, videos, and many others. We use a bounded distributive complemented lattice ( L , , , x ¯ , 0 , 1 ) to describe uniformly the domains D i . We rank all objects according to their aggregated distance to a new one; based on that, we calculate probabilities of the new object belonging to different classes, represented in the object repository.
Here is a list with illustrative, but far from exhaustive, examples of domains D i :
  • Logical Boolean domain: ( { 0 , 1 } , max , min , x ¯ , 0 , 1 ) , where x ¯ = 1 x , x { 0 , 1 } .
  • Logical non-Boolean domain: 0 , 1 N 1 , 2 N 1 , , N 2 N 1 , 1 , max , min , x ¯ , 0 , 1 , where x 0 , 1 N 1 , 2 N 1 , , N 2 N 1 , 1 and x ¯ = 1 x , .
  • Numerical domain with natural values: { 0 , 1 , , N } , max , min , x ¯ , 0 , 1 , where x ¯ = N x , x { 0 , 1 , , N } .
  • Numerical domain with rational values: { x a x A } , max , min , x ¯ , a , A , where x ¯ = A x , a x A .
  • Binary code: { 0 , 1 } n , max , min , x ¯ , 00 0 , 11 1 , where the domain consists of all binary strings of length n, { 0 , 1 } n = { x 1 x 2 x n x i { 0 , 1 } } and for all x 1 x 2 x n , y 1 y 2 y n { 0 , 1 } n , max ( x 1 x 2 x n , y 1 y 2 y n ) = max ( x 1 , y 1 ) max ( x 2 , y 2 ) max ( x n , y n ) , min ( x 1 x 2 x n , y 1 y 2 y n ) = min ( x 1 , y 1 ) min ( x 2 , y 2 ) min ( x n , y n ) , x 1 x 2 x n ¯ = ( 1 x 1 ) ( 1 x 2 ) ( 1 x n ) .
In the lattice ( L , , , x ¯ , 0 , 1 ) we introduce, following [18], the metric:
d ( x , y ) = ( x y ¯ ) ( x ¯ y ) , if x y , 0 , otherwise ,
for x , y L . This metric d can be extended to L { } as follows:
d ( x , y ) = d ( x , y ) , if x , y L , σ ( x ) , if x L and y = , σ ( y ) , if y L and x = , 0 , otherwise ,
where σ ( x ) = max ( x , x ¯ ) .
The metrics d , i on L i { } , 1 i n , can be extended to ( L i { } ) n , i.e., to n-dimensional vectors, as follows:
d ( x 1 x 2 x n , y 1 y 2 y n ) = i = 1 n d , i ( x i , y i ) ,
where x i , y i L i { } , 1 i n .
In what follows, we write d for d when the meaning is clear from the context.

2.3. Tasks Specification

Data organised as in Table 2, Table 3 and Table 4 consists of independent objects augmented with a column of labels, the weights of criteria, and a new unlabelled object, respectively.
Additional information associated with data in Table 2 may include the range of each criterion c j and the associated specific distance, e.g., the Euclidean distance for real numbers and the distance d for binary strings or strings over a non-binary alphabet (e.g., for images or colours).
We consider the following tasks:
  • Task 1: Calculate the distance (or similarity metric) between the new object and each object in Table 2. If the distance corresponding to c i is d i , then
    d ( o j , x ) = i = 1 n w i · d i ( a i , j , x j ) .
  • Task 2: Given a threshold δ > 0 , calculate all objects o i at a distance at most δ to x.
  • Task 3: Calculate the probability of a new object belonging to a labelled class (e.g., low risk vs. high risk) using a threshold δ and Table 2.
  • Task 4: Rank the criteria in Table 2 and calculate the marker or markers criterion/criteria that are the most important/ones.
  • Task 5: Assign alternative weights to criteria.
  • Task 6: Test the data accuracy and method for Task 4.

2.4. Tasks Solutions

For Task 1, we calculate the distances d ( o i , x ) between each object o i in Table 2 and x in Table 4.
For Task 2, given a threshold δ > 0 , we calculate all objects in Table 2 at a distance at most δ to x, that is, the objects which are δ -similar to x:
C δ , x = { o i d ( x , o i ) δ , 1 i m } ,
and its complement C δ , x ¯ .
For Task 3, we calculate the probability that x is in class label l t , which is the ratio of the number of objects in C δ , x with the label l t to the size of the cluster C δ , x :
P r o b ( x   has   label   l t ) = # { o i C δ , x l i = l t } # ( C δ , x ) ,
where # { } means the number of elements in the set { } .
For Task 4, we work with Table 2. Recall that, for each criterion c i , we have a domain D i augmented with information “high” or “low,” indicating whether higher or lower values are desirable. Based on this information, we can construct a hypothetical object (see Table 5) which has the most desirable values for each criterion: one could see this object as an “exemplar” one.
Sometimes, criteria are interrelated or correlated. This means that, in some cases, there is no unique “exemplar object”, but a couple of them have to be studied in ranking the importance of criteria.
For example, fix an “exemplar object” o E .
  • Compute the distances d ( o i , o E ) between each object o i in Table 2 and o E , so obtain a vector with n non-negative real components V 0 = ( d 1 0 , d n 0 ) .
  • For each 1 t m , compute the distances d ( o i , o E ) taking into consideration all criteria in Table 2 except c t : obtain the vector V t = ( d 1 t , d n t ) .
  • Compute the distances between d i s t ( V 0 , V t ) , 1 t m using the formula
    d i s t ( V 0 , V t ) = i = 1 n | d 0 , i d t , i | ,
    and sort them in increasing order. The criterion c t is a marker if d i s t ( V 0 , V t ) d i s t ( V 0 , V j ) , for every 1 j m .
We repeat this procedure for each “exemplar object" and study possible variations.
For Task 5, normalise the distances d i s t ( V 0 , V t ) and use these values to construct the weights w i * , 1 t m .
For Task 6, assume we have weights ( w i ) associated to Table 2 (see Table 1). To test the accuracy of the data and method used for Task 4, compare the original weights ( w i ) with ( w i * ) . Serious discrepancies should signal issues either with the data or the choices made in the applications of the method.

2.5. An Example

We illustrate the above tasks with an example of a labelled database in Table 6 and a new object (see Table 7), all having the following seven characteristics (the last column has the label classes 1 and 2):
  • c 1 : real number { 0 100 } , e.g., age, weight, BMI etc.;
  • c 2 : Boolean value { 0 , 1 } , e.g., gender;
  • c 3 : integer number { 0 10 , 000 } , e.g., gene expression;
  • c 4 : categorical {small, med, large }, e.g., size of tumour, body size, keywords;
  • c 5 : colour {red, yellow, white, black}, e.g., colour of a spot on the body, on the heart;
  • c 6 : spike sequence of { 1 , 0 , 1 } e.g., encoded EEG, ECG;
  • c 7 : black and white image, e.g., MRI, face image.
Table 6. An example of labelled data.
Table 6. An example of labelled data.
68.206789smallred0, 1, −1, −1, 1,1, 0, 0, 1, −11, 1, 01
0, 0, 1
0, 0, 1
93198,000mediumyellow0, −1, −1, −1, −1, 0, 0, 1, −1, 11, 0, 01
0, 0, 1
0, 0, 1
44.515600largered0, 1, −1, 1, −1, 1, 0, 0, 1, −11, 1, 01
1, 0, 1
1, 1, 1
56.8089smallwhite1, −1, −1, −1, −1, 1, 0, 0, 1, −11, 1, 01
0, 1, 1
1, 0, 1
26.309456largeblack1, −1, −1, −1, 0,1, 0, 0, 1, −11, 1, 02
1, 1, 1
1, 0, 1
81.5178, 955mediumred0, 1, −1, 1, −1, −1, 0, 0, 1, −11, 1, 02
0, 0, 1
1, 1, 1
56.7168, 900smallblack1, −1, −1, 1, −1, 1, 0, 0, 1, 11, 1,12
0, 0,1
1, 1,1
2007833largeyellow1, 1, −1, −1, 1,1, 0, −1, −1, 11, 0, 02
0, 0, 1
1, 1, 1
2007833yellow1, 1, −1, −1, 1,1, 0, −1, −1, 11, 0, 02
0, 0, 1
1, 1, 1
Table 7. An example of new unlabelled object.
Table 7. An example of new unlabelled object.
48.5145,679largered1, 0, 0, −1, 1, −1, 1, 0, 0, 11, 1, 0
0, 0, 1
1, 0, 1
In this fictitious example, for simplicity, we did not use weights.
The first step is to code the data in Table 6 and Table 7. The new data is in Table 8 and Table 9.
Then, we normalise the data in Table 8 and Table 9—the entries in the first, third, and fourth columns have been divided by 100, 10,000, and 2, respectively. The entries in the last three columns have been transformed into reals in the unit interval, and the column of labels has been removed. In this way, we have obtained Table 10 and Table 11.
Then, we choose an appropriate distance according to each criterion. In this example, we used the Euclidean distance for all criteria (see Table 12 and Table 13).
We can compute C δ , x = { o i d ( o i , x ) δ } and, accordingly, the probability that x would be labelled in class 1 or class 2.
If δ = 3.5 , then C 3.5 , x = { o 1 , o 2 , o 3 , o 5 , o 6 , o 7 , o 8 } so the probability that x is in class 1 is 2/7 and the probability that x is in class 2 is 5/7. If δ = 2.5 , then its closest cluster is C 2.5 , x = { o 2 , o 3 , o 5 , o 6 , o 7 , o 8 } , so the probability that x is in class 1 is 1/3 and the probability that x is in class 2 is 2/3.
Which induces the following ranking of the objects in Table 8: o 3 , o 6 , o 7 , o 5 , o 2 , o 8 , o 1 , o 9 , o 2 .
For Task 4, assume that the criteria c 1 , , c 7 in Table 10 have the additional information ( m , m , m , m , m , M , M ) , where m (M) means that the exemplar value is the minimum (maximum) value. Based on this vector, we compute the exemplar object (see Table 14).
Next we calculate V 0 , , V t , (see Table 15), and finally the distances D i s t ( V 0 , V t ) , t = 1 , 2 , , 7 and the weights as their normalised values (see Table 16). The marker, in this case, is the criterion c 5 .

2.6. Complexity Estimation of the SAIN Method

The proposed method to compute the similarity between a new object and N objects in a data repository is linear in N, so very fast.

3. Survival Analysis in SAIN

Medical survival analysis evaluates the time until an event of interest occurs, like death or disease recurrence, in a group of patients. This analysis is often used to compare treatment outcomes or predict prognosis. In contrast with the statistical solutions used in [15,16,17], we adopt a probabilistic framework that gives more precise evaluations of probabilities.

3.1. Data and Tasks

We are given the following data:
1.
Table 17, in which the first column lists the patients treated for the same disease with the same method under strict conditions, and wherein the last column records the times until the patients’ deaths.
2.
Table 18, which includes the record of the new patient p.
3.
A threshold δ which defines the acceptable similarity between p and the relevant p i ’s in the Survival database (i.e., d ( p , p i ) δ ).
We consider the following tasks:
Task 1: What is the life expectancy of p?
Task 2: What is the probability that the life expectancy of p is greater than or equal to a given T?

3.2. Tasks Solutions

Using a standard method of survival analysis
1.
For Task 1,
(a)
Compute the set of patients that are similar up to δ to p:
C δ , p = { p i d ( p , p i ) δ , 1 i m } .
(b)
Using C δ , p , compute the probability that p will survive the time t j :
P r o b δ ( p   survives time   t j ) = # { p i C δ , p t i = t j } # ( C δ , p ) .
(c)
Compute the life expectancy of p using the formula:
L E δ ( p ) = j = 1 , t j C δ , p m t j × P r o b δ ( p   survives time   t j ) .
2.
For Task 2, calculate the probability that the life expectancy of p is at least time T:
P r o b δ ( L E ( p ) T ) = j = 1 , t j C δ , p , t j T m P r o b δ ( p   survives time   t j ) .

3.3. An Example

We illustrate the above tasks with an example of a database in which columns 2–8 record patients’ medical test results, and the last column records time to death (see Table 19) and a new patient (see Table 20):
The distance for column 4 is d ( x , y ) = | x y | = and d ( x , ) = max ( x , 1 x ) . For example, d ( 1 , ) = max ( 1 , 1 1 ) = 1 . For all other columns, the distance is d ( x , y ) = | x y | . Finally, the total distance is the sum of individual distances (7 terms), with the results in Table 21.
The results for Task 1, (a), (b), and (c) are listed below:
1.
For δ 3.37 , C δ , p = { v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 , v 9 } , that is the entire database. Then,
(a)
L E δ ( p ) = 50.11 ,
(b)
 
i.
P r o b δ ( p   survives time   = 12.3 ) = 1 / 9 ,
ii.
P r o b ( p   survives time   = 15 ) = 1 / 9 ,
iii.
P r o b δ ( p   survives time   = 68 ) = 1 / 9 ,
iv.
P r o b δ ( p   survives time   = 1.4 ) = 1 / 9 ,
v.
P r o b δ ( p   survives time   = 40.5 ) = 1 / 9 ,
vi.
P r o b δ ( p   survives time   = 97.2 ) = 2 / 9 ,
vii.
P r o b δ ( p   survives time   = 55.7 ) = 1 / 9 ,
viii.
P r o b δ ( p   survives time   = 63.7 ) = 1 / 9 .
(c)
 
i.
P r o b δ ( L E δ ( p ) 1.4 ) = 1 ,
ii.
P r o b δ ( L E δ ( p ) 12.3 ) = 8 / 9 ,
iii.
P r o b δ ( L E δ ( p ) 15 ) = 7 / 9 ,
iv.
P r o b δ ( L E δ ( p ) 40.5 ) = 6 / 9 ,
v.
P r o b δ ( L E δ ( p ) 55.7 ) = 5 / 9 ,
vi.
P r o b δ ( L E δ ( p ) 63.7 ) = 4 / 9 ,
vii.
P r o b δ ( L E δ ( p ) 68 ) = 3 / 9 ,
viii.
P r o b δ ( L E δ ( p ) 97.2 ) = 2 / 9 ,
  • We can calculate other probabilities; for example, P r o b δ ( L E δ ( p ) 60 ) = P r o b δ ( L E δ ( p ) 63.7 ) + P r o b δ ( L E δ ( p ) 68 ) = 3 / 9 + P r o b δ ( L E δ ( p ) 97.2 ) = 2 / 9 = 1 / 9 + 1 / 9 + 2 / 9 = 4 / 9 .
2.
For δ 2.5 , C δ , p = { v 2 , v 3 , v 5 , v 6 , v 7 , v 8 } . Then,
(a)
L E δ ( p ) = 62.27 ,
(b)
 
i.
P r o b ( p   survives time   = 15 ) = 1 / 6 ,
ii.
P r o b ( p   survives time   = 68 ) = 1 / 6 ,
iii.
P r o b ( p   survives time   = 40.5 ) = 1 / 6 ,
iv.
P r o b ( p   survives time   = 97.2 ) = 2 / 6 ,
v.
P r o b ( p   survives time   = 55.7 ) = 1 / 6 ,
(c)
 
i.
P r o b δ ( L E δ ( p ) 15 ) = 1 ,
ii.
P r o b δ ( L E δ ( p ) 40 ) = 5 / 6 ,
iii.
P r o b δ ( L E δ ( p ) 55.7 ) = 4 / 6 ,
iv.
P r o b δ ( L E δ ( p ) 68 ) = 3 / 6 ,
v.
P r o b δ ( L E δ ( p ) 97.2 ) = 2 / 6 .
  • Similarly, we can calculate the probabilities P r o b δ ( L E δ ( p ) 45 ) = 4 / 6 , P r o b δ ( L E δ ( p ) 100 ) = 0 .
In contrast with the statistical solutions used in [14,15,16], we adopted a probabilistic framework that gives more precise evaluations of probabilities. The SAIN algorithms also include some statistically established methods, such as the t-test, for ranking variables before applying the inference method.

4. SAIN: A Modular Diagram and Functional Information Flow

The SAIN framework consists of the following modules (Figure 1):
1.
Multimodal data of a new object X.
2.
An existing repository D of multimodal data of many objects, labelled with their outcome.
3.
A module of algorithms for searching in the database D and based on the distance between X and each object in D.
4.
Defining a subset D x from D, so that X is closer to the objects in D x based on a given threshold.
5.
A module of algorithms for building a model M x in D x .
6.
An inference algorithm to derive the output for X from the model M x and to visualise it for explanation purposes. Figure 1 gives a modular view of the SAIN framework and Figure 2 shows the information processing flow:
(a)
Encoding the multimodal data of X and D.
(b)
Choosing a distance matrix and similarity search in the dataset D.
(c)
Calculating the aggregated difference between the new data vector X and the closest vectors in D x .
(d)
Creating a model M x in D x .
(e)
Applying inference by calculating the X c , j for each class C j (or output value), using the wwkNN method in [5].
(f)
Reporting and visualisation of results of the individual model Mx. This is illustrated in Figure 3.
The inference method is based on the wwkNN (weighted variables, weighted samples k-nearest neighbour) proposed by Kasabov [7]. This method first ranks the impact of the variables (multimodal ones) to estimate their weights/impact towards the output using a t-test; then, it measures the distance between the new object X and the ones in the database D x and weighs it. For each class C j , the higher a variable is ranked, the closer the samples/objects belong to class C j . The closer to X, the higher the calculated value of C j is. The new object X is classified in class C l if X c l is the highest among all X c j values in Figure 1 and Figure 2, we present the modular diagram and the functional information flow of SAIN.
Figure 1. A modular diagram of the proposed SAIN computational framework.
Figure 1. A modular diagram of the proposed SAIN computational framework.
Algorithms 18 00605 g001
Figure 2. A flow of data and information processing in the SAIN computational framework.
Figure 2. A flow of data and information processing in the SAIN computational framework.
Algorithms 18 00605 g002
Figure 3. An example of visualisation of a personalised SAIN model. The closest four samples (out of 6) to the new object (star) are from class 1 (in red, and class 2 in blue) using the top three informative variables. Each sample is a multimodal one, and the top 3 variables can be of different modalities.
Figure 3. An example of visualisation of a personalised SAIN model. The closest four samples (out of 6) to the new object (star) are from class 1 (in red, and class 2 in blue) using the top three informative variables. Each sample is a multimodal one, and the top 3 variables can be of different modalities.
Algorithms 18 00605 g003

5. Case Studies for Medical Diagnosis and Prognosis

We present three case studies in which we applied SAIN.

5.1. Heart Disease Diagnosis

We worked with the well-known Cleveland dataset, which contains multiple data types [21]. The UCI Heart Disease dataset includes 76 attributes. As in most articles, the attributes in our experiment data were restricted to 14, see Table 22.
The problem is a binary classification of whether the patient has or does not have heart disease.
First, we selected suitable distance metrics and weights to classify the attributes. For binary objects, the distance metric is simply whether they are equal; for non-binary discrete objects such as resting electrocardiographic results, the appropriate distance measure is not obvious and should be informed by an expert. We give the electrocardiographic results of 0 for normal, 1 for having ST-T wave abnormality, and 2 for showing probable or definite left ventricular hypertrophy following Estes’ criteria.
Many studies with the Cleveland dataset have been tested with different machine learning techniques. For example ref. [21] lists different algorithms and performances ranging from 47% to 80% accuracy. SAIN achieved an 82% accuracy score. Why SAIN? The search is fast, uses appropriate distances chosen by a medical expert, and provides explainability at a personal level, including probabilities. It offers different scenarios for modelling by experimenting with different sets of features, parameters, and preferred outcome visualisations.
The SAIN experiment used binary and numerical representation for each variable as described. We have used the same data representation (recommended by medical experts) as in the original paper [21]. The accuracy of the SAIN experiment was 82%, the same accuracy as in [6], which used classical machine learning. In addition, SAIN allows visualising each personalised model as shown in the examples in Figure 3 and Figure 4.

5.2. Time Series Classification

The proposed SAIN framework can incorporate time series data, as another modality, in addition to other modalities of data for a person, making a joint multimodal personal vector. A time series data is encoded into the binary vector by using spike encoding algorithms [6], where if there is a positive change from one discrete time point to the next one in the time series, there will be a positive spike (encoded as 1); a negative change will result in a negative spike (−1) and no change will result in 0 value. This is illustrated on a hypothetical time series in Figure 5. This approach applies to any time series raw data, at any time scales, and here we show just two hypothetical examples of brain EEG data (Figure 6) and cardio data (Figure 7).
Many datasets for classifying outcomes of events consist of multiple time series. Each variable in a time series may depend on other variables that change in time. The proposed model can deal with this problem by encoding time series (signal) into binary vectors, which can be processed for classification in the SAIN framework. The variables for this dataset are 14 channels of temporal EEG data, located at places of interest on the human scalp.
The signals measured over the same period are the EEG channels, fMRI voxels, ECG electrodes, seismic sensory signals, financial time series, gene expressions, voice, and music frequency bands [11]. Even when the variable (signal) measurements are independent, the signals may impact each other as they represent the same object/person at the same time period. The number N of these signals can vary from just a few for a short time window T (Figure 5) to hundreds and thousands when the time varies from a few milliseconds to minutes, hours, days, etc.
Figure 6 shows an EEG experiment, and Figure 7 shows a cardio-vascular disease signal.
Next, we present a simple example of how this search can be computed for a new record X consisting of only three variables/signals (e.g., EEG channels, ECG electrodes) over a short period of five time moments and the database D consisting of only six such records, which are labelled by outcome labels 1, 2, 3 (e.g., diagnosis, prognosis).
In addition to the record X, a weight vector is supplied with the weighted importance of the signals at different time points, e.g., W = [ 0.1 , 0.2 , 0.4 , 0.2 , 0.1 ] , meaning that the most important and informative part of the measurements is at time point 3.
The new record X = [ 1 , 1 , 1 , 0 , 1 ] (signal, EEG channel 1) 0, 1, 1, 1, −1 (signal, EEG channel 2) 1, 1, −1, −1, 0 (signal, EEG channel 3), W = [ 0.1 , 0.2 , 0.4 , 0.2 , 0.1 ] .
The database contains records ( R e c o r d s , R 1 , R 2 , R 3 , R 4 , R 5 , L a b e l s L ) where (see Table 23):
The new record X of EEG signals will be classified in class 1 as it is closest according to the Euclidean distance, with class 1 data samples R 1 and R 2 .

5.3. Predicting Longevity in Cardiac Patients

We utilised a dataset [22] in which we applied a binary classification on whether the patient had an event (e.g., death) and in addition to those that had an event, whether this would occur in the near future (within the next 180 days, e.g., approximately six months). The dataset contained a set of 150 variables and an outcome, with 295 patients in the first dataset and 49 in the second. The data included a mix of variables that could be grouped as follows:
  • Demographics, risk factors, disease states, medication, and deprivation scores;
  • Echocardiography, cardiac ultrasound measurements;
  • Advanced ECG measurements.
The other data includes the days until the event occurred and the censor date for the Cox proportional hazard monitoring.
The objectives are to predict an arrhythmic event or death.
Before running the algorithm, the data was normalised, and to account for the data being unbalanced, we utilised the SMOTE data balancing method [11] each time we left one out (ensuring that we did not SMOTE when the true data point was part of the dataset). For the event classification dataset, the model achieved an accuracy of 79%. This is broken down into classifying no event (198/247, 80%) and an event with (36/49, 73%) accuracy. It is worth noting that the confidence of each individual could be explored with a sample of the confidence for classification in Figure 8.
For the second experiment, we normalised the dataset and removed any columns with unknown values. We then applied a genetic algorithm to find the set of features to use for classification. We found a set of 34 variables which would provide an accuracy of 81 % with (34/34) for class 0 and (6/15) for class 1. Alternatively, if we apply SMOTE and focus more on the accuracy of class 1, we obtain 69 % accuracy; however, more evenly distributed with (24/34) for class zero and (10/15) for class 1.
Experiment one, in which we used a non-balanced complete dataset, showed satisfactory results of 80% for class 0 (no event) and 73% for class 1 (event). This demonstrates the ability of the SAIN method to work with imbalanced data. It also shows the superiority of utilising the missing values rather than removing them in experiment two. Furthermore, the selection of variables with a genetic algorithm also showed improvement. The genetic algorithm, included in the SAIN software version 0.1, can also help select biomarker variables in other cases (see Figure 4).

6. Discussion

In Table 24, the features that are implemented in the proposed SAIN methodology and framework are compared qualitatively with similar features of already developed methods for personalised modelling. SAIN can deal with an unlimited number of modalities of data, including numbers, time series, images, videos, and digitally encoded elements. It also offers multicriteria metrics for distance measure across variables from different domains, e.g., logical Boolean domain, logical non-Boolean domains, numerical domains with natural and rational values, and binary codes. Furthermore, SAIN processes all modalities of data into a single individual (personalised) vector, which allows the early integration of the modalities and facilitates the discovery of causal associations across modalities to explain individual outcomes. This contrasts with the late integration of modalities [1], where for each modality there is a separate model and their outputs are weighted for the calculation of the final output. Explainability is available in all models in Table 24.
When tested on benchmark and domain problem data, all personalised models have exceeded in accuracy the corresponding global models, where one model is created on all data. In terms of speed of processing, the proposed SAIN method is superior, due to the early integration and the binary representation of most of the modalities.

7. Conclusions

This paper presents a new search and inference method, called SAIN, for multi-modal data integration and personalised model creation based on these multi-modal data. The model not only evaluates the outcome for a person more accurately than traditional machine learning methods using a single modality of data, but it also explains the proposed solution in terms of probability and visual explanation.
In its current form, this paper is more directed towards revealing a new methodology and algorithms than real full-scale medical applications. However, we have illustrated the methods using hypothetical and real-case health and medical datasets. Further utilisation of the proposed framework is currently being developed for large-scale biomedical data.
The proposed new method offers new functionality and features for personalised search and model creation in multimodal data, some of which are listed below:
  • The method is suitable for multimodal data searches in heterogeneous datasets, e.g., numbers, text, images, sound, categorical data.
  • It is suitable for personalised model creation to classify or predict specific outcomes based on multimodal and heterogeneous data.
  • It uses a similarity measure based on multicriteria metrics. In this way, inaccurate measurement of similarity on a large number of heterogeneous variables is avoided.
  • Its search is fast even on large datasets and includes advanced personalised searches with multiple parameters and features.
  • It facilitates multiple solutions with corresponding probabilities.
  • It is suitable for unsupervised clustering in multimodal heterogeneous data.
In conclusion, integrating all possible data modalities for a single subject to predict/classify the object’s state in relation to existing ones is an open problem in data science. While the creation of personalised models based on a single modality data [23] and clustering of single modality data into a single cluster [26] have been successfully developed, the theory, framework, and algorithms proposed in this paper are the first to integrate all data modalities for a single subject together into a single vector-based representation and to make an inference based on it. For the first time, time series, such as EEG and ECG data, are included in this unified representation, after suitable encoding. In this respect, spike encoding of time series is used, integrating statistical and brain-inspired information representation. The human brain integrates sensory data modalities into its spatio-temporal structure, and brain-inspired models using spike information representation have already been developed for learning [6,11,27] and for explanation of the learned patterns [28]. However, brain-inspired computers are still in their early stage of development [11], and even if they are developed, they may not be able to integrate all possible modalities of data into one brain-inspired mode. This paper offers a solution to the problem of multimodal personalised data integration and inference, with six novel features as follows: (1) it includes all possible modalities of data; (2) it can be implemented on any conventional computer platforms; (3) it takes into account the differences across modalities of data through offering different distance measures; (4) it offers a new way of ranking existing multimodal objects in order of similarity to a new multimodal object and uses that for building multiple neighbourhood clusters; (5) it offers a probability-based inference with the use of the different similarity clusters; (6) it explains the inferred results, both in terms of probabilities and visual representation. The proposed original method here is planned to be applied to large-scale multimodal data for biomedical and health applications in the future.
The proposed method is implemented as a computer system and applied to several case studies to illustrate its advantages and applicability. The SAIN method described in Section 4 was implemented as a software system, as seen in Data Availability Statement.

Author Contributions

N.K. designed the overall framework of SAIN, wrote the initial draft of the paper and took part in the experiments and the paper revision; C.S.C. introduced the mathematical description of the distance measures for different data modalities, took part in the preparation and the revision of the paper; A.H. developed the software implementation of SAIN in Python and ran the experiments, also took part in the paper preparation and its revision; P.G. provided cardio data for experiments and took part in the analysis of results. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The data has been obtained from the UCI Cleveland from https://archive.ics.uci.edu/dataset/45/heart+disease (accessed on: 20 February 2024); the EEG data is available from https://github.com/KEDRI-AUT/NeuCube-Py/tree/master/example_data (accessed on 20 February 2024). Access to the software is available upon request.

Acknowledgments

We thank Elena Calude for her contributions to the mathematical model. We also thank the referees for their suggestions, which improved the paper.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Budhraja, S.; Singh, B.; Doborjeh, M.; Doborjeh, Z.; Tan, S.; Lai, E.; Goh, W.; Kasabov, N. Mosaic LSM: A Liquid State Machine Approach for Multimodal Longitudinal Data Analysis. In Proceedings of the 2023 International Joint Conference on Neural Networks (IJCNN), Gold Coast, QLD, Australia, 18–22 June 2023; IEEE: New York, NY, USA, 2023; pp. 1–8. [Google Scholar] [CrossRef]
  2. AbouHassan, I.; Kasabov, N.K.; Jagtap, V.; Kulkarni, P. Spiking neural networks for predictive and explainable modelling of multimodal streaming data with a case study on financial time series and online news. Sci. Rep. 2023, 13, 18367. [Google Scholar] [CrossRef] [PubMed]
  3. Rodrigues, F.; Markou, I.; Pereira, F.C. Combining time-series and textual data for taxi demand prediction in event areas: A deep learning approach. Inf. Fusion 2019, 49, 120–129. [Google Scholar] [CrossRef]
  4. Li, J.; Liu, J.; Zhou, S.; Zhang, Q.; Kasabov, N.K. GeSeNet: A General Semantic-Guided Network With Couple Mask Ensemble for Medical Image Fusion. IEEE Trans. Neural Netw. Learn. Syst. 2024, 35, 16248–16261. [Google Scholar] [CrossRef]
  5. Doborjeh, Z.; Doborjeh, M.; Sumich, A.; Singh, B.; Merkin, A.; Budhraja, S.; Goh, W.; Lai, E.M.; Williams, M.; Tan, S.; et al. Investigation of social and cognitive predictors in non-transition ultra-high-risk’individuals for psychosis using spiking neural networks. Schizophrenia 2023, 9, 10. [Google Scholar] [CrossRef]
  6. Kasabov, N.K. NeuCube: A spiking neural network architecture for mapping, learning and understanding of spatio-temporal brain data. Neural Netw. 2014, 52, 62–76. [Google Scholar] [CrossRef]
  7. Kasabov, N. Global, local and personalised modeling and pattern discovery in bioinformatics: An integrated approach. Pattern Recognit. Lett. 2007, 28, 673–685. [Google Scholar] [CrossRef]
  8. Kasabov, N. Data Analysis and Predictive Systems and Related Methodologies. U.S. Patent 9,002,682 B2, 7 April 2015. [Google Scholar]
  9. Doborjeh, M.; Doborjeh, Z.; Merkin, A.; Bahrami, H.; Sumich, A.; Krishnamurthi, R.; Medvedev, O.N.; Crook-Rumsey, M.; Morgan, C.; Kirk, I.; et al. Personalised predictive modelling with brain-inspired spiking neural networks of longitudinal MRI neuroimaging data and the case study of dementia. Neural Netw. 2021, 144, 522–539. [Google Scholar] [CrossRef]
  10. Kasabov, N.K. Evolving Connectionist Systems, 2nd ed.; Springer: London, UK, 2007. [Google Scholar]
  11. Kasabov, N.K. Time-Space, Spiking Neural Networks and Brain-Inspired Artificial Intelligence; Springer: Berlin/Heidelberg, Germany, 2019; Volume 750. [Google Scholar]
  12. Santomauro, D.F.; Herrera, A.M.M.; Shadid, J.; Zheng, P.; Ashbaugh, C.; Pigott, D.M.; Abbafati, C.; Adolph, C.; Amlag, J.O.; Aravkin, A.Y.; et al. Global prevalence and burden of depressive and anxiety disorders in 204 countries and territories in 2020 due to the COVID-19 pandemic Global prevalence and burden of depressive and anxiety disorders in 204 countries and territories in 2020 due to the COVID-19 pandemic. Lancet 2021, 398, 1700–1712. [Google Scholar]
  13. Swaddiwudhipong, N.; Whiteside, D.J.; Hezemans, F.H.; Street, D.; Rowe, J.B.; Rittman, T. Pre-diagnostic cognitive and functional impairment in multiple sporadic neurodegenerative diseases. bioRxiv 2022. [Google Scholar] [CrossRef]
  14. Kasabov, N.K.; Hou, Z.; Feigin, V.; Chen, Y. Improved Method and System for Predicting Outcomes Based on Spatio/Spectro-Temporal Data. 2015. Available online: https://patents.google.com/patent/WO2015030606A2/en (accessed on 20 December 2015).
  15. Paprotny, D.; Morales-Nápoles, O.; Worm, D.T.; Ragno, E. BANSHEE—A MATLAB toolbox for non-parametric Bayesian networks. SoftwareX 2020, 12, 100588. [Google Scholar] [CrossRef]
  16. Koot, P.; Mendoza-Lugo, M.A.; Paprotny, D.; Morales-Nápoles, O.; Ragno, E.; Worm, D.T. PyBanshee version (1.0): A Python implementation of the MATLAB toolbox BANSHEE for Non-Parametric Bayesian Networks with updated features. SoftwareX 2023, 21, 101279. [Google Scholar] [CrossRef]
  17. Mendoza-Lugo, M.A.; Morales-Nápoles, O. Version 1.3-BANSHEE—A MATLAB toolbox for Non-Parametric Bayesian Networks. SoftwareX 2023, 23, 101479. [Google Scholar] [CrossRef]
  18. Calude, C.; Calude, E. A metrical method for multicriteria decision making. St. Cerc. Mat 1982, 34, 223–234. [Google Scholar]
  19. Calude, C. A simple non-uniform operation. Bull. Eur. Assoc. Theor. Comput. Sci. 1983, 20, 40–46. [Google Scholar]
  20. Akhtarzada, A.; Calude, C.S.; Hosking, J. A Multi-Criteria Metric Algorithm for Recommender Systems. Fundam. Informaticae 2011, 110, 1–11. [Google Scholar] [CrossRef]
  21. Kahramanli, H.; Allahverdi, N. Design of a hybrid system for the diabetes and heart diseases. Expert Syst. Appl. 2008, 35, 82–89. [Google Scholar] [CrossRef]
  22. Gleeson, S.; Liao, Y.W.; Dugo, C.; Cave, A.; Zhou, L.; Ayar, Z.; Christiansen, J.; Scott, T.; Dawson, L.; Gavin, A.; et al. ECG-derived spatial QRS-T angle is associated with ICD implantation, mortality and heart failure admissions in patients with LV systolic dysfunction. PLoS ONE 2017, 12, e0171069. [Google Scholar] [CrossRef]
  23. Song, Q.; Kasabov, N. TWNFI–a transductive neuro-fuzzy inference system with weighted data normalization for personalized modeling. Neural Netw. 2006, 19, 1591–1596. [Google Scholar] [CrossRef]
  24. Song, Q.; Kasabov, N.K. NFI: A neuro-fuzzy inference method for transductive reasoning. IEEE Trans. Fuzzy Syst. 2005, 13, 799–808. [Google Scholar] [CrossRef]
  25. Sengupta, N.; McNabb, C.B.; Kasabov, N.; Russell, B.R. Integrating space, time, and orientation in spiking neural networks: A case study on multimodal brain data modeling. IEEE Trans. Neural Netw. Learn. Syst. 2018, 29, 5249–5263. [Google Scholar] [CrossRef]
  26. Kasabov, N. NeuCube EvoSpike Architecture for Spatio-temporal Modelling and Pattern Recognition of Brain Signals. In Artificial Neural Networks in Pattern Recognition; Springer: Berlin/Heidelberg, Germany, 2012; pp. 225–243. [Google Scholar] [CrossRef]
  27. Kumarasinghe, K.; Kasabov, N.; Taylor, D. Deep learning and deep knowledge representation in Spiking Neural Networks for Brain-Computer Interfaces. Neural Netw. 2020, 121, 169–185. [Google Scholar] [CrossRef]
  28. Futschik, M.; Kasabov, N. Fuzzy clustering of gene expression data. In Proceedings of the 2002 IEEE World Congress on Computational Intelligence, 2002 IEEE International Conference on Fuzzy Systems. FUZZ-IEEE’02. Proceedings (Cat. No.02CH37291), Honolulu, HI, USA, 12–17 May 2002; pp. 414–419. [Google Scholar] [CrossRef]
Figure 4. An individual model of survival showing the closest neighbouring samples in the top 3 ranked variables. Where the green star is the individual, the purple denotes class 0 and the yellow class 1.
Figure 4. An individual model of survival showing the closest neighbouring samples in the top 3 ranked variables. Where the green star is the individual, the purple denotes class 0 and the yellow class 1.
Algorithms 18 00605 g004
Figure 5. Every time series can be represented as a 3-value vector through a spike encoding method over time [11]. If at a time t the time series is increasing in value, there will be a positive spike (1), if decreasing—a negative spike (−1), and if no change—no spike (0) (left figure). Each element in this vector represents the signal change at a time. The original signal can be recovered over time using this vector (right figure) if necessary. The length of the vector is equal to the time points measured (reproduced from [11]).
Figure 5. Every time series can be represented as a 3-value vector through a spike encoding method over time [11]. If at a time t the time series is increasing in value, there will be a positive spike (1), if decreasing—a negative spike (−1), and if no change—no spike (0) (left figure). Each element in this vector represents the signal change at a time. The original signal can be recovered over time using this vector (right figure) if necessary. The length of the vector is equal to the time points measured (reproduced from [11]).
Algorithms 18 00605 g005
Figure 6. EEG signals from EEG electrodes spatially distributed on the scalp are spatio-temporal signals (left figure). Each time series signal from an electrode is measured every 1 millisecond. The figure on the right shows the measurements of 14 EEG electrodes over 124 milliseconds. Each signal can be encoded into a 124-element vector according to Figure 5, making altogether 14 such vectors to be processed in the SAIN framework (reproduced from [11]).
Figure 6. EEG signals from EEG electrodes spatially distributed on the scalp are spatio-temporal signals (left figure). Each time series signal from an electrode is measured every 1 millisecond. The figure on the right shows the measurements of 14 EEG electrodes over 124 milliseconds. Each signal can be encoded into a 124-element vector according to Figure 5, making altogether 14 such vectors to be processed in the SAIN framework (reproduced from [11]).
Algorithms 18 00605 g006
Figure 7. ECG (electrocardiogram) signals ((a)—nosy and (b)—filtered) can be encoded into binary vectors according to the spike-encoding methods from Figure 5. Spike encoding is robust to noise, as any noise below a threshold would not cause the generation of a spike (either positive or negative), and the encoder will act as a filter. This vector’s length will equal the number of measurement time points. The vector data can be further processed in the SAIN framework.
Figure 7. ECG (electrocardiogram) signals ((a)—nosy and (b)—filtered) can be encoded into binary vectors according to the spike-encoding methods from Figure 5. Spike encoding is robust to noise, as any noise below a threshold would not cause the generation of a spike (either positive or negative), and the encoder will act as a filter. This vector’s length will equal the number of measurement time points. The vector data can be further processed in the SAIN framework.
Algorithms 18 00605 g007
Figure 8. A sample of the classification breakdown (with class 0 in green and class 1 in red) and the confusion matrix.
Figure 8. A sample of the classification breakdown (with class 0 in green and class 1 in red) and the confusion matrix.
Algorithms 18 00605 g008
Table 1. Unlabelled database.
Table 1. Unlabelled database.
Objects/Criteria c 1 c 2 ... c j ... c n
o 1 a 1 , 1 a 1 , 2 ... a 1 , j ... a 1 , n
  ⋮ ⋮ ⋮... ⋮... ⋮
o i a i , 1 a i , 2 ... a i , j ... a i , n
  ⋮  ⋮ ⋮... ⋮... ⋮
o m a m , 1 a m , 2 ... a m , j ... a m , n
w w 1 w 2 ... w j ... w n
Table 2. The labelled database.
Table 2. The labelled database.
Objects/Criteria c 1 c 2 ... c j ... c n Class Label
o 1 a 1 , 1 a 1 , 2 ... a 1 , j ... a 1 , n l 1
 ⋮ ⋮ ⋮... ⋮... ⋮ ⋮
o i a i , 1 a i , 2 ... a i , j ... a i , n l i
 ⋮ ⋮ ⋮... ⋮... ⋮ ⋮
o m a m , 1 a m , 2 ... a m , j ... a m , n l m
Table 3. Weights.
Table 3. Weights.
Criteria Weights c 1 c 2 ... c j ... c n
w w 1 w 2 ... w j ... w n
Table 4. A new unlabelled object.
Table 4. A new unlabelled object.
Object/Criteria c 1 c 2 ... c j ... c n
x x 1 x 2 ... x j ... x n
Table 5. The hypothetical object.
Table 5. The hypothetical object.
Object/Criteria c 1 c 2 ... c j ... c n Class Label
o E n 1 n 2 ... n j ... n n l h
Table 8. Coded labelled data.
Table 8. Coded labelled data.
o 1 68.2067890FF000001221100121100010011
111111110000000000000000
o 2 93098,0001FFFF0002222001211100010011
111111111111111100000000
o 3 44.5156002FF000001212100121101011111
111111110000000000000000
o 4 56.80890FFFFFF12222100121100111011
111111111111111111111111
o 5 26.309456200000012220100121101111012
000000000000000000000000
o 6 81.5178,9551FF000001212200121100011112
111111110000000000000000
o 7 56.7168,900000000012212100111110011112
000000000000000000000000
o 8 20078332FFFF0011221102211000011112
111111111111111100000000
o 9 2007833FFFF0011221102211000011112
111111111111111100000000
Table 9. The new unlabelled object coded.
Table 9. The new unlabelled object coded.
x48.5145,6792FF00001002121001110001101
111111110000000000000000
Table 10. Coded labelled normalised data.
Table 10. Coded labelled normalised data.
o 1 0.68200.0678900.20.01221100120.110001001
o 2 0.9310.980.50.60.02222001210.100001001
o 3 0.44510.05610.20.01212100120.110101111
o 4 0.56800.00089010.12222100120.110011101
o 5 0.26300.09456100.12220100120.110111101
o 6 0.81510.789550.50.20.01212200120.110001111
o 7 0.56710.689000.12212100110.111001111
o 8 0.200.0783310.60.11221102210.100001111
o 9 0.200.078330.60.11221102210.100001111
Table 11. The new unlabelled object coded normalised.
Table 11. The new unlabelled object coded normalised.
x0.48510.4567910.20.10021210010.110001101
Table 12. Normalised distances from the new object to all objects.
Table 12. Normalised distances from the new object to all objects.
d ( o 1 , x ) 0.19710.3889100.40.111111113.09701111
d ( o 2 , x ) 0.44500.523210.50.333333330.60.222222222.62376556
d ( o 3 , x ) 0.0400.40079000.50.222222221.16301222
d ( o 4 , x ) 0.08310.455910.666666670.450.111111113.76667778
d ( o 5 , x ) 0.22210.3622300.333333330.450.222222222.58978556
d ( o 6 , x ) 0.3300.332760.500.450.111111111.72387111
d ( o 7 , x ) 0.08200.2322110.333333330.450.222222222.31976556
d ( o 8 , x ) 0.28510.3784600.333333330.450.222222222.66901556
d ( o 9 , x ) 0.28510.3784610.333333330.450.222222223.66901556
Table 13. Ranking of distances in increasing order in Table 12.
Table 13. Ranking of distances in increasing order in Table 12.
d ( o 3 , x ) 0.0400.40079000.50.222222221.16301222
d ( o 6 , x ) 0.3300.332760.500.450.111111111.72387111
d ( o 7 , x ) 0.08200.2322110.333333330.450.222222222.31976556
d ( o 5 , x ) 0.22210.3622300.333333330.450.222222222.58978556
d ( o 2 , x ) 0.44500.523210.50.333333330.60.222222222.62376556
d ( o 8 , x ) 0.28510.3784600.333333330.450.222222222.66901556
d ( o 1 , x ) 0.19710.3889100.40.111111113.09701111
d ( o 9 , x ) 0.28510.3784610.333333330.450.222222223.66901556
d ( o 4 , x ) 0.08310.455910.666666670.450.111111113.76667778
Table 14. An exemplar object.
Table 14. An exemplar object.
o E 0.200.00089010.12222100120.100001001
Table 15. Vectors V 0 , , V m , rounded to two decimals.
Table 15. Vectors V 0 , , V m , rounded to two decimals.
V 0 V 1 V 2 V 3 V 4 V 5 V 6 V 7
1.4690.9871.4691.4021.4690.6691.3591.459
3.7092.9792.7092.7303.2093.3093.6093.709
3.2202.9752.2203.1652.2202.4203.1103.210
0.3780.0100.3780.3780.3780.3780.3780.368
2.1672.1042.1672.0731.1671.1672.1672.157
3.8243.2092.8243.0353.3243.0243.7143.814
3.0662.6992.0662.3783.0662.0663.0663.055
1.4871.4871.4871.4100.4871.0871.4771.487
1.4871.4871.4871.4100.4871.0871.4771.487
Table 16. Distances D i s t ( V 0 , V t ) and (normalised) weights.
Table 16. Distances D i s t ( V 0 , V t ) and (normalised) weights.
Distances2.8704.002.8265.005.600.4500.061
Weights0.1370.1920.1350.2400.2690.0210.002
Table 17. Survival database.
Table 17. Survival database.
Patients/Criteria c 1 c 2 ... c j ... c n Units of Time
p 1 a 1 , 1 a 1 , 2 ... a 1 , j ... a 1 , n t 1
 ⋮ ⋮ ⋮... ⋮... ⋮ ⋮
p i a i , 1 a i , 2 ... a i , j ... a i , n t i
 ⋮ ⋮ ⋮... ⋮... ⋮ ⋮
p m a m , 1 a m , 2 ... a m , j ... a m , n t m
Table 18. The new patient record.
Table 18. The new patient record.
Patient/Criteria c 1 c 2 ... c j ... c n
p x 1 x 2 ... x j ... x n
Table 19. Patient records.
Table 19. Patient records.
Patients c 1 c 2 c 3 c 4 c 5 c 6 c 7 Units of Time
p 1 0.68200.0678900.20.0122110010.11000100112.3
p 2 0.9310.980.50.60.0222200120.10000100115
p 3 0.44510.05610.20.0121210010.11010111168
p 4 0.56800.00089010.1222210010.1100111011.4
p 5 0.26300.09456100.1222010010.11011110140.5
p 6 0.81510.789550.50.20.0121220010.11000111197.2
p 7 0.56710.689000.1221210010.11100111197.2
p 8 0.200.0783310.60.1122110220.10000111155.7
p 9 0.200.078330.60.1122110220.10000111163.7
Table 20. New patient records.
Table 20. New patient records.
x p 0.48510.4567910.20.10021210010.110001101
Table 21. Distances between all patients and the new patient.
Table 21. Distances between all patients and the new patient.
d 1 d 2 d 3 d 4 d 5 d 6 d 7 Distance d
d ( p 1 , p ) 0.197010.3889001.00.00.088001098900.0000001002.67390119890
d ( p 2 , p ) 0.445000.5232100.50.40.077992088000.0100001001.95620218800
d ( p 3 , p ) 0.040000.4007900.00.00.088091098900.0001000100.52898110890
d ( p 4 , p ) 0.083010.4559001.00.80.022008901100.0000100003.36091890110
d ( p 5 , p ) 0.222010.3622300.00.20.021988901100.0001100001.80632890110
d ( p 6 , p ) 0.330000.3327600.50.00.088090098900.0000000101.25085010890
d ( p 7 , p ) 0.082000.2322101.00.20.021908901000.0010000101.53711891100
d ( p 8 , p ) 0.285010.3784600.00.40.011998922000.0099999902.08545891200
d ( p 9 , p ) 0.285010.3784601.00.40.011998922000.0099999903.08545891200
Table 22. The 14 variables used in the heart disease diagnosis case.
Table 22. The 14 variables used in the heart disease diagnosis case.
NameData TypeDefinition
ageintegerage in years
sexbinarysex
cp{1,2,3,4}chest pain type
trestbpsintegerresting blood pressure
cholintegerserum cholesterol in mg/dL
fbsbinaryfasting blood sugar > 120 mg/d
restecg{0,1,2}resting electrocardiographic results
thalachintegermaximum heart rate achieved
exangbinaryexercise-induced angina
oldpeakfloatST depression induced by exercise relative to rest
slope{1,2,3}the slope of the peak exercise ST segment
ca{0,1,2,3 }number of major vessels colored by flourosopy
thal{3,6,7}heart status
num{0,1,2,3,4}diagnosis of heart disease
Table 23. Database of EEG records.
Table 23. Database of EEG records.
RecordChannel 1Channel 2Channel 3Label
R1(1, 1, −1, 0, 1)(0, 1, 1, 1, −1)(1, 1, −1, −1, 0)1
R2(1, 0, −1, 0, 1)( 0, 1, 1, 1, −1)(1, 0, −1, −1, 1 )1
R3(1, 1, −1, 0, 1)(0, −1, 1, 1, −1)(1, 1, −1, 0, 1)2
R4(1, 1, −1, 0, 1)(0, −1, 1, 0, −1)(1, 1, −1, 0, 1)2
R5(1, 1, −1, 0, 0)(0, −1, 0, 1, −1)(1, 1, −1, 1, 1)3
R6(1, −1, −1, 0, 1)(0, −1, 1, 0, −1)(1, 1, −1, 0, 1)3
Table 24. Comparison between SAIN and other existing methods for personalised modelling.
Table 24. Comparison between SAIN and other existing methods for personalised modelling.
SourceNumber of ModalitiesNumber of MetricsTypes of Data SetsType of Integration ExplainabilityExplainabilityMachine Learning Method
[1]31Longitudinal time series dataLateNoLiquid Sate Machine
[2]21Time series; on-line textEarlyReveals the impact of news on time seriesSNN
[3]21Time series; on-line textLateNoDeepNN
[4]31Brain images – pixel valuesEarlyModerateDeep NN
[5]21Social and cognitive data as numbersEarlyFeature interaction networkSNN
[6]21Time and spaceEarlyFeature interaction network.SNN
[9,14]31Personalised vector data of numbers; Time and spacePreliminary selectionReveals feature interaction over timeSNN
[23,24]11Numerical vector-based dataNo integrationExtracted fuzzy rulesFuzzy neural networks
[25]31Time, space and direction: fMRI + DTI dataEarlyFeature interaction networkSNN
This paper—SAINMultiple, practically unlimitedMultiple, multicriteria metricsMultiple, practically unlimitedEarlyVisualisation and interpretation of personalised modelStatistical: search and inference using wwkNN
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Calude, C.S.; Gladding, P.; Henderson, A.; Kasabov, N. SAIN: Search-And-INfer, a Mathematical and Computational Framework for Personalised Multimodal Data Modelling with Applications in Healthcare. Algorithms 2025, 18, 605. https://doi.org/10.3390/a18100605

AMA Style

Calude CS, Gladding P, Henderson A, Kasabov N. SAIN: Search-And-INfer, a Mathematical and Computational Framework for Personalised Multimodal Data Modelling with Applications in Healthcare. Algorithms. 2025; 18(10):605. https://doi.org/10.3390/a18100605

Chicago/Turabian Style

Calude, Cristian S., Patrick Gladding, Alec Henderson, and Nikola Kasabov. 2025. "SAIN: Search-And-INfer, a Mathematical and Computational Framework for Personalised Multimodal Data Modelling with Applications in Healthcare" Algorithms 18, no. 10: 605. https://doi.org/10.3390/a18100605

APA Style

Calude, C. S., Gladding, P., Henderson, A., & Kasabov, N. (2025). SAIN: Search-And-INfer, a Mathematical and Computational Framework for Personalised Multimodal Data Modelling with Applications in Healthcare. Algorithms, 18(10), 605. https://doi.org/10.3390/a18100605

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop