Information processing program, information processing method, and information processing device
The information processing method addresses the challenge of calculating variance-covariance matrices by combining orthogonal components and dependency matrices for each dataset, ensuring accurate results and reduced processing time, even with large variable sets and varying data combinations.
Patent Information
- Application Number
- PCT/JP2023/027881
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-28
- Publication Date
- 2025-02-06
AI Technical Summary
Existing methods face challenges in accurately calculating the variance-covariance matrix for datasets with a lower number of data points compared to variables, especially when dealing with multiple datasets of different variable combinations, leading to inconsistent results and increased processing burden.
An information processing method that acquires multiple datasets, calculates the variance-covariance matrix for each dataset using a combination of a first matrix representing orthogonal components common to all datasets and a second matrix representing dependency relationships, allowing for accurate calculation of individual variance-covariance matrices.
This approach enables accurate calculation of variance-covariance matrices for each dataset, reducing processing time and burden, even with large numbers of variables, and handles datasets with different variable combinations, improving analysis processes such as principal component analysis and causal search.
Smart Images

Figure JP2023027881_06022025_PF_FP_ABST
Abstract
Description
Information processing program, information processing method, and information processing device
[0001] The present invention relates to an information processing program, an information processing method, and an information processing device.
[0002] Conventionally, there is a technique for calculating a variance-covariance matrix for a data set including multiple data sets each containing values of two or more variables, thereby identifying dependencies between variables and performing principal component analysis, independent component analysis, causal analysis, or the like. Here, the smaller the total number of data sets in a given data set is compared to the total number of variables, the more difficult it becomes to accurately calculate the variance-covariance matrix. Therefore, it may be desirable to use multiple data sets of similar types to calculate the variance-covariance matrix for each of the multiple data sets.
[0003] In a prior art technique, for example, a variance-covariance matrix corresponding to a data set is calculated by adding a diagonal matrix having virtual components to a variance-covariance defined by the product of a matrix corresponding to the data set and the transpose of that matrix.
[0004] Ledoit, Olivier, and Michael Wolf. “A well-conditioned estimator for large-dimensional covariance matrices.” Journal of multivariate analysis 88.2 (2004): 365-411.
[0005] However, with conventional techniques, it is difficult to accurately calculate a variance-covariance matrix for a dataset. For example, an appropriate variance-covariance matrix for a dataset differs for each dataset. For this reason, it is not desirable to use multiple datasets of similar types and calculate only one variance-covariance matrix common to the multiple datasets as the variance-covariance matrix for each of the multiple datasets.
[0006] In one aspect, the present invention aims to accurately calculate a variance-covariance matrix for a data set.
[0007] According to one embodiment, an information processing program, an information processing method, and an information processing device are proposed that acquire a plurality of data sets each including a plurality of data including values of two or more variables of a plurality of variables, acquire a variance-covariance for each of the acquired plurality of data sets, and calculate, based on the variance-covariance for each of the acquired plurality of data sets, a combination of a first matrix representing orthogonal components common to the variance-covariance matrices of each of the plurality of data sets and a second matrix representing the dependency between the variables among the plurality of variables, which corresponds to the variance-covariance matrix for each of the plurality of data sets.
[0008] According to one aspect, it is possible to accurately calculate a variance-covariance matrix for a data set.
[0009] FIG. 1 is an explanatory diagram illustrating an example of an information processing method according to an embodiment. FIG. 2 is an explanatory diagram illustrating an example of an information processing system 200. FIG. 3 is a block diagram illustrating an example of a hardware configuration of an information processing device 100. FIG. 4 is a block diagram illustrating an example of a functional configuration of the information processing device 100. FIG. 5 is an explanatory diagram illustrating a first operation example of the information processing device 100. FIG. 6 is an explanatory diagram illustrating a second operation example of the information processing device 100. FIG. 7 is an explanatory diagram (part 1) illustrating a third operation example of the information processing device 100. FIG. 8 is an explanatory diagram (part 2) illustrating the third operation example of the information processing device 100. FIG. 9 is an explanatory diagram (part 3) illustrating the third operation example of the information processing device 100. FIG. 10 is a flowchart illustrating an example of an overall processing procedure. FIG. 11 is a flowchart illustrating an example of an additional processing procedure.
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an information processing program, an information processing method, and an information processing device according to embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0011] (Example of Information Processing Method According to Embodiment) Fig. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment. The information processing device 100 is a computer for accurately calculating a variance-covariance matrix for a dataset. The information processing device 100 is, for example, a server or a PC (Personal Computer).
[0012] A dataset includes multiple pieces of data. The data includes values for two or more variables. A dataset includes, for example, multiple pieces of data each including values for two or more specific variables. A variance-covariance matrix represents the dependency between variables. For example, a variance-covariance matrix has the same number of rows and columns as the total number of variables. Specifically, a variance-covariance matrix represents the dependency between the ith variable and the jth variable using the value of the component in the ith row and jth column.
[0013] It may be desirable to calculate a variance-covariance matrix for a data set to identify dependencies between variables and perform analytical processing such as principal component analysis, independent component analysis, or causal analysis.
[0014] Specifically, in the medical field, gene network analysis is sometimes performed by calculating a variance-covariance matrix for a lung cancer patient dataset to investigate genes that cause lung cancer. The lung cancer patient dataset includes, for example, a plurality of data sets each containing values of two or more variables related to the genes of the lung cancer patient.
[0015] Specifically, in the manufacturing field, a variance-covariance matrix for a defective product dataset is calculated to perform an analysis process on the parts and investigate the parts that cause the defective products. The defective product dataset may include, for example, a plurality of data sets each containing values of two or more variables related to the parts that form the product.
[0016] Here, there is a problem that the smaller the total number of data is compared to the total number of variables in a certain dataset, the more difficult it becomes to accurately calculate the variance-covariance matrix. Therefore, it may be desirable to use multiple datasets of similar types to calculate the variance-covariance matrix for each of the multiple datasets. Specifically, it is conceivable to use a colon cancer patient dataset in addition to a lung cancer patient dataset to accurately calculate the variance-covariance matrix for the lung cancer patient dataset. The colon cancer patient dataset includes, for example, multiple pieces of data including values for two or more variables related to the genes of colon cancer patients.
[0017] However, even when multiple similar types of data sets are used, it is difficult to accurately calculate the variance-covariance matrix for each of the multiple data sets. For example, a method can be considered in which a variance-covariance matrix common to the multiple data sets is estimated by adding the variance-covariance of all the multiple data sets together with a virtual correlation such as a diagonal matrix. For an example of such a method, see Non-Patent Document 1.
[0018] Even with the above-described method, it is difficult to accurately calculate a variance-covariance matrix for each of multiple data sets. For example, the appropriate variance-covariance matrix for each data set differs for each data set. Users tend to want to calculate a variance-covariance matrix for each data set in order to identify dependencies between variables and perform analysis processing for each data set. However, the above-described method has the problem that it calculates only one variance-covariance matrix common to multiple data sets, and is unable to calculate individual variance-covariance matrices for each of the multiple data sets.
[0019] Furthermore, for example, the above method has a problem in that the greater the total number of variables, the greater the processing load and processing time required to calculate one variance-covariance matrix common to multiple data sets.
[0020] Furthermore, for example, each of the multiple data sets does not necessarily contain values of the same variables. Specifically, while a first data set may contain values for two or more first variables, a second data set may not contain values for two or more first variables but may contain values for two or more second variables. The above method has a problem in that it cannot be applied when the multiple data sets contain values for two or more variables in different combinations.
[0021] As described above, the above method cannot accurately calculate the variance-covariance matrix for each of a plurality of data sets.
[0022] Therefore, in this embodiment, an information processing method that can accurately calculate a variance-covariance matrix for a data set will be described.
[0023] 1, an information processing device 100 acquires a plurality of data sets 110. In the example of FIG. 1, the plurality of data sets 110 are specifically a data set 111 and a data set 112. The data set 110 includes, for example, a plurality of data sets. The data includes, for example, respective values of two or more variables of a plurality of variables.
[0024] Specifically, the data set 110 includes a plurality of data sets each including values of two or more variables in the same combination among the plurality of variables. Specifically, the plurality of data sets 110 include a plurality of data sets each including values of two or more variables in the same combination among the plurality of variables. The combination of the plurality of variables and the combination of two or more variables may be the same, for example. The variables represent, for example, types of feature values related to genes.
[0025] The information processing device 100 acquires, for example, multiple datasets 110 of similar types. The type represents, for example, the attributes of the dataset 110. Specifically, the type represents which cancer patient the dataset 110 relates to. For example, two or more types each representing that the dataset 110 relates to a cancer patient are treated as two or more similar types. For example, a type relating to the medical field representing that the dataset 110 relates to a cancer patient and a type relating to the manufacturing field representing that the dataset 110 relates to defective products are treated as two dissimilar types. Each of the multiple datasets 110 is, for example, a dataset 110 relating to a cancer patient. The multiple datasets 110 include, for example, a dataset 110 relating to lung cancer patients, a dataset 110 relating to colon cancer patients, and a dataset 110 relating to stomach cancer patients.
[0026] (1-1) The information processing device 100 acquires a variance-covariance 120 for each of the acquired multiple data sets 110. The variance-covariance is calculated by dividing the matrix X corresponding to the data set 110 by the transpose matrix X of the matrix X. T and x = 1. Matrix X is a matrix in which each row represents data and each column represents a variable. Matrix X represents the value of the j-th variable of the i-th data by the component in the i-th row and j-th column. In the example of FIG. 1 , the information processing device 100 specifically obtains the variance-covariance 121 by calculating the variance-covariance 121 in the data set 111. Furthermore, the information processing device 100 specifically obtains the variance-covariance 122 in the data set 112.
[0027] (1-2) Based on the acquired variance-covariance 120, the information processing device 100 calculates a combination of the first matrix 130 and the second matrix 140 corresponding to the variance-covariance matrix 150 in each of the multiple data sets 110.
[0028] The first matrix 130 represents orthogonal components common to the variance-covariance matrices 150 in each of the multiple data sets 110. For example, one first matrix 130 exists for all of the multiple data sets 110. For example, each of the first matrices 130 is a matrix having the same number of rows and columns as the total number of variables. The second matrix 140 represents the dependency relationships between the multiple variables. For example, one second matrix 140 exists for each data set 110. For example, each of the second matrices 140 is a diagonal matrix having the same number of rows and columns as the total number of variables.
[0029] The information processing device 100 sets a mathematical formula including variables corresponding to the variance-covariance matrix 150 for each of the multiple data sets 110, based on the acquired variance-covariance 120, for example. The variables are, for example, the inverse matrix of the variance-covariance matrix 150. In the mathematical formula, the variance-covariance matrix 150 is defined by, for example, the inner product of a first matrix 130, a second matrix 140 corresponding to the variance-covariance matrix 150, and a transpose of the first matrix 130. The mathematical formula includes, for example, the variance-covariance 120 for each of the multiple data sets 110. The mathematical formula represents, for example, an objective function.
[0030] The information processing device 100 uses a solver to solve a set equation, thereby calculating a combination of a first matrix 130 and a second matrix 140 corresponding to a variance-covariance matrix 150 in each of the multiple data sets 110. The solver is, for example, an optimization solver. In the example of FIG. 1 , the information processing device 100 specifically calculates a combination of the first matrix 130, a second matrix 141 corresponding to a variance-covariance matrix 151 in the data set 111, and a second matrix 142 corresponding to a variance-covariance matrix 152 in the data set 112.
[0031] This enables the information processing device 100 to accurately calculate the variance-covariance matrix 150 for each of the plurality of data sets 110. The information processing device 100 can accurately calculate the variance-covariance matrix 150 based on, for example, a combination of the first matrix 130 and the second matrix 140 corresponding to the variance-covariance matrix 150 for each of the plurality of data sets 110.
[0032] For example, the information processing device 100 can incorporate information held by other data sets 110 when calculating the variance-covariance matrix 150 for any of the multiple data sets 110 using a first matrix 130 common to the multiple data sets 110. For example, the information processing device 100 can calculate an individual variance-covariance matrix 150 for each of the multiple data sets 110 using a second matrix individual for each data set 110 when calculating the variance-covariance matrix 150 for each of the multiple data sets 110.
[0033] In this way, the information processing device 100 can calculate, for example, a variance-covariance matrix 150 for each of the multiple data sets 110, rather than a single variance-covariance matrix common to the multiple data sets 110. Furthermore, the information processing device 100 can improve the accuracy of calculating the variance-covariance matrix 150 for each of the multiple data sets 110, for example.
[0034] Here, the case has been described in which first matrix 130 is a matrix having the same number of rows and columns as the total number of variables, and second matrix 140 is a diagonal matrix having the same number of rows and columns as the total number of variables, but this is not limiting. For example, first matrix 130 may be a matrix having the same number of rows as the total number of variables and the same number of columns as a first number less than the total number of variables, and second matrix 140 may be a diagonal matrix having the same number of rows and columns as a first number.
[0035] In this case, in the mathematical expression, the variance-covariance matrix 150 is preferably defined by the sum of the inner product of the first matrix 130, the second matrix 140 corresponding to the variance-covariance matrix 150, and the transpose of the first matrix 130, plus a predetermined diagonal matrix. The predetermined diagonal matrix is, for example, a single matrix common to multiple data sets 110, each having the same number of rows and columns as the total number of variables. This allows the information processing device 100 to suppress increases in processing load and processing time required when calculating the variance-covariance matrix 150 for each of the multiple data sets 110, even if the total number of variables is large. A specific example of the operation of the information processing device 100 in this case will be described later using FIG. 6 .
[0036] Here, the case where the multiple data sets 110 include multiple pieces of data each containing values of two or more variables in the same combination among the multiple variables has been described, but this is not limited to this. For example, the multiple data sets 110 may include multiple pieces of data each containing values of two or more variables in different combinations among the multiple variables. Specifically, there may be cases where each of the multiple pieces of data in any of the data sets 110 does not include values for the second number of variables among the multiple variables.
[0037] In this case, it is preferable that the information processing device 100 calculates the combination of the first matrix 130 and the second matrix 140, and the values of the second number of variables corresponding to each of the plurality of data in any of the data sets 110. As a result, the information processing device 100 can be applied even when the plurality of data sets 110 includes a plurality of data including values of two or more variables in different combinations among the plurality of variables. The information processing device 100 can accurately calculate the variance-covariance matrix 150 for each of the plurality of data sets 110. A specific example of the operation of the information processing device 100 in this case will be described later using FIG. 7 .
[0038] Here, the case where the functions of the information processing device 100 are realized by a single computer has been described, but this is not limiting. For example, the functions of the information processing device 100 may be realized by cooperation of multiple computers. For example, the functions of the information processing device 100 may be realized on the cloud.
[0039] (Example of Information Processing System 200) Next, an example of an information processing system 200 to which the information processing device 100 shown in FIG. 1 is applied will be described with reference to FIG.
[0040] 2 is an explanatory diagram showing an example of an information processing system 200. In FIG. 2, the information processing system 200 includes the information processing device 100 and one or more client devices 201.
[0041] In the information processing system 200, the information processing device 100 and the client device 201 are connected via a wired or wireless network 210. The network 210 is, for example, a local area network (LAN), a wide area network (WAN), or the Internet.
[0042] The information processing device 100 is a computer for calculating a variance-covariance matrix for a dataset. The dataset includes a plurality of data. The data includes values of two or more variables among a plurality of variables. The dataset includes, for example, a plurality of data including values of two or more specific variables. The plurality of datasets includes, for example, a plurality of data including values of two or more variables in the same combination among the plurality of variables. The plurality of datasets may include, for example, a plurality of data including values of two or more variables in different combinations among the plurality of variables.
[0043] The information processing device 100, for example, collects a plurality of data sets from one or more client devices 201. Specifically, the information processing device 100 collects a plurality of data sets by receiving a plurality of data sets from one client device 201. Specifically, the information processing device 100 may collect a plurality of data sets by receiving one data set from each of the plurality of client devices 201.
[0044] For example, the information processing device 100 acquires the variance-covariance of each of the collected multiple data sets. Based on the acquired variance-covariance, the information processing device 100 calculates a combination of a first matrix and a second matrix corresponding to the variance-covariance matrix of each of the multiple data sets. The first matrix represents orthogonal components common to the variance-covariance matrices of each of the multiple data sets. For example, one first matrix exists for all of the multiple data sets. The second matrix represents the dependency between variables among the multiple variables. For example, one second matrix exists for each data set.
[0045] Specifically, the information processing device 100 sets a mathematical formula including variables corresponding to the variance-covariance matrix of each of the multiple data sets based on the acquired variance-covariances. The variables are, for example, the inverse matrix of the variance-covariance matrix. In the mathematical formula, the variance-covariance matrix may be defined by the inner product of a first matrix, a second matrix corresponding to the variance-covariance matrix, and the transpose of the first matrix. In this case, the first matrix is, for example, a matrix having the same number of rows and columns as the total number of variables. The second matrix is, for example, a diagonal matrix having the same number of rows and columns as the total number of variables. The mathematical formula includes, for example, the variance-covariance of each of the multiple data sets. The mathematical formula represents, for example, an objective function.
[0046] In the formula, the variance-covariance matrix may be specifically defined by the sum of the inner product of a first matrix, a second matrix corresponding to the variance-covariance matrix, and the transpose of the first matrix, plus a predetermined diagonal matrix. The predetermined diagonal matrix is, for example, a single matrix common to multiple data sets, each having the same number of rows and columns as the total number of variables. In this case, the first matrix is, for example, a matrix having the same number of rows as the total number of variables and the same number of columns as a first number less than the total number of variables. The second matrix is, for example, a diagonal matrix having the same number of rows and columns as a first number.
[0047] The information processing device 100 calculates a combination of a first matrix and a second matrix corresponding to the variance-covariance matrix of each of the multiple data sets by solving a set equation using, for example, a predetermined solver. Furthermore, for example, each of the multiple data sets in one of the data sets may not include values for a second number of variables out of the multiple variables, which is less than the total number of variables. In this case, the information processing device 100 may calculate a combination of the first matrix and the second matrix and values for the second number of variables corresponding to each of the multiple data sets in one of the data sets.
[0048] The information processing device 100 identifies a variance-covariance matrix for each of the plurality of data sets based on the calculated combination. The information processing device 100 outputs the identified variance-covariance matrix so that it can be referenced by a user. The information processing device 100 is, for example, a server or a PC.
[0049] The client device 201 is a computer for providing a data set to the information processing device 100. The client device 201 transmits one or more data sets to the information processing device 100, for example, based on an operational input by a user. The client device 201 is, for example, a PC, a tablet terminal, or a smartphone.
[0050] Here, the case where the information processing device 100 is a computer different from the client device 201 has been described, but this is not limiting. For example, the information processing device 100 may have the functions of the client device 201 and may also operate as the client device 201.
[0051] (Application Example of Information Processing System 200) The information processing system 200 can be applied to, for example, the medical field. In the medical field, for example, the information processing system 200 can calculate the variance-covariance matrix for each of a plurality of data sets related to the genes of different cancer patients. The information processing system 200 can make it possible to efficiently investigate the genes that cause the onset of different cancers.
[0052] The information processing system 200 can also be applied to, for example, the manufacturing field. For example, in the manufacturing field, the information processing system 200 can calculate the variance-covariance matrix for each of a plurality of data sets related to parts that form different products. The information processing system 200 can efficiently investigate parts that cause defects in the different products.
[0053] (Example of Hardware Configuration of Information Processing Apparatus 100) Next, an example of the hardware configuration of the information processing apparatus 100 will be described with reference to FIG.
[0054] Fig. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Fig. 3, the information processing device 100 has a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Furthermore, each component is connected to each other by a bus 300.
[0055] Here, the CPU 301 is responsible for overall control of the information processing device 100. The memory 302 includes, for example, a read-only memory (ROM), a random access memory (RAM), and a flash ROM. Specifically, for example, the flash ROM and ROM store various programs, and the RAM is used as a work area for the CPU 301. The programs stored in the memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the coded processes.
[0056] The network I / F 303 is connected to the network 210 via a communication line, and is connected to other computers via the network 210. The network I / F 303 manages the internal interface with the network 210 and controls the input and output of data from other computers. The network I / F 303 is, for example, a modem or a LAN adapter.
[0057] The recording medium I / F 304 controls reading and writing of data from and to the recording medium 305 under the control of the CPU 301. The recording medium I / F 304 is, for example, a disk drive, a solid state drive (SSD), or a universal serial bus (USB) port. The recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, or a USB memory. The recording medium 305 may be detachable from the information processing device 100.
[0058] In addition to the components described above, the information processing device 100 may also include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, etc. The information processing device 100 may also include a plurality of recording medium I / Fs 304 and recording media 305. The information processing device 100 may also not include the recording medium I / Fs 304 and recording media 305.
[0059] (Example of Hardware Configuration of Client Device 201) The example of the hardware configuration of the client device 201 is specifically similar to the example of the hardware configuration of the information processing device 100 shown in FIG. 3, and therefore a description thereof will be omitted.
[0060] (Example of Functional Configuration of Information Processing Apparatus 100) Next, an example of the functional configuration of the information processing apparatus 100 will be described with reference to FIG.
[0061] 4 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 400, an acquisition unit 401, a calculation unit 402, and an output unit 403.
[0062] The storage unit 400 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3. In the following, a case where the storage unit 400 is included in the information processing device 100 will be described, but this is not limiting. For example, the storage unit 400 may be included in a device different from the information processing device 100, and the stored contents of the storage unit 400 may be accessible from the information processing device 100.
[0063] The acquisition unit 401 to the output unit 403 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 403 realize their functions by, for example, causing the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3, or by using the network I / F 303. The processing results of each functional unit are stored in a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3.
[0064] The storage unit 400 stores various information that is referenced or updated in the processing of each functional unit. The storage unit 400 stores, for example, a plurality of data sets. A data set includes, for example, a plurality of data including the respective values of any two or more variables out of a plurality of variables. The variables, for example, relate to genes. The two or more variables may, for example, be a plurality of variables. The storage unit 400 stores, for example, a plurality of data sets that compile data including the respective values of two or more variables in the same combination. The storage unit 400 may also store, for example, a plurality of data sets that compile data including the respective values of two or more variables in different combinations. The data sets are acquired, for example, by the acquisition unit 401.
[0065] The acquisition unit 401 acquires various types of information used in processing by each functional unit. The acquisition unit 401 stores the acquired various types of information in the storage unit 400 or outputs it to each functional unit. The acquisition unit 401 may also output the various types of information stored in the storage unit 400 to each functional unit. The acquisition unit 401 acquires various types of information based on, for example, a user's operation input. The acquisition unit 401 may also receive various types of information from, for example, a device other than the information processing device 100.
[0066] The acquisition unit 401 acquires, for example, a plurality of data sets. Specifically, the acquisition unit 401 acquires the plurality of data sets by receiving them from another computer. Specifically, the acquisition unit 401 may acquire the plurality of data sets by accepting input of the plurality of data sets based on an operational input by a user.
[0067] The acquisition unit 401 may receive a start trigger for starting processing by any of the functional units. The start trigger may be, for example, a predetermined operational input by a user. The start trigger may be, for example, reception of predetermined information from another computer. The start trigger may be, for example, output of predetermined information by any of the functional units. The acquisition unit 401 may receive, for example, acquisition of multiple data sets as a start trigger for starting processing by the calculation unit 402.
[0068] The calculation unit 402 obtains the variance-covariance of each of the acquired data sets. The variance-covariance is calculated by dividing the matrix X corresponding to the data set 110 by the transpose matrix X of the matrix X. T The matrix X is a matrix in which each row represents data and each column represents a variable. The component in the i-th row and j-th column of the matrix X represents the value of the j-th variable of the i-th data.
[0069] The calculation unit 402 obtains the variance-covariance by, for example, calculating the variance-covariance of each of the plurality of data sets. Specifically, the calculation unit 402 obtains the variance-covariance of the matrix X corresponding to the k-th data set. k and matrix X k Transpose matrix X of k T The inner product of k X k T is calculated as the variance-covariance in the k-th data set. This allows the calculation unit 402 to obtain information to be used when calculating the variance-covariance matrix in each of the multiple data sets.
[0070] The calculation unit 402 calculates a combination of a first matrix and a second matrix corresponding to the variance-covariance matrix of each of the acquired multiple data sets based on the variance-covariance of each of the multiple data sets. The first matrix represents, for example, orthogonal components common to the variance-covariance matrices of each of the multiple data sets. For example, one first matrix exists for all of the multiple data sets. The second matrix represents, for example, dependencies between variables among the multiple variables. One second matrix exists for each data set.
[0071] The calculation unit 402 sets a mathematical formula including variables corresponding to the variance-covariance matrix of each of the acquired multiple data sets, for example, based on the variance-covariance of each of the multiple data sets. The mathematical formula represents, for example, an objective function. Specifically, the mathematical formula represents an objective function that includes the variance-covariance of each of the multiple data sets and follows a multivariate normal distribution. The variables represent, for example, an inverse matrix of the variance-covariance matrix. The inverse matrix of the variance-covariance matrix is also called a precision matrix.
[0072] For example, the first matrix may be defined as a matrix having the same number of rows and columns as the total number of variables, and the second matrix may be defined as a diagonal matrix having the same number of rows and columns as the total number of variables. In this case, it is preferable to define the variance-covariance matrix by, for example, the inner product of the first matrix, a second matrix corresponding to the variance-covariance matrix, and the transpose of the first matrix.
[0073] For example, the first matrix may be defined as a matrix having a number of rows equal to the total number of variables and a number of columns equal to a first number less than the total number of variables, and the second matrix may be defined as a diagonal matrix having the same number of rows and columns as the first number. In this case, the variance-covariance matrix may be defined by, for example, the sum of the inner product of the first matrix, a second matrix corresponding to the variance-covariance matrix, and a transpose of the first matrix, plus a predetermined diagonal matrix having the same number of rows and columns as the total number of variables. The predetermined diagonal matrix may be, for example, common to the variance-covariance matrices in each of the multiple data sets.
[0074] The calculation unit 402 calculates a combination of the first matrix and the second matrix corresponding to the variance-covariance matrix of each of the multiple data sets by, for example, using a gradient descent method to calculate a precision matrix that minimizes the objective function represented by the set formula, thereby enabling the calculation unit 402 to identify the variance-covariance matrix of each of the multiple data sets.
[0075] Furthermore, for example, there may be a case where at least one of the multiple data sets includes a plurality of data sets that does not include values for a second number of variables among the multiple variables. The second number is less than the total number of variables. In this case, the calculation unit 402 calculates, for example, combinations and values for the second number of variables corresponding to each of the multiple data sets in one of the multiple data sets. The combinations are a first matrix and a second matrix corresponding to the variance-covariance matrix of each of the multiple data sets. This allows the calculation unit 402 to identify the variance-covariance matrix of each of the multiple data sets.
[0076] The calculation unit 402 identifies the variance-covariance matrix for each of the plurality of data sets based on the calculated combination, thereby making the variance-covariance matrix for each of the plurality of data sets available.
[0077] The output unit 403 outputs the processing results of at least one of the functional units. The output format may be, for example, display on a display, printout on a printer, transmission to an external device via the network I / F 303, or storage in a storage area such as the memory 302 or the recording medium 305. This allows the output unit 403 to notify the user of the processing results of at least one of the functional units, thereby improving the convenience of the information processing device 100.
[0078] The output unit 403 outputs, for example, the combination calculated by the calculation unit 402. Specifically, the output unit 403 outputs the combination calculated by the calculation unit 402 so that it can be referenced by a user. Specifically, the output unit 403 transmits the combination calculated by the calculation unit 402 to another computer. In this way, the output unit 403 can make the combination calculated by the calculation unit 402 available externally.
[0079] The output unit 403 outputs, for example, the variance-covariance matrix for each of the plurality of data sets. Specifically, the output unit 403 outputs the variance-covariance matrix for each of the plurality of data sets so that it can be referenced by a user. Specifically, the output unit 403 transmits the variance-covariance matrix for each of the plurality of data sets to another computer. In this way, the output unit 403 can make, for example, the variance-covariance matrix for each of the plurality of data sets available externally.
[0080] (First Operation Example of Information Processing Device 100) Next, a first operation example of the information processing device 100 will be described with reference to FIG.
[0081] 5 is an explanatory diagram showing a first operation example of the information processing device 100. In FIG. 5, the information processing device 100 acquires multiple data sets 510, each of which is a collection of data including values of x variables of the same combination. The data set 510 includes multiple pieces of data. The total number of variables is x. In the example of FIG. 5, the information processing device 100 specifically acquires a data set 511 and a data set 512.
[0082] Here, it is desirable to individually calculate a variance-covariance matrix 520 for each of the multiple data sets 510. In the example of Fig. 5, specifically, it is desirable to individually calculate a variance-covariance matrix 521 for data set 511 and a variance-covariance matrix 522 for data set 512.
[0083] In the example of FIG. 5, the variance-covariance matrix 520 corresponding to the k-th data set 510 is defined by the following equation (1): k is a first variable representing the variance-covariance matrix 520 corresponding to the k-th data set 510. B is a matrix representing orthogonal components common to the variance-covariance matrices 520 in each of the multiple data sets 510. B is a matrix having the number of rows and the number of columns equal to the total number x of variables. k ) are diagonal matrices with the number of rows and columns equal to the total number of variables x. k are the values of the diagonal elements.
[0084]
[0085] When the variance-covariance matrix 520 corresponding to the k-th data set 510 is defined by the above formula (1), the information processing device 100 calculates B and Diag(c k ) and calculates a combination thereof. The information processing device 100 stores, for example, an objective function expressed by the following formula (2). Here, Σ is a second variable representing the variance-covariance matrix 520. X is a matrix representing the data set 510. XX T is the variance-covariance corresponding to the data set 510.
[0086]
[0087] Specifically, the information processing device 100 substitutes Φ represented by the above formula (1) for Σ in the above formula (2). k and replace X in the above formula (2) with X corresponding to the k-th data set 510. k The information processing device 100 uses a solver to solve an optimization problem so as to minimize the value of the objective function, thereby obtaining Φ k B and Diag(c k Based on the calculated combination, the information processing device 100 calculates a combination of Φ k This allows the information processing device 100 to individually calculate the variance-covariance matrix 520 for each of the multiple data sets 510.
[0088] (Second Operation Example of Information Processing Device 100) Next, a second operation example of the information processing device 100 will be described with reference to FIG.
[0089] Fig. 6 is an explanatory diagram showing a second operation example of the information processing device 100. In Fig. 6, the information processing device 100 acquires multiple data sets 610, each of which is a collection of data including values of x variables of the same combination. The data set 610 includes multiple pieces of data. The total number of variables is x. In the example of Fig. 6, the information processing device 100 specifically acquires a data set 611 and a data set 612.
[0090] Here, it is desirable to individually calculate a variance-covariance matrix 620 for each of the multiple data sets 610. In the example of Fig. 6, specifically, it is desirable to individually calculate a variance-covariance matrix 621 for data set 611 and a variance-covariance matrix 622 for data set 612.
[0091] In the example of FIG. 6, the variance-covariance matrix 620 corresponding to the k-th data set 610 is defined by the following equation (3): kis a first variable representing the variance-covariance matrix 620 corresponding to the k-th data set 610. D is a matrix representing orthogonal components common to the variance-covariance matrices 620 in each of the multiple data sets 610. D is a matrix having rows equal to the total number x of variables and columns equal to y, which is less than the total number x of variables. Diag(c k ) are diagonal matrices with y rows and y columns. k are the values of the diagonal elements. I is a diagonal matrix representing virtual components common to the variance-covariance matrices 620 in each of the multiple data sets 610. ε is a coefficient for I. ε may be different for each data set 610.
[0092]
[0093] When the variance-covariance matrix 620 corresponding to the k-th data set 610 is defined by the above formula (3), the information processing device 100 calculates D and Diag(s k The information processing device 100 calculates a combination of Φ represented by the above formula (3) in Σ in the following formula (4). k By applying the above formula (3) to solve the optimization problem so as to minimize the value of the objective function expressed by the following formula (4), Φ k D and Diag(s k ) where Σ is a second variable representing the variance-covariance matrix 620, and X is a matrix representing the data set 610. XX T is the variance-covariance corresponding to the data set 610. ρ is a coefficient.
[0094]
[0095] Specifically, the information processing device 100 may store an objective function expressed by the following formula (5): K is the total number of data sets 610. k is defined by the following equation (6), where β is a coefficient. k is the distance between distributions and is defined by the following equation (7): V is a constant. Φ k is defined for each data set 610 by the following equation (8) in accordance with the above equation (3):k is the coefficient for I corresponding to the k-th data set 610. tr() is the symbol for the diagonal sum.
[0096]
[0097]
[0098]
[0099]
[0100] Specifically, the information processing device 100 calculates X corresponding to the k-th data set 510. k Based on this, Σ in the above formulas (5) to (8) k The initial solution is calculated as follows: k X k T and a diagonal matrix having imaginary components. For a method of calculating an initial solution, see, for example, Non-Patent Document 1.
[0101] Next, the information processing device 100 specifically calculates Σ k The optimization problem is solved to minimize the objective function expressed by the above formula (5) while fixing the initial solution calculated as follows: k D and Diag(s k ) and the solution of the combination. k A first process of calculating the next solution of D and Diag(s k ) and a second process of calculating the next solution for the combination.
[0102] The first process is to calculate D and Diag(s k ) is fixed to the solution calculated immediately before, and the optimization problem is solved to minimize the objective function expressed by the above formula (5). k The second process is a process of calculating the next solution of Σ k By solving the optimization problem to minimize the objective function expressed by the above formula (5) while fixing the solution calculated immediately before, D and Diag(s k) and calculate the next solution for the combination.
[0103] The information processing device 100 repeats the first process and the second process a predetermined number of times, and then calculates the last calculated D and Diag(s k ) based on the combination of Φ k As a result, the information processing device 100 calculates D and Diag(s k ) can be calculated with high accuracy.
[0104] In this way, the information processing device 100 can individually calculate the variance-covariance matrix 520 for each of the multiple data sets 510. The information processing device 100 can be applied when the number of columns of D is less than the total number x of variables, and can reduce the processing load and processing time required when individually calculating the variance-covariance matrix 520 for each of the multiple data sets 510.
[0105] (Third Operation Example of Information Processing Device 100) Next, a third operation example of the information processing device 100 will be described with reference to FIGS.
[0106] 7 to 9 are explanatory diagrams showing a third operation example of the information processing device 100. In FIG. 7, the information processing device 100 calculates x variables of different combinations among x variables. k A plurality of data sets 710 are acquired, each of which compiles data including values for each of the variables.
[0107] x k represents the number of variables whose values are included in each of the multiple data in the k-th data set 710, among the x variables. k may be different for each dataset 710. In the following description, a variable in the dataset 710 whose value is not included in each of the plurality of data may be referred to as an "unobserved variable." The dataset 710 includes a plurality of data. The total number of variables is x. In the example of FIG. 7 , the information processing device 100 specifically acquires a dataset 711 and a dataset 712.
[0108] Here, it is desirable to individually calculate a variance-covariance matrix 720 for each of the multiple data sets 710. In the example of Fig. 7, specifically, it is desirable to individually calculate a variance-covariance matrix 721 for data set 711 and a variance-covariance matrix 722 for data set 712.
[0109] In the example of FIG. 7, the variance-covariance matrix 720 corresponding to the k-th data set 710 is defined by the following equation (9): k is a first variable representing the variance-covariance matrix 720 corresponding to the kth data set 710. D is a matrix representing orthogonal components common to the variance-covariance matrices 720 in each of the multiple data sets 710. D is a matrix having rows equal to the total number x of variables and columns equal to y, which is a number less than the total number x of variables.
[0110] Diag(c k ) are diagonal matrices with y rows and y columns. k are the values of the diagonal elements. I is a diagonal matrix representing virtual components common to the variance-covariance matrices 720 in each of the multiple data sets 710. ε is a coefficient for I. ε may be different for each data set 710.
[0111]
[0112] When the variance-covariance matrix 720 corresponding to the k-th data set 710 is defined by the above formula (9), the information processing device 100 calculates D and Diag(s k ) and the matrix X^ k Calculate X^ k is the k-th data set 710, k ) unobserved variables. Next, referring to FIG. 8 and FIG. 9, the information processing device 100 calculates D and Diag(s k ) and the matrix X^ k A specific example of calculating the above will be described.
[0113] In FIG. 8, the information processing device 100 uses X representing the k-th data set 710. k And, X^ kThe information processing device 100 calculates an initial solution of a variance-covariance matrix 820 in which the uncertain values of the variance-covariance matrix 810 are complemented with random values or the like.
[0114] 9, the information processing device 100 calculates a matrix 900 that becomes D and Diag(s k ) and a transposed matrix 920 of the matrix 900. The information processing device 100 calculates the solution of the matrix 900 that becomes the calculated D and Diag(s k ) and a transposed matrix 920 of the matrix 900. The information processing device 100 calculates a solution to the variance-covariance matrix 930 by calculating the inner product of D and Diag(s k ) and the matrix X^ k and are calculated repeatedly.
[0115] Specifically, the information processing device 100 performs the following operations similarly to those shown in FIG. k A first process of calculating the next solution of D and Diag(s k ) and the next solution of the combination with matrix X^ k In this way, the information processing device 100 can repeatedly perform a second process of calculating the next solution of D and Diag(s k ) and the matrix X^ k It is possible to calculate with high accuracy.
[0116] In this way, the information processing device 100 can individually calculate the variance-covariance matrix 520 for each of the multiple data sets 510. The information processing device 100 can be applied when the number of columns of D is less than the total number x of variables, and can reduce the processing load and processing time required to individually calculate the variance-covariance matrix 520 for each of the multiple data sets 510. The information processing device 100 can also be applied when unobserved variables exist.
[0117] (Overall Processing Procedure) Next, an example of an overall processing procedure executed by the information processing device 100 will be described with reference to Fig. 10. The overall processing is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, and the network I / F 303 shown in Fig. 3.
[0118] 10 is a flowchart showing an example of an overall processing procedure. In FIG. 10, the information processing device 100 calculates an initial solution of the variance-covariance matrix of each of the plurality of data sets based on each of the plurality of data sets (step S1001). The information processing device 100 then calculates a matrix representing orthogonal components common to the variance-covariance matrices of the plurality of data sets based on the calculated initial solution (step S1002).
[0119] The information processing device 100 calculates a matrix representing the dependency relationships between variables corresponding to each of the multiple data sets based on the calculated initial solution and the matrix representing the calculated orthogonal components, and calculates a solution for the variance-covariance matrix for each of the multiple data sets (step S1003). The information processing device 100 then ends the overall processing. This allows the information processing device 100 to calculate the variance-covariance matrix for each data set.
[0120] 11, an example of an additional processing procedure executed by the information processing device 100 will be described. The additional processing is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, and the network I / F 303 shown in FIG.
[0121] 11 is a flowchart showing an example of an addition process. In FIG. 11, the information processing device 100 calculates an initial solution of the variance-covariance matrix of a new dataset based on the new dataset (step S1101). The information processing device 100 then acquires a matrix representing orthogonal components common to the variance-covariance matrices of the multiple datasets (step S1102).
[0122] The information processing device 100 calculates a matrix representing the dependencies between variables corresponding to the new dataset based on the calculated initial solution and the matrix representing the acquired orthogonal components, and calculates a solution for the variance-covariance matrix of the new dataset (step S1103). The information processing device 100 then ends the addition process. This allows the information processing device 100 to calculate the variance-covariance matrix corresponding to the new dataset.
[0123] As described above, the information processing device 100 can acquire multiple data sets, each of which includes multiple pieces of data including values for two or more variables among multiple variables. The information processing device 100 can acquire the variance-covariance for each of the acquired multiple data sets. The information processing device 100 can calculate, based on the acquired variance-covariance, a combination of a first matrix common to the variance-covariance matrices of each of the multiple data sets and a second matrix corresponding to the variance-covariance matrices of each of the multiple data sets. This allows the information processing device 100 to individually calculate the variance-covariance matrix for each of the multiple data sets.
[0124] According to the information processing device 100, the first matrix can be set as a matrix having the same number of rows and columns as the total number of variables. According to the information processing device 100, the second matrix can be set as a diagonal matrix having the same number of rows and columns as the total number of variables. According to the information processing device 100, the variance-covariance matrix can be applied when defined by the inner product of the first matrix, the second matrix corresponding to the variance-covariance matrix, and the transpose of the first matrix. This allows the information processing device 100 to accurately calculate the variance-covariance matrix for each of a plurality of data sets.
[0125] According to the information processing device 100, the first matrix can be set as a matrix having a number of rows equal to the total number of variables and a number of columns equal to a first number less than the total number of variables. According to the information processing device 100, the second matrix can be set as a diagonal matrix having a number of rows and a number of columns equal to a first number. According to the information processing device 100, a variance-covariance matrix can be defined by the sum of the inner product of a first matrix, a second matrix corresponding to the variance-covariance matrix, and a transpose of the first matrix, plus a predetermined diagonal matrix. This allows the information processing device 100 to reduce the processing load and processing time required when calculating the variance-covariance matrix for each of a plurality of data sets.
[0126] The information processing device 100 can be applied to a case where at least one of a plurality of data sets includes a plurality of data sets that does not include values for each of the second number of variables, which is less than the total number of variables. The information processing device 100 can calculate combinations and the values for each of the second number of variables corresponding to each of the plurality of data sets in any of the data sets. This allows the information processing device to accurately calculate the variance-covariance matrix for each of the plurality of data sets, even when any of the data sets includes a plurality of data sets that does not include values for some of the variables.
[0127] According to the information processing device 100, a combination can be calculated by calculating a precision matrix that minimizes an objective function including the variance-covariance of each of the acquired multiple data sets according to a multivariate normal distribution. This allows the information processing device 100 to accurately calculate the variance-covariance matrix of each of the multiple data sets.
[0128] According to the information processing device 100, the combination can be calculated by using the gradient descent method to calculate a precision matrix that minimizes the objective function, thereby enabling the information processing device 100 to accurately calculate the variance-covariance matrix for each of a plurality of data sets.
[0129] According to the information processing device 100, it is possible to output the variance-covariance matrix for each of the plurality of data sets based on the calculated combination, thereby making the variance-covariance matrix for each of the plurality of data sets available externally.
[0130] The information processing method described in this embodiment can be realized by executing a prepared program on a computer such as a PC or a workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium may be a hard disk, a flexible disk, a CD (Compact Disc)-ROM, an MO (Magneto Optical Disc), a DVD (Digital Versatile Disc), or the like. The information processing program described in this embodiment may also be distributed via a network such as the Internet.
[0131] 100 Information processing device 110-112, 510-512, 610-612, 710-712 Data set 120-122 Variance-covariance 130 First matrix 140-142 Second matrix 150-152, 520-522, 620-622, 720-722, 810, 820, 930 Variance-covariance matrix 200 Information processing system 201 Client device 210 Network 300 Bus 301 CPU 302 Memory 303 Network I / F 304 Recording medium I / F 305 Recording medium 400 Storage unit 401 Acquisition unit 402 Calculation unit 403 Output unit 800, 900, 910 Matrix 920 Transposed matrix
Claims
1. An information processing program that causes a computer to execute the following processes: acquire a plurality of data sets each including a plurality of data including values of two or more of a plurality of variables; acquire the variance-covariance of each of the acquired plurality of data sets; and calculate, based on the variance-covariance of each of the acquired plurality of data sets, a combination of a first matrix representing orthogonal components common to the variance-covariance matrix of each of the acquired plurality of data sets and a second matrix representing the dependency between the variables among the plurality of variables that corresponds to the variance-covariance matrix of each of the acquired plurality of data sets.
2. The information processing program according to claim 1, characterized in that the first matrix is a matrix having a number of rows and columns equal to the total number of the variables, the second matrix is a diagonal matrix having a number of rows and columns equal to the total number of the variables, and the calculating process calculates the combination based on the variance-covariance in each of the acquired multiple data sets, when the variance-covariance matrix in each of the multiple data sets is defined by an inner product of the first matrix, the second matrix corresponding to the variance-covariance matrix in the data set, and a transpose of the first matrix.
3. The information processing program according to claim 1, wherein the first matrix is a matrix having a number of rows equal to the total number of variables and a number of columns equal to a first number less than the total number of variables, and the second matrix is a diagonal matrix having the first number of rows and columns, and the calculating process calculates the combination based on the variance-covariance in each of the multiple data sets when the variance-covariance matrix in each of the multiple data sets is defined as the inner product of the first matrix, the second matrix corresponding to the variance-covariance matrix in the data set, and a transpose of the first matrix, plus a diagonal matrix common to the variance-covariance matrix in each of the multiple data sets and having the same number of rows and columns as the total number of variables.
4. The information processing program according to claim 3, wherein at least one of the plurality of datasets includes a plurality of data sets that does not include values for each of the second number of variables that is less than the total number of variables, and the calculating process calculates, for each of the plurality of datasets, the combination and the values for each of the second number of variables that correspond to each of the plurality of data sets in any of the plurality of datasets based on the variance-covariance in each of the plurality of datasets when the variance-covariance matrix in that dataset is defined by the sum.
5. An information processing program according to any one of claims 2 to 4, characterized in that the calculation process calculates the combination by calculating a precision matrix that minimizes an objective function including the variance-covariance for each of the multiple acquired data sets according to a multivariate normal distribution.
6. The information processing program according to claim 5, characterized in that the calculation process calculates the combination by using a gradient descent method to calculate the precision matrix that minimizes the objective function.
7. The information processing program according to any one of claims 2 to 4, characterized in that the computer is caused to execute a process of outputting the variance-covariance matrix for each of the plurality of data sets based on the calculated combination.
8. An information processing method characterized in that a computer executes the following processes: acquiring a plurality of data sets each including a plurality of data including values of two or more of a plurality of variables; acquiring a variance-covariance for each of the acquired plurality of data sets; and calculating, based on the variance-covariance for each of the acquired plurality of data sets, a combination of a first matrix representing orthogonal components common to the variance-covariance matrix for each of the acquired plurality of data sets, and a second matrix representing the dependency between the variables among the plurality of variables corresponding to the variance-covariance matrix for each of the acquired plurality of data sets.
9. An information processing device having a control unit that acquires a plurality of data sets each including a plurality of data including values of two or more of a plurality of variables, acquires a variance-covariance for each of the acquired plurality of data sets, and calculates, based on the variance-covariance for each of the acquired plurality of data sets, a combination of a first matrix representing orthogonal components common to the variance-covariance matrices of each of the plurality of data sets and a second matrix representing the dependency between the variables among the plurality of variables corresponding to the variance-covariance matrices for each of the plurality of data sets.
Citation Information
Patent Citations
Multi-source information unequal interval federated filtering method based on filter variance matrix correction
CN103697894A
Data analysis device and data analysis method
JP2016206784A