System and method for generating a composite dataset from vehicle location data

By synthesizing GPS data into road sequences and adding noise, the method maintains data fidelity and privacy, addressing the challenge of re-identification in mobility data while preserving statistical properties for useful applications like urban planning.

JP2026090180APending Publication Date: 2026-06-02MEDIDATA SOLUTIONS INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
MEDIDATA SOLUTIONS INC
Filing Date
2025-09-18
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing anonymization techniques for mobility data, such as GPS data, impair data usefulness by removing important spatial and temporal granularity, and there is a need to maintain data fidelity while preventing re-identification.

Method used

A method is provided to generate high-precision travel trajectory data by synthesizing GPS data into road sequences, exchanging similar road name patterns and POIs, and adding noise, while preserving statistical properties and user-specific patterns.

Benefits of technology

This method maintains data fidelity and privacy, enabling broader access and analysis of mobility data for urban planning and other applications without risking re-identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026090180000001_ABST
    Figure 2026090180000001_ABST
Patent Text Reader

Abstract

This provides a method for generating a composite dataset from vehicle location data. [Solution] The method involves repeatedly selecting seed records 815, determining a set of partner record candidates based on matching bigrams between the selected seed records and potential partner records 820, determining the subsequences of the partner record candidates and the selected seed records based on the positions of the matching bigrams 825, selecting partner record candidates based on the determination that the difference in time, distance, or number of road events between the subsequences of the selected seed records and the corresponding subsequences of each partner record candidate is less than a predetermined threshold 830, replacing the subsequences of the selected seed records with the subsequences of the selected partner record candidates 835, and generating a synthetic dataset by combining the mutated seed records and seed codes whose subsequences have not been replaced 840.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure generally relates to generating synthetic mobility datasets from original datasets, and more particularly to generating synthetic datasets from vehicle location data. [Background technology]

[0002] With advancements in location information services and systems such as position sensors and GPS, mobility data and trajectory data are becoming widely available. Access to mobility data is key to the development of numerous applied technologies, including urban planning, traffic monitoring, optimization of parking and charging infrastructure known as "curve management," transformation of mobility behavior, monitoring of vehicle status for software upgrades, and identification of dangerous driving behaviors for preventative risk reduction. The impact of this data utilization is far-reaching, enabling the reduction of congestion and environmental pollution through the search for parking and charging stations, freeing up urban space for alternative uses such as bicycle lanes, delivery services, and green areas, and contributing to improved public health, enhanced vehicle reliability and efficiency, and strengthened road safety.

[0003] However, releasing such data increases the risk of re-identification based on movement patterns. This could lead to the identification of private locations such as home addresses, as well as points of interest (POIs) such as office buildings, religious facilities, train stations / bus stops, and schools. Given the widespread dissemination of personal information on public forums and social networks, this could create new risks in addition to existing problems, as it provides quasi-identifiers. An attacker with prior knowledge of individuals in the dataset could launch an inference attack by associating that information with movement trajectory data.

[0004] Traditional anonymization techniques can be applied to prevent re-identification, but they typically involve data aggregation or obfuscation. However, these methods significantly impair the usefulness of the data. Coarse data may lack desirable usefulness, such as spatial density, locality, frequent movement patterns, and spatiotemporal data points. Aggregation methods tend to remove important granularity in the aforementioned use cases and are therefore often insufficient in accuracy. [Overview of the Initiative] [Problems that the invention aims to solve]

[0005] Given the shortcomings of the conventional methods described above, there is an urgent need to develop a method that maintains data fidelity and usefulness while enabling the aggregation of insights and user-specific patterns to be utilized for various purposes. [Means for solving the problem]

[0006] The disclosed embodiments provide a method for generating high-precision travel trajectory data, which can be represented, for example, as a sequence of timestamped latitude and longitude points. The disclosed technique balances data accuracy and data privacy by obfuscating the data in a way that makes it impossible to identify the precise location of an individual while preserving statistical properties.

[0007] The disclosed embodiments synthesize data by reverse geocoding travel trajectories (e.g., GPS travel trajectories) into sequences of road names, and then exchanging similar road name patterns between records. Furthermore, statistically similar trajectory dates are exchanged, and frequently visited points of interest (POIs) are exchanged with similar POIs. The synthesized data is statistically similar to the source data and captures the underlying dependencies and patterns in the travel of the source data. The disclosed embodiments enable practical use of the disclosed method while preventing re-identification, as there is no need to retain records from the original data and it avoids revealing specific POIs from the original data.

[0008] The disclosed embodiments provide a tunable algorithm that can be configured to adjust the balance between fidelity and privacy. This tunable algorithm can be adapted to use cases of interest when user-level behavioral analysis is of interest, and can also be configured for analysis at daily / weekly / monthly / yearly levels or other time scales of interest. In the embodiments, noise can be added to location information system coordinates (e.g., GPS coordinates) or timestamps for additional anonymization.

[0009] The disclosed technology maintains data fidelity while obfuscating the data in a way that preserves its statistical characteristics and makes it unidentifiable to unauthorized users. This could allow researchers and developers to have broader access to and analysis of this data, potentially accelerating the development and improvement of new applications.

[0010] The disclosed embodiments include generating a synthesized longitudinal vehicle positioning dataset. This includes converting a sequence of vehicle positioning record data into a road sequence and identifying subsequence patterns within the road sequence. Based on the subsequence patterns, feature vectors characterizing the corresponding records are determined. The feature vectors are embedded in a low-dimensional space. Seed records are iteratively selected from the records, with each iteration identifying subsequence patterns within a subset of records. Instances of subsequence patterns in the seed records are replaced with instances of similar subsequence patterns identified in the subset of records to form modified seed records. This iteration is repeated until all records are selected as seed records. For each modified seed record, a timestamp is generated by swapping the start time with a similar record while preserving the time difference between consecutive roads. The modified seed records are merged to form a synthesized road sequence dataset. The road sequences are then converted into vehicle positioning records and aggregated as a synthetic vehicle positioning dataset.

[0011] In one aspect, the disclosed embodiments provide a method, system, and computer-readable medium for generating a composite dataset from vehicle location data. The method includes determining a sequence of road events for each of N vehicles based at least partially on the movement trajectory records of N vehicles. Each road event corresponds to each of the N vehicles traveling on a particular road, thereby generating N records. Furthermore, the method includes identifying, in each of the N records, the occurrence of a set of unique bigrams generated from the N records. Each bigram corresponds to a transition between road events.

[0012] The method further includes repeatedly selecting seed records from N records and performing the following for each selected seed record: For the selected seed record, a group of partner record candidates is determined from N records. This determination is at least in part based on the number of matching bigrams between the selected seed record and potential partner records from N records. For each partner record candidate, a subsequence of the partner record candidate and the corresponding subsequence of the selected seed record are determined based on the matching bigram at the corresponding location. From the group of partner record candidates, at least in part, partner record candidates are selected based on the determination that the difference in time, distance, or number of road events (length difference) between the subsequence of the selected seed record and the corresponding subsequence of each partner record candidate is less than a predetermined threshold. The subsequence of the selected seed record is replaced with the subsequence of the selected partner record candidate, and a mutated seed record is generated.

[0013] After iteratively selecting all seed records from N records, the mutated seed records and seed records with unsubstituted subsequences are combined to generate a synthetic dataset consisting of N records.

[0014] This embodiment, either alone or in combination, includes one or more of the following features:

[0015] This method may further include: receiving an original dataset consisting of movement trajectory records for N vehicles; each movement trajectory record contains a variable-length sequence, each sequence containing ordered or time-stamped geographic coordinates; assigning each geographic coordinate to a geographic hexbin; performing reverse geocoding on the movement trajectory records to obtain the road name corresponding to each geographic coordinate; and combining the movement trajectory records to form a composite dataset. Each record in the composite dataset contains a vehicle identifier, latitude coordinates, longitude coordinates, date and time stamps, road name, and hexbin assignment.

[0016] This method may further include the steps of generating a unique bigram dictionary by correlating bigrams within N records (r) and determining the frequency of occurrence of each unique bigram. This method may further include the step of swapping points of interest (POIs) within a movement trajectory record with POIs within a defined distance.

[0017] For each candidate partner record, the subsequence of the selected seed record and the corresponding subsequence of each candidate partner record are defined as a group of bigrams located between the position of the first selection matching bigram and the position of the second selection matching bigram.

[0018] Determining the set of partner records involves selecting q sets of partner records from N records that are most similar to the selected seed record, where q is an integer and similarity is determined based on the number of matching bigrams between the selected seed record and the potential partner records within the N records. In determining the q sets of partner records, similarity may be determined at least in part based on the number of matching bigrams between the selected seed record and the potential partner records from N records divided by the total number of unique bigrams in the selected seed record.

[0019] This method further includes repeatedly selecting seed records from N records in a synthetic dataset and performing the following for each selected seed record.

[0020] For a selected seed record, a set of partner record candidates is determined from N records, at least in part, based on the number of matching bigrams between the selected seed record and potential partner records selected from N records. For each partner record candidate, a subsequence of the partner record candidate and its corresponding subsequence of the selected seed record are determined, at least in part, based on the corresponding positions of the matching bigrams. For each partner record candidate, the subsequence of the selected seed record and the corresponding subsequence of each partner record candidate are defined as (i) a set of bigrams located between the start position of the seed record or each partner record candidate and the position of one or more corresponding bigrams, or (ii) a set of bigrams located between the position of one or more corresponding bigrams and the end position of the seed record or each partner record candidate. Partner record candidates are selected from the set of partner record candidates, at least in part, based on the determination that the difference in time, distance, or number of road events (leNgth differeNce) between the subsequence of the selected seed record and the corresponding subsequence of each partner record candidate is less than a predetermined threshold. The subsequences of the selected seed record are replaced with the subsequences of the selected partner record candidate, generating a mutated seed record.

[0021] After iteratively selecting all seed records from N records, a mutation-synthesized dataset consisting of N records can be generated by combining mutated seed records with seed records whose subsequences have not been substituted.

[0022] In the step of determining the partner record group, a group of partner records is selected from N records that share the same starting hex bin. For each partner record candidate, the subsequence of the selected seed record and the subsequence corresponding to each partner record candidate are defined as a group of bigrams located between the starting position of the seed record or the starting position of each partner record candidate and the position of the selected matching bigram from among one or more matching bigrams.

[0023] The step of determining the partner record group involves selecting a group of partner records from N records that share the same ending hexbin. For each partner record candidate, the subsequence of the selected seed record and the subsequence corresponding to each partner record candidate are defined as a set of bigrams located between the position of the selected matching bigram and the end of the seed record or the end of each partner record candidate.

[0024] When selecting one partner record candidate from a group of candidate partner records, if the difference between multiple candidate partner records is less than a predetermined threshold, one of the candidate partner records can be selected randomly. [Brief explanation of the drawing]

[0025] [Figure 1] This is a block diagram of a system for generating and distributing a composite longitudinal dataset from vehicle position data, according to the disclosed embodiment. [Figure 2] This figure shows a synthetic data processing system according to the disclosed embodiment. [Figure 3] This figure shows an example of a double crossover exchange in which a subsequence of the seed pathway is exchanged for a subsequence of the donor pathway. [Figure 4] This figure shows an example of a single crossover start exchange in which a subsequence of the seed pathway is exchanged for a subsequence of the donor pathway. [Figure 5] This figure shows an example of single crossover end exchange, where a subsequence in the seed pathway is exchanged for a subsequence from the donor pathway. [Figure 6] This figure shows density plots of GPS records / points included in individual paths for both real and synthetic data in the T-drive dataset. [Figure 7] This figure shows density plots of travel distance calculated for individual paths in real and synthetic data from the T-drive dataset. [Figure 8] This figure shows a density heatmap of GPS records / points across the entire route in the real and synthetic data of the T-drive dataset. [Figure 9] This figure shows a plot comparing the density of GPS records / points in geospatial mesh units (i.e., hex bins) for both synthetic and real data in the T-drive dataset. [Figure 10] This figure shows polar coordinate plots illustrating the density of GPS records / points over time across the entire route in both real and synthetic data from the T-drive dataset. [Figure 11] This figure shows the density plot of GPS records / points over time across the entire route for both real and synthetic data from the T-drive dataset. [Figure 12] This diagram illustrates how to anonymize Points of Interest (POIs) by identifying new POIs that meet defined criteria and replacing the original POIs with them. [Figure 13] This diagram illustrates time synthesis; (A) represents the identification of similar dates from which dates are exchanged in the synthesized data, and (B) represents the identification of similar individuals from whom start dates and times are exchanged. [Figure 14] This diagram defines the density error index and represents the Jensen-Shannon dissipation (JSD) between the density distributions between hex bins in real data and synthetic data. [Figure 15]This figure shows an example of a summary index table for cross-validating real and synthetic data from the T-Drive dataset. [Figure 16] This is a flowchart of a method for generating a composite dataset from vehicle location data according to the disclosed embodiments. [Modes for carrying out the invention]

[0026] The following detailed description includes many specific details in order to fully understand embodiments of the present invention. However, those skilled in the art will understand that embodiments of the present invention can be practiced without these specific details. In other examples, well-known methods, procedures, components, and circuits are not described in detail in order to avoid obscuring the present invention.

[0027] This embodiment provides a system and method that solves the aforementioned anonymization and privacy challenges by generating a highly accurate synthetic longitudinal geospatial dataset. This method converts street addresses to road names in vehicle location data. For each driver, it identifies other drivers with similar sequences and exchanges instances of similar patterns (i.e., subsequences) with each other. This method generates highly accurate synthetic longitudinal data while performing sufficient transformations on the original sequences to maintain anonymity.

[0028] Maintaining the anonymity of mobility data (e.g., GPS data) and preventing re-identification is a technical challenge. This is because the development, implementation, and maintenance of complex methods and tools are required to ensure that sensitive personal location information is protected and not leaked during the data analysis and sharing process. While the fundamental motivation for ensuring data privacy may stem from ethical, legal, and regulatory concerns, the actual process of achieving and maintaining anonymity in geospatial data involves several technical aspects, including the following:

[0029] Removal and anonymization of personally identifiable information: These processes remove personally identifiable information (PII), such as the location information of points of interest (POIs) and the precise spatiotemporal coordinates of routes. This prevents the remaining information from being traced back to a specific individual and prevents re-identification.

[0030] Data encryption: To securely store and transmit movement trajectory data, it is necessary to use robust encryption algorithms that protect information from unauthorized access and interception.

[0031] Creating synthetic datasets for movement trajectory data (e.g., GPS data) is a technical solution to the aforementioned technical problems. This addresses several challenges inherent in processing real-world movement trajectory data. Synthetic data generation techniques can create datasets that mimic the characteristics of the original data without exposing sensitive information. This allows researchers to utilize data while maintaining anonymity and data privacy. In some cases, access to and use of movement data for research purposes may be restricted due to various factors such as data protection regulations, ownership, and individual privacy concerns. Synthetic datasets overcome these barriers by generating additional data that shares similar characteristics with the original data, enabling researchers to develop and validate models without directly accessing or using real-world data.

[0032] Furthermore, the technical solutions include algorithms and rules with specific characteristics that generate highly obfuscated synthetic data while maintaining the statistical properties of the original dataset. As will be discussed later, the technical solutions focus on concrete improvements to synthetic dataset generation through the use of specific algorithms and rules. Improving existing technical processes involves not merely using computers, but implementing specific algorithms and rules. This improves data obfuscation, resulting in enhanced anonymization and data privacy. Therefore, these technical solutions do not aim for abstract results or effects that merely invoke general processes or machines, but rather provide a concrete approach to improving related technologies.

[0033] In summary, creating synthetic datasets for movement trajectory data is a technical solution to a technical problem because it addresses the specific challenges of achieving and maintaining anonymity that arise when dealing with real-world movement trajectory data (e.g., GPS data). This technical solution transforms information using specific algorithms and rules to generate a new dataset with specific characteristics (i.e., statistical characteristics similar to the original dataset). This dataset is then used and applied by researchers to analyze clinical trial data. The algorithms and rules described here do not merely organize existing information into a new format; they create entirely new datasets. By utilizing the synthetic data thus generated, these challenges can be overcome, and the development, testing, and deployment of data-driven solutions in mobility research can be advanced more effectively.

[0034] In this specification, the following terms are used: “Road” or “road event” refers to an event in which a vehicle or individual travels through a particular street, road, highway, lane, etc., during movement. “Sequence” refers to an ordered set of road events or road event groups. “Subsequence” refers to a set of road events that represent part of a sequence. “Record” in a particular context refers to a sequence of events within a dataset associated with a particular vehicle or individual (and may have a more general meaning in some cases). “Individual,” “Subject,” or “Driver” refers to a person or vehicle to which movement trajectory, vehicle location data, or other mobility data is associated. These terms may be used interchangeably with the term “vehicle” in this specification. The terms “swap,” “exchange,” and “exchanging” refer to a one-way operation, such as replacing a subsequence in a seed record with a corresponding subsequence in another record, or a two-way operation, such as replacing a subsequence in a seed record with one in another record, and vice versa. A "bigram" refers to the occurrence of two directly adjacent subsequence events, such as two road events that essentially define a specific road intersection.

[0035] Figure 1 is a block diagram of system 100, which generates and distributes a synthetic longitudinal dataset. System 100 receives mobility data (e.g., GPS data) collected via data collection system 110. Data collection system 110 receives data from pedestrians or moving vehicles. The data collected by data collection system 110 is referred to here as the original dataset 120, and may also be in the form of a dataset represented as X. As will be described later, the original dataset 120 is processed by the synthetic data processing system 150 to generate a synthetic dataset 160 represented as X'. The synthetic dataset 160 is distributed to researchers for analysis, for example, via a secure data sharing platform called the synthetic data distribution system 170. The synthetic data distribution system 170 makes the synthetic dataset 160 available via network 180.

[0036] The original dataset 120 may contain multiple variable-length sequences. Each of these variable-length sequences contains ordered or timestamped coordinates consisting of longitude and latitude values. The original dataset 120 contains multiple tables (T1, T2...T n Each table stores a separate sequence. For example, GPS mobility data may be stored as multiple independent tables (such as in CSV format, which is common in spreadsheets), with each table representing mobility data for a specific individual.

[0037] In one embodiment, the tables and records of the original dataset 120 are preprocessed by a data preprocessing system 130 using a process called reverse geocoding, which converts them into road addresses with the aim of obtaining the road name corresponding to each vehicle positioning system (e.g., GPS) coordinate. The data preprocessing system 130 can also preprocess the original dataset 120 by assigning each coordinate to a grid of hexagonal geographic cells (hereinafter referred to as "hex bins").

[0038] The data preprocessing system 130 can preprocess the original dataset 120 by replacing points of interest (POIs) in the trajectory with similar and nearby POIs, as illustrated in Figure 12. The original POIs identified in each individual's record in dataset X are identified if the driver stayed at that location for T minutes or more. New POIs may be identified based on attribute similarity. For example, a popular, highly-rated restaurant may be replaced with another popular, highly-rated restaurant. New POIs may also be identified based on distance. For example, a new POI may be set within a distance D from the original POI. New POIs are inserted into the original trajectory by replacing the old POI with the new POI so that the time spent at the original POI is spent at the corresponding new POI. The route between the remaining trajectory and the new POI is generated by combining them using a route generation API. The time difference due to the additional time required to travel from the new POI to the remaining route is corrected by adjusting the time spent at the new POI. If no similar or neighboring POIs to the original POI are identified, new POIs can be identified and the pool of POIs to be selected expanded by relaxing parameter D or loosening the definition criteria for POI similarity. If no POI can be identified, or if the algorithm user does not want to insert a new POI, the original POI can be deleted. In this case, the time spent on the original POI can also be deleted or distributed evenly among k GPS records (for example, if k=1, distributed among GPS records after the POI; if k=-1, distributed among GPS records before the POI; if k=2, distributed among the two GPS records after the POI).

[0039] The tables and records of the original dataset 120 are joined to form a composite dataset 140, which is referred to as Y in this specification, and stores the data in a variable data structure such as rows and columns. The composite dataset Y has records for N individuals, and each row contains the individual's subject ID (or vehicle ID), latitude coordinates, longitude coordinates, date and time stamp, road name, and hex bin assignment.

[0040] In the disclosed embodiment, a synthetic longitudinal dataset 160 is generated from data received from a data acquisition system 110. The synthetic longitudinal dataset 160 is designed to mimic the statistical properties of the original dataset 120. This preserves the statistical properties of the original dataset 120, allowing researchers to draw accurate conclusions, while anonymizing and obfuscating the data reduces the risk of re-identifying individuals. The statistical properties of the synthetic dataset 160 can be verified to approximate those of the original dataset 120 through comparative verification. Various statistical tests, such as regression analysis, are used for this verification.

[0041] The synthetic dataset is distributed to researchers via a secure data sharing platform, such as the synthetic data distribution system 170. This includes setting up private or public application programming interfaces (APIs), building data repositories and data portals, and utilizing cloud-based data storage services with appropriate access control, authentication, and encryption mechanisms. Researchers can use the synthetic dataset 160 to conduct longitudinal analyses while minimizing the risk of identifying individual participants.

[0042] Figure 2 is a schematic diagram of the composite data processing system 150. As described above, it receives an original longitudinal dataset (X) containing movement trajectory records for N individuals (where N is an integer). The tables and records of the original dataset (X) are preprocessed by the data preprocessing system 130 and then joined to form a composite dataset (Y). Each record may include the individual's (or vehicle's) ID, latitude coordinates, longitude coordinates, date and time stamp, road name, and hex bin assignment. Based on the information in Y, the road sequencer 210 determines a road event sequence for each of the N individuals, sorted by the start date and time in which the individual appeared on the road. This generates N records (r) that define road sequences for N people. The length of the road sequence differs for each individual because the number of roads traversed in the movement route differs for each individual or vehicle.

[0043] Referring again to Figure 2, the modification engine 220 receives records (r) and uses them to generate a set of modified records. This set is finally supplied to the modification engine 260 for further modifications. Within the modification engine 220, the bigram counter 230 first uses records (r) to create a bigram dictionary. A bigram represents a subsequence of two roads. For example, if an individual or vehicle moves from road A to road B, or from road B to road A, a bigram AB (road A, road B) is generated. The bigram counter 230 counts the number of occurrences of unique bigrams for each of the N individuals. For example, for a particular individual among the N individuals, there may be m unique bigrams, where m is an integer. For each of the m bigrams in each of the N individuals, there is a unique integer count p corresponding to the number of occurrences of that bigram within that individual.

[0044] Next, the partner finder 240 within the modification engine 220 determines q partner populations for each record r. This is done by selecting a seed record (r) from the record (r). s ) repeatedly select seed record(r s This involves determining q partner records from among the records (r) that are most similar to the seed record (r). The similarity between records is determined by the seed record (r). s ) is represented by the amount of overlap of unique bigrams between the seed record (r s The number of unique bigrams shared between the seed record (r s It is represented by dividing the value by the total number of unique bigrams within the parentheses.

[0045] Each seed record (r s After determining the top q partner records for each of the ), the Double Crossover Exchanger 250 determines N seed records (r s)Perform mutation processing on each of them. For each seed record (r s ), the double crossover exchanger 250 identifies the positions of matching bigrams between the seed record (r s ) and each of q partner records (r p ). When at least two matching bigrams are identified, the subsequence between the matching bigram pairs is regarded as a potential sequence that can be exchanged. Here, the subsequence within the seed is s s , and the subsequence within the partner is s p . Next, define a threshold value t. This represents an integer count of the length of the road, a count in minutes of the time spent on the road, or both (it is possible to define separate threshold values t for the road and the required time). If the difference in required time or road distance (or both) between the subsequences s s and s p is within the threshold value t, then s p is regarded as a potential subsequence that can be exchanged with s s . If there are multiple pairs of exchangeable subsequences s s , s p between the seed record (r s ) and the partner record (r p ), randomly select one pair from the potential subsequences to be exchanged.

[0046] If the pair of subsequences s s , s p to be exchanged is found in the seed record (r s ) and the partner record (r p ), the subsequence s s within the seed record (r s ) is replaced with the subsequence (s p ) from the partner record. Thus, the newly mutated seed record is represented as r p ’. Figure 3 shows an example in which subsequences are exchanged within the double crossover exchanger 250. In Figure 3, the seed record (r s ), the subsequence within the seed record (r s) is displayed as "seed", and partner record (r p ) is displayed as "Donor". Seed record (r s ) and partner records (r p Between these, the double crossover exchanger 250 determines two sets of matching bigrams (301,302)(303,304). These are enclosed by dotted lines. Subsequence s s It is represented by a striped road 305 of length 4, and subsequence s p It is represented as a road 306 filled with length 2. When the threshold t is 5, the subsequence s s and s p The pair (305,306) is a candidate for exchange because the difference in subsequence lengths is 2, which is less than 5. s and s p If selected as the item to be replaced, the Double Crossover Exchanger 250 will be s s and s p Replace and get a new seed record (r s ') looks like record 307 labeled as "mutated seed" in Figure 3.

[0047] N new records from the Double Crossover Exchanger 250 (r s If ') is obtained, these records are passed to the next modification engine 260 for further mutation processing. Within the modification engine 260, the partner finder 270 first processes each input seed record (r s All potential partner records for ') (r p ') is determined. Here, v partner records (r p The ') group consists of N records r whose sequence is the seed record (r s Includes all records that begin with the same hex bin as the sequence ').

[0048] Next, each seed record (r sRegarding '), the single crossover start exchanger 280 has v partner records (r p Seed record (r) has a matching bigram in at least one of the ') s Identify the location of all bigrams within the '). Subsequence s s ' is the partner record (r p Seed record (r) up to the position of the matching bigram within ') s This represents the part '). Latent donor subsequences s s ' is a partner record (r p In '), the seed record (r s ') represents the part up to the position of the matching bigram. Single crossover start exchanger 280 is seed record (r s ') and all v partner records (r p Perform iterative searches on ') and find s in subsequence dwell time or total road number. s ' and s p The pair s that minimizes the difference between ' s ' and s p ' to, seed record (r s Only one instance is retained for each subsequence. s ' and s p If the difference in road length or travel time is within a predefined threshold t, then the seed record (r s ') inside s s ' is s p ' is replaced with the newly mutated seed record (r s ") is generated.

[0049] Figure 4 shows an example of subsequence exchange within a single crossover start exchanger 280. In Figure 4, the seed record (r s ') is displayed as "seed", and partner record (r p ') is displayed as "donor". h" is displayed. Seed record (r s ') and partner record (r pBetween the single crossover start exchanger 280 determines the matching bigram pairs (401, 402). This is surrounded by a dotted line. The seed subsequence s s ’ has a length of 1 from the start position of the sequence to the matching bigram. On the other hand, the donor subsequence s p ’ has a length of 1. When the threshold t is equal to 5 lanes, since the difference in the length of the subsequences is 0 (less than 5), this subsequence pair s s ’ and s p ’ is regarded as an exchange candidate. The single crossover start exchanger 280 exchanges s s ’ and s p ’, and the new seed record (r s ”) becomes like the record labeled “mutated seed” in FIG. 4.

[0050] If N new records (r s ”) are obtained from the single crossover start exchanger 280, these records are passed to the partner finder 290 to determine all potential partner records (r s ”) for each input seed record (r p ”). Here, the group of w partner records (r p ”) includes all records among the N records r whose sequences end in the same hex bin as the sequence of the seed record (r s ”).

[0051] Next, for each seed record (r s ”), the single crossover end exchanger 300 determines the positions of all bigrams within the seed record (r p ”) that has a matching bigram among at least one of the w partner records (r s ”). The subsequence s s ” is from the position of the matching bigram within the partner record (r p ”) to the end of the sequence of the seed record (r srepresents the part of “”). The potential donor subsequence s p ” is the partner record (r p ) in the seed record (r s ”) represents the part from the position of the matching bigram to the end of the sequence. The single crossover end exchanger 300 then searches repeatedly for all subsequence pairs s s ”) and all w partner records (r p ”). f) and all w partner records (r s ” and s p ”. Repeatedly search for all w partner records (r p ”), and find the pair s s ” and s p ” where the difference in the total number of roads between the time spent on the subsequence or s s ” and s p ” is minimized, and keep a single one for each seed record (r s ”). If the difference in the road length or time required in the subsequence is within a predefined threshold t, the s s ” within the seed record (r s ” is replaced by s p ”, and a newly mutated seed record (r s ”’) is generated.

[0052] Figure 5 shows an example where subarrays are exchanged within the single crossover end exchanger 300. In Figure 5, the seed record (r s ) is labeled “Seed”, and the partner record (r p ) is labeled “Donor”. Between the seed record (r s ) and the partner record (r p ), the single crossover end exchanger 300 determines the pair of matching bigrams, which is enclosed by a dotted line. The seed subsequence s s ” has a length of 1 from the matching bigram to the end of the sequence. On the other hand, the donor subsequence s p ” has a length of 3. If the threshold t is 5, the subsequence ss "and s p The pair of “ is considered interchangeable because the difference in subsequence length is 2 and less than 5. The single crossover end exchanger 300 is s s "and s p " is replaced. As a result, a new seed record (r s The '') looks like the record labeled "mutation seed" in Figure 5.

[0053] Single crossover end exchanger 300 to N new records (r s If a '') is obtained, these records are passed to the next modification engine 310 for further mutation processing (see Figure 13). The modification engine 310 can perform temporal exchanges on a date basis or on an individual subject basis. Within the modification engine 310, the density generator 320 first calculates the count of hex bin bigrams. A hex bin bigram represents a subsequence consisting of two hex bin assignments. For example, if an individual or vehicle passes through hex bin A and then hex bin B, this is represented as the occurrence of a bigram (hex A, hex B). If the modification engine 310 performs modifications on a date basis, the density generator 320 counts all N records (r s The hex bin bygram count is calculated for each unique date detected over the specified period. If the modification engine 310 makes modifications on an individual target unit basis, the density generator 320 calculates the hex bin bygram count for each unique target ID (or vehicle ID).

[0054] When the density generator 320 calculates the density count of the hex bin bygram, the similarity calculation unit 330 calculates the cosine similarity score between individual density records. If the modification engine 310 makes changes on a daily basis, the similarity calculator 330 calculates the similarity score between each unique date pair. If the modification engine makes changes on a unique subject basis, the similarity calculator 330 calculates the similarity score between each unique subject ID (or vehicle ID) pair.

[0055] After the similarity calculation unit 330 calculates the cosine similarity score between all date pairs or all unique targets, the time exchanger 340 extracts the pair with the highest similarity score and performs the exchange process. If the modification engine 310 makes changes based on the date, the time exchanger 340 extracts all N records (r s In the '') field, replace the date with the date that has the highest similarity score. For example, if date B is the most similar to date A, replace all records (r s Date A within ") is replaced with Date B. When the modification engine 310 makes changes to the subject, the time exchanger 340 performs N record (r s '') Replaces the start time of the most similar subject ID in the whole. For example, if subject ID B is most similar to subject ID A, the start date in subject A's record is replaced with the start date of subject B. For example, if subject ID B has the highest similarity to subject ID A, the start date in subject A's record is replaced with the start date from subject B's record. New mutation records generated by time exchanger 340 are r t It is called [name].

[0056] The GPS jitter correction unit 360 within the modification engine 350 processes the final N mutation seed record set (r t ) receives seed record (r tNoise is applied by multiplying the distance of each subsequent GPS point within the set by a noise ratio. This noise ratio is represented by a number between 0 and 1. The final corrected seed record is output from the GPS jitter correction unit 360 and integrated into the composite dataset (X') 370.

[0057] In addition to the above description and accompanying diagrams, mobility data from the vehicle location information system may be synthesized based on the following methodological pseudocode. 1. The original dataset X consists of a set of tables. Each table in X contains point records from a vehicle positioning system for N individuals (including latitude and longitude coordinates, date and time stamps, road name, and hex bin assignment). 2. Concatenate the table for all N individuals into dataset Y. Each row will contain the target ID (or vehicle ID), latitude coordinates, longitude coordinates, road name, and hex bin assignment. 3. Create a sequence of road events for N subjects, in chronological order of the start date and time when the subject (i.e., vehicle) was on the road. This generates a set of N records (r) that define the road sequence for each of the N individuals. 4. Perform a double crossover mutation on each of the N records(r).

[0058] For each i in ar, i. Create a bigram dictionary ii. From N record(r), seed record(r s Find q partner records. iii. A group of q partner records (r p Regarding j within ), 1.r s and r p If there are at least two matching bigrams between them, a. Difference in the length of the path sequences, or sequence s s and s p If the time difference is within the threshold t, i. Seed records sSubsequences and partner records p Replace the subsequence and create a new seed record (r s Obtain '). 5. N record (r s ') Apply a single crossover mutation to each.

[0059] ar s For each record within ', The iv partner record group is matched with a seed record (r s Search for ') ii. Group of v partner records r p For each j within ', 1.r s 'and r p If there is at least one matching bigram between ', as s ' is defined as the seed subsequence from the sequence start position to the matching bigram, s p The sequence from the start position to the matching bigram is considered the partner subsequence.

[0060] b. Sequences s and s p If the difference in road sequence length or time duration is within the threshold t, i. Subsequences within the seed s 'and subsequences within partners p Replace ' with a new seed record (r s Obtain ''.

[0061] iii.v Matching the partner group with a seed record that has a matching end hex bin (r s Search for "".

[0062] iv.v Partner record group (r p Regarding j within '), 1.r s "and r pIf there is at least one matching bigram between them, as s We consider " as the seed subsequence from the matching bigram to the end of the sequence, s p This is considered the partner subsequence from the matching bigram to the end of the sequence.

[0063] b. Sequences s "and s p If the difference in road sequence length or time duration is within the threshold t, i. Subsequences within the seed s "and subsequences within the partner p Replace " with a new seed record (r s Obtain "') 6. N records (r s ) Perform a temporal mutation on each of them.

[0064] ar s For each i in "': i. In the case of date-based mutations, 1. N records (r s For each unique date within the parentheses, calculate the numerical properties (count / density) of the n-gram (e.g., hex bin or road sequence), where n is an integer value greater than or equal to 1.

[0065] 2. Use a similarity calculation tool to calculate a score (e.g., cosine similarity) for the characteristics of each date pair.

[0066] 3.N records (r s For each date within ), swap date A with date B which has the highest similarity score, and select N records (r t ) obtain.

[0067] ii. When mutating with respect to the subject, 1. Record (r sFor each of the N unique themes in ''), calculate the numerical properties (count / density) of the n-gram (e.g., hex bin or road sequence).

[0068] 2. Use a similarity calculation tool to calculate a similarity score (e.g., cosine similarity) for the characteristics of each subject pair.

[0069] 3.N records (r s For each target ID (or vehicle ID) within "'", swap the start date of target A with the start date of target B which has the highest similarity score, and select N records (r t ) obtain 7. N record (r t ) Jittering of the vehicle position measurement system is performed for each of these.

[0070] ar t Regarding i inside, i. Add noise to the coordinates of the vehicle position measurement system. Specifically, multiply the distance of each subsequent point by the noise ratio to obtain the final seed record.

[0071] b. Integrate all corrected seed records to obtain a synthetic dataset (X').

[0072] To evaluate the fidelity of the synthetic longitudinal dataset, a cross-validation test was conducted. This compares the characteristics of the synthetic dataset with those of the real dataset to assess the extent to which the underlying characteristics of the real dataset are preserved. As will be discussed later, multiple metrics can be used in cross-validation, including density error, movement error, pattern score and error, and length error.

[0073] Figures 6-12 show examples of density distribution plots in cross-validation of real and synthetic data in the Microsoft® T-Drive taxi travel trajectory dataset (which includes GPS trajectories of numerous taxis measured over a certain period). Figure 7 shows the density distribution of total travel distance (in kilometers) for each target ID, compared between real and synthetic data. Figure 6 shows the density distribution of the total number of acquired GPS points for each target ID, compared between real and synthetic data. Figure 9 is a line graph comparing the hex bin assignment frequencies of real and synthetic data in the Microsoft® T-Drive dataset. In this figure, points where the dotted line is close together indicate cases where the hex bin frequencies are very similar. In Figure 9, the r² value of the plotted frequencies is 0.97, which is close to the ideal value of 1, indicating that the synthetic data has high fidelity to the real data.

[0074] Figures 10 and 11 are examples of temporal polar coordinate plots for temporal cross-validation of real and synthetic data from the Microsoft® T-Drive dataset. Figure 10 plots the time distribution of all GPS points for all subject IDs over a 24-hour day. Figure 11 shows the density plot of GPS records / points over time along the entire route for real and synthetic data from the T-Drive dataset.

[0075] Figure 15 shows an example of a summary metrics table for cross-validation of real and synthetic data in the Microsoft® T-Drive dataset. The column "Metric" contains a description of the metric, the column "Real Data" represents the metric results in the real dataset, and the column "Synthetic Data" represents the metric results in the synthetic dataset.

[0076] Figure 8 is an example plot showing the latitude and longitude coordinates of all points in the real and synthesized data of the Microsoft® T-Drive dataset. In the figure, GPS points from both the source and synthesized data are plotted in parallel as hex bins, with darker colored hex cells representing denser hex bins.

[0077] Figure 14 defines the density error index. This represents the Jensen-Shannon dissipation (JSD) between the density distributions of hex bins in the real dataset and the synthetic dataset. In the density error index, a lower JSD value indicates a smaller error and that the hex bin distributions of the real dataset and the synthetic dataset are similar. Figure 14 also defines the travel error index. This represents the JSD between the assignment of the start hex bin and the end hex bin for each trajectory in the real data and the synthetic data. The travel error value in Figure 14 is 0.071, and a lower JSD value for travel error indicates that the distributions of the start hex bin and the end hex bin are similar between the real data and the synthetic data.

[0078] In addition to the indicators shown above, the pattern score, pattern error, and length error indicators can also be used for cross-validation between real and synthetic data, as shown in Figure 14. For the pattern score and pattern error, a pattern is defined as an ordered sequence of consecutive hex bins traversed by the GPS track. The pattern score is calculated by extracting the top n most frequent patterns in the dataset and calculating the F1 score. A higher pattern score indicates a greater similarity between the top patterns in the real and synthetic data. Next, the pattern error is calculated by extracting the top n most frequent patterns in the dataset and calculating the relative difference between the patterns occurring in the real and synthetic data. A lower pattern error indicates a greater similarity between the top patterns in the real and synthetic data. The length error is calculated by calculating the Euclidean distance between consecutive points and summing the estimated travel distances. Next, the JSD is calculated between the distributions of estimated travel distances in the real and synthetic data to obtain the travel distance error. A lower travel distance error indicates a greater similarity between the distributions of travel distances in the real and synthetic data.

[0079] Figure 16 is a flowchart of a method 800 for generating a composite dataset from vehicle location data according to a disclosed embodiment. The method includes determining a set of road events corresponding to each vehicle, based at least in part on the movement trajectory records of N vehicles. Each road event corresponds to one of the N vehicles traveling on a particular road, thereby generating N records (805). Furthermore, the method includes identifying the occurrence of a set of unique bigrams generated from the N records in each of the N records. Each bigram corresponds to a transition between road events (810). Seed records are repeatedly selected from the N records (815), and for each selected seed record, the following is performed:

[0080] In the iterative part of this method, for a selected seed record, a group of partner record candidates is determined from N records, at least partially based on the number of matching bigrams between the selected seed record and potential partner records (820). Furthermore, for each partner record candidate, the method includes determining a subsequence of each partner record candidate and the corresponding subsequence of the selected seed record, based on the corresponding position of the matching bigram (825). From the group of partner record candidates, a partner record candidate is selected, at least partially based on the determination that the difference in time, distance, or number of road events between the subsequence of the selected seed record and the corresponding subsequence of each partner record candidate is less than a predetermined threshold (830). The subsequence of the selected seed record is replaced with the subsequence of the selected partner record candidate, generating a mutated seed record (835). The method further includes the step of iteratively selecting all seed records from N records, and then combining the mutated seed records with seed records whose subsequences have not been replaced to generate a synthetic dataset having N records (840).

[0081] Embodiments of the present invention may be embodied in the form of a system, a computer program product, or a method. Similarly, embodiments of the present invention may be embodied as hardware, software, or a combination of both. Embodiments of the present invention may be embodied as a computer program product stored on a computer-readable medium, in which case computer-readable program code is recorded on the medium.

[0082] Computer-readable media may be computer-readable storage media. Computer-readable storage media may be, for example, electronic, optical, magnetic, electromagnetic, infrared, or semiconductor systems, apparatus, devices, or any combination thereof.

[0083] The computer program code in embodiments of the present invention is written in any suitable programming language. The program code is executed on a single computer or on multiple computers. The computer includes a processing unit that communicates with a computer-available medium, where the computer-available medium contains a set of instructions, and the processing unit is designed to execute that set of instructions.

[0084] The above description illustrates the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art who have a thorough understanding of this disclosure. The following claims are intended to be construed as including all such variations and modifications.

Claims

1. A step of determining a sequence of road events based on the vehicle's movement trajectory record for each of an integer N vehicles, and generating N records, wherein each road event corresponds to one of the N vehicles traveling on a specific road. The steps include identifying the occurrence of a unique group of bigrams in each of the N records, each of which corresponds to a transition between road events, generated from the N records, The steps include repeatedly selecting seed records from the aforementioned N records and performing a predetermined process for each selected seed record, The steps include: selecting all seed records from the aforementioned N records, then combining seed records that have not had subsequences replaced with mutated seed records to generate a synthetic dataset having N records; A method for generating a synthetic dataset, which includes generating a synthetic dataset from vehicle location data, The aforementioned predetermined process is: A partner record candidate group determination step in which, based on the number of matching bigrams between the selected seed record and potential partner records among the N records, a group of partner record candidates is determined for the selected seed record from among the N records, For each candidate partner record, the steps include determining the subsequence of the candidate partner record and the corresponding subsequence of the selected seed record based on the corresponding position in the matching bigram, A step of selecting a partner record candidate from the group of partner record candidates based on the determination that the difference (length difference) in time, distance, or number of road events when comparing the subsequence of the selected seed record with the corresponding subsequence of each partner record candidate is less than a predetermined threshold, A step of replacing the subsequence of the selected seed record with the subsequence of the selected partner record candidate to generate a mutated seed record, A method for generating a synthetic dataset that includes [specific data points].

2. For each of the N vehicles, the step of receiving an original dataset containing movement trajectory records having multiple variable-length sequences, The steps involve assigning each geographic coordinate to a geographic hex bin, The steps include performing reverse geocoding on the aforementioned movement trajectory record to obtain the road name corresponding to the coordinates of each location, The steps include: combining the aforementioned movement trajectory records to form a composite dataset; It further includes, Each record in the aforementioned composite dataset includes a vehicle identifier, latitude coordinates, longitude coordinates, date and time stamp, road name, and hex bin assignment. The composite dataset generation method according to claim 1, wherein each of the plurality of variable-length sequences includes ordered or time-stamped geographic coordinates.

3. To generate the aforementioned unique bigram group, the steps include: generating a bigram dictionary by correlating the bigrams in N records (r); The steps include determining the number of occurrences of each of the aforementioned unique bigrams, A method for generating a composite dataset according to claim 1, further comprising:

4. The method for generating a composite dataset according to claim 1, further comprising the step of replacing a plurality of points of interest (POIs) in the movement trajectory record with a plurality of POIs within a predetermined distance.

5. The method for generating a composite dataset according to claim 1, wherein, for each of the partner record candidates, the subsequence of the selected seed record and the subsequence corresponding to each of the partner record candidates are defined as a group of bigrams located between the position of the first matching bigram and the position of the second matching bigram among at least two matching bigrams.

6. The method for generating a composite dataset according to claim 5, wherein the partner record candidate group determination step includes selecting q groups of partner records from among the N records that are most similar to the selected seed record, where q is an integer, and the similarity is determined among the N records based on the number of matching bigrams between the selected seed record and the potential partner records.

7. The method for generating a composite dataset according to claim 6, in which, when selecting the q-group of partner records, the similarity is determined based on the value obtained by dividing the number of matching bigrams between the selected seed record and the potential partner record by the total number of unique bigrams in the selected seed record.

8. From the N records of the aforementioned composite dataset, seed records are repeatedly selected, and for each selected seed record, For each selected seed record, a group of candidate partner records is determined from among the N records based on the number of matching bigrams between the selected seed record and the potential partner records selected from among the N records. For each candidate partner record, the step of determining a subsequence determined based on the corresponding position in the matching bigram, For each of the aforementioned partner record candidates, the selected seed record subsequence and the corresponding subsequence of each partner record candidate are defined as (i) a group of bigrams located between the start position of the seed record, or the start position of each partner record candidate, and one of the positions of one or more matching bigrams, or (ii) a group of bigrams located between one of the aforementioned matching bigrams and the end position of the seed record, or the end position of each partner record candidate. A step of selecting a partner record candidate from a group of partner record candidates based on the determination that the difference in time, distance, or number of road events between the selected seed record subsequence and the corresponding subsequence of each partner record candidate is less than a predetermined threshold, The steps include: replacing the subsequences of the selected seed record with the subsequences of the selected partner record candidate to generate a mutated seed record; We will do this, and further, A method for generating a synthetic dataset according to claim 5, which involves repeatedly selecting all seed records from N records, then combining seed records that do not have substituted subsequences with mutated seed records to generate a mutated synthetic dataset consisting of N records.

9. The aforementioned partner record candidate group determination step selects from among N records, This includes a step of selecting a group of partner records whose starting hex bins are the same, For each candidate partner record, the selected seed record subsequence and the corresponding subsequence for each candidate partner record are defined as groups of bigrams located between the starting position of the seed record or the starting position of each candidate partner record and the position of a matching bigram selected from one or more suitable bigrams. The method for generating a composite dataset according to claim 1.

10. The aforementioned partner record candidate group determination step includes the step of selecting a group of partner records from among the N records that have the same ending hex bin, For each candidate partner record, the subsequence of the selected seed record and the corresponding subsequence of each candidate partner record are defined as a group of bigrams located between the position of the selected matching bigram among one or more matching bigrams and the end of the seed record or the end of each candidate partner record. The method for generating a composite dataset according to claim 1.

11. When selecting one partner record candidate from the aforementioned group of partner record candidates, if the difference between multiple partner record candidates is less than a predetermined threshold, one partner record candidate is randomly selected. The method for generating a composite dataset according to claim 1.

12. A system for generating a composite dataset from vehicle location data, It comprises one or more processors that communicate with memory containing executable instructions, The one or more processors described above are: A step of determining a sequence of road events based on the vehicle's movement trajectory record for each of an integer N vehicles, and generating N records, wherein each road event corresponds to one of the N vehicles traveling on a specific road. The steps include identifying the occurrence of a unique group of bigrams in each of the N records, each of which corresponds to a transition between road events, generated from the N records, The steps include repeatedly selecting seed records from the aforementioned N records and performing a predetermined process for each selected seed record, The steps include: selecting all seed records from the aforementioned N records, then combining seed records that have not had subsequences replaced with mutated seed records to generate a synthetic dataset having N records; Make it run, The aforementioned predetermined process is: A partner record candidate group determination step in which, based on the number of matching bigrams between the selected seed record and potential partner records among the N records, a group of partner record candidates is determined for the selected seed record from among the N records, For each candidate partner record, the steps include determining the subsequence of the candidate partner record and the corresponding subsequence of the selected seed record based on the corresponding position in the matching bigram, A step of selecting a partner record candidate from the group of partner record candidates based on the determination that the difference in time, distance, or number of road events when comparing the subsequence of the selected seed record with the corresponding subsequence of each partner record candidate is less than a predetermined threshold, A step of replacing the subsequence of the selected seed record with the subsequence of the selected partner record candidate to generate a mutated seed record, A synthetic dataset generation system that includes [specific data types].

13. The aforementioned memory further, For each of the N vehicles, the step of receiving an original dataset containing movement trajectory records having multiple variable-length sequences, The steps involve assigning each geographic coordinate to a geographic hex bin, The steps include performing reverse geocoding on the aforementioned movement trajectory record to obtain the road name corresponding to the coordinates of each location, The steps include: combining the aforementioned movement trajectory records to form a composite dataset; Stores instructions that can be executed by one or more processors for the purpose of executing the above, Each record in the aforementioned composite dataset includes a vehicle identifier, latitude coordinates, longitude coordinates, date and time stamp, road name, and hex bin assignment. The composite dataset generation system according to claim 12, wherein each of the plurality of variable-length sequences includes ordered or time-stamped geographic coordinates.

14. The synthetic dataset generation system according to claim 12, wherein, for each of the aforementioned candidate partner records, the subsequence of the selected seed record and the subsequence corresponding to each of the candidate partner records are defined as a group of bigrams located between the position of the first matching bigram and the position of the second matching bigram among at least two matching bigrams.

15. A non-volatile computer-readable medium, A step of determining a sequence of road events based on the vehicle's movement trajectory record for each of an integer N vehicles, and generating N records, wherein each road event corresponds to one of the N vehicles traveling on a specific road. The steps include identifying the occurrence of a unique group of bigrams in each of the N records, each of which corresponds to a transition between road events, generated from the N records, The steps include repeatedly selecting seed records from the aforementioned N records and performing a predetermined process for each selected seed record, The steps include: selecting all seed records from the aforementioned N records, then combining seed records that have not had subsequences replaced with mutated seed records to generate a synthetic dataset having N records; It stores instructions for causing one or more processors in a computer to execute, The aforementioned predetermined process is: A partner record candidate group determination step in which, based on the number of matching bigrams between the selected seed record and potential partner records among the N records, a group of partner record candidates is determined for the selected seed record from among the N records, For each candidate partner record, the steps include determining the subsequence of the candidate partner record and the corresponding subsequence of the selected seed record based on the corresponding position in the matching bigram, A step of selecting a partner record candidate from the group of partner record candidates based on the determination that the difference in time, distance, or number of road events when comparing the subsequence of the selected seed record with the corresponding subsequence of each partner record candidate is less than a predetermined threshold, A step of replacing the subsequence of the selected seed record with the subsequence of the selected partner record candidate to generate a mutated seed record, Computer-readable media including [specific media].

16. For each of the N vehicles, the step of receiving an original dataset containing movement trajectory records having multiple variable-length sequences, The steps involve assigning each geographic coordinate to a geographic hex bin, The steps include performing reverse geocoding on the aforementioned movement trajectory record to obtain the road name corresponding to the coordinates of each location, The steps include: combining the aforementioned movement trajectory records to form a composite dataset; Stores instructions that can be executed by one or more processors for the purpose of executing the above, Each record in the aforementioned composite dataset includes a vehicle identifier, latitude coordinates, longitude coordinates, date and time stamp, road name, and hex bin assignment. The computer-readable medium according to claim 15, wherein each of the plurality of variable-length sequences includes ordered or time-stamped geographic coordinates.

17. The computer-readable medium according to claim 15, wherein, for each of the partner record candidates, the subsequence of the selected seed record and the subsequence corresponding to each of the partner record candidates are defined as a group of bigrams located between the position of the first matching bigram and the position of the second matching bigram among at least two matching bigrams.

18. The computer-readable medium according to claim 17, wherein the partner record candidate group determination step includes selecting q groups of partner records from among the N records that are most similar to the selected seed record, where q is an integer, and the similarity is determined among the N records based on the number of matching bigrams between the selected seed record and the potential partner records.

19. From the N records of the aforementioned composite dataset, seed records are repeatedly selected, and for each selected seed record, For each selected seed record, a group of candidate partner records is determined from among the N records based on the number of matching bigrams between the selected seed record and the potential partner records selected from among the N records. For each candidate partner record, the step of determining a subsequence determined based on the corresponding position in the matching bigram, For each of the aforementioned partner record candidates, the selected seed record subsequence and the corresponding subsequence of each partner record candidate are defined as (i) a group of bigrams located between the start position of the seed record, or the start position of each partner record candidate, and one of the positions of one or more matching bigrams, or (ii) a group of bigrams located between one of the aforementioned matching bigrams and the end position of the seed record, or the end position of each partner record candidate. A step of selecting a partner record candidate from a group of partner record candidates based on the determination that the difference in time, distance, or number of road events between the selected seed record subsequence and the corresponding subsequence of each partner record candidate is less than a predetermined threshold, The steps include: replacing the subsequences of the selected seed record with the subsequences of the selected partner record candidate to generate a mutated seed record; A computer-readable medium according to claim 17, which stores instructions executable by one or more processors for performing the steps of: repeatedly selecting all seed records from N records, then combining seed records that do not have replaced subsequences with mutated seed records to generate a mutated synthetic dataset consisting of N records.

20. The step of determining the candidate group of partner records includes the step of selecting a group of partner records from among the N records whose starting hex bins are the same, For each candidate partner record, the selected seed record subsequence and the corresponding subsequence for each candidate partner record are defined as groups of bigrams located between the starting position of the seed record or the starting position of each candidate partner record and the position of a matching bigram selected from one or more suitable bigrams. The computer-readable medium according to claim 15.

21. The aforementioned partner record candidate group determination step includes the step of selecting a group of partner records from among the N records that have the same ending hex bin, For each candidate partner record, the subsequence of the selected seed record and the corresponding subsequence of each candidate partner record are defined as a group of bigrams located between the position of the selected matching bigram among one or more matching bigrams and the end of the seed record or the end of each candidate partner record. The computer-readable medium according to claim 15.