Computer-implemented method for calculating, in particular, geodetic distances between data points, computer program, computer-readable medium and device

The method constructs minimum spanning trees from sub-input datasets to calculate geodesic distances, addressing limitations of conventional methods by providing efficient and reliable distance measurements in high-dimensional data, enhancing data analysis and visualization.

DE102024130404A1Pending Publication Date: 2026-04-23FORSCHUNGSZENTRUM JULICH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
FORSCHUNGSZENTRUM JULICH GMBH
Filing Date
2024-10-18
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Conventional methods for calculating geodetic distances in high-dimensional data are limited by their inability to capture complex structures, require parameter settings that can lead to suboptimal results, and often introduce biases, restricting their applicability and efficiency.

Method used

A computer-implemented method that constructs minimum spanning trees for sub-input datasets derived from the input data, aggregates their edges to form a final graph, and calculates geodesic distances between nodes, enabling robust distance measurements in high-dimensional data.

Benefits of technology

The method provides reliable and efficient geodetic distance calculations, reducing storage requirements and energy consumption while uncovering critical connections in high-dimensional datasets, facilitating better data analysis and visualization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention relates to a computer-implemented method for calculating, in particular, geodetic distances between data points (S), wherein S1) an input data set (2) or a raw data set (1) is received and an input data set (2) is calculated from it, S2) from the input data record (2) several sub-input data records (3) are created, each sub-input data record (3) comprising a part of the data of the input data record (2), S3) for which a minimum spanning tree (MST) is constructed for each of the resulting sub-input data sets (3), S4) at least edges (5) of the obtained minimum spanning trees (MST) are aggregated and a final graph (6) is created based on the result of the aggregation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to a computer-implemented method for calculating, in particular, geodetic distances between data points. Furthermore, the invention relates to a computer program, a computer-readable medium, and a device.

[0002] The distance between data points in a dataset refers to a measure of the dissimilarity between the data points. Depending on the type of data and the intended application, there are various ways to calculate this distance. A common distance metric is the Euclidean distance: the straight-line distance between two points in Euclidean space, which is typically used for continuous numerical data.

[0003] The applicant is aware of various methods for calculating geodetic distances for or between data points, for example the Laplacian eigenmap method or the Heat method, which is described in the article "Geodesics in heat: A new approach to computing distance based on heat flow" by K. Crane et al., ACM Transactions on Graphics (TOG), Volume 32, Issue 5, Article No.: 152, Pages 1 - 11, https: / / doi.org / 10.1145 / 2516971.2516977.

[0004] Methods with dimensionality reduction and visualization as a goal are also known, where geodesic distances over manifolds are estimated as an intermediate step or represent the final result, for example the UMAP method (“UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction”, by L. McInnes et al., arXiv:1802.03426v3, 2020) and the PHATE method (“Visualizing structure and transitions in high-dimensional biological data”, Moon, KR, van Dijk, D., Wang, Z. et al. Nat, Biotechnol, 37, 1482-1492 (2019), https: / / doi.org / 10.1038 / s41587-019-0336-3).

[0005] Isomap is a nonlinear method for dimensionality reduction. It is one of several widely used low-dimensional embedding methods ("A Global Geometric Framework for Nonlinear Dimensionality Reduction," JB Tennenbaum et al., Science, Vol. 290, Issue 5500, pp. 2319–2323, December 22, 2000, DOI: 10.1126 / science.290.5500.2319). Isomap is used to compute a quasi-isometric, low-dimensional embedding of a set of high-dimensional data points. The k-neighborhood used by Isomap is a critical parameter that is typically difficult to set.

[0006] However, some drawbacks of these methods are their limitations regarding the types of data they can process and for which distances need to be determined. For example, the HEAT method and its solver can only utilize 3-dimensional data, which restricts its application to high-dimensional domains. Furthermore, some of these methods require parameter settings, commonly referred to as hyperparameters, which can influence the final result, such as the k-neighborhood in Laplacian eigenmaps. Most methods make strong assumptions about these parameters, such as the number of nearest neighbors to use, and an unsuitable choice can lead to suboptimal distance estimates or calculations. Dimension-reducing methods (UMAP and PHATE) perform transformations on the data, which can introduce biases and also result in suboptimal distance estimates.It should be noted that the choice of a suitable kernel and the complexity of the calculation usually limit the use of this approach.

[0007] Conventional methods for analyzing high-dimensional data and calculating distances between data points are often unable to capture the underlying complex structures or accurately represent the intrinsic geometric relationships. There is a significant need for improved methods that can efficiently construct representations from such data, providing meaningful distance measurements essential for applications in machine learning, data analysis, and various scientific fields.

[0008] It is an object of the present invention to provide a computer-implemented method for calculating, in particular, geodetic distances between data points, which provides useful and, in particular, reliable results, can be carried out with reasonable effort and is also applicable to high-dimensional data and directly to distance matrices.

[0009] High-dimensional data refers in particular to data with a dimension greater than three, preferably a dimension greater than four, greater than five, greater than six or greater than seven.

[0010] This task is solved by a computer-implemented method for calculating, in particular, geodetic distances between data points, in which S1) receives an input data set or receives a raw data set and calculates an input data set from it, S2) from the input data set, in particular by resampling, several sub-input data sets are created, wherein each sub-input data set comprises a part of the data of the input data set, and at least some, preferably all, sub-input data sets differ from each other, S3) for which a minimum spanning tree is constructed for each of the resulting sub-input data sets, S4) at least edges of the obtained minimum spanning trees are aggregated and a final graph is created based on the result of the aggregation, S5) optionally based on the final graph for at least one pair of two nodes, in particular for several, preferably all pairs of two nodes each, a graph distance, in particular as the shortest preferably weighted distance between the two nodes of the respective pair, is calculated and in particular is considered to be the geodesic distance between the two nodes of the respective pair.

[0011] In other words, the present invention introduces a new method that combines graph theory with advanced data analysis techniques to compute distances and, in particular, manifolds in a way that improves the understanding of the internal geometry of the data. By repeatedly computing minimum spanning trees (MSTs) for different sub-input datasets, especially those obtained by resampling, and aggregating the results, the method according to the invention offers a robust alternative to previously known methods, particularly isomaps, which is capable of uncovering critical and robust connections in high-dimensional datasets.

[0012] The method according to the invention can also process high-dimensional (> 3D) raw data and point clouds. The method can also accept such data, or associated, in particular pairwise, distance matrices, as input data sets.

[0013] Furthermore, data can be stored significantly more efficiently in the form of the graph structure calculated according to the invention and / or as an optionally obtained graph spacing or graph spacings than, for example, in the form of raw data or pairwise distances. Since more efficient storage is possible, and in particular less data needs to be stored, storage space and the effort and energy required for storage itself or associated processes can be saved. This applies equally to one or more subsequent accesses or retrievals of the data stored in this particularly efficient form. Retrievals can also be performed particularly quickly, efficiently, and with lower energy consumption compared to conventional methods. The method according to the invention is therefore particularly space-saving and resource-efficient.

[0014] Graphs consist of vertices (or nodes) and the links (or edges) that connect them. They serve to represent relationships by embedding information in both nodes and edges. The graph data structure realizes the abstract mathematical concept of a graph and represents a collection of entities where specific pairs of entities are connected. Graphs can be undirected, meaning there is a bidirectional relationship between any two connected nodes. In directed graphs, on the other hand, the edges define a one-way relationship from a source node to a target node, without implying the reverse connection.

[0015] A minimum spanning tree is the smallest set of edges that connects all nodes in a graph without cycles and with the lowest possible total edge weight.

[0016] A dataset is a collection of data organized, for example, in a table, database, or file. Each row of the dataset typically represents a single data entry, observation, or data point, while the columns represent attributes, features, or variables that describe aspects of each data point. Datasets can contain various types of data, such as text, images, and time-series data.

[0017] The distance between data points in a dataset refers specifically to a measure of the dissimilarity between the data points. Depending on the type of data and the desired application, there are various ways to calculate this distance. A common distance metric is the Euclidean distance: the straight-line distance between two points in Euclidean space, which is typically used for continuous numerical data.

[0018] Within the framework of the method according to the invention, it is possible, on the one hand, to receive a raw data set in step S1 and to calculate an input data set based on or for this raw data set. Alternatively, an input data set can be received directly.

[0019] A raw data set can be provided or received in the form of a matrix, for example. In other words, it can be a data matrix. The raw data set can, in particular, include any type of data that is or can be represented by numerical vectors.

[0020] Preferably, in step S1 an input data set is received or calculated that includes, or is provided by, at least one distance matrix. A distance matrix can be received in step S1, in particular, if pre-calculated distances or values ​​belonging to a raw data set are already available. Otherwise, these can first be determined, thus obtaining a distance matrix.

[0021] This distance matrix is ​​not a graph.

[0022] Furthermore, it can be the case that at least one distance matrix was or is calculated by calculating the distance between, in particular, all pairs of data points contained in the raw data set or a raw data set belonging to the input data set, preferably using a distance metric selected from the group Euclidean distance, Mahalanobis distance, cosine similarity, Pearson correlation, edit distance, or Hamming distance for the distance calculation between the data points. This has proven to be particularly suitable. However, the use of other distance metrics is also possible.

[0023] A raw data set can, for example, comprise data points or samples and their associated properties. Such a raw data set can therefore be received in step S1. It is also possible that an input data set, particularly one comprising a distance matrix, is received in step S1 and is based on such a raw data set. The properties associated with the samples are preferably those on which distances are to be calculated.

[0024] A raw data set containing data points can be received, where each data point is represented by a numeric vector describing attributes of the data point, or an input data set created based on such a raw data set can be received.

[0025] It is also possible that in step S1 a raw data set with data points is received and numerical representations, in particular numerical vector representations, are first calculated for the data points and the input data set is calculated using the numerical representations of the data points, or that in step S1 an input data set is received that was created based on such a raw data set.

[0026] The method according to the invention is suitable for various fields of application in which the determination of distances plays a role.

[0027] The distances obtained within the framework of the inventive method are more representative of the geometry underlying the data and more meaningful for data analysis, interpretation and visualization.

[0028] In the field of data science, for example, the understanding of complex datasets can be improved, and a better understanding of the underlying structures can be achieved. The resulting final graph, or a distance matrix preferably derived from it, can then be used for further applications such as dimensionality reduction, manifold estimation, and clustering.

[0029] The invention can also be used for the design and / or analysis of networks. For example, it can be provided that, based on the final graph created in step S4 and / or the at least one graph distance optionally calculated in step S5, an optimized, and in particular particularly robust, computer and / or telecommunications network is designed and preferably subsequently built. Alternatively or additionally, it can be provided that, based on the final graph created in step S4 and / or the at least one graph distance optionally calculated in step S5, an existing computer and / or telecommunications network is analyzed and preferably subsequently modified.

[0030] The invention can also be used for biological and social network analyses. Improved models for understanding complex interaction patterns in biological and social structures can be obtained. The final graph created in step S4 can, for example, represent at least one biological and / or social structure or at least one complex interaction pattern in biological and social structures, from which additional insights such as node importance and community structure can be derived.

[0031] It is also possible to determine distances using the method according to the invention for sensor data acquired through measurement technology.

[0032] Another advantageous embodiment is characterized accordingly in that in step S1 a raw data set is received which comprises sensor data acquired by means of at least one measuring device, in particular by means of at least one 3D camera or at least one 3D scanner or at least one LIDAR system, or is derived from such sensor data.

[0033] The raw data set can include point cloud data or be provided by it, or in step S1 an input data set can be received that was created based on such a raw data set.

[0034] Another embodiment can focus on the graphical representation of 3D data and its application for calculating geodetic distances between data points. Various types of sensors, such as 3D cameras and 3D scanners, as well as Light Detection and Ranging (LIDAR) systems, typically acquire point cloud data that specifies the positions of points in three-dimensional space as positions in the X, Y, and Z planes. In this case, the objective can be to calculate geodetic distances between the data points using the method according to the invention, either for direct use, such as calculating the distance between two data points (e.g., between the centers of two eyes), or to cluster or segment the points (e.g., for identifying limbs).

[0035] If the inventive method is carried out for an input data set that includes or is derived from metrologically acquired sensor data, reliable distance determination is possible with high efficiency and resource conservation, in particular power saving.

[0036] The graph spacing obtained optionally in step S5, at least one, can be used for direct measurements and / or other downstream tasks, such as clustering and / or segmentation.

[0037] Another embodiment is characterized in that, based on the final graph created in step S4 and / or based on the at least one graph distance optionally calculated in step S5, a conclusion is drawn about a property of an object and / or a person measured by means of the measuring device.

[0038] For example, the distance between two points in the point cloud or point cloud data, calculated as at least one graph distance in step S5, can be used to estimate the properties of an object. If the point cloud data shows or represents a recorded or measured person, it is also possible, for instance, to determine the person's height or the distance between their eyes along the contour of their face.

[0039] It may also be provided that in step S1 a raw data set is received which includes or is provided by image data, in particular medical image data, and / or satellite image data and / or bioinformatic data and / or data from the field of computer vision and / or text and / or one or more molecular and / or chemical structures and / or genetic data and / or single-cell data, or that in step S1 an input data set is received which was created on the basis of such a raw data set.

[0040] If the raw data set belonging to the input data set includes or included genetic data, it is possible, for example, to calculate which samples or data points are closer to each other, for example also in the context of studies on the progression of cancer.

[0041] If the raw data set includes or included medical image data of people's brains, at least one graph distance can be calculated according to step S5, or properties of brain regions can be calculated based on this, such as the longest path on the amygdala or the hippocampus.

[0042] In other words, further applications for data points in arbitrary dimensions can be found using suitable distance metrics. These data points could be, for example, images or texts whose numerical vector representations can be obtained using conventional methods or by embedding pre-trained deep neural networks, such as large language models. Other examples of data points include chemical structures for determining their drug similarity, single-cell data for identifying disease subtypes, and so on.

[0043] The various sub-input datasets, which can also be referred to as subsets, are obtained in step S2 of the method according to the invention, preferably by resampling from the input dataset, and differ from one another. They are expediently each defined by a different part of the input dataset, or, one could also say, a "section" of the input dataset. While the sub-input datasets or subsets do not match, they can partially overlap and generally do.

[0044] It should be noted that it is also possible, in principle, for one of the sub-input data sets to encompass the entire input data set.

[0045] In this context, resampling means in particular that repeated “samples”, so-called subsamples, are drawn from an initial sample, where the input data set represents the initial sample and the sub-input data sets represent the subsamples.

[0046] The sub-input data records can, in principle, be generated in various ways in step S2.

[0047] For example, it can be stipulated that in step S2, to obtain the sub-input datasets, a preferably equally sized, predefined percentage of data is extracted from the input dataset. Each sub-input dataset can, for example, comprise (a different) 95%, 90%, 85%, or 80% of the data, such as nodes and / or edges, of the input dataset.

[0048] All sub-input data records can have the same size or different sizes.

[0049] Alternatively or additionally, in step S2, a randomly selected portion of data can be extracted from the input data set to obtain the sub-input data sets. At least one suitable function can be used for this random selection.

[0050] It has proven particularly useful if, in step S2, nodes and / or edges contained in the input data set are extracted as data to obtain the sub-input data sets.

[0051] It may also be provided that a random percentage of data, in particular of nodes and / or edges from an existing network, such as one generated from an MST or nearest neighbor graph of all or part of the input data set, is excluded in order to obtain the various sub-input data sets.

[0052] It should be noted that in step S2, in addition to resampling, other sampling methods, such as sampling using a centrality measure, e.g., betweenness centrality or degree centrality, can be used or performed to obtain the sub-input data records.

[0053] It is possible that in step S2, to obtain the sub-input datasets, at least some of the nodes contained in the input dataset are extracted or excluded based on certain or calculated properties, in particular a centrality measure. They can be extracted or excluded based on a centrality measure (such as degree or proximity) in a graph.

[0054] The number of sub-input records, or subsets, can vary. For example, 100 or 1000 sub-input records might be generated.

[0055] Further training may also include the following: in step S3, each of the sub-input data sets is first converted into a fully connected graph, and then the minimum spanning trees for the obtained graphs – and thus the associated sub-input data sets – are constructed.

[0056] In particular, for all received sub-input datasets, or optionally for graphs created for these, an MST is calculated in step S3. This determines the efficient and minimum connectivity.

[0057] Then, in particular, edges from each MST can be collected and aggregated.

[0058] Furthermore, it may be provided that in step S3 a minimum spanning tree is constructed for the input data set, in particular, where the minimum spanning tree constructed for the input data set is combined with the minimum spanning trees constructed for the sub-input data sets.

[0059] The method according to the invention constructs a final graph based on the aggregated MSTs, in particular the aggregated edge data thereof. In other words, a network is formed that contains the most stable and important connections.

[0060] Parallel computing can be used to carry out the method according to the invention, either on one or more machines.

[0061] It is possible to design the construction of the minimum spanning trees in step S3 using parallel computing on one or more computing devices, in particular on one or more CPUs and / or on one or more GPUs. Parallel computing saves time and makes the process particularly efficient.

[0062] Another embodiment is further characterized in that, in step S3, an associated adjacency matrix, in particular an adjacency matrix for the connected nodes of the respective minimum spanning tree, is created for each of the minimum spanning trees.

[0063] An adjacency matrix belonging to a graph is, in particular, a matrix that stores which nodes of the graph are connected by an edge.

[0064] In step S4, at least the edges of preferably all obtained minimum spanning trees are aggregated, and a final graph is created based on the result of the aggregation. The aggregation provided according to the invention makes it particularly possible to identify meaningful and important connections. Preferably, only edges of the MSTs are aggregated in step S4.

[0065] Aggregation can be performed in various ways, for example, by union. For instance, a union of all edges in all MSTs can be used as the aggregation. Alternatively, a percentage of edges frequently appearing in the MSTs can be considered. For example, edges that are present in at least a certain percentage of all MSTs, such as at least 95%, can be included in the aggregation.

[0066] The aggregation of at least the edges of the minimum spanning trees according to step S4 can also be performed, or include, such that the adjacency matrices belonging to the minimum spanning trees are aggregated, thus yielding an aggregated adjacency matrix. In particular, the aggregation of adjacency matrices belonging to the minimum spanning trees can provide an aggregated matrix containing information about all edges derived from the minimum spanning trees of all sub-input datasets.

[0067] In this case, the final graph can be obtained in particular by converting the aggregated adjacency matrix.

[0068] Furthermore, it can be provided that each edge in the final graph is assigned a weight based on the distance matrix of the input data set.

[0069] In the preferred embodiment, the geodesic distances are calculated in the final graph. This calculation is based in particular on the connections contained in the final graph.

[0070] It may be planned that the final graph obtained in step S4 is transformed into a manifold.

[0071] In step S5, a final distance matrix is ​​advantageously created for the final graph, and in particular from the final graph. This is preferably done by calculating the graph distance for one or more, and in particular all, pairs of nodes in the final graph, specifically as the shortest weighted distance between the two nodes of the respective pair. This conversion is preferably performed after each edge in the final graph has been assigned a weight based on the distance matrix of the input data set.

[0072] A final distance matrix derived from or belonging to the final graph can be particularly useful in various application areas. For example, it can be used for clustering in data science.

[0073] Another particularly advantageous embodiment is further characterized in that the final graph obtained in step S4 and / or the at least one graph distance optionally calculated in step S5 are stored on at least one data storage device. The same can apply, in an advantageous embodiment, to a final distance matrix if one has been created.

[0074] The stored final graph and / or the at least one stored graph distance and / or the final distance matrix are then expediently called up at least once for further use.

[0075] As noted above, data in the form of the final graph and / or at least one graph distance or a final distance matrix can be stored much more efficiently, since only a subset of the nodes is included, thus saving storage space and the effort and power required for storage itself or related processes. This applies equally to one or more subsequent accesses or retrievals of the data stored in this particularly efficient form.

[0076] It should be emphasized that the steps of the method according to the invention do not all have to be carried out (completely) sequentially, but can also run at least partially in parallel. For example, it is not necessary to create all the desired sub-input data sets before starting the spanning tree construction according to step S3 and the aggregation according to step S4. Theoretically, this allows the process to begin with already created sub-input data sets before the creation of all sub-input data sets is complete. The same applies to the aggregation. In other words, steps S2, S3, and S4, for example, can also run (at least partially) simultaneously.

[0077] Another object of the present invention is a computer program comprising instructions which, when executed on at least one computer, cause the at least one computer to carry out the steps of the method according to the invention.

[0078] The invention also relates to a computer-readable medium comprising instructions which, when executed on at least one computer, cause that at least one computer to carry out the steps of the method according to the invention.

[0079] It is also possible that at least some of the steps of the method according to the invention are carried out in a cloud. This includes, in particular, the use of externally, remotely, or distributedly operated services via the internet (cloud computing), encompassing Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).

[0080] Finally, the invention relates to a device for carrying out the method according to the invention, comprising a computer with a data storage device on which the computer program according to the invention is stored.

[0081] Regarding the embodiments of the invention, reference is also made to the dependent claims and to the following description of an exemplary embodiment with reference to the accompanying drawing.

[0082] The drawing shows: Fig. 1 A purely schematic representation of the steps of an embodiment of the computer-implemented method according to the invention.

[0083] The Fig. Figure 1 shows in a purely schematic representation the steps of an embodiment of the computer-implemented method according to the invention.

[0084] This includes receiving a raw data set 1 in step S1. Fig. 1 contains a visualization of the raw data set 1 on the far left.

[0085] In the illustrated example, raw data set 1 is a data matrix. Each row of raw data set 1 represents a single data entry, an observation, or a data point S, while the columns represent attributes, features, or variables that describe aspects of the individual data points. In the figure, the rows or data points are labeled with the abbreviation "S" (for sample), and the columns with the corresponding features are labeled "F" (for features).

[0086] Raw data sets 1 can contain various types of data, e.g., text, images, and time series data.

[0087] The data matrix forming raw data set 1 can, for example, consist of a 3D point cloud or high-dimensional data describing gene expression in various tissue samples, to name just two examples. The 3D point cloud or 3D point cloud data can be acquired using, for example, a 3D camera, a 3D scanner, or a LiDAR system.

[0088] In step S1, an input dataset 2 is calculated from the raw dataset 1. Here, the input dataset 2 is a distance matrix corresponding to the raw dataset 1. The distance matrix 2 is calculated by determining the distance between, in particular, all possible pairs of data points S contained in the raw dataset. For this pairwise distance calculation between the data points S, a distance metric is selected from the group consisting of Euclidean distance, Mahalanobis distance, cosine similarity, Pearson correlation, edit distance, and Hamming distance. A suitable distance metric can, for example, be selected by a user.

[0089] In the Fig. In the recognizable graphical representation of the distance matrix forming the input data set 2, the distance between each pair of data points S (rows and columns) is represented by grey values ​​of a grey scale.

[0090] It should be noted that it is also possible that in step S1 no raw data set 1 is provided, from which an input data set 2 given by a distance matrix is ​​then first calculated, but rather an input data set 2 is directly passed or received, which includes a distance matrix that is given by this, provided that such a is already available.

[0091] In step S2, several sub-input datasets 3 are created from the received or initially calculated input dataset 2, or specifically for this dataset by resampling. The sub-input datasets 3, of which in Fig. The three examples shown in simplified form as block elements represent subsets of input data set 2. In step S2, to obtain each sub-input data set 3, an equal, predetermined percentage of data is extracted from input data set 2. In the embodiment shown here, 90% of the samples S from input data set 2 are randomly extracted for each sub-input data set 3. The resulting sub-input data sets 3 differ from one another. A different portion of the samples S is randomly extracted for each sub-input data set 3. The extracted portions, and thus the sub-input data sets 3, overlap, but do not completely match, i.e., they do not correspond in all samples S.

[0092] It should be noted that in step S2 other sampling methods, such as those using centrality, e.g. betweenness centrality or degree centrality, can also be used to obtain sub-input records 3.

[0093] For each sub-input data set 3, a minimum spanning tree (MST) is constructed in step S3. Alternatively, re-sampled minimum spanning trees (MST) are obtained.

[0094] It may be provided that the sub-input data sets 3 in step S3 are each first converted into a fully connected graph (in Fig. (1 not shown) and then the minimum spanning trees MST are constructed, which has proven to be particularly suitable.

[0095] The construction of the spanning trees in step S3 is preferably carried out using parallel computing on one or more computing devices, in particular on one or more CPUs and / or on one or more GPUs.

[0096] In Fig. Figure 1 shows two example minimum spanning trees (MSTs). The intervening "..." indicate that more than two sub-input datasets 3 and spanning trees (MSTs) are created. Each minimum spanning tree (MST) comprises, in a well-known manner, nodes 4 and edges 5 connecting nodes 4. Fig. 1 are just a few examples of nodes and edges with the corresponding reference symbols 4 and 5.

[0097] In step S4, at least edges 5, preferably only edges 5, of the obtained minimum spanning trees MST are aggregated and a final graph 6 is created based on the result of the aggregation.

[0098] In the present embodiment, the aggregation of at least edges 5 of the minimum spanning trees MST according to step S4 comprises aggregating the adjacency matrices created for the minimum spanning trees MST, i.e., those belonging to the minimum spanning trees MST, thereby obtaining an aggregated adjacency matrix (not shown). This aggregated adjacency matrix contains information about all edges 5 that were guided by the MSTs from all resamples.

[0099] The final graph 6 is obtained here by subsequent conversion of the aggregated adjacency matrix.

[0100] Furthermore, it has proven particularly advantageous to assign a weight to each edge in the final graph based on the distance matrix of the input data set 2.

[0101] In step S5, based on the final graph 6, a graph distance, in particular the shortest preferentially weighted distance between the two nodes 4 of the respective pair, is calculated for at least one pair of two nodes 4 and is considered the geodesic distance between the two nodes 4 of the respective pair.

[0102] In this case, graph distances are calculated for several, in particular all, pairs of nodes 4, and in this way a final distance matrix 7 is obtained for the final graph 6. Since the graph distances are considered geodesic distances, one can also say that a geodesic final distance matrix 7 is created.

[0103] To calculate the shortest weighted distances between pairwise nodes 4 in the final graph 6, Dijkstra's algorithm can be used, for example. It is also possible to use the methods described in the paper "A class of graphgedetic distances generalizing the shortest-path and the resistance distances" by P. Chebotarev, Discrete Applied Mathematics 159 (2011), pages 295–302.

[0104] The final graph 6 and / or the final distance matrix 7 obtained in step S4 are stored (not displayed) on at least one data storage device. The stored final graph 6 and / or the stored final distance matrix 7 can then be accessed for further use.

[0105] For example, a clustering algorithm, such as k-medoids or other algorithms that can handle distance matrices, can be applied to this matrix to obtain clusters in the data. This process is used, for instance, to obtain clusters of images, text documents, or even cancer tissue samples.

[0106] In the form of a graph structure and / or final distance matrix, data can be stored significantly more efficiently than, for example, in the form of raw data or pairwise distances. Since more efficient storage is possible, and in particular less data needs to be stored, storage space and the effort and energy required for storage itself or related processes can be saved. This applies equally to one or more subsequent accesses or retrievals of the data stored in this particularly efficient form. Retrievals can also be performed particularly quickly, efficiently, and with lower energy consumption compared to conventional methods. The method according to the invention is therefore particularly space-saving and resource-efficient.

[0107] It should be noted that further processing of each MST or the final graph 6 is optional. For example, for one or more nodes 4, the nearest neighbors or nodes 4 that are closer than the currently connected furthest-distance nodes 4 can be connected. It is possible to connect indirectly connected nodes 4 that are separated, for example, by a certain path length of, say, 2. Optional further processing can also be performed to add or remove edges 4, for example, to retain or remove clicks. Any other edge interference algorithm can be used. As a purely exemplary example, reference is made in this context to the publication "The Network Completion Problem: Inferring Missing Nodes and Edges in Networks" by M. Kim and J. Leskovec, proceedings of the 2011 SIAM International Conference Data Mining, pages 47-58, 2011, ISBN 978-0-89871-992-5.

[0108] The final graph b and the associated final distance matrix 7 can also be used for visualization purposes. For example, the final graph 6 can be plotted on a computer screen using any graph layout technique. Such visualizations can be either static or interactive, with clicking on a node 4 or an edge 5 highlighting their properties and / or adapting the layout to one suitable for displaying the selected information.

[0109] The steps of the exemplary embodiment of the method according to the invention described above can be carried out using at least one computer. A computer program with program code means can be used which, when executed on at least one computer, cause that computer to perform the above steps. The use of a (private and / or public) cloud is also possible. A computer with a processor and a data storage device on which such a computer program is stored is one exemplary embodiment of a device according to the invention. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited non-patent literature

[0000] Geodesics in heat: A new approach to computing distance based on heat flow “by K. Crane et al., ACM Transactions on Graphics (TOG), Volume 32, Issue 5, Article No.: 152, Pages 1 - 11, https: / / doi.org / 10.1145 / 2516971.2516977

[0003] UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction", by L. McInnes et al., arXiv:1802.03426v3, 2020

[0004] Visualizing structure and transitions in high-dimensional biological data", Moon, KR, van Dijk, D., Wang, Z. et al. Nat, Biotechnol, 37, 1482-1492 (2019), https: / / doi.org / 10.1038 / s41587-019-0336-3

[0004] A Global Geometric Framework for Nonlinear Dimensionality Reduction“, J.B. Tennenbaum et al., Science, Vol. 290, Issue 5500, Seiten 2319-2323, 22 Dec 2000, DOI: 10.1126 / science.290.5500.2319

[0005] A class of graphgeodetic distances generalizing the shortest-path and the resistance distances“ von P. Chebotarev, Discrete Applied Mathematics 159 (2011) Seiten 295 - 302

[0103] The Network Completion Problem: Inferring Missing Nodes and Edges in Networks“ von M. Kim und J. Leskovec, proceedings of the 2011 SIAM International Conference Data Mining pages 47-58, 2011, ISBN 978-0-89871-992-5

[0107]

Claims

[1] Computer-implemented method for calculating, in particular, geodetic distances between data points (S), in which S1) receives an input data set (2) or receives a raw data set (1) and calculates an input data set (2) from it, S2) from the input data set (2) in particular by resampling several sub-input data sets (3) are created, wherein each sub-input data set (3) comprises a part of the data of the input data set (2), and at least some, preferably all, sub-input data sets (3) differ from each other, S3) for which a minimum spanning tree (MST) is constructed for each of the resulting sub-input data sets (3), S4) at least edges (5) of the obtained minimum spanning trees (MST) are aggregated and a final graph (6) is created based on the result of the aggregation, S5) optionally based on the final graph (6) for at least one pair of two nodes (4), in particular for several, preferably all pairs of two nodes (4), a graph distance, in particular as the shortest preferably weighted distance between the two nodes (4) of the respective pair, is calculated and in particular is considered to be the geodesic distance between the two nodes (4) of the respective pair. [2] Computer-implemented method according to claim 1, characterized by , that in step S1 an input data set (2) is received or computed which includes or is given by at least a distance matrix. [3] Computer-implemented method according to claim 2, characterized by, that the at least one distance matrix was or is calculated by calculating the distance between, in particular, all pairs of data points (S) contained in the raw data set (1) or a raw data set belonging to the input data set, preferably, wherein a distance metric selected from the group Euclidean distance, Mahalanobis distance, cosine similarity, Pearson correlation, edit distance, Hamming distance was or is used for the distance calculation between the data points (S). [4] Computer-implemented method according to any one of the preceding claims, characterized by , that in step S1 a raw data set (1) with data points (S) and associated properties is received, or that in step S1 an input data set (2) is received which was created based on such a raw data set (1), and / or that in step S1 a raw data set (1) with data points (S) is received, wherein each data point (S) is represented by a numeric vector which describes attributes of the data point (2), or that in step S1 an input data set (2) is received which was created based on such a raw data set (1), and / or that in step S1 a raw data set (1) with data points (S) is received and numerical representations, in particular numerical vector representations, are first calculated for the data points (S) and the input data set (2) is calculated using the numerical representations of the data points (S), or that in step S1 an input data set (2) is received which was created on the basis of such a raw data set (1). [5] Computer-implemented method according to any one of the preceding claims, characterized bypreferably, that in step S1 a raw data set (1) is received which comprises sensor data acquired by means of at least one measuring device, in particular by means of at least one 3D camera or at least one 3D scanner or at least one LIDAR system, or is derived from such sensor data, wherein the raw data set comprises point cloud data, or that in step S1 an input data set (2) is received which was created on the basis of such a raw data set (1), preferably, wherein a property of an object and / or a person measured by means of the measuring device is inferred on the basis of the final graph (6) created in step S4 and / or on the basis of the at least one graph distance calculated in step S5. [6] Computer-implemented method according to any one of the preceding claims, characterized by, that in step S1 a raw data set (1) is received which includes or is provided by image data, in particular medical image data, and / or satellite image data and / or bioinformatic data and / or data from the field of computer vision and / or text and / or one or more molecular and / or chemical structures and / or genetic data and / or single cell data, or that in step S1 an input data set (2) is received which was created on the basis of such a raw data set (1). [7] Computer-implemented method according to any one of the preceding claims, characterized by , that in step S2, to obtain the sub-input data records (3), a preferably equally large, predetermined percentage share of data is taken from the input data record (2), and / or that in step S2, to obtain the sub-input data records (3), a randomly selected portion of data is taken from the input data record (2), and / or that in step S2, to obtain the sub-input data records (3), nodes (4) and / or edges (5) contained in the input data record are extracted as data, and / or that in step S2, to obtain the sub-input data records (3), at least a part of the nodes (4) contained in the input data record (2) are removed or excluded based on calculated properties, in particular a centrality measure. [8] Computer-implemented method according to any one of the preceding claims, characterized by, that in step S3 the resulting sub-input data sets (3) are each first converted into a fully connected graph and then the minimum spanning trees (MST) are constructed, and / or a minimum spanning tree is constructed for the input data set, in particular, where the minimum spanning tree constructed for the input data set is combined with the minimum spanning trees (MST) constructed for the sub-input data sets (3). [9] Computer-implemented method according to any one of the preceding claims, characterized by , that the construction of the minimum spanning trees (MST) in step S3 is carried out using parallel computing on one or more computing devices, in particular on one or more CPUs and / or on one or more GPUs. [10] Computer-implemented method according to any one of the preceding claims, characterized by, that in step S3 for each of the minimum spanning trees (MST) an associated adjacency matrix, in particular an adjacency matrix for the connected nodes (4) of the respective minimum spanning tree (MST), is created. [11] Computer-implemented method according to claim 10, characterized by , that the aggregation of at least edges (5) of the minimum spanning trees (MST) according to step S4 is carried out or includes aggregating the adjacency matrices belonging to the minimum spanning trees (MST) and obtaining an aggregated adjacency matrix. [12] Computer-implemented method according to claim 2 or any one of claims 3 to 11, insofar as it refers back to claim 2, characterized by , that each edge (5) in the final graph (6) is assigned a weight based on the distance matrix of the input data set (2). [13] Computer-implemented method according to any one of the preceding claims, characterized by, that the final graph (6) obtained in step S4 is transformed into a manifold, and / or represents an underlying structure, in particular of the input data set.. [14] Computer-implemented method according to any one of the preceding claims, characterized by , that in step S5 a final distance matrix (7) is created for the final graph (6), preferably by calculating the graph distance for one or more, in particular all pairs of nodes (4), in particular as the shortest weighted distance between the two nodes (4) of the respective pair. [15] Computer-implemented method according to any one of the preceding claims, characterized by, that the final graph (6) obtained in step S4 and / or the at least one graph distance calculated in step S5 are stored on at least one data storage device, in particular, wherein the stored final graph (6) and / or the at least one stored graph distance are called up at least once for further use. [16] Computer-implemented method according to any one of the preceding claims, characterized by , that the final graph (6) obtained in step S4 is displayed in a visualization tool. [17] Computer program comprising program code means which, when executed on at least one computer, cause the at least one computer to perform the steps of the method according to any one of claims 1 to 16. [18] Computer-readable medium comprising instructions which, when executed on at least one computer, cause the at least one computer to perform the steps of the method according to any one of claims 1 to 16. [19] Device for carrying out the computer-implemented method according to any one of claims 1 to 16, comprising a processor and a data storage device on which the computer program according to claim 17 is stored.