A community discovery method and device based on mobile trajectory
By clustering and merging trajectory points, Gaussian embedding representation is calculated to perform community division, which solves the problem of low accuracy of community discovery in the prior art, improves the accuracy and rationality of community division, and captures the dynamic changes in crowd movement.
Patent Information
- Application Number
- CN202411530328.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2044-10-30
AI Technical Summary
The existing community discovery method has the problem of low accuracy, and it cannot effectively capture the dynamic changes of the interactive network, and ignores the semantic information behind the phenomenon of starting point aggregation and end point aggregation of crowd movement.
By obtaining the historical trajectory points of multiple target vehicles, clustering into starting clusters and end clusters, calculating the time and space overlap, merging the clusters, and computing the Gaussian embedding representation to build the objective function, and finally performing community division based on the Gaussian embedding representation.
The accuracy of the results of community division is improved, the time and space connections of crowd movement are taken into account, uncertainty is estimated, and the connection relationship between merged clusters is discovered, which enhances the rationality and accuracy of community division.
Smart Images

Figure CN119046714B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of community discovery, and in particular to a community discovery method and device based on mobile trajectories. Background Art
[0002] With the continuous advancement of new urbanization, a large number of people have poured into cities, and the movement of people between urban areas has become more frequent. The origin-destination flow (OD flow) formed by urban crowd travel is staggered and jointly produces a complex interaction network. Since the movement of urban crowds has behavioral continuity and evolutionary regularity, the spatiotemporal flow formed by crowd movement has spatiotemporal coupling and spatiotemporal dependence. Urban areas interconnected by these spatiotemporal flows show a certain spatiotemporal interaction aggregation pattern, forming a spatiotemporal community structure in the interaction network. As a spatiotemporal interaction analysis method, spatiotemporal community discovery helps to recognize and understand the dynamic structure of urban crowd movement groups and the potential laws of urban regional interaction, and provide decision-making information for real-world applications such as urban planning and renewal, urban transportation system control and facility allocation.
[0003] The study of spatiotemporal community discovery first needs to construct an interaction network. Most existing studies map the OD flow to different pre-divided grids or traffic zones according to the geographical locations of the departure and destination of the flow, and then use the grids or traffic zones as nodes and the interaction volume between grids or traffic zones as the weight of the edge between nodes to construct an interaction network based on the grid or traffic zone. Some other studies match the OD flow to existing parking spaces (such as shared bicycle parking spaces, parking piles, etc.), and then use the parking spaces as nodes and the interaction volume between parking spaces as the weight of the edge between nodes to construct an urban interaction based on parking spaces. The above methods all assign the starting point and end point of crowd movement to fixed unit nodes such as grids, traffic zones or parking spaces from the perspective of spatial regions, which breaks the possible continuity between unit nodes and ignores the semantic information implicit behind the phenomenon of starting point aggregation and end point aggregation of crowd movement.
[0004] Existing community discovery methods are mainly divided into static community discovery and dynamic community discovery. Compared with dynamic community discovery, static community discovery does not consider the calculation of time dimension features. Existing dynamic community discovery methods are mainly divided into four types: independent community discovery algorithm, incremental community discovery algorithm, synchronous community discovery algorithm and dynamic community discovery algorithm based on temporal network. The independent community discovery algorithm first constructs the interaction network according to the time slice, and then performs community discovery on the interaction network of each time slice respectively, and then uses the similarity index to match the communities on different time slices, and then analyzes the dynamic evolution process of the community. The incremental community discovery algorithm first constructs the interaction network based on the time slice, and then performs community discovery on the interaction network of the first time slice, and then based on the community discovery result of the current time slice, locally modifies the part where the node or edge changes in the next time slice, and obtains the community division result of the next time slice, and repeats the above steps until the community discovery of all time slices is completed. The synchronous community discovery algorithm first constructs an interaction network based on time slices, then couples the interaction networks of multiple time slices into an overall network by adding edges between the interaction networks of consecutive time slices, and finally performs community discovery based on the interaction networks of all time slices at the same time. The community discovery algorithm based on temporal networks does not need to perform time slicing operations on the interaction network. Instead, it locally corrects the community affiliation of the node each time the node or edge of the interaction network changes, thereby generating a series of dynamic community structures. The first three methods mentioned above all require the construction of an interaction network based on time slices, which may lead to problems such as low temporal resolution and discontinuous community discovery results in the community discovery results, and cannot capture the dynamic changes of the interaction network well; while the community discovery algorithm based on temporal networks pays more attention to the local community division results and may ignore the overall structural characteristics of the interaction network.
[0005] It can be seen that the existing community discovery methods have the problem of low accuracy of community discovery. Summary of the invention
[0006] The present application provides a community discovery method and device based on mobile trajectories, which can solve the problem of low accuracy of community discovery.
[0007] In a first aspect, an embodiment of the present application provides a community discovery method based on mobile trajectories, the community discovery method comprising:
[0008] Obtaining the trajectory points of multiple target vehicles at multiple historical moments and the position of each trajectory point, and obtaining the starting trajectory point and the ending trajectory point of multiple moving trajectories according to the historical moment corresponding to each trajectory point;
[0009] Clustering all the starting trajectory points based on the positions of all the starting trajectory points to obtain a plurality of starting clusters, and clustering all the ending trajectory points based on the positions of all the ending trajectory points to obtain a plurality of ending clusters;
[0010] For each starting cluster, the temporal overlap and spatial overlap between the starting cluster and each terminal cluster are calculated respectively, and based on all the temporal overlaps and all the spatial overlaps, multiple overlapping clusters are determined from all the terminal clusters and a target overlapping cluster is determined from all the overlapping clusters, and the starting cluster and the target overlapping cluster are merged to obtain a merged cluster; the temporal overlap corresponding to the overlapping clusters is greater than or equal to the temporal overlap threshold, and the corresponding spatial overlap is greater than or equal to the spatial overlap threshold, and the distance between the target overlapping cluster and the starting cluster is less than the distance between all other overlapping clusters and the starting cluster;
[0011] According to the moving trajectories corresponding to all the starting trajectory points and the moving trajectories corresponding to all the ending trajectory points in each merged cluster, the connection weight between each two merged clusters is calculated;
[0012] According to the positions of all starting trajectory points and all ending trajectory points in each merged cluster, the Gaussian embedding representation of each merged cluster is calculated, and the objective function is constructed based on all connection weights and all Gaussian embedding representations; the Gaussian embedding representation is used to describe the Gaussian distribution of the merged cluster in time and space, and the objective function is used to describe the accuracy of all Gaussian embedding representations;
[0013] Solve the objective function to obtain the final Gaussian embedding representation of each merged cluster;
[0014] All merged clusters are clustered based on all final Gaussian embedding representations to obtain multiple community partitioning results; the community partitioning results are used to describe all starting trajectory points and all ending trajectory points belonging to the same community.
[0015] In a second aspect, an embodiment of the present application provides a community discovery device based on mobile trajectories, including:
[0016] An acquisition module is used to acquire the trajectory points of multiple target vehicles at multiple historical moments and the position of each trajectory point, and obtain the starting trajectory point and the ending trajectory point of multiple moving trajectories according to the historical moment corresponding to each trajectory point;
[0017] A first clustering module clusters all starting trajectory points based on the positions of all starting trajectory points to obtain a plurality of starting clusters, and clusters all ending trajectory points based on the positions of all ending trajectory points to obtain a plurality of ending clusters;
[0018] A determination module calculates the temporal overlap and spatial overlap between the starting cluster and each terminal cluster for each starting cluster, and determines multiple overlapping clusters from all terminal clusters according to all temporal overlaps and all spatial overlaps, and determines a target overlapping cluster from all overlapping clusters, and merges the starting cluster with the target overlapping cluster to obtain a merged cluster; the temporal overlap corresponding to the overlapping clusters is greater than or equal to a temporal overlap threshold, and the corresponding spatial overlap is greater than or equal to a spatial overlap threshold, and the distance between the target overlapping cluster and the starting cluster is less than the distance between all other overlapping clusters and the starting cluster;
[0019] A calculation module, calculating the connection weight between each two merged clusters according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories corresponding to all the ending trajectory points in each merged cluster;
[0020] The construction module calculates the Gaussian embedding representation of each merged cluster according to the positions of all starting trajectory points and all ending trajectory points in each merged cluster, and constructs the objective function based on all connection weights and all Gaussian embedding representations; the Gaussian embedding representation is used to describe the Gaussian distribution of the merged cluster in time and space, and the objective function is used to describe the accuracy of all Gaussian embedding representations;
[0021] The solution module solves the objective function and obtains the final Gaussian embedding representation of each merged cluster;
[0022] The second clustering module clusters all merged clusters based on all final Gaussian embedding representations to obtain multiple community partitioning results; the community partitioning results are used to describe all starting trajectory points and all ending trajectory points belonging to the same community.
[0023] In a third aspect, an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned community discovery method based on mobile trajectories when executing the above-mentioned computer program.
[0024] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned community discovery method based on mobile trajectories is implemented.
[0025] The above solution of the present application has the following beneficial effects:
[0026] In an embodiment of the present application, all starting trajectory points are clustered based on the positions of all starting trajectory points to obtain multiple starting clusters, and all terminal trajectory points are clustered based on the positions of all terminal trajectory points to obtain multiple terminal clusters, and then for each starting cluster, the time overlap and spatial overlap between the starting cluster and each terminal cluster are calculated respectively, and based on all time overlaps and all spatial overlaps, multiple overlapping clusters are determined from all terminal clusters and a target overlapping cluster is determined from all overlapping clusters, the starting cluster is merged with the target overlapping cluster to obtain a merged cluster, and then the connection weight between each two merged clusters is calculated based on the movement trajectories corresponding to all starting trajectory points in each merged cluster and the movement trajectories corresponding to all terminal trajectory points, and then the Gaussian embedding representation of each merged cluster is calculated based on the positions of all starting trajectory points and all terminal trajectory points in each merged cluster, and the objective function is constructed based on all connection weights and all Gaussian embedding representations, and then the objective function is solved to obtain the final Gaussian embedding representation of each merged cluster, and finally all merged clusters are clustered based on all final Gaussian embedding representations to obtain multiple community division results. Among them, the starting cluster and the ending cluster are merged by calculating the time overlap and space overlap, taking into account the connection between the starting trajectory point and the ending trajectory point in time and space, improving the rationality and accuracy of the merged cluster, and calculating the connection weights and Gaussian embedding representation between the merged clusters. It can estimate the uncertainty of crowd movement and discover the connection relationship between the merged clusters, thereby improving the accuracy of the community division results.
[0027] Other beneficial effects of the present application will be described in detail in the subsequent specific implementation section. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0029] Figure 1 A flow chart of a community discovery method based on mobile trajectories provided in an embodiment of the present application;
[0030] Figure 2 A schematic diagram of a movement trajectory provided by an embodiment of the present application;
[0031] Figure 3 A schematic diagram of reachable distance provided in an embodiment of the present application;
[0032] Figure 4 A schematic diagram of clustering results of movement trajectories provided in an embodiment of the present application;
[0033] Figure 5 A schematic diagram of community division results provided in an embodiment of the present application;
[0034] Figure 6 A schematic diagram of the structure of a community discovery device based on mobile trajectories provided in an embodiment of the present application;
[0035] Figure 7 A schematic diagram of the structure of a terminal device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0036] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.
[0037] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.
[0038] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0039] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.
[0040] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0041] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0042] In order to solve the problem of low accuracy of existing community discovery, the present application provides a community discovery method based on mobile trajectory, which obtains multiple starting clusters by clustering all starting trajectory points based on the positions of all starting trajectory points, and obtains multiple terminal clusters by clustering all terminal trajectory points based on the positions of all terminal trajectory points, and then respectively calculates the time overlap and spatial overlap between the starting cluster and each terminal cluster for each starting cluster, and determines multiple overlapping clusters from all terminal clusters according to all time overlaps and all spatial overlaps, and determines the target overlapping cluster from all overlapping clusters, and clusters the starting clusters into the target overlapping cluster. The cluster is merged with the target overlapping cluster to obtain a merged cluster. Then, according to the moving trajectories corresponding to all the starting trajectory points and the moving trajectories corresponding to all the terminal trajectory points in each merged cluster, the connection weight between each two merged clusters is calculated. Then, according to the positions of all the starting trajectory points and the positions of all the terminal trajectory points in each merged cluster, the Gaussian embedding representation of each merged cluster is calculated. The objective function is constructed based on all the connection weights and all the Gaussian embedding representations, and then the objective function is solved to obtain the final Gaussian embedding representation of each merged cluster. Finally, all the merged clusters are clustered based on all the final Gaussian embedding representations to obtain multiple community division results. Among them, by calculating the time overlap and space overlap and then merging the starting cluster and the terminal cluster, the connection between the starting trajectory points and the terminal trajectory points in both time and space is considered to improve the rationality and accuracy of the merged cluster. The connection weight and Gaussian embedding representation between the merged clusters are calculated to estimate the uncertainty of crowd movement, and to find the connection relationship between the merged clusters, so as to improve the accuracy of the community division results.
[0043] Next, the community discovery method based on mobile trajectories provided in this application is exemplified.
[0044] like Figure 1 As shown, the community discovery method based on mobile trajectory provided by this application includes the following steps:
[0045] Step 11, obtaining the trajectory points of multiple target vehicles at multiple historical moments and the position of each trajectory point, and obtaining the starting trajectory point and the ending trajectory point of multiple moving trajectories according to the historical moment corresponding to each trajectory point.
[0046] The target vehicles are vehicles in the area where community discovery is required.
[0047] In some embodiments of the present application, the trajectory points of the target vehicle at multiple historical moments and the position of each trajectory point can be obtained by using a global positioning system or the like. The position of the trajectory point is a coordinate in a two-dimensional coordinate system. The origin of the two-dimensional coordinate system is a point on the ground plane in the area where community discovery is required, such as the center point of the area. The above steps of obtaining the starting trajectory point and the ending trajectory point of multiple moving trajectories according to the historical moment corresponding to each trajectory point are specifically as follows:
[0048] For each target vehicle, perform the following steps:
[0049] The first historical moment is taken as the target historical moment, and it is determined whether the time difference between the next historical moment of the target historical moment and the target historical moment is less than or equal to the time difference threshold.
[0050] If the time difference between the next historical moment of the target historical moment and the target historical moment is less than or equal to the time difference threshold, the trajectory point of the target vehicle at the target historical moment is used as the starting trajectory point of a moving trajectory, and the trajectory point of the target vehicle at the next historical moment is used as the ending trajectory point of the moving trajectory, and it is determined whether the next historical moment is the last historical moment.
[0051] If the next historical moment is not the last historical moment, the next historical moment is used as the target historical moment, and the process returns to the step of determining whether the time difference between the next historical moment of the target historical moment and the target historical moment is less than the time difference threshold.
[0052] If the next historical moment is the last historical moment, the trajectory point of the target vehicle at the next historical moment is marked as the starting trajectory point.
[0053] If the time difference between the next historical moment of the target historical moment and the target historical moment is greater than the time difference threshold, and the trajectory point of the target vehicle at the target historical moment has not been marked, then the trajectory point of the target vehicle at the target historical moment is marked as the end trajectory point, the next historical moment is taken as the target historical moment, and the step of determining whether the time difference between the next historical moment of the target historical moment and the target historical moment is less than the time difference threshold is returned.
[0054] It should be noted that when performing this step, if the target historical moment is the last historical moment, the trajectory point corresponding to the target historical moment is used as a starting trajectory point, and this step ends. In the above process of marking the trajectory point of the target vehicle at the target historical moment as the end trajectory point and taking the next historical moment as the target historical moment, if the time difference between the next historical moment of the target historical moment and the target historical moment is greater than the time difference threshold, and the trajectory point of the target vehicle at the target historical moment has not been marked, then the trajectory point of the target vehicle at the target historical moment is marked as the end trajectory point, and the next historical moment is taken as the target historical moment, if the time difference between the next historical moment of the target historical moment and the target historical moment is greater than the time difference threshold, but the trajectory point of the target vehicle at the target historical moment has been marked, then the trajectory point is not processed, and the next historical moment is directly taken as the target historical moment.
[0055] Exemplarily, the historical moments corresponding to the three trajectory points are 3:15, 3:30, and 4:00, respectively, and the time difference threshold is 20 minutes. The time difference between the first trajectory point and the second trajectory point is 15 minutes, which is less than 20 minutes. In this case, the first trajectory point is used as the starting trajectory point of a moving trajectory, and the second trajectory point is used as the ending trajectory point of the moving trajectory. The time difference between the second trajectory point and the third trajectory point is 30 minutes, which is greater than 20 minutes. Since the second trajectory point has been used as the ending trajectory point of the moving trajectory, the second trajectory point is not processed, and 4:00 is the last historical moment, so the third trajectory point is marked as a starting trajectory point.
[0056] It is worth mentioning that obtaining the starting trajectory point and the ending trajectory point of the moving trajectory according to the time difference between consecutive trajectory points can improve the accuracy of dividing the starting trajectory point and the ending trajectory point and avoid missing trajectory points.
[0057] The above movement trajectory is exemplarily described below with reference to a specific example.
[0058] The movement trajectory of the study area is as follows Figure 2 As shown, the black straight line represents the movement trajectory (OD flow), the squares represent the grid areas divided in the study area, and the scale is 1 cm: 10 km.
[0059] Step 12: clustering all the starting trajectory points based on the positions of all the starting trajectory points to obtain a plurality of starting clusters, and clustering all the ending trajectory points based on the positions of all the ending trajectory points to obtain a plurality of ending clusters.
[0060] It should be noted that the above steps of clustering all starting trajectory points based on the positions of all starting trajectory points to obtain multiple starting clusters are specifically as follows:
[0061] In the first step, based on the positions of all starting trajectory points, the core space distance of each starting trajectory point is calculated.
[0062] Specifically, through the formula:
[0063]
[0064] Calculate the The core space distance of the starting trajectory point .
[0065] in, Indicates position and The distance between the positions of the starting trajectory points is less than the spatial distance threshold, and the corresponding historical moment is The set of starting trajectory points whose distances between historical moments corresponding to the starting trajectory points are less than the time distance threshold, represents the threshold of the number of trajectory points, express Middle distance The starting track point Near the starting point, Indicates The position of the starting trajectory point The distance between the locations, , represents the number of starting trajectory points, Indicates that no value is assigned. The value can be set according to the actual situation.
[0066] It should be noted that the distance between the positions of two trajectory points is the Euclidean distance, and the distance between the historical moments of two trajectory points is the absolute time difference.
[0067] For example, the spatial distance threshold may be 500 meters, 300 meters, etc., the temporal distance threshold may be 10 minutes, 30 minutes, etc., and the trajectory point quantity threshold may be 5, 10, etc.
[0068] In the second step, for each starting trajectory point, the reachable distance of the starting trajectory point is calculated based on the core space distance of the starting trajectory point.
[0069] Specifically, through the formula:
[0070] ;
[0071] Calculate the The starting point and the The reachable distance between the starting trajectory points .
[0072] in, .
[0073] In the third step, all the starting trajectory points are clustered according to their reachable distances to obtain multiple starting clusters.
[0074] It should be noted that the density-based clustering algorithm (OPTICS, Ordering points to identify the clustering structure) can be used to cluster all the starting trajectory points. The starting trajectory point of is taken as the core space-time point (i.e., the cluster center), and the starting trajectory point whose distance from the historical moment of the core space point is less than the time distance threshold and whose distance from the position of the core space point is less than the space distance threshold is taken as the density direct space-time point of the core space-time point.
[0075] Exemplarily, when using the OPTICS algorithm to cluster all starting points, first, the first and second steps in the above method are used to calculate the reachable distances of all starting points (i.e., starting trajectory points); then, the starting points are sorted from small to large according to the reachable distances, and a starting point order-reachable distance line graph is drawn; then, a spatial distance threshold is determined based on the reachable distance distribution, and the spatial distance threshold divides the starting point number-reachable distance line graph into two parts, an upper and lower part; finally, the starting points in each groove in the lower half of the starting point number-reachable distance line graph are clustered into one category, and the upper half is defined as an outlier.
[0076] In some embodiments of the present application, the step of clustering all the terminal trajectory points based on the positions of all the terminal trajectory points to obtain multiple terminal clusters is the same as the step of obtaining the starting cluster, that is, based on the positions of all the terminal trajectory points, the core space distance of each terminal trajectory point is calculated, and then for each terminal trajectory point, based on the core space distance of the terminal trajectory point, the reachable distance of the terminal trajectory point is calculated, and finally, according to the reachable distances of all the terminal trajectory points, all the terminal trajectory points are clustered to obtain multiple terminal clusters.
[0077] It is worth mentioning that clustering based on the location of trajectory points takes into account the spatial distribution of trajectory points, which improves the accuracy and rationality of clustering.
[0078] The above-mentioned reachable distance is exemplarily described below with reference to a specific example.
[0079] like Figure 3 As shown, Figure 3 The horizontal axis represents the sequence number of the trajectory points sorted by reachable distance, and the vertical axis represents the reachable distance corresponding to the trajectory points. In this embodiment, the time distance threshold is 600 seconds, and the trajectory point number threshold is 3. Figure 3 (a) is the reachable distance diagram of the starting trajectory point, Figure 3(b) Represents the reachable distance graph of the endpoint trajectory point.
[0080] Clustering is performed based on the reachable distance and the movement trajectories between the starting cluster and the end cluster are represented. After all the movement trajectories between the starting cluster and the end cluster are obtained, a flow threshold is given. If the number of movement trajectories between the starting cluster and the end cluster is less than the flow threshold, the movement trajectories between the starting cluster and the end cluster are eliminated. The final movement trajectory clustering result is as follows: Figure 4 As shown, the horizontal axis in the figure represents the horizontal coordinate (X coordinate), the vertical axis represents the vertical coordinate (Y coordinate), the unit is meter, the vertical axis represents time, and the straight line in the figure represents the space-time flow (ie, the moving trajectory).
[0081] Step 13, for each starting cluster, calculate the time overlap and space overlap between the starting cluster and each end cluster respectively, and determine multiple overlapping clusters from all end clusters based on all time overlaps and all space overlaps and determine a target overlapping cluster from all overlapping clusters, merge the starting cluster with the target overlapping cluster to obtain a merged cluster.
[0082] The temporal overlap corresponding to the above overlapping clusters is greater than or equal to the temporal overlap threshold, and the corresponding spatial overlap is greater than or equal to the spatial overlap threshold. The distance between the target overlapping cluster and the starting cluster is less than the distance between all other overlapping clusters and the starting cluster. The above distance is the spatial Euclidean distance between cluster centers, and the formula is:
[0083] ;
[0084]
[0085]
[0086] Where r is the average radius of the Earth, and Cluster and The average latitude of and Cluster and The mean longitude of represents the longitude difference, Indicates the latitude difference.
[0087] Specifically, through the formula:
[0088]
[0089] Calculate the Starting cluster and End point cluster The time overlap between .
[0090] in, Indicates Starting cluster The time range of all historical moments corresponding to the starting trajectory points in is composed of, Indicates End point cluster The time range of all historical moments corresponding to the terminal trajectory points in is composed of, , represents the number of starting clusters, , Indicates the number of endpoint clusters.
[0091] By formula:
[0092]
[0093] Calculate the Starting cluster and End point cluster The spatial overlap between .
[0094] in, Indicates The spatial range formed by the positions of all starting trajectory points in the starting cluster is Indicates The spatial range formed by the positions of all endpoint trajectory points in the endpoint cluster.
[0095] It should be noted that the above time range is the historical moment with the smallest time to the historical moment with the largest time among the historical moments corresponding to all trajectory points in the cluster. For example, if the historical moments corresponding to the starting trajectory points in the starting cluster are 3:15, 4:00, and 5:13, respectively, then the time range of the starting cluster is 3:15 to 5:13. The spatial range is the rectangular area formed by the minimum coordinate and the maximum coordinate of the positions of all trajectory points in the cluster. For example, if the positions of all starting trajectory points in the starting cluster are (3,1), (4,5), and (3,4), respectively, then the spatial range is the rectangular area formed by the coordinates (3,1) and (3,4).
[0096] Exemplarily, the spatial overlap between the starting cluster and the three terminal clusters is 0.5, 0.2, and 0.6, respectively, and the temporal overlap is 0.4, 0.1, and 0.5, respectively. The temporal overlap threshold is 0.3, and the spatial overlap is 0.3. Then the overlapping clusters of the starting cluster are the first terminal cluster and the third terminal cluster, and the distance between the starting cluster and the first terminal cluster is 0.59, and the distance between the starting cluster and the third terminal cluster is 0.39. Then the third terminal cluster is the target terminal cluster.
[0097] In some embodiments of the present application, the above-mentioned step of merging the starting cluster with the target overlapping cluster to obtain a merged cluster is to take all the starting trajectory points in the starting cluster and all the ending trajectory points in the target overlapping cluster as a new point cluster to obtain a merged cluster, and delete the original starting cluster and target overlapping cluster.
[0098] It is worth mentioning that by calculating the time overlap and space overlap and then merging the start cluster and the end cluster, the connection between the start trajectory point and the end trajectory point in both time and space is taken into account, which improves the rationality and accuracy of the merged cluster.
[0099] Step 14, calculating the connection weight between every two merged clusters according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories corresponding to all the ending trajectory points in each merged cluster.
[0100] In some embodiments of the present application, the step of calculating the connection weight between each two merged clusters according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories corresponding to all the ending trajectory points in each merged cluster is specifically as follows:
[0101] In the first step, for each merged cluster, each starting trajectory point in the merged cluster is traversed. If the terminal trajectory point corresponding to the moving trajectory of the starting trajectory point belongs to other merged clusters, the moving trajectory corresponding to the starting trajectory point is used as a starting trip between the merged cluster and the other merged clusters. Each terminal trajectory point in the merged cluster is traversed. If the starting trajectory point corresponding to the moving trajectory of the terminal trajectory point belongs to other merged clusters, the moving trajectory corresponding to the terminal trajectory point is used as a terminal trip between the merged cluster and the other merged clusters.
[0102] In the second step, based on all the starting trips and all the ending trips between each two merged clusters, the first-order weight and the second-order weight between each two merged clusters are calculated.
[0103] Specifically, through the formula:
[0104]
[0105] Calculate the The merged clusters and The first-order weights between the merged clusters .
[0106] in, Indicates The merged clusters and The first The duration of the trip, Indicates The merged clusters and The longest time taken for all starting trips and all ending trips between the merged clusters, Indicates The merged clusters and The sum of the number of starting trips and the number of ending trips between the merged clusters, , , Indicates the number of merged clusters.
[0107] By formula:
[0108]
[0109]
[0110] Calculate the The merged clusters and The second-order weights between the merged clusters .
[0111] in, Indicates There is a set of merged clusters with starting trips or ending trips between merged clusters. Indicates There is a set of merged clusters with starting trips or ending trips between merged clusters. Indicates The merged clusters and The similarity between the merged clusters, express and The similarity between Indicates all There is a merged cluster with the starting stroke between the merged clusters. vectors between merged clusters, Indicates all There is a merged cluster with the terminal trip between the merged clusters. vectors between merged clusters, Indicates all There is a merged cluster with the starting stroke between the merged clusters. vectors between merged clusters, Indicates all There is a merged cluster with the terminal trip between the merged clusters. The vector between the merged clusters.
[0112] The third step is to equally add the first-order weight and the second-order weight between every two merged clusters to obtain the connection weight between every two merged clusters.
[0113] It should be noted that after calculating the connection weights, an interaction network for community discovery can be constructed. In the interaction network, multiple nodes correspond one-to-one to multiple merged clusters. The edge between two nodes is the trip connection relationship between the merged clusters, and the weight of the edge is the connection weight.
[0114] Exemplarily, the above steps can be run using computer software such as matlab, python, etc. to obtain the connection weight between the two merged clusters.
[0115] It is worth mentioning that by determining the starting and ending trips between the merged clusters, the travel relationship between the two merged clusters can be obtained. The first-order weight and second-order weight are calculated based on the travel relationship between the merged clusters, and the association between the merged clusters can be analyzed in detail.
[0116] Step 15, according to the positions of all starting trajectory points and all ending trajectory points in each merged cluster, the Gaussian embedding representation of each merged cluster is calculated, and the objective function is constructed based on all connection weights and all Gaussian embedding representations.
[0117] The above Gaussian embedding representation is used to describe the Gaussian distribution of the merged clusters in time and space, and the objective function is used to describe the accuracy of all Gaussian embedding representations.
[0118] Specifically, through the formula:
[0119]
[0120]
[0121] Calculate the Gaussian embedding representation of the merged clusters .
[0122] in, Indicates The first embedding representation of the merged clusters is Indicates The second embedding representation of the merged clusters is , represents the number of merged clusters, represents the first weight matrix, represents the first bias vector, represents the weight matrix of the second embedding representation, represents the second bias vector, represents the exponential linear unit activation function, Represents the intermediate vector:
[0123]
[0124] in, represents the weight matrix, represents the bias vector, Indicated by A three-dimensional vector consisting of the normalized mean value of the horizontal coordinate, the normalized mean value of the vertical coordinate, and the normalized time attribute of the merged clusters.
[0125] The above objective function is:
[0126]
[0127] in, represents the value of the objective function, Indicates The merged clusters and The connection weights between the merged clusters, , , represents the set of connection relationships between all merged clusters, Indicates The merged clusters and The joint probability between the merged clusters:
[0128]
[0129]
[0130] in, represents the intermediate parameter, Indicates The Gaussian embedding of the merged clusters represents the The KL divergence of the Gaussian embedding representation of the merged clusters, Indicates The Gaussian embedding of the merged clusters represents the KL divergence of the Gaussian embedding representations of the merged clusters.
[0131] It should be noted that the above time attributes include the maximum value, minimum value and average value of the historical moments corresponding to all starting trajectory points and the historical moments corresponding to all ending trajectory points in the merged cluster.
[0132] Exemplarily, computer software such as matlab, python, etc. can be used to run the above calculation formula and construct the objective function.
[0133] It is worth mentioning that due to the dynamic changes and uncertainties in travel trajectories, by calculating Gaussian embedding representation, Gaussian can be used to represent the merged clusters in time and space respectively, thus realizing the estimation of uncertainty.
[0134] Step 16, solve the objective function to obtain the final Gaussian embedding representation of each merged cluster.
[0135] In some embodiments of the present application, the objective function may be optimized by using a negative sampling method to obtain a final objective function:
[0136]
[0137] in, Represents the noise distribution based on the probability distribution of negative nodes, satisfying , ,in represents the set of nodes in the network (i.e. the set of nodes in the interaction network mentioned above), represents the degree of node v, Indicates the number of negative sampling edges corresponding to each edge.
[0138] Multiple iterations can be performed in the form of forward propagation. Each iteration calculates the value of the objective function through the above objective function or the final objective function, and the Adam optimizer can be used to adjust the parameters in all the calculation formulas related to calculating the Gaussian embedding representation in the above text until the value of the objective function is less than the preset value, thereby obtaining the final Gaussian embedding representation of each merged cluster.
[0139] Step 17: Cluster all merged clusters based on all final Gaussian embedding representations to obtain multiple community division results.
[0140] The above community division results are used to describe all the starting trajectory points and all the terminal trajectory points belonging to the same community. The connection between the trajectory points within the community is relatively tighter than the connection between communities, while the connection between communities is relatively sparse. After obtaining the community division results, the community division results can be used to recognize and understand the dynamic structure of urban population movement groups and the potential laws of urban regional interaction, and provide decision-making information for real-world applications such as urban planning and renewal, urban transportation system management and facility allocation. For example, if it is believed that the population movement between two trajectory points in the same community is frequent, it is necessary to increase the traffic scale between the areas corresponding to the two trajectory points, such as increasing the frequency of buses.
[0141] In some embodiments of the present application, the K-Means algorithm can be used to cluster the final Gaussian embedding representations of all merged clusters, and the merged clusters corresponding to all final Gaussian embedding representations belonging to the same cluster in the clustering results are used as a community partition result.
[0142] Exemplarily, when the final Gaussian embedding representations of all merged clusters are clustered using the K-Means algorithm, first, according to the preset number of clusters K, the Gaussian embeddings of K merged clusters are randomly selected as the initial center points; then, for each Gaussian embedding of the merged cluster, its distance to all center points is calculated, and the distance metric is the mean of the above-mentioned bidirectional KL divergence, and the Gaussian embedding of each merged cluster is assigned to the cluster closest to it; then, for each cluster, the centroid of the cluster is recalculated, that is, the mean of all Gaussian distribution vectors in each dimension within the cluster; repeat the above two steps until the cluster center no longer changes significantly, and the obtained K clusters are the final K communities. If the community division result includes the first merged cluster and the third merged cluster, it is considered that all starting trajectory points and all end trajectory points in the first merged cluster and the third merged cluster belong to the same community.
[0143] The above community division results are illustrated below with reference to a specific example.
[0144] like Figure 5 As shown in the figure, the horizontal axis represents the horizontal coordinate (X coordinate), the vertical axis represents the vertical coordinate (Y coordinate), the unit is meter, the vertical axis represents time, the solid circles represent all trajectory points of community 59, the hollow circles represent all trajectory points of community 87, the solid squares represent all trajectory points of community 105, the hollow squares represent all trajectory points of community 115, the solid diamonds represent all trajectory points of community 24, the hollow diamonds represent all trajectory points of community 7, the cross points represent all trajectory points of community 55, and the cross points represent all trajectory points of community 12.
[0145] It is worth mentioning that by calculating the time overlap and space overlap and then merging the start cluster and the end cluster, the connection between the start trajectory point and the end trajectory point in time and space is taken into account, which improves the rationality and accuracy of the merged cluster. The connection weights and Gaussian embedding representation between the merged clusters are calculated, which can estimate the uncertainty of crowd movement and discover the connection relationship between the merged clusters, thereby improving the accuracy of the community division results.
[0146] The following is an exemplary description of the community discovery device based on mobile trajectory provided in the present application.
[0147] like Figure 6 As shown, the embodiment of the present application provides a community discovery device based on mobile trajectory, and the community discovery device based on mobile trajectory 600 includes:
[0148] The acquisition module 601 acquires the trajectory points of multiple target vehicles at multiple historical moments and the position of each trajectory point, and obtains the starting trajectory point and the ending trajectory point of multiple moving trajectories according to the historical moment corresponding to each trajectory point;
[0149] A first clustering module 602 clusters all the starting trajectory points based on the positions of all the starting trajectory points to obtain a plurality of starting clusters, and clusters all the ending trajectory points based on the positions of all the ending trajectory points to obtain a plurality of ending clusters;
[0150] The determination module 603 calculates the time overlap and space overlap between the starting cluster and each terminal cluster for each starting cluster, and determines multiple overlapping clusters from all terminal clusters according to all time overlaps and all space overlaps, and determines a target overlapping cluster from all overlapping clusters, and merges the starting cluster with the target overlapping cluster to obtain a merged cluster; the time overlap corresponding to the overlapping clusters is greater than or equal to the time overlap threshold, and the corresponding space overlap is greater than or equal to the space overlap threshold, and the distance between the target overlapping cluster and the starting cluster is less than the distance between all other overlapping clusters and the starting cluster;
[0151] A calculation module 604 calculates the connection weight between every two merged clusters according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories corresponding to all the ending trajectory points in each merged cluster;
[0152] A construction module 605 is used to calculate the Gaussian embedding representation of each merged cluster according to the positions of all starting trajectory points and all ending trajectory points in each merged cluster, and to construct an objective function based on all connection weights and all Gaussian embedding representations; the Gaussian embedding representation is used to describe the Gaussian distribution of the merged cluster in time and space, and the objective function is used to describe the accuracy of all Gaussian embedding representations;
[0153] A solution module 606 solves the objective function to obtain a final Gaussian embedding representation of each merged cluster;
[0154] The second clustering module 607 clusters all merged clusters based on all final Gaussian embedding representations to obtain multiple community division results; the community division results are used to describe all starting trajectory points and all ending trajectory points belonging to the same community.
[0155] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0156] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0157] like Figure 7 As shown, an embodiment of the present application provides a terminal device. The terminal device D10 of this embodiment includes: at least one processor D100 ( Figure 7 Only one processor is shown in the figure), a memory D101, and a computer program D102 stored in the memory D101 and executable on the at least one processor D100, wherein the processor D100 implements the steps of any of the above-mentioned method embodiments when executing the computer program D102.
[0158] Specifically, when the processor D100 executes the computer program D102, all the starting trajectory points are clustered based on the positions of all the starting trajectory points to obtain a plurality of starting clusters, and all the ending trajectory points are clustered based on the positions of all the ending trajectory points to obtain a plurality of ending clusters, and then for each starting cluster, the time overlap and space overlap between the starting cluster and each ending cluster are calculated, and according to all the time overlaps and all the space overlaps, a plurality of overlapping clusters are determined from all the ending clusters and a target overlapping cluster is determined from all the overlapping clusters, and the starting cluster is combined with the target overlapping cluster. Then, the connection weights between each two merged clusters are calculated according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories corresponding to all the terminal trajectory points in each merged cluster. Then, the Gaussian embedding representation of each merged cluster is calculated according to the positions of all the starting trajectory points and the positions of all the terminal trajectory points in each merged cluster. The objective function is constructed based on all the connection weights and all the Gaussian embedding representations, and then the objective function is solved to obtain the final Gaussian embedding representation of each merged cluster. Finally, all the merged clusters are clustered based on all the final Gaussian embedding representations to obtain multiple community division results. Among them, the time overlap and space overlap are calculated before the starting cluster and the terminal cluster are merged, and the connection between the starting trajectory points and the terminal trajectory points in time and space is considered to improve the rationality and accuracy of the merged cluster. The connection weights and Gaussian embedding representations between the merged clusters can be calculated to estimate the uncertainty of crowd movement, and the connection relationship between the merged clusters can be found to improve the accuracy of the community division results.
[0159] The processor D100 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0160] In some embodiments, the memory D101 may be an internal storage unit of the terminal device D10, such as a hard disk or memory of the terminal device D10. In other embodiments, the memory D101 may also be an external storage device of the terminal device D10, such as a plug-in hard disk, a smart memory card (SMC, SmartMedia Card), a secure digital (SD, Secure Digital) card, a flash card (Flash Card), etc. equipped on the terminal device D10. Further, the memory D101 may also include both an internal storage unit of the terminal device D10 and an external storage device. The memory D101 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program, etc. The memory D101 may also be used to temporarily store data that has been output or is to be output.
[0161] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.
[0162] An embodiment of the present application provides a computer program product. When the computer program product runs on a terminal device, the terminal device can implement the steps in the above-mentioned method embodiments when executing the computer program product.
[0163] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the community discovery method device / terminal device based on mobile trajectory, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.
[0164] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0165] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0166] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A community discovery method based on mobile trajectory, characterized in that: include: Acquire trajectory points of multiple target vehicles at multiple historical moments and the position of each trajectory point, and obtain the starting trajectory point and the ending trajectory point of multiple moving trajectories according to the historical moment corresponding to each of the trajectory points; Clustering all the starting trajectory points based on the positions of all the starting trajectory points to obtain a plurality of starting clusters, and clustering all the ending trajectory points based on the positions of all the ending trajectory points to obtain a plurality of ending clusters; For each of the starting clusters, respectively, the temporal overlap and spatial overlap between the starting cluster and each of the end clusters are calculated, and according to all the temporal overlaps and all the spatial overlaps, a plurality of overlapping clusters are determined from all the end clusters and a target overlapping cluster is determined from all the overlapping clusters, and the starting cluster is merged with the target overlapping cluster to obtain a merged cluster; The temporal overlap corresponding to the overlapping clusters is greater than or equal to a temporal overlap threshold, and the corresponding spatial overlap is greater than or equal to a spatial overlap threshold, and the distance between the target overlapping cluster and the starting cluster is less than the distance between all other overlapping clusters and the starting cluster; Calculating the connection weight between each two merged clusters according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories corresponding to all the ending trajectory points in each of the merged clusters; According to the positions of all starting trajectory points and all ending trajectory points in each merged cluster, a Gaussian embedding representation of each merged cluster is calculated, and an objective function is constructed based on all connection weights and all Gaussian embedding representations; the Gaussian embedding representation is used to describe the Gaussian distribution of the merged cluster in time and space, and the objective function is used to describe the accuracy of all Gaussian embedding representations; Solving the objective function to obtain a final Gaussian embedding representation of each of the merged clusters; All merged clusters are clustered based on all final Gaussian embedding representations to obtain multiple community partitioning results; the community partitioning results are used to describe all starting trajectory points and all ending trajectory points belonging to the same community.
2. The community discovery method according to claim 1, characterized in that: The step of obtaining the starting trajectory point and the ending trajectory point of the plurality of moving trajectories according to the historical moment corresponding to each trajectory point includes: For each target vehicle, perform the following steps: Taking the first historical moment as the target historical moment, determining whether the time difference between the next historical moment of the target historical moment and the target historical moment is less than or equal to a time difference threshold; If the time difference between the next historical moment of the target historical moment and the target historical moment is less than or equal to the time difference threshold, the trajectory point of the target vehicle at the target historical moment is used as the starting trajectory point of a moving trajectory, the trajectory point of the target vehicle at the next historical moment is used as the ending trajectory point of the moving trajectory, and it is determined whether the next historical moment is the last historical moment; If the next historical moment is not the last historical moment, taking the next historical moment as the target historical moment, and returning to the step of determining whether the time difference between the next historical moment of the target historical moment and the target historical moment is less than the time difference threshold; If the next historical moment is the last historical moment, marking the trajectory point of the target vehicle at the next historical moment as the starting trajectory point; If the time difference between the next historical moment of the target historical moment and the target historical moment is greater than the time difference threshold, and the trajectory point of the target vehicle at the target historical moment has not been marked, then the trajectory point of the target vehicle at the target historical moment is marked as the end trajectory point, the next historical moment is taken as the target historical moment, and the step of determining whether the time difference between the next historical moment of the target historical moment and the target historical moment is less than the time difference threshold is returned.
3. The community discovery method according to claim 1, characterized in that: The clustering of all the starting trajectory points based on the positions of all the starting trajectory points to obtain multiple starting clusters includes: Based on the positions of all the starting trajectory points, calculating the core space distance of each of the starting trajectory points; For each of the starting trajectory points, respectively, based on the core space distance of the starting trajectory point, calculating the reachable distance of the starting trajectory point; According to the reachable distances of all starting trajectory points, all starting trajectory points are clustered to obtain multiple starting clusters.
4. The community discovery method according to claim 3, characterized in that: The step of calculating the core space distance of each starting trajectory point based on the positions of all starting trajectory points includes: By formula: Calculate the The core space distance of the starting trajectory point ; in, Indicates the position and The distance between the positions of the starting trajectory points is less than the spatial distance threshold, and the corresponding historical moment is The set of starting trajectory points whose distances between historical moments corresponding to the starting trajectory points are less than the time distance threshold, represents the threshold of the number of trajectory points, express The middle distance The starting track point Near the starting point, Indicates the The position of the starting trajectory point The distance between the locations, , represents the number of starting trajectory points, Indicates no assignment; The calculating the reachable distance of the starting trajectory point based on the core space distance of the starting trajectory point includes: By formula: Calculate the The starting point and the The reachable distance between the starting trajectory points ; in, .
5. The community discovery method according to claim 1, characterized in that: The calculating of the temporal overlap and spatial overlap between the starting cluster and each of the end clusters includes: By formula: Calculate the Starting cluster and End point cluster The time overlap between ; in, Indicates the Starting cluster The time range of all historical moments corresponding to the starting trajectory points in is composed of, Indicates the End point cluster The time range of all historical moments corresponding to the terminal trajectory points in is composed of, , represents the number of starting clusters, , represents the number of endpoint clusters; By formula: Calculate the Starting cluster and End point cluster The spatial overlap between ; in, Indicates the The spatial range formed by the positions of all starting trajectory points in the starting cluster is Indicates the The spatial range formed by the positions of all endpoint trajectory points in the endpoint cluster.
6. The community discovery method according to claim 1, characterized in that: The step of calculating the connection weight between each two merged clusters according to the movement trajectories corresponding to all the starting trajectory points and the movement trajectories of all the ending trajectory points in each merged cluster comprises: For each of the merged clusters, traverse each starting trajectory point in the merged cluster, and if the ending trajectory point corresponding to the moving trajectory of the starting trajectory point belongs to other merged clusters, use the moving trajectory corresponding to the starting trajectory point as a starting trip between the merged cluster and the other merged clusters, and traverse each ending trajectory point in the merged cluster, and if the starting trajectory point corresponding to the moving trajectory of the ending trajectory point belongs to other merged clusters, use the moving trajectory corresponding to the ending trajectory point as a ending trip between the merged cluster and the other merged clusters; Based on all the starting trips and all the ending trips between every two merged clusters, the first-order weight and the second-order weight between every two merged clusters are calculated; The first-order weight and the second-order weight between every two merged clusters are equally weighted to obtain the connection weight between every two merged clusters.
7. The community discovery method according to claim 6, characterized in that: The first-order weight and the second-order weight between each two merged clusters are calculated based on all the starting trips and all the ending trips between each two merged clusters, including: By formula: Calculate the The merged clusters and The first-order weights between the merged clusters ; in, Indicates the The merged clusters and The first The duration of the trip, Indicates the The merged clusters and The longest time taken for all starting trips and all ending trips between the merged clusters, Indicates the The merged clusters and The sum of the number of starting trips and the number of ending trips between the merged clusters, , , Indicates the number of merged clusters; By formula: Calculate the The merged clusters and The second-order weights between the merged clusters ; in, Indicates that There is a set of merged clusters with starting trips or ending trips between merged clusters. Indicates that There is a set of merged clusters with starting trips or ending trips between merged clusters. Indicates The merged clusters and The similarity between the merged clusters, express and The similarity between Indicates all There is a merged cluster with a starting stroke between the merged clusters, and vectors between merged clusters, Indicates all There is a merged cluster with the terminal trip between the merged clusters, and vectors between merged clusters, Indicates all There is a merged cluster with a starting stroke between the merged clusters, and vectors between merged clusters, Indicates all There is a merged cluster with the terminal trip between the merged clusters, and The vector between the merged clusters.
8. The community discovery method according to claim 1, characterized in that: The step of calculating the Gaussian embedding representation of each merged cluster according to the positions of all starting trajectory points and the positions of all ending trajectory points in each merged cluster comprises: By formula: Calculate the Gaussian embedding representation of the merged clusters ; in, Indicates the The first embedding representation of the merged clusters is Indicates the The second embedding representation of the merged clusters is , represents the number of merged clusters, represents the first weight matrix, represents the first bias vector, represents the weight matrix of the second embedding representation, represents the second bias vector, represents the exponential linear unit activation function, Represents the intermediate vector: in, represents the weight matrix, represents the bias vector, Indicated by the A three-dimensional vector consisting of the normalized mean value of the horizontal coordinate, the normalized mean value of the vertical coordinate, and the normalized time attribute of the merged clusters.
9. The community discovery method according to claim 8, characterized in that: The objective function is: in, represents the value of the objective function, Indicates The merged clusters and The connection weights between the merged clusters, , , represents the set of connection relationships between all merged clusters, Indicates the The merged clusters and the The joint probability between the merged clusters: in, represents the intermediate parameter, Indicates The Gaussian embedding of the merged clusters represents the The KL divergence of the Gaussian embedding representation of the merged clusters, Indicates The Gaussian embedding of the merged clusters represents the KL divergence of the Gaussian embedding representations of the merged clusters.
10. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the community discovery method based on mobile trajectory as described in any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Clustering method based on mobile object spatiotemporal information trajectory subsections
CN103593430A
Potential community member detection method and detection model based on trajectory similarity
CN111221879A
Community forming system, community forming device thereof, data processing method thereof, and computer program
JP2010286868A
System and method for peer group detection, visualization and analysis in identity management artificial intelligence systems using cluster based analysis of network identity graphs
US10341430B1
System and method for generating player tracking data from broadcast video
US11182642B2
