Analysis method, analysis apparatus, analysis program, and computer-readable storage medium storing the analysis program.
A hierarchical directed acyclic graph structure systematically classifies variables to eliminate subjective judgment, improving model generation efficiency and usability by using decision trees and Bayesian networks, while optionally reducing dimensionality.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MAZDA MOTOR CORP
- Filing Date
- 2024-10-16
- Publication Date
- 2026-04-28
AI Technical Summary
Existing methods for modeling events using multiple variables rely heavily on subjective human judgment for variable classification, leading to inefficiencies and reduced usability.
A systematic approach using a hierarchical directed acyclic graph structure to classify variables into explanatory, intermediate, and target variables, eliminating subjective judgment through algorithms like decision trees and Bayesian networks, and optionally reducing dimensionality with principal component analysis based on component count.
This method enables efficient, automated model generation with improved usability by systematically classifying variables, reducing processing load, and maintaining interpretability, enhancing the accuracy and speed of model generation.
Smart Images

Figure 2026070749000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to an analytical method, an analytical apparatus, an analytical program, and a computer-readable storage medium storing the analytical program. [Background technology]
[0002] For example, Patent Document 1 discloses an apparatus for modeling a predetermined event. This apparatus generates a model that outputs an estimated (predicted) value of the target variable when predetermined explanatory variables are input.
[0003] The device, in generating the model, refers to the values of the explanatory variables that constitute the end of the model, the values of the dependent variable that constitute the beginning of the model, and the values of one or more intermediate variables connected between the dependent variable and the explanatory variables. Each of the explanatory variables, dependent variable, and intermediate variables may have multiple components.
[0004] As an example, Patent Document 1 discloses a specific example in which the plate thickness of a vehicle frame component is used as the explanatory variable (initial explanatory variable), and the sound pressure transmission characteristics (SPL) at the occupant's ear position is used as the objective variable.
[0005] Furthermore, in the above specific example, the excitation point response characteristics (P / I) at multiple points set on the vehicle frame component are used as the first intermediate variable, and the vibration transmission characteristics (A / F) at the aforementioned multiple points, with the tire contact point as the excitation point, are used as the second intermediate variable.
[0006] According to the aforementioned Patent Document 1, the device generates a submodel connecting the intermediate variable and the objective variable based on a random forest in which the objective variable is defined as a "leaf" and one intermediate variable connected to the starting end of the objective variable is defined as the "root".
[0007] The device further repeatedly performs the following operations, depending on the number of types of intermediate variables (≠ number of components): generating a submodel in which the intermediate variable is designated as a "leaf" and another intermediate variable connected to the starting end of the intermediate variable is designated as the "root", generating a submodel in which that other intermediate variable is designated as a "leaf" and yet another intermediate variable is designated as the "root", and so on.
[0008] Ultimately, the device generates an intervariate model (model) with all components of the intermediate variable as the output by combining submodels in which the intermediate variable directly connected to the explanatory variable is the "leaf" and the explanatory variable is the "root". The device generates a model with the explanatory variable as input and the objective variable as the output by connecting intervariate models from the explanatory variable through the intermediate variable to the objective variable, as described above.
[0009] According to the aforementioned Patent Document 1, the intermediate variable may have multiple components. For example, in the specific example described above, a large number of excitation points can be assumed. Furthermore, considering the frequency characteristics at each excitation point, it is thought that each intermediate variable has a large number of components depending on the number of excitation points themselves and the high or low frequency at each excitation point.
[0010] Therefore, naively applying random forest to each intermediate variable is inconvenient from the standpoint of processing speed and other factors. Thus, one might consider applying principal component analysis to each intermediate variable to reduce dimensionality in the direction of its components. However, considering the interpretability of the reduced variables, it is preferable to use a method other than principal component analysis.
[0011] Therefore, in Patent Document 1, instead of using all the components that make up each intermediate variable, a model is generated between each variable by selecting and combining some of the components. When combining components, the best combination is determined by solving a combinatorial optimization problem using a genetic algorithm or the like each time. According to Patent Document 1, a predetermined number of components can be appropriately selected from multiple components.
[0012] On the other hand, Patent Document 2 discloses another example of a method for linking submodels from explanatory variables to the target variable via intermediate variables. Patent Document 2 discloses a device that displays the relationship between the variables constituting the "leaves" of a random forest (e.g., the target variable) and the variables constituting the "roots" (e.g., intermediate variables directly connected to the target variable) for each inter-variable model (model).
[0013] The apparatus described in Patent Document 2 calculates importance for each component (first component) of the variables constituting the "roots" (second component), based on the impurity of the partial model. This importance index represents the degree of influence each component (second component) of the variables constituting the "leaves" has on them.
[0014] The device then displays the importance levels obtained as described above on a display unit. On the display unit, the importance levels are displayed in a matrix in a two-dimensional space with the first component as one axis and the second component as the other axis. According to Patent Document 2, the relationship of importance between variables can be displayed. [Prior art documents] [Patent Documents]
[0015] [Patent Document 1] Japanese Patent Publication No. 2023-057728 [Patent Document 2] Japanese Patent Publication No. 2023-057729 [Overview of the Initiative] [Problems that the invention aims to solve]
[0016] Incidentally, the method described in Patent Document 1 is based on the premise that multiple variables have been classified in advance into a target variable, intermediate variables, and explanatory variables. Traditionally, such classifications have been made at the user's discretion.
[0017] Therefore, as shown in the specific example disclosed in Patent Document 1, explanatory variables, intermediate variables, etc., are specified subjectively, which could be influenced by the user's expertise. It would be advantageous if each variable could be systematically classified without human judgment when generating a model.
[0018] This disclosure is made in view of the above, and its purpose is to systematically classify each variable when generating a model using multiple variables, while eliminating subjective judgment as much as possible. [Means for solving the problem]
[0019] A first aspect of this disclosure relates to an analysis method that outputs an estimation model in which a predetermined event is modeled by using a computer equipped with an arithmetic unit and a plurality of mutually distinct variables. In this analysis method, each of the variables constituting the plurality of variables is composed of one or more components.
[0020] According to the first aspect described above, the analysis method determines a hierarchical directed acyclic graph structure in which the calculation unit is composed of nodes corresponding to each component of the plurality of variables and edges connecting different nodes from the set of said nodes, and which are arranged in an order that reflects the dependencies between the nodes, and the calculation unit classifies the plurality of variables into a target variable located at the end of the order and corresponding to the output value from the estimation model, an explanatory variable located at the beginning of the order and corresponding to the input value from the estimation model, and an intermediate variable connected between the target variable and the explanatory variable, and if there are multiple intermediate variables, the order between the intermediate variables with respect to the explanatory variable and the target variable is set based on the hierarchical structure, one of the plurality of variables is set as the first variable, and another of the plurality of variables that is directly connected to the first variable on the beginning side is set as the second variable, and If at least a portion of the components of the second variable are selected variables, the calculation unit generates a submodel based on a decision tree algorithm in which at least a portion of the selected variables are input and which outputs one of the components of the first variable, and by performing the generation of the submodel for each component constituting the first variable, it estimates a first kind inter-variable model composed of one or more of the submodels, the calculation unit newly sets the selected variable as the first variable, and newly sets another variable connected to the starting end of the selected variable as the second variable, and the calculation unit repeatedly performs the setting of the first and second variables, estimation of the first kind inter-variable model, and setting of the selected variable in order from the target variable toward the starting end, thereby outputting the estimated model which goes from the explanatory variables, through the selected variables corresponding to each of the intermediate variables, to the target variable, and connects each variable with the first kind inter-variable model.
[0021] According to the first embodiment described above, by inputting a dataset (input data) corresponding to the explanatory variables into the estimation model, the estimation model can output predicted values (estimated values) of the dependent variable.
[0022] Here, the estimation model takes the input explanatory variables, interposes one or more intermediate variables, and ultimately outputs the target variable. To generate this estimation model, it is advantageous to be able to systematically classify multiple variables into explanatory variables, intermediate variables, and target variables.
[0023] According to the first aspect described above, the analysis method determines a hierarchical directed acyclic graph (DAG structure) in which each component of multiple variables is arranged, prior to generating an estimation model. By determining the DAG structure, dependencies (parent-child relationships) between components can be found through the nodes and edges that constitute the DAG structure.
[0024] According to the first embodiment described above, based on the parent-child relationships thus identified, multiple variables are classified into explanatory variables, intermediate variables, and dependent variables. This allows each variable to be classified systematically while eliminating subjective judgments as much as possible.
[0025] Furthermore, eliminating subjective judgments in the generation of estimation models contributes to the efficiency of model generation. Model generation can be automated more than before. This, in turn, improves usability from the user's (analyst's) perspective.
[0026] Furthermore, according to a second aspect of this disclosure, each of the plurality of variables may be assigned attribute information including a flag indicating whether or not it is the target variable, and the calculation unit may, based on the attribute information, predetermine which of the plurality of variables corresponds to the target variable, and define the nodes that constitute the end of the directed acyclic graph structure and correspond to each component that constitutes the target variable as leaf nodes, define the nodes in the directed acyclic graph structure that are connected to the leaf nodes via one or more edges as parent nodes, and define the number of edges traversed from the leaf nodes to the parent nodes when viewed from the end of the directed acyclic graph structure toward the beginning as the number of layers, and the calculation unit may, based on the level of the number of layers, select from the plurality of variables which correspond to the explanatory variables and which correspond to the intermediate variables.
[0027] According to the second embodiment, the calculation unit performs classification of multiple variables based on the number of layers in the DAG structure. By using the number of layers, a more systematic processing method that does not rely on human judgment can be achieved. The room for subjective judgment can be further reduced.
[0028] Furthermore, according to a third aspect of this disclosure, the calculation unit may calculate the average value of the number of levels obtained for each of the plurality of variables, and the calculation unit may classify the plurality of variables into explanatory variables and intermediate variables based on the level of the average value.
[0029] According to the third embodiment, the calculation unit performs classification of multiple variables by calculating the average value of the number of levels for each variable. By using the average value of the number of levels, a more systematic processing can be achieved even if each variable has many components. The room for subjective judgment can be further reduced.
[0030] Furthermore, according to a fourth aspect of this disclosure, the arithmetic unit may determine a graph structure representing a Bayesian network as the directed acyclic graph structure.
[0031] According to the fourth embodiment described above, by using a DAG structure representing a Bayesian network, a hierarchical structure that reflects probabilistic dependencies can be determined. Using a hierarchical structure that reflects probabilistic dependencies is useful for classifying multiple variables.
[0032] Furthermore, according to a fifth aspect of this disclosure, each of the plurality of variables may be assigned a plurality of data values to each component, and the calculation unit generates a categorical data set for each of the plurality of data values by discretizing each data value of each component into a multilevel system, and the calculation unit determines as the directed acyclic graph structure that maximizes the conditional probability that the plurality of categorical data sets are realized, given an element g, when G is a set of directed acyclic graph structures representing a Bayesian network in which each of the plurality of categorical data sets is a node, and g is a graph structure that forms an element of the set G.
[0033] According to the fifth embodiment described above, each component is composed of multiple data values, each having a different indicator that characterizes the value of that component, such as the specifications of the structure or design variables. Each data value is converted into a categorical data set, and the conditional probability that the entire set of categorical data sets is realized is maximized. This makes it possible to determine a graph structure that incorporates the influence of the order (sequence direction) of the data values. As a result, it is possible to determine a more overarching graph structure that encompasses the influence of all indicators, rather than a snapshot-like graph structure that strongly reflects the influence of a particular indicator. This makes it possible to determine the graph structure and its hierarchical structure from a different perspective than conventional analysis methods, and contributes to the classification of variables based on the hierarchical structure.
[0034] Furthermore, according to a sixth aspect of this disclosure, the plurality of variables may include one or more multicomponent variables having multiple components, and the calculation unit sets preprocessing variables for each variable by reducing the dimensionality of the variables as multicomponent variables in the component direction based on a linear or nonlinear algorithm, and the calculation unit determines the directed acyclic graph structure based on the plurality of variables configured to include the preprocessing variables in place of the multicomponent variables, and classifies the plurality of variables into the target variable, the explanatory variables, and the intermediate variables based on the determined directed acyclic graph structure, and the calculation unit performs the selection of the selected variables and the estimation of the estimation model and outputs the results based on the plurality of variables configured to include the multicomponent variables in place of the preprocessing variables.
[0035] According to the sixth embodiment described above, when determining the DAG structure, each variable is reduced in dimensionality in the component direction. This reduces the processing load on the computer for various operations required to determine the DAG structure, even if each variable has a large number of components. This contributes to faster computer processing and improves usability from the user's (analyst's) perspective.
[0036] Furthermore, according to a seventh aspect of this disclosure, the linear or nonlinear algorithm may be principal component analysis.
[0037] According to the seventh embodiment described above, each variable can be systematically reduced in dimensionality by using principal component analysis. This contributes to the realization of systematic processing.
[0038] Furthermore, according to an eighth aspect of this disclosure, the calculation unit may read the number of components of the variable as a multicomponent variable, and if the number of components is less than a predetermined threshold, the calculation unit may skip dimensionality reduction of the multicomponent variable.
[0039] According to the eighth embodiment described above, whether or not to perform dimensionality reduction on each variable is determined on a case-by-case basis, depending on the number of components in each variable. When the number of components is small, performing dimensionality reduction may actually increase the load on the computer. On the other hand, when the number of components is large, performing dimensionality reduction can reduce the overall load on the control process, even after considering the processing required for dimensionality reduction.
[0040] By having the computer decide whether or not to perform dimensionality reduction on a case-by-case basis depending on the number of components, the load on the computer can be reduced as much as possible. Furthermore, having the calculation unit perform such decisions helps to reduce the possibility of subjective judgments.
[0041] Furthermore, according to a ninth aspect of this disclosure, the calculation unit may select a portion of the components constituting the second variable to set a group of components that are candidates for the selected variable composed of the portion of components, generate a submodel based on a decision tree algorithm that takes the group of components as input and outputs one of the components constituting the first variable, and perform the generation of the submodel for each component constituting the first variable to estimate a candidate model that is a candidate for the first kind inter-variable model composed of one or more of the submodels, and the calculation unit may perform the evaluation of the estimation accuracy of the candidate model, the updating of the group of components, and the estimation of the candidate model based on the updated group of components multiple times to select the best candidate model as the first kind inter-variable model based on the estimation accuracy, and determine the group of components corresponding to the first kind inter-variable model as the selected variable.
[0042] According to the ninth embodiment described above, by using selected variables instead of regular variables, the data size of each variable can be compressed. This reduces the load on the computer and contributes to improving processing speed.
[0043] Furthermore, as in the ninth embodiment described above, selecting a portion of the components that constitute each variable is effective in maintaining the interpretability of each variable, unlike dimensionality reduction by principal components.
[0044] Furthermore, according to a tenth aspect of this disclosure, the decision tree algorithm may be a random forest, the calculation unit may learn the first kind intervariate model constituting the estimation model by machine learning using multiple types of data values for the explanatory variable, the intermediate variable, and the target variable as training data, and the calculation unit may repeatedly update the component group based on a genetic algorithm in the machine learning of the first kind intervariate model so as to decrease the fitness based on the estimation accuracy.
[0045] According to the tenth embodiment described above, the calculation unit uses a genetic algorithm to update the component group. This makes it possible to select a portion of the initial components without impairing the interpretability of the initial components, unlike the conversion from initial components to principal components. This is advantageous in improving the usability of the model.
[0046] Furthermore, according to an eleventh aspect of this disclosure, the calculation unit may set a reduction variable for each intermediate variable by reducing the dimensionality of the intermediate variables on which the selected variable has been set in the component direction based on a recoverable linear or nonlinear algorithm, and the calculation unit may generate and output a type II intervariate model for each intermediate variable based on a predetermined machine learning algorithm, in which the selected variable or the explanatory variable is input and the reduction variable connected to the terminal side of the input is output.
[0047] According to the 11th embodiment described above, by inputting a dataset (input data) corresponding to the explanatory variables into the estimation model, in addition to the predicted value (estimated value) of the dependent variable output from the estimation model, the predicted value (estimated value) of the selected variable corresponding to each type I intervariate model can be output.
[0048] On the other hand, the reduced variables output by inputting the predicted values of each selected variable into the Type II intervariate model can be restored to intermediate variables based on the linear or nonlinear algorithm described above.
[0049] Therefore, while the predicted values of intermediate variables calculated based on each Type I intervariate model are only predictions for a subset of the selected components, inputting these predicted values into a Type II intervariate model allows for the calculation of predicted values for other components of the intermediate variables that were excluded from selection. This improves the usability of the model.
[0050] Furthermore, according to a twelfth aspect of this disclosure, the linear or nonlinear algorithm may be principal component analysis, and the calculation unit may store the rotation matrix in the principal component analysis in a storage unit connected to the calculation unit.
[0051] In general, principal component analysis corresponds to a basis transformation from a vector defined by the initial components to a vector defined by the principal components. Therefore, as in the 11th embodiment described above, by storing the rotation matrix used for the basis transformation, it is possible to reconstruct the initial components from the principal components. Thus, constructing a type II intervariate model using principal component analysis contributes to improving the usability of the model.
[0052] Furthermore, according to a 13th aspect of this disclosure, the calculation unit may acquire input data corresponding to the explanatory variables, and based on the estimation model, acquire a predicted value of the objective variable and a predicted value of the selected variable output from each of the first type inter-variable models constituting the estimation model, respectively; the calculation unit may acquire a predicted value of the reduction variable output from the second type inter-variable model based on the predicted value of the selected variable or the input data and the second type inter-variable model; and the calculation unit may restore the predicted value of the intermediate variable corresponding to the predicted value of the reduction variable from the predicted value of the reduction variable based on the linear or nonlinear algorithm and output it.
[0053] According to the 13th embodiment described above, by inputting a dataset (input data) corresponding to the explanatory variables into the estimation model, in addition to the predicted value (estimated value) of the dependent variable output from the estimation model, the predicted value (estimated value) of the selected variable corresponding to each type I intervariate model can be output.
[0054] Furthermore, the calculation unit inputs the predicted values of each selected variable into the Type II intervariate model, causing each model to output predicted values for the reduction variables, and simultaneously reconstructs the intermediate variables corresponding to those predicted values.
[0055] Therefore, while the predicted values of intermediate variables calculated based on each Type I intervariate model are only predictions for a subset of the selected components, inputting these predicted values into a Type II intervariate model allows for the output of predicted values for other components of the intermediate variables that were not selected. This improves the usability of the model.
[0056] Furthermore, according to a 14th aspect of this disclosure, the calculation unit is connected to a display unit that displays information to the user and a reception unit that receives operations and inputs from the user, and the calculation unit generates a network diagram in which the components of the explanatory variable, the selection variable, and the target variable are nodes, and in the order described above, from the explanatory variable through the selection variable to the target variable, and visualizes it on the display unit, and the calculation unit causes the display unit to display a designated area where a user interface for specifying the input data via the reception unit is arranged, and a visualization area in which the network diagram is visualized.
[0057] According to the 14th embodiment described above, the user can efficiently search for the optimal values of explanatory variables (input data) and intermediate variables through trial and error by specifying input data in a designated area while referring to the visualization area on the display unit. This improves the usability of the model.
[0058] Furthermore, according to a 15th aspect of this disclosure, the explanatory variable may be a variable that characterizes at least one of the structure and material of an object placed in physical space, the intermediate variable and the objective variable may represent the frequency characteristics of vibrations transmitted in physical space, and each component constituting the intermediate variable and the objective variable may be classified by at least one of the high or low frequency of the vibration, the excitation point of the vibration, and the transmission point of the vibration.
[0059] According to the 15th embodiment described above, it is possible to facilitate intelligent discoveries regarding the relationship between the structure and material of an object and the frequency characteristics of vibration. This is advantageous in improving vibration transmission-related performance, such as the NVH performance of automobiles.
[0060] Furthermore, a sixteenth aspect of this disclosure relates to an analytical device configured by a computer equipped with a calculation unit, which outputs an estimation model in which a predetermined event is modeled by using a plurality of mutually different variables. In this analytical device, each of the variables constituting the plurality of variables is composed of one or more components.
[0061] According to the 16th embodiment, the analysis device comprises a graph structure determination unit that determines a hierarchical directed acyclic graph structure composed of nodes corresponding to each component of the plurality of variables and edges connecting different nodes in the set of nodes, arranged in an order that reflects the dependencies between the nodes; a data classification unit that, based on the hierarchical structure of the directed acyclic graph structure, classifies the plurality of variables into a target variable located at the end of the order and corresponding to the output value from the estimation model, an explanatory variable located at the beginning of the order and corresponding to the input value from the estimation model, and intermediate variables connected between the target variable and the explanatory variable, and, if there are multiple intermediate variables, sets the order between the intermediate variables with respect to the explanatory variable and the target variable based on the hierarchical structure; and, based on the classification result, sets one of the plurality of variables as the first variable, sets another of the plurality of variables directly connected to the beginning of the first variable as the second variable, and the constituent components of the second variable The system includes: a data acquisition unit that sets at least a portion of the variables as selected variables; a first kind inter-variable model generation unit that generates a submodel based on a decision tree algorithm, in which at least a portion of the selected variables are input and which outputs one of the constituent components of the first variable, and estimates a first kind inter-variable model composed of one or more of the submodels by performing the generation of the submodel for each component constituting the first variable; a chaining unit that causes the data acquisition unit to newly set the selected variables as the first variable and to newly set another variable connected to the starting end of the selected variables as the second variable; and outputs the estimated model that goes from the explanatory variables, through the selected variables corresponding to each of the intermediate variables to the target variable, and connects each variable with a first kind inter-variable model, by repeatedly performing the setting of the first and second variables, the estimation of the first kind inter-variable model, and the setting of the selected variables in order from the target variable toward the starting end.
[0062] Furthermore, a 17th aspect of this disclosure relates to an analysis program that outputs an estimation model in which a predetermined event is modeled by using a computer equipped with an arithmetic unit and a plurality of mutually distinct variables. In this analysis program, each of the variables constituting the plurality of variables is composed of one or more components.
[0063] According to the 17th aspect described above, the analysis program provides the computer with the following processes: the calculation unit determines a directed acyclic graph structure which is composed of nodes corresponding to each component of the plurality of variables and edges connecting different nodes from the set of nodes, and which is hierarchically arranged to reflect the dependencies between the nodes; the calculation unit classifies the plurality of variables based on the hierarchical structure of the directed acyclic graph structure into a target variable located at the end of the order and corresponding to the output value from the estimation model, an explanatory variable located at the beginning of the order and corresponding to the input value from the estimation model, and an intermediate variable connected between the target variable and the explanatory variable, and if there are multiple intermediate variables, the calculation unit sets the order between the intermediate variables with respect to the explanatory variable and the target variable based on the hierarchical structure; and the calculation unit sets one of the plurality of variables as the first variable based on the classification result, and another of the plurality of variables which is directly connected to the first variable on the beginning side. The process involves setting a second variable and setting at least a portion of the constituent components of the second variable as a selection variable; the calculation unit generates a submodel based on a decision tree algorithm, in which at least a portion of the selection variable is input and one of the constituent components of the first variable is output, and the generation of the submodel is performed for each component constituting the first variable to estimate a first kind inter-variable model composed of one or more of the submodels; the calculation unit newly sets the selection variable as the first variable and newly sets another variable connected to the starting end of the selection variable as the second variable; and the calculation unit repeatedly performs the setting of the first and second variables, the estimation of the first kind inter-variable model, and the setting of the selection variable in order from the target variable toward the starting end to output the estimated model which goes from the explanatory variable, through the selection variable corresponding to each of the intermediate variables toward the target variable, and connects each variable with the first kind inter-variable model.
[0064] Furthermore, an eighteenth aspect of this disclosure relates to a computer-readable storage medium that stores the analysis program. [Effects of the Invention]
[0065] As explained above, according to this disclosure, when generating a model using multiple variables, each variable can be systematically classified while eliminating subjective judgments as much as possible. [Brief explanation of the drawing]
[0066] [Figure 1] Figure 1 is a diagram illustrating the hardware configuration of the analytical instrument. [Figure 2A] Figure 2A is a diagram illustrating the software configuration of an analytical instrument. [Figure 2B] Figure 2B is a diagram illustrating the software configuration of the analytical instrument. [Figure 2C] Figure 2C is a diagram illustrating the software configuration of an analytical instrument. [Figure 3] Figure 3 is a flowchart illustrating the overall structure of the analysis method. [Figure 4] Figure 4 is a conceptual diagram illustrating the relationships between variables. [Figure 5] Figure 5 is a flowchart illustrating the steps of a variable classification method. [Figure 6] Figure 6 is a flowchart illustrating the steps involved in graph structured analysis. [Figure 7] Figure 7 is a flowchart illustrating the steps of the pre-processing process. [Figure 8] Figure 8 is a flowchart illustrating the steps of the main processing process. [Figure 9] Figure 9 is a flowchart illustrating the steps of the post-processing process. [Figure 10] Figure 10 shows a specific example of a post-processing process. [Figure 11] Figure 11 is a flowchart illustrating the steps of the data setup process. [Figure 12] Figure 12 is a flowchart illustrating the steps of the data setup process. [Figure 13]Figure 13 is a flowchart illustrating the steps of the data classification process. [Figure 14] Figure 14 is a conceptual diagram illustrating the data classification process. [Figure 15] Figure 15 is a conceptual diagram illustrating the data classification process. [Figure 16] Figure 16 is a conceptual diagram illustrating the data classification process. [Figure 17] Figure 17 is a flowchart illustrating the steps of the modeling method. [Figure 18] Figure 18 is a conceptual diagram illustrating the selection and reduction variables. [Figure 19] Figure 19 illustrates the different machine learning models produced by different modeling methods. [Figure 20] Figure 20 is a flowchart illustrating the steps of the data acquisition process. [Figure 21A] Figure 21A is a flowchart illustrating the steps of the I-type intervariate model generation process. [Figure 21B] Figure 21B is a flowchart illustrating the steps of the I-type intervariate model generation process. [Figure 22] Figure 22 is a flowchart illustrating the steps of a chain process. [Figure 23] Figure 23 is a flowchart illustrating the steps of the dimensionality reduction process. [Figure 24] Figure 24 is a graph illustrating the relationship between the number of intervening factors and the third threshold. [Figure 25] Figure 25 is a flowchart illustrating the steps of the intervariate model generation process of type II. [Figure 26] Figure 26 is a diagram that conceptually explains the modeling method. [Figure 27] Figure 27 is a diagram intended to conceptually explain the modeling method. [Figure 28] Figure 28 is a diagram that conceptually explains the modeling method. [Figure 29] Figure 29 is a flowchart illustrating the steps of the prediction method. [Figure 30] Figure 30 shows specific examples of variable classification methods, modeling methods, and prediction methods. [Figure 31] Figure 31 shows specific examples of variable classification methods, modeling methods, and prediction methods. [Figure 32] Figure 32 shows specific examples of variable classification methods, modeling methods, and prediction methods. [Figure 33] Figure 33 shows specific examples of variable classification methods, modeling methods, and prediction methods. [Figure 34] Figure 34 is a diagram illustrating the control of the display mode. [Modes for carrying out the invention]
[0067] The embodiments of this disclosure will be described below with reference to the drawings. Note that the following description is illustrative.
[0068] <1. Overall Structure> Figure 1 is a diagram illustrating the hardware configuration of the analytical device (specifically, computer 1 that constitutes the analytical device) according to this disclosure, and Figures 2A, 2B, and 2C are diagrams illustrating the software configuration thereof.
[0069] As illustrated in Figure 1, computer 1 comprises a Central Processing Unit (CPU) 3 that controls the entire computer 1, a Read Only Memory (ROM) 5 that stores boot programs and the like, a Random Access Memory (RAM) 7a that functions as main memory, and a Solid State Drive (SSD) 7b as secondary storage. Note that, instead of the SSD 7b, a non-volatile storage device such as a Hard Disk Drive (HDD) can also be used as secondary storage.
[0070] Of these elements, the CPU 3 executes various programs. The CPU 3 constitutes the arithmetic unit in this embodiment. The RAM 7a and SSD 7b temporarily or continuously store the programs executed by the CPU 3. The RAM 7a and SSD 7b constitute the storage unit 7 in this embodiment.
[0071] Computer 1 also includes a display 9, graphics memory (Video RAM: VRAM) 11 for storing image data displayed on the display 9, and a keyboard 13a and mouse 13b as human-machine interfaces.
[0072] The display 9 displays information to the user. As illustrated in Figures 17 and 18 described later, the display 9 can display a screen Sc based on the calculation results of the CPU 3, and constitutes the display unit in this embodiment. The display 9 is electrically connected to the CPU 3 by wireless or wired connection.
[0073] The keyboard 13a and mouse 13b each accept at least one of the input and / or operation (hereinafter collectively referred to as "operation input") from the user (analyst). The keyboard 13a and mouse 13b constitute the reception unit 13 in this embodiment. The reception unit 13 is electrically connected to the CPU 3 by wireless or wired connection.
[0074] Furthermore, the computer 1 according to this embodiment can send and receive data with external devices via the communication interface 15. For example, the computer 1 is connected to a server machine via the interface 15.
[0075] As illustrated in Figure 2A, the program memory of the SSD 7b stores the analysis program 21 according to this embodiment, the operating system (OS) 20, and an application program (not shown).
[0076] The analysis program 21 is a program that causes computer 1 to execute the analysis method according to this embodiment. The analysis method includes a variable classification method according to this embodiment, a modeling method according to the same embodiment, and a prediction method according to the same embodiment.
[0077] More specifically, the analysis program 21 comprises a variable classification program 23 that executes the variable classification method, a modeling program 25 that executes the modeling method, and a prediction program 27 that executes the prediction method. The analysis program 21 is pre-stored in a computer-readable storage medium 18. This storage medium 18 is a tangible storage medium made of a disk medium or the like.
[0078] The variable classification program 23 causes the computer 1, which acts as a variable classification device, to execute each process that constitutes the variable classification method. As illustrated in Figure 2B, the variable classification program 23 includes a data setting program 231, a graph structuring analysis program 233, and a data classification program 235.
[0079] Of these programs, the graph structured analysis program 233 consists of a pre-processing program 23A, a main processing program 23B, and a post-processing program 23C. The graph structured analysis program 233 is a program for performing graph structured analysis (hereinafter referred to as "GSA"), which will be described later. Hereafter, it will be referred to as "GSA program 233".
[0080] GSA is a big data analysis method proposed by the inventors of this invention, which combines probability theory (Bayesian estimation) and graph theory. In this embodiment, GSA is used to determine the graph structure. However, using GSA to determine the graph structure is not essential.
[0081] The modeling program 25 causes the computer 1, which acts as a modeling device, to execute each process that constitutes the modeling method. As illustrated in Figure 2C, the modeling program 25 includes a data acquisition program 251, a first kind intervariate model generation program 253, a chaining program 255, a dimensionality reduction program 257, and a second kind intervariate model generation program 259.
[0082] The prediction program 27 causes the computer 1, which acts as a prediction device, to execute each process that constitutes the prediction method. As illustrated in Figure 2, the prediction program 27 includes a data acquisition program 271, a data prediction program 273, and a display mode control program 275.
[0083] In the program memory of SSD7b, each program constituting the modeling program 25 and the prediction program 27 is launched in response to commands input from the keyboard 13a, mouse 13b, etc. At that time, each program is loaded from SSD7b into RAM7a and executed by CPU3.
[0084] Note that these programs that make up the analysis program 21 are merely convenient groupings that classify the analysis program 21 by function. One or more of these programs may constitute a single program.
[0085] Furthermore, the depiction of a single computer 1 in Figure 1 is merely illustrative. Each program constituting the analysis program 21 may be executed on two or more computers 1.
[0086] On the other hand, as shown in Figure 2A, the data memory of SSD7b temporarily or continuously stores the following data related to both the variable classification method and the modeling method: a first dataset 31 showing the data values of multiple variables 41, a second dataset 32A showing attribute information In1 for each of the multiple variables 41, and a third dataset 32B showing the classification results (classification information In2) for each of the multiple variables 41.
[0087] The multiple variables 41 are used as sample data for unsupervised learning in the variable classification method, and as training data for supervised learning in the modeling method.
[0088] Furthermore, as shown in Figure 2A, the data memory of SSD7b temporarily or continuously stores first model data 33 representing the first kind intervariate model M1 and the first estimation model Ms1 obtained based on the first dataset 31, and second model data 35 representing the second kind intervariate model M2 and the second estimation model Ms2 obtained based on the first dataset 31. The first estimation model Ms1 is an example of an "estimation model" in this embodiment.
[0089] The data memory also temporarily or continuously stores a selection dataset 37 showing each selection variable D obtained in association with the first estimation model Ms1 based on multiple variables 41, and a reversible dataset 39 showing each reduction variable E and rotation matrix Ma obtained in association with the second intervariate model M2.
[0090] In addition, various data generated by each program that makes up the analysis program 21, as well as the execution results of application programs, are stored in the data memory of SSD 7b or in RAM 7a as main memory, as needed.
[0091] <2. Overview of the Analysis Method> Figure 3 is a flowchart illustrating the overall analysis method. Figure 4 is a conceptual diagram explaining the relationships between variables.
[0092] As shown in Figure 3, the analysis method generally includes a variable classification process (step S1), a modeling process (step S2), and a visualization process (step S3).
[0093] The analysis program 21 is configured to cause computer 1 to execute these control processes. Specifically, among these control processes, the variable classification process is performed by CPU 3 executing the variable classification program 23, and the modeling process is performed by CPU 3 executing the modeling program 25. Similarly, the visualization process is performed by CPU 3 executing the prediction program 27.
[0094] The computer 1 configures the analysis device by having the CPU 3 execute the analysis program 21, etc. In other words, the computer 1 functions as an analysis device comprising a variable classification means 100A that executes step S1, a modeling means 100B that executes step S2, and a prediction means 100C that executes step S3. As illustrated in Figures 2B and 2C, each functional element, including the variable classification means 100A, is configured by the CPU 3 in this embodiment.
[0095] In this manner, the computer 1, acting as a classification device, executes the analysis method according to this embodiment. This analysis method is configured to output a first estimation model Ms1 in which a predetermined event is modeled, by using the computer 1 configured as described above and a plurality of mutually different variables 41 through its variable classification method and modeling method.
[0096] Here, each of the multiple variables 41 has one or more components 41a. In this embodiment, the multiple variables 41 include one or more multicomponent variables having multiple components 41a.
[0097] As illustrated in Figure 4, in this embodiment, all variables 41 have multiple components 41a. In other words, each variable 41 is assigned multiple components 41a. In this embodiment, all variables 41 are multi-component variables.
[0098] Each variable 41 is a variable that characterizes the event to be modeled. The event to be modeled can be any numerical data that can be set to include the explanatory variable Vi of the first estimation model Ms1, the dependent variable Vo of the same first estimation model Ms1, and one or more intermediate variables C that play other roles, as will be described later.
[0099] This event is one in which at least the intermediate variable C can define multiple components 41a. Hereafter, the number of components 41a of the intermediate variable C (hereinafter referred to as the "number of components") may be denoted as "d" (see also Figure 4). The number of components d of each intermediate variable C may be different for each intermediate variable C.
[0100] Here, let N be the total number of intermediate variables, and let n be a natural number less than or equal to N. As illustrated in Figure 4 below, the nth intermediate variable is defined as "C n It is sometimes written as "[...]". The following explanation is generally the same for both the case where there is one intermediate variable C and the case where there are multiple intermediate variables.
[0101] As shown in Figure 4, the N intermediate variables C are numbered sequentially from the starting end as follows: "first intermediate variable C1", "second intermediate variable C2", ..., "N-1th intermediate variable C N-1 " and "the Nth intermediate variable C N It is referred to as "..."
[0102] Furthermore, as will be explained later, the total number of all 41 variables is denoted as "K". If there is one dependent variable Vo and one independent variable Vi, then "K = N + 2".
[0103] Each variable 41 may be a variable that represents the magnitude of the event itself, such as the amplitude of vibration or the sound volume, or it may be a variable that can affect the magnitude of the event, such as a design variable for the vibration source or a design variable for a structure that mediates the vibration.
[0104] Here, the variable 41 representing the magnitude of the event itself includes measurable variables 41. Measurable variables 41 include indicators representing the state of non-living objects (structures) and indicators representing the state of living organisms.
[0105] The former index includes an index representing the state of the object itself and an index representing the state of other objects attached to the object. The index representing the state of the object itself includes, for example, an index representing the movement state of the object configured as a moving body (e.g., vehicle speed), the specifications of the moving body (e.g., the vehicle's maximum speed), and, overlapping with the previous example, the design variables of each component constituting the moving body. The index representing the state of other objects attached to the object includes, for example, the operating amounts of various actuators (e.g., the steering angle of the steering wheel).
[0106] On the other hand, the latter indicators (indicators representing the state of an organism) include indicators representing the physiological state of the organism (for example, the driver's heart rate, pulse rate, and respiratory rate, as well as parameters that characterize the organism's general health), indicators representing the psychological state of the organism (for example, parameters that quantify the driver's willingness to buy), and indicators representing the organism's sensibilities (for example, parameters that quantify the driver's preferences).
[0107] Furthermore, indicators that may influence the magnitude of an event include, for example, indicators that show the path of an object (e.g., information showing the vehicle's route), indicators that show the surrounding environment of an object (e.g., information showing the vehicle's altitude, ambient temperature, weather, etc.), and indicators related to the willingness to purchase an object (e.g., the vehicle's price).
[0108] The multiple variables 41 may be of different types. For example, the explanatory variable Vi may be a design variable of the vibration source, while the objective variable Vo may be a variable related to the magnitude or volume of the vibration.
[0109] Component 41a includes labels that distinguish the evaluation position, acquisition position, measurement position, etc., for each variable 41, such as labels that distinguish the measurement position of vibration, the type or arrangement of interconnected parts. Component 41a also includes parameters that cause changes in each variable 41, such as the frequency component and time component of each variable 41. Both the former labels and parameters may be used in component 41a.
[0110] Furthermore, during the variable classification process and the modeling process (estimation of the first estimation model Ms1), each of the multiple variables 41 is composed of sequential data 41b, in which multiple data values (numerical data) are arranged for each component 41a.
[0111] In other words, each component 41a is assigned a series of data (multiple data values) 41b. Each series of data 41b can be any data arranged by labels (samples) that can change the event being modeled, and by extension, the variable 41 related to that event.
[0112] As illustrated in Figure 4, each variable 41 can be represented as a matrix where one of the row and column components is the sequence number and the other is the component number. During training of the first estimation model Ms1, each variable 41 can be considered as a second-order tensor.
[0113] To put it another way, each component 41a can be considered to be composed of sequential data 41b. Then, each sequential data 41b that makes up each variable 41 can be considered to be each component 41a that makes up each variable 41. One sequential data 41b corresponds to one component 41a.
[0114] Each sequence of data 41b may be sequence data arranged according to the specifications of the vibration source (e.g., a label to distinguish sound sources) or the specifications of the structure that mediates the vibration (e.g., a label to distinguish vehicle types), or, similar to component 41a, it may be sequence data arranged according to the frequency component and time component of each variable 41.
[0115] In this embodiment, each sequence data 41b can be numerical data arranged according to the sample of training data (the first sample, ..., the Nth sample) for machine learning of the first estimation model Ms1, as illustrated in Figure 2A. In other words, constructing each component 41a of each variable 41 using the sequence data 41b is only necessary when using it as training data. For the first estimation model Ms1 after estimation, numerical data with a sequence number of 1 (numerical data corresponding to each component 41a of each variable 41) will be input and output for each of the explanatory variable Vi, intermediate variable C, and objective variable Vo.
[0116] For example, the input values for the first estimated model Ms1 after estimation (input values corresponding to the explanatory variable Vi) are numerical data with a series count of 1, and the output values from the first estimated model Ms1 (output values corresponding to the explanatory variable Vi) are numerical data with a series count of 1. This numerical data corresponds to the input data 301 described later.
[0117] Multiple variables 41 are arranged in series according to a predetermined order (predetermined order) Oc. This predetermined order Oc may, for example, be an order that indicates a causal relationship, or it may be an order of general dependencies regardless of causality. The predetermined order Oc may also be an order that distinguishes time series.
[0118] The predetermined order Oc is simply a sequence of variables 41 connected in series, so that an end and a beginning can be assigned to each of them. According to this predetermined order Oc, the variables 41 consist of the aforementioned explanatory variable Vi and N intermediate variables C. n The variables can be classified into at least three types, including the dependent variable Vo, and 41 other variables.
[0119] Although the number of sequences of each component 41a is the same for these three types of variables 41, the number of components 41a (component count d) may differ from one another depending on the classification of each variable 41.
[0120] In this embodiment, in order to suppress the subjectivity in the machine learning of the first estimation model Ms1, the order Oc is systematically defined not by the user, but by the variable classification means 100A. The variable classification method for defining such a definition will be described in detail below.
[0121] <3. Outline of Variable Classification Method> Figure 5 is a flowchart illustrating the procedure for the variable classification method. Figure 5 shows the procedure performed in step S1 of Figure 3. When the control process proceeds to step S1 of Figure 3, CPU 3 executes each step from step S11 of Figure 5.
[0122] As shown in Figure 5, the variable classification method is generally carried out by executing four control processes in sequence. The four control processes, in the order in which they are executed, include a data setting process (step S11), a graph structure determination process (step S12), and a data classification process (step S13).
[0123] The variable classification program 23 is configured to cause computer 1 to execute these control processes. Specifically, of these control processes, the data setting process is performed by CPU 3 executing the data setting program 231, and the graph structure determination process is performed by CPU 3 executing the GSA program 233. Similarly, the data classification process is performed by CPU 3 executing the data classification program 235.
[0124] The variable classification device is configured by the computer 1 when the CPU 3 executes the variable classification program 23. In other words, the computer 1 functions as a variable classification device equipped with the aforementioned variable classification means 100A. As illustrated in Figure 2B, this variable classification means 100A includes a data setting unit 101, a graph structure determination unit 103, and a data classification unit 105. In this embodiment, each functional element is configured by the CPU 3.
[0125] Here, the data setting unit 101 executes the data setting process (step S11). The graph structure determination unit 103 executes the graph structure determination process (step S12). The data classification unit 105 executes the data classification process (step S13).
[0126] For example, in the graph structure determination process, CPU3 determines a directed acyclic graph structure (DAG structure). This DAG structure consists of nodes corresponding to each component 41a of multiple variables 41, and edges connecting different nodes within the set of such nodes. The DAG structure thus constructed is hierarchically arranged so that it is linked in an order that reflects the dependencies between different nodes.
[0127] The aforementioned DAG structure can be rephrased as a graph structure that reflects the dependencies (parent-child relationships) between different variables 41, and by extension, between different components 41a.
[0128] Before explaining each process in Figure 5 in order, we will first provide a detailed explanation of the GSA used in the graph structure determination process. Note that using a GSA in the graph structure determination process is not mandatory. Any method capable of determining a DAG structure that reflects the aforementioned dependencies (parent-child relationships) can be used.
[0129] <4. Details of GSA> Figure 6 is a flowchart illustrating the procedure for graph structure analysis (GSA). The method illustrated in Figure 6 uses computer 1 to determine a directed graph structure in which each component 41a of multiple variables 41 is a node.
[0130] In light of the fact that each component 41a is composed of sequential data 41b, in this chapter, the variable corresponding to "component 41a" may be referred to as "sequential data 41b" or simply as "variable".
[0131] By using GSA to determine the directed graph structure, a directed acyclic graph structure (DAG structure), which represents a Bayesian network, is determined as the directed graph structure.
[0132] As shown in Figure 6, GSA is performed by sequentially executing a pre-processing process (step S121), a main processing process (step S122), and a post-processing process (step S123).
[0133] Of these processes, the pre-processing process is performed by the CPU 3 executing the aforementioned pre-processing program 23A. Similarly, the main processing process is performed by the CPU 3 executing the main processing program 23B, and the post-processing process is performed by the CPU 3 executing the post-processing program 23C.
[0134] When the CPU 3 executes the pre-processing program 23A, etc., the computer 1 functions as a graph structuring device equipped with the graph structure determination unit 103. This graph structure determination unit 103 has a pre-processing unit 103A that executes the pre-processing process, a main processing unit 103B that executes the main processing process, and a post-processing unit 103C that executes the post-processing process.
[0135] The following describes each process that makes up the GSA in order.
[0136] (4-1. Pre-processing process) Figure 7 is a flowchart illustrating the steps of the pre-processing process. The flowchart in Figure 7 shows the processing performed in step S121 of Figure 6. That is, when the control process proceeds to step S121 in Figure 6, the CPU 3 will execute steps S1211 to S1213 of Figure 7 in order.
[0137] Specifically, in step S1211 of FIG. 7, the CPU 3 reads the series data 41b for each variable 41. Since a plurality of variables 41 are provided, even if any one of the variables 41 is a single-component variable, the CPU 3 will read a plurality of series data 41b.
[0138] Here, assume that the plurality of series data 41b are composed of p (p is an integer greater than or equal to 2) series data 41b. Also, as variables corresponding to the p series data 41b, consider p variables x1,..., x p Let each of the p variables be individually set at indices t1 <... < t N Note that the "variable" here does not refer to the "variable 41" classified into the target variable Vo, etc., but simply represents the "component 41a".
[0139] In the case of the specific example illustrated in FIG. 4, taking i as an integer greater than or equal to 1 and less than or equal to p, x i = "the i-th component 41a". Also, the label i for distinguishing each component 41a also functions as a label for distinguishing different variables 41.
[0140] That is, the upper limit value p of the label i is, for example, the integrated value obtained by integrating the number of components d of each variable 41 over all variables 41. When there are K types of variables 41, assuming that the number of components d of each variable 41 is the same for all variables 41, the upper limit value p is "p = K × d".
[0141] Also, although details will be described later, in this embodiment, instead of the conventionally known time t1, a more general index (label) that can change the value of the variable 41 is used. This label functions as a sample number for distinguishing each sample constituting the teacher data during the machine learning described later.
[0142] To simplify the explanation, similar to the time t n (n is an integer greater than or equal to 1 and less than or equal to N), this is also called the index t n In this embodiment, "t n" indicates the nth index (or nth sample).
[0143] It is not essential to fix the total number of indicators N (i.e., the number of series in each series data 41b) for each of the p variables. For example, the value of N may differ between the (p-1)th variable and the (p-2)th variable. Not fixing the value of N for each label i is particularly useful when there are intentionally missing values in the data representing each waveform.
[0144] In this case, as series data 41b,
number
[0145] Here, for each i ∈ {1, ..., p}, the variable x i S is a data set relating to i So,
number
[0146] Next, in step S1212 of Figure 7, the CPU3, acting as the processing unit, generates a set of categorical data corresponding to each series of data 41b by discretizing the data values (e.g., waveform values) at each index (sample) of each series of data 41b into a multi-level system.
[0147] Specifically, in this step S1212, the data set (i-th sequence data 41b) Si to r i (a categorical data set consisting of (<N) elements
Number
Number
[0148] That is, at the stage of formula (2), the data set S i is composed of N elements classified by index (for example, sample number). On the other hand, at the stage of formula (3), the categorical data set C i will be composed of r i (<N) elements classified by other parameters.
[0149] Preferably, let the value of the data set S i at a predetermined index be represented by the variable x, the average value related to the index of the data set S i be μ i , and the standard deviation related to the index of the data set S i be σ i . If the categorical data set corresponding to the data set S i is C i , then the mapping φ i is
Number
[0150] More preferably, if the largest integer less than or equal to x is [x], then the mapping φ i is
Number
[0151] In particular, as shown by equation (6), the mapping φ i This depends not on an index tied to the variable x, but on the absolute value of the variable x itself. Therefore, the categorical data set C generated through equation (6) i This effectively eliminates the dependency on the index t.
[0152] Next, in step S1213 in Figure 7, the CPU 3 stores the categorized sequence data 41b in RAM 7a or SSD 7b. The stored data is then read as needed in the main processing process and other processes. Once step S1213 is completed, the control process returns from the flow illustrated in Figure 7 and proceeds to step S122 in Figure 6.
[0153] To keep the explanation concise, X represents the series data 41b before categorization, and X represents the series data 41b after categorization. c They are treated as identical and described as such. Furthermore, a discrete variable whose i-th column vector component of a data column X consisting of all p columns is treated as categorical data is simply x i We will use this notation to refer to and handle it as such.
[0154] (4-2. Main Processing Process) Figure 8 is a flowchart illustrating the steps of the main processing process. The flowchart in Figure 8 shows the process performed in step S122 of Figure 8. That is, when the control process proceeds to step S122 in Figure 6, the CPU 3 will execute steps S1221 to S1223 of Figure 8 in order.
[0155] In the main processing process, CPU3 processes each discrete variable (the i-th column vector component of data sequence X) x generated in the pre-processing process. iConstruct a Bayesian network with nodes.
[0156] Here, the construction of the Bayesian network is carried out by searching for a Directed Acyclic Graph (DAG) structure that represents the Bayesian network. This DAG structure is searched for as a graph structure that maximizes the conditional probability of a data sequence X given the graph structure.
[0157] Specifically, in step S1221 in Figure 8, CPU3 reads the categorical data (specifically, the categorized data column X). Subsequently, in step S1222, CPU3 sets the network score based on the categorical data read in step S1221.
[0158] In this embodiment, the set of all DAG structures of Bayesian networks that can be represented by p nodes is G p Let p discrete variables x1, ..., x be configured in the pre-processing process. p And, using a data sequence X consisting of p discrete variables, and a score-based approach, we can find the optimal graph structure g∈G p This involves learning. This learning is equivalent to what is known as unsupervised learning.
[0159] The following describes the procedure for configuring the network score.
[0160] Graph structure g∈G p Given that, for each i∈{1,…,p}, x i The set of parent nodes that are directly connected to Π i ⊂{x1,…,x p} and Π i q is the number of possible states that can take on. i Therefore, q i teeth,
number
number
number
number
number
number
[0161] Then, using equation (11) as the likelihood function and equation (12) as the prior distribution, the posterior distribution can be expressed using Bayes' theorem. Specifically, the posterior distribution expressed through Bayes' theorem is:
number
number
[0162] In this embodiment, the categorical data set C i p discrete variables x corresponding to i Each of these is considered a node that constitutes a Bayesian network. In other words, the Bayesian network in this embodiment consists of p discrete variables x i It is constructed by connecting these elements with single-pointed arrows (edges).
[0163] And the discrete variable x i G is a set of directed acyclic graph structures that represent Bayesian networks constructed by interconnecting them (as mentioned above). p (equivalent to) and let g be the graph structure that makes up the elements of set G, then a categorical data set C is given by the condition that element g is given. i A probability distribution for the entire dataset is established. This probability distribution is equal to the probability that the data sequence X is realized given the condition g, and is equal to the network score shown in equation (14).
[0164] Then, in step S1223, following step S1222, the CPU3 determines the graph structure that maximizes the network score. The graph structure is determined by g∈G such that it maximizes the network score shown in equation (14). p This is now sought through a metaheuristic search algorithm called "Taboo Search."
[0165] For more details on taboo search, please refer to, for example, “Bouckaert, R., Bayesian belief networks: from construction to inference, Ph.D. Thesis, University of Utrecht, 1995.” and “Acid, S., and de Campos, LM, Searching for Bayesian network structures in the space of restricted acyclic partially directed graphs, Journal of Artificial Intelligence Research 18, pp. 445-490, 2003.”
[0166] Also, the hyperparameter α ijkIn making this determination, we adopted a network that can construct the network score "BDeu (Bayesian Dirichlet equivalence uniform)" as recommended in "Ueno, M., Learning networks determined by the ratio of prior and data, In Proc. of 26th Conf. on Uncertainty in Artificial Intelligence, pp. 598-605, 2010." and "Ueno, M., Robust learning of Bayesian networks for prior belief, In Proc. of 27th Conf. on Uncertainty in Artificial Intelligence, pp. 698-707, 2011.", etc. That is, a constraint equivalent to a special case of a sufficient condition that satisfies "likelihood equivalence" as described in "Heckerman, D., Geiger, D., and Chickering, DM, Learning Bayesian networks: The combination of knowledge and statistical data, Machine learning, 20, pp. 197-243, 1995."
number
[0167] As is well known, when performing a search using taboo search, all neighboring solutions of DAG structures that can be constructed by "adding," "deleting," or "reversing the direction" of one edge to the current DAG structure S (excluding S itself) are considered. Then, the DAG structure with the highest network score among these neighboring solutions, and the network score of that DAG structure, are compared with the current DAG structure and the current network score, respectively, thereby sequentially updating the DAG structure and network score.
[0168] Then, in step S1223, the CPU 3 determines a graph structure g∈G that maximizes the network score. p This determines the final graph structure.
[0169] Subsequently, in step S1234, which follows step S1223, the CPU3 stores the graph structure determined in step S1233 in RAM7a or SSD7b. Once step S1224 is completed, the control process returns from the flow illustrated in Figure 8 and proceeds to step S123 in Figure 6.
[0170] (4-3. Post-processing) Figure 9 is a flowchart illustrating the steps of the post-processing process. The flowchart in Figure 9 shows the processing performed in step S123 of Figure 6. That is, when the control process proceeds to step S123 in Figure 6, the CPU 3 will execute steps S1231-S1236 of Figure 9 in order.
[0171] Below are multiple variables (component 41a) x i One of these will be the dependent variable. To distinguish the dependent variable from the other variables, we will use "x i Sometimes "y" is used instead of "".
[0172] The dependent variable y here corresponds to each of the components 41a of the dependent variable Vo mentioned earlier. In other words, each component 41a that makes up the dependent variable Vo corresponds to the dependent variable y as a leaf node in the following explanation.
[0173] In the post-processing process, the graph structure g∈G obtained in the main processing process is processed. p This process involves extracting specific substructures or visualizing at least a portion of the graph structure.
[0174] In particular, the post-processing process is a node that constitutes a graph structure g, with a node corresponding to the target variable y as a child node, and is connected to the child node via one or more edges in the same graph structure g, and is a node that controls other variables x j This is achieved by having CPU3 extract combinations of child nodes and parent nodes for each layer (specifically, in order from the smallest layer to the largest layer), where the corresponding node is the parent node, and the number of edges intervening when the child nodes and parent nodes are connected by the shortest possible path is defined as the layer number. Here, the parent node corresponds to the sth layer parent node described later.
[0175] This results in a set of parent nodes corresponding to the child node as the target variable y (a substructure of g that reaches y, where x is a variable other than the target variable y). j This allows for the extraction of the hierarchical structure (formed by parent nodes) without any additions or omissions.
[0176] For example, in this embodiment, by designating a specific target variable y as a leaf node of the graph structure g, the end of the graph structure g is formed by that target variable y. In the post-processing process, the CPU3 sequentially extracts combinations of child nodes designated as leaf nodes and their parent nodes, starting with those with the smallest number of layers. In other words, in the post-processing process, the CPU3 extracts combinations of child nodes and parent nodes so that a graph structure g with that target variable y as its end is constructed.
[0177] Hereinafter, the process related to the extraction as described above will be described in detail with reference to FIG. 9.
[0178] First, in step S1231 of FIG. 9, the CPU 3 reads the graph structure g. The graph structure g read in the same step is equal to the graph structure determined by the main processing process.
[0179] Subsequently, in step S1232, based on the settings previously stored in the SSD 7b or the like, or the settings manually input by the user, the CPU 3 designates the leaf node x i as the extraction target (objective variable y). The objective variable y as the leaf node x i forms the end (terminal) of the graph structure g as described above.
[0180] In the subsequent step S1233, the CPU 3 lists up the first - layer parent nodes for x i for each i ∈ {1,..., p}.
[0181] Note that in this embodiment, the "s - th layer parent node" refers to, for each i, s ∈ {1,..., p}, the parent node that can be reached via the shortest s edges in the graph structure g when x i is used as the leaf node. Hereinafter, the set of the s - th layer parent nodes for x i is represented as H i (s). For the sake of convenience, the set of the 0 - th layer parent nodes for x i is
Number
Number
Number
[0182] Subsequently, in step S1234, the CPU 3 i recursively extracts the set H i (s) of the s-th layer parent nodes for x.
[0183] Specifically, the set H i (s) of the general s-th layer parent nodes is the set of all those that are not in any of the sets H i (s - 1) among the first layer parent nodes for each element of H i (1), …, H i (s - 1), that is, for s ≥ 2, it can be obtained in the following sequential [Number] form. In the formula (20), [Number] represents the density of H i (s), [Number] represent indices respectively. Also, H i (s - 1) c represents the complement of H i (s - 1). Here, since the graph structure g ∈ G p itself is a DAG structure, there must exist a certain maximum layer number s(i) ∈ {0, 1, …, p - 1} such that [Number] (the right side of the formula (23) represents an empty set).
[0184] By repeatedly calculating Equation (20) for each s, H i (s) can be recursively calculated until it becomes an empty set. The calculated H i (s) is stored in the RAM 7a or the SSD 7b.
[0185] Subsequently, in step S1235, the CPU 3 recursively extracts the set L i (s) of edges passed through when going from each element x m constituting H i (s) to x i .
[0186] Specifically, when considering all the edges included in the graph structure g, that is, the pair of a child node x m and the first-layer parent node x m corresponding to the child node x l as (x l , x m ), let the set consisting of all of them be l m i represented by
Number
Number
Number
[0187] By repeatedly calculating Equations (24) to (26) for each s, L i(s) can be recursively calculated. The calculated L i (s) is stored in RAM7a or SSD7b.
[0188] Thus, x i Maximum subgraph g, showing the entire substructure of graph structure g when the leaf nodes are represented by these nodes. (i) However, x i Includes all parent nodes up to the s(i)th level for that
number
number
[0189] Finally, in step S1236, CPU3 calculates the maximum subgraph g given by equations (27)~(28). (i) In other words, x set as the target variable y. i The graph is structured in a hierarchical manner, with s indicating the number of layers, and the resulting graph is stored in RAM7a or SSD7b. Once step S136 is complete, the control process returns from the flow illustrated in Figure 9 and terminates the graph structuring analysis method illustrated in Figure 6.
[0190] Furthermore, in step S1236, the CPU 3 obtains the number of layers for each leaf node (component 41a constituting the objective variable) and each parent node (s-th layer parent node), and temporarily or continuously stores the obtained information in the storage unit 7.
[0191] CPU3 includes a variable 41 having multiple components 41a, as well as a variable x that should be set as the target variable y. i If there are multiple variables x i For each component 41a, the post-processing shown in Figure 10 will be performed.
[0192] -Specific examples of post-processing processes- Figure 10 shows a specific example of the post-processing process. Here, we will explain the case where p=6, i.e., the 6-dimensional (6-component) sequence data 41b. Assume that the pre-processing process described above has yielded six discrete variables x1 to x6 corresponding to each dimension of the sequence data 41b. Furthermore, as shown in graph G11 in Figure 8(a), assume that the main processing process described above has yielded a DAG structure g∈G6 formed by connecting the six discrete variables x1 to x6 to each other.
[0193] In this example, the maximum subgraph g of the DAG structure g∈G6 with x6 as the target variable (leaf node) (6) The following describes the process for extracting the data. In this process, first, as illustrated in step S133 of Figure 0, the first-level parent nodes are listed for all nodes x1 to x6 that make up the graph structure g.
[0194] Specifically, as can be seen from graph G11 in Figure 8(a), the sets of first-level parent nodes directly connected to nodes x1, x2, x3, x4, x5, and x6 in graph structure g are, respectively,
number
number
[0195] Similarly, the set of edges of the entire graph structure g is:
number
[0196] Therefore, as illustrated in step S135 of Figure 9, for each hierarchy number s ∈ {1, 2, 3, 4, 5, 6}, each element x that constitutes the set H6(s) m When we recursively extract the set of edges L6(s) that are traversed from x6,
number
[0197] Thus, the largest subgraph g (6) teeth,
number
[0198] Ultimately, the largest subgraph g (6) When this is displayed on the display 9, the content corresponding to graph G17 in Figure 10(c) is displayed. At that time, the CPU 3 stores the value of the number of levels s for x6 as the target variable y for each of the six discrete variables x1 to x5 that correspond to the explanatory variables in RAM 7a or SSD 7b.
[0199] In graph G17, x2 and x3 are first-level parent nodes for x6 as the dependent variable y, and x4 is the second-level parent node for x6 as the dependent variable y. In other words, if the dependent variable y = x6, the number of levels for x2 and x3 is 1 (s=1), and the number of levels for x4 is 2 (s=2). In addition, x1 and x5 can be considered variables that do not have a dependency on x6 as the dependent variable y.
[0200] Thus, the graph structured analysis method is designed so that a hierarchical structure with the dependent variable y at the end is naturally obtained during post-processing. The analysis method shown in Figure 5 utilizes such a hierarchical structure.
[0201] Returning to the flow chart in Figure 5, we will now explain each process that makes up this flow, in order, based on the GSA explanation described above.
[0202] <5. Details of the variable classification method> (5-1. Data Setup Process) Figures 11 and 12 are flowcharts illustrating the steps of the data setting process, respectively. When the control process proceeds to step S11 in Figure 5, the CPU 3 executes each step from step S111 in Figure 11. Each step in Figures 11 and 12 is executed by the data setting unit 101, which is one of the functional elements configured by the CPU 3.
[0203] The data setting process is configured to perform dimensionality reduction on multicomponent variables, which have multiple components 41a, according to the number of components d among the multiple variables 41. As mentioned above, in this embodiment, all variables 41 are multicomponent variables.
[0204] In this embodiment, the data setting process is configured such that the CPU 3 sets preprocessing variables for each variable 41 by reducing the dimensionality of each variable 41 in the component direction. This dimensionality reduction is performed on the variables 41 that correspond to multi-component variables 41 among the multiple variables 41, based on a recoverable linear or nonlinear algorithm. In this embodiment, the necessity of dimensionality reduction is determined according to the number of components d of each multi-component variable 41. Unlike the modeling method described later, it is not essential to use a recoverable algorithm in the data setting process.
[0205] Here, linear algorithms include principal component analysis (PCA). Nonlinear algorithms include t-SNE and ●●. The following explanation illustrates a case where PCA is used for dimensionality reduction, but any other arbitrary method such as t-SNE mentioned here can be used.
[0206] Specifically, in step S111 of Figure 11, the CPU 3 reads the first dataset 31 of Figure 2A and retrieves the multiple variables 41 stored in the first dataset 31.
[0207] Next, in step S112 of Figure 11, the CPU 3 selects one of the K variables 41 and reads the data value of the sequence data 41b that constitutes each component 41a of that variable 41.
[0208] Next, in step S113 of Figure 11, the processing from step S1131 onwards in Figure 12 will be carried out. In step S1131, the CPU 3 reads the number of components d for variable 41, which was selected as a multi-component variable in step S112. The CPU 3 also determines whether the number of components d read is equal to or greater than a predetermined first threshold (predetermined threshold). If the determination in step S1131 is YES, the CPU 3 proceeds to step S1132 of the control process.
[0209] On the other hand, if the determination in step S1131 is NO (the number of components d is less than the first threshold), the CPU 3 skips the following steps S1132 to S1136 and proceeds to step S119 of the control process.
[0210] If steps S1132 through S1136 are skipped, CPU3 skips dimensionality reduction of variable 41 as a multicomponent variable. For the skipped variable 41, variable 41 as a multicomponent variable itself will be used to determine the directed acyclic graph structure. In this case, CPU3 uses variable 41 as a multicomponent variable itself in the graph structure determination process described later. In this case, the rotation matrix described later can be the identity matrix.
[0211] The first threshold is stored in the memory unit 7 beforehand. The second threshold is set to, for example, 300 or more and 700 or less, more specifically, 400 or more and 600 or less.
[0212] In step S1132, CPU3 performs PCA on variable 41, whose component number d was read in step S113. When CPU3 performs PCA, the variable 41 targeted for execution is transformed into a variable composed of multiple principal components.
[0213] In more detail, CPU3 performs PCA, transforming each sample (each data value arranged in the sequence direction) that constitutes each component 41a of variable 41 into a variable composed of multiple principal components. The transformation matrix used in this process is a rotation matrix Ma that transforms from the original components to the principal components. Through this rotation matrix Ma, it is possible to restore the original components from the principal components.
[0214] In the following steps S1133 to S1136, the CPU3 selects a portion of the principal components generated for each sample, and sets preprocessing variables based on the selected portion of principal components.
[0215] More specifically, CPU3 calculates the contribution rate for each principal component and then calculates a cumulative contribution rate by accumulating the calculated contribution rates. Based on the magnitude of the cumulative contribution rate, CPU3 determines which principal components will be used as preprocessing variables.
[0216] Specifically, in step S1133, the CPU3 calculates the contribution rate for each principal component of the variable 41 on which PCA was performed in step S1132. As a result, the same number of contribution rates as the principal components are calculated.
[0217] In the following steps S1134 and S1135, the CPU 3 updates the cumulative contribution rate by accumulating each contribution rate in descending order from the largest calculated value (step S1134), and compares the cumulative contribution rate with the second threshold each time it is accumulated (step S1135).
[0218] Specifically, in step S1135, the CPU 3 determines whether the cumulative contribution rate after the update is equal to or greater than a predetermined second threshold. If this determination is YES, the CPU 3 proceeds to step S1136.
[0219] If the determination in step S1135 is NO, CPU3 returns the control process to step S1134. This ensures that the contribution rate is accumulated until the cumulative contribution rate exceeds the second threshold.
[0220] If the process proceeds to step S1136 (when the cumulative contribution rate exceeds the second threshold), CPU3 adopts the principal components corresponding to the contribution rates that make up the cumulative contribution rate as preprocessing variables. For example, if the determination in step S1135 becomes YES due to a small number of contribution rates, the preprocessing variables will consist of a small number of principal components.
[0221] In the following step S1137, the CPU 3 temporarily or continuously stores the preprocessing variables adopted in step S1136 and the rotation matrix (rotation matrix from the initial components to the principal components) used in the PCA when setting those preprocessing variables in the storage unit 7. Note that storing the rotation matrix is not mandatory.
[0222] Next, CPU3 advances the control process to step S114 in Figure 11. In step S114, CPU3 determines whether all variables 41 have been selected, that is, whether the processing in step S113 has been executed for all variables 41. If the result is NO, CPU3 returns the control process to step S112. In this case, CPU3 selects another variable 41 in step S112 and executes the processing in step S113 for that variable 41.
[0223] On the other hand, if the determination in step S114 is NO, the CPU 3 proceeds to step S115 of the control process. In step S115, the CPU 3 reads the second dataset 32A illustrated in Figure 2A and obtains attribute information In1 for each variable 41 from the second dataset 32A.
[0224] Here, each variable 41 is assigned attribute information In1, which includes a flag indicating whether or not that variable 41 is the target variable Vo. Then, in the following step S116, the CPU 3 determines in advance which of the multiple variables 41 corresponds to the target variable Vo, based on the attribute information In1. Information indicating this determination is temporarily or continuously stored in the storage unit 7 by the CPU 3.
[0225] Once step S116 is complete, CPU3 terminates the data setting process. CPU3 then proceeds the control process from step S11 to step S12 in Figure 5 and starts the graph structure determination process.
[0226] (5-2. Graph Structure Determination Process) Next, in step S12, the CPU 3 executes a graph structure determination process based on the multiple variables 41 acquired in step S11. The graph structure determination process is executed by the graph structure determination unit 103 shown in Figure 2B, which is one of the functional elements configured by the CPU 3.
[0227] CPU3 determines the DAG structure as described above by executing a graph structure determination process. This DAG structure consists of nodes corresponding to each component 41a of the multiple variables 41, and edges connecting different nodes (components 41a) within the set of such nodes. The resulting DAG structure is hierarchically arranged so that it is linked in an order that reflects the dependencies between different nodes (components 41a).
[0228] Furthermore, during the graph structure determination process, CPU3 determines the DAG structure based on multiple variables 41, which are composed of pre-processing variables instead of multi-component variables.
[0229] As a result, for variable 41 for which a preprocessing variable is set, the DAG structure will be constructed by nodes corresponding to each component 41a of the preprocessing variable, instead of the multicomponent variable corresponding to variable 41.
[0230] The set of nodes constituting the DAG structure may include either a group of nodes corresponding to each component 41a of the multicomponent variable, or a group of nodes corresponding to each component 41a of the preprocessing variable, or both.
[0231] In detail, the CPU3 in this embodiment performs a GSA as illustrated in Figures 6 to 10 when determining the graph structure. By performing the GSA, a DAG structure representing a Bayesian network is determined as a directed graph structure.
[0232] More specifically, CPU3 executes each process that constitutes the GSA for the multiple variables 41 obtained in the data setting process of step S11. In other words, CPU3 sequentially executes a pre-processing process, a main processing process, and at least a part of a post-processing process for each component 41a of the multiple variables 41, which are composed of at least one of the multi-component variables and the pre-processing variables.
[0233] As a result, in the pre-processing process, CPU3 generates a categorical data set for each of the multiple sequential data 41b by discretizing each data value of each component 41a into a multi-level system. The details of this process are as described above. Multiple categorical data sets are generated depending on the number of nodes described above.
[0234] In the subsequent main processing step, CPU3 determines the DAG structure using the generated categorical data set. Specifically, CPU3 determines the DAG structure as the graph structure that maximizes the conditional probability of multiple categorical data sets being realized.
[0235] As mentioned above, this conditional probability represents the conditional probability that multiple categorical data sets are realized, given an element g, where G is a set of DAG structures representing Bayesian networks where each of the multiple categorical data sets is a node, and g is a graph structure that forms an element of set G.
[0236] Then, in the post-processing process that takes place after the DAG structure has been determined, as mentioned above, CPU3 sequentially extracts combinations of leaf nodes and parent nodes (s-th level parent nodes) in order from the smallest number of layers.
[0237] As illustrated in step S116 of Figure 11, in this embodiment, the variable 41 corresponding to the target variable Vo is determined in advance. Therefore, in the post-processing process illustrated in Figure 9, the CPU 3 treats the nodes corresponding to each component 41a that constitute the target variable Vo as leaf nodes.
[0238] Then, as illustrated in step S1236 of Figure 9, the CPU 3 obtains the number of layers for each leaf node (each component 41a that constitutes the target variable Vo) for each parent node (the s-th hierarchical parent node) and stores it in the memory unit 7. As mentioned above, this number of layers indicates the number of edges traversed from a leaf node to a parent node (the s-th hierarchical parent node) when viewed from the end (leaf node) of the DAG structure towards the beginning.
[0239] Once the above processes are complete, CPU3 terminates the graph structure determination process. CPU3 then proceeds the control process from step S12 to step S13 in Figure 5 and starts the data classification process.
[0240] (5-3. Data Classification Process) Figure 13 is a flowchart illustrating the steps of the data classification process. Figures 14, 15, and 16 are conceptual diagrams illustrating the data classification process, respectively. When the control process proceeds to step S13 in Figure 5, the CPU 3 executes each step from step S131 in Figure 13. Each step in Figure 13 is executed by the data classification unit 105, which is one of the functional elements configured by the CPU 3.
[0241] This data classification process is configured such that the CPU3 classifies multiple variables 41 into a target variable Vo, an explanatory variable Vi, and an intermediate variable C based on the hierarchical structure of the DAG (for example, steps S132 to S134). In this classification, if there are multiple intermediate variables C, the CPU3 sets the order of the intermediate variables C relative to the explanatory variable Vi and the target variable Vo based on the hierarchical structure of the DAG.
[0242] Here, the target variable Vo is located at the end of the predetermined sequence Oc illustrated in Figure 4 and corresponds to the output value from the first estimation model Ms1, which is machine-learned through the processing described later. In this embodiment, the variable 41 corresponding to the target variable Vo is determined in advance.
[0243] Furthermore, the explanatory variable Vi, as illustrated in Figure 4, is located at the beginning of the predetermined sequence Oc and corresponds to the input value from the first estimation model Ms1, which will be described later. The intermediate variable C is located between the dependent variable Vo and the explanatory variable Vi.
[0244] In this embodiment, the data classification process is configured such that the CPU 3 selects from among a plurality of variables 41 a variable 41 corresponding to the explanatory variable Vi and a variable 41 corresponding to the intermediate variable C, based on the level of the number of hierarchy levels s as illustrated in Figure 10, etc. (for example, steps S133 to S134).
[0245] Specifically, in step S131 of Figure 13, the CPU 3 reads the numerical data corresponding to the graph structure and the number of layers s stored in step S1236 of Figure 9, and obtains the graph structure and the number of layers s, respectively.
[0246] In the subsequent step S132, the CPU3 obtains the number of levels s for each component 41a of the other variables 41, based on the information obtained in step S131, for each component 41a of the target variable Vo.
[0247] In the subsequent step S133, the CPU3 calculates the average value of the number of levels s obtained for each component 41a for each of the multiple variables 41, based on the number of levels s obtained in step S132.
[0248] In the following step S134, the CPU3 classifies the multiple variables 41 into explanatory variables Vi and intermediate variables C based on the relative values of the calculated mean values. Specifically, the CPU3 classifies the variables 41 in order from the lowest mean value (excluding the dependent variable Vo) into intermediate variables C and explanatory variables Vi.
[0249] In the subsequent step S135, the CPU 3 temporarily or continuously stores the classification information In2, which shows the classification result in step S134, in the storage unit 7 as the second dataset 32A, as illustrated in Figure 2A.
[0250] Furthermore, the processing from step S132 to step S134 is performed using either a multi-component variable or a pre-processing variable for variable 41. When a pre-processing variable is used for variable 41, component 41a will represent the principal component obtained by PCA.
[0251] Furthermore, CPU3 does not use the preprocessing variables in the modeling method described later. That is, the modeling method according to this embodiment is configured such that CPU3 performs the selection of selection variables D, described later, and estimation of the first estimation model Ms1 based on a plurality of variables 41 which include multicomponent variables instead of the preprocessing variables.
[0252] -Specific examples of data classification processes- Here, with reference to Figures 14, 15, and 16, we will explain a specific example of using three variables 41: a first variable (variable A) 41, a second variable (variable B) 41, and a third variable (variable C) 41.
[0253] As illustrated in Figure 14, variable A has three components 41a: a first component 41a, a second component 41a, and a third component 41a. Variable A is a three-component variable. As mentioned above, in machine learning, sequential data 41b will be used for each component 41a. The three variables 41 are stored in the memory unit 7 as the first dataset 31 illustrated in Figure 2A.
[0254] As illustrated in Figure 14, variable B has the following components 41a: a fourth component 41a, a fifth component 41a, a sixth component 41a, and a seventh component 41a. Variable B is a four-component variable.
[0255] As illustrated in Figure 14, the variable C has an eighth component 41a and a ninth component 41a as its constituent components 41a. Variable C is a three-component variable.
[0256] Here, variable C corresponds to variable 41 that was pre-selected for the target variable Vo based on attribute information In1, as illustrated in steps S115 and S116 of Figure 11.
[0257] In contrast, determining which of the other variables A and B corresponds to the explanatory variable Vi and which corresponds to the intermediate variable C is not easy unless the input values for the first estimation model Ms1 are specified in advance.
[0258] Furthermore, although omitted in Figure 14, if a fourth variable 41, such as variable D, exists, it is possible to classify it into two distinct intermediate variables C. However, when considering the serial chain structure shown in Figure 4, it is still not easy to grasp the hierarchical relationships between the intermediate variables C.
[0259] Therefore, computer 1, acting as a variable classification device, performs GSA on each component 41a of the three variables 41. In this specific example, as shown in Figure 15, a first graph G21 is obtained with the eighth component 41a constituting variable C as the terminal (leaf node), and a second graph G22 is obtained with the ninth component 41a constituting variable C as the terminal (leaf node).
[0260] Through the post-processing process described above, each of the multiple nodes Nd connected to the leaf nodes via one or more edges Ed, and corresponding to each component 41a that constitutes variables A and B, is naturally assigned a hierarchy number s. For the values of each hierarchy number s in this specific example, please refer to the upper and lower ends of Figure 15.
[0261] Therefore, CPU3 calculates the average value of the number of levels s corresponding to each component 41a for each variable 41 across both the first graph G21 and the second graph G22 in Figure 15.
[0262] First, regarding the variable C, since all components 41a are used for leaf nodes (number of levels s=0), as shown in Figure 16, "Avg.=(0+0) / 2", so the average value of the number of levels s is 0 (Avg.=0).
[0263] Furthermore, for variable B, "Avg.=(2+2+1+1) / 4", so the average value for the number of levels s is "Avg.=1.5", as shown in Figure 16.
[0264] Furthermore, for the variable C, "Avg.=(3+3+3+2+2) / 5" is obtained, so the average value of the number of levels s is "Avg.=2.6" as shown in Figure 16. The number of levels s used to calculate the average is counted for the first component 41a and the second component 41a in the first graph G21 and the second graph G22, respectively.
[0265] Ultimately, as illustrated in Figure 16, CPU3 classifies variable B into intermediate variable C and variable A into explanatory variable Vi, in descending order of the average value of the number of hierarchical levels s.
[0266] The modeling method described below assumes that the relationships between the 41 variables are known, as illustrated in Figure 4 and Figure 18 described later. In contrast, by using the aforementioned variable classification method, it becomes possible to systematically acquire classification information In2 that shows such relationships, while suppressing subjective judgments as much as possible.
[0267] <6. Outline of the Modeling Method> Figure 17 is a flowchart illustrating the steps of the modeling method. Figure 18 is a conceptual diagram explaining the selection variable D and the reduction variable E. Figure 19 is a diagram illustrating each model that is machine-learned using the modeling method.
[0268] As shown in Figure 17, the modeling method generally includes a data acquisition process (step S21), a first kind intervariate model generation process (step S22), a chaining process (step S23), a dimensionality reduction process (step S24), and a second kind intervariate model generation process (step S25).
[0269] Note that the configuration in Figure 17 is merely a schematic example. As will be described later, the processes related to steps S21 to S23 are repeated in conjunction with the updating of the selected candidate D', and are inseparable processes. The modeling program 25 is configured to cause the computer 1 to execute these control processes. Specifically, among these control processes, the data acquisition process is performed by the CPU 3 executing the data acquisition program 251, the first kind intervariate model generation process is performed by the CPU 3 executing the first kind intervariate model generation program 253, the chaining process is performed by the CPU 3 executing the chaining program 255, the dimensionality reduction process is performed by the CPU 3 executing the dimensionality reduction program 257, and the second kind intervariate model generation process is performed by the CPU 3 executing the second kind intervariate model generation program 259.
[0270] The modeling device is configured by the computer 1 when the CPU 3 executes the modeling program 25, etc. In other words, the computer 1 functions as a modeling device equipped with the aforementioned modeling means 100B. As illustrated in Figure 2C, this modeling means 100B includes a data acquisition unit 111, a first kind inter-variable model generation unit 113, a chaining unit 115, a dimensionality reduction unit 117, and a second kind inter-variable model generation unit 119. In this embodiment, each functional element is configured by the CPU 3.
[0271] Here, the data acquisition unit 111 executes the data acquisition process (step S21). The first kind intervariate model generation unit 113 executes the first kind intervariate model generation process (step S22). The chaining unit 115 executes the chaining process (step S23). The dimensionality reduction unit 117 executes the dimensionality reduction process (step S24). The second kind intervariate model generation unit 119 executes the second kind intervariate model generation process (step S25).
[0272] Furthermore, as mentioned above, the multiple variables 41 are pre-classified into explanatory variables Vi, one or more intermediate variables C, and a dependent variable Vo according to the variable classification method.
[0273] As shown in Figure 18, these variables 41 are arranged in series from the beginning to the end according to a predetermined order Oc obtained through the variable classification method. Additionally, there are N intermediate variables C. n This is connected in series between the dependent variable Vo and the independent variable Vi.
[0274] Furthermore, as shown in Figure 18, at least one of the N intermediate variables C and explanatory variables Vi is configured such that a portion of multiple components 41a are selected based on a decision tree algorithm (for example, an irreversible component 41a selection algorithm). In this embodiment, a portion of components 41a are selected for each of the N intermediate variables C.
[0275] This selection process is equivalent to compressing the number of components d in the intermediate variable C. This compression of the number of components d in the intermediate variable C is sometimes referred to as "dimensionality reduction in the component direction."
[0276] Hereafter, the intermediate variable C after some of the components 41a have been selected will be referred to as the selected variable D, and the nth selected variable D will be referred to as "D n It may be written as "". To distinguish it from the component 41a of each intermediate variable C, the component of the selection variable D may be denoted with the symbol "41c". Also, the number of components of the selection variable D may be denoted as "dc".
[0277] Furthermore, as illustrated in the same Figure 18, among the N intermediate variables C, at least some of the intermediate variables C for which a selection variable D has been set are subjected to dimensionality reduction in the component direction using a method different from that of the selection variable D (for example, a reversible method such as dimensionality reduction).
[0278] Hereafter, the intermediate variable C, which has undergone dimensionality reduction using a method different from that of the selected variable D, will be referred to as the reduced variable E, and the nth reduced variable E will be referred to as "E n It is sometimes written as "de". Also, the number of components of the reduction variable E (for example, the number of principal components) is sometimes written as "de".
[0279] The following describes each process that constitutes the modeling method in order. Here, FIGS. 26, 27, and 28 are diagrams for conceptually explaining the modeling method. Please refer to FIGS. 26 to 28 as appropriate in the following description. Also, regarding the relationship between the models generated by the modeling method, please refer to FIG. 19 as appropriate.
[0280] <7. Details of the Modeling Method> (7-1. Data Acquisition Process) FIG. 20 is a flowchart illustrating the procedure of the data acquisition process. When the control process proceeds to step S21 in FIG. 17, the CPU 3 executes each step from step S211 in FIG. 20. Each step in FIG. 20 is executed by the data acquisition unit 111 among the functional elements constituted by the CPU 3.
[0281] First, in step S211, the CPU 3 reads the first data set 31 from the storage unit 7. The first data set 31 is a set of numerical data indicating each of a plurality of variables 41 that was previously set as teaching data.
[0282] Also, in step S211, the CPU 3 acquires the number of components dc of the selection variable D based on the user input to the reception unit 13 or the stored information in the storage unit 7. The number of components dc of the selection variable D is at least less than the number of components d of the intermediate variable C (dc < d). This number of components dc may be different among the selection variables D.
[0283] In the subsequent steps S212 to S214, the CPU 3 sets one of the plurality of variables 41 as the first variable Y based on the classification result by the variable classification method, and sets another one of the plurality of variables 41 that is directly connected to the start end side of the first variable Y as the second variable X.
[0284] The first variable Y is the variable 41 used for the "leaf node" of the decision tree when executing the decision tree-based algorithm described later. The first variable Y is so-called the "temporary target variable". Hereinafter, the number of components of the first variable Y is denoted as "dy".
[0285] The second variable X is the variable 41 used as the "root node" of the decision tree when executing the decision tree algorithm described later. The second variable X is, so to speak, a "hypothetical explanatory variable". Hereafter, the number of components of the second variable X will be denoted as "dx".
[0286] Specifically, in step S212, the CPU3 reads the chain number Nc of the first estimated model Ms1 and determines whether the chain number Nc is 0 or not. The chain number Nc indicates the number of repetitions from step S21 to step S23. The chain number Nc is 0 when the data acquisition process is executed for the first time.
[0287] If the determination in step S212 is YES, CPU3 proceeds the control process to step S213. If the determination in step S212 is NO, CPU3 proceeds the control process to step S214.
[0288] In step S213, CPU3 sets the first variable Y to be the variable 41 located at the end of the multiple variables 41, so to speak, the true target variable Vo. CPU3 then sets the Nth intermediate variable C to the variable 41 that is directly connected to the start end of the true target variable Vo. N Set this to the second variable X.
[0289] On the other hand, in step S214, the CPU3 sets the selected variable D obtained through the first type intervariate model generation process (step S22), described later, as the first variable Y, and sets another variable 41 connected to the starting end of the selected variable D as the second variable X. In this embodiment, the other variable 41 is the 1st to N-1th intermediate variable C, or the explanatory variable Vi.
[0290] In the subsequent step S215, the CPU 3 stores the set first variable Y and second variable X in the memory unit 7, respectively, and terminates the data acquisition process. The CPU 3 then proceeds the control process from step S21 in Figure 17 to step S22 in the same figure, and starts the first kind intervariate model generation process.
[0291] (7-2. The process of generating a type I intervariate model) Figures 21A and 21B are flowcharts illustrating the procedure of the first kind intervariate model generation process. When the control process proceeds to step S22 in Figure 17, the CPU 3 executes each step from step S221 in Figure 21A. Each step in Figures 21A and 21B is executed by the first kind intervariate model generation unit 113, which is one of the functional elements configured by the CPU 3.
[0292] The candidate model generation process according to this embodiment includes the CPU 3 selecting a portion of the components 41a that constitute the second variable X, thereby setting a group of components (selection candidate D') that are candidates for the selected variable D, which are composed of the portion of components 41c (for example, steps S221 to S222 and step S229).
[0293] The candidate model generation process also includes the CPU 3 generating a submodel Mp based on a decision tree algorithm, which takes a set of components (selection candidate D') as input and outputs one of the components 41a that constitute the first variable Y (for example, step S223).
[0294] Here, decision tree-based algorithms include Random Forest (RF). The following explanation uses a Random Forest model (RF model) as an example for the submodel Mp, but any other arbitrary method can be used.
[0295] The candidate model generation process also includes the CPU 3 estimating candidate models Mc that are candidates for the first kind intervariate model M1, which is composed of dy (one or more) submodels Mp, by generating submodels Mp for each component 41a that constitutes the first variable Y (e.g., step S224).
[0296] Specifically, in step S221, the CPU3 reads the first variable Y and the second variable X, which were set in the data acquisition process (step S1).
[0297] In the following step S222, the CPU3 selects some of the components 41c from the total dx components 41a that constitute the second variable X (see Figure 26(a)). The number of components 41c selected in step S222 is equal to the number of components dc defined in step S11. <dx)である。
[0298] In the same step S222, the CPU3 sets some of the components 41c selected as described above as candidate D' (see the left diagram of Figure 26(b)).
[0299] The selection variable D and the selection candidate D' are variables constructed by compressing the corresponding second variable X in the component direction. Each of the selection variable D and the selection candidate D' has dc components 41c, and each component 41c is composed of sequential data 41b.
[0300] In the subsequent step S223, the CPU3 generates a candidate model Mc based on a decision tree algorithm, taking each component 41c of the selected candidate D' defined in step S223 as input and outputting one component 41a of the first variable Y.
[0301] Specifically, CPU3 generates a submodel Mp based on a decision tree algorithm, with one component 41a constituting the first variable Y as a "leaf node" and dc components 41c constituting the selection candidate D' each as a "root node" (see Figure 27(d)). As described above, the submodel Mp according to this embodiment is an RF model.
[0302] CPU3 performs statistical processing based on the numerical data of each variable 41, arranged in the serial direction, when generating the partial model Mp. This is how CPU3 generates the partial model Mp.
[0303] CPU3 generates submodels Mp for each of the dc components 41c that make up the selected candidate D'. As a result, a total of dc submodels Mp are generated for the selected candidate D' set in step S222.
[0304] In the following step S224, the CPU3 constructs a candidate model Mc using a total of dc submodels Mp, with selected candidate D' based on the second variable X as input and the first variable Y as output (see Figure 27(e)).
[0305] In the subsequent step S225, the CPU 3 stores the selection candidate D' set in step S223 and the candidate model Mc constructed based on it in the memory unit 7, relating them to each other.
[0306] In the following step S226, CPU3 evaluates the estimation accuracy of the candidate model Mc. Specifically, CPU3 inputs each sample (each numerical data arranged in the sequence direction) that constitutes the selected candidate D' into the candidate model Mc and obtains its output value. This output value is the predicted value (estimated value) of the second variable X. The output value and the predicted value can be considered as second-order tensors with degrees of freedom in the sequence direction and component direction, respectively.
[0307] CPU3 calculates an index that characterizes the difference between this estimated value and the value of the second variable X used to construct the candidate model Mc, and considers the calculated index as the target variable used in selecting candidate D' and candidate model Mc. This index is an example of "estimation accuracy" in this embodiment.
[0308] The index may be, for example, the norm between the output value and the predicted value (e.g., the Frobenius norm) when the output value and the predicted value are considered as second-order tensors, or it may be a variable based on that norm.
[0309] Furthermore, for each selected candidate D', any function can be used as the target variable, as long as it is an index that can evaluate the difference between the output value and the predicted value. Any index suitable for combinatorial optimization can be adopted as the index.
[0310] In the following step S227, the CPU3 determines whether the number of iterations I of the selected candidate D' has reached a predetermined threshold Th or greater. If this determination is NO, the CPU3 increments the number of iterations I by +1 (I = I + 1), and then returns the control process to step S223 via step S229.
[0311] In step S229, the CPU3 updates the combination of components 41a that make up the selection candidate D' from the second variable X (step S2291), and sets the updated combination as the new selection candidate D' (step S2292).
[0312] This update can be performed based on a so-called genetic algorithm. CPU3 updates the combination of components 41a that make up the selection candidate D' to decrease the aforementioned index based on the genetic algorithm (see the right figure in Figure 27(b)).
[0313] The genetic algorithm used here uses fitness as the index and the determination in step S227 as the termination condition, and is performed by crossover and mutation of dc combinations of components 41c. This is equivalent to combinatorial optimization using a genetic algorithm when the combination of components 41c is the target of optimization.
[0314] It should be noted that using genetic algorithms for combinatorial optimization is not mandatory. Any method applicable to combinatorial optimization, such as particle swarm optimization or Bayesian optimization, can be used.
[0315] Finally, when the number of iterations I becomes greater than or equal to a predetermined threshold Th (step S227: YES), the CPU 3 proceeds to step S228 of the control process.
[0316] In step S228, the CPU 3 selects the candidate D' stored in the memory unit 7 when the determination in step S227 is YES, and the candidate model Mc corresponding to that candidate D', as the selection variable D and the intervariate model M1 of type I, respectively (see Figure 26(c) and Figure 27(f)). The candidate model Mc selected as the intervariate model M1 of type I is the model that minimizes the index Ix as an estimation accuracy. The CPU 3 stores the selected selection variable D in the memory unit 7 as the selection dataset 37 exemplified in Figure 2A.
[0317] Thus, the process for generating a type I intervariate model is configured such that the CPU3 performs the following multiple times: evaluating the estimation accuracy of candidate model Mc, updating the selected candidate D' as a group of components, and estimating candidate model Mc based on the updated selected candidate D'. In doing so, the CPU3 selects the best candidate model Mc based on the estimation accuracy as the type I intervariate model M1, and selects the selected candidate D' corresponding to the type I intervariate model M1 as the selected variable D.
[0318] Furthermore, the first intervariate model generation process according to this embodiment is configured such that the CPU3 learns the first estimation model Ms1 by machine learning using multiple variations of data values for the explanatory variable Vi, the intermediate variable C, and the target variable Vo as training data. Here, "multiple variations of data values" refers to the values of each component 41a arranged in the serial direction. As described above, during machine learning, the CPU3 repeatedly updates the selection candidate D' based on various algorithms applicable to combinatorial optimization problems, such as genetic algorithms, in order to reduce the fitness based on estimation accuracy.
[0319] Once step S228 is completed, CPU3 terminates the intervariate model generation process of the first kind. CPU3 then proceeds the control process from step S22 to step S23 in Figure 17 and starts the chain process.
[0320] (7-3. Chain Process) Figure 22 is a flowchart illustrating the steps of the chain process. When the control process proceeds to step S23 in Figure 17, the CPU 3 executes each step from step S231 in Figure 22. Each step in Figure 22 is executed by the chaining unit 115, which is one of the functional elements configured by the CPU 3.
[0321] In this embodiment, the chain process is configured such that the CPU3 determines the first estimation model Ms1. The first estimation model Ms1 is a model that starts from the explanatory variable Vi, goes through the selected variable Dn corresponding to each of the N intermediate variables Cn, and reaches the target variable Vo, and connects each of the variables 41 with a first type intervariate model M1.
[0322] Specifically, in step S231, the CPU3 determines whether the first type intervariate model M1 has been determined up to the start of the first estimated model Ms1. This determination can be made based on whether the second variable X in the first type intervariate model M1 determined in the first type intervariate model generation process is the initially set explanatory variable Vi and not a "provisional explanatory variable".
[0323] If the determination in step S231 is NO, CPU3 proceeds the control process to step S232. In this case, CPU3 adds 1 to the chain number Nc in step S232, and then returns from step S232 in Figure 22 to step S21 in Figure 17.
[0324] Returning to step S12, CPU3 updates the first variable Y and the second variable X in step S214 as described above. Specifically, CPU3 sets the selected variable D obtained through steps S22 and S23 as the first variable Y, and sets another variable 41 connected to the starting end of the selected variable D as the second variable X.
[0325] For example, the first time returning from step S232 to step S21, the Nth intermediate variable C N The Nth selection variable D corresponding to N A new first variable Y is set, and the (N-1)th intermediate variable CN-1 However, this will be set as a new second variable X.
[0326] Each time the judgment in step S231 is NO, the CPU3 returns to step S21, and proceeds in order from the target variable Vo toward the starting point to set the first variable Y and the second variable X, select the first type intervariate model M1, and select the selected variable D n This will involve making decisions and repeatedly executing them.
[0327] If the judgment in step S231 is repeated, ultimately, the first selection variable D1 corresponding to the first intermediate variable C1 will be set to the second variable X, and the explanatory variable Vi will be set to the first variable Y, resulting in the generation of a type I intervariate model M1.
[0328] In this embodiment, CPU3 skips dimensionality reduction for the explanatory variable Vi. CPU3 determines a first-kind intervariate model M1 using all components of the explanatory variable Vi as input, without selecting a selective variable D corresponding to the explanatory variable Vi.
[0329] In this case, CPU3 generates a submodel Mp for each of the dx components 41a that make up the explanatory variable Vi. Through this, CPU3 constructs a candidate model Mc using a total of dx submodels Mp, taking the explanatory variable Vi as the second variable X as input and the selected variable D1 as the first variable Y as output. Since combinatorial optimization is unnecessary, the constructed candidate model Mc is directly adopted as the first kind intervariate model M1.
[0330] Thus, in the first type intervariate model generation process, when the explanatory variable Vi is input as the second variable X and the selected variable D1 is output as the first variable Y, the CPU3 will determine YES in step S231.
[0331] If the determination in step S231 is YES, the CPU 3 proceeds the control process to step S233. In step S233, the CPU 3 determines a first estimation model Ms1 in which each of the variables 41 is connected by a first kind intervariate model M1. In the subsequent step S234, the CPU 3 stores the determined first estimation model Ms1 in the storage unit 7 as the first model data 33 illustrated in Figure 2A.
[0332] The first estimation model Ms1 determined in this way is a machine learning model that takes the explanatory variable Vi as input and outputs the predicted (estimated) value of the dependent variable Vo.
[0333] In detail, the first estimation model Ms1 outputs a predicted value (estimate) of the first selection variable D1 via the first type intervariate model M1, given the input explanatory variable Vi. The first estimation model Ms1 then outputs a predicted value (estimate) of the second selection variable D2 via another first type intervariate model M1, given the predicted value of the first selection variable D1. Finally, the first estimation model Ms1 outputs a predicted value (estimate) of the Nth selection variable D N For the predicted values, the predicted value (estimate) of the dependent variable Vo is output via the intervariate model M1 of type I.
[0334] Thus, the first estimation model Ms1 is configured to calculate the predicted values of each selection variable D for the explanatory variable Vi input at its starting point, and then output the predicted value (estimate) of the dependent variable Vo from its end.
[0335] (7-4. Dimensionality Reduction Process) Figure 23 is a flowchart illustrating the steps of the dimensionality reduction process, and Figure 24 is a graph illustrating the relationship between the number of intervenes and the fifth threshold. When the control process proceeds to step S24 in Figure 17, the CPU 3 executes each step sequentially from step S241 in Figure 23. Each step in Figure 23 is executed by the dimensionality reduction unit 117, which is one of the functional elements configured by the CPU 3.
[0336] The dimensionality reduction process is configured such that the CPU 3 reduces the dimensionality of the intermediate variable C in the component direction, thereby setting a reduction variable E for each intermediate variable C (for example, steps S243 to S247). This dimensionality reduction is performed on the intermediate variable C, and the selected variable D n Intermediate variable C is set n This is performed based on a recoverable linear or nonlinear algorithm.
[0337] Here, linear algorithms include principal component analysis (PCA). Nonlinear algorithms include autoencoders and kernel PCA. The following explanation illustrates a case using PCA for dimensionality reduction, but other arbitrary methods such as t-SNE mentioned here can be used.
[0338] Specifically, in step S241 of Figure 22, the CPU 3 selects one of the N intermediate variables C and loads a first dataset (training dataset) 31 containing each component 41c of that intermediate variable C and the data values for each sample.
[0339] As an example, in step S241, CPU3 reads an intermediate variable C that is directly linked to the explanatory variable Vi or the objective variable Vo. For example, in this embodiment, CPU3 reads a first intermediate variable C1 when step S241 is executed for the first time. If step S241 is executed repeatedly, CPU3 will select another one of the N intermediate variables C, such as a second intermediate variable C2.
[0340] In the following step S242, the CPU3 reads the number of components d for the intermediate variable C selected in step S241. The CPU3 also determines whether the read number of components d is greater than or equal to a predetermined fourth threshold. If the determination in step S242 is YES, the CPU3 proceeds to step S243.
[0341] On the other hand, if the determination in step S242 is NO (the number of components d is less than the fourth threshold), CPU3 skips steps S243 through S247 and proceeds to step S248 of the control process. In this case, CPU3 skips the dimensionality reduction of the intermediate variable C and sets the intermediate variable C to the reduced variable E. In this case, the rotation matrix Ma described later can be the identity matrix.
[0342] The fourth threshold is stored in the memory unit 7 beforehand. The fourth threshold is set to, for example, 300 or more and 700 or less, more specifically, 400 or more and 600 or less.
[0343] In step S243, CPU3 performs PCA on the intermediate variable C, whose component number d was read in step S242. When CPU3 performs PCA, the intermediate variable C is transformed into a variable composed of multiple principal components.
[0344] In more detail, CPU3 performs PCA, transforming each sample (each data point arranged in the sequence direction) that constitutes the intermediate variable C in the first dataset 31 into a variable composed of multiple principal components. The transformation matrix used in this process is a rotation matrix Ma that transforms from the original components to the principal components. Through this rotation matrix Ma, it is possible to restore the original components from the principal components.
[0345] In the following steps S244 to S247, the CPU3 selects a portion of the principal components generated for each sample, and sets the reduction variable E using the selected portion of principal components.
[0346] Specifically, CPU3 calculates the contribution rate for each principal component and then calculates a cumulative contribution rate by accumulating the calculated contribution rates. Based on the magnitude of the cumulative contribution rate, CPU3 determines which principal component will be adopted for the reduction variable E. In this embodiment, the criteria for determining the cumulative contribution rate can be set individually for each intermediate variable C that is the target of PCA execution.
[0347] Specifically, in step S244, CPU3 calculates the contribution rate for each principal component of the intermediate variable C on which PCA was performed in step S243. This results in the calculation of the same number of contribution rates as the principal components.
[0348] In the following steps S245 and S246, the CPU 3 updates the cumulative contribution rate by accumulating each contribution rate in descending order from the largest calculated value (step S245), and compares the cumulative contribution rate with the fifth threshold T5 each time it is accumulated (step S246).
[0349] Specifically, in step S246, the CPU3 determines whether the cumulative contribution rate after the update is equal to or greater than a predetermined fifth threshold T5. If this determination is YES, the CPU3 proceeds to step S247.
[0350] If the determination in step S246 is NO, CPU3 returns the control process to step S245. This ensures that the contribution rate is accumulated until the cumulative contribution rate exceeds the fifth threshold T5.
[0351] If the process proceeds to step S247 (when the cumulative contribution rate exceeds the fifth threshold T5), CPU3 adopts the principal components corresponding to the contribution rates that make up the cumulative contribution rate as the reduction variable E. For example, if the determination in step S246 becomes YES due to a small number of contribution rates, the reduction variable E will be composed of a small number of principal components.
[0352] Furthermore, the fifth threshold T5, which is a predetermined threshold, is set to increase as the number of other intermediate variables C connected between the intermediate variable C targeted for reduction variable E and the explanatory variable Vi increases.
[0353] Here, if we define the number of other intermediate variables C as the "intervening number," then if the intermediate variable C targeted for reduction by the reduction variable E is, for example, the first intermediate variable C1 adjacent to the explanatory variable Vi, then the intervening number will be "0." More generally, if the intermediate variable C targeted for reduction by the reduction variable E is, for example, the nth intermediate variable C nIn this case, the number of intervening elements becomes "n-1".
[0354] Furthermore, the fifth threshold T5 is set to increase as the number of intervening elements increases. The functional form of the fifth threshold T5 with respect to the number of intervening elements nx may be a linear shape, as exemplified in graph G1 in Figure 11. In addition, the functional form of the third threshold T3 with respect to the number of intervening elements may be a step shape or a linear shape.
[0355] In the subsequent step S248, the CPU 3 stores the reduction variable E adopted in step S247 and the rotation matrix (rotation matrix Ma from the original components to the principal components) used in the PCA process to set the reduction variable E, as a reversible dataset 39 in the memory unit 7.
[0356] CPU3 performs the processing from step S241 to step S248 for each of the N intermediate variables C. Once processing for each intermediate variable C is complete, the dimensionality reduction process ends. CPU3 then proceeds the control process from step S24 to step S25 in Figure 17, and starts the intervariate model generation process of the second kind.
[0357] (7-5. Process for generating intervariate models of type II) Figure 25 is a flowchart illustrating the procedure of the intervariate model generation process of the second kind. When the control process proceeds to step S5 in Figure 3, the CPU 3 executes each step sequentially from step S51 in Figure 25. Each step in Figure 25 is executed by the intervariate model generation unit 119 of the functional elements configured by the CPU 3.
[0358] The second type of intervariate model generation process involves CPU3 generating an intermediate variable C based on a predetermined machine learning algorithm. n It is configured to generate and output a Type II intervariate model M2 for each operation. This Type II intervariate model M2 is a model in which a selection variable D or an explanatory variable Vi is input, and a reduction variable E connected to the terminal side of that input is output.
[0359] Here, the specified machine learning algorithm includes a neural network (NN). The following explanation illustrates a case using an NN in a second kind intervariate model M2, but any other arbitrary method can be used.
[0360] Specifically, in step S251 of Figure 25, the CPU 3 selects one of several (e.g., N) intermediate variables C and sets the reduction variable E corresponding to the selected intermediate variable C to the first variable Y. The CPU 3 reads the data values of each sample corresponding to each principal component of the reduction variable E set in the first variable Y.
[0361] In the following step S252, the CPU3 sets the second variable X to a selection variable D or explanatory variable Vi that is directly connected to the starting end of the intermediate variable C corresponding to the first variable Y.
[0362] For example, if in step S251 the first reduction variable E1 corresponding to the first intermediate variable C1 is set to the first variable Y, then the variable set to the second variable X in step S252 will be the explanatory variable Vi.
[0363] As an alternative example, in step S251, the nth intermediate variable C n The nth reduction variable E corresponding to n If is selected as the first variable Y (n≠1), the variable set as the second variable X in step S252 is the (n-1)th intermediate variable C n-1 The (n-1)th selection variable D corresponding to n-1 This is the result.
[0364] Here, the first variable Y is the reduction variable E used in the output layer of the neural network when executing the machine learning algorithm. As explained above, the number of components of the first variable Y is denoted as "dy" and the number of sequences as "Ns".
[0365] The second variable X is either the selection variable D or the explanatory variable Vi used in the input layer of the neural network when executing the machine learning algorithm. As explained above, the number of components of the second variable X is denoted as "dx" and the number of sequences as "Ns".
[0366] In the subsequent step S253, the CPU3 generates a second-kind intervariate model M2 based on a machine learning algorithm, taking the components of the second variable X defined in step S252 as input and the principal components constituting the first variable Y as output.
[0367] Specifically, CPU3, for example, uses a machine learning algorithm for constructing a neural network to train an intervariate model M2 of kind II using Ns samples arranged in the column direction for both the second variable X and the first variable Y (see Figure 28(g)).
[0368] In the subsequent step S254, the CPU 3 stores the second type of intervariate model M2 constructed in step S253 as the second model data 35 illustrated in Figure 2A in the storage unit 7.
[0369] CPU3 executes the processes from step S251 to step S254 for each of the N intermediate variables C. Once processing for each intermediate variable C is complete, the intervariate model generation process of the second kind is terminated. CPU3 then terminates the flow shown in Figure 17.
[0370] <8. Outline of the prediction method> Figure 29 is a flowchart illustrating the steps of the prediction method. As shown in Figure 29, the prediction method generally includes a data acquisition process (steps S301 to S302), a data prediction process (steps S303 to S305), and a display mode control process (steps S306 to S307).
[0371] The prediction program 27 is configured to cause computer 1 to execute these control processes. Specifically, of these control processes, the data acquisition process is performed by CPU 3 executing the data acquisition program 271, and the model generation process is performed by CPU 3 executing the data prediction program 273. Similarly, the display mode control process is performed by CPU 3 executing the display mode control program 275.
[0372] The computer 1 configures the prediction device by executing the prediction program 27 on the CPU 3. In other words, the computer 1 functions as a prediction device equipped with the aforementioned prediction means 100C. As illustrated in Figure 2C, this prediction means 100C includes a data acquisition unit 131, a data prediction unit 133, and a display mode control unit 135. In this embodiment, each functional element is configured by the CPU 3.
[0373] Here, the data acquisition unit 131 executes the data acquisition process (steps S301 to S302). The data prediction unit 133 executes the data prediction process (steps S303 to S305). The display mode control unit 135 executes the display mode control process (steps S306 to S307).
[0374] <9. Details of the prediction method> Figure 29 is a flowchart illustrating the steps of the prediction method. Each step in Figure 29 is performed by each functional element composed of CPU3.
[0375] First, in step S301, the CPU 3 accepts a selection operation for the first estimation model Ms1 via the reception unit 13. The first estimation model Ms1 to be selected may be a first estimation model Ms1 constructed by computer 1 as a prediction device, or it may be a first estimation model Ms1 constructed by another computer 1.
[0376] In the subsequent step S302, the CPU3 reads the first estimated model Ms1 received in step S301 and accepts input of the explanatory variables Vi corresponding to the first estimated model Ms1. The CPU3 also reads the second intervariate model M2 and rotation matrix Ma corresponding to the first estimated model Ms1.
[0377] The input received in step S302 can be made, for example, through the first user interface (IF) 401 which receives user input via the reception unit 13, as shown in Figure 30.
[0378] The input accepted in step S302 is input data 301, which consists of the same number of components d as the explanatory variable Vi. This input data 301 has the data size of one row of the training data shown in Figure 4 and consists of numerical data in 1 row and d columns.
[0379] The first IF401 is displayed, for example, on the screen Sc of the display unit 9, and can allow the user to select the first model data 33 stored in the memory unit 7, or to accept numerical input via the keyboard 13a.
[0380] In the latter case, the first IF401 is constructed by the input fields for each component 41a. In this case, the CPU3 obtains the explanatory variables Vi of the first estimation model Ms1 based on the numerical values entered in each input field.
[0381] In the following step S303, the CPU3 inputs the input data 301 to the first estimation model Ms1. Based on the input data 301 and the first estimation model Ms1, the CPU3 obtains the predicted values of each selection variable D output from each first intervariate model M1 and the predicted value of the target variable Vo output from the first estimation model Ms1.
[0382] In detail, as illustrated in Figure 19, input data 301 is input into the first type intervariate model M1, and the predicted value of the first selection variable D1 is output. The predicted value of the first selection variable D1 is input into the first type intervariate model M1, and the predicted value of the second selection variable D2 is output. As a result of this chain of input and output, the Nth selection variable D N The predicted values are input into the first type intervariate model M1, and the predicted value of the dependent variable Vo (output data 302) is output.
[0383] Here, the predicted values for each selected variable D are merely predicted values for some components of the intermediate variable C. When using only the first type of intervariate model M1, the predicted values for component 41a that were not selected for the selected variable D are not output.
[0384] Therefore, in the following step S304, the CPU3 inputs the input data 301 and the predicted values of each selection variable D into each type II intervariate model M2. As a result, the CPU3 obtains the predicted values of each reduction variable E output from each type II intervariate model M2 based on the predicted values of each selection variable D or the input data 301 and the type II intervariate model M2.
[0385] Furthermore, in the subsequent step S105, the CPU 3, based on a linear or nonlinear algorithm such as PCA, restores the predicted value of the intermediate variable C corresponding to the predicted value of the reduction variable E from the predicted value and outputs it (see reference numeral 303 in Figure 6).
[0386] In this embodiment, the CPU3 receives the rotation matrix Ma obtained during PCA, and more specifically, its inverse matrix Ma. -1 Based on this, the predicted value of the reduction variable E is converted (restored) to the intermediate variable C corresponding to that predicted value. CPU3 outputs the predicted value of the converted (restored) intermediate variable C. The converted intermediate variable C is a variable that includes all components before PCA.
[0387] In detail, as illustrated in Figure 19, the input data 301 is input to the intervariate model M2 of the second kind, and the predicted value of the first reduction variable E1 is output. This predicted value is the inverse matrix Ma of the rotation matrix Ma. -1 This is then converted into a predicted value for the first intermediate variable C1.
[0388] Next, the predicted value of the first selection variable D1 is input into the second type intervariate model M2, and the predicted value of the second reduction variable E2 is output. This predicted value is the inverse matrix Ma of the rotation matrix Ma. -1 This is then converted into a predicted value for the second intermediate variable C2.
[0389] Next, the predicted value of the second selection variable D2 is input into the intervariate model M2 of type 2, and the predicted value of the third reduction variable E3 is output. This predicted value is the inverse matrix Ma of the rotation matrix Ma. -1 This is then converted into a predicted value for the third intermediate variable C3.
[0390] As a result of these inputs and outputs being executed in a chain reaction, the (N-1)th selection variable D is ultimately obtained. N-1 The predicted value of is input into the intervariate model M2 of type 2, and the Nth reduction variable E N The predicted value is output. This predicted value is the inverse matrix Ma of the rotation matrix Ma. -1 Therefore, the Nth intermediate variable C N It is converted into a predicted value.
[0391] In other words, the processing in steps S304 and S305 can be considered as processing via the second estimation model Ms2 illustrated in Figure 6. As shown in the same figure, this second estimation model Ms2 is input with the predicted values or input data 301 of each selected variable D, and uses a second intervariate model M2 and a linear or nonlinear algorithm (specifically, the inverse matrix Ma derived from PCA). -1 This model outputs the predicted value of the intermediate variable C via the predicted value of the reduction variable E, based on the above.
[0392] In this case, the processing in steps S304 and S305 can be rephrased as the process by which the CPU 3 obtains the predicted value of the intermediate variable C output from the second estimation model Ms2, based on the predicted value of the selected variable D or the input data 301 and the second estimation model Ms2.
[0393] In the subsequent step S306, the CPU3 quantifies the importance of each component 41c constituting the selection variable D with respect to the predicted value of the target variable Vo obtained in step S303, and the importance of each component 41a constituting the input data 301 with respect to the predicted value of the selection variable D. In addition to this process, the CPU3 further quantifies the importance of each component 41c constituting another selection variable D connected to the first selection variable D with respect to the predicted value of the first selection variable D.
[0394] In detail, CPU3 selects the Nth selection variable D connected to the starting end of the target variable Vo. N The value of the selection variable D N The Nth selection variable D is increased or decreased around the predicted value. N The value of the target variable Vo changes as the value of increases or decreases. CPU3 performs increases and decreases around the predicted value for each component 41c and monitors the resulting change in the value of the target variable Vo. CPU3 then selects the Nth selection variable D N When each component 41c constituting the equation is increased or decreased, the component 41c that causes the value of the target variable Vo to increase or decrease relatively significantly from the predicted value of the target variable Vo is set as the component 41c with relatively high importance. The CPU 3 selects the components 41c in order of importance, from most important to least important, and stores the selection results in the memory unit 7 or the like.
[0395] Furthermore, CPU3 selects the Nth selection variable D N In contrast, the (N-1)th selection variable D is connected to the starting end. N-1 The value of the selection variable D N-1 The predicted value is increased or decreased. CPU3 performs this increase or decrease for each component 41c, and the resulting Nth selection variable D N The CPU3 monitors the change in the value of the (N-1)th selection variable D. N-1When each component 41c that makes up the expression is increased or decreased, the Nth selection variable D N The value of the Nth selection variable D N Components 41c that increase or decrease significantly relative to the predicted value are set as components 41c with relatively high importance. The CPU 3 selects components 41c in order of importance, and stores the selection results in the memory unit 7, etc.
[0396] By repeating this process, the CPU 3 ultimately quantifies the importance of each component 41a of the input data 301 corresponding to the explanatory variable Vi with respect to the predicted value of the first selection variable D1, and stores the result in the memory unit 7 or the like.
[0397] In the same step S306, the CPU 3 quantifies the importance of the predicted value of the selection variable D or each component 41c, 41a constituting the input data 301 relative to the predicted value of the intermediate variable C, based on the predicted value of the intermediate variable C obtained in step S305.
[0398] For example, CPU3 is the inverse matrix Ma -1 The Nth intermediate variable C, which was reconstructed by N In contrast, the (N-1)th selection variable D is linked via the second estimation model Ms2 in Figure 6. N-1 The value of the selection variable D N-1 The predicted value is increased or decreased. CPU3 performs this increase or decrease for each component 41c, and the resulting Nth intermediate variable D N The CPU3 monitors the change in the value of the (N-1)th selection variable D. N-1 When each component 41c that makes up the expression is increased or decreased, the Nth intermediate variable C N The value of the Nth intermediate variable C N Components 41c that increase or decrease significantly relative to the predicted value are set as components 41c with relatively high importance. The CPU 3 selects components 41c in order of importance, and stores the selection results in the memory unit 7, etc.
[0399] By repeating this process, the CPU 3 ultimately quantifies the importance of each component 41a of the input data 301 corresponding to the explanatory variable Vi with respect to the predicted value of the first intermediate variable C1, and stores the result in the memory unit 7 or the like.
[0400] More specifically, in this embodiment, the importance of the target variable Vo to the predicted value, the importance of the selected variable D to the predicted value, and the importance of the intermediate variable C to the predicted value are Shapley values obtained by SHAP processing. In other words, the so-called SHAP (SHapley Additive exPlanations) processing may be used to quantify importance. In that case, based on the first kind intervariate model M1 as an approximation model, the contribution of each component constituting the selected variable D or input data 301 to the corresponding predicted value output from the first kind intervariate model M1 is expressed using the so-called Shapley value used in cooperative game theory, etc. This contribution may be set as the importance. In addition, various image processing techniques for 2D images, such as gradient processing, can be applied.
[0401] Hereafter, the importance related to the first estimation model Ms1, namely the importance of the predicted value of the first dependent variable Vo and the importance of the predicted value of the selection variable D, will be referred to as "first importance." Similarly, the importance related to the second estimation model Ms2, namely the importance of the predicted value of the intermediate variable C, will be referred to as "second importance."
[0402] In the following step S307, the CPU 3 generates a network diagram 402 and visualizes it on the display 9. This network diagram 402 is a graph in which the explanatory variable Vi (specifically, the input data 301 corresponding to the explanatory variable Vi), the selection variable D, and the target variable Vo are each components, and it proceeds from the explanatory variable Vi through the selection variable D to the target variable Vo in a predetermined order Oc.
[0403] Then, in the same step S307, the CPU controls the display mode of the network diagram 402 based on the value of the first importance. Specifically, the CPU 3 controls the display mode of the network diagram 402 so that the visibility of components with higher first importance is increased.
[0404] More specifically, the CPU 3 controls at least one of the following as display modes: the display color, display size, and line type of the straight lines or arrows (see symbol Ed in Figure 34) connecting the nodes on the display 9.
[0405] In addition to controlling the display mode of a straight line or arrow, or in lieu thereof, the CPU3 can also display on the display 9 the values of each component 41a of each intermediate variable C restored from the selected variable D.
[0406] In addition, CPU3 can visualize and display the importance (second importance) of the intermediate variable C to the predicted value on display 9. This display may be performed in an area independent of network diagram 402, such as the third visualization area R4 described later, or it may be performed by changing the display mode of a part of network diagram 402.
[0407] <10. Specific Examples> Figures 30, 31, 32, and 33 show specific examples of variable classification methods, modeling methods, and prediction methods. In these examples, the explanatory variable Vi is a variable that characterizes at least one of the structure and material of a structure placed in physical space. The structure is, for example, a three-dimensional structure. The three-dimensional structure is composed of multiple parts connected together. The three-dimensional structure is, for example, a car body.
[0408] The explanatory variable Vi represents the design variables of a three-dimensional structure. These design variables may also be the design variables of each component that makes up the three-dimensional structure. Each component of the explanatory variable Vi represents the value of the design variable for each component. For example, the total number of components d in the explanatory variable Vi is equal to the total number of components analyzed. Each sample arranged in the serial direction corresponds to each specification of the three-dimensional structure. The number of samples is, for example, the total number of specifications of the three-dimensional structure.
[0409] The intermediate variable C represents the frequency characteristics of vibrations transmitted through physical space. In this specific example, two intermediate variables C are used. The two intermediate variables C consist of an intermediate variable C that represents P / I and is located at the starting end, and an intermediate variable C that represents A / F and is located at the ending end. P / I is the point inertance. A / F is the vibration transmission characteristic of the vehicle body.
[0410] The dependent variable Vo represents the frequency characteristics of vibrations transmitted through physical space. In this specific example, the dependent variable Vo represents the SPL, which is the sound pressure level at the occupant's ear position.
[0411] Each component 41a of the intermediate variable C and the objective variable Vo is classified by at least one of the following: the frequency of the vibration, the excitation point of the vibration, and the transmission point of the vibration. In this embodiment, each component 41a indicates the frequency of the vibration at each excitation point and each transmission point of the vibration (hereinafter collectively referred to as "evaluation points"). The number of components d is the product of the number of evaluation points and the number of frequency classifications (for example, the number of bands when the frequency is divided into multiple bands). The number of samples is the total number of specifications for the three-dimensional structure, the same as the explanatory variable Vi. The term "vibration" includes not only vibrations related to the NVH performance of the vehicle body, but also vibrations in general, such as earthquakes.
[0412] Here, we will explain the meanings of SPL, P / I, and A / F.
[0413] Automotive road noise is interior noise caused by vibrations between the road surface and tires, which are transmitted through the suspension and then to the occupants as sound pressure. Common approaches to reducing road noise include reducing the force transmitted from the suspension to the vehicle body and reducing the efficiency of converting vehicle body vibrations into sound (vehicle acoustic sensitivity).
[0414] For example, a vibration F is introduced at an arbitrary input point i through a hammering test, etc. i Consider the case where [N] is given. The acceleration response A obtained at response point j. j [m / s 2 ] is the transfer function H ij [(m / s 2 Using ) / N] A j =H ij ·F i It can be expressed as follows.
[0415] In the above equation, the transfer function H when i=j ij Let P / I be defined, and the transfer function H when a specific i is defined, such as when the input point is the suspension mounting point. ij This is defined as A / F. The larger P / I or A / F, the greater the vibration F. i The acceleration response A obtained when given j It will get bigger.
[0416] Furthermore, SPL is defined as the sound pressure observed at a single point within the vehicle's interior cavity, assuming the aforementioned evaluation point. These indices are uniquely determined in relation to the vehicle's structure. These indices can be calculated as frequency response characteristics using the finite element method.
[0417] The maximum SPL value below 450Hz can be used as one of the indicators for judging road noise. Generally, in order to reduce SPL, the vibration transmission path contributing to the vibration modes of the cabin cavity is estimated from P / I or A / F, and countermeasures are taken in areas with high contribution. In particular, when reducing SPL through structural measures based on the thickness of parts and their cross-sectional shapes in each part of the vehicle body, the direction of countermeasures for the entire vehicle body can be considered by relating the characteristic quantities representing the structure with the amount of change in P / I or A / F.
[0418] Note that using SPL, P / I, and A / F for variable 41 is not mandatory. Any data that can be obtained to characterize vibration transmission and as frequency characteristics can be used.
[0419] For simplicity, the explanatory variable Vi will be assumed to be a three-component variable. Similarly, for simplicity, the dependent variable Vo will be assumed to be a two-component variable. For simplicity, the intermediate variable C and the selection variable D will also be assumed to be fewer than the actual number of anticipated use cases.
[0420] Furthermore, let D1 be the number of components d of the intermediate variable C, P / I, and let d1 be the number of components of the corresponding selection variable D1. Similarly, let D2 be the number of components d of another intermediate variable C, A / F, and let d2 be the number of components of the corresponding selection variable D2.
[0421] Here, when P / I and A / F are linked as intermediate variables C between the explanatory variable Vi and the dependent variable Vo, as illustrated in Figure 4, the classification of which of P / I and A / F is the first intermediate variable C1, which is close to the explanatory variable Vi, and which is the second intermediate variable C2, which is farther away from the explanatory variable Vi, has previously been done by the analyst (user) themselves.
[0422] However, such classification was not easy unless the user was familiar with the phenomena being analyzed. Furthermore, even if the user was familiar with the phenomena being analyzed, the classification inevitably became subjective, leaving room for improvement in achieving a more systematic classification.
[0423] In contrast, according to the aforementioned variable classification method, it has become clear that P / I should be designated as the first intermediate variable C1 and A / F as the second intermediate variable C2, as illustrated in the screens Sc in Figures 30 and 31.
[0424] Furthermore, if a first estimation model Ms1 is generated in advance based on such classifications, and the prediction program 27 is launched and the first estimation model Ms1 is selected, the specified region R1 and the visualization region R2 will be displayed on the screen Sc of the display 9.
[0425] The designated area R1 is an area where a user interface (the first IF401) for specifying input data 301 via the reception unit 13 is located. The designated area R1 contains an input field 401a for inputting each component 41a of the explanatory variable Vi, and a button 401b for loading an electronic file in which the values of each component 41a of the explanatory variable Vi are stored as data in a format such as CSV.
[0426] Visualization region R2 is the region where network diagram 402 is visualized. Visualization region R2 shows each node (component 41a of each variable 41) Nd that makes up network diagram 402, and the straight line Ed connecting each component 41a.
[0427] The line Ed displayed in the visualization region R2 is visualized when the importance (first importance) between the variables 41 is greater than or equal to a predetermined value. Furthermore, when the first importance is greater than or equal to the predetermined value, the line is dashed if the first importance between the variables 41 is relatively low, and solid if the first importance between the variables 41 is relatively high. The predetermined value for determining whether or not the importance is visualized is stored in the memory unit 7 in advance. In addition, at least one of the density and thickness of the line Ed may be changed continuously or in steps according to the level of importance. Furthermore, in the visualization region R2, nodes Nd corresponding to the selected variable D are displayed, rather than the intermediate variable C. In other words, a total of d1 nodes Nd are displayed in the second column of the visualization region R2, and a total of d2 nodes Nd are displayed in the second column of the visualization region R2.
[0428] Furthermore, as illustrated in the second visualization area R3 of Figure 31, CPU3 can display the predicted values of all components of the intermediate variable C after reconstruction by the intervariate model M2 of type 2 in parallel with the network diagram 402. This display can be performed for each type of intermediate variable C, such as the first intermediate variable C1 and the second intermediate variable C2 described above. In the example shown, the predicted values of all D1 components are displayed for the first intermediate variable C1, and the predicted values of all D2 components are displayed for the second intermediate variable C2. The user can search for the optimal value of the explanatory variable Vi while checking the values of the intermediate variable C. This promotes intelligent discovery.
[0429] Furthermore, as shown in Figure 32, the D2 component of the second intermediate variable C2, by selecting a specific component 41a in the intermediate variable C (for example, by clicking), the second importance of that component can be displayed in a ranked order from the largest positive value to the smallest. This display can be performed in a third visualization area R4 independent of the network diagram 402, as shown in Figure 32. In addition to such ranked displays, the display of nodes Nd whose second importance falls within a predetermined order on the ranking (for example, within the top 10), such as the "d-1 component" and "d1 component" in the visualization area R2, may be changed through the color of the node Nd, etc.
[0430] The second importance level displayed here is shown for each component 41c of the selection variable D related to the first intermediate variable C1. If a predetermined component 41a of the first intermediate variable C1 is selected, the second importance level will be for the explanatory variable V. i The components will be displayed separately for each component 41a.
[0431] In addition, as exemplified in the fourth visualization region R5 of Figure 33, the magnitude of each variable 41 may be displayed as a graph 403 such as a line graph or histogram for each component 41a. Figure 33 shows examples of line graphs for the explanatory variable Vi, the dependent variable Vo, the first intermediate variable C1, and the second intermediate variable C2.
[0432] In the fourth visualization area R5, the solid lines represent the values or predicted values of each variable 41 corresponding to the current input data 301 entered in input field 401a. Similarly, in the fourth visualization area R5, in each line graph, the dashed lines represent the values or predicted values of each variable 41 corresponding to the past input data 301 that was previously entered in input field 401a.
[0433] By comparing the solid line and the dashed line, for example, if a desired predicted value 302 is obtained for input data 301, it becomes possible to identify the component 41a of the intermediate variable C that contributed to the result. This further promotes intelligent discovery.
[0434] <11. Significance of the method according to this embodiment> As described above, according to the embodiment, by inputting a dataset (input data) corresponding to the explanatory variable Vi into the first estimation model Ms1, the predicted value (estimated value) of the target variable Vo can be output from the first estimation model Ms1.
[0435] Here, the first estimation model Ms1 takes the explanatory variable Vi as input, interposes one or more intermediate variables C, and ultimately outputs the target variable Vo. To generate this first estimation model Ms1, it is convenient if multiple variables 41 can be systematically classified into explanatory variable Vi, intermediate variable C, and explanatory variable Vi.
[0436] In contrast, the analysis method according to the above embodiment, as shown in Figures 6 to 10, determines a hierarchical directed acyclic graph structure (DAG structure) in which each component 41a of the multiple variables 41 is arranged, prior to generating the first estimation model Ms1. By determining the DAG structure, the dependencies (parent-child relationships) between the components 41a can be found through the nodes and edges that constitute the DAG structure.
[0437] Then, as explained with reference to each step in Figure 13 and each of Figures 14 to 16, the aforementioned analysis method classifies the multiple variables 41 into explanatory variable Vi, intermediate variable C, and dependent variable Vo based on the parent-child relationships thus discovered. This allows for the systematic classification of each variable 41 while eliminating subjective judgments as much as possible.
[0438] Furthermore, eliminating subjective judgments in the generation of the first estimation model Ms1 contributes to improving the efficiency of Ms1 generation. The generation of the first estimation model Ms1 can be automated more than before. This improves usability from the user's (analyst's) perspective.
[0439] Furthermore, as explained using step S134 in Figure 13 and Figure 16, the CPU 3 performs classification of multiple variables 41 based on the level of the number of layers s in the DAG structure. By using the level of the number of layers s, a more systematic processing method that does not rely on human judgment can be achieved. The room for subjective judgment can be further reduced.
[0440] Furthermore, as explained with reference to steps S133 to S134 in Figure 13 and Figure 16, the CPU 3 performs classification of multiple variables 41 by calculating the average value (Avg.) of the number of hierarchy levels s for each variable 41. By using the average value of the number of hierarchy levels s, a more systematic processing can be achieved even if each variable 41 has many components 41a. The room for subjective judgment can be further reduced.
[0441] Furthermore, as illustrated in Figures 6 to 10, by using a DAG structure representing a Bayesian network, it is possible to determine a hierarchical structure that reflects probabilistic dependencies. Using a hierarchical structure that reflects probabilistic dependencies is useful for classifying multiple variables 41.
[0442] Furthermore, each component 41a is composed of multiple data values (sequence data 41b) with different indicators characterizing the value of each component 41a, such as structural specifications and design variables. Each data value is converted into a categorical data set, and the conditional probability that the entire set of categorical data sets is realized is maximized. This makes it possible to determine a graph structure that incorporates the influence of the order of the data values (sequence direction). As a result, it is possible to determine a more comprehensive graph structure that encompasses the influence of all indicators, rather than a snapshot-like graph structure that strongly reflects the influence of a particular indicator. This allows for the determination of the graph structure and its hierarchical structure from a different perspective than conventional analysis methods, contributing to the classification of variables 41 based on the hierarchical structure.
[0443] Furthermore, as illustrated in step S1132 of Figure 12, the dimensionality of each variable 41 is reduced in the component direction when determining the DAG structure. This reduces the load on the computer 1's processing for various operations required to determine the DAG structure, even if each variable 41 has a large number of components 41a. This contributes to speeding up the processing of computer 1 and improves usability from the user's (analyst's) perspective.
[0444] Furthermore, by using PCA for dimensionality reduction, the dimensionality of each variable 41 can be systematically reduced. This contributes to the realization of systematic processing.
[0445] Furthermore, as illustrated in step S1131 in Figure 12, the decision of whether or not to perform dimensionality reduction on each variable 41 is made on a case-by-case basis, depending on the number of components d of each variable 41. When the number of components d is small, performing dimensionality reduction may actually increase the load on computer 1. On the other hand, when the number of components d is large, performing dimensionality reduction can reduce the overall load on the control process, even after considering the processing required for dimensionality reduction.
[0446] By having the system decide whether or not to perform dimensionality reduction on a case-by-case basis depending on the number of components d, the load on computer 1 can be reduced as much as possible. Furthermore, having CPU 3 perform such decisions helps to reduce the possibility of subjective judgments.
[0447] Furthermore, as illustrated in Figures 18 and 26 (a) to (c), the data size of each intermediate variable C can be compressed by using a selection variable D instead of the intermediate variable C. This reduces the load on computer 1 and contributes to improving processing speed.
[0448] Furthermore, selecting a portion of the components 41a that make up each intermediate variable C is effective in preserving the interpretability of each intermediate variable C, unlike dimensionality reduction using principal components.
[0449] Furthermore, as illustrated in Figure 19, by inputting a dataset corresponding to the explanatory variable Vi (input data 301) into the first estimation model Ms1, in addition to the predicted value (estimate) of the dependent variable Vo output from the first estimation model Ms1, the predicted value (estimate) of the selected variable D corresponding to each type 1 intervariate model M1 can be output (see symbol 303 in Figure 19).
[0450] On the other hand, as also shown in Figure 19, the reduction variables E, which are output by inputting the predicted values of each selection variable D into the Type II intervariate model M2, can be restored to the intermediate variable C based on various algorithms, including PCA.
[0451] Therefore, the predicted values of the intermediate variables C calculated based on each type I intervariate model M1 are only predicted values for some of the selected components 41c. However, by inputting these predicted values into the type II intervariate model M2, the prediction values for other components of the intermediate variables C that were not selected can also be calculated. This improves the usability of the model.
[0452] In general, PCA corresponds to a basis transformation from a vector defined by the initial component 41a to a vector defined by the principal component. Therefore, by storing the rotation matrix Ma used for this basis transformation, it is possible to reconstruct the original component 41a from the principal component, as illustrated in Figure 19. Thus, constructing a second kind intervariate model M2 using PCA contributes to improving the usability of the model.
[0453] Furthermore, according to a twelfth aspect of this disclosure, the decision tree algorithm may be a random forest, and the CPU 3 learns the first estimation model Ms1 by machine learning using multiple variations of the data values of the explanatory variable Vi, the intermediate variable C, and the target variable Vo as training data, and during the machine learning process, the CPU 3 repeatedly updates the component group based on a genetic algorithm so as to decrease the fitness based on the estimation accuracy.
[0454] Furthermore, as explained with reference to Figure 21B, CPU3 uses a genetic algorithm to update the selection candidate D'. This makes it possible to select a portion of the initial component 41a without compromising the interpretability of the initial component 41a, unlike the conversion from the initial component 41a to the principal component. This is advantageous in improving the usability of the model.
[0455] Furthermore, as illustrated in Figures 31 and 32, the user can efficiently search for the optimal values of the explanatory variable Vi (input data 301) and the intermediate variable C through trial and error by specifying the input data 301 on the designated area R1 while referring to the visualization area R2 on the display 9. This improves the usability of the model.
[0456] Furthermore, by applying this to the specific examples illustrated in Figures 31 and 32, it is possible to facilitate intellectual discoveries regarding the relationship between the structure and material of an object and the frequency characteristics of vibration. This will be advantageous in improving vibration transmission-related performance, such as the NVH performance of automobiles.
[0457] <12. Other Embodiments> In the above embodiment, an example was shown in which the analysis apparatus is configured by a single computer 1, but this disclosure is not limited to that example. The analysis method, analysis apparatus, and analysis program 21 according to this disclosure may be executed using multiple computers 1, for example, by having a first computer execute some of the processing and a second computer execute the remaining processing. The same applies to the variable classification method, modeling method, and prediction method according to this disclosure, and the apparatus and program corresponding to each method.
[0458] Furthermore, the computer 1 in this disclosure also includes parallel computers such as supercomputers and PC clusters. Each computer 1 may have multiple CPUs 3, and it is not necessary for all processing to be executed by the same CPU 3.
[0459] Furthermore, the screen Scr capable of displaying various visualized information is not limited to the display screen on the computer 1's display 9. Network diagrams 402 and the like may be displayed on a screen prepared separately from computer 1. In other words, the "display unit" in this disclosure only needs to be connected to the CPU 3, and it is not necessary for it to be part of computer 1.
[0460] Furthermore, in the above embodiment, the system was configured to calculate the average value (Avg.) of the number of hierarchies s for each variable 41 and to perform classification of multiple variables 41 based on that average value. However, this disclosure is not limited to such a configuration. Instead of the average value, statistics such as the minimum value, maximum value, median, and quartiles (first quartile, third quartile) of the number of hierarchies s may be calculated. In that case, the CPU 3 can determine the relative magnitudes of the statistics among the variables 41 and perform classification of multiple variables 41 based on the determination result.
[0461] Furthermore, although the above embodiment was configured to determine the target variable Vo in advance based on attribute information In1, such a configuration is not essential. For example, in the graph structuring determination process, a variable 41 containing a component 41a with fewer child node connections compared to other variables 41 may be classified as the target variable Vo.
[0462] Furthermore, in the above embodiment, only the intermediate variable C was included as a component of the selected variable D, but the explanatory variable Vi may also be included as a component of the selected variable D as appropriate. Alternatively, some of the multiple intermediate variables C may be included as a component of the selected variable D.
[0463] Furthermore, although the above embodiments have described a "variable 41" having one or more "components 41a", these names are merely for convenience. Each "component 41a" may be considered an independent "variable" or "factor". In that case, each "variable 41" having each component 41a may be called a "group of variables" having multiple variables, a "group of factors" having multiple factors, or an "attribute" having multiple variables or factors. In any case, the "variable 41" relating to this disclosure only needs to be capable of forming a DAG structure with each "component 41a" as a node.
[0464] Furthermore, while the above embodiment illustrated a configuration focusing on vibrations transmitted through the vehicle body as a three-dimensional structure, this disclosure is not limited to such configurations. This disclosure can also be applied to sound transmission characteristics. In that case, if necessary, specifications characterizing the structure and materials of the walls, ceiling, and floor forming a closed space may be used as indicators (sequential labels) of the three-dimensional structure.
[0465] Furthermore, while a three-dimensional space was exemplified as the physical space in the above embodiment, the physical space in this disclosure is not limited to a three-dimensional space. The physical space may be, for example, a two-dimensional space (a two-dimensional plane). Using a two-dimensional space as the physical space is useful for analyzing vibrations transmitted through the ground, i.e., earthquakes.
[0466] Industrial applicability As explained above, this disclosure has industrial applicability because it is useful for analyzing the relationships between variables in various fields such as automotive engineering, acoustic properties, and seismology. [Explanation of Symbols]
[0467] 1. Computers (analytical devices, modeling devices, prediction devices) 3 CPU (arithmetic unit) 7a RAM (storage unit) 7b SSD (storage unit) 9. Display (Display Unit) 13 Reception Department 13a Keyboard (Reception area) 13b Mouse (reception area) 18 Storage medium 21 Analysis Program 23 Variable Classification Program 231 Data Setting Program 233 GSA Program 235 Data Classification Programs 25 Modeling Programs 251 Data Acquisition Program 253 Program for Generating Intervariate Models of Kind I 255 Chain Program 257-dimensional reduction program 259. Type II Intervariate Model Generation Program 27 Prediction Programs 271 Data Acquisition Program 273 Data Prediction Programs 275 Display Mode Control Program 41 variables 41a ingredient d Number of components 41b Series data Ns: Number of series (number of samples) Vi explanatory variables Vo (dependent variable) C intermediate variable D Selection Variable D' Selection Candidates E reduction variable Ms1 First Estimated Model (Estimated Model) Ms2 Second Estimation Model M1: First-kind intervariate model M2 Type II Intervariate Model Ma rotation matrix Oc predetermined order (predetermined sequence) 301 Input Data 401 First User Interface 402 Network Diagram 403 Graph s Number of levels 32A Second Dataset In1 attribute information 32B Third Dataset In2 classification information R1 Specified area R2 visualization area R3 2nd visualization area R4 3rd visualization area R5 4th visualization area
Claims
1. An analysis method that outputs an estimation model in which a predetermined event is modeled by using a computer equipped with a calculation unit and a plurality of mutually different variables, Each of the variables comprising the aforementioned plurality of variables is composed of one or more components. The calculation unit determines a hierarchical directed acyclic graph structure composed of nodes corresponding to each component of the plurality of variables, and edges connecting different nodes from the set of said nodes, arranged in an order that reflects the dependencies between the nodes. The calculation unit classifies the plurality of variables based on the hierarchical structure of the directed acyclic graph into a target variable located at the end of the sequence and corresponding to the output value from the estimation model, an explanatory variable located at the beginning of the sequence and corresponding to the input value from the estimation model, and an intermediate variable connected between the target variable and the explanatory variable, and if there are multiple intermediate variables, it sets the order of the intermediate variables relative to the explanatory variable and the target variable based on the hierarchical structure, The calculation unit sets one of the plurality of variables as a first variable based on the classification result, sets another of the plurality of variables directly connected to the first variable on the starting end side as a second variable, and sets at least a portion of the constituent components of the second variable as a selection variable. The calculation unit generates a submodel based on a decision tree algorithm, in which at least a portion of the selected variables are input and one of the constituent components of the first variable is output, and by performing the generation of the submodel for each component constituting the first variable, it estimates a first kind intervariate model composed of one or more of the submodels. The calculation unit sets the selection variable as the first variable, and sets another variable connected to the starting end of the selection variable as the second variable. The calculation unit repeatedly performs the following steps in order from the target variable toward the starting end: setting the first and second variables, estimating the first intervariate model, and setting the selected variables, thereby outputting the estimated model which goes from the explanatory variables, through the selected variables corresponding to each of the intermediate variables, to the target variable, and connects each variable with the first intervariate model. An analytical method characterized by the following.
2. In the analytical method described in claim 1, Each of the aforementioned variables is assigned attribute information including a flag indicating whether or not it is the target variable. The calculation unit determines in advance which of the plurality of variables corresponds to the target variable based on the attribute information. The nodes that constitute the ends of the directed acyclic graph structure and correspond to each component that constitutes the objective variable are defined as leaf nodes, the nodes connected to the leaf nodes via one or more edges in the directed acyclic graph structure are defined as parent nodes, and the number of edges traversed from the leaf nodes to the parent nodes when viewed from the end to the start of the directed acyclic graph structure is defined as the number of layers, the calculation unit obtains the number of layers for each parent node, The calculation unit selects, based on the level of the number of layers, a variable corresponding to the explanatory variable and a variable corresponding to the intermediate variable from among the plurality of variables. An analytical method characterized by the following.
3. In the analytical method described in claim 2, The calculation unit calculates the average value of the number of layers obtained for each of the plurality of variables, The calculation unit classifies the plurality of variables into explanatory variables and intermediate variables based on the level of the average value. An analytical method characterized by the following.
4. In the analytical method described in claim 2, The calculation unit determines a graph structure representing a Bayesian network as the directed acyclic graph structure. An analytical method characterized by the following.
5. In the analytical method described in claim 4, Each of the aforementioned variables is assigned multiple data values to its respective component. The calculation unit generates a categorical data set for each of the multiple data values by discretizing each data value of each component into a multi-level system. The calculation unit determines the directed acyclic graph structure as the one that maximizes the conditional probability of realizing the multiple categorical data sets, given an element g, where G is a set of directed acyclic graph structures representing Bayesian networks with each of the multiple categorical data sets as a node, and g is a graph structure that forms an element of the set G. An analytical method characterized by the following.
6. In the analytical method described in claim 1, The aforementioned plurality of variables include one or more multicomponent variables having multiple components, The calculation unit sets preprocessing variables for each of the variables by reducing the dimensionality of the multi-component variables in the component direction based on a linear or nonlinear algorithm. The calculation unit determines the directed acyclic graph structure based on the plurality of variables, which are configured to include the preprocessing variables in place of the multicomponent variables, and classifies the plurality of variables into the target variable, the explanatory variables, and the intermediate variables based on the determined directed acyclic graph structure. The calculation unit performs the selection of the selection variables and the estimation of the estimation model based on the plurality of variables, which are configured to include the multi-component variables in place of the preprocessing variables, and outputs the results. An analytical method characterized by the following.
7. In the analytical method described in claim 6, The aforementioned linear or nonlinear algorithm is principal component analysis. An analytical method characterized by the following.
8. In the analytical method described in claim 6, The calculation unit reads the number of components of the variable as a multi-component variable, The calculation unit skips dimensionality reduction of the multi-component variable if the number of components is less than a predetermined threshold. An analytical method characterized by the following.
9. In the analytical method described in claim 1, The calculation unit selects a portion of the components that constitute the second variable, thereby setting a group of components that are candidates for the selected variable, which is composed of that portion of components. The calculation unit generates a submodel based on a decision tree algorithm that takes the group of components as input and outputs one of the components constituting the first variable, and by performing the generation of the submodel for each component constituting the first variable, it estimates candidate models that are candidates for the first intervariate model composed of one or more of the submodels. The calculation unit performs the following multiple times: evaluation of the estimation accuracy of the candidate model, updating the component group, and estimating the candidate model based on the updated component group. Based on this estimation accuracy, it selects the best candidate model as the first type intervariate model and determines the component group corresponding to the first type intervariate model as the selected variables. An analytical method characterized by the following.
10. In the analytical method described in claim 9, The aforementioned decision tree algorithm is a random forest, The calculation unit learns the first intervariate model that constitutes the estimation model by machine learning using multiple variations of the data values of the explanatory variable, the intermediate variable, and the target variable as training data. The calculation unit repeatedly updates the component group based on a genetic algorithm in order to reduce the fitness based on the estimation accuracy during machine learning of the first type of intervariate model. An analytical method characterized by the following.
11. In the analytical method described in claim 9, The calculation unit reduces the dimensionality of the intermediate variables from which the selected variable has been set in the component direction based on a recoverable linear or nonlinear algorithm, thereby setting a reduction variable for each intermediate variable. The calculation unit generates and outputs a type II intervariate model for each intermediate variable, based on a predetermined machine learning algorithm, in which the selected variable or the explanatory variable is input and the reduction variable connected to the terminal side of the input is output. An analytical method characterized by the following.
12. In the analytical method described in claim 11, The aforementioned linear or nonlinear algorithm is principal component analysis, The calculation unit stores the rotation matrix in the principal component analysis in a storage unit connected to the calculation unit. An analytical method characterized by the following.
13. In the analytical method described in claim 11, The calculation unit acquires input data corresponding to the explanatory variables, The calculation unit obtains, based on the input data and the estimation model, the predicted value of the target variable and the predicted value of the selected variable output from each of the first type inter-variable models constituting the estimation model, respectively. The calculation unit obtains the predicted value of the reduction variable output from the second type of variable model based on the predicted value of the selection variable or the input data and the second type of variable model, The calculation unit, based on the linear or nonlinear algorithm, restores the predicted value of the intermediate variable corresponding to the predicted value of the reduction variable from the predicted value of the reduction variable and outputs it. An analytical method characterized by the following.
14. In the analytical method described in claim 13, The aforementioned calculation unit includes: A display unit that shows information to the user, A receiving unit that accepts operations and inputs from the aforementioned user is connected to it, The calculation unit generates a network diagram in which each component of the explanatory variable, the selection variable, and the target variable is a node, and in the order described above, the diagram progresses from the explanatory variable through the selection variable to the target variable, and visualizes it on the display unit. The calculation unit, the display unit, A designation area where a user interface for specifying the input data via the reception unit is located, The visualization area in which the aforementioned network diagram is visualized is displayed. An analytical method characterized by the following.
15. In the analytical method described in any one of claims 1 to 14, The aforementioned explanatory variables are variables that characterize at least one of the structure and material of an object placed in physical space. The aforementioned intermediate variable and the aforementioned objective variable represent the frequency characteristics of the vibration transmitted through the physical space. Each component constituting the intermediate variable and the objective variable is classified by at least one of the following: the frequency of the vibration, the excitation point of the vibration, and the transmission point of the vibration. An analytical method characterized by the following.
16. An analysis device comprising a computer equipped with a calculation unit, which outputs an estimation model that models a predetermined event by using multiple variables that are different from each other, Each of the variables comprising the aforementioned plurality of variables is composed of one or more components. A graph structure determination unit determines a hierarchical directed acyclic graph structure composed of nodes corresponding to each component of the aforementioned plurality of variables, and edges connecting different nodes from the set of said nodes, arranged in an order that reflects the dependencies between the said nodes. Based on the hierarchical structure of the directed acyclic graph structure, the data classification unit classifies the plurality of variables into a target variable located at the end of the sequence and corresponding to the output value from the estimation model, an explanatory variable located at the beginning of the sequence and corresponding to the input value from the estimation model, and intermediate variables connected between the target variable and the explanatory variable, and if there are multiple intermediate variables, sets the order of the intermediate variables relative to the explanatory variable and the target variable based on the hierarchical structure. A data acquisition unit sets one of the multiple variables as the first variable based on the classification result, sets another variable directly connected to the first variable on the starting end side as the second variable, and sets at least a portion of the constituent components of the second variable as the selection variable. A first-kind inter-variable model generation unit generates a submodel in which at least a portion of the selected variables are input and one of the constituent components of the first variable is output, based on a decision tree algorithm, and estimates a first-kind inter-variable model composed of one or more of the submodels by performing the generation of the submodel for each component constituting the first variable. The data acquisition unit is instructed to set the selection variable as the first variable, and to set another variable connected to the starting end of the selection variable as the second variable. The system includes a chaining unit that repeatedly performs the following steps in order from the objective variable toward the starting end: setting the first and second variables, estimating the first intervariate model, and setting the selected variables, thereby outputting an estimated model that goes from the explanatory variables, through the selected variables corresponding to each of the intermediate variables, to the objective variable, and connects each variable with the first intervariate model. An analytical apparatus characterized by the following features.
17. An analysis program that outputs an estimation model in which a predetermined event is modeled by using a computer equipped with a calculation unit and multiple variables that are different from each other, Each of the variables comprising the aforementioned plurality of variables is composed of one or more components. To the aforementioned computer, The calculation unit comprises nodes corresponding to each component of the plurality of variables, and edges connecting different nodes from the set of said nodes, and performs a process to determine a directed acyclic graph structure that is hierarchically arranged so as to reflect the dependencies between the nodes. The calculation unit classifies the plurality of variables based on the hierarchical structure of the directed acyclic graph into a target variable located at the end of the sequence and corresponding to the output value from the estimation model, an explanatory variable located at the beginning of the sequence and corresponding to the input value from the estimation model, and an intermediate variable connected between the target variable and the explanatory variable, and if there are multiple intermediate variables, it performs a process to set the order of the intermediate variables relative to the explanatory variable and the target variable based on the hierarchical structure. The calculation unit performs the following processes based on the classification result: setting one of the plurality of variables as a first variable, setting another of the plurality of variables directly connected to the first variable on the starting end side as a second variable, and setting at least a portion of the constituent components of the second variable as a selection variable. The calculation unit generates a submodel based on a decision tree algorithm, in which at least a portion of the selected variables are input and one of the constituent components of the first variable is output, and by performing the generation of the submodel for each component constituting the first variable, the calculation unit estimates a first kind intervariate model composed of one or more of the submodels. The calculation unit performs the process of setting the selected variable as the first variable and setting another variable connected to the starting end of the selected variable as the second variable, The calculation unit repeatedly performs the following steps in order from the target variable toward the starting end: setting the first and second variables, estimating the first intervariate model, and setting the selected variables, thereby outputting the estimated model which goes from the explanatory variables, through the selected variables corresponding to each of the intermediate variables, to the target variable, and connects each variable with the first intervariate model. An analysis program characterized by the following features.
18. The analysis program described in claim 17 is stored. A computer-readable storage medium characterized by the following features.
Citation Information
Patent Citations
Explanatory variable selection device, method, and program
JP2023057728A
Variable relation display device, method, and program
JP2023057729A