Intra-city traveler profiling system based on mobile phone signaling data
By using a city traveler profiling system based on mobile phone signaling data, combined with technologies such as Gaode Map route planning and convolutional autoencoders, the problems of incomplete data cleaning and insufficient accuracy in travel mode identification in existing technologies have been solved. This enables precise analysis and profiling of traveler behavior, providing a scientific basis for urban traffic management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SOUTH CHINA UNIV OF TECH
- Filing Date
- 2024-12-31
- Publication Date
- 2026-07-24
AI Technical Summary
Existing technologies for profiling travelers based on mobile phone signaling data suffer from several shortcomings, including imperfect data cleaning and processing procedures, poor accuracy in identifying travel modes, ambiguous classification of daily travel patterns, and a disconnect between macro results and micro analysis. These shortcomings make it difficult to comprehensively and accurately capture the dynamic behavior of travelers.
A user profiling system based on mobile signaling data is adopted, which includes modules such as data import, travel chain extraction, travel mode identification, daily travel pattern identification, and travel path traffic identification. Through data preprocessing, OD data matching, travel mode identification, daily travel pattern identification, and travel path traffic identification, combined with Gaode Map route planning, log-Gaussian mixture model, and convolutional autoencoder, a comprehensive analysis of travel characteristics and profiling are achieved.
It enables precise and efficient analysis of the behavioral characteristics of urban travelers, provides a scientific basis for traffic planning and management, enhances the accuracy of travel mode identification and the interpretability of daily travel patterns, and identifies the volume of people on travel routes.
Smart Images

Figure CN119865778B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of urban traffic management, and in particular to an urban traveler profiling system based on mobile phone signaling data. Background Technology
[0002] With the acceleration of urbanization, urban traffic problems are becoming increasingly prominent, and the behavioral patterns of urban travelers have a significant impact on traffic planning and management. To better understand and optimize urban transportation systems, in-depth analysis and profiling of urban travelers' behavioral characteristics are crucial. Traditional traveler behavior analysis mainly relies on questionnaires, transportation card data, and vehicle GPS data. These methods suffer from high data collection costs and limited coverage, making it difficult to comprehensively and accurately capture travelers' dynamic behavior. In recent years, with the development of information technology, especially the widespread use of smartphones and advancements in mobile communication technology, traveler behavior analysis based on mobile signaling data has gradually become a research hotspot. Mobile signaling data has advantages such as wide coverage, strong real-time performance, and large data volume, providing detailed information such as travelers' location, time, and travel patterns, offering a new data source for constructing urban traveler profiles.
[0003] Although there has been considerable research on mobile signaling data in recent years, most studies have focused on analyzing the human geography characteristics within cities or regions. These studies essentially determine the macroscopic distribution and movement characteristics of population clusters. However, mobile signaling data reveals the daily behaviors of travelers. Further analysis can uncover the similar travel characteristics of a particular group of travelers, creating a profile of that group that can serve as a reference for the refined management of urban traffic demand.
[0004] However, most data providers currently offer site data that has already been processed from the raw mobile signaling data. This means that the dataset only involves the latitude, longitude, and time of a traveler's stay at a certain location. Existing research lacks specific methods for constructing traveler profiles based on this type of data. It also suffers from shortcomings such as imperfect data cleaning and processing procedures, poor accuracy of travel mode identification methods, ambiguous classification of daily travel patterns, and a disconnect between macro results and micro analysis. Summary of the Invention
[0005] The purpose of this invention is to overcome the shortcomings and deficiencies of the existing technology and provide an urban traveler profiling system based on mobile phone signaling data. It aims to achieve a comprehensive analysis and profiling of urban traveler behavior characteristics by integrating functions such as data cleaning, travel chain extraction, travel mode identification, travel pattern identification, and travel route traffic identification. This provides a more accurate and efficient traveler behavior analysis tool and offers a scientific basis for urban traffic planning and management.
[0006] To achieve the above objectives, the technical solution provided by this invention is: an urban traveler profiling system based on mobile phone signaling data, comprising:
[0007] The data import module is used to load the station data and administrative division data that have been processed by the mobile signaling data provider, and to preprocess the station data in combination with the administrative division data to obtain station data that is non-repeating, whose latitude and longitude are within the administrative division of the city under study, and whose station data for each traveler is no less than 2.
[0008] The travel chain extraction module is used to identify the occupation and residence attributes of each station data in the data import module, match two station data with adjacent times into one OD data, remove meaningless data after calculating travel time, travel distance and travel speed, and identify the travel type based on the occupation and residence attributes of the origin and destination of the OD data.
[0009] The travel mode identification module divides the OD data obtained from the travel chain extraction module into multiple intervals according to the travel distance. It randomly selects OD data from each interval, calls the Amap route planning API, and calculates the average travel time of each selected OD data under different travel modes under Amap route planning. It then uses a log-Gaussian mixture model to cluster the travel time into n clusters. Based on the calculated average travel time of different travel modes, it matches the n travel modes with the n clusters to obtain the travel mode identification results for all OD data.
[0010] The daily travel pattern recognition module is used to draw a curve image of "distance from home - time". After compressing the curve image into a feature image, the feature image is input into a convolutional autoencoder to extract feature vectors. The K-means algorithm is used to classify the feature vectors extracted by the convolutional autoencoder into different categories. The feature images are then backtracked and superimposed to obtain a superimposed image representing the daily travel pattern.
[0011] The travel path traffic identification module is used to divide the city under study into traffic zones and identify whether there is a large amount of OD data between the two traffic zones where the origin and destination of each OD data point are located, so as to judge the traffic volume of the travel path from a macro perspective.
[0012] The traveler profiling module is used to extract multiple travel characteristics of each traveler obtained from the aforementioned travel chain extraction module, travel mode identification module, daily travel pattern identification module, and travel path traffic identification module as multiple tags, and then summarize the tags to form a population profile.
[0013] Furthermore, the data import module includes a data loading module and a data preprocessing module, wherein:
[0014] The data loading module reads CSV format station data that has been processed by the mobile signaling data provider from the local machine. The specific required fields are: the variable imsi representing the traveler ID, the longitude lon, latitude lat, station start time time1, and station end time time2 for each station; and reads shp format administrative division data of the city under study from the local machine to form the administrative division boundary of the city.
[0015] The data preprocessing module is used to filter the validity of the station data, as follows:
[0016] For duplicate types of abnormal data, they are directly removed from the context of tens of millions of mobile signaling data.
[0017] Using the geopandas library in Python, the latitude and longitude of the stationed data are matched with the administrative boundaries of the city under study to determine whether the latitude and longitude of the stationed data are within the city's boundaries, and stationed data whose latitude and longitude are not within the city's boundaries are removed.
[0018] The number of location data points for each traveler is counted. Travelers with fewer than two location data points are directly excluded from the context of tens of millions of mobile signaling data points.
[0019] Furthermore, the travel chain extraction module includes a work-residence attribute identification module, an OD data matching module, and a travel type identification module, wherein:
[0020] The work-residence attribute identification module is used to identify the residential, work, or social attributes of each stop, as detailed below:
[0021] Define the time window for identifying home attribute as 0:00-7:00 per day and the time window for identifying work attribute as 9:00-17:00 per day. Calculate the number of minutes that overlap with the above two time windows for each station data point, and store the calculation results under the new fields home_overlap and work_overlap respectively.
[0022] The dwell time of a single stationary data point is calculated using time2-time1, in minutes.
[0023] For travelers with two checkpoint records on a single day, the values of home_overlap and work_overlap are compared. If home_overlap is greater than or equal to work_overlap and is greater than half the checkpoint duration, the checkpoint record is marked as "at home". If work_overlap is greater than or equal to home_overlap and is greater than half the checkpoint duration, the checkpoint record is marked as "at work".
[0024] For travelers with more than two location data entries in a single day, if home_overlap is greater than or equal to work_overlap, the location data entry is marked as "at home"; if work_overlap is greater than home_overlap, the location data entry is marked as "at work".
[0025] Extract the unique latitude and longitude of each traveler under the occupation-residence attribute tag, update the original data through Boolean index, so that the occupation-residence attribute of the station data with the same latitude and longitude is consistent, while the station data that is not successfully identified as occupation-residence attribute is all marked as "social", indicating social attribute;
[0026] The OD data matching module matches adjacent station data for each traveler. Adjacent station data are used as the start and end points of a single trip according to their time sequence. The time interval between time2 of the first station data and time1 of the second station data is used as the travel time. The straight-line distance between the latitude and longitude of adjacent station data is calculated using the WGS84 coordinate system and the semi-versus formula as the travel distance. The ratio of travel distance to travel time is used as the travel speed. Finally, OD data with specific characteristics of travel time within 5 to 180 minutes, travel distance greater than 0, and travel speed between 3 and 80 km / h are retained.
[0027] The travel type identification module identifies the travel type corresponding to each OD data based on the origin and destination attributes, as follows:
[0028] If either the origin or destination is a home-based location, then the OD data entry is marked as "Home-based Travel"; otherwise, it is marked as "Non-Home-based Travel".
[0029] If the origin is a home-based destination and the destination is a work-based destination, or vice versa, then the OD data entry is marked as "Commuting Trip". If the origin is a work-based destination and the destination is a social destination, or vice versa, or both the origin and destination are work-based and the arrival time is before 5 PM, then the OD data entry is marked as "Business Trip". All other cases are marked as "Social Activity".
[0030] Furthermore, the travel mode identification module identifies the primary travel mode used for a single trip from five modes of transportation: walking, cycling, driving, public transportation, and subway, as detailed below:
[0031] All OD data are divided into multiple intervals based on travel distance. When the travel distance is within 3km, each interval is divided into 500m intervals; when the travel distance is greater than 3km, each interval is divided into 1km intervals.
[0032] Based on the actual situation of the city studied, the identification thresholds for walking and cycling were set separately according to the travel distance: when the travel distance is greater than the identification threshold for walking, walking is not considered; when the travel distance is greater than the identification threshold for cycling, neither walking nor cycling is considered.
[0033] For each interval, randomly select the required number of OD data, call the Gaode Map route planning API, plan routes for various travel modes for each selected OD data group, return the travel time corresponding to each travel mode, and calculate the average travel time for each travel mode.
[0034] For all OD data within the same interval, a log-Gaussian mixture model is established. The parameters of the log-Gaussian mixture model are estimated using the expectation-maximization algorithm. Then, clustering is performed through probability calculation to divide the OD data into five clusters with significantly different travel times.
[0035] The five modes of travel are assigned to five clusters according to their average travel time. The mode of travel for each cluster is used as the mode of travel identification result for the OD data of that cluster. The same operation is performed on the OD data of all intervals to obtain the main mode of travel identification results for all OD data.
[0036] Furthermore, the daily travel pattern recognition module includes a feature image generation module, a feature vector extraction module, and a travel pattern classification module, wherein:
[0037] The feature image generation module is used to generate a feature image, which serves as input to the feature vector extraction module, reflecting the change in distance from home over time. Specifically:
[0038] The WGS84 coordinate system and the semi-sine formula are used to calculate the straight-line distance between all the station data and the home attribute station data of each traveler on a single day, which is used as the "distance from home". The distance from home is used as the vertical axis and the time from 0 to 24 hours of the day is used as the horizontal axis. The origin corresponds to the distance from home and time being 0. A curve graph of "distance from home - time" is plotted. Horizontal line segments are plotted within the station duration of the station data. The endpoints of adjacent line segments are connected by straight lines to represent the movement process between the coordinate points of two station data. If the leftmost horizontal line segment does not start from time 0 or the rightmost horizontal line segment does not end at time 24, it is extended to time 0 or time 24.
[0039] The distance and time of each traveler from home on a single day are converted to the range of 0-25. A blank JPEG image with an RGB format and a size of 25*25 is created. Based on the curve image of "distance from home-time", a dividing line is drawn in the blank image. The area above the dividing line is filled with blue with an RGB value of (0,0,255), and the area below the dividing line is filled with red with an RGB value of (255,0,0). The feature image is generated as the input of the subsequent convolutional autoencoder.
[0040] The feature vector extraction module extracts feature vectors representing the original features of the feature image by constructing a convolutional autoencoder. This feature vector extraction module includes an encoder part and a decoder part, as detailed below:
[0041] a. The encoder part consists of a first convolutional layer, a first max pooling layer, a second convolutional layer, and a second max pooling layer connected in series. It takes an image of size (25,25,3) as input and sets the green channel value of RGB to 0. Here, 25 and 25 are the length and width units of the image, respectively, and 3 is the number of channels.
[0042] The first convolutional layer uses 16 convolutional kernels with a kernel size of (3,3), the activation function is ReLU, the padding method is same, and L2 regularization is used. The output size is (25,25,16). Then, it passes through the first max pooling layer with a pooling window of (2,2) and the padding method is same, reducing the feature image size to (13,13,16).
[0043] The second convolutional layer uses 16 convolutional kernels with a kernel size of (3,3), the activation function is ReLU, the padding method is same, and the output size is (13,13,16). Then, it passes through the second max pooling layer with a pooling window of (2,2) and the padding method is same, reducing the feature map size to (7,7,16).
[0044] b. The decoder consists of a first upsampling layer, a third convolutional layer, a second upsampling layer, a fourth convolutional layer, a fifth convolutional layer, and a sixth convolutional layer connected in series, and performs the following operations:
[0045] The first upsampling layer upsamples the feature map size from (7,7,16) to (14,14,16), and then passes it through the third convolutional layer with 16 kernels, a size of (3,3), a ReLU activation function, and the same padding method, with an output size of (14,14,16).
[0046] The second upsampling layer upsamples the feature map size from (14,14,16) to (28,28,16), and then passes it through the fourth convolutional layer with 16 kernels, a size of (3,3), a ReLU activation function, and the same padding method, resulting in an output size of (28,28,16).
[0047] The fifth convolutional layer has 16 kernels with a size of (2,2), uses ReLU as the activation function, and adjusts the output size to (27,27,16).
[0048] Finally, the sixth convolutional layer is passed, with 3 kernels of size (3,3), ReLU activation function, and output size (25,25,3).
[0049] The feature vector extraction module uses the Adam optimizer with a learning rate of 0.001, a mean squared error as the loss function, a batch size of 256, and 50 training epochs to extract feature vectors from the feature images.
[0050] The travel pattern classification module uses the K-means algorithm to cluster the feature vectors output by the feature vector extraction module, and uses the elbow method to determine the number of clusters. After clustering, the category to which each traveler's travel pattern belongs is marked. The feature images are backtracked, and the feature images of the same category are superimposed to obtain a superimposed image to represent the daily travel pattern.
[0051] Furthermore, the travel path traffic identification module identifies whether each trip occurs between two traffic zones with high overall travel frequency by analyzing the travel frequency between various traffic zones at a macro level, as follows:
[0052] Extract all latitude and longitude coordinates from the OD data and merge them into a two-dimensional array;
[0053] The number of traffic zones is set artificially based on the city's land area. The K-means algorithm is used to cluster all latitude and longitude in the two-dimensional array to determine the cluster to which each latitude and longitude belongs. Each cluster represents a traffic zone. The latitude and longitude of the centroid of each traffic zone are used to replace the latitude and longitude in the OD data to generate new OD data.
[0054] The frequency of trips between each pair of centroids was counted, and each pair of centroids was sorted from highest to lowest frequency. Then, based on the sorting, the cartopy library in Python was used to draw a travel expectation line graph on the map of the studied city. During the drawing process, each pair of centroids was connected by straight lines. As the frequency of trips increased, the width of the connecting lines was gradually increased, the transparency was decreased, and the color gradually transitioned from green with an RGB value of (0,255,0) to yellow with an RGB value of (255,255,0) and then to red with an RGB value of (255,0,0). Finally, the travel expectation line graph within the studied city area was completed.
[0055] For each traveler's daily OD data, the travel expectation line graph is traced back. If at least one corresponding RGB value in the traveler's OD data is between (255,0,0) and (255,165,0), the traveler is labeled "High-traffic area travel"; if at least one corresponding RGB value in the traveler's OD data is between (255,165,0) and (165,255,0), the traveler is labeled "Medium-traffic area travel"; if neither of these two labels applies, the traveler is labeled "Low-traffic area travel".
[0056] Furthermore, the traveler profiling module extracts the following features from each traveler obtained by the travel chain extraction module, travel mode identification module, daily travel pattern identification module, and travel path traffic identification module as labels:
[0057] The travel time, travel distance, travel speed, and travel type characteristics of each traveler for each trip are obtained from the travel chain extraction module.
[0058] The travel mode characteristics of each traveler for each trip, obtained by the travel mode identification module;
[0059] The daily travel pattern characteristics of each traveler for each trip, obtained by the daily travel pattern recognition module;
[0060] The characteristics of high and low traffic volume of each traveler's travel path for each trip, obtained by the travel path traffic identification module;
[0061] Ultimately, travelers with the same labels will be grouped together to create a profile of a traveler group.
[0062] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0063] 1. For on-site data processed by mobile signaling data providers, a complete data preprocessing and travel chain extraction scheme is proposed, which improves the data cleaning and processing process for this type of data.
[0064] 2. Combining the route planning function of Amap with the clustering algorithm of log-Gaussian mixture model enhances the accuracy of travel mode identification for OD data.
[0065] 3. The feature extraction function of convolutional autoencoder is combined with the application of K-means clustering algorithm to generate superimposed images, which gives the recognition results of the daily travel patterns of each traveler a stronger interpretability.
[0066] 4. Linking the frequency of trips between different traffic zones at the macro level with the travel paths of individual travelers at the micro level helps technicians better identify the volume of people on each traveler's travel path.
[0067] 5. Based on the on-site data processed by the mobile signaling data provider, a user profiling system for urban travelers has been constructed, which is conducive to more accurate and efficient analysis of traveler behavior and empowers traffic demand management. Attached Figure Description
[0068] Figure 1 This is a schematic diagram showing the relationship between the various modules of the system of the present invention.
[0069] Figure 2 The diagram shows the effect of dividing the OD data into five clusters with significantly different travel times for the travel mode identification module. Cluster 1 to Cluster 5 represent the first to fifth clusters, respectively, and Mean represents the mean calculated by taking the logarithm of the travel time within the cluster.
[0070] Figure 3 The feature image generation module plots a curve image of a single traveler's "distance from home - time" for a single day, where Distance from Home (m) represents the distance from home in meters, and Time represents the date and time of the day.
[0071] Figure 4 This is a schematic diagram of the feature image generation module.
[0072] Figure 5 This diagram illustrates the clustering effect of the feature vectors in the travel mode classification module. Principal Component 1 and Principal Component 2 represent the two principal components whose feature vector size has been reduced to two dimensions for easier visualization of the clustering effect. Cluster 0 to Cluster 7 represent modes 1 to 8, respectively.
[0073] Figure 6 The final output of the travel mode classification module is an overlay image representing the daily travel patterns.
[0074] Figure 7 A schematic diagram of the travel expectation line map of Guangzhou City drawn for the travel route traffic identification module. Detailed Implementation
[0075] The present invention will be further described in detail below with reference to the embodiments and accompanying drawings, but the embodiments of the present invention are not limited thereto.
[0076] like Figures 1 to 6As shown, this embodiment discloses an urban traveler profiling system based on mobile phone signaling data. It is an urban traveler profiling system developed using Python and capable of running on Windows devices. The relationships between the system modules are as follows: Figure 1 As shown, it includes:
[0077] The data import module is used to load the station data and administrative division data that have been processed by the mobile signaling data provider, and to preprocess the station data in combination with the administrative division data to obtain station data that is non-repeating, whose latitude and longitude are within the administrative division of the city under study, and whose station data for each traveler is no less than 2.
[0078] The travel chain extraction module is used to identify the occupation and residence attributes of each station data in the data import module, match two station data with adjacent times into one OD data, remove meaningless data after calculating travel time, travel distance and travel speed, and identify the travel type based on the occupation and residence attributes of the origin and destination of the OD data.
[0079] The travel mode identification module divides the OD data obtained from the travel chain extraction module into multiple intervals according to the travel distance. It randomly selects OD data from each interval, calls the Amap route planning API, and calculates the average travel time of each selected OD data under different travel modes under Amap route planning. It then uses a log-Gaussian mixture model to cluster the travel time into n clusters. Based on the calculated average travel time of different travel modes, it matches the n travel modes with the n clusters to obtain the travel mode identification results for all OD data.
[0080] The daily travel pattern recognition module is used to draw a curve image of "distance from home - time". After compressing the curve image into a feature image, the feature image is input into a convolutional autoencoder to extract feature vectors. The K-means algorithm is used to classify the feature vectors extracted by the convolutional autoencoder into different categories. The feature images are then backtracked and superimposed to obtain a superimposed image representing the daily travel pattern.
[0081] The travel path traffic identification module is used to divide the city under study into traffic zones and identify whether there is a large amount of OD data between the two traffic zones where the origin and destination of each OD data point are located, so as to judge the traffic volume of the travel path from a macro perspective.
[0082] The traveler profiling module is used to extract multiple travel characteristics of each traveler obtained from the aforementioned travel chain extraction module, travel mode identification module, daily travel pattern identification module, and travel path traffic identification module as multiple tags, and then summarize the tags to form a population profile.
[0083] Specifically, the data import module includes a data loading module and a data preprocessing module, wherein:
[0084] The data loading module reads local CSV format station data within the Pearl River Delta city cluster, which has already been processed by the mobile signaling data provider. The specific fields are: the variable imsi representing the traveler ID, the longitude lon, latitude lat, station start time time1, and station end time time2 for each station; the city under study is set as Guangzhou, and the administrative division data of Guangzhou in shp format is read from local data to form the administrative division boundary of Guangzhou.
[0085] The data preprocessing module is used to filter the validity of the station data, as follows:
[0086] For duplicate types of abnormal data, they are directly removed from the context of tens of millions of mobile signaling data.
[0087] Using the geopandas library in Python, the latitude and longitude of the stationed data are matched with the administrative boundaries of Guangzhou to determine whether the latitude and longitude of the stationed data are within the scope of Guangzhou, and stationed data whose latitude and longitude are not within the scope of Guangzhou are removed.
[0088] The number of location data points for each traveler is counted. Travelers with fewer than two location data points are directly excluded from the context of tens of millions of mobile signaling data points.
[0089] Specifically, the travel chain extraction module includes a work-residence attribute identification module, an OD data matching module, and a travel type identification module, wherein:
[0090] The work-residence attribute identification module is used to identify the residential, work, or social attributes of each stop, as detailed below:
[0091] Define the time window for identifying home attribute as 0:00-7:00 per day and the time window for identifying work attribute as 9:00-17:00 per day. Calculate the number of minutes that overlap with the above two time windows for each station data point, and store the calculation results under the new fields home_overlap and work_overlap respectively.
[0092] The dwell time of a single stationary data point is calculated using time2-time1, in minutes.
[0093] For travelers with two checkpoint records on a single day, the values of home_overlap and work_overlap are compared. If home_overlap is greater than or equal to work_overlap and is greater than half the checkpoint duration, the checkpoint record is marked as "at home". If work_overlap is greater than or equal to home_overlap and is greater than half the checkpoint duration, the checkpoint record is marked as "at work".
[0094] For travelers with more than two location data entries in a single day, if home_overlap is greater than or equal to work_overlap, the location data entry is marked as "at home"; if work_overlap is greater than home_overlap, the location data entry is marked as "at work".
[0095] Extract the unique latitude and longitude of each traveler under the occupation-residence attribute tag, update the original data through Boolean index, so that the occupation-residence attribute of the station data with the same latitude and longitude is consistent, while the station data that is not successfully identified as occupation-residence attribute is all marked as "social", indicating social attribute;
[0096] The OD data matching module matches adjacent station data for each traveler. Adjacent station data are used as the start and end points of a single trip according to their time sequence. The time interval between time2 of the first station data and time1 of the second station data is used as the travel time. The straight-line distance between the latitude and longitude of adjacent station data is calculated using the WGS84 coordinate system and the semi-versus formula as the travel distance. The ratio of travel distance to travel time is used as the travel speed. Finally, OD data with specific characteristics of travel time within 5 to 180 minutes and travel distance greater than 0 are retained. Considering that the travel speed is calculated from the straight-line distance and travel time, the travel speed corresponding to the retained OD data should also be between 3 and 80 km / h.
[0097] The travel type identification module identifies the travel type corresponding to each OD data based on the origin and destination attributes, as follows:
[0098] If either the origin or destination is a home-based location, then the OD data entry is marked as "Home-based Travel"; otherwise, it is marked as "Non-Home-based Travel".
[0099] If the origin is a home-based destination and the destination is a work-based destination, or vice versa, then the OD data entry is marked as "Commuting Trip". If the origin is a work-based destination and the destination is a social destination, or vice versa, or both the origin and destination are work-based and the arrival time is before 5 PM, then the OD data entry is marked as "Business Trip". All other cases are marked as "Social Activity".
[0100] Specifically, the travel mode identification module is used to identify the primary travel mode used for a single trip from five modes of transportation: walking, cycling, driving, bus, and subway, as follows:
[0101] All OD data are divided into multiple intervals based on travel distance. When the travel distance is within 3km, each interval is divided into 500m intervals; when the travel distance is greater than 3km, each interval is divided into 1km intervals.
[0102] Based on the prevalence of electric bicycles in Guangzhou, and using travel distance as the standard, the identification threshold for walking is set at 3km, and the identification threshold for cycling is set at 6km: when the travel distance is greater than 3km, walking is not considered; when the travel distance is greater than 6km, neither walking nor cycling is considered.
[0103] For each interval, 5000 OD data points are randomly selected. The Gaode Map route planning API is called to plan routes for various travel modes for each selected OD data group, return the travel time corresponding to each travel mode, and calculate the average travel time for each travel mode.
[0104] For all OD data within the same interval, a log-Gaussian mixture model is established. The parameters of the log-Gaussian mixture model are estimated using the expectation-maximization algorithm. Then, clustering is performed through probability calculation, dividing the OD data into five clusters with significantly different travel times, such as... Figure 2 As shown;
[0105] The five modes of travel are assigned to five clusters according to their average travel time. The mode of travel for each cluster is used as the mode of travel identification result for the OD data of that cluster. The same operation is performed on the OD data of all intervals to obtain the main mode of travel identification results for all OD data.
[0106] Specifically, the daily travel pattern recognition module includes a feature image generation module, a feature vector extraction module, and a travel pattern classification module, wherein:
[0107] The feature image generation module is used to generate a feature image that reflects the change in distance from home over time, which is used as input to the feature vector extraction module. Specifically:
[0108] Using the WGS84 coordinate system and the semi-versus formula, the straight-line distance between all daily traveler's outpost data and their home attribute outpost data is calculated and used as "distance from home". The distance from home is plotted on the ordinate, and the time interval from 0:00 to 24:00 on the day is plotted on the abscissa, with the origin corresponding to both distance from home and time being 0. A curve graph of "distance from home - time" is then plotted as follows: Figure 3As shown, horizontal line segments are drawn within the dwell time period of the stationary data. The endpoints of adjacent line segments are connected by straight lines to represent the movement process between the coordinate points of the two stationary data points. If the leftmost horizontal line segment does not start from time 0h or the rightmost horizontal line segment does not end at time 24h, it is extended to time 0h or time 24h.
[0109] Convert each traveler's daily distance from home and time to a range of 0-25, create a blank JPEG image in RGB format and size 25*25, and draw dividing lines in the blank image based on the "distance from home - time" curve. Fill the area above the dividing lines with blue (RGB value (0,0,255)) and the area below with red (RGB value (255,0,0)). This will generate an image like... Figure 4 The feature image shown is used as the input to the subsequent convolutional autoencoder;
[0110] The feature vector extraction module extracts feature vectors representing the original features of the feature image by constructing a convolutional autoencoder. This module includes an encoder part and a decoder part, as detailed below:
[0111] a. The encoder part consists of a first convolutional layer, a first max pooling layer, a second convolutional layer, and a second max pooling layer connected in series. It takes an image of size (25,25,3) as input and sets the green channel value of RGB to 0. Here, 25 and 25 are the length and width units of the image, respectively, and 3 is the number of channels.
[0112] The first convolutional layer uses 16 convolutional kernels with a kernel size of (3,3), the activation function is ReLU, the padding method is same, and L2 regularization is used. The output size is (25,25,16). Then, it passes through the first max pooling layer with a pooling window of (2,2) and the padding method is same, reducing the feature image size to (13,13,16).
[0113] The second convolutional layer uses 16 convolutional kernels with a kernel size of (3,3), the activation function is ReLU, the padding method is same, and the output size is (13,13,16). Then, it passes through the second max pooling layer with a pooling window of (2,2) and the padding method is same, reducing the feature map size to (7,7,16).
[0114] b. The decoder consists of a first upsampling layer, a third convolutional layer, a second upsampling layer, a fourth convolutional layer, a fifth convolutional layer, and a sixth convolutional layer connected in series, and performs the following operations:
[0115] The first upsampling layer upsamples the feature map size from (7,7,16) to (14,14,16), and then passes it through the third convolutional layer with 16 kernels, a size of (3,3), a ReLU activation function, and the same padding method, resulting in an output size of (14,14,16).
[0116] The second upsampling layer upsamples the feature map size from (14,14,16) to (28,28,16), and then passes it through the fourth convolutional layer with 16 kernels, a size of (3,3), a ReLU activation function, same padding, and an output size of (28,28,16).
[0117] The fifth convolutional layer has 16 kernels with a size of (2,2), uses ReLU as the activation function, and adjusts the output size to (27,27,16).
[0118] Finally, the sixth convolutional layer is passed, with 3 kernels of size (3,3), ReLU activation function, and output size (25,25,3).
[0119] The feature vector extraction module uses the Adam optimizer with a learning rate of 0.001, a mean squared error as the loss function, a batch size of 256, and 50 training epochs to extract feature vectors from the feature images.
[0120] The travel pattern classification module uses the K-means algorithm to cluster the feature vectors output by the feature vector extraction module. The elbow method is used to determine the number of clusters to be 8. The clustering results are as follows: Figure 5 As shown, the category of each traveler's travel mode for the day is then labeled, the feature images are traced back, and feature images of the same category are superimposed to obtain the superimposed image as shown. Figure 6 As shown, the eight images from left to right and top to bottom represent the following daily travel patterns:
[0121] Pattern 1: Leaving Guangzhou at an earlier time or going to work at an earlier time and not returning home on the same day;
[0122] Pattern 2: Engaging in social activities in the evening after a regular workday;
[0123] Mode 3: Entering Guangzhou from other places or returning home after spending the night outside;
[0124] Mode 4: Only one temporary trip;
[0125] Pattern 5: Leaving Guangzhou at a late hour or going to work at a late hour and not returning home on the same day;
[0126] Mode 6: Regular commuting;
[0127] Pattern 7: Regular commuting with business trips or multiple social activities;
[0128] Pattern 8: Commuting late at night and having business trips that prevent them from returning home on the same day, or having multiple social activities that prevent them from returning home on the same day.
[0129] Specifically, the travel path traffic identification module identifies whether each trip occurs between two traffic zones with high overall travel frequency by analyzing the travel frequency between various traffic zones at a macro level, as follows:
[0130] Extract all latitude and longitude coordinates from the OD data and merge them into a two-dimensional array.
[0131] Based on the land area of Guangzhou, the number of traffic zones is set at 400. The K-means algorithm is used to cluster all latitude and longitude in the two-dimensional array to determine the cluster to which each latitude and longitude belongs. Each cluster represents a traffic zone. The latitude and longitude of the centroid of each traffic zone are used to replace the latitude and longitude in the OD data to generate new OD data.
[0132] The frequency of trips between each pair of centroids was counted, and each pair of centroids was sorted from highest to lowest frequency. Then, based on this sorting, a travel expectation line graph was plotted on a Guangzhou city map using the cartopy library in Python. Figure 7 As shown, during the drawing process, each pair of centroids is connected by straight lines in sequence. As the frequency of travel increases, the width of the connecting lines is gradually increased, the transparency is reduced, and the color gradually transitions from green with an RGB value of (0,255,0) to yellow with an RGB value of (255,255,0) and then to red with an RGB value of (255,0,0). Finally, the travel expectation line map within the Guangzhou city area is drawn.
[0133] For each traveler's daily OD data, the travel expectation line graph is traced back. If at least one corresponding RGB value in the traveler's OD data is between (255,0,0) and (255,165,0), the traveler is labeled "High-traffic area travel"; if at least one corresponding RGB value in the traveler's OD data is between (255,165,0) and (165,255,0), the traveler is labeled "Medium-traffic area travel"; if neither of these two labels applies, the traveler is labeled "Low-traffic area travel".
[0134] Specifically, the traveler profiling module extracts the following features from each traveler obtained by the travel chain extraction module, travel mode identification module, daily travel pattern identification module, and travel path traffic identification module as labels:
[0135] The travel time, travel distance, travel speed, and travel type characteristics of each traveler for each trip are obtained from the travel chain extraction module.
[0136] The travel mode characteristics of each traveler for each trip, obtained by the travel mode identification module;
[0137] The daily travel pattern characteristics of each traveler for each trip, obtained by the daily travel pattern recognition module;
[0138] The characteristics of high and low traffic volume of each traveler's travel path for each trip, obtained by the travel path traffic identification module;
[0139] Ultimately, travelers with the same labels will be grouped together to create a profile of a traveler group.
[0140] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A user profiling system for urban travelers based on mobile phone signaling data, characterized in that: include: The data import module is used to load the station data and administrative division data that have been processed by the mobile signaling data provider, and to preprocess the station data in combination with the administrative division data to obtain station data that is non-repeating, whose latitude and longitude are within the administrative division of the city under study, and whose station data for each traveler is no less than 2. The travel chain extraction module is used to identify the occupation and residence attributes of each station data in the data import module, match two station data with adjacent times into one OD data, remove meaningless data after calculating travel time, travel distance and travel speed, and identify the travel type based on the occupation and residence attributes of the origin and destination of the OD data. The travel mode identification module divides the OD data obtained from the travel chain extraction module into multiple intervals according to the travel distance. It randomly selects OD data from each interval, calls the Amap route planning API, and calculates the average travel time of each selected OD data under different travel modes under Amap route planning. It then uses a log-Gaussian mixture model to cluster the travel time into n clusters. Based on the calculated average travel time of different travel modes, it matches the n travel modes with the n clusters to obtain the travel mode identification results for all OD data. The daily travel pattern recognition module is used to draw a curve image of "distance from home - time". After compressing the curve image into a feature image, the feature image is input into a convolutional autoencoder to extract feature vectors. The K-means algorithm is used to classify the feature vectors extracted by the convolutional autoencoder into different categories. The feature images are then backtracked and superimposed to obtain a superimposed image representing the daily travel pattern. The travel path traffic identification module is used to divide the city under study into traffic zones and identify whether there is a large amount of OD data between the two traffic zones where the origin and destination of each OD data point are located, so as to judge the traffic volume of the travel path from a macro perspective. The traveler profiling module is used to extract multiple travel characteristics of each traveler obtained from the aforementioned travel chain extraction module, travel mode identification module, daily travel pattern identification module, and travel path traffic identification module as multiple tags, and then summarize the tags to form a population profile.
2. The urban traveler profiling system based on mobile phone signaling data according to claim 1, characterized in that, The data import module includes a data loading module and a data preprocessing module, wherein: The data loading module reads CSV format station data that has been processed by the mobile signaling data provider from the local machine. The specific required fields are: the variable imsi representing the traveler ID, the longitude lon, latitude lat, station start time time1, and station end time time2 for each station; and reads shp format administrative division data of the city under study from the local machine to form the administrative division boundary of the city. The data preprocessing module is used to filter the validity of the station data, as follows: For duplicate types of abnormal data, they are directly removed from the context of tens of millions of mobile signaling data. Using the geopandas library in Python, the latitude and longitude of the stationed data are matched with the administrative boundaries of the city under study to determine whether the latitude and longitude of the stationed data are within the city's boundaries, and stationed data whose latitude and longitude are not within the city's boundaries are removed. The number of location data points for each traveler is counted. Travelers with fewer than two location data points are directly excluded from the context of tens of millions of mobile signaling data points.
3. The urban traveler profiling system based on mobile phone signaling data according to claim 2, characterized in that, The travel chain extraction module includes a work-residence attribute identification module, an OD data matching module, and a travel type identification module, wherein: The work-residence attribute identification module is used to identify the residential, work, or social attributes of each stop, as detailed below: Define the time window for identifying home attribute as 0:00-7:00 per day and the time window for identifying work attribute as 9:00-17:00 per day. Calculate the number of minutes that overlap with the above two time windows for each station data point, and store the calculation results under the new fields home_overlap and work_overlap respectively. The dwell time of a single stationary data point is calculated using time2-time1, in minutes. For travelers with two checkpoint records on a single day, compare the values of home_overlap and work_overlap. If home_overlap is greater than or equal to work_overlap and is greater than half the checkpoint duration, then the checkpoint record is marked as "at home"; if work_overlap is greater than or equal to home_overlap and is greater than half the checkpoint duration, then the checkpoint record is marked as "at work". For travelers with more than two location data entries on a single day, if home_overlap is greater than or equal to work_overlap, the location data entry is marked as "at home"; if work_overlap is greater than home_overlap, the location data entry is marked as "at work". Extract the unique latitude and longitude of each traveler under the occupation-residence attribute tag, update the original data through Boolean index, so that the occupation-residence attribute of the station data with the same latitude and longitude is consistent, while the station data that is not successfully identified as occupation-residence attribute is all marked as "social", indicating social attribute; The OD data matching module matches adjacent station data for each traveler. Adjacent station data are used as the start and end points of a single trip according to their time sequence. The time interval between time2 of the first station data and time1 of the second station data is used as the travel time. The straight-line distance between the latitude and longitude of adjacent station data is calculated using the WGS84 coordinate system and the semi-versus formula as the travel distance. The ratio of travel distance to travel time is used as the travel speed. Finally, OD data with specific characteristics of travel time within 5 to 180 minutes, travel distance greater than 0, and travel speed between 3 and 80 km / h are retained. The travel type identification module identifies the travel type corresponding to each OD data based on the origin and destination attributes, as follows: If either the origin or destination is a home-based location, then the OD data entry is marked as "Home-based Travel"; otherwise, it is marked as "Non-Home-based Travel". If the origin is a home-based destination and the destination is a work-based destination, or vice versa, then the OD data entry is marked as "Commuting Trip". If the origin is a work-based destination and the destination is a social destination, or vice versa, or both the origin and destination are work-based and the arrival time is before 5 PM, then the OD data entry is marked as "Business Trip". All other cases are marked as "Social Activity".
4. The urban traveler profiling system based on mobile phone signaling data according to claim 3, characterized in that, The travel mode identification module identifies the primary travel mode used for a single trip from five modes of transportation: walking, cycling, driving, public transportation, and subway, as detailed below: All OD data are divided into multiple intervals based on travel distance. When the travel distance is within 3km, each interval is divided into 500m intervals; when the travel distance is greater than 3km, each interval is divided into 1km intervals. Based on the actual situation of the city studied, the identification thresholds for walking and cycling were set separately according to the travel distance: when the travel distance is greater than the identification threshold for walking, walking is not considered; when the travel distance is greater than the identification threshold for cycling, neither walking nor cycling is considered. For each interval, randomly select the required number of OD data, call the Gaode Map route planning API, plan routes for various travel modes for each selected OD data group, return the travel time corresponding to each travel mode, and calculate the average travel time for each travel mode. For all OD data within the same interval, a log-Gaussian mixture model is established. The parameters of the log-Gaussian mixture model are estimated using the expectation-maximization algorithm. Then, clustering is performed through probability calculation to divide the OD data into five clusters with significantly different travel times. The five modes of travel are assigned to five clusters according to their average travel time. The mode of travel for each cluster is used as the mode of travel identification result for the OD data of that cluster. The same operation is performed on the OD data of all intervals to obtain the main mode of travel identification results for all OD data.
5. The urban traveler profiling system based on mobile phone signaling data according to claim 4, characterized in that, The daily travel pattern recognition module includes a feature image generation module, a feature vector extraction module, and a travel pattern classification module, wherein: The feature image generation module is used to generate a feature image, which serves as input to the feature vector extraction module, reflecting the change in distance from home over time. Specifically: The WGS84 coordinate system and the semi-sine formula are used to calculate the straight-line distance between all daily station data and the home attribute station data of each traveler. This distance is used as the "distance from home". The distance from home is used as the vertical axis and the time from 0 to 24 hours of the day is used as the horizontal axis. The origin corresponds to the distance from home and time being 0. A curve graph of "distance from home - time" is plotted. Horizontal line segments are plotted within the station duration of the station data. The endpoints of adjacent line segments are connected by straight lines to represent the movement process between the coordinate points of two station data points. If the leftmost horizontal line segment does not start from time 0 or the rightmost horizontal line segment does not end at time 24, it is extended to time 0 or time 24. The distance and time of each traveler from home on a single day are converted to the range of 0-25. A blank JPEG image with an RGB format and a size of 25*25 is created. Based on the curve image of "distance from home-time", a dividing line is drawn in the blank image. The area above the dividing line is filled with blue with an RGB value of (0,0,255), and the area below the dividing line is filled with red with an RGB value of (255,0,0). The feature image is generated as the input of the subsequent convolutional autoencoder. The feature vector extraction module extracts feature vectors representing the original features of the feature image by constructing a convolutional autoencoder. This feature vector extraction module includes an encoder part and a decoder part, as detailed below: a. The encoder part consists of a first convolutional layer, a first max pooling layer, a second convolutional layer, and a second max pooling layer connected in series. It takes an image of size (25,25,3) as input and sets the green channel value of RGB to 0. Here, 25 and 25 are the length and width units of the image, respectively, and 3 is the number of channels. The first convolutional layer uses 16 convolutional kernels with a kernel size of (3,3), the activation function is ReLU, the padding method is same, and L2 regularization is used. The output size is (25,25,16). Then, it passes through the first max pooling layer with a pooling window of (2,2) and the padding method is same, reducing the feature image size to (13,13,16). The second convolutional layer uses 16 convolutional kernels with a kernel size of (3,3), the activation function is ReLU, the padding method is same, and the output size is (13,13,16). Then, it passes through the second max pooling layer with a pooling window of (2,2) and the padding method is same, reducing the feature map size to (7,7,16). b. The decoder consists of a first upsampling layer, a third convolutional layer, a second upsampling layer, a fourth convolutional layer, a fifth convolutional layer, and a sixth convolutional layer connected in series, and performs the following operations: The first upsampling layer upsamples the feature map size from (7,7,16) to (14,14,16), and then passes it through the third convolutional layer with 16 kernels, a size of (3,3), a ReLU activation function, and the same padding method, with an output size of (14,14,16). The second upsampling layer upsamples the feature map size from (14,14,16) to (28,28,16), and then passes it through the fourth convolutional layer with 16 kernels, a size of (3,3), a ReLU activation function, and the same padding method, resulting in an output size of (28,28,16). The fifth convolutional layer has 16 kernels with a size of (2,2), uses ReLU as the activation function, and adjusts the output size to (27,27,16). Finally, the sixth convolutional layer is passed, with 3 kernels of size (3,3), ReLU activation function, and output size (25,25,3). The feature vector extraction module uses the Adam optimizer with a learning rate of 0.001, a mean squared error as the loss function, a batch size of 256, and 50 training epochs to extract feature vectors from the feature images. The travel pattern classification module uses the K-means algorithm to cluster the feature vectors output by the feature vector extraction module, and uses the elbow method to determine the number of clusters. After clustering, the category to which each traveler's travel pattern belongs is marked. The feature images are backtracked, and the feature images of the same category are superimposed to obtain a superimposed image to represent the daily travel pattern.
6. The urban traveler profiling system based on mobile phone signaling data according to claim 5, characterized in that, The travel path traffic identification module identifies whether each trip occurs between two traffic zones with high overall travel frequency by analyzing the travel frequency between various traffic zones at a macro level. Specifically: Extract all latitude and longitude coordinates from the OD data and merge them into a two-dimensional array; The number of traffic zones is set artificially based on the city's land area. The K-means algorithm is used to cluster all latitude and longitude in the two-dimensional array to determine the cluster to which each latitude and longitude belongs. Each cluster represents a traffic zone. The latitude and longitude of the centroid of each traffic zone are used to replace the latitude and longitude in the OD data to generate new OD data. The frequency of trips between each pair of centroids was counted, and each pair of centroids was sorted from highest to lowest frequency. Then, based on the sorting, the cartopy library in Python was used to draw a travel expectation line graph on the map of the studied city. During the drawing process, each pair of centroids was connected by straight lines. As the frequency of trips increased, the width of the connecting lines was gradually increased, the transparency was decreased, and the color gradually transitioned from green with an RGB value of (0,255,0) to yellow with an RGB value of (255,255,0) and then to red with an RGB value of (255,0,0). Finally, the travel expectation line graph within the studied city area was completed. For each traveler's daily OD data, the travel expectation line graph is traced back. If at least one corresponding RGB value in the traveler's OD data is between (255,0,0) and (255,165,0), the traveler is labeled "High-traffic zone travel"; if at least one corresponding RGB value in the traveler's OD data is between (255,165,0) and (165,255,0), the traveler is labeled "Medium-traffic zone travel"; if neither of the above two labels applies, the traveler is labeled "Low-traffic zone travel".
7. The urban traveler profiling system based on mobile phone signaling data according to claim 6, characterized in that, The traveler profiling module extracts the following features from the travel chain extraction module, travel mode identification module, daily travel pattern identification module, and travel route traffic identification module as tags for each traveler: The travel time, travel distance, travel speed, and travel type characteristics of each traveler for each trip are obtained from the travel chain extraction module. The travel mode characteristics of each traveler for each trip, obtained by the travel mode identification module; The daily travel pattern characteristics of each traveler for each trip, obtained by the daily travel pattern recognition module; The characteristics of high and low traffic volume of each traveler's travel path for each trip, obtained by the travel path traffic identification module; Ultimately, travelers with the same labels will be grouped together to create a profile of a traveler group.