Skip to main content
Elsevier - PMC COVID-19 Collection logoLink to Elsevier - PMC COVID-19 Collection
. 2023 Apr 25;35(6):101564. doi: 10.1016/j.jksuci.2023.101564

A close contact identification algorithm using kernel density estimation for the ship passenger health

Qianfeng Lin a, Jooyoung Son b,⁎
PMCID: PMC10129340  PMID: 37152893

Abstract

COVID-19 has been spread globally, with ships posing a significant challenge for virus containment due to their close-quartered environments. The most effective method for preventing the spread of the virus currently involves tracking and physically isolating close contacts. In this paper, we propose the Close Contact Identification Algorithm (CCIA). The probability density of user location points may be higher in a certain spatial range such as a cabin where there are more location points. The characteristics of CCIA include using Kernel Density Estimation (KDE) to calculate the probability density of each user location point and seeking the maximum Euclidean distance between location points in each cluster for merging clusters. CCIA is capable of calculating the probability density of each location point, a feature that other clustering algorithms, such as Kmeans, Hierarchical, and DBSCAN, cannot achieve. The contribution of CCIA is using the probability density of each location point to identify close contacts in ship environments. The performance of CCIA shows more accurate clustering compared to Kmeans, Hierarchical, and DBSCAN. CCIA can effectively identify close contacts and enhance the capabilities of user devices in mitigating the spread of COVID-19 within ship environments.

Keywords: Covid-19, Close contact identification, Kernel density estimation, Ship passengers’ health

200 MSC: 0000, 1111

1. Introduction

Cruise ship companies around the world have been affected by COVID-19. Cruise ships have become a platform for spreading the virus worldwide. In a post COVID-19 era, cruise ship companies are looking to maintain normal operations: they must consider a more sustainable management model. The health of ship passengers can be the focus of this sustainable management model. The narrow space of the cruise ship makes it challenging to prevent the spread of viruses. Several ship passengers on the Diamond Princess cruise ship have tested positive for COVID-19 (Klein, 2020, Batista et al., 2020). In November 2022, approximately 800 cases of COVID-19 are reported among ship passengers and crew on the Majestic Princess cruise ship (Heather Law and Maruyama, 2022). Currently, quarantining close contacts is an effective method of preventing the spread of the virus. The Centers for Disease Control and Prevention (CDC) and European Union (EU) Healthy Gateways have already provided definitions for close contacts. The CDC’s definition of a close contact is someone who is less than 6 feet (approximately 2 meters) away from an infected person for a total of 15 min (CDC, 2020). EU Healthy Gateways defines a close contact as a person who has face-to-face contact with a COVID-19 case within 1.5 meters (approximately 2 meters) for more than a total of 15 min (E.C. for Disease Prevention, 2020). The criteria for determining close contacts as 15 min and 2 meters distance are based on scientific studies on the transmission of infectious respiratory diseases, including COVID-19.

The risk of transmission is higher when an infected person is in close proximity for an extended period of time. WHO (2020) has shown that the virus can be transmitted through respiratory droplets and close contact, such as being within 2 meters of an infected person, increases the likelihood of exposure to these droplets. The 15-min duration is a conservative estimate of the time it takes for a sufficient amount of virus to be transmitted and potentially cause infection. The close contact is defined as a distance of less than 2 meters and a duration of more than 15 min between people and the COVID-19 patient (Lin et al., 2022). The crew is one of the occupational groups most susceptible to outbreaks of this virus because of the cramped working conditions (Fanoy et al., 2021). Regular and irregular contacts with the land-based population facilitate the importation of the virus. Narrow spaces in ships with limited air exchange facilitate the spread of disease(von Münster et al., 2021, Battineni et al., 2021).

In a post COVID-19 era, it is important to reduce the risk of rapid virus transmission onboard ships for cruise ship companies to achieve sustainable management. This can be achieved by tracking close contacts. Cruise ship companies should identify any crew or ship passenger who is affected by COVID-19 and take appropriate restrictive measures (Plucinski et al., 2021). A ship passenger health management plan should be implemented by the cruise ship company. Post COVID-19 era, cruise ship companies should assess any health risks to ship passengers and crew. The risk of virus transmission should be minimized by cruise ship companies investing in appropriate protective measures (Dahl, 2020). It is crucial to identify close contacts immediately in order to curtail virus transmission on board. Fortunately, user devices can be used to track the location point of ship passengers. Thus, this paper proposes Close Contact Identification Algorithm (CCIA) using the location point of ship passengers that can be used to identify close contacts on ships. CCIA can help cruise ship companies manage their ships sustainably post COVID-19 era.

A location point is a geographical location. Location points are essential information for tracing close contacts. A simple way to identify close contacts is by setting time differences and distance thresholds. The time difference is the difference in timestamps associated with different location points. If close contacts are identified by setting only Euclidean distance and time difference thresholds, then the result is unsatisfactory. Time difference and Euclidean distance can be considered as two features for identifying close contacts. These two features, combined with setting thresholds, are challenging to be more effective in identifying close contacts. Therefore, it is necessary to find another kind of feature. This feature is the probability density of each location point. When combined with location points, the probability density refers to a mathematical function that describes the likelihood of a continuous random variable representing a specific location point or a set of location points within a certain spatial range (Okabe et al., 2009). This certain spatial range can be understood in a geographical context, such as a cabin or a ship control room. The probability density of each location point for close contacts exhibits the following three characteristics:

  • •

    Close contacts, due to their inherently more frequent interactions and shared experiences compared to non-close contacts, may result in significantly higher probability density differences between location points of close contact and non-close contact (Okabe et al., 2009).

  • •

    Close contacts frequently engage in common activities or occupy certain environments, which may lead to their location points being detected in specific spatial ranges exhibiting similar patterns. Consequently, the probability density of each location point for close contacts tends to be similar (Okabe et al., 2009).

  • •

    As the probability density for close contacts exhibits higher values at specific spatial ranges, their location points may naturally cluster together in these areas of high density. This clustering results in a relatively shorter Euclidean distance between the centers of clusters of close contacts, which is indicative of their close proximity and frequent interactions.

In our paper, a cluster refers to a group of location points of tracking data generated by user devices during a certain period. These location points are spatially close to each other, reflecting the user devices’ activity range during a specific time period. To formally define this concept, we consider a cluster as a collection of location points, where each location point of tracking data is generated by user devices within a specific time period, and these location points are spatially close to one another. Fig. 1 demonstrates the concept of the cluster as defined in the context of a ship environment. The User 1 device generates location points of tracking data that are close to each other, so they are considered to belong to one cluster, Cluster 1. The User 2 device generates location points of tracking data that are also close to each other. Therefore, the location points of tracking data of the User 2 device are identified as Cluster 2. Cluster 1 and Cluster 2 can be merged into a single cluster if they are close enough to meet Eq. 9.

Fig. 1.

Fig. 1

Illustration of the concept of the cluster in a ship environment.

The target of close contact identification is achieved by using clustering algorithms to analyze these clusters. The cluster ID and the corresponding location points after the clustering is completed are treated as the result of the close contact identification. Based on the above three characteristics, identifying close contacts can be converted into a clustering problem. The clustering algorithm does not require the pre-definition of cluster IDs (categories). But the classification algorithm requires a predefined cluster ID. We know that the cluster ID of close contacts cannot be predefined in advance. Therefore, the classification algorithm is not used in this paper. Kernel Density Estimation (KDE) (Schubert et al., 2017) is an effective method for calculating the probability density of each location point. This probability density can be used as the weight of each location point. Then by each location point and the corresponding weight, the center of location points can be accurately calculated. Suppose two people are in different activity areas, and their the probability density of location points are likely to be similar. Then, the error caused by this similarity needs to be reduced by calculating the Euclidean distance of location points. To solve the above problem, CCIA is proposed in this paper. Location points from the same device can be considered as a cluster. Location points from the same user device are regarded as a cluster by CCIA. CCIA makes three main contributions.

  • •

    CCIA is a novel method to identify close contacts by calculating the Euclidean distance of between cluster centers and the probability density of each location point.

  • •

    CCIA uses KDE to calculate the probability density of each location point to obtain an accurate cluster center.

  • •

    CCIA improves the accuracy of close contact identification by finding the maximum Euclidean distance between location points in each cluster.

The remainder of this paper is organized as follows: in Section 2, previous works are introduced. Section 3 describes the proposed Close Contact Identification Algorithm in detail and Section 4 presents the experimental procedure and results. Finally, the conclusions are written in Section 5.

2. Previous works

There are three different classes of methods capable of clustering data: partition-based, hierarchical, and density-based methods (Azimi et al., 2021). The most representative method is the partition-based Kmeans algorithm, which requires determining the number of clusters or cluster centers. Kmeans has been applied to solve many problems. For instance, Ref. Adnan et al. (2021) uses Kmeans-based multivariate adaptive regression spline curves to predict the hydraulics of drainage systems, Ref. Liu et al. (2021) uses Kmeans to calculate the association between features and water supply, and Ref. Al Bashish et al. (2011) employs Kmeans to detect and classify foliar diseases. One of the limitations of Kmeans is the need to predefine the number of clusters (k) before the clustering process. This issue has been extensively discussed in some literature. For example, Jian (2009) presents a survey on various techniques for determining the optimal k value in Kmeans clustering. Similarly, Pelleg et al. (2000) introduces a criterion for selecting the number of clusters in Kmeans based on the minimum description length principle. Moreover, Tibshirani et al. (2001) proposes an adaptive method to estimate the optimal number of clusters for Kmeans, which is robust to various clustering structures. Our proposed CCIA overcomes the limitations of Kmeans by not requiring a predefined number of clusters.

Among the Hierarchical clustering algorithms, the representative one is the Agglomerative hierarchical clustering algorithm. The Agglomerative hierarchical clustering algorithm treats each data point as a cluster, and by continuously merging them, a cluster is finally obtained. The Hierarchical clustering algorithm is also applied to many fields. Ref. Na et al. (2017) investigates winter crop classification mapping based on satellite images using the Hierarchical clustering algorithm. Ref. Rios et al. (2021) studies national transition indices based on the Hierarchical clustering algorithm to predict subsequent COVID-19 waves. Ref. Xu et al. (2021) analyzes the mean linkage Hierarchical clustering algorithm to determine the relationships between coal elements. A limitation of Hierarchical clustering algorithms is the difficulty in determining the number of clusters. The difficulty in determining the optimal number of clusters when using hierarchical clustering algorithms has been widely recognized in some literature. Zhao et al. (2009) discusses a scalable and efficient hierarchical clustering method using anchor points. They acknowledge the challenge of determining the optimal number of clusters as a significant issue when applying hierarchical clustering algorithms. Murtagh and Contreras (2012) recognizes the challenge of determining the optimal number of clusters when working with hierarchical clustering algorithms. Determining the optimal number of clusters from the dendrogram can be challenging (Rokach, 2005). Different techniques, such as the elbow method or silhouette analysis, can be used, but they may not always produce clear or consistent results. The proposed CCIA is capable of determining the optimal number of clusters and consistently producing results based on the probability density characteristics of each location point of close contact.

Density-based Spatial Clustering of Applications with Noise (DBSCAN) is the most representative algorithm in the density clustering method. DBSCAN has also been applied to solve many problems. Ref. Cheng et al. (2021) enables DBSCAN to cluster indoor positioning data. Ref. Mieczyńska and Czarnowski (2021) uses DBSCAN to reconstruct Automatic Identification System (AIS) data. Ref. Han et al. (2021) provides an optimized DBSCAN algorithm to model ship behavior. However, one of its limitations is that it does not calculate the probability density of each data point. Campello et al. (2013) discusses the challenge of choosing the appropriate density threshold in DBSCAN and proposes a new method based on hierarchical density estimates. However, the issue of not calculating the probability density of each data point remains unaddressed. Smiti et al. (2012) proposes an improved version of DBSCAN that uses Gaussian distribution-based density to overcome some limitations of the original algorithm. Nevertheless, the calculation of probability density for each data point is still not addressed. Geng et al. (2018) presents a new density-based clustering algorithm that incorporates local density and location information, but it still does not focus on calculating the probability density of each data point. This means that the probability density characteristics of each location point of close contact cannot be captured by DBSCAN. Compared to DBSCAN, the proposed CCIA can accurately identify close contacts based on the probability density characteristics of each location points of close contact.

Kmeans, Hierarchical, and DBSCAN have been applied as excellent algorithms in many fields. Therefore, these algorithms are well-suited for comparison with CCIA. However, both Kmeans and Hierarchical only consider the distance between location points. It is worth mentioning that the Spectral clustering algorithm is also an excellent algorithm (Ng et al., 2001). The Spectral clustering algorithm takes only the distance between location points. Thus, the more representative Kmeans and Hierarchical are chosen for comparison in this paper.

The probability density of each location point is another essential characteristic. The probability density of each location point is a more suitable feature that can be used to identify close contacts. From a location perspective, close contacts and COVID-19 patients have a high degree of similarity in terms of the probability density of each location point. Therefore, the probability density of each location point as another practical feature can help the clustering algorithm to improve accuracy. The probability density estimation of each location point is not performed by DBSCAN (Schubert et al., 2017). To solve this problem, CCIA uses KDE to calculate the probability density of each location point. The probability density of each location point is another essential characteristic. The probability density of each location point is a more suitable feature that can be used to identify close contacts. From a location perspective, close contacts and COVID-19 patients have a high degree of similarity in terms of the probability density of each location point. Therefore, the probability density of each location point as another practical feature can help the clustering algorithm to improve accuracy.

CCIA has two advantages over Kmeans, Hierarchical clustering algorithms, and DBSCAN.

  • •

    Kmeans and Hierarchical clustering algorithms are only based on the distance of location points. CCIA combines Euclidean distance and probability density characteristics of location points to make clustering results more accurate.

  • •

    DBSCAN does not estimate the probability density of each location point. Meanwhile, CCIA can estimate the probability density of each location point. Then the probability density of each location point is used as the weight to calculate the cluster center. Hence, CCIA can improve the clustering results effectively.

In order to capture the probability density characteristics of each location point of close contact, estimate the optimal number of clusters, and accurately identify close contacts, CCIA first uses Kernel Density Estimation (KDE) to obtain the probability density of each location point.

Regarding the bandwidth h that affects probability density, CCIA determines bandwidth h using Silverman’s rule of thumb (Silverman, 1986) and uses the probability density as the weight of each location point. Next, CCIA finds the maximum Euclidean distance between the location points in each cluster. Finally, CCIA calculates the center of each cluster using the weights of the location points and computes the Euclidean distance between each center. CCIA merges any two clusters when the Euclidean distance between their centers is less than the maximum Euclidean distance between location points in each cluster. The number of clusters that cannot be merged in the end is the optimal number of clusters and the accurate identification of close contacts.

The contribution of this paper is the proposal of CCIA for ship passenger health. The algorithm creatively uses the user ID to initialize the cluster ID of location points. CCIA employs the probability density of each location point, calculated by KDE, as the basis for clustering. The Euclidean distance from the center of each cluster is then used as the basis for merging clusters. By comparing three different types of clustering algorithms (Kmeans, Hierarchical, and DBSCAN), it is found that these algorithms produce inaccurate results. The final experimental results show that CCIA outperforms Kmeans, Hierarchical, and DBSCAN. CCIA can be used by cruise ship companies to manage their ships sustainably in the post-COVID-19 era. By using CCIA to identify and trace close contacts in ship environments, companies can prevent the spread of COVID-19. The ability of CCIA to identify close contacts early can be especially useful in preventing the spread of the virus.

3. A close contact identification algorithm

The distance between people on board a ship is frequently less than two meters. It is challenging to distinguish close contacts accurately if we follow the current definition. Due to the special environment of ship, a indefinite close contact identification method is necessary.

Considering location points from the same device as a cluster is natural. In our proposed CCIA, location points from the same user device are regarded as a cluster. These clusters are used to identify close contacts. There is a similarity between the close contacts and the COVID-19 patients regarding the probability density of each location point. The probability density of each location point can be used to express this similarity. When two people visit the same area within a specified range, they can be considered highly similar in terms of their location points relationship. Accordingly, the algorithm proposed in this paper identifies close contacts based on the probability density of each location point and Euclidean distance between location points.

KDE is one of the most common methods for calculating probability density. Non-parametric estimation of location points is possible with KDE (Botev et al., 2010). In our case, this approach is well-suited for the application. In this paper, the probability density of location points is calculated using the KDE method. Location points are taken as ( p1,p2 , …, pi , …, pq ). pi is a location point defined as ( pxi,pyi ). pxi is the x-coordinate of the ith location point. pyi is the y-coordinate of the ith location point. q is the number of location points. The probability density of each location point can be estimated by Eq. 1 (Silverman, 2018).

f^h(pi)=1qh×∑j=1qKpi-pjh (1)

, where K represents a Gaussian kernel, and bandwidth h represents a smoothing parameter greater than 0. q is the number of location points. f^h(pi) is the probability density at any given location point (pi). Bandwidth h is a free parameter that significantly impacts the estimation of the probability density. It is not possible to estimate a smooth probability density function curve if bandwidth h is too small. Nevertheless, overly smooth probability density curves lose the most valuable information. In order to find the optimal smooth curve for the probability density function, one must determine the appropriate bandwidth h.

A probability density function close to the best smoothing curve can be found by considering the number of location points, the interquartile distance, and the standard deviation. Bandwidth h is determined by Eq. 2 (Silverman, 2018).

h=0.9×minσ,IQR1.34×q-15 (2)

Eq. 2 is a bandwidth selection method for the Kernel Density Estimation (KDE). The bandwidth h is chosen as the minimum value between the sample standard deviation σ, and IQR/1.34. IQR is the interquartile range.

The result is then multiplied by q-15, where q is the number of location points. The constants 0.9, 1.34, and 1/5 are determined based on Silverman’s rule of thumb (Silverman, 1986). According the rule, the first constant, 0.9, is chosen to minimize the mean integrated squared error (MISE) for KDE when the sample follows a normal distribution. The second constant, 1.34, is used to adjust the bandwidth h estimate for skewed samples. Specifically, it is the scaling factor that makes IQR comparable to the standard deviation σ for a normal distribution. The third constant, 1/5, is used to adjust the estimation of bandwidth h for the sample size. It is based on the assumption that the estimation of probability density should become smoother as the sample size increases.

Calculating the probability density of each location point is the important step in finding the center of each cluster. In clusters, the average center is used to distinguish different clusters. In our opinion, the average center of the cluster does not reflect the actual center. As a result, errors can be generated in the process of determining. The probability density, which is the similarity of location points, can be used to distinguish clusters. The algorithm needs to quantify the importance of each location point in order to find the cluster center. The weight of each location point is f^h(pi) (Eq. 3).

wi=f^h(pi) (3)

, where wi is the weight of the ith location point.

The cluster center is determined using the weight of each location point. The cluster center is calculated by Eq. 4.

Rc=∑i=1qwi×pxi,pyic=1,2,3,⋯,g (4)

, where g is the maximum number of cluster IDs. T is a set of cluster IDs. c is a cluster ID in T. Rc is the center of cluster c.

The challenge of differentiating clusters arises once the representative points of the cluster are identified. If two clusters are close together, they should be merged. Therefore, CCIA compares the Euclidean distance between cluster centers. L is the Euclidean distance set between cluster centers (Eq. 5).

L={lbc|b<c∈T} (5)

, where b is a cluster ID in T, and b is less than c. lbc represents the Euclidean distance between the center of cluster b and the center of cluster c. The maximum Euclidean distance between location points of each cluster is used to determine threshold m. If lbc in L is less than the threshold m, then cluster b and cluster c are merged. Threshold m is an important parameter for merging clusters. Threshold m represents the maximum value of the largest Euclidean distance between any pair of location points within each cluster. Threshold m is the criterion used to decide whether two clusters are merged or not. Eq. 6 shows the maximum Euclidean distance between location points in a cluster, whose cluster ID is c. c is used as an example of clusters.

mc=max{mef|e<f∈N}e,f=1,2,3,⋯,r (6)

, where r is the maximum number of location point indexes in each cluster. N is a set of location point indexes in each cluster. e and f are elements of N, and e is less than f.

The similarity in behavioral patterns between close contacts and COVID-19 confirmed individuals is essential for identifying close contacts. Location points are a digital approach to this behavioral pattern. The Euclidean distance between location points can be used to compare the variability of this behavior pattern. In our example, the location points of the COVID-19 patient are known. Then the maximum Euclidean distance between the location points of each cluster is threshold m. Threshold m is driven by Eq. 7.

m=max({mc|c∈T}). (7)

In Fig. 2 , an example is shown of the process for determining the threshold m. A location point is a geographical location. In fact, the input to CCIA is the location point of tracing data from user devices. Within each cluster, there are not just three location points, but a series of location points. To simplify the explanation of the idea proposed in this paper, we use the simplest example, assuming that both cluster 1 and cluster 2 have three location points. In addition, the Euclidean distance is commonly used as one of the common clustering criteria. More Euclidean distances can provide more information, which can help to more accurately determine the similarities and differences between data points and thus improve the accuracy of clustering (Han et al., 2011). As we know, there is only one Euclidean distance between two location points. However, for three location points, there are three Euclidean distances, which is two more than the number of Euclidean distances between two location points. Therefore, we assume that each cluster has three location points. Firstly, assume that cluster 1 and cluster 2 each have three location points. Then, the Euclidean distance between location points of each cluster is calculated. Using Eq. 6, the maximum Euclidean distance between location points of each cluster is found, which are m1 and m2, respectively. In the example of Fig. 2, m1 is 10 and m2 is 5. Finally, threshold m is determined by Eq. 7. The value of threshold m is 10 in the example of Fig. 2.

Fig. 2.

Fig. 2

An example of determining threshold m.

As the definition of close contact, an individual must be in proximity to a COVID-19 patient for a duration of 15 min. In light of this, it is necessary to obtain location points for a period of 15 min. The required number of location points per user device held by each ship passenger is 900. Algorithm 1 presents the detailed steps of CCIA. The input of CCIA is location points of users (COVID-19 patients and ship passengers), the user IDs of COVID-19 patients, and the user IDs of ship passengers. Close contact flag is a binary value, where 0 represents no close contact and 1 represents close contact. The output is dictionary S, whose key and values in an element are shown in Eq. 8. The cluster ID is the key, and close contact flag, user ID, (location point 1, probability density of location point 1), (location point 2, probability density of location point 2), ⋯, (location point r, probability density of location point r) are the values.

S={clusterID:closecontactflag,userID,(locationpoint1,probabilitydensityoflocationpoint1),(locationpoint2,probabilitydensityoflocationpoint2),⋯,(locationpointr,probabilitydensityoflocationpointr)} (8)
S[b]=S[c]∪S[b]iflbc∈Landlbc<m (9)

Eq. 9 represents the merging of clusters from keys c to b in S if the distance lbc is within the list L and is less than the threshold m.

In step 2, close contact flag is set to 0. In step 3, the user IDs of COVID-19 patients as list V. In step 4, the user ID is used to initialize the cluster ID for making each cluster uniquely identifiable. In step 5, cluster IDs are used as keys, and location points are stored to values in dictionary S for calculating the probability density of each location point. In step 6, calculate bandwidth h using Eq. 2 for each cluster. In step 7, determine the probability density of each location point belonging to each cluster using Eq. 1. In step 8, calculate Rc (Eq. 4) using dictionary S. In step 9, calculate mc (Eq. 6) using dictionary S. In step 10, use Rc and mc to calculate L and m, respectively.

Steps 11 to 21 are the core part of CCIA. In step 13, the criterion to determine if two clusters can be merged into one cluster. Step 14 is the method to implement clustering. The method is implemented by merging cluster IDs. Steps 15 to 17, if user IDs in cluster b in S intersects with list V, it means that there are COVID-19 patients. Therefore, close contact flag is set to 1. The accuracy of COVID-19 test results may be uncertain, as some people may require multiple tests before a confirmed diagnosis can be made (Lomae et al., 2023). If a ship passenger subsequently tests positive for COVID-19, the corresponding close contact flag can be identified using the user ID and modified the value to 1 if the value of close contact flag was 0. This allows for the correction of calculated results without executing CCIA again. Step 18 is to ensure that all values in the final L are greater than m. If all values in L are greater than m, then step 22 is executed. In step 22, return dictionary S. The probability density of each location point in each cluster in S is between 0 and 1. The sum of the probability density for each location point in each cluster in S is equal to 1.

Algorithm 1

CCIA

Input Location points of users, the user IDs of COVID-19 patients, and the user IDs of ship passengers
Output Dictionary S
// S = {cluster ID: close contact flag, user ID, (location point 1, probabil-
// ity density of location point 1), (location point 2, probability density of
// location point 2), …, (location point r, probability density of location
// point r)}.
 1: Begin
 2: Set close contact flag to 0.
 3: Store the user IDs of COVID-19 patients in a list V.
 4: Initialize clusters in the way that each cluster contains one user. Set the cluster ID as same as the user IDs of COVID-19 patients and the user IDs of ship passengers.
 5: Store the cluster ID as the key and close contact flag, user ID, (location point 1, location point 2, …, location point r) to the value in dictionary S.
 6: Calculate bandwidth h of each cluster based on the key and values in dictionary S.
 7: Calculate the probability density of each location point in all clusters using KDE method and dictionary S, and store them in S.
 8: Calculate Rc of each cluster ID using the keys and values of dictionary S.
 9: Calculate mc of each cluster ID using the keys and values of dictionary S.
10: Calculate L using Rc and m using mc.
11: forb←minclusterIDsinStomaxclusterIDsinSdo
12:  forc←nextclusterIDtobinStomaxclusterIDsinSdo.
13:  iflbc in L < mthen
14:   Merge the key c to b in S.
15:   if(userIDsinclusterbinS)∩V≠∅then
16:   Set close contact flag of cluster b in S to 1.
17:   end if
18:   Go back to step 5.
19:  end if
20:  end for
21: end for
22: Return dictionary S
12: End

It is very important to know how to initialize the cluster ID at the location point. As the location points are obtained from the respective user devices, the user ID can be a natural basis for initializing the cluster ID. The deterministic information can be used to reduce uncertainty. As a result, the user ID is a good way to initialize the cluster ID of location points. The user ID is set to the cluster ID when a user location point is obtained. It is important to identify close contacts based on whether their location points are same cluster. Using the probability density to describe location points is a great way to characterize their distribution pattern. All location points are considered in probability density and Euclidean distance. There is a close relationship between close contacts and COVID-19 patients. The probability density of their location points can then be similar.

KDE is a very effective method for calculating the probability density of location points. As a result, CCIA proposed in this paper uses KDE to calculate the probability density of each location point. People at opposite ends of the planet may have similar the probability density, which does not mean that two people are always within a short Euclidean distance of each other. The cluster center must be considered. Close contacts can be correctly identified by combining the probability density of each location point and Euclidean distance between location points. Finding the cluster center is an effective method for clustering. However, this cluster center should not be the average center of location points. It is important to determine the cluster center based on the probability density of each location point. As a result, the probability density is a very effective way to determine the importance of each location point. For this reason, the probability density of location points are used as weights in CCIA to calculate cluster centers. The Euclidean distance between location points is a crucial characteristic of both close contact and COVID-19 patients. Threshold m and the cluster center can be used to determine whether a cluster can be merged. When the Euclidean distance of all cluster centers is greater than the threshold m, it indicates the end of the clustering process. The general process of CCIA is shown in Fig. 3 .

Fig. 3.

Fig. 3

Flow chart of CCIA.

4. Performance evaluation

4.1. Simulated experiment

Fig. 4 shows 7 red squares and 18 close contacts. A red square, with an area of 2 meters, represents the close contact’s activity area. Passengers within the red square on the ship are considered close contacts. We assume that close contacts hold smartphones and can obtain location points from their devices. We also assume that 900 location points can be collected from each smartphone. The reason for obtaining 900 location points is that one location point is generated every second within a 15-min duration.

Fig. 4.

Fig. 4

Floor plan of HANNARA ship student housing quarters (Lin et al., 2022).

We assume a certain location point of each user device is known. We simulate 900 location points for each user device. The method for simulating location points is to generate a random floating-point number between −2 and 2 on the x-axis, and a floating-point number between −1 and 1 on the y-axis. The next location point of the ship passenger can be obtained by adding these floating-point numbers to the x and y coordinates of the known location point. Additionally, each user device is assigned a user ID. Each user ID serves as a cluster ID, as shown in Fig. 5 . Fig. 5 shows that location points of each user devices. The x-axis represents the x-coordinate of the location point. The y-axis represents the y-coordinate of the location point. The red square shows overlapping location points, which pose a challenge for the clustering algorithm to successfully determine the correct cluster for each point.

Fig. 5.

Fig. 5

Location points for ship passengers.

We input the location points with cluster IDs from the 18 user devices into the CCIA, which performs KDE calculations on these location points. The bandwidth h is a crucial factor that influences the results of the KDE calculations. R-squared is a statistical measure representing the proportion of the variance for a dependent variable explained by an independent variable. The larger the r-squared value, the better the result of the KDE. Fig. 6, Fig. 7 show the r-squared values corresponding to different bandwidth values, h. The horizontal coordinate represents the value of bandwidth h, while the vertical coordinate represents the value of r-squared. In this paper, we use 20-fold cross-validation and test different bandwidth values, h, ranging from 0.01 to 1, with an interval of 0.01. Fig. 6 shows that the r-squared tends to increase when bandwidth h changes from 0.01 to 0.03, indicating that the KDE fit to the location point probability density is gradually becoming more accurate. Fig. 7 presents the r-squared results for bandwidth h from 0.04 to 1. From Fig. 7, we can observe that the r-squared value shows an increasing trend when the bandwidth h changes from 0.04 to 0.15, and a decreasing trend when the bandwidth h changes from 0.16 to 1.

Fig. 6.

Fig. 6

Cross-validation results for bandwidth (1).

Fig. 7.

Fig. 7

Cross-validation results for bandwidth (2).

To make the KDE calculation results more intuitive, Fig. 8 shows the contour changes of probability density for different bandwidth values, h. When the bandwidth h is 0.01, the contour of the probability density is almost the same as the point, making it impossible to show where the real high probability density is located (Fig. 8 (a)). When the bandwidth h is 0.15, the contours of probability density accurately represent the distribution of location points (Fig. 8 (b)). From Fig. 7, it can be seen that when the bandwidth h is 0.50, the r-squared value shows a decreasing trend. As shown in Fig. 8, when the bandwidth h is 0.50, the probability density contour cannot display the effective information of part of the location point distribution (Fig. 8 (c)). As seen in Fig. 7, when the bandwidth h is 1.00, the r-squared value still shows a decreasing trend. When the bandwidth h is 1.00, the contour of probability density can no longer show the effective information of most of the location point distribution (Fig. 8 (d)). Therefore, the optimal value of bandwidth h is 0.15. After performing the KDE calculations, the CCIA obtains the probability density for each location point. CCIA uses the probability density of each location point as a weight to calculate the cluster center. Fig. 9 displays these cluster centers. It can be seen that the cluster center is close to the original location points of the 18 ship passengers. This demonstrates that the CCIA is effective for finding the cluster center.

Fig. 8.

Fig. 8

Comparison of KDE results of different bandwidth h: (a) Bandwidth h: 0.01, (b) Bandwidth h: 0.15, (c) Bandwidth h: 0.50, (d) Bandwidth h: 1.00.

Fig. 9.

Fig. 9

The KDE results of bandwidth h (0.15) and cluster centers (Lin et al., 2022).

After finding the cluster centers, the CCIA needs to determine the optimal threshold m. This is because the threshold m is a critical criterion for cluster merging. Fig. 10 illustrates the number of locations with marking errors as a function of the threshold m. The horizontal coordinate is the threshold m, and the vertical coordinate is the incorrect amount. The incorrect amount is the number of location points marked with an incorrect cluster ID. We test different threshold m values ranging from 0.50 to 5, with an interval of 0.50. As can be seen from Fig. 10, the results are consistent for threshold m values from 0.50 to 2.00, with the highest number of location points marked with incorrect cluster IDs. This is because the threshold m takes too small a value, and the algorithm considers each ship passenger as a cluster and cannot merge the clusters.

Fig. 10.

Fig. 10

The incorrect amount by the CCIA algorithm with different thresholds m (Lin et al., 2022).

Fig. 11 visualizes the cluster merging results under different threshold m values using CCIA. Different threshold m can affect the calculation results. This error has been visualized shown in Fig. 11 (a) and (d). As shown in Fig. 11 (a) and (d), for threshold m (2 and 4), the location points within the red boundary are identified to two clusters, but they should belong to the same cluster. Euclidean distance between location points affects the value of threshold m. As can be seen in Fig. 11 (c), when the threshold m is 3, the number of incorrectly marked locations drops to 0, all the location points are correctly clustering. The location points within the red boundary is also correctly clustering if threshold m is 3 using CCIA. The result shows that CCIA can correctly distinguish all clusters.

Fig. 11.

Fig. 11

The clustering result of CCIA algorithm with different thresholds m: (a) m: 2, (b) m: 2.5, (c) m: 3, (d) m: 4.

To demonstrate the effectiveness of CCIA, we compare its clustering results with those obtained by Kmeans, Hierarchical, and DBSCAN. Fig. 12 shows the clustering results obtained by Kmeans, Hierarchical, DBSCAN, and CCIA. Fig. 12 (a) illustrates the error in Kmeans when calculating the clusters of the points within the red boundary. Kmeans divides the location points according to the specified number of clusters, assigning all points to the nearest cluster based on Euclidean distances. This metric is suitable for calculating the variance between location points in a confined two-dimensional space like a ship. Kmeans minimizes the conflict within a cluster to determine the clustering result of a location point. However, if the specified number of clusters is incorrect, the computed result cannot be corrected by minimizing the variance within the clusters.

Fig. 12.

Fig. 12

Comparison results of different clustering algorithms: (a) Kmeans, (b) Hierarchical, (c) DBSCAN.

Additionally, Kmeans randomly selects the cluster center among the location points, leading to significant uncertainty. If the initial cluster center selection deviates substantially from the true cluster center, it can cause considerable computational overhead and error when dealing with a large number of location points, as in the extreme case of the red boundary in Fig. 12 (a). Kmeans may misclassify a location point at the boundary of the same cluster, farthest from the center, into the wrong cluster. Therefore, finding the best cluster center is crucial for resolving this extreme case.

Fig. 12 (b) displays the results of Hierarchical (Agglomerative) clustering algorithm. Initially, it treats each location point as a cluster and then merges different clusters based on Euclidean distances between location points to establish a hierarchical relationship between clusters. However, this approach necessitates storing the Euclidean distance matrix for each location point, leading to substantial storage space and computational overhead if the number of location points is too large.

In addition, relying solely on the Euclidean distance of location points to calculate cluster hierarchy can easily generate errors in extreme cases. As demonstrated in Fig. 12 (b), Hierarchical (Agglomerative) clustering algorithm, similar to Kmeans, produces incorrect clustering results within the same red boundary. Consequently, the method of initializing location point clusters and the criteria for merging cluster levels significantly impact the algorithm’s efficiency and accuracy. Thus, the initialization of location point clusters and the merging criteria for cluster hierarchy become crucial factors. The cluster merging criteria directly impact the accuracy of the Hierarchical clustering algorithm in finding the optimal number of clusters.

Fig. 12 (c) presents the DBSCAN clustering results. The clustering results of DBSCAN for location points in other areas are not as accurate as those of the Kmeans and Hierarchical clustering algorithms. DBSCAN computes the number of clusters as five (5) without specifying the number beforehand. However, this is a miscalculation. The Eps and MinPts parameters are crucial to DBSCAN’s accuracy, and adjusting them is necessary for achieving the desired results. Nonetheless, this requires substantial data and expertise, which can be challenging given people’s unfamiliarity with the ship environment. DBSCAN randomly selects a core point among the location points, using the Eps and MinPts parameters to determine the cluster relationship between other location points and the core points. In this case, determining these two parameters based on prior knowledge is difficult, leading to considerable errors in DBSCAN.

Fig. 13 displays a comparison between Kmeans, Hierarchical, DBSCAN, and CCIA. The horizontal coordinate represents the index of the area, while the vertical coordinate shows the correct amount, referring to the number of location points with the accurate cluster ID. The vertical coordinates range from 0 to 2700. Kmeans and Hierarchical exhibit similar errors for clusters of location points, with areas 5 and 6 affected by hierarchical errors. The correct amount in area 5 is 2533, and in area 6, it is 1776. Kmeans algorithm causes errors in areas 3, 4, 5, 6, and 7, resulting in correct amounts of 2646, 1771, 2604, 1792, and 2677, respectively. CCIA accurately marks the location points in all seven areas, while DBSCAN produces the least satisfactory results. Two parameters, Eps and MinPts, are particularly important for DBSCAN, but they are challenging to determine. To identify appropriate values for these parameters, one must have some experience living on a ship. The difficulty of optimizing algorithm parameters is one of the evaluation criteria. CCIA presents a much smaller challenge for parameter determination than DBSCAN, providing more accurate results. The CCIA parameters derived in this paper can be directly used as default parameters.

Fig. 13.

Fig. 13

The correct amount of Kmeans, Hierarchical, DBSCAN, and CCIA.

In addition, this paper also uses the Receiver Operating Characteristic (ROC) curves to test the performance of Kmeans, Hierarchical, DBSCAN, and CCIA. Fig. 14 shows the ROC curves of CCIA, DBSCAN, Kmeans, and Hierarchical. The Area Under Curve (AUC) is the area under the ROC curve. The higher value of AUC indicates that the probability of the classification algorithm ranking a randomly chosen presence of a condition is higher than a randomly chosen absence of a condition. The AUC of DBSCAN is 53%. The AUC of the Kmeans is 68%. The AUC of Hierarchical is 70%. The AUC of CCIA is 93%. The result shows that CCIA is more suitable for ship environments (Lin and Son, 2023).

Fig. 14.

Fig. 14

The ROC curves of CCIA, DBSCAN, Kmeans, and Hierarchical (Lin and Son, 2023).

4.2. Real ship environment experiment

In order to demonstrate the effectiveness of CCIA, close contact tracing experiments are conducted in a real ship environment. HANNARA ship serves as a training vessel for Korea Maritime and Ocean University. Students live on the ship and learn relevant skills. Experiments take place on the main deck of HANNARA ship. The main deck, being the student living area, effectively simulates real-life scenarios on a cruise ship.

User IDs can be assigned to each individual’s user device, along with data encryption techniques, to ensure the privacy and security of ship passengers in a real ship environment. Bluetooth beacons are deployed in the ship environment, and user devices can determine their location points by receiving signals emitted by the Bluetooth beacons. The estimated location points can be stored on the user devices. While there might not be Wi-Fi in the ship’s corridor areas, passengers can connect to Wi-Fi when they return to their rooms, uploading the user ID and location points to a server located in the ship’s control center. The CCIA algorithm can be run on the server to estimate close contact identification results and return the results to user devices connected to Wi-Fi through the ship’s network.

Bluetooth beacon indoor positioning technology is used to obtain the location point of smartphones (Faragher and Harle, 2014). Bluetooth beacon indoor positioning technology is a solution based on Bluetooth Low Energy (BLE) beacon devices. It measures the signal strength between the receiving device (such as a smartphone) and the Bluetooth beacon device deployed indoors, thereby achieving indoor positioning of the receiving device. Bluetooth beacons are small wireless devices fixedly deployed indoors, periodically broadcasting Bluetooth signals. Each beacon device has a unique identifier to distinguish between different beacons. Receiving devices, usually smartphones or other Bluetooth-compatible devices, can receive signals from beacon devices. The Received Signal Strength Indicator (RSSI) is a key parameter to measure the distance between the receiving device and the beacon device. The RSSI is inversely proportional to distance, i.e., the stronger the signal, the closer the distance; the weaker the signal, the farther the distance. The positioning algorithm is the core part of calculating the indoor position coordinates of the receiving device. This paper adopts the In-Ship Localization Algorithm based on the fingerprint map (Youssef and Agrawala, 2005).

Fingerprint map is a commonly used indoor positioning technology. In the process of establishing the fingerprint map, the RSSI values of Bluetooth beacon devices or other wireless signal devices are collected at predetermined Reference Points (RPs) in the indoor environment. The RSSI data of these RPs form the fingerprint map, which is used for subsequent positioning processes. A set of predetermined RPs is selected in the indoor environment. These RPs should be evenly distributed throughout the area to ensure the accuracy and reliability of the positioning process. At each Reference Point (RP), the receiving device (such as a smartphone) collects the RSSI values from the beacon devices. The RSSI data of each RP is stored in a database or data structure. At the same time, the location information of each RP must be recorded for comparison during the positioning process. In the actual positioning process, the receiving device collects the RSSI values of the surrounding beacon devices and compares them with the data in the fingerprint map. By comparing the current RSSI values collected by the receiving device with the RSSI values in the fingerprint map, the nearest RP can be determined, thereby estimating the location point of the receiving device. The advantage of the fingerprint map lies in its relatively high positioning accuracy and adaptability to complex ship indoor environments.

We deploy beacons on the main deck of HANNARA ship and collect Received Signal Strength Indicator (RSSI) data at Reference Points (RPs) using smartphones. The collected RSSI data is used to create a fingerprint map. We conduct close contact tracing experiments on the main deck of HANNARA ship according to the floor plan in Fig. 4. Firstly, we use a smartphone to collect RSSI data from Bluetooth beacons in the vicinity of 18 positions, as shown in Fig. 4, for 15 min. Secondly, we input the collected RSSI data into the In-Ship Localization Algorithm (Lin and Son, 2022) to estimate the location points of the smartphons. Finally, we input the estimated smartphone location points into the CCIA to obtain the close contact identification results. Fig. 15 shows the scene of our close contact tracing experiment on the ship. Fig. 15 (a) demonstrates how we mark the close contact location points according to the floor plan in Fig. 4, so that we can collect RSSI data with a smartphone at these positions. Fig. 15 (b) shows the scene of collecting RSSI data using smartphones in a real ship environment.

Fig. 15.

Fig. 15

Close contact tracing experiment on HANNARA ship: (a) marking location points and (b) collecting RSSI data in the main deck of HANNARA ship.

Fig. 16 visualizes the KDE calculation results and cluster centers. X and Y represent the horizontal and vertical coordinates of the location points, respectively. When location points are input into CCIA, CCIA uses KDE to perform probability density calculations for each location point. The optimal bandwidth h is determined using Silverman’s rule of thumb (Silverman, 1986). CCIA calculates the center of each cluster using the probability density of each location point as a weight. As shown in Fig. 16, darker areas represent a higher number of location points, indicating a higher probability density. Lighter areas represent fewer location points, indicating a lower probability density. It can be seen from Fig. 16 that the cluster centers are located in areas of high probability density. Due to the influence of the ship’s metallic environment on wireless signal propagation, the estimated smartphone location points may have deviations. The red boxes in Fig. 16 display overlapping areas from different clusters. Despite this, their cluster centers do not overlap and are relatively far apart from each other.

Fig. 16.

Fig. 16

KDE calculation results, cluster centers, and location point deviations in the main deck of HANNARA ship.

Fig. 17 displays the close contact identification results using CCIA in a real ship environment. After calculating the cluster centers, CCIA computes the Euclidean distances between each cluster center and searches for an optimal threshold m to further merge the clusters. Initially, there are 18 clusters, as each user ID’s corresponding location point set is considered a separate cluster before merging. Then, CCIA calculates the Euclidean distances between the location points of each cluster. CCIA compares these Euclidean distances and selects the maximum Euclidean distance value as the threshold m. Finally, CCIA compares the Euclidean distances between the cluster centers with the threshold m, and any cluster centers with Euclidean distances smaller than threshold m will have their corresponding clusters merged into a cluster. When no more clusters can be merged, CCIA returns the final cluster merging results. Fig. 17 shows the final results of the clusters merged by CCIA. The results demonstrate that CCIA successfully estimates the presence of 7 clusters and accurately clusters all user IDs into the correct clusters.

Fig. 17.

Fig. 17

Final cluster merging results and close contact identification using CCIA in a real ship environment.

5. Conclusion

The smartphone can be used to track location points of ship passengers. CCIA proposed in this paper takes location points of ship passengers as input data. This paper considers close contact identification as a clustering problem. CCIA initializes the user ID to the cluster ID for each location point of each cluster. And KDE is used to estimate the probability density of each location point for each cluster (Lin et al., 2022). The cluster center is computed using the probability density of each location point as weights. And the threshold m is used as the criterion for merging clusters to obtain the correct cluster results. By comparing three different types of clustering algorithms, it is found that Kmeans, Hierarchical, and DBSCAN are difficult to get satisfactory results. Due to the influence of bandwidth h on the consequence of KDE, it is necessary to decide bandwidth h based on the variance of location points and IQR. By comparing different bandwidth h. It is found that the optimal value of bandwidth h is 0.15. The threshold m is used to merge the criteria of the cluster, and by comparing different threshold m, it is found that the results are correct for m of 3. The final experimental results show that CCIA outperforms Kmeans, Hierarchical, and DBSCAN. CCIA can make user devices to limit the spread of COVID-19 in ship environments. CCIA can assist ship companies in the sustainable management of ships in post COVID-19 era and provide technical assurance for ship passenger health.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgments

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (Grant No.: 2021R1I1A3056125).

Footnotes

Peer review under responsibility of King Saud University.

References

  1. Adnan R.M., Khosravinia P., Karimi B., Kisi O. Prediction of hydraulics performance in drain envelopes using kmeans based multivariate adaptive regression spline. Appl. Soft Comput. 2021;100:107008. [Google Scholar]
  2. Al Bashish D., Braik M., Bani-Ahmad S. Detection and classification of leaf diseases using k-means-based segmentation and. Informat. Technol. J. 2011;10(2):267–275. [Google Scholar]
  3. Azimi P., Keshavarz Z., Laurent J.G.C., Stephens B., Allen J.G. Mechanistic transmission modeling of covid-19 on the diamond princess cruise ship demonstrates the importance of aerosol transmission. Proc. Nat. Acad. Sci. 2021;118(8) doi: 10.1073/pnas.2015482118. [DOI] [PMC free article] [PubMed] [Google Scholar]
  4. Batista B., Dickenson D., Gurski K., Kebe M., Rankin N. Minimizing disease spread on a quarantined cruise ship: A model of covid-19 with asymptomatic infections. Mathe. Biosci. 2020;329:108442. doi: 10.1016/j.mbs.2020.108442. [DOI] [PMC free article] [PubMed] [Google Scholar]
  5. Battineni G., Sagaro G.G., Chintalapudi N., Di Canio M., Amenta F. vol. 9. Multidisciplinary Digital Publishing Institute; 2021. Assessment of awareness and knowledge on novel coronavirus (covid-19) pandemic among seafarers; p. 120. (Healthcare). [DOI] [PMC free article] [PubMed] [Google Scholar]
  6. Botev Z.I., Grotowski J.F., Kroese D.P. Kernel density estimation via diffusion. Ann. Stat. 2010;38(5):2916–2957. [Google Scholar]
  7. Campello, R.J., Moulavi, D., Sander, J., 2013. Density-based clustering based on hierarchical density estimates. In: Advances in Knowledge Discovery and Data Mining: 17th Pacific-Asia Conference, PAKDD 2013, Gold Coast, Australia, April 14–17, 2013, Proceedings, Part II 17, Springer, pp. 160–172.
  8. C. for Disease Control, P. (CDC), 2020. Public health guidance for community-related exposure. https://www.cdc.gov/coronavirus/2019-ncov/php/public-health-recommendations.html.
  9. Cheng D., Yue G., Pei T., Wu M. Clustering indoor positioning data using e-dbscan. ISPRS Int. J. Geo-Informat. 2021;10(10):669. [Google Scholar]
  10. Dahl E. Coronavirus (covid-19) outbreak on the cruise ship diamond princess. Internat. Maritime Health. 2020;71(1):5–8. doi: 10.5603/MH.2020.0003. [DOI] [PubMed] [Google Scholar]
  11. E.C. for Disease Prevention, Control, Contact tracing: Public health management of persons, including healthcare workers, who have had contact with covid-19 cases in the european union - third update, 2020. https://www.ecdc.europa.eu/sites/default/files/documents/covid-19-public-health-management-contact-novel-coronavirus-cases-EU.pdf.
  12. Fanoy E., Ummels A.E., Schokkenbroek V., van Dijk B., Wiegmans S., Veenstra T., van der Eijk A.A., Sikkema R.S., de Raad A. Outbreak of covid-19 on an industrial ship. Int. Maritime Health. 2021;72(2):87–92. doi: 10.5603/IMH.2021.0016. [DOI] [PubMed] [Google Scholar]
  13. Faragher, R., Harle, R., 2014. An analysis of the accuracy of bluetooth low energy for indoor positioning applications. In: Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), pp. 201–210.
  14. Geng Y.-A., Li Q., Zheng R., Zhuang F., He R., Xiong N. Recome: A new density-based clustering algorithm using relative knn kernel density. Inf. Sci. 2018;436:13–30. [Google Scholar]
  15. Han J., Kamber M., Pei J. 3rd ed. Elsevier; 2011. Data Mining: Concepts and Techniques. URL https://www.elsevier.com/books/data-mining/han/978-0-12-381479-1. [Google Scholar]
  16. Han X., Armenakis C., Jadidi M. Modeling vessel behaviours by clustering ais data using optimized dbscan. Sustainability. 2021;13(15):8162. [Google Scholar]
  17. Heather Law, A.K.K., Maruyama, M., 2022. Cruise ship with 800 covid-positive passengers docks in sydney, Cable News Network (CNN). https://edition.cnn.com/2022/11/13/australia/australia-covid-majestic-princess-cruise-passengers-intl-hnk/index.html.
  18. Jian, A.K., 2009. Data clustering: 50 years beyond k-means, pattern recognition letters, Corrected Proof.
  19. Klein N. International law perspectives on cruise ships and covid-19. J. Int. Humanitarian Legal Stud. 2020;11(2):282–294. [Google Scholar]
  20. Lin Q., Son J. An in-ship localization algorithm for close contact identification. J. Theoret. Appl. Informat. Technol. 2022;100(6) [Google Scholar]
  21. Lin Q., Son J. 2022 Prognostics and Health Management Conference (PHM-2022 London) IEEE; 2022. A clustering mechanism to identify close contact for the ship passenger health; pp. 151–157. [Google Scholar]
  22. Lin Q., Son J. A close contact tracing method based on bluetooth signals applicable to ship environments. KSII Trans. Internet Informat. Syst. 2023;17(2) [Google Scholar]
  23. Liu X., Sang X., Chang J., Zheng Y., Han Y. The water supply association analysis method in shenzhen based on kmeans clustering discretization and apriori algorithm. PloS One. 2021;16(8):e0255684. doi: 10.1371/journal.pone.0255684. [DOI] [PMC free article] [PubMed] [Google Scholar]
  24. Lomae A., Preechakasedkit P., Hanpanich O., Ozer T., Henry C.S., Maruyama A., Pasomsub E., Phuphuakrat A., Rengpipat S., Vilaivan T., et al. Label free electrochemical dna biosensor for covid-19 diagnosis. Talanta. 2023;253:123992. doi: 10.1016/j.talanta.2022.123992. [DOI] [PMC free article] [PubMed] [Google Scholar]
  25. Mieczyńska M., Czarnowski I. Dbscan algorithm for ais data reconstruction. Procedia Comput. Sci. 2021;192:2512–2521. [Google Scholar]
  26. Murtagh F., Contreras P. Algorithms for hierarchical clustering: an overview, Wiley Interdisciplinary Reviews. Data Min. Knowl. Disc. 2012;2(1):86–97. [Google Scholar]
  27. Na S.-I., Park C.-W., So K.-H., Park J.-M., Lee K.-D. Satellite imagery based winter crop classification mapping using hierarchica classification. Korean J. Remote Sens. 2017;33(5_2):677–687. [Google Scholar]
  28. Ng A., Jordan M., Weiss Y. On spectral clustering: Analysis and an algorithm. Adv. Neural Informat. Process. Syst. 2001;14 [Google Scholar]
  29. Okabe A., Satoh T., Sugihara K. A kernel density estimation method for networks, its computational method and a gis-based tool. Int. J. Geograph. Informat. Sci. 2009;23(1):7–32. [Google Scholar]
  30. Pelleg, D., Moore, A.W., et al., 2000. X-means: Extending k-means with efficient estimation of the number of clusters. In: Icml, vol. 1, pp. 727–734.
  31. Plucinski M.M., Wallace M., Uehara A., Kurbatova E.V., Tobolowsky F.A., Schneider Z.D., Ishizumi A., Bozio C.H., Kobayashi M., Toda M., et al. Coronavirus disease 2019 (covid-19) in americans aboard the diamond princess cruise ship. Clin. Infect. Dis. 2021;72(10):e448–e457. doi: 10.1093/cid/ciaa1180. [DOI] [PMC free article] [PubMed] [Google Scholar]
  32. Rios R.A., Nogueira T., Coimbra D.B., Lopes T.J., Abraham A., Mello R.F.d. Country transition index based on hierarchical clustering to predict next covid-19 waves. Sci. Rep. 2021;11(1):1–13. doi: 10.1038/s41598-021-94661-z. [DOI] [PMC free article] [PubMed] [Google Scholar]
  33. Rokach, L., 2005. Clustering methods. In: Rokach, L., Maimon, O. (Eds.), Data Mining and Knowledge Discovery Handbook.
  34. Schubert E., Sander J., Ester M., Kriegel H.P., Xu X. Dbscan revisited, revisited: why and how you should (still) use dbscan. ACM Trans. Database Syst. (TODS) 2017;42(3):1–21. [Google Scholar]
  35. Silverman B.W. vol. 26. CRC Press; 1986. (Density Estimation for Statistics and Data Analysis). [Google Scholar]
  36. Silverman B.W. Routledge; 2018. Density Estimation for Statistics and Data Analysis. [Google Scholar]
  37. Smiti A., Elouedi Z. 2012 IEEE 16th International Conference on Intelligent Engineering Systems (INES) IEEE; 2012. Dbscan-gm: An improved clustering method based on gaussian means and dbscan techniques; pp. 573–578. [Google Scholar]
  38. Tibshirani R., Walther G., Hastie T. Estimating the number of clusters in a data set via the gap statistic. J. Roy. Stat. Soc.: Series B (Stat. Methodol.) 2001;63(2):411–423. [Google Scholar]
  39. von Münster, T., Kleine-Kampmann, S., Hewelt, E., Boldt, M., Schlaich, C., Strölin, P., Oldenburg, M., Dirksen-Fischer, M., Harth, V., 2021. When the ship comes in–covid-19-ausbrüche an bord von frachtschiffen im hamburger hafen, Flugmedizin · Tropenmedizin · Reisemedizin-FTR 28 (01), 13–24.
  40. W.H.O. (WHO), 2020. Transmission of sars-cov-2: Implications for infection prevention precautions. https://www.who.int/news-room/commentaries/detail/transmission-of-sars-cov-2-implications-for-infection-prevention-precautions.
  41. Xu N., Finkelman R.B., Dai S., Xu C., Peng M. Average linkage hierarchical clustering algorithm for determining the relationships between elements in coal. ACS omega. 2021;6(9):6206–6217. doi: 10.1021/acsomega.0c05758. [DOI] [PMC free article] [PubMed] [Google Scholar]
  42. Youssef, M., Agrawala, A. 2005. The horus wlan location determination system. In: Proceedings of the 3rd International Conference on Mobile Systems, Applications, and Services, pp. 205–218.
  43. Zhao, W., Ma, H., He, Q., 2009. Parallel k-means clustering based on mapreduce. In: Cloud Computing: First International Conference, CloudCom 2009, Beijing, China, December 1–4, 2009. Proceedings 1, Springer, 2009, pp. 674–679.

Articles from Journal of King Saud University. Computer and Information Sciences are provided here courtesy of Elsevier

RESOURCES