Information processing program, information processing method, and information processing device

By using statistical data and aggregated observation data to optimize model parameters, the program effectively simulates resident movements, addressing the lack of raw data in social policy simulations and enhancing the accuracy of behavior prediction.

WO2025158638A1PCT designated stage Publication Date: 2025-07-31FUJITSU LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/002322
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-26
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

The challenge of generating highly accurate activity models for simulating resident movements in social policy simulations is hindered by the lack of available raw activity data due to privacy concerns and high acquisition costs, making it difficult to create precise action selection models.

Method used

An information processing program that generates learning data based on statistical data and aggregated observation data to optimize model parameters, enabling the creation of a behavior selection model capable of simulating resident movements accurately even without recent activity data.

Benefits of technology

This approach allows for the generation of highly accurate simulations of resident movements, facilitating simulations of social policies and predicting changes in behavior, even in environments where raw activity data is unavailable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024002322_31072025_PF_FP_ABST
    Figure JP2024002322_31072025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention improves the accuracy of simulating movement of residents. An information processing device (10) generates training data (5a, 5b, ...) on the basis of statistical data (1) of the movement of a first plurality of residents. On the basis of the training data (5a, 5b, ...), the information processing device (10) trains a first activity selection model (2) that outputs first activity data (5a-2) upon receiving input of human attribute data (5a-1). The information processing device (10) optimizes the values of the model parameters of the first activity selection model (2) on the basis of aggregated observation data (3) obtained by aggregating observation results of the movement of a second plurality of residents. The information processing device (10) then outputs second activity data of the second plurality of residents by performing a simulation using a second activity selection model (8), the model parameter values of which have been optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing program, information processing method, and information processing device

[0001] The present invention relates to an information processing program, an information processing method, and an information processing device.

[0002] One type of computer-based simulation technology is social policy simulation technology. Social policy simulation technology reproduces people's behavior, which changes depending on the situation, on a computer, predicting changes in people's behavior and making it possible to verify the effects and impacts of policies in advance. Because social policy simulation technology is useful for verifying social policies in advance, it can also be called digital rehearsal technology. Social policy simulation technology is, for example, a technology that reproduces people's behavior on a digital twin and performs simulations to predict changes in people's behavior. A digital twin is a copy of the real world that is recreated in a virtual space based on information collected from a real space.

[0003] In particular, in simulations of social policies related to human mobility, a human behavioral choice model is used to simulate the behavioral changes that occur in response to social policies. This model simulates the behavioral choices that constitute human activity, such as time, place, purpose, and mode of transportation. A behavioral choice model, sometimes called an activity model, determines the behavioral choices that people with certain attributes will make under given circumstances. For example, a behavioral choice model can generate data (activity data) that indicates the behavioral (activity) content of each individual in a synthetic population, i.e., the purpose and type of travel that each individual will undertake, based on the personal attributes of that individual, for synthetic population data, which is a virtual simulating the population of a specific region created based on demographic information for that region. Activity data generally consists of dynamic information that changes depending on the time of day.

[0004] Common computer-based model generation techniques include model training using machine learning and deep learning, but because the amount of training data required is large, distributed model training devices have been proposed. Furthermore, an activity model simulator equipped with various activity models has been released as an OSS to train and simulate activity models (also called activity-based models) that mimic human behavioral choice models. Furthermore, formulations and solution approaches for calibrating activity-based travel demand model systems using microsimulation have also been proposed.

[0005] Japanese Patent Application Laid-Open No. 2022-058328

[0006] "ActivitySIM: An open platform for activity-based travel modeling", [Retrieved January 24, 2024], Internet <URL: https: / / activitysim.github.io / > Siyu Chen, A. Arun Prakash, Carlos Lima De Azevedo, Moshe Ben-Akiva, "Formulation and solution approach for calibrating activity-based travel demand model-system via microsimulation", Transportation Research Part C: Emerging Technologies, Volume 119, October 2020, Article 102650

[0007] If actual activity data (raw activity data) matching the environment (region, period, situation, etc.) targeted by a social policy simulation can be obtained, the activity data can be used as training data to create a highly accurate activity model as a highly accurate behavioral selection model for the actual movements of individual residents. However, due to issues such as privacy protection and acquisition costs, it is difficult to freely obtain a sufficient amount of raw activity data. Therefore, with conventional technologies, raw activity data cannot be obtained in the environment targeted by the social policy simulation, and a highly accurate behavioral selection model, i.e., a highly accurate activity model, cannot be generated for the social policy simulation in that environment. As a result, it is difficult to perform a highly accurate movement simulation of individual residents in an arbitrary environment for the purpose of simulating social policies, etc.

[0008] In one aspect, the present invention aims to improve the accuracy of resident movement simulations.

[0009] One proposal provides an information processing program that causes a computer to perform the following processes. The computer generates learning data based on statistical data on the movements of a first plurality of residents, including person attribute data indicating attributes of a plurality of virtual residents and first activity data indicating the purposeful movements of each of the plurality of virtual residents. The computer learns a first behavioral selection model based on the learning data, which outputs the first activity data when the person attribute data is input. The computer optimizes values ​​of model parameters that affect the output of the first behavioral selection model based on aggregated observation data that aggregates observation results of the movements of a second plurality of residents. The computer then simulates the movements of the second plurality of residents using the second behavioral selection model with the optimized model parameter values, thereby outputting second activity data indicating the purposeful movements of each of the second plurality of residents.

[0010] According to one aspect, the accuracy of population movement simulation is improved. These and other objects, features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings illustrating preferred embodiments of the present invention by way of example.

[0011] 1 is a diagram illustrating an example of an information processing method according to a first embodiment; FIG. 2 is a diagram illustrating an example of a system configuration according to a second embodiment; FIG. 3 is a diagram illustrating an example of server hardware; FIG. 4 is a diagram illustrating an example of a survey target area; FIG. 5 is a diagram illustrating an example of activity data; FIG. 6 is a diagram illustrating an example of movement routes for each tour of residents shown in the activity data; FIG. 7 is a block diagram illustrating an example of functions of a server for human movement simulation; FIG. 8 is a diagram illustrating an example of a behavior selection model; FIG. 9 is a diagram illustrating an example of simulation data; FIG. 10 is a diagram illustrating an example of a method for generating activity data in a behavior selection model; FIG. 11 is a diagram illustrating an example of a learning method for a behavior selection model; FIG. 12 is a diagram illustrating an example of statistical data; FIG. 13 is a diagram illustrating an example of learning data; FIG. 14 is a diagram illustrating an example of aggregated observation data; FIG. 15 is a diagram illustrating an example of functions of a model learning unit; FIG. 16 is a diagram illustrating an example of a group of generation setting files; FIG. 17 is a diagram illustrating an example of a probabilistic activity determination method; FIG. 18 is a diagram illustrating an example of a method for determining a variation range; FIG. 19 is a diagram illustrating an example of a process for adding learning data according to missing model parameters; FIG. 20 is a diagram illustrating an example of a process for excluding a group of model parameters with low reliability;

[0012] The present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented by combining multiple embodiments within a consistent range. [First Embodiment] The first embodiment is an information processing method that generates a highly accurate behavior selection model regarding the movements of residents in a surveyed area, even if recent activity data for the area is not available, and enables highly accurate movement simulation.

[0013] Fig. 1 is a diagram illustrating an example of an information processing method according to a first embodiment. Fig. 1 shows an information processing device 10 that implements the information processing method according to the first embodiment. The information processing device 10 can implement the information processing method according to the first embodiment by, for example, executing an information processing program.

[0014] The information processing device 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.

[0015] The memory unit 11 stores statistical data 1, a first behavioral selection model 2, aggregated observation data 3, and simulation data 4. The statistical data 1 is data showing statistics of purposeful movements of a first plurality of residents. The statistical data 1 is obtained, for example, by surveying residents of a specific first area. For example, the statistical data 1 shows statistics on the personal attributes (age, gender, household composition, employment status, etc.) of residents of the first area, and statistics on how many people with specified personal attributes (age, gender, etc.) made the corresponding movement during each time period and for each purpose of movement.

[0016] The first behavioral choice model 2 is a learning model that inputs the personal attributes of residents in a specific area and outputs zero or more trips for those residents. Zero trips means no trips, i.e., no trips from home. One or more trips is, for example, a series of trips from leaving home, traveling to a destination, stopping off at a stop, and then traveling home. The first behavioral choice model 2 is composed of multiple behavioral choice models for each activity element, such as the purpose of the trip, location (destination), travel time (departure time, etc.), and mode of transportation. Like general behavioral choice models, each behavioral choice model is composed of a discrete choice model having a utility function formula that expresses the utility indicating the satisfaction level when each option is selected and multiple model parameters (model parameter group 2a) corresponding to the utility function formula. Therefore, the type of trip that a resident will take is determined using these satisfaction values, i.e., the values ​​of the multiple model parameters for each model. Note that multiple model parameters are not stored for each resident, but are generally generated for any resident's attributes, such as the resident's place of residence or personal attributes.

[0017] The aggregated observation data 3 is, for example, the observation results of aggregating the movements of a second plurality of residents with unknown purposes, and is aggregated data. The aggregated observation data 3 is, for example, the aggregated observation results of the movement status of residents in a second area that is the subject of a survey of residents' movements, such as through a social policy simulation, and is data showing aggregate statistics. The movements of residents with unknown movement purposes can be observed based on the location information of the mobile communication devices carried by the residents, but from the perspective of protecting personal information, the information is processed into aggregated information rather than information for each resident, and is provided as aggregated observation data 3 of aggregate statistics. The aggregated observation data 3 shows, for example, the number of people from the departure point to the destination for each pair of time period and person attributes. The observed second residents are, for example, residents of a second area different from the first area where the residents surveyed in statistical data 1 live.

[0018] The simulation data 4 is input data for executing a simulation of the movement of residents of the second area. The simulation data 4 includes, for example, human attribute data 4a of the residents of the second area.

[0019] The processing unit 12 uses the data stored in the storage unit 11 to generate a highly accurate behavior selection model regarding the movement of residents and execute a highly accurate simulation. For example, the processing unit 12 generates learning data 5a based on statistical data 1, including person attribute data 5a-1 indicating the attributes of multiple virtual residents and first activity data 5a-2 indicating the purposeful movements of each of the multiple virtual residents. The first activity data 5a-2 indicates, in time series, one or more movements of residents having the attributes indicated in the person attribute data 5a-1. Similarly, the processing unit 12 repeats the generation of learning data similar to the learning data 5a, and generates learning data 5b based on statistical data 1, for example, including person attribute data for multiple virtual residents and first activity data indicating their movements. In this way, the processing unit 12 generates learning data 5a, 5b, ...

[0020] Next, as model training, the processing unit 12 trains a first behavior selection model 2 that outputs first activity data 5a-2 when person attribute data 5a-1 is input, based on the training data 5a. For example, using the person attributes 5a-1 of the training data 5a, the processing unit 12 trains and generates a model parameter group 6a for the utility function formula of the behavior selection model using maximum likelihood estimation or the like, similar to a multiple-choice selection question for a general behavior selection model, so that the result of selecting an option (selection candidate) that maximizes the utility value of the utility function formula for the first behavior selection model 2 approaches the first activity data 5a-2. Similarly, the processing unit 12 repeats model training similar to the training and generation of the model parameter group 6a for the training data 5a, and trains and generates a model parameter group 6b for the training data 5b, for example, using the person attributes and first activity data of the training data 5b. In this way, the processing unit 12 trains and generates model parameter groups 6a, 6b, ..., each of which includes the values ​​of multiple model parameters that affect the output of the first behavior selection model 2.

[0021] The processing unit 12 calculates statistics of the values ​​of each model parameter based on, for example, the model parameter groups 6a, 6b, ..., and generates model parameter statistical information 7. The model parameter statistical information 7 includes, for example, the minimum value, maximum value, average value, median value, standard deviation, etc. of each model parameter. Since there is at most one model parameter for each model learning result, i.e., for each model parameter group 6a, 6b, ..., the model parameter statistical information 7 is calculated as statistics of those values.

[0022] The processing unit 12 optimizes the model parameter values ​​of the first behavior selection model 2 based on the aggregated observation data 3. For example, the processing unit 12 determines the initial values, variation ranges, etc. of the model parameter values ​​in the optimization process based on the model parameter statistical information 7. The variation range of the model parameter values ​​is determined, for example, from changes in the model parameter values ​​during the learning process. For example, the minimum and maximum values ​​of a certain model parameter in the model parameter statistical information 7 are used to determine the variation range within which changes in the value of that model parameter are allowed. Furthermore, the average or median value of the model parameter values ​​is used, for example, as the initial value of the model parameter value in the optimization.

[0023] Then, for example, when the processing unit 12 inputs the personal attributes of the same number of residents as the number of people shown in the aggregated observation data 3 into the first behavior selection model 2, it optimizes the values ​​of the model parameters so that the aggregated statistical information of the activity data of each resident that is output is consistent with the content of the aggregated observation data 3. This results in a second behavior selection model 8 including a set of model parameters 8a with optimized values.

[0024] The processing unit 12 uses the second behavior selection model 8 to simulate the movements of the second plurality of residents based on the simulation data 4, and outputs a simulation result 9. The simulation result 9 includes second activity data indicating the purposeful movements of each of the second plurality of residents.

[0025] In this way, even if accurate survey results (e.g., raw activity data) on the individual movements of residents in the first and second regions are not available, it is possible to generate a second behavioral selection model 8 that estimates the individual movements of residents in the second region. Then, a simulation using the second behavioral selection model 8 can be performed to obtain second activity data that indicate the individual movements of residents in the second region.

[0026] The first activity data 5a-2, ... of the learning data 5a, 5b, ... generated based on the statistical data 1, which is an aggregated statistic, is created by calculation and does not represent the accurate movements of each resident. Therefore, the model parameter set 6a, 6b, ... obtained by training the first behavior selection model 2 using the learning data 5a, 5b, ... does not have optimal values. By optimizing such model parameter set 6a, 6b, ... based on the aggregated observation data 3 of the second region, a second behavior selection model 8 is obtained that can predict the movements of each resident with high accuracy. By performing a simulation using the second behavior selection model 8, a simulation result 9 that accurately reflects the movements of each resident is obtained.

[0027] During optimization, for example, the processing unit 12 searches for optimal values ​​of the model parameters within the range of variation of the model parameter values ​​based on the model parameter statistical information 7. This narrows the search space in optimization, allowing the processing unit 12 to efficiently perform the optimization process.

[0028] Furthermore, in the process of generating the training data, the processing unit 12 generates, for example, a plurality of training data 5a, 5b, .... As a result, in the training process, a value for each of the plurality of model parameters is obtained for each of the training data 5a, 5b, .... By obtaining a plurality of values ​​for each model parameter, it becomes possible to calculate an appropriate variation range for the value of the model parameter based on statistical information of the obtained values.

[0029] The statistical data 1 is, for example, aggregated statistical data obtained by statistically processing the results of a survey on the purpose of travel of a first plurality of residents under first conditions. The aggregated observation data 3 is aggregated data obtained by statistically processing the results of observations of the travel of a second plurality of residents under second conditions other than the first conditions. The first condition, for example, is that the area in which the first plurality of residents reside is a first region, and the second condition, for example, is that the area in which the second plurality of residents reside is a second region. Because the optimization process is performed using the aggregated observation data 3, the learning process of the first behavioral selection model 2 may have low accuracy. Therefore, even if the conditions of the residents surveyed in the statistical data 1 differ from the conditions of the residents observed in the aggregated observation data 3, a highly accurate second behavioral selection model 8 is ultimately obtained. This improves the versatility of application of resident travel simulations.

[0030] For example, investigating the purpose of residents' travel requires time-consuming work such as interviewing residents. Therefore, the areas or survey periods in which statistical data 1 including the purpose of travel can be obtained are very limited. On the other hand, information that simply uses information on travel, such as aggregated observation data 3, can be collected relatively easily by tracing the movement trajectories of mobile communication devices. With the process shown in Figure 1, it is only necessary to obtain aggregated observation data 3 from the areas surveyed by the simulation, making it possible to predict the movement of residents in various areas through simulation.

[0031] The first and second conditions can also be set to conditions relating to the time periods for which information is to be acquired. For example, the first condition can be set to a first time period during which a first plurality of residents moved, and the second condition can be set to a second time period, different from the first time period, during which a second plurality of residents moved. By setting conditions relating to different time periods in this way, it is possible to accurately simulate the current or future movement of residents, for example, by using statistical data 1 obtained from a past survey and aggregated observation data 3 obtained from recent observations.

[0032] 1 may be divided, and data for some of the processes may be stored in the storage unit 11. When necessary, the stored processing data may be retrieved from the storage unit 11 to execute the remaining processes. For example, the processing unit 12 performs processes up to creating a first behavior selection model for a first region, and stores a model parameter set 2a of the created first behavior selection model and model parameter statistical information 7 in the storage unit 11. Then, when a simulation for a second region is required, the processing unit 12 retrieves the model parameter set 2a of the first behavior selection model and the model parameter statistical information 7 from the storage unit 11, and creates a second behavior selection model 8 by optimization using aggregated observation data 3 for the second region, and performs a simulation using simulation data 4 for the second region.

[0033] In addition to the above, for example, the processing may be divided at the point where the processing unit 12 creates person attribute data 5a-1, 5b-1, ... for learning data generation, and the person attribute data 5a-1, 5b-1, ... may be stored in the storage unit 11. Since the types of statistical data for the first region used in creating the person attribute data and creating the first activity data are different, it is conceivable that the processing unit 12 creates person attribute data 5a-1, 5b-1, ... and stores it in the storage unit 11 when it obtains the latest statistics for the statistical data to be used.

[0034] Furthermore, a representative city in the country may be selected in advance as the first region in order to use the first behavior selection model 2 and model parameter statistical information 7, which are similar as possible to the second region that is likely to be the subject of the simulation (same region in the country, same urban development level (metropolitan level), etc.). In this case, the processing unit 12 creates the first behavior selection model 2 and model parameter statistical information for the first region in advance and stores them in the storage unit 11.

[0035] By storing some of the results of the processing unit 12 in the storage unit 11, it is possible to execute only the optimal processing at the optimal timing, thereby reducing processing time costs. The output second activity data can be used in a digital twin. For example, the processing unit 12 uses the second activity data to perform a simulation on the digital twin to predict changes in the behavior of a second plurality of residents. Specifically, if an increase in the population of a second area is expected, the processing unit 12 acquires second activity data corresponding to the increased population using the second behavior selection model 8. The processing unit 12 then reproduces people's movements in a virtual space that mimics real space based on the acquired second activity data. This allows predicted traffic congestion conditions to be reproduced in the virtual space. As a result, it becomes possible to visually and easily grasp the need for social measures such as the development of transportation networks.

[0036] Second Embodiment The second embodiment is a computer system that executes a highly accurate simulation of a region to be surveyed.

[0037] 2 is a diagram illustrating an example of a system configuration according to the second embodiment. For example, a server 100 that executes a simulation is connected to a network 20. A user instructs the server 100 to execute a simulation via a terminal device 30 that is also connected to the network 20. For example, the user inputs a region to be surveyed into the terminal device 30. The terminal device 30 specifies the region to be surveyed and requests the server 100 to perform a simulation of the movement of residents in that region.

[0038] In response to a request from the terminal device 30, the server 100 executes a simulation of the movement of residents in a specified area. The simulation result includes activity data. The activity data indicates, for example, the movement status of each of multiple residents in the area (virtual residents having the same attributes as real residents) for commuting, shopping, etc.

[0039] 3 is a diagram illustrating an example of server hardware. The entire server 100 is controlled by a processor 101. A memory 102 and multiple peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), or a digital signal processor (DSP). At least some of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an application specific integrated circuit (ASIC) or a programmable logic device (PLD).

[0040] The memory 102 is used as a main storage device of the server 100. The memory 102 temporarily stores at least a portion of the OS (Operating System) programs and application programs to be executed by the processor 101. The memory 102 also stores various data used in processing by the processor 101. The memory 102 may be, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory).

[0041] The peripheral devices connected to the bus 109 include a storage device 103 , a GPU (Graphics Processing Unit) 104 , an input interface 105 , an optical drive device 106 , a device connection interface 107 , and a network interface 108 .

[0042] The storage device 103 electrically or magnetically writes and reads data to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for the server 100. The storage device 103 stores an OS program, application programs, and various data. Note that the storage device 103 may be, for example, a hard disk drive (HDD) or a solid state drive (SSD).

[0043] The GPU 104 is an arithmetic unit that performs image processing. The GPU 104 is an example of a graphics controller. A monitor 21 is connected to the GPU 104. The GPU 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. The monitor 21 may be a display device using organic electroluminescence (EL) or a liquid crystal display device.

[0044] The input interface 105 is connected to a keyboard 22 and a mouse 23. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

[0045] The optical drive device 106 uses a laser beam or the like to read data recorded on an optical disc 24 or write data to the optical disc 24. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflected light. Examples of the optical disc 24 include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (Rewritable).

[0046] The device connection interface 107 is a communication interface for connecting peripheral devices to the server 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a function for communicating with the device connection interface 107. The memory reader / writer 26 is a device for writing data to the memory card 27 or reading data from the memory card 27. The memory card 27 is a card-type recording medium.

[0047] The network interface 108 is connected to the network 20. The network interface 108 transmits and receives data to and from other computers or communication devices via the network 20. The network interface 108 is a wired communication interface that is connected by a cable to a wired communication device such as a switch or a router. The network interface 108 may also be a wireless communication interface that is connected by radio waves to a wireless communication device such as a base station or an access point.

[0048] The server 100 can realize the processing functions of the second embodiment by using the hardware described above. The device shown in the first embodiment can also be realized by using hardware similar to that of the server 100 shown in FIG. 3.

[0049] The server 100 realizes the processing functions of the second embodiment by executing a program recorded on, for example, a computer-readable recording medium. The program describing the processing to be executed by the server 100 can be recorded on various recording media. For example, the program to be executed by the server 100 can be stored in the storage device 103. The processor 101 loads at least a portion of the program from the storage device 103 into the memory 102 and executes the program. The program to be executed by the server 100 can also be recorded on a portable recording medium such as the optical disk 24, the memory device 25, or the memory card 27. The program stored on the portable recording medium becomes executable after being installed on the storage device 103 under the control of, for example, the processor 101. The processor 101 can also read and execute the program directly from the portable recording medium.

[0050] Such a server 100 runs a simulation of the movement of residents in a surveyed area and outputs simulation results including activity data. The simulation results are effectively used, for example, as a simulation of social policies. For example, by running a simulation that reproduces the movement of people in a surveyed area, it becomes possible to confirm in advance the movement of people throughout the area when a transportation network is developed for the area (by building roads or adding bus routes). In this case, the movement of people with certain attributes and in what ways is represented by activity data.

[0051] The survey area is divided into, for example, multiple areas. In the travel simulation, travel within an area is not analyzed, so the area is divided taking into account the type of travel to be analyzed. However, it is preferable that the size of the area is the same as or larger than the departure and destination points of the aggregated observation data 3 in Figure 1 and the second area of ​​the simulation data 4. For example, the area may be divided by attributes such as business districts, residential areas, and industrial areas, or areas with the same train line may be divided into multiple areas based on distance, etc., in accordance with a train route map. The areas may also be determined based on the city, ward, town, or village of a local government.

[0052] 4 is a diagram showing an example of a survey area. In the example of FIG. 4, the survey area 40 is divided into four areas 41 to 44. The name of area 41 is "Zone A," the name of area 42 is "Zone B," the name of area 43 is "Zone C," and the name of area 44 is "Zone D." The server 100 generates activity data indicating the movement patterns of residents of the survey area 40.

[0053] 5 is a diagram showing an example of activity data. The activity data 50 includes, for example, tour data 51 and trip data 52. The tour data 51 is data indicating a series of movements (tours) in which the departure and arrival points are the same, from when a resident leaves home until when they return home. The trip data 52 is data indicating individual movements (trips) including movements to stopover points within the tour.

[0054] A record for each tour for each of multiple residents is registered in the tour data 51. Each record in the tour data 51 includes information on items such as "tour ID," "head household member ID," "household ID," "tour type," "mandatory," "destination," "departure point," "departure time zone," "arrival time zone," and "transportation method."

[0055] The item "Tour ID" is the identifier of the tour undertaken by the resident. The item "Head Household Member ID" is the identifier of the representative of the household to which the resident who undertook the tour belongs. The item "Household ID" is the identifier of the household to which the resident who undertook the tour belongs. The item "Tour Type" is the type of tour undertaken (commuting, travel, etc.). The item "Is Required" is information on whether the tour in question is required on a daily basis. The item "Destination" is the area to which the main destination of the tour travel belongs. The item "Departure Point" is the area to which the departure point of the tour travel belongs. The item "Departure Time Zone" is the time zone to which the tour departure time belongs (what time of day). The item "Arrival Time Zone" is the time zone to which the tour arrival time belongs (what time of day). The item "Transportation Means" is the main means of transportation to the destination.

[0056] A record for each trip is registered in the trip data 52. Each record in the trip data 52 includes information on items such as "trip ID," "household member ID," "household ID," "tour ID," "outbound trip," "purpose," "destination," "departure point," "departure time zone," and "transportation means."

[0057] The item "Trip ID" is the identifier of the trip. The item "Household Member ID" is the identifier of the resident who took the tour including the trip. The item "Household ID" is the identifier of the household to which the resident who took the tour including the trip belongs. The item "Tour ID" is the identifier of the tour including the trip. The item "Outbound" is information indicating whether the trip is an outbound trip ("True" if it is an outbound trip, "False" if it is not an outbound trip). The item "Purpose" is the purpose of the trip (commuting, shopping, eating, etc.). The item "Destination" is the area to which the destination of the trip belongs. The item "Departure" is the area to which the departure point of the trip belongs. The item "Departure Time Zone" is the time zone to which the departure time of the trip belongs (what time it is). The item "Transportation" is the main means of transportation used to travel to the destination of the trip.

[0058] Based on such activity data 50, the travel route of a resident for each tour is understood. FIG. 6 is a diagram showing an example of the travel route of a resident for each tour shown in the activity data. For example, tour ID "0001" is a tour for a resident in area "Zone A." This tour includes four trips. The purpose of this tour is commuting. On the outbound leg of the tour, the resident commutes directly to area "Zone B." On the return leg, the resident does some shopping in area "Zone C" on the way home and eats in area "Zone A."

[0059] Tour ID "0002" is a tour for residents of area "Zone A." This tour includes two trips. The purpose of this tour is commuting. On the outbound journey, the residents commute directly to area "Zone D." On the return journey, they return home without making any detours along the way.

[0060] When simulating social policies, activity data tailored to the target environment of the social policy simulation is generated through the simulation. To generate the activity data, for example, a behavioral selection model can be used that outputs activity data for the target area based on the demographics of the surveyed area where the social policy will be implemented.

[0061] For example, prior to simulating a social policy, a behavioral selection model of human activity that matches observed values ​​related to human movement is created. Then, using the behavioral selection model, activity data for a group of people's attributes in the area that is the target of the social policy simulation is generated by simulation.

[0062] To accurately generate activity data using a behavioral selection model, it is important to properly train the behavioral selection model and improve the accuracy of predicting residents' movements.To train the behavioral selection model with high accuracy, it is possible to obtain raw activity data obtained from survey results of actual residents' movements and use this raw activity data as correct training data.

[0063] As shown in Figures 5 and 6, the activity data 50 includes not only when and how residents traveled, but also the purpose of the travel. The purpose of the travel is useful for estimating responses to social measures confirmed through social policy simulations. For example, if the purpose of the travel is work, the destination cannot be changed, but if the purpose of the travel is shopping, the destination may be changed for simple reasons.

[0064] Information about how a resident moves is held, for example, by a mobile telecommunications carrier (carrier). Carriers can obtain each user's movement information from the user's personal information and the location information of the mobile communication terminal. However, from the perspective of protecting personal information, the information available from carriers is limited to OD (Origin-Destination) data, which prevents individuals from being identified. OD data indicates, for example, for each person's attribute (gender, age), the number of people with that attribute who moved across areas within a specific time period, for each pair of origin and destination areas. OD data does not provide insight into the connections between individuals' movements, such as whether an individual who moves to a destination in a certain time period will move to the next time period, or, if so, to which destination.

[0065] Although it is possible to obtain statistical information on residents' movements from carriers, the carriers do not have information on the purpose of the movements. Therefore, OD data alone does not constitute activity data that includes the purpose of the movements, and since it is aggregated data, it is not possible to grasp the connections between the movements of individual residents.

[0066] Examples of statistical data including the purpose of travel include TUS (Time Use Survey) statistics and PT (Person Trip) statistics. TUS statistics are statistical information about how people spend their time during a specific time period, based on their attributes, such as "23% of men in their 40s commute to work in the 7 o'clock hour, 18% have breakfast, etc." PT statistics are statistical information about people's travel, such as "25 men in their 40s commute from Zone A to Zone B at 7 o'clock, and 20 go shopping, etc."

[0067] Statistical data such as TUS statistics and PT statistics show the purpose of travel, but because, like OD data, this data is aggregated, it is not possible to recreate the connections between the travel of individual residents. For example, even if we know that several men in their 40s commute from Zone A to Zone B at 7:00 AM, we cannot tell whether a person who goes shopping from Zone B to Zone A at 5:00 PM is returning home from work or whether it is a different person. In this way, statistical data alone cannot accurately recreate the connections between the travel of individual residents.

[0068] Furthermore, obtaining information on the purpose of travel requires time-consuming interviews with residents, and only information is available for a limited period of time and in a limited area. As a result, it is not always possible to obtain the most recent statistical data for areas where social policies are implemented.

[0069] Therefore, the server 100 generates activity data using available statistical data and uses this activity data as training data for the behavioral selection model. Because activity data created from statistical data differs significantly from actual data, the accuracy of a behavioral selection model that is simply trained is low. Therefore, the server 100 optimizes the model parameters of the generated behavioral selection model using actual aggregated observation data (e.g., OD data) of movements with unknown purposes in the area being surveyed. This results in a behavioral selection model that can generate activity data for the area with high accuracy. Using this behavioral selection model, it becomes possible to perform a simulation that accurately predicts the time-series purposeful movements of residents in an area where social measures are being implemented.

[0070] 7 is a block diagram showing an example of the functions of a server for simulating human movement. The server 100 includes a storage unit 110, a model learning unit 120, an optimization unit 130, and a model utilization unit 140.

[0071] The storage unit 110 stores a behavior selection model 111 , statistical data 112 , model parameter statistical information 113 , aggregated observation data 114 , an optimized model parameter group 115 , simulation data 116 , and activity data 117 .

[0072] The behavioral selection model 111 is a learning model that receives demographic data for a specific area and outputs activity data indicating the travel schedule of each resident of the area. The behavioral selection model 111 can be, for example, a discrete choice model.

[0073] The statistical data 112 is statistical data of information relating to people's purposeful movements obtained by questionnaire surveys, etc. For example, the statistical data 112 includes TUS statistics or PT statistics.

[0074] The statistical data 112 may be statistical data on the movements of residents in areas other than the area being surveyed. If the statistical data 112 is statistical data on the movements of residents in the area being surveyed, the accuracy of learning the initial behavior selection model 111 is improved.

[0075] The model parameter statistical information 113 is statistical information on model parameter values ​​obtained from each of a plurality of training data sets. For example, the model parameter statistical information 113 indicates values ​​such as the variation range of the model parameters, the average and standard deviation of the model parameters, etc.

[0076] The aggregated observation data 114 is data obtained from observation results of movement status across areas in the surveyed region. For example, the aggregated observation data 114 is OD data. The optimized model parameter group 115 is a model parameter group optimized to generate activity data of residents in the surveyed region with high accuracy.

[0077] The simulation data 116 is data related to the population and living environment in the region that is the target of the simulation. For example, the simulation data 116 includes human attribute data such as the population of each area in the region that is the target of the simulation and the number of residents with various attributes.

[0078] The activity data 117 is generated by simulating the movements of residents in the area being surveyed. The activity data 117 can be used, for example, to confirm social measures in advance using a digital twin. For example, the server 100 uses the activity data 117 to perform a simulation on the digital twin to predict changes in the behavior of residents in the area that is the target of the social measures, and reproduces the movements of the residents in a virtual space that mimics the real space. The server 100 displays, for example, a video showing the movements of residents in the virtual space on the monitor 21. This makes it easier to understand the need for social measures.

[0079] The model learning unit 120 performs initial learning of the behavior selection model 111 using the statistical data 112. For example, the model learning unit 120 uses the statistical data 112 to generate N (N is a natural number) patterns of learning data. The model learning unit 120 learns the behavior selection model 111 for each piece of learning data, and generates a set of model parameters as the learning result. The model learning unit 120 generates model parameter statistical information 113 based on the N sets of model parameters.

[0080] Even if the accuracy of the model parameter values ​​obtained by learning using the model learning unit 120 is low, it is possible to estimate the variation range of the model parameter values ​​by calculating the model parameter values ​​from multiple learning data. Limiting the variation range of the model parameter values ​​can narrow the search space for solutions when finding an optimal solution for a large number of model parameter value combinations. For example, for a model parameter that is always negative in reality, there is no need to desperately search for an optimal solution within a range of positive values. As a result, computational costs are reduced. Therefore, the model learning unit 120 includes the variation range of the model parameter values ​​for each model parameter and statistical values ​​of the model parameters (such as the mean and standard deviation) in the model parameter statistical information 113. The model learning unit 120 then stores the model parameter statistical information 113 in the storage unit 110.

[0081] The optimization unit 130 calculates an optimal value for each model parameter based on the model parameter statistical information 113 and the aggregated observation data 114. For example, the optimization unit 130 determines each model parameter value of the model parameter group to be applied to the behavior selection model 111 so that the activity data generated by the behavior selection model 111 is consistent with the aggregated observation data 114.

[0082] When optimizing the model parameter values, the optimization unit 130 varies the model parameter values ​​within the variation ranges indicated in the model parameter statistical information 113, for example. This allows the optimization process to be performed efficiently. The optimization unit 130 stores the determined model parameter values ​​of the model parameter group in the storage unit 110 as an optimized model parameter group 115.

[0083] The model utilization unit 140 inputs the simulation data 116 to the behavior selection model 111 and executes a simulation using the behavior selection model 111 using the optimized model parameter group 115. The model utilization unit 140 then generates activity data 117 as a result of the simulation. The model utilization unit 140 stores the generated activity data 117 in the storage unit 110.

[0084] In such a server 100, model parameters applied to the behavioral selection model 111 are optimized to suit the area being surveyed, thereby generating highly accurate activity data 117. As the behavioral selection model, for example, a discrete choice model is used. Below, the influence of model parameters on activity data obtained by the behavioral selection model when a discrete choice model is used will be described with reference to FIGS. 8 and 9.

[0085] 8 is a diagram showing an example of a behavior selection model. For example, the behavior selection model 111 has a model parameter group 61 including a plurality of model parameters. The server 100 inputs, for example, simulation data 116 of a specific area into the behavior selection model 111, performs calculations in accordance with the behavior selection model 111, and outputs activity data 117. The activity data 117 indicates, for example, the contents of a tour for each resident indicated in the simulation data 116.

[0086] The simulation data 116 includes information on the attributes of the residents of households in the area being surveyed and the attributes of each area within the area. Fig. 9 is a diagram showing an example of the simulation data. The simulation data 116 includes, for example, household data 116a, household member data 116b, land use data 116c, and transportation cost data 116d.

[0087] The household data 116a is data related to households within the area being surveyed. A record for each household is registered in the household data 116a. Each record in the household data 116a includes data for items such as "household ID," "area of ​​residence," "household type," "total number of household members," and "list of household member IDs." The "household ID" item is an identifier for a household within the area. The "area of ​​residence" item is the area where the household is located. The "household type" item is the type of household (single, married couple, married couple with children, etc.). The "total number of household members" item is the number of residents (household members) belonging to the household. The "list of household member IDs" item is a list of identifiers for each household member belonging to the household. In addition to the above data, each record in the household data 116a also includes data such as annual household income, income bracket, and number of vehicles owned.

[0088] The household member data 116b is data related to the residents of the area being surveyed. The household member data 116b contains a record for each resident. Each record of the household member data 116b includes data for items such as "household member ID," "household ID," "household type," "age," and "gender." The "household member ID" item is the identifier of the corresponding resident. The "household ID" item is the identifier of the household to which the corresponding resident belongs. The "household type" item is the position of the corresponding resident within the household (head of household, spouse of household head, child of household head, etc.). The "age" item is the age of the corresponding resident. The "gender" item is the gender of the corresponding resident. In addition to the above data, each record of the household member data 116b includes data such as employment status, personal annual income, and whether or not the resident drives a car.

[0089] The land use data 116c is data related to the area being surveyed. The land use data 116c contains records for each area within the area. Each record in the land use data 116c includes data items such as "area ID," "number of resident households," "number of resident household members," and "number of employed persons." The "area ID" item is an identifier for the area. The "number of resident households" item is the number of households residing in the area. The "number of resident household members" item is the number of residents in the area. The "number of employed persons" item is the number of employed persons in the area. In addition to the above data, the land use data 116c also includes data such as the number of dwellings, total area, occupied area by residential, commercial, and industrial category, parking fees, urbanity level, number of schools such as high schools and universities, and number of students commuting to the schools. Furthermore, the number of employed persons may include data on the number of people who are employed by residents of other areas other than the area in question.

[0090] The transportation cost data 116d is data on the cost of using each mode of transportation in the transportation network of the area being surveyed, and is mainly data on time and fares. The transportation cost data 116d contains records for each combination of travel area and time period. A travel area is a combination of a departure point and a destination for travel across areas.

[0091] Each record of the transportation cost data 116d includes data on items such as "transportation means," "travel time," and "fare." The "transportation means" item is the transportation means (train, bus, etc.) that can be used to travel between the relevant areas. The "travel time" item is the time required to travel between the relevant areas by transportation means. The "fare" item is the fare to travel between the relevant areas by transportation means. In addition to the above data, the transportation cost data 116d also includes data specific to the transportation means, such as the distance between areas, the number of train transfers and transfer time, and average train waiting time.

[0092] The content of the tours of each person shown in the activity data 117 generated based on such simulation data 116 depends on the values ​​of the model parameters included in the model parameter group 61. In other words, if the values ​​of the model parameters included in the model parameter group 61 are inappropriate, the movements of people shown in the activity data 117 will deviate from the movements of real people.

[0093] 10 is a diagram showing an example of a method for generating activity data in a behavior selection model. As a behavior selection model 111 of human activity, for example, a discrete selection model can be used.

[0094] The behavior selection model 111 defines a method for calculating the selection probability for each travel candidate (option) using the model parameter values ​​of each model parameter included in the model parameter group 61. Each travel candidate (option) is set with a variable value of an arbitrary attribute related to that travel. In the example of Fig. 10, specific values ​​of the departure time zone (start) and arrival time zone (end) of the travel are set for each candidate.

[0095] Since each model parameter corresponds to the utility of the behavioral choice model (discrete choice model), a calculation formula is set, which is a utility function formula using the model parameters. For example, for "model parameter 1," a formula related to utility, "(part-time work) x start," is set. In this case, if the personal attribute of the resident who is the target of the trip in the activity data is "part-time work," the calculation result of this utility calculation formula will be a value using the departure time zone of each candidate, specifically, the value of the "start" value itself. Note that if the personal attribute of the resident who is the target of the trip is not "part-time work," this utility calculation formula is not used, and the calculation result corresponding to this utility calculation formula will be "0."

[0096] Furthermore, "Model Parameter 2" is set to "(Part-time work) & (end > 12) & (end < 16)." In this case, if the personal attribute of the resident who is the target of the trip in the activity data is "Part-time work," and the arrival time zone of each candidate is after 12:00 and before 16:00, the calculation result will be "1." Otherwise, the calculation result will be "0."

[0097] For each candidate move, a weighted sum of the calculation results is calculated. At that time, the model parameter value of the corresponding model parameter is used as the weighting coefficient for each calculation result. For each candidate, a weighted sum of the model parameters of all the utility formula calculation results is calculated, and this is calculated as the exponent of exp (= exp(weighted sum)). After this, the values ​​for each candidate that are the exponent of exp are added across all candidates, and the value for each candidate when normalized so that the sum of all candidates is 1 is the probability that that candidate will be selected.

[0098] For example, the model utilization unit 140 calculates the probability of selection of multiple candidates based on the personal attributes of the residents included in the simulation data 116, and probabilistically selects one candidate from the multiple candidates. The model utilization unit 140 determines the movement indicated by the selected candidate as the trip of the resident.

[0099] The model utilization unit 140 repeats this process from the time the resident leaves home until the time the resident returns home. This determines the tour for that resident. The model utilization unit 140 determines the tour for each resident in the surveyed area and outputs the results as activity data 117.

[0100] Note that the behavior selection model 111 shown in FIG. 10 is just an example, and a behavior selection model 111 that generates activity data 117 by other methods can also be used. As shown in FIG. 10 , the calculation result of the probability that a candidate for movement will be selected depends on the model parameter value of each model parameter. In other words, the model parameter value determines the magnitude of the influence that the calculation result using the calculation formula corresponding to the model parameter has on the selection of a candidate for movement. Therefore, by optimizing the model parameter value, it is possible to output activity data 117 that is more realistic. In other words, the accuracy of the behavior selection model 111 is improved.

[0101] The accuracy of the model parameters of the behavior selection model 111 can be improved by training them using raw activity data that indicates the actual tour contents of residents shown in, for example, the simulation data 116. However, due to the protection of personal information, it is difficult to obtain highly reliable raw activity data related to tours of real people. Therefore, it is conceivable to generate activity data for training by calculation based on statistical data 112 related to people's movements.

[0102] Note that the statistical data 112 only shows statistical information, such as TUS statistics or PT statistics, that is, aggregate statistics on human behavior, for activities, and the statistical data 112 cannot reproduce the connections between the movements of individual residents. For example, for Mr. A, a man in his 40s, it is not possible to reproduce the connections between his movements, such as whether he will go shopping after commuting from Zone A to Zone B at 7:00, and if so, where and when. If the connections between movements such as those shown in FIG. 6 cannot be reproduced, the data is insufficient as learning data for the behavior selection model 111. Therefore, even if activity data for learning is created from TUS statistics or PT statistics, there is a large discrepancy with actual human behavior, and simply using that activity data for learning will not result in an accurate behavior selection model 111.

[0103] Therefore, in the server 100 according to the second embodiment, the model learning unit 120 creates rough learning data from statistical information on people's movements and learns the behavior selection model 111. The model learning unit 120 then optimizes the model parameters of the behavior selection model 111 in accordance with available observation values ​​such as OD data.

[0104] 11 is a diagram showing an example of a learning method for a behavior selection model. The model learning unit 120 generates multiple pieces of learning data 71, 72, ... with different contents based on the statistical data 112. Each piece of learning data 71, 72, ... includes, for example, data on the attributes of a virtual resident, data on the area where the resident lives, and data on tours taken by the resident.

[0105] The model learning unit 120 learns the behavior selection model 111 using each of the training data 71, 72, ..., and obtains model parameter sets corresponding to each of the training data 71, 72, .... For example, when the attributes of the residents shown in the training data 71 are input to the behavior selection model 111, the model learning unit 120 sets, as a model parameter set, the model parameter values ​​of each of the multiple model parameters that output the tour shown in the training data 71. The model learning unit 120 then generates model parameter statistical information 113 that indicates the statistical values ​​of the obtained multiple model parameter sets. The model parameter statistical information 113 includes information such as the average and standard deviation of the model parameter values ​​of the multiple model parameters.

[0106] The optimization unit 130 determines the initial values, variation ranges, etc. of the model parameter values ​​based on the model parameter statistical information 113. The optimization unit 130 then optimizes the model parameter values ​​of the model parameters using aggregated observation data 114 of the area being surveyed, generating an optimized model parameter set 115. The aggregated observation data 114 is data indicating the number of people moving between areas based on actual measurement results, such as OD data. By optimizing the model parameters using the aggregated observation data 114 of the area being surveyed, a model parameter set 115 is generated that enables accurate activity data for the area being surveyed.

[0107] Fig. 12 is a diagram showing an example of statistical data. In the example of Fig. 12, the statistical data 112 includes TUS statistical data 112a and PT statistical data 112b. In the TUS statistical data 112a, for each time period, personal attributes and the activities of people corresponding to the personal attributes during the time period are set. Personal attributes include, for example, age and gender. Activities include, for example, commuting and breakfast. For each activity item, the percentage of people who spend the time in that way is set.

[0108] The PT statistical data 112b shows, for each time period, the person attributes and the number of people with the corresponding person attributes who moved during the time period, categorized by the purpose of travel. Examples of the purpose of travel include "commuting from zone A to zone B (A ⇒ B)" and "shopping."

[0109] Although not shown in FIG. 12 , the statistical data 112 may also include general demographic statistics and various other statistics. For example, as content other than that shown in FIG. 12 for the TUS statistical data and PT statistical data, or as separate statistics such as a census, demographic statistics, which are statistics on the attribute distribution of survey subjects residing in the survey area, may be included. An example of demographic statistics is general statistics that include any of the following personal attributes (household type, gender, and age) for each area of ​​the survey area: the number of households by household type, the number of residents by gender and age for each household type, and the number of households by the number of household members within each household. Other examples of various statistics include statistics on the employment status, income, and car ownership of survey subjects residing in the survey area. These are used to create data on the household structure and households of the survey subjects that are the subject of the TUS statistical data 112a and the PT statistical data 112b, or data on the survey subjects themselves.

[0110] Based on this statistical data 112, learning data 71, 72, ... are generated. Fig. 13 is a diagram showing an example of learning data. The learning data 71 includes, for example, survey subject household data 71a, survey subject data 71b, trip data 71c, tour data 71d, tour companion data 71e, land use data 71f, and transportation cost data 71g. The other learning data 72, ... also include the same type of data as the learning data 71.

[0111] The survey subject household data 71a is data relating to the household to which the survey subject belongs, which is virtually generated for learning purposes. The survey subject household data 71a includes data items such as "household ID," "area of ​​residence," "household type," "total number of household members," and "list of household member IDs." The "household ID" item is an identifier for the household to which the survey subject belongs. The "area of ​​residence" item is the area where the address of the household is located. The "household type" item is the type of household (single, married couple, married couple with children, etc.). The "total number of household members" item is the number of residents (household members) belonging to the household. The "list of household member IDs" item is a list of identifiers for each household member belonging to the household. In addition to the above data, the survey subject household data 71a also includes data such as annual household income, income class, and number of cars owned.

[0112] Survey subject data 71b is data related to the survey subject. Survey subject data 71b includes data such as "household member ID," "household ID," "household type," "age," and "gender." The item "household member ID" is the identifier of the corresponding resident. The item "household ID" is the identifier of the household to which the corresponding resident belongs. The item "household type" is the position of the corresponding resident within the household (head of household, spouse of household head, child of household head, etc.). The item "age" is the age of the corresponding resident. The item "gender" is the gender of the corresponding resident. In addition to the above data, survey subject data 71b includes data such as employment status, commute / school area ID, and tour / trip ID.

[0113] The trip data 71c is data related to trips included in the tour undertaken by the survey subject. The trip data 71c includes a record for each trip included in the tour undertaken. Each record of the trip data 71c includes data items such as "Trip ID," "Participating Household ID," "Participating Household Representative ID," "Related Tour ID," and "Outbound?" The "Trip ID" item is an identifier for the trip being undertaken. The "Participating Household ID" item is an identifier for the household to which the participants in the trip belong. The "Participating Household Representative ID" item is an identifier for the household representative to which the participants in the trip belong. The "Related Tour ID" item is an identifier for the tour that includes the trip. The "Outbound?" item is data indicating whether the trip is an outbound or return trip. In addition to the above data, the trip data 71c also includes data such as purpose, destination area ID, departure area ID, departure time zone, and transportation mode.

[0114] The tour data 71d is data related to tours undertaken by the survey subject. The tour data 71d includes a record for each tour undertaken. Each record in the tour data 71d includes data items such as "Tour ID," "Participating Household ID," "Participating Household Representative ID," "Number of Related Trips," and "List of Related Trip IDs." The "Tour ID" item is an identifier for the tour undertaken by the survey subject. The "Participating Household ID" item is an identifier for the household to which the tour participants belong. The "Participating Household Representative ID" item is an identifier for the representative of the household to which the tour participants belong. The "Number of Related Trips" item is the number of trips included in the tour. The "List of Related Trip IDs" item is a list of identifiers for the trips included in the tour. In addition to the above data, the tour data 71d includes data such as the tour type, whether the tour is a required tour, destination area ID, departure area ID, departure / arrival time zones, duration, means of transportation, and parent tour.

[0115] The tour companion data 71e is information about companions in a tour (joint tour) in which multiple household members participate. The tour companion data 71e includes a record for each joint tour. Each record in the tour companion data 71e includes data for items such as "Tour ID," "Related Tour ID," "Participating Household ID," "Number of Participating Household Members," and "Household Member ID List." The "Tour ID" item is the identifier for the joint tour. The "Related Tour ID" item is the identifier for a tour related to the joint tour. The "Participating Household ID" item is the identifier for the household to which the residents participating in the joint tour belong. The "Number of Participating Household Members" item is the number of residents participating in the joint tour. The "Household Member ID List" item is a list of identifiers for the residents participating in the joint tour.

[0116] The land utilization data 71f is the same type of data as the land utilization data 116c (see FIG. 9) included in the simulation data 116. The transportation cost data 71g is the same type of data as the transportation cost data 116d (see FIG. 9) included in the simulation data 116.

[0117] The model learning unit 120 generates learning data 71, 72, ... so that when statistics are taken of the time spent by each attribute of the survey subjects and the purpose of travel shown in the learning data 71, 72, ..., they match the statistical data 112.

[0118] The model learning unit 120 then calculates model parameter values ​​for the model parameters of the behavior selection model 111 for each of the learning data 71, 72, etc. For example, the model learning unit 120 inputs the survey subject household data 71a, survey subject data 71b, land use data 71f, and transportation cost data 71g shown in the learning data 71 into the behavior selection model 111. In response to the input, the model learning unit 120 also inputs and references the trip data 71c, tour data 71d, and tour companion data 71e of the same learning data 71 as correct answer data for learning, and calculates model parameter values ​​that will generate activity data that matches these.

[0119] The number of model parameters used in the behavior selection model 111 for human activity is large. In addition, since low-precision learning data 71, 72, ... are used, the model parameter values ​​obtained after model learning may be far from the correct solution. If the initial values ​​are far from the correct solution, using a gradient method as an optimization method is likely to result in a local solution that cannot be escaped, and is therefore not appropriate.

[0120] As an optimization method other than the gradient method, for example, a method of searching for the optimal value by changing the values ​​of model parameters appropriately in a brute force manner can be considered. However, searching for the optimal value by a brute force method for a large number of model parameters results in high computational costs, making this an unrealistic method.

[0121] One method that can calculate an approximate solution with lower computational cost than a brute force approach is to initially vary all model parameter values ​​by a large amount, and then gradually reduce the range of value fluctuations, thereby reducing computational costs. However, even if such a method is adopted, the model parameter values ​​will continue to be varied by a large amount until smaller movements become sufficient, which is wasteful, just like a brute force approach. Therefore, the effect of reducing computational costs is not very great.

[0122] Genetic algorithms are one of the methods for efficiently searching for optimal solutions. Genetic algorithms are algorithms that search for solutions by repeating operations such as crossover and mutation (exchanging and changing the values ​​of model parameters included in the solution) between multiple individuals, each of which represents a candidate solution as a gene. Genetic algorithms are effective as long as appropriate operations such as crossover and mutation are established, but if it is unclear how to create a mutant gene, for example, they will resort to a brute force search of mutation patterns. As a result, the computational cost increases.

[0123] As described above, the problem of high computational costs cannot be solved by simply applying existing solution search methods to optimization. Therefore, the model learning unit 120 estimates in advance the realistic variation range of the model parameters and searches for an optimal solution within that range.

[0124] For example, the model learning unit 120 calculates the variation range of the model parameter value for each model parameter and includes the variation range in the model parameter statistical information 113. Then, when optimizing the model parameters, the optimization unit 130 searches for the model parameter value of each model parameter that will be the optimal solution within the variation range indicated in the model parameter statistical information 113. This allows the model parameter values ​​to be changed within a limited range of valid values ​​(narrowing the search space), enabling optimization with low computational cost.

[0125] The aggregated observation data 114 used for optimization is statistical data obtained by actually observing the movement of residents in the area being investigated. FIG. 14 is a diagram showing an example of the aggregated observation data. The aggregated observation data 114 includes, for example, movement data 114a, 114b, ... for each pair of resident attributes and time period. The movement data 114a, 114b, ... indicates, for each pair of departure point and destination, the number of people with the corresponding attributes who traveled from the departure point to the destination within the corresponding time period. Such aggregated observation data 114 can be obtained, for example, from a mobile communication carrier.

[0126] In optimizing the model parameters, for example, the optimization unit 130 inputs simulation data indicating the household situation and land use situation in the area being surveyed at the time when observations were made to obtain the aggregated observation data 114 into the behavior selection model 111. The optimization unit 130 determines the initial values ​​and variation ranges of the model parameter values ​​for each model parameter based on the model parameter statistical information 113. The optimization unit 130 then adjusts the model parameter values ​​so that the statistical information of the activity data obtained by the behavior selection model 111 when the simulation data is input matches the aggregated observation data 114. In this way, an optimized model parameter set 115 is obtained.

[0127] The model utilization unit 140 applies the optimized model parameter group 115 to the behavior selection model 111, and generates activity data 117 based on the simulation data 116. In this way, the activity data 117 is generated with high accuracy.

[0128] Next, the model learning process will be described in detail. Fig. 15 is a diagram showing an example of functions of the model learning unit 120. The model learning unit 120 includes a learning data generation unit 121, a model parameter group generation unit 122, and a model parameter value range determination unit 123.

[0129] The learning data generation unit 121 generates a plurality of pieces of learning data for behavior selection model training based on the statistical data 112. The learning data is a set of synthetic population data and activity data. To generate the learning data, the learning data generation unit 121 includes a generation setting information generation unit 121 a and an activity determination unit 121 b.

[0130] The generation setting information generation unit 121a generates setting information used to generate multiple pieces of training data for each piece of training data to be generated. For example, the generation setting information generation unit 121a generates a seed value used to generate random numbers. The generation setting information generation unit 121a generates multiple generation setting files including setting information for generating training data. The generation setting information generation unit 121a then stores a generation setting file group 118a including the multiple generation setting files in the storage unit 110.

[0131] The activity determination unit 121b generates learning data using each of the generation setting files included in the generation setting file group 118a. For example, the activity determination unit 121b stores the generated learning data group 118b in the storage unit 110.

[0132] The model parameter group generation unit 122 generates a model parameter group 118c for each piece of training data based on the training data group 118b, and calculates reliability data 118d of the model parameter group 118c for each piece of training data. The model parameter group generation unit 122 has a model parameter value calculation unit 122a and a model parameter value evaluation unit 122b.

[0133] The model parameter value calculation unit 122a performs training on the behavior selection model 111 for each piece of training data included in the training data group 118b, and calculates model parameter values ​​for each of a plurality of model parameters. This generates a model parameter group 118c for each piece of training data. The model parameter value calculation unit 122a stores the generated model parameter group 118c in the storage unit 110.

[0134] The model parameter value evaluation unit 122b evaluates the reliability of the model parameter set 118c for each piece of training data. For example, the model parameter value evaluation unit 122b evaluates the model parameter set 118c using a t-test, which is a common method for evaluating model parameters in discrete choice model learning. The t-test uses a t-value to determine whether each coefficient is statistically significantly different from 0. The t-value is expressed as "t = |β / (s / (n 1 / 2 ))|". β is the error of the model parameter from the average parameter value. s is the standard deviation of the model parameter. n is the number of samples (number of training data). "s / (n 1 / 2 " is called the standard error. For example, at a significance level of 5%, if the t-value is 1.96 or greater (t≧1.96), it is determined that β is sufficiently far from 0 (the hypothesis β=0 is rejected).

[0135] The model parameter value evaluation unit 122b may evaluate the model parameter values ​​using a likelihood ratio. The likelihood L(β) of β is 1 > L(β) > L(0). A likelihood of 1 is a perfect information model (all predictions are correct).

[0136] In this way, the likelihood is less than 1, and the natural logarithm "InL(β)" is negative. The smaller β is (the closer to 0), the smaller "InL(β)" is. If "a = (InL(0) - InL(β))" (a is a negative value), the likelihood ratio T is "T = -2 × a". Therefore, the closer L(β) is to L(0), the smaller the likelihood ratio becomes a positive value.

[0137] Here, "ρ 2= 1 - b" and "b = InL(β) / InL(0)". The closer L(β) is to L(0), the closer b is to 1. The farther L(β) is from L(0) (closer to 1), the closer b is to 0. Also, b is a positive value.

[0138] ρ 2 is "1-b", so the closer L(β) is to L(0), the closer ρ 2 approaches 0. The further L(β) is from L(0) (closer to 1), the 2 approaches 1. Also, b is a positive value. For example, ρ 2 Let be the evaluation value. For example, ρ 2 If the evaluation value is 0.2 or more, it can be determined that the evaluation value is sufficiently high.

[0139] The model parameter value evaluation unit 122b calculates the reliability of the model parameter group corresponding to the training data based on the evaluation value of the model parameter value of each model parameter for each training data. For example, the model parameter value evaluation unit 122b determines the average of the evaluation values ​​for each model parameter in the model parameter group corresponding to the training data as the reliability of the training data. The model parameter value evaluation unit 122b stores the reliability data 118d for each training data in the storage unit 110.

[0140] The model parameter value range determination unit 123 determines the variation range of the model parameter value for each model parameter. When the behavior selection model 111 is a discrete choice model, the model parameter value range determination unit 123 calculates the range of the model parameter value, which is a coefficient indicating the weight for each utility of the model. For example, the model parameter value range determination unit 123 determines the variation range for each model parameter as the range between the maximum and minimum model parameter values ​​calculated for each of the multiple learning data.

[0141] Furthermore, the model parameter value range determination unit 123 calculates predetermined statistical values ​​of the model parameter values ​​for each model parameter, such as the average and standard deviation of the model parameter values.

[0142] The model parameter value range determination unit 123 stores model parameter statistical information 113 including the calculation results in the storage unit 110. The model parameter statistical information 113 includes model parameter value range information 113a for each model parameter, and model parameter statistical value information 113b indicating the statistical value for each model parameter.

[0143] In this way, it is possible to obtain model parameter statistical information 113 of model parameter values ​​calculated based on rough model learning. In order to use the model parameter statistical information 113 for optimization, it is important that the contents of the generated training data 71, 72, ... are inconsistent. To ensure that the contents of the training data 71, 72, ... are inconsistent, the generation setting information generating unit 121a generates multiple generation setting files with different contents.

[0144] 16 is a diagram showing an example of a generation setting file group. The generation setting file group 118a includes, for example, N generation setting files 62a, 62b, .... Each of the generation setting files 62a, 62b, ... includes a seed value for a random function, parameters for optimizing attribute assignment, a weight parameter set for assigning activities, default values ​​for each variable, calculation method specification information, etc.

[0145] The seed value of the random function is the seed value that serves as the basis for random number generation when one of multiple options is selected by a random number. A different seed value is set for each of the generation setting files 62a, 62b, etc. By using different seed values, it is possible to prevent the random number groups generated for each learning from all having the same generation pattern.

[0146] The parameters for optimizing attribute allocation are parameters used to optimize consistency with the statistical data 112. For example, when optimization is performed using the SA (Simulated Annealing) method, the maximum number of loops and the like are set as parameters for optimizing attribute allocation.

[0147] The weight parameter set for assigning an activity is a parameter set for values ​​calculated using heuristic rules required when generating activity data, such as a data set of average speed values ​​for each means of transportation, weight variables for selecting means of transportation for each travel distance hierarchy, weight variables for determining the order of activities by type, etc. The average speed of a means of transportation is used to calculate the time required to travel using that means of transportation.

[0148] The default values ​​for each variable are, for example, the maximum number of tours that can be conducted per person, the required waiting time between tours in multiple tours, and break times during work. The calculation method specification information is information that specifies restrictions such as limiting the options for how the learning data is calculated. For example, the calculation method specification information specifies that the learning data should exclude specific activities (movement between specific areas for specific purposes). By excluding some activities from the learning data, it becomes possible to calculate calculation parameters when the types of activities are biased. For example, when simulating the behavior of only specific activities based on national conditions or observed values, learning data limited to specific activities is useful.

[0149] For example, when investigating a region of a country where chaperones are not required, the number of chaperone tours is small, so it is possible to specify that there are no such tours. The calculation method specification information can also specify which of several statistical data, such as travel time, to use.

[0150] When generating the learning data 71, 72, ..., the activity determination unit 121b uses random numbers to probabilistically determine what activity (tour or trip) the survey subject will undertake from among multiple options.

[0151] FIG. 17 is a diagram illustrating an example of a probabilistic activity determination method. For example, the activity determination unit 121b uses the SEED value of one of multiple generation setting files 62a, 62b, and 62c to generate random numbers in the interval [0, 1] from 0 to 1 for determining the activity of each resident in order to generate different learning data. Since a different random number set is generated for each resident for each different SEED value, the random number set generated for each learning data is a different value set. The activity determination unit 121b also calculates the selection probability of each of multiple options for each resident. The method of calculating the selection probability is as described with reference to FIG. 10. The activity determination unit 121b stores the calculation results of the selection probability as selection probability data 63.

[0152] Now consider the case of determining the activity of "Resident 1." In this case, the activity determination unit 121b inputs the selection probability and random number for each option of "Resident 1" into the option determination function 64. For "Resident 1," the selection probability of "Option 1" is "0.1," the selection probability of "Option 2" is "0.3," the selection probability of "Option 3" is "0.2," and the selection probability of "Option 4" is "0.4." The sum of the selection probabilities is "1." According to the random number set generated by the generation setting file 62a, the random number for "Resident 1" is "0.5."

[0153] In the option determination function 64, the interval [0-1] is divided according to the selection probability of each option, and options are assigned to the divided intervals. For example, "option 1" is assigned to the interval [0, 0.1), "option 2" is assigned to the interval [0.2, 0.4), "option 3" is assigned to the interval [0.4, 0.6], and "option 4" is assigned to the interval [0.6, 1.0].

[0154] The option determination function 64 outputs an option assigned to the interval to which the input random number belongs. In the example of FIG. 17 , the random number is "0.5", so "option 3" is obtained. The activity determination unit 121b determines the option obtained using the option determination function 64 as an arbitrary attribute related to the movement (activity) of the corresponding resident, which is the calculation target of the behavior selection model 111. For example, the activity determination unit 121b determines attributes related to the activity, such as whether or not the activity is performed in a day, the type of the next activity, the destination of the activity, the start time of the activity, the accompanying person for the activity, and the means of transportation for the activity.

[0155] In this way, the content of the activity is determined probabilistically. Then, learning data is generated that sets the determined activity content for each resident. The activity determination unit 121b generates learning data corresponding to each of multiple residents with various attributes, which differ for each generation setting file, based on the generation setting file group 118a. As a result, the learning data group 118b is generated.

[0156] Based on the generated training data group 118b, a model parameter group generation unit 122 generates a model parameter group 118c and reliability data 118d for each training data. Then, based on the model parameter group 118c and the reliability data 118d, a model parameter value range determination unit 123 generates model parameter value range information 113a and model parameter statistical value information 113b.

[0157] 18 is a diagram showing an example of a method for determining the variation range. In Fig. 18, the model parameter values ​​of the model parameters for each piece of learning data shown in the model parameter group 118c are shown by the position of a rectangle on the line indicated by the double-headed arrow. The model parameter value decreases as the rectangle is positioned to the left, and increases as the rectangle is positioned to the right.

[0158] The model parameter group generation unit 122 determines the maximum and minimum model parameter values ​​indicated in each training data for each model parameter, and determines the range from the minimum to the maximum model parameter value of the model parameter as the variation range of the model parameter value.

[0159] In practice, instead of determining the range from the minimum value to the maximum value itself as the variation range, a range calculated separately using the range may be used as the variation range. For example, the variation range may be a range calculated by subtracting or adding a specified value from or to the minimum and maximum values, or by changing the minimum and maximum values ​​of the range so that the size of the range is multiplied by a specified factor. This allows for the determination of a variation range with a sufficient margin, taking into account not only the calculation error of the model parameters but also the differences in location and time (e.g., past and recent present) between the synthetic population data at the time of learning and the synthetic population data at the time of optimization and the aggregated observation data, which will be described later as an example in Figure 21.

[0160] In this way, by obtaining the model parameter value of each model parameter from each of the multiple learning data, multiple model parameter values ​​generated from different learning data can be obtained for each model parameter. Then, for each model parameter, an appropriate variation range can be obtained based on statistics such as the maximum and minimum values ​​of the multiple model parameter values.

[0161] It should be noted that the training data group 118b generated based on the statistical data 112 may not adequately reflect the actual travel habits of residents. Therefore, the accuracy of individual model parameter values ​​obtained from the training data group 118b is not high. However, by comprehensively covering representative states of model parameter values ​​obtained from each of a large number of training data, it is possible to identify a rough range of variation of the model parameter values. Searching for optimal model parameter values ​​within such a range of variation makes it highly likely that optimal model parameter values ​​can be obtained.

[0162] Furthermore, using the model parameter values ​​of the model parameters obtained for each piece of learning data to calculate the variation range of the model parameter values ​​has the following advantages: Depending on the behavior selection model 111, there may be a large number (several hundred or more) of model parameters for determining activity content. Among these model parameters, some may have complex correlations with each other. For example, the sum of the model parameter values ​​of multiple model parameters may be "1.0." Furthermore, there may be model parameters for which the calculation diverges to infinity and fails unless the model parameter value is negative or approximately 10.

[0163] Although the model parameter values ​​obtained by learning the learning data are not model parameter values ​​that completely match the actual observed values, they are values ​​that at least satisfy the correlation relationships and constraints described above. Therefore, the model parameter group 118c obtained from the learning data group 118b is unlikely to include model parameter values ​​that deviate from the constraint conditions required for the model parameter values ​​due to correlations, etc. In other words, there is an advantage in that the variation ranges of the model parameter values ​​for the model parameters are likely to be realistic.

[0164] The activity determination unit 121b may determine the amount of learning data for calculating the variation range (whether to generate more learning data to obtain initial model parameters) by checking how much of the entire model parameter group 118b has been covered by the learning data group 118b. For example, depending on the content of the learning data, there may be a small number of subjects, so there may not be any residents who match the utility calculation formula, and it may not be possible to cover all of the model parameters corresponding to the utility calculation formula. Also, there may be a small number of subjects, so the diversity of the selection situations for the candidates (options) may not be sufficiently ensured. In such cases, the activity determination unit 121b adds learning data to increase the variety of learning data for survey subjects who match the attributes of the small number of subjects.

[0165] FIG. 19 is a diagram showing an example of the process of adding learning data in response to missing model parameters. In FIG. 19, attributes such as human attributes used in each utility calculation formula by the behavior selection model 111 are listed as "subject attribute conditions," and actual utility calculation formulas using each attribute condition A to D are listed as 1, 2, 3, ..., in a table along with the corresponding model parameters (A1, A2, ..., D3). Since the number of utility calculation formulas used for each attribute condition varies, for example, for the attribute "full-time employment with a household income of XX yen or more," there are only two calculation formulas, so there is no model parameter corresponding to the third calculation formula. For each attribute condition, model parameters are listed for the number of calculation formulas actually used.

[0166] In the example of Figure 19, when the number of survey subjects shown in the training data group 118b is counted for each attribute, only two survey subjects match the attribute condition "full-time worker with a household income of X yen or more." The small number of matching subjects means that the learning of the related model parameters "C1, C2, C3" learned selection situations from a small number of subjects. As such, when the number of subjects is small, it is not possible to represent a variety of selection situations, which may result in somewhat unusual learning results.

[0167] Therefore, if the number of survey subjects with a specific attribute is equal to or less than a predetermined value, the activity determination unit 121b increases the amount of learning data to be created. That is, it increases the number of files to be used in the generation setting file group 118a and increases the amount of learning data to be created. In this case, if the activity determination unit 121b can identify the generation setting information related to the attribute, it may change the value of the generation setting information to increase the variation of the value and create a new generation setting file.

[0168] In this way, the activity determination unit 121b repeatedly checks for missing model parameters and creates additional learning data as shown in Fig. 19. Note that Fig. 19 shows an example in which there are few subjects who match the attribute conditions, but the same applies when there are zero subjects. If there are zero subjects, it may not be possible to calculate the relevant model parameters in the first place, so the activity determination unit 121b creates additional learning data using the generation setting information so as to create learning data for a different number of subjects.

[0169] This makes it possible to generate a sufficient number of model parameters required for calculating the variation range of the model parameters using as diverse training data as possible, and to appropriately calculate the variation range of the model parameter values ​​for each of the model parameters. Furthermore, since a large amount of training data can be created only when the number of survey subjects with attributes required for the training calculation of the behavior selection model 111 is insufficient, it is possible to efficiently reduce the cost of creating training data while ensuring the generation of diverse training data.

[0170] Note that some of the training data may deviate from reality, resulting in low reliability of the model parameter values ​​of the model parameters obtained by training. Therefore, the model parameter value range determination unit 123 may exclude model parameter values ​​obtained by training of training data with low reliability of the obtained model parameter values ​​from the basic data for calculating the variation range of the model parameter values, etc.

[0171] 20 is a diagram showing an example of the process of excluding a group of model parameters with low reliability. The reliability data 118d includes a set of reliability values ​​for each model parameter for each of a plurality of training data. The reliability of the model parameter value is expressed numerically, and the model parameter value range determination unit 123 determines that the model parameter value of a model parameter is unreliable if the reliability is equal to or less than a predetermined value. For training data in which a large number of model parameters have unreliable model parameter values ​​(e.g., a predetermined percentage or more), the model parameter value range determination unit 123 excludes model parameter values ​​generated from the training data from the aggregation targets.

[0172] For example, when determining the variation range of the model parameter value for each model parameter, the model parameter value range determination unit 123 does not take into account the model parameter values ​​excluded from the aggregation target. Furthermore, when calculating statistical values ​​such as the average value and standard deviation, the model parameter value range determination unit 123 calculates the statistical values ​​using the model parameter values ​​that are not excluded from the aggregation target.

[0173] In this way, the variation range or statistical value of the model parameter values ​​is determined by excluding unreliable learning results, resulting in a highly reliable variation range or statistical value of the model parameter values.

[0174] The procedure for executing a highly accurate simulation of the area to be surveyed will be described in detail below with reference to Figures 21 to 24. Figure 21 is a flowchart showing an example of the simulation execution procedure. The process shown in Figure 21 will be described below in order of step number.

[0175] [Step S101] The model learning unit 120 learns the behavior selection model 111 based on the statistical data 112. The model learning unit 120 then generates model parameter statistical information 113 related to the model parameter values ​​of the model parameters obtained as a result of the learning. Details of the model learning process will be described later (see FIG. 22).

[0176] [Step S102] Based on the model parameter statistical information 113, the optimization unit 130 optimizes the model parameter values ​​of each model parameter so that they match the aggregated observation data 114. The optimization unit 130 then generates a model parameter group 115 indicating the optimized model parameter values. Details of the model parameter value optimization process will be described later (see FIG. 23).

[0177] [Step S103] The model utilization unit 140 uses the behavior selection model 111 to which the optimized model parameter set 115 has been applied to execute a human movement simulation (model utilization simulation) based on the simulation data 116 of the area being investigated. As a result of the simulation, activity data 117 of residents of the area is generated. Details of the model utilization simulation process will be described later (see FIG. 24).

[0178] In this way, activity data for a specific area can be generated. The generated activity data can be effectively used for simulating social policies, etc. Note that the statistical data used to generate learning data during model training may be statistical data for the area being surveyed or statistical data for a different area.

[0179] As a first example, the most recent statistical data for the area being surveyed may be used. For example, the model learning unit 120 creates a large amount of learning data for Tokyo (e.g., synthetic population data + activity groups) using the most recent statistical data for Tokyo. In this case, the synthetic population data may be synthetic data (miniature synthetic data) for a portion of Tokyo. The model learning unit 120 then determines the variation range of the model parameter values ​​for the model parameters related to the behavior selection model 111 for Tokyo.

[0180] The optimization unit 130 selects one of the synthetic populations for Tokyo, and optimizes the model parameter values ​​of the behavioral selection model 111 using aggregated observation data that matches the total number of people in Tokyo's most recent mobile data statistics with the corresponding synthetic population. This generates a behavioral selection model 111 that matches Tokyo more closely to reality.

[0181] The model utilization unit 140 automatically generates activity data for an arbitrary total number of synthetic populations in Tokyo using the behavior selection model 111, which has been optimized for the actual aggregated observation data for Tokyo. Reproducing the movement status of Tokyo residents over time based on the generated activity data results in a simulation of social policies regarding how Tokyo residents move.

[0182] As a second example, the most recent statistical data for a region other than the region being surveyed may be used. For example, the model training unit 120 creates a large amount of training data for Tokyo (e.g., synthetic population data + activity groups) using the most recent statistical data for Tokyo. The model training unit 120 then determines the variation ranges of the model parameter values ​​for the behavior selection model 111 for Tokyo.

[0183] The optimization unit 130 selects one of the synthetic populations for Kanagawa, and optimizes the model parameter values ​​of the model parameters of the behavioral selection model 111 using aggregated observation data that matches the total number of people in Kanagawa's most recent mobile data statistics with the corresponding synthetic population. As a result, a behavioral selection model 111 that matches Kanagawa is generated.

[0184] The model utilization unit 140 automatically generates activity data for an arbitrary total number of synthetic populations in Kanagawa using the behavior selection model 111, which has been optimized for the actual aggregated observation data for Kanagawa. Reproducing the movement status of Kanagawa residents over time based on the generated activity data results in a simulation of social policies regarding how Kanagawa residents move.

[0185] As a third example, statistical data from the distant past of the area being investigated may be used. For example, the model training unit 120 creates a large amount of training data for Tokyo (e.g., synthetic population data + activity groups) using statistical data from before a new infectious disease pandemic occurred in Tokyo. The model training unit 120 then determines the variation ranges of the model parameter values ​​for the behavioral selection model 111 for Tokyo.

[0186] The optimization unit 130 selects one of the synthetic populations for Tokyo and optimizes the model parameter values ​​of the behavioral selection model 111 using aggregated observation data that matches the total number of people in Tokyo's post-pandemic mobile data statistics with the corresponding synthetic population. This generates a behavioral selection model 111 that matches Tokyo more realistically.

[0187] The model utilization unit 140 automatically generates activity data for a synthetic population (any total number) of Tokyo at any time after the pandemic using a behavioral selection model 111 that has been optimized for actual aggregated observation data of Tokyo. Reproducing the movement status of Tokyo residents over time based on the generated activity data provides a simulation of social policies regarding how Tokyo residents will move after the pandemic.

[0188] Next, the procedure of the model learning process will be described in detail. Fig. 22 is a flowchart showing an example of the procedure of the model learning process. The process shown in Fig. 22 will be described below in order of step number.

[0189] [Step S111] The training data generation unit 121 determines whether the number of training data items exceeds a threshold. If the number of training data items exceeds the threshold, the training data generation unit 121 proceeds to step S114. If the number of training data items does not exceed the threshold, the training data generation unit 121 proceeds to step S112.

[0190] [Step S112] The generation setting information generation unit 121a of the training data generation unit 121 changes a training data generation variable (such as a random number SEED value) and generates a generation setting file that includes the changed SEED value.

[0191] [Step S113] The activity determination unit 121b of the learning data generation unit 121 obtains one of the unused generation setting files and uses the settings in the obtained generation setting file to generate learning data based on the statistical data 112. At this time, the activity determination unit 121b can use an optimization method (such as the SA method) to match the data to the statistical data 112, such as swapping household members between households in a brute force search.

[0192] The activity determination unit 121b also combines basic household and household member data for the composite population. For example, the activity determination unit 121b determines household and household member groups with a specified ratio (miniature population ratio) based on the miniature population statistics of each statistical distribution of the number of people (statistics such as age x gender x number of people distribution by household type, household type x number of household members x household number distribution) x the specified ratio. The activity determination unit 121b then creates household member individual data and household data that contains one or more of these. The activity determination unit 121b determines which personal attributes to assign to each composite household member and household individual data using random numbers generated using the SEED value, etc. The personal attributes to be assigned include age, gender, employment status, and industry.

[0193] The activity determination unit 121b determines the activity of each resident using a random number or the like. Then, the activity determination unit 121b combines the activity data with the basic household member data of the combined population. At this time, the activity determination unit 121b matches each activity data for each person attribute by place of residence with the statistical data 112. The matching information may include, for example, statistics on the percentage of activities performed for each person attribute by place of residence, the distribution of the number of occurrences of each activity by destination, the distribution of the number of occurrences of transportation means used by departure and arrival locations, and the distribution of the number of people by work start time.

[0194] The activity determination unit 121b generates survey target household data and survey target data based on the personal attributes of the residents who will perform the determined activity. The activity determination unit 121b also generates trip data, tour data, and tour companion data based on the determined activity. The activity determination unit 121b also generates land use data and transportation cost data related to the area in the statistical data 112. The activity determination unit 121b then generates learning data including the various generated data.

[0195] When the model learning unit 120 has completed the generation of one piece of learning data, the process proceeds to step S111. [Step S114] The model parameter group generation unit 122 determines whether learning of the behavior selection model 111 using all of the learning data has been completed. If learning has been completed, the model parameter group generation unit 122 proceeds to step S117. If learning has not been completed, the model parameter group generation unit 122 proceeds to step S115.

[0196] [Step S115] The model parameter value calculation unit 122a of the model parameter group generation unit 122 learns the model parameter value of the model parameter of the behavior selection model 111 using one of the unused learning data.

[0197] [Step S116] The model parameter value evaluation unit 122b of the model parameter group generation unit 122 performs parameter testing on the model parameter group to evaluate the model parameter values. For example, the model parameter value evaluation unit 122b performs a t-test, which is a common method for evaluating discrete choice model learning, as the parameter testing. For example, if the majority of the model parameter values ​​obtained as a learning result of certain learning data do not affect the utility value (the evaluation is below a predetermined value), the model parameter value evaluation unit 122b discards the learning result.

[0198] Furthermore, when the evaluation of some model parameter values ​​of multiple model parameters obtained as a result of learning certain training data is equal to or lower than a predetermined value, the model parameter value evaluation unit 122b may discard only the model parameter values ​​whose evaluation is equal to or lower than the predetermined value. In this case, the model parameter value evaluation unit 122b may record, for each training data, how many model parameters were effective (that did not need to be discarded). The optimization unit 130 may obtain the synthetic population data used in the model parameter value optimization from the training data in which the largest number of model parameters were effective.

[0199] When the model parameter value evaluation unit 122b completes the evaluation of the model parameter values, the process proceeds to step S114. [Step S117] The model parameter value range determination unit 123 calculates the model parameter value range for each of the multiple model parameters based on the model parameter group 118c. For example, the model parameter value range determination unit 123 calculates statistical values ​​such as the minimum value, maximum value, average, and standard deviation of the model parameter value for each model parameter. Then, the model parameter value range determination unit 123 determines the variation range of the model parameter value for each model parameter based on the calculated statistical values. For example, the model parameter value range determination unit 123 determines the variation range of the model parameter value from the minimum value to the maximum value. The model parameter value range determination unit 123 also determines the variation range of the model parameter value to be within ±3σ (σ is the standard deviation) of the average. The model parameter value range determination unit 123 also determines the variation range of the model parameter value to be a range expanded to the left and right from the center of the variation range so as to widen the range width to a specified size, such as 1.2 times.

[0200] The model parameter value range determination unit 123 may determine the calculated statistical value as the initial value of the model parameter value during optimization. For example, the model parameter value range determination unit 123 determines the average value or median value of the model parameter value of the model parameter as the initial value of the model parameter.

[0201] Next, the model parameter value optimization process will be described in detail. Fig. 23 is a flowchart showing an example of the procedure for the model parameter value optimization process. The process shown in Fig. 23 will be described below in order of step number.

[0202] [Step S121] The optimization unit 130 inputs data on households, household members, and the like of the synthetic population of the area to be surveyed, and executes an activity simulation using the behavior selection model 111. As the initial values ​​of the model parameters of the behavior selection model 111 during the simulation, for example, representative values ​​(average values, median values, etc.) of the model parameter values ​​indicated in the model parameter statistical information 113 are used.

[0203] Unlike model learning, the simulation for model parameter value optimization does not require the input of activity data for each household member for learning. In model parameter value optimization, just as when using a model, only household and household member data from the synthetic population data is input. The aggregated observation data 114 used in the simulation includes, for example, OD data (distribution of the number of people by time period, departure point, arrival point, and arbitrary attribute), visiting population data (visiting population by arbitrary attribute in an arbitrary area at a certain time), etc.

[0204] [Step S122] Based on the simulation results, the optimization unit 130 calculates predicted statistical data in the same format as the aggregated observed data 114 obtained as the observation results. [Step S123] The optimization unit 130 determines whether the loop termination condition has been satisfied. For example, the optimization unit 130 determines that the loop termination condition has been satisfied if the number of repetitions of the processes of steps S124 to S125 exceeds a predetermined set value. The optimization unit 130 also determines that the loop termination condition has been satisfied if the difference between the predicted statistical data calculated by simulation and the aggregated observed data 114 obtained from actual measurements is equal to or less than a threshold.

[0205] If the loop end condition is satisfied, the optimization unit 130 proceeds to step S126. If the loop end condition is not satisfied, the optimization unit 130 proceeds to step S124.

[0206] [Step S124] The optimization unit 130 calculates updated model parameter values ​​for each model parameter using a predetermined optimization method. At this time, the optimization unit 130 adds 1 to the number of optimization loops.

[0207] The optimization unit 130 can optimize the model parameter values ​​using any method, such as evolutionary computation or changes toward error improvement. In this case, the optimization unit 130 prioritizes model parameter values ​​within the change range of the model parameter values ​​as the changed model parameter values, as the evolutionary mutation content or value change content. The optimization unit 130 prioritizes model parameter values ​​within the change range of the model parameter values, but may occasionally allow changes to model parameter values ​​outside the range. The optimization unit 130 may select model parameters to be changed for optimization from a large number of model parameters, prioritizing those with a large range of variation in the model parameter values. The optimization unit 130 may not optimize model parameters that were not selected. Furthermore, the optimization unit 130 may reduce the number of value changes during optimization for model parameters that were not selected.

[0208] [Step S125] The optimization unit 130 updates the model parameter values ​​in the model parameter group to the values ​​calculated in step S124. After that, the optimization unit 130 proceeds to step S123.

[0209] [Step S126] The optimization unit 130 stores the model parameter set 115, whose model parameter values ​​have been optimized, in the storage unit 110. In this way, the model parameter values ​​of the model parameter set included in the behavior selection model 111 are optimized.

[0210] Next, the model-based simulation process will be described in detail. Fig. 24 is a flowchart showing an example of the procedure of the model-based simulation process. The process shown in Fig. 24 will be described below in order of step number.

[0211] [Step S131] The model utilization unit 140 acquires composite population data for the environment under investigation. The acquired composite population data is composite population data for the population scale that is ultimately desired for calculation.

[0212] [Step S132] The model utilization unit 140 executes a simulation using the acquired synthetic population data as input to the behavior selection model 111. In the simulation, for example, the movement of residents in the area under investigation is expressed in chronological order.

[0213] [Step S133] The model utilization unit 140 outputs the results of the simulation. The simulation results include activity data for each resident. In this way, an accurate simulation of the movement of people in an area where a social policy is implemented can be performed. Even if statistical data for the relevant area is unavailable, this simulation can be performed using statistical data from other areas.

[0214] [Other Embodiments] In the second embodiment, a simulation is performed to simulate a social policy, but the simulation function of the server 100 can also be used for other purposes. For example, the simulation function of the server 100 can also be used to analyze people's movements when a problem occurs in transportation.

[0215] The foregoing merely illustrates the principles of the present invention. Further, since numerous modifications and changes will be apparent to those skilled in the art, the present invention is not limited to the exact construction and application shown and described above, and all corresponding modifications and equivalents are deemed to be within the scope of the present invention as defined by the appended claims and their equivalents.

[0216] REFERENCE SIGNS LIST 1 Statistical data 2 First behavior selection model 2a, 6a, 6b, ..., 8a Model parameter group 3 Aggregated observation data 4 Simulation data 4a, 5a-1 Person attribute data 5a, 5b, ... Learning data 5a-2 First activity data 7 Model parameter statistical information 8 Second behavior selection model 9 Simulation result 10 Information processing device 11 Storage unit 12 Processing unit

Claims

1. Generate training data including human attribute data indicating the attributes of a plurality of virtual residents and first activity data indicating the movements of each of the plurality of virtual residents with a purpose, based on the statistical data of the movements of the first plurality of residents. Learn a first action selection model that outputs the first activity data when the human attribute data is input based on the training data. Optimize the values of the model parameters that affect the output of the first action selection model based on the aggregated observation data obtained by aggregating the observation results of the movements of the second plurality of residents. Perform a simulation of the movements of the second plurality of residents using the second action selection model with the optimized values of the model parameters to output second activity data indicating the movements of each of the second plurality of residents with a purpose. An information processing program for causing a computer to execute the processing.

2. The first activity data is a plurality of activity data generated from the statistical data. The process of learning the first action selection model includes a process of specifying the variation range of the model parameters from the change in the values of the model parameters in the process of the learning process. The optimizing process is a process of optimizing the model parameters based on the aggregated observation data within the variation range. The information processing program according to claim 1.

3. The process of generating the training data is a process of generating a plurality of training data. The learning process is a process of specifying the variation range of the values of the model parameters based on the values of the model parameters for each of the training data. The information processing program according to claim 2.

4. The statistical data is data obtained by statistically processing the results of an investigation of the movements of the first plurality of residents for each purpose under a first condition. The aggregated observation data is data obtained by statistically processing the observation results of the movements of the second plurality of residents under a second condition other than the first condition. The information processing program according to claim 1.

5. In the first condition, a first area where the first plurality of residents live is set. In the second condition, an area different from the first area is set as a second area where the second plurality of residents live. The information processing program according to claim 4.

6. In the first condition, a first period during which the first plurality of residents moved is set, and in the second condition, a second period different from the first period is set as the period during which the second plurality of residents moved. The information processing program according to claim 4.

7. Using the second activity data, perform a simulation to predict changes in the behavior of the second plurality of residents on the digital twin. The information processing program according to claim 1.

8. Based on the statistical data of the movement of the first plurality of residents, generate learning data including person attribute data indicating the attributes of a plurality of virtual residents and first activity data indicating the movement of each of the plurality of virtual residents with a purpose. Based on the learning data, learn a first behavior selection model that outputs the first activity data when the person attribute data is input. Optimize the value of the model parameter that affects the output of the first behavior selection model based on the aggregated observation data obtained by aggregating the observation results of the movement of the second plurality of residents. By performing a simulation of the movement of the second plurality of residents using the second behavior selection model with the optimized value of the model parameter, output second activity data indicating the movement of each of the second plurality of residents with a purpose. An information processing method executed by a computer.

9. An information processing apparatus having a processing unit that, based on the statistical data of the movement of the first plurality of residents, generates learning data including person attribute data indicating the attributes of a plurality of virtual residents and first activity data indicating the movement of each of the plurality of virtual residents with a purpose, learns a first behavior selection model that outputs the first activity data when the person attribute data is input based on the learning data, optimizes the value of the model parameter that affects the output of the first behavior selection model based on the aggregated observation data obtained by aggregating the observation results of the movement of the second plurality of residents, and performs a simulation of the movement of the second plurality of residents using the second behavior selection model with the optimized value of the model parameter to output second activity data indicating the movement of each of the second plurality of residents with a purpose.

Citation Information

Patent Citations

  • Apparatus and method for distributed model training, electronic device, storage medium, and computer program

    JP2022058328A

  • Regional radiative traffic flow prediction method

    CN111524358A

  • Moving track generation method and device

    CN113255951A

  • Prediction model generation system and prediction system

    JP2021196969A

  • Method and system for providing demand-responsive dispatching of a fleet of transportation vehicles, and a mobility-activity processing module for providing a mobility trace database

    US9953539B1