Distributed data non-sharing analysis system, distributed data non-sharing analysis method, and program
The distributed non-sharing data analysis system addresses the challenge of analyzing sensitive data by using intermediate representations and data collaboration to perform multivariate survival analysis without sharing or repeated communication, ensuring confidentiality and reducing costs.
Patent Information
- Application Number
- JP2022040823
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-15
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-03-15
AI Technical Summary
Existing methods for multivariate survival analysis of distributed data, such as WebDISCO, require data sharing and repeated communication, which is not feasible for sensitive data like medical data, and no method exists for data collaboration analysis without repeated communication.
A distributed non-sharing data analysis system and method that uses intermediate representations and data collaboration to analyze the time until an event occurs without sharing original data or engaging in repeated communication, utilizing a system with multiple analysis devices and a master device to generate and analyze intermediate representations.
Enables analysis of distributed data without data sharing or repeated communication, reducing costs and ensuring confidentiality, while maintaining analysis accuracy.
Smart Images

Figure 0007818812000013 
Figure 0007818812000014 
Figure 0007818812000015
Abstract
Description
[Technical Field]
[0001] The present invention relates to a distributed no-shared data analysis system, a distributed no-shared data analysis method, and a program. [Background technology]
[0002] When integrating and analyzing data held in a distributed manner by multiple institutions, if the original data contains confidential information, it may not be possible to share and analyze the original data. Information confidentiality is an important issue when integrating and analyzing data held in a distributed manner by multiple institutions. When dealing with highly confidential data such as medical data, the communication costs between multiple institutions are very high, so an analysis method that reduces the number of communications is desired.
[0003] The Cox proportional hazards model is known as a method of multivariate survival analysis that assumes sharing of original data. WebDISCO is known as a method of multivariate survival analysis for distributed data that assumes division of samples (Non-Patent Document 1). Meanwhile, data collaboration analysis is known as a distributed data integration analysis technology that does not require repeated communication (Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] International Publication No. 2020 / 137728 [Non-patent literature]
[0005] [Non-Patent Document 1] Journal of the American Medical Informatics Association, Publisher, July 9, 2015, Volume 22, Issue 6, pp. 1212-1219 Summary of the Invention [Problem to be solved by the invention]
[0006] WebDISCO, an existing method for multivariate survival analysis of distributed data, only supports splitting by sample, not by feature type. Furthermore, WebDISCO requires communication across institutions for each iteration of the iterative calculation. This makes it difficult to apply WebDISCO to data that is difficult to connect to a network, such as medical data. Meanwhile, no multivariate survival analysis method has been developed for data collaboration analysis, which does not require repeated communication. For data that is distributed and held by multiple holders, each holder is required to analyze the time until an event occurs without sharing the original data with others (others refer to other holders among the multiple holders who hold the distributed data, the master who is the analyst who performs the integrated analysis of the distributed data, or an institution other than the multiple holders who hold the distributed data), and without each holder having to repeatedly communicate with others.
[0007] The present invention has been made in consideration of the above points, and provides a distributed non-sharing data analysis system, a distributed non-sharing data analysis method, and a program that can analyze the time until an event occurs for data that is distributed and held by multiple holders, without each holder sharing the original data with others and without each holder engaging in repeated communication with others. [Means for solving the problem]
[0008] The present invention has been made to solve the above-mentioned problems, and one aspect of the present invention is a dataset comprising data on a plurality of attributes for each sample, the entirety of which is a first dataset for a first sample, wherein the data on the attributes is distributed for at least one of the samples or the attributes and is held as partial data by a plurality of holders, and the entirety of which is a second dataset for a second sample, wherein the data on the attributes is distributed in the same manner as the first dataset for at least one of the samples or the attributes and is held as partial test data by a plurality of holders, and a first label indicating the time from the start to the end of observation and a second label indicating whether or not an event has occurred are shared and held among the plurality of holders who hold the same sample, Supports multiple holdersThe system includes a plurality of first analysis devices and a second analysis device, each of the plurality of first analysis devices includes an intermediate representation generation unit, a first acquisition unit, a first analysis unit, and a first output unit, and the second analysis device includes a second acquisition unit, a data collaboration representation generation unit, a second analysis unit, and a second output unit, and the intermediate representation generation unit generates an anchor data intermediate representation, which is a representation obtained by transforming anchor data, which is data commonly used in integrating the plurality of distributed partial data, by a first function, for the partial data, and an intermediate representation, which is a representation obtained by transforming anchor data, which is data commonly used in integrating the plurality of distributed partial data, by a first function, for the partial data. a partial data intermediate representation that is a representation obtained by transformation using a function; the first output unit outputs the anchor data intermediate representation and the partial data intermediate representation generated by the intermediate representation generation unit, the first label, and the second label to the second analysis device; the second acquisition unit acquires the anchor data intermediate representation and the partial data intermediate representation output by the first output unit for each of the partial data, and acquires the first label and the second label for each of the samples; and the data collaboration representation generation unit acquires the anchor data intermediate representation and the partial data intermediate representation output by the first output unit for each of the partial data, and acquires the first label and the second label for each of the samples by the second acquisition unit. the second analysis unit analyzes the time until an event occurs based on the data collaboration representation of the combined partial data intermediate representation generated by the data collaboration representation generation unit, the first label, and the second label, and generates an analysis result intermediate representation for each partial data intermediate representation obtained by converting the analysis result based on the second function for the combined partial data intermediate representation; and the second output unit outputs the analysis result intermediate representation generated by the second analysis unit for each partial data intermediate representation,the partial data intermediate representation is output to the first analysis device that generated it, the first acquisition unit acquires from the second output unit the analysis result intermediate representation for the partial data intermediate representation generated by the intermediate representation generation unit, and the first analysis unit analyzes the partial test data held by the first analysis device based on data obtained by converting the analysis result intermediate representation acquired by the first acquisition unit using the first function.
[0009] In addition, one aspect of the present invention is that in the above-mentioned distributed data non-sharing analysis system, the second analysis unit calculates, as the intermediate representation of the analysis result, one or more of model parameters for a predetermined model for performing the analysis and statistics corresponding to the model parameters.
[0010] In addition, one aspect of the present invention is that in the above-mentioned distributed data non-sharing analysis system, the first analysis unit shares, among multiple holders, the inner product value between the partial test data and the data obtained by converting the analysis result intermediate representation acquired by the first acquisition unit using the first function, and analyzes the partial test data held by the first analysis device.
[0011] Furthermore, one aspect of the present invention is a dataset comprising data on a plurality of attributes for each sample, wherein the entire first dataset is a dataset for a first sample, and the attribute data is distributed for at least one of the samples or the attributes and held as partial data by a plurality of holders; a dataset comprising data on a plurality of attributes for each sample, wherein the entire second dataset is a dataset for a second sample, and the attribute data is distributed for at least one of the samples or the attributes in the same manner as the first dataset and held as partial test data by a plurality of holders; and a first label indicating the time from the start to the end of observation and a second label indicating whether or not an event has occurred are shared and held among the plurality of holders who hold the same sample; Supports multiple holdersa first output step of outputting the anchor data intermediate representation and the partial data intermediate representation generated by the intermediate representation generation step, the partial data intermediate representation, the first label, and the second label to the second analysis device; a second acquisition step of acquiring the anchor data intermediate representation and the partial data intermediate representation output by the first output step for each of the partial data, and acquiring the first label and the second label for each of the samples; and a second acquisition step of combining the anchor data intermediate representation and the partial data intermediate representation obtained by the second acquisition step with respect to the attributes to generate a combined attribute. a data collaboration representation generation step of generating an anchor data intermediate representation, combining the partial data intermediate representations with respect to the attributes to generate a combined partial data intermediate representation, and generating, for the combined partial data intermediate representation, a data collaboration representation which is a data representation obtained by transforming the intermediate representation by the second function that minimizes a difference between the combined anchor data intermediate representations transformed by the second function; a second analysis step of analyzing a time until an event occurs based on the data collaboration representation of the combined partial data intermediate representation generated by the data collaboration representation generation step, the first label, and the second label, and generating, for each partial data intermediate representation, an analysis result intermediate representation obtained by transforming the analysis result based on the second function for the combined partial data intermediate representation; and a second output step of outputting the analysis result intermediate representation generated for each partial data intermediate representation by the second analysis step to the first analysis device that generated the partial data intermediate representation.a first acquisition step of acquiring from the second output step an analysis result intermediate representation for the partial data intermediate representation generated in the intermediate representation generation step; and a first analysis step of analyzing the partial test data held by the first analysis device based on data obtained by converting the analysis result intermediate representation acquired in the first acquisition step using the first function, The computer runs It is a distributed data-unshared analysis method.
[0012] Furthermore, one aspect of the present invention is a dataset comprising data on a plurality of attributes for each sample, wherein the entire first dataset is a dataset for a first sample, and the attribute data is distributed for at least one of the samples or the attributes and held as partial data by a plurality of holders; a dataset comprising data on a plurality of attributes for each sample, wherein the entire second dataset is a dataset for a second sample, and the attribute data is distributed for at least one of the samples or the attributes in the same manner as the first dataset and held as partial test data by a plurality of holders; and a first label indicating the time from the start to the end of observation and a second label indicating whether or not an event has occurred are shared and held among the plurality of holders who hold the same sample; Supports multiple holdersIn a distributed non-sharing analysis system including a plurality of first analysis devices and a second analysis device, a plurality of computers respectively provided in the plurality of first analysis devices are caused to execute an intermediate representation generation step of generating, for the partial data, an anchor data intermediate representation, which is a representation obtained by transforming, using a first function, anchor data, which is data commonly used in integrating a plurality of distributed partial data, and a partial data intermediate representation, which is a representation obtained by transforming the partial data using the first function; and a first output step of outputting, to the second analysis device, the anchor data intermediate representation, the partial data intermediate representation, the first label, and the second label generated by the intermediate representation generation step; and a second acquisition step of acquiring, in the computer provided in the second analysis device, the anchor data intermediate representation and the partial data intermediate representation output by the first output step for each of the partial data, and acquiring the first label and the second label for each of the samples; a data collaboration representation generation step of generating, for the combined partial data intermediate representation, a data collaboration representation, which is a data representation obtained by combining the anchor data intermediate representations with respect to the attributes to generate a combined anchor data intermediate representation, combining the partial data intermediate representations with respect to the attributes to generate a combined partial data intermediate representation, and transforming the intermediate representation by the second function that minimizes a difference between the combined anchor data intermediate representations transformed by the second function, for the combined partial data intermediate representation; a second analysis step of analyzing a time until an event occurs based on the data collaboration representation of the combined partial data intermediate representations generated by the data collaboration representation generation step, the first label, and the second label, and converting the analysis result based on the second function for the combined partial data intermediate representation to generate, for each partial data intermediate representation, an analysis result intermediate representation;a second output step of outputting the partial data intermediate representation to the first analysis device that generated the partial data intermediate representation, and causing each of a plurality of computers provided in the plurality of first analysis devices to execute a first acquisition step of acquiring from the second output step the analysis result intermediate representation for the partial data intermediate representation generated in the intermediate representation generation step, and a first analysis step of analyzing the partial test data held by the first analysis device based on data obtained by converting the analysis result intermediate representation acquired in the first acquisition step using the first function. [Effects of the Invention]
[0013] According to the present invention, for data that is distributed and held by multiple holders, analysis of the time until an event occurs can be performed without each holder sharing the original data with others and without each holder engaging in repeated communication with others. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a diagram illustrating an example of an overview of a survival time analysis system according to an embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating an example of a data set according to an embodiment of the present invention. [Figure 3] FIG. 1 shows an example of a dataset analyzed in a multivariate survival analysis. [Figure 4] FIG. 10 is a diagram showing an example of model parameters and statistics of each feature calculated based on the Cox proportional hazards model. [Figure 5] FIG. 1 is a diagram showing a state in which a dataset according to an embodiment of the present invention is held in a distributed manner by multiple institutions. [Figure 6] 1 is a diagram illustrating an example of a configuration of a survival time analysis system according to an embodiment of the present invention. [Figure 7] FIG. 1 is a diagram illustrating an example of a data set that is stored in a distributed manner according to an embodiment of the present invention. [Figure 8]10A and 10B are diagrams illustrating an example of an observation time vector and a status vector that are stored in a distributed manner according to an embodiment of the present invention. [Figure 9] FIG. 2 is a diagram illustrating an example of a functional configuration of an institution server according to an embodiment of the present invention. [Figure 10] FIG. 10 is a diagram showing an example of correspondence between anchor data and institutions according to an embodiment of the present invention. [Figure 11] FIG. 2 is a diagram illustrating an example of a functional configuration of a master server according to an embodiment of the present invention. [Figure 12] FIG. 10 is a diagram illustrating an example of an abstraction process according to an embodiment of the present invention. [Figure 13] FIG. 10 is a diagram illustrating an example of a survival time analysis process according to an embodiment of the present invention. [Figure 14] FIG. 10 is a diagram illustrating an example of a survival curve calculation process according to an embodiment of the present invention. [Figure 15] FIG. 1 is a diagram illustrating an example of an overview of a distributed data unshared survival analysis process according to an embodiment of the present invention. [Figure 16] FIG. 1 is a diagram illustrating an example of an overview of a distributed data unshared survival analysis process according to an embodiment of the present invention. [Figure 17] 1 is a diagram illustrating an example of a configuration of a distributed non-sharing data analysis system according to an embodiment of the present invention. [Figure 18] FIG. 10 is a diagram showing the c-index for the analysis results according to the first example of the present invention. [Figure 19] FIG. 10 is a diagram showing p-values from analysis results according to the first example of the present invention. [Figure 20] FIG. 1 is a diagram showing survival probability based on analysis results according to the first embodiment of the present invention. [Figure 21] FIG. 10 is a diagram showing plots in space of feature quantities of a dataset according to a second embodiment of the present invention. [Figure 22] FIG. 10 is a diagram showing plots in space of feature quantities of one of partial data of a data set divided into two for a sample according to a second embodiment of the present invention. [Figure 23]FIG. 10 is a diagram showing plots in space of feature quantities of the other partial data of a data set divided into two for a sample according to a second embodiment of the present invention. [Figure 24] FIG. 10 is a diagram showing the results of survival time analysis based on the Cox proportional hazards model according to the second embodiment of the present invention. [Figure 25] FIG. 10 is a diagram showing the survival probability when the entire data set according to the comparative example of the second embodiment of the present invention is used. [Figure 26] FIG. 10 is a diagram showing survival probabilities obtained by distributed data non-sharing survival analysis according to the second embodiment of the present invention. [Figure 27] FIG. 10 is a diagram showing survival probabilities obtained by distributed data non-sharing survival analysis according to the second embodiment of the present invention. [Figure 28] FIG. 10 is a diagram showing the survival probability when only partial data is used according to a comparative example of the second embodiment of the present invention. [Figure 29] FIG. 10 is a diagram showing the survival probability when only partial data is used according to a comparative example of the second embodiment of the present invention. [Figure 30] FIG. 10 is a diagram showing the survival probability when only partial data is used according to a comparative example of the second embodiment of the present invention. [Figure 31] FIG. 10 is a diagram showing the survival probability when only partial data is used according to a comparative example of the second embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0015] (Embodiment) [Survival Analysis System SS Overview] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing an example of an overview of a survival time analysis system SS according to this embodiment. In the survival time analysis system SS, partial data is distributed and held among multiple institutions. The multiple institutions include, for example, medical institutions, financial institutions, and research institutions. The multiple institutions are an example of multiple holders that hold each of the partial data in a distributed data set. The partial data varies depending on the type of institution, but is, for example, data that includes highly confidential information such as medical data. In the example shown in FIG. 1, "partial data X1" and "partial data X2" are distributed and held among "institution 1" and "institution 2," respectively.
[0016] FIG. 2 is a diagram showing an example of a dataset according to this embodiment. The dataset is made up of data on multiple features for each sample. The features are also called attributes. The dataset is held in a distributed manner by multiple institutions, with at least one of the samples and the features. In other words, the multiple institutions hold only a portion of the data for at least one of the samples and the features from the entire dataset. In the following description, each of the datasets held by multiple institutions is also referred to as partial data. Partial data consists of data on one or more features for each sample.
[0017] In the example shown in Figure 2, the entire dataset is divided into two parts for each sample and feature, resulting in a total of four partial data sets. Each of the four partial data sets is held by an institution ("Institution_11," "Institution_12," "Institution_21," and "Institution_22"). The entire data set may be regarded as a matrix with elements being the quantities (or partial data), and the sample direction and feature direction may be referred to as rows and columns, respectively. In the example shown in Figure 2, the entire data set may be regarded as a matrix with two rows and two columns. In the following description, this matrix may also be referred to as a matrix with elements being the quantities (or partial data).
[0018] The entire data set may be divided into any number of samples and any number of features. In the following description, the number of samples into which the entire data set is divided may be referred to as the number of sample divisions c, and the number of features into which it is divided may be referred to as the number of feature divisions d. In the example shown in Figure 2, the number of sample divisions c is 2 and the number of feature divisions d is 2.
[0019] The survival analysis system SS performs survival analysis on data held in a distributed manner by multiple institutions. Here, an overview of survival time analysis will be described with reference to FIGS. Survival analysis analyzes hazard, cumulative hazard, and survival probability based on whether an event occurs and the time until the event occurs. If the event is death, hazard indicates the probability of death at a certain time, cumulative hazard indicates the probability of death up to a certain time, and survival probability indicates the probability of survival up to a certain time. In the field of engineering, survival analysis is used to analyze mechanical system and product failures, and in the field of medicine, it is used to analyze disease recurrence and death. Depending on the field, survival analysis is also called reliability analysis, duration analysis, or event history analysis. Survival analysis is an example of an analysis of the time until an event occurs.
[0020] FIG. 3 is a diagram showing an example of a dataset analyzed in multivariate survival analysis. The dataset shown in FIG. 3 is data on lung cancer. In the dataset shown in FIG. 3, observation time, status, and various feature quantities are grouped for each sample. The various feature quantities are composed of various feature quantities related to age, sex, and lung cancer. The feature quantities are also called explanatory variables or attributes.
[0021] Observation time indicates the time from when the observation started to when it ended. Observation may end when an event occurs (death in the example in Figure 3), or when the observation is terminated without the event occurring. Status indicates whether or not an event has occurred. In the example in Figure 3, the status has a value of "2" when the event (death) occurs, and a value of "1" when the event does not occur and the observation is terminated. In survival analysis, the observation time and status are predicted from explanatory variables using survival probability and the like as objective variables.
[0022] There are two types of survival analysis: single-variate and multivariate survival analysis. Single-variate survival analysis does not model survival probabilities or hazards, but instead analyzes probabilities as they are. For example, comparisons are made between samples by groups of specific features, such as gender. On the other hand, in multivariate survival analysis, multivariate hazard modeling is performed. In multivariate survival analysis, weight parameters are calculated as model parameters. The weight parameters indicate the contribution of each feature.
[0023] The survival analysis system SS performs multivariate survival analysis. In this embodiment, the Cox proportional hazards model is used as an example of multivariate survival analysis. In the Cox proportional hazards model, maximum likelihood estimation is performed on weight parameters, which are model parameters. The weight parameters indicate the contribution of each feature to survival (death). FIG. 4 shows an example of model parameters and statistics calculated based on the Cox proportional hazards model. In FIG. 4, a p-value is shown as the statistic. The p-value indicates the significance of whether a feature significantly contributes to survival (death). If the p-value is smaller than a predetermined value, the feature is determined to be significant. In FIG. 4, the p-values for "gender," "ph.ecog," and "pat.karno" are less than 0.05, indicating that these features are significant.
[0024] As described above, in the survival analysis system SS, the dataset to be subjected to multivariate survival analysis is held in a distributed manner by multiple institutions. FIG. 5 shows the state in which the dataset shown in FIG. 3 is held in a distributed manner by multiple institutions. The feature data is divided into four groups (data A_11, data A_12, data A_21, and data A_22) based on the sample and feature type, and each group is held by four institutions (for example, institution_11, institution_12, institution_21, and institution_22). The feature data is confidential information and cannot be shared among multiple institutions.
[0025] On the other hand, the observation time and status are divided into two for each sample (data B_1 and data B_2). The observation time and status are not confidential information and may be shared among multiple institutions. The observation time and status are shared among multiple institutions that hold data for the same sample. For example, data B_1 is shared by institutions 11 and 12, and data B_2 is shared by institutions 21 and 22.
[0026] The survival analysis system SS performs multivariate survival analysis on data held in a distributed manner by multiple institutions by sharing abstracted data instead of the original data held in a distributed manner. When sharing data, there is no unified standardization among the multiple institutions, and each institution abstracts the information in its own way. The abstraction methods used by each institution are not shared among the multiple institutions. When performing multivariate survival analysis, the survival analysis system SS does not require repeated communication across institutions, reducing communication costs.
[0027] The survival analysis system SS enables multivariate survival analysis without integrating data held in a distributed manner by multiple institutions into the original data.The survival analysis system SS enables calculation of model parameters corresponding to each feature contained in the original data, statistics corresponding to the model parameters, and survival curves based on the Cox proportional hazards model, without integrating data held in a distributed manner by multiple institutions into the original data.
[0028] The survival analysis system SS does not integrate data held in a distributed manner by multiple institutions as the original data, but instead approximates the analysis results calculated using the entire original data before it was distributed. For example, the survival analysis system SS calculates approximate values for the model parameters and p-values shown in Figure 4 without sharing the original data before it was distributed.
[0029] [Configuration of survival analysis system SS] 6 is a diagram showing an example of the configuration of a survival analysis system SS according to this embodiment. The survival analysis system SS includes an internal server S_ij (i=1, 2, . . ., c:c is the number of sample divisions c, j=1, 2, . . ., d:d is the number of feature divisions d) and a master server 2.
[0030] Each institution server S_ij holds partial data X_ij. The institution servers S_ij correspond to the multiple institutions that hold the partial data X_ij. For example, the institution servers S_ij are servers owned by the multiple institutions. The partial data X_ij are each dataset of the dataset X that is distributed and held by the multiple institutions_ij. The dataset X is a dataset consisting of multiple feature data for each sample. The entire dataset X is held as partial data X_ij by the multiple institution servers S_ij, with the feature data distributed for at least one of the samples or the features.
[0031] The multiple institution servers S_ij each analyze the partial data X_ij held by each of the multiple institution servers S_ij. The master server 2 is a server for integrating the partial data X_ij held in a distributed manner by the multiple institution servers S_ij without sharing them and performing survival analysis.
[0032] In addition, in the survival analysis system SS, the observation time vector t is shared and held among multiple institutional servers S_ij that hold the same sample as observation time partial vectors t_i (i=1, 2,..., c:c is the number of sample divisions c). Also, the status vector δ is shared and held among multiple institutional servers S_ij that hold the same sample as status partial vectors δ_i (i=1, 2,..., c:c is the number of sample divisions c). The observation time vector t and the status vector δ are not confidential information and may be shared.
[0033] The observation time vector t has components that represent the observation time for each sample. The number of components of the observation time vector t is equal to the number n of samples contained in the data set X. The status vector δ has components that represent the status for each sample. The number of components of the status vector δ is equal to the number n of samples contained in the data set X.
[0034] Here, with reference to FIGS. 7 and 8, the partial data X_ij, the observation time partial vector t_i, and the status partial vector δ_i that are distributed and held by the multiple institutional servers S_ij will be described. 7A and 7B are diagrams showing an example of a dataset X that is distributed and held according to this embodiment. Fig. 7A shows dataset X, which is the entire dataset. Dataset X is data in which the number of samples is n and the number of features is m. Note that m and n are both natural numbers.
[0035] 7(B) shows partial data X_11, X_12, ..., X_1d, X_21, X_22, ..., X_2d, ..., X_c1, X_c2, ..., X_cd obtained by dividing data set X into partial data. Data set X is divided into the number of samples indicated by the sample division number c, and into the number of features indicated by the feature division number d. These partial data are also referred to as partial data X_ij (i = 1, 2, ..., c:c is the sample division number c, j = 1, 2, ..., d:d is the feature division number d). The partial data X_ij is a data set having ni samples and mj features, where ni samples and mj features may be different or the same among the partial data X_ij.
[0036] Figure 7(C) shows the fund_ij (i = 1, 2, ..., c:c is the number of sample divisions c, j = 1, 2, ..., d:d is the number of feature divisions d) that holds the partial data X_ij. In this embodiment, the number of features contained in the partial data X_ij held by fund_ij depends only on the number j, which indicates the column of the matrix with funds as elements, such as mj. The number of samples contained in the partial data X_ij held by fund_ij depends only on the number i, which indicates the row of the matrix with funds as elements, such as ni.
[0037] The dataset X may be divided so that the number of features of the partial data X_ij held by the institution_ij depends not only on the columns but also on the rows of the matrix with the institution as an element, as in mij. The dataset X may also be divided so that the number of samples of the partial data X_ij held by the institution_ij depends not only on the rows but also on the columns of the matrix with the institution as an element, as in nij.
[0038] As described above, in the survival time analysis system SS, the entire data set X consisting of data on multiple attributes for each sample is distributed for at least one of the sample or the attribute, and is held as partial data X_ij by multiple institutions_ij.
[0039] 8A and 8B are diagrams showing an example of an observation time vector t and a status vector δ that are distributed and stored according to this embodiment. FIG. 8A shows the observation time vector t and the status vector δ. The observation time vector t has the same number of components as n, which is the number of samples included in the data set X. Similarly, the status vector δ has the same number of components as n.
[0040] Figure 8(B) shows the observation time partial vectors t_i (i = 1, 2, ..., c:c is the number of sample divisions c) obtained by dividing the observation time vector t into partial data, and the status partial vectors δ_i (i = 1, 2, ..., c:c is the number of sample divisions c) obtained by dividing the status vector δ into partial data.
[0041] The observation time vector t is divided into the number of samples indicated by the sample division number c. The observation time partial vector t_i is data with the number of components ni. The number of components contained in the observation time partial vector t_i depends only on the number i indicating the row of the matrix whose elements are the time, like ni. Similarly, the status vector δ is divided into a number of samples indicated by the number of sample divisions c. The status subvector δ_i is data with the number of components ni. The number of components contained in the status subvector δ_i depends only on the number i indicating the row of the matrix whose elements are the time, as in n_i.
[0042] FIG. 8(C) shows institutions_ij (i=1, 2,..., c:c is the number of sample divisions c, j=1, 2,..., d:d is the number of feature divisions d) that hold observation time partial vectors t_i and status partial vectors δ_i. As described above, observation time partial vectors t_i and status partial vectors δ_i are shared and held among multiple institutions_ij that hold the same sample. For example, observation time partial vector t_1 and status partial vector δ_1 are shared and held among institution_11, institution_12,..., institution_1d. The observation time partial vector t_i is an example of a first label indicating the time from when the observation started to when it ended. The status partial vector δ_i is an example of a second label indicating whether or not an event occurred.
[0043] Returning to FIG. 6, the explanation of the configuration of the survival time analysis system SS will be continued. The institution servers S_ij have similar functions. In the following, functions common to a plurality of institution servers S_ij will be explained by using the institution server S_ij as a representative.
[0044] Next, the functional configuration of the institution server S_ij will be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of the functional configuration of the institution server S_ij according to this embodiment. The institution server S_ij includes an intermediate representation generation unit 10, a first output unit 11, a first acquisition unit 12, and a first analysis unit 13.
[0045] The intermediate representation generation unit 10 converts the partial data X_ij into a partial data intermediate representation tX_ij using an intermediate representation generation function F_ij. The intermediate representation generation function F_ij is a linear function that abstracts the partial data X_ij.
[0046] Furthermore, the intermediate representation generation unit 10 converts partial anchor data Xa_j, which is supplied to the device in advance, into a partial anchor data intermediate representation tXa_ij by an intermediate representation generation function F_ij. This intermediate representation generation function F_ij is the same function as that used to convert partial data X_ij into partial data intermediate representation tX_ij.
[0047] The partial anchor data Xa_j is generated by one or more of the institution servers S_ij among the servers S_1j to S_cj, and is supplied from the institution server to the servers S_1j to S_cj other than the institution server. Note that the servers S_1j to S_cj may be supplied with common partial anchor data Xa_j in advance. The partial anchor data Xa_j is pseudo data commonly used in integrating the distributed partial data X_ij. Since the partial anchor data Xa_j does not include confidential information, the partial anchor data Xa_j may be shared among multiple institutions.
[0048] Partial anchor data Xa_j is generated for each feature. From the viewpoint of integrating distributed data sets and performing multivariate survival analysis, it is preferable that the partial anchor data Xa_j be data close to the partial data X_ij. For example, partial anchor data Xa_j being data close to the partial data X_ij means that the numerical range of the partial anchor data Xa_j and the numerical range of the partial data X_ij are the same. Furthermore, partial anchor data Xa_j being data close to the partial data X_ij means, for example, that the feature included in the partial anchor data Xa_j includes all of the feature included in the partial data X_ij. The partial anchor data Xa_j is data that is commonly used in integrating a plurality of dispersed partial data X_ij.
[0049] The value of each piece of partial anchor data Xa_j is, for example, a value (random number) randomly generated within the range of the maximum and minimum values of the feature quantities included in the partial data X_ij. The value of each piece of partial anchor data Xa_j may be generated by low-rank approximating the feature quantities included in the partial data X_ij and adding perturbations.
[0050] FIG. 10 shows an example of the correspondence between anchor data AD and institutions. FIG. 10(A) shows the entire anchor data AD. FIG. 10(B) shows partial anchor data Xa_j into which the anchor data AD is divided. The partial anchor data Xa_j is a data set into which the anchor data AD is divided based on features. FIG. 10(C) shows a plurality of institutions_ij to which the partial anchor data Xa_j is supplied.
[0051] The anchor data AD is divided into partial anchor data Xa_j according to the method for dividing the data set X into partial data X_ij. The number of features included in the partial anchor data Xa_j is equal to the number of features included in the partial data X_ij held by the authority_ij.
[0052] Returning to FIG. 9, the functional configuration of the organization server S_ij will be explained further. The first output unit 11 outputs various types of data. The first output unit 11 outputs data to the master server 2 to be used for analysis by the master server 2. The data output by the first output unit 11 to the master server 2 includes the partial data intermediate representation tX_ij, the partial anchor data intermediate representation tXa_ij, the observation time partial vector t_i, and the status partial vector δ_i generated by the intermediate representation generation unit 10.
[0053] The first acquisition unit 12 acquires various types of data. The first acquisition unit 12 acquires the analysis result R_ij from the master server 2. The analysis result R_ij includes data obtained by converting into an intermediate representation a portion of the entire result of multivariate survival analysis performed by the master server 2, the portion corresponding to the partial data X_ij. In this embodiment, the analysis result R_ij includes weight parameters tβ_ij and a variance-covariance matrix var(tβ_ij) as an example of data converted into an intermediate representation. The analysis result R_ij also includes, as an example, a baseline hazard function h0. Details of the analysis result R_ij will be described later.
[0054] The first analysis unit 13 performs survival analysis on the sample corresponding to the partial data X_ij based on the analysis result R_ij. In the present embodiment, as an example, the first analysis unit 13 generates a survival curve based on the weight parameter β_ij and the baseline hazard function h0.
[0055] The institution server S_ij may be a single server or may be configured with multiple servers. When the institution server S_ij is configured with multiple servers, the functional units (intermediate representation generation unit 10, first output unit 11, first acquisition unit 12, and first analysis unit 13) provided in the institution server S_ij are distributed among the multiple servers. Since the partial data X_ij held by the institution server S_ij is confidential information, when the institution server S_ij is configured with multiple servers, communication between the multiple servers is required to be isolated from external networks.
[0056] Next, the functional configuration of the master server 2 will be described with reference to Fig. 11. Fig. 11 is a diagram showing an example of the functional configuration of the master server 2 according to this embodiment. The master server 2 includes a second acquisition unit 20, a data collaboration expression generation unit 21, a second analysis unit 22, and a second output unit 23.
[0057] The second acquisition unit 20 acquires various types of data. The second acquisition unit 20 acquires data used for analysis by the master server 2 from each of the multiple institution servers S_ij. The data acquired by the second acquisition unit 20 from each of the multiple institution servers S_ij includes a partial data intermediate representation tX_ij, a partial anchor data intermediate representation tXa_ij, an observation time partial vector t_i, and a status partial vector δ_i.
[0058] The data collaboration expression generation unit 21 generates a data collaboration (hereinafter sometimes abbreviated as DC) expression for the partial data intermediate representation tX_ij. A data collaboration expression is a data expression obtained by converting an intermediate representation by a DC expression generation function G_i that minimizes the difference between anchor data intermediate representations converted by the DC expression generation function G_i. The data collaboration expression generation unit 21 generates a data collaboration expression hX_ij as a data collaboration expression of the partial data intermediate representation tX_ij.
[0059] The second analysis unit 22 performs a multivariate survival analysis based on the data collaboration expression hX_ij generated by the data collaboration expression generation unit 21, the observation time partial vector t_i, and the status partial vector δ_i. Furthermore, the second analysis unit 22 generates an analysis result R_ij for each partial data intermediate representation tX_ij by converting the analysis result based on a DC representation generation function G_i for the partial data intermediate representation tX_ij.
[0060] The second output unit 23 outputs various data. The second output unit 23 outputs the analysis result R_ij generated by the second analysis unit 22 to the authority server S_ij. Here, the second output unit 23 outputs the analysis result R_ij to the authority server S_ij that generated the partial data intermediate representation tX_ij corresponding to the DC representation generation function G_i used by the second analysis unit 22 to generate the intermediate representation included in the analysis result R_ij.
[0061] The master server 2 may be a single server or may be configured with multiple servers. When the master server 2 is configured with multiple servers, the functional units (second acquisition unit 20, data collaboration expression generation unit 21, second analysis unit 22, and second output unit 23) of the master server 2 are distributed among the multiple servers. When the master server 2 is configured with multiple servers, the master server 2 may be configured with a cloud server.
[0062] Each of the engine server S_ij and the master server 2 is equipped with an arithmetic device such as a CPU (Central Processing Unit), and each functional unit is realized by the CPU reading a program from a ROM (Read Only Memory) and executing the processing.
[0063] Furthermore, the organ server S_ij and the master server 2 each have a communication interface for communicating via a wireless network. The first output unit 11, the first acquisition unit 12, the second acquisition unit 20, and the second output unit 23 each exchange various data via the communication interface.
[0064] [Survival analysis processing] 12 to 14, a description will be given of a non-shared-distributed-data survival analysis process, which is a multivariate survival analysis process performed by the survival analysis system SS. In the non-shared-distributed-data survival analysis process, an abstraction process, a survival analysis process, and a survival curve calculation process are executed in this order.
[0065] In the distributed data non-shared survival analysis process, partial test data xtest_j is the subject of survival analysis. The partial test data xtest_j is a data set consisting of data on multiple attributes for each sample, and is a data set for the samples to be analyzed. The entire second data set is data in which feature data for at least one of the samples or features is distributed in the same manner as data set X1 and held by multiple holders. The partial test data xtest_j is held in multiple institutional servers S_ij for each sample to be analyzed.
[0066] 12 is a diagram showing an example of the abstraction process according to this embodiment. The abstraction process is executed by each of the multiple organization servers S_ij. Step S10: The intermediate representation generation unit 10 generates partial anchor data Xa_j. The intermediate representation generation unit 10 is the intermediate representation generation unit 10 provided in any one of the organization servers S_ij among the servers S_1j to S_cj. The intermediate representation generation unit 10 provided in the organization server S_ij supplies the generated partial anchor data Xa_j to the intermediate representation generation unit 10 provided in each of the servers S_1j to S_cj other than the organization server S_ij. The process of generating partial anchor data Xa_j in step S10 is performed for each column of a matrix having organizations as elements. That is, it is performed for each j (j=1, 2, . . . , d: d is the number of feature divisions d).
[0067] Step S20: The intermediate representation generation unit 10 abstracts the partial data X_ij and the partial anchor data Xa_j. Abstraction means converting a data set into an intermediate representation. The intermediate representation generation unit 10 converts the partial data X_ij into a partial data intermediate representation tX_ij using the intermediate representation generation function F_ij. The intermediate representation generation unit 10 converts the partial anchor data Xa_j into a partial data intermediate representation tX_ij using the intermediate representation generation function F_ij. Here, the intermediate representation generation function F_ij is used in common for the abstraction of the partial data X_ij and the partial anchor data Xa_j. As described above, the partial data X_ij is stored in advance in the organization server S_ij.
[0068] The partial data X_ij is transformed into a partial data intermediate representation tX_ij by the intermediate representation generation function F_ij as shown in equation (1).
[0069]
number
[0070] The partial anchor data Xa_j is transformed into the partial data intermediate representation tX_ij by the intermediate representation generation function F_ij as shown in equation (2).
[0071]
number
[0072] Since abstraction is performed in each institution_ij that holds partial data X_ij, the abstraction method used by the intermediate representation generation unit 10 may differ between multiple institution servers S_ij. In other words, the intermediate representation generation function F_ij may differ between multiple institution servers S_ij. The intermediate representation generation unit 10 uses a linear dimensionality reduction method such as Principal Component Analysis (PCA) or Locality Preserving Projection (LPP) as an abstraction method.
[0073] As described above, for partial data X_ij, the intermediate representation generation unit 10 generates partial anchor data intermediate representation tXa_ij, which is a representation obtained by transforming partial anchor data Xa_j, which is data commonly used in integrating multiple dispersed partial data X_ij, using the intermediate representation generation function F_ij, and partial data intermediate representation tX_ij, which is a representation obtained by transforming partial data X_ij using the intermediate representation generation function F_ij.
[0074] Step S30: The first output unit 11 outputs the partial data intermediate representation tX_ij, the partial anchor data intermediate representation tXa_ij, the observation time partial vector t_i, and the status partial vector δ_i to the master server 2. The partial data intermediate representation tX_ij and the partial anchor data intermediate representation tXa_ij have been generated by abstraction by the intermediate representation generation unit 10 in the above-mentioned step S20. Note that the observation time partial vector t_i and the status partial vector δ_i are stored in advance in the organization server S_ij.
[0075] As described above, the first output unit 11 outputs the partial anchor data intermediate representation tXa_ij and the partial data intermediate representation tX_ij generated by the intermediate representation generation unit 10, the observation time partial vector t_i, and the status partial vector δ_i to the master server 2. This completes the abstraction process for each of the multiple organization servers S_ij.
[0076] 13 is a diagram showing an example of the survival time analysis process according to this embodiment. The survival time analysis process is executed by the master server 2. Step S110: The second acquisition unit 20 acquires the partial data intermediate representation tX_ij, the partial anchor data intermediate representation tXa_ij, the observation time partial vector t_i, and the status partial vector δ_i from each of the multiple authority servers S_ij.
[0077] That is, the second acquisition unit 20 acquires the partial anchor data intermediate representation tXa_ij and the partial data intermediate representation tX_ij output by the first output unit 11 for each partial data X_ij, and acquires the observation time partial vector t_i and the status partial vector δ_i for each sample.
[0078] Through the processing of step S30 and step S110 described above, the partial data intermediate representation tX_ij, the partial anchor data intermediate representation tXa_ij, the observation time partial vector t_i, and the status partial vector δ_i are shared between the multiple institutional servers S_ij and the master server 2. The processing of step S30 and the processing of step S110 are collectively referred to as first data communication.
[0079] As described above, the observation time partial vector t_i and the status partial vector δ_i are shared and stored among multiple institutions S_ij that store the same sample. Therefore, the second acquisition unit 20 acquires the observation time partial vector t_i and the status partial vector δ_i redundantly for multiple institution servers S_ij that store the same sample.
[0080] Of the multiple authoritative servers S_ij that hold the same sample, a server (referred to as a partial vector output server) that outputs the observation time partial vector t_i and the status partial vector δ_i to the master server 2 may be predetermined. In that case, in the above-mentioned step S30, the multiple authoritative servers S_ij other than the partial vector output server output the partial data intermediate representation tX_ij and the partial anchor data intermediate representation tXa_ij to the master server 2, and the partial vector output server outputs the partial data intermediate representation tX_ij, the partial anchor data intermediate representation tXa_ij, the observation time partial vector t_i, and the status partial vector δ_i to the master server 2, as described above. Of the multiple authoritative servers S_ij that hold the same sample, a server (referred to as a partial vector output server) that outputs the observation time partial vector t_i and the status partial vector δ_i to the master server 2 may not hold the observation time partial vector t_i and the status partial vector δ_i.
[0081] Furthermore, when the partial vector output server is predetermined, the second acquisition unit 20 acquires the partial data intermediate representation tX_ij, the partial anchor data intermediate representation tXa_ij, the observation time partial vector t_i, and the status partial vector δ_i from the partial vector output server. The second acquisition unit 20 acquires the partial data intermediate representation tX_ij and the partial anchor data intermediate representation tXa_ij from the multiple authority servers S_ij other than the partial vector output server.
[0082] In other words, when the partial vector output server is predetermined, the second acquisition unit 20 acquires the partial data intermediate representation tX_ij and the partial anchor data intermediate representation tXa_ij for each distributed partial data X_ij, and acquires the observation time partial vector t_i and the status partial vector δ_i for each sample.
[0083] Compared to acquiring the observation time partial vector t_i and the status partial vector δ_i in duplicate, acquiring the observation time partial vector t_i and the status partial vector δ_i only from a predetermined partial vector output server reduces the amount of communication.
[0084] Step S120: The data collaboration expression generation unit 21 generates a data collaboration expression. Here, the data collaboration expression generation unit 21 generates the data collaboration expression without sharing, between the institution server S_ij and the master server 2, the partial data intermediate representation tX_ij and the method by which the partial data intermediate representation tX_ij is abstracted in the institution server S_ij.
[0085] First, the data collaboration expression generating unit 21 combines the intermediate representations with respect to the feature amounts. Equation (3) shows the intermediate representation obtained by combining the partial data intermediate representations tX_ij with respect to the feature amounts.
[0086]
number
[0087] Similarly, the data collaboration expression generation unit 21 combines the partial anchor data intermediate representations tXa_ij with respect to the subscript j as shown in equation (4). Equation (4) shows the intermediate expression obtained by combining the partial anchor data intermediate representations tXa_ij with respect to the feature amounts.
[0088]
number
[0089] The data collaboration expression generation unit 21 solves a generalized total least squares problem so that the intermediate representations tXa_i of the combined anchor data match for indexes i ranging from 1 to the number of sample divisions c. As a result, the data collaboration expression generation unit 21 generates a DC expression generation function G_i for the optimal data collaboration format. Here, the DC expression generation function G_i is a matrix. As a method for generating the DC representation generating function G_i, a linear dimension reduction method may be used in addition to the method based on the generalized total least squares problem.
[0090] The data collaboration expression generating unit 21 generates a data collaboration expression hX_i by converting the combined partial data intermediate representation tX_i using the generated DC expression generating function G_i.
[0091] The data collaboration representation generation unit 21 generates a data collaboration representation hX_i for the partial anchor data intermediate representation tXa_ij acquired by the second acquisition unit 20 and the partial data intermediate representation tX_ij, which is a data representation obtained by converting the intermediate representation using a DC representation generation function G_i that minimizes the difference between the combined partial anchor data intermediate representations tXa_i converted by the DC representation generation function G_i.
[0092] As described above, the data collaboration representation generation unit 21 generates a data collaboration representation for the combined partial data intermediate representation tX_i, which is a data representation obtained by converting the intermediate representation using a DC representation generation function G_i that minimizes the difference between the partial anchor data intermediate representation tXa_ij acquired by the second acquisition unit 20 and the partial data intermediate representation tX_ij, and the combined partial anchor data intermediate representation tXa_i converted by the DC representation generation function G_i.
[0093] Step S130: The second analysis unit 22 performs multivariate survival analysis on the data collaboration expressions hX_i generated by the data collaboration expression generation unit 21. Here, the second analysis unit 22 integrates the data collaboration expressions hX_i. Integrating the data collaboration expressions hX_i means combining the data collaboration expressions hX_i for samples. The second output unit 23 generates a multivariate survival analysis model based on the combined data collaboration expressions hX.
[0094] The second analysis unit 22 receives the combined data collaboration expression hX, the combined observation time partial vector t, and the combined status partial vector δ as input, and calculates model parameters, statistics, and a baseline hazard function for the data collaboration expression based on a multivariate survival analysis model. In the present embodiment, as an example, the second analysis unit 22 calculates weight parameters hβ as model parameters, calculates a variance-covariance matrix var(hβ) as statistics, and calculates a baseline hazard function h0 as a first function indicating the probability of an event. The first function is used to calculate a second function that indicates the probability of an event (such as a survival probability), and the first function corresponds to the portion of the second function that does not depend on individual samples.
[0095] As described above, the second analysis unit 22 performs multivariate survival analysis based on the data collaboration expression of the partial data intermediate representation tX_ij generated by the data collaboration expression generation unit 21, the observation time partial vector t_i, and the status partial vector δ_i.
[0096] Step S140: The second analysis unit 22 converts the model parameters and statistics for the combined data collaboration representation hX into model parameters and statistics for the intermediate representation used in the abstraction process in each institution _ij, using the DC representation generation function G_i, which is the generation function of the combined data collaboration representation hX.
[0097] In this embodiment, the second analysis unit 22 converts the weight parameter hβ for the combined data collaboration expression hX into the weight parameter tβ_ij for the intermediate expression using the DC expression generation function G_i. Equation (5) shows the weight parameter tβ_ij obtained by converting the weight parameter hβ using the DC expression generation function G_i.
[0098]
number
[0099] Furthermore, the second analysis unit 22 converts the variance-covariance matrix var(hβ_ij) for the data collaboration representation hX_ij into the variance-covariance matrix var(tβ_ij) for the intermediate representation using the DC representation generation function G_i. Equation (6) shows the variance-covariance matrix var(tβ_ij) obtained by converting the variance-covariance matrix var(hβ) using the DC representation generation function G_i.
[0100]
number
[0101] In equations (5) and (6), G_ij indicates a component corresponding to the division of the feature amount of the DC representation generating function G_i, as shown in equation (7).
[0102]
number
[0103] As described above, the second analysis unit 22 generates weight parameters tβ_ij and variance-covariance matrix var(tβ_ij), which are analysis result intermediate representations obtained by converting the weight parameters hβ and variance-covariance matrix var(hβ), which are the analysis results, based on the DC representation generation function G_i for the partial data intermediate representation tX_ij, for each partial data intermediate representation tX_ij.
[0104] Step S150: The second output unit 23 outputs the analysis result R_ij to each of the multiple institution servers S_ij. In this embodiment, the analysis result R_ij includes weight parameters tβ_ij as model parameters for the intermediate representation used in the abstraction process at institution_ij. The analysis result R_ij includes a variance-covariance matrix var(tβ_ij) as a statistic for the intermediate representation used in the abstraction process at institution_ij. The analysis result R_ij also includes a baseline hazard function h0.
[0105] As described above, the second output unit 23 outputs the weight parameters tβ_ij and the variance-covariance matrix var(tβ_ij), which are the analysis result intermediate representations generated by the second analysis unit 22 for each partial data intermediate representation tX_ij, to the authority server S_ij that generated the partial data intermediate representation tX_ij. With this, the master server 2 ends the survival time analysis process.
[0106] 14 is a diagram showing an example of the survival curve calculation process according to this embodiment. The survival curve calculation process is executed by each of the multiple institution servers S_ij. Step S210: The first acquisition unit 12 acquires the analysis result R_ij from the master server 2. In this embodiment, the first acquisition unit 12 acquires the weight parameter tβ_i, the variance-covariance matrix var(tβ_ij), and the baseline hazard function h0 from the master server 2.
[0107] That is, the first acquiring unit 12 acquires, from the second output unit 23, the weighting parameters tβ_ij and the variance-covariance matrix var(tβ_ij), which are the analysis result intermediate representation of the partial data intermediate representation tX_ij generated by the intermediate representation generating unit 10.
[0108] Through the processing of steps S150 and S210 described above, each of the multiple authority servers S_ij acquires the weight parameters tβ_ij, the variance-covariance matrix var(tβ_ij), and the baseline hazard function h0 output from the master server 2. The processing of steps S150 and S210 are collectively referred to as second data communication.
[0109] Step S220: The first analysis unit 13 converts the model parameters for the intermediate representation into model parameters for the data before the abstraction process (i.e., the partial data X_ij) based on the intermediate representation generation function F_ij. Similarly, the first analysis unit 13 converts the statistics for the intermediate representation into statistics for the data before the abstraction process (the original data) based on the intermediate representation generation function F_ij. Here, the intermediate representation generation function F_ij is the function used for the abstraction process in the organization server S_ij, as described above.
[0110] Equation (8) represents the weight parameter β_ij obtained by converting the weight parameter tβ_i by the intermediate representation generation function F_ij.
[0111]
number
[0112] Equation (9) represents the variance-covariance matrix var(β_ij) obtained by transforming the variance-covariance matrix var(tβ_ij) by the intermediate representation generating function F_ij.
[0113]
number
[0114] The first analysis unit 13 calculates a p-value based on the variance-covariance matrix var(β_ij). Here, the positive square root of the diagonal elements of the variance-covariance matrix var(β_ij) is the standard error of the weight parameters β_ij. The first analysis unit 13 calculates the positive square root of the diagonal elements of the variance-covariance matrix var(β_ij) as the standard error of the weight parameters β_ij. The first analysis unit 13 calculates a confidence interval and a p-value based on the weight parameters β_ij and the standard error of the weight parameters β_ij.
[0115] Step S230: The first analysis unit 13 shares the inner product value of the model parameter (weight parameter β_ij) and the test data xtest_j between the institution servers S_ij that hold the partial test data xtest_j for the same sample. The institution servers S_ij that hold the partial test data xtest_j for the same sample are, in other words, the institution servers S_ij that have the same subscript "i" indicating the division of the sample.
[0116] Here, the institution server S_ij holds only the weight parameter β_ij corresponding to the feature contained in the partial data X_ij held by the institution server S_ij among multiple weight parameters β_ij (j=1, 2, . . ., d: d is the number of divisions of feature d). In order to calculate the exponential function factor in the survival function, the inner product value of the weight parameter β_ij and the partial test data xtest_j is shared between the institution servers S_ij holding the partial data X_ij for the same sample.
[0117] The agency servers S_ij communicate with each other among the agency servers S_ij that hold the partial test data xtest_j for the same sample, and share the inner product value of the weight parameter β_ij and the partial test data xtest_j among the agency servers S_ij. In other words, the exponential function variables of the exponential factors in the survival function are shared among the agency servers S_ij.
[0118] Step S240: The first analysis unit 13 calculates a survival curve for the test data using model parameters for the data before the abstraction process (the partial data X_ij, which are the original data) and the baseline hazard. In this embodiment, the first analysis unit 13 generates a survival curve based on the weighting parameter β_ij and the baseline hazard function h0. The survival curve is based on, for example, a Cox proportional hazards model.
[0119] Equation (10) is an example of a survival function h(t, xtest) that indicates a survival curve generated by the first analysis unit 13.
[0120]
number
[0121] In equation (10), h0(t) denotes the baseline hazard function h0. The survival function h(t, xtest) is expressed by the product of the baseline hazard function h0 and a factor of an exponential function. The exponential function has as a variable the sum of multiple feature values obtained by multiplying the test data xtest_j by the weight parameter β_ij. The test data xtest denotes the feature values for the sample for which the survival probability is to be estimated. The types of multiple feature values indicated by the test data xtest are the same as the types of multiple feature values contained in the dataset X before it was divided. The baseline hazard function h0 corresponds to the sample-independent part of the survival probability to be estimated, and the exponential function corresponds to the sample-dependent part.
[0122] In addition to the survival curve for a particular test data, the first analysis unit 13 may calculate a survival curve for a particular subgroup by setting data representative of the subgroup as test data.
[0123] As described above, the first analysis unit 13 analyzes the partial test data xtest_j held by the institution server S_ij based on the weight parameters tβ_ij, which are the analysis result intermediate representations acquired by the first acquisition unit 12, and the variance-covariance matrix var(tβ_ij), which are data obtained by converting the weight parameters tβ_ij and the variance-covariance matrix var(tβ_ij) using the intermediate representation generation function F_ij.
[0124] Furthermore, as described above, before generating the survival curve in step S230, the institution servers S_ij communicate with each other among the institution servers S_ij that hold partial test data xtest_j for the same sample, and share the inner product value of the weight parameter β_ij and the partial test data xtest_j among the institution servers S_ij. Therefore, the first analysis unit 13 analyzes the partial test data xtest_j held by the institution servers S_ij by sharing the inner product value of the partial test data xtest_j and the data (weight parameter β_ij) obtained by converting the analysis result intermediate representation (weight parameter tβ_ij) acquired by the first output unit 11 using the intermediate representation generation function F_ij among multiple holders.
[0125] Note that the inner product value of the weight parameter β_ij and the partial test data xtest_j for the same sample is shared between the institutional servers S_ij holding the partial test data xtest_j only when the number of feature divisions d is 2 or more.
[0126] The first analysis unit 13 outputs the calculated survival curve to the first output unit 11. The first output unit 11 may display the survival curve on a display device or other display device, or may store the survival curve in a memory unit of the institutional server S_ij. The first output unit 11 may also output the survival curve to an external server. With this, the institution server S_ij ends the survival curve calculation process. With this, the survival analysis system SS ends the distributed data non-sharing survival analysis process.
[0127] The first data communication and second data communication described above are performed by communication between the institution server S_ij and the master server 2 via a network. When the institution server S_ij does not communicate with the master server 2, the first data communication and second data communication are performed, for example, via an external storage device. When the institution server S_ij does not communicate with the master server 2, for example, the institution server S_ij is not connected to an external network. In the case of medical data, for example, there are cases where the server storing the medical data cannot be connected to an external network. The external storage device is, for example, an external storage device such as a hard disk, SSD (Solid State Drive), or USB flash memory.
[0128] In the first data communication, various data (partial data intermediate representation tX_ij, partial anchor data intermediate representation tXa_ij, observation time partial vector t_i, and status partial vector δ_i) output by the institution server S_ij to the master server 2 are stored in an external storage device. The external storage device is connected to the master server 2 by a user of the institution server S_ij (for example, a person who belongs to institution_ij and performs analysis), and various data are output to the master server 2. Similarly, in the second data communication, various data (analysis results R_ij) that the master server 2 outputs to the institution server S_ij are stored in an external storage device connected to the master server 2. The external storage device is connected to the institution server S_ij by a user of the institution server S_ij, and various data are output to the institution server S_ij.
[0129] As described above, in this embodiment, an example has been described in which the second analysis unit 22 included in the master server 2 calculates the weight parameters tβ_ij, the variance-covariance matrix var(tβ_ij) corresponding to the weight parameters tβ_ij, and the baseline hazard function h0. That is, in this embodiment, an example has been described in which the second analysis unit 22 calculates intermediate representations of model parameters, intermediate representations of statistics corresponding to the model parameters, and a first function indicating the probability of an event (in this embodiment, the baseline hazard function h0).
[0130] The second analysis unit 22 may calculate one or more of an intermediate representation of model parameters, an intermediate representation of statistics corresponding to the model parameters, and a first function indicating the probability of an event. In particular, the second analysis unit 22 may calculate one or more of model parameters for a predetermined model for performing survival analysis and statistics corresponding to the model parameters as an intermediate representation of the analysis results. The intermediate representation of the analysis results is data obtained by converting the results analyzed by the second analysis unit 22 based on the DC representation generation function G_i.
[0131] For example, when the second analysis unit 22 calculates an intermediate representation of the model parameters and a function indicating the probability of an event, the first analysis unit 13 may calculate a second function indicating the probability of the event (for example, the survival probability) based on the intermediate representation of the model parameters and the first function indicating the probability of the event, without calculating statistics. Furthermore, for example, when the second analysis unit 22 calculates only the intermediate representation of the model parameters, the first analysis unit 13 may calculate only the model parameters. Also, for example, when the second analysis unit 22 calculates only the intermediate representation of the statistics, the first analysis unit 13 may calculate only the statistics without calculating the second function indicating the probability of an event such as the survival probability.
[0132] In the present embodiment, an example in which the first analysis unit 13 calculates the survival probability has been described, but the present invention is not limited to this. The first analysis unit 13 may calculate a hazard and a cumulative hazard. The first analysis unit 13 may calculate one or more of the survival probability, the hazard, and the cumulative hazard as a second function indicating the probability of an event.
[0133] [Overview of Distributed Data Non-Sharing Survival Analysis Processing] Here, an overview of the shared data non-sharing survival analysis process will be described with reference to FIGS. FIG. 15 is a diagram showing an example of an overview of the distributed data unshared survival analysis process according to this embodiment. In FIG. 15, the number of sample divisions c is 2, and the number of feature divisions d is 1. "Institution 1" holds partial data X1, observation time partial vector t1, status partial vector δ1, and anchor data Xanc. "Institution 2" holds partial data X2, observation time partial vector t2, status partial vector δ2, and anchor data Xanc.
[0134] The "authority 1" converts each of the partial data X1 and anchor data Xanc into an intermediate representation using the intermediate representation generation function F1. In FIG. 15, the intermediate representations of the partial data and anchor data are indicated by adding a tilde to "X1" and "X1anc", respectively. The "master" obtains the intermediate representation converted by the "authority 1", the observation time partial vector t1, and the status partial vector δ1.
[0135] The "authority 2" converts each of the partial data X2 and anchor data Xanc into an intermediate representation using the intermediate representation generation function F2. In FIG. 15, the intermediate representations of the partial data and anchor data are indicated by adding a tilde to "X2" and "X2anc", respectively. The "master" obtains the intermediate representation converted by the "authority 2", the observation time partial vector t2, and the status partial vector δ2.
[0136] Therefore, the intermediate representation, observation time partial vector t1, and status partial vector δ1 generated by “Agency 1” and the intermediate representation, observation time partial vector t2, and status partial vector δ2 generated by “Agency 2” are shared with the “Master”.
[0137] The "Master" converts the intermediate representation obtained from the "Organization 1" into a data collaboration representation using the DC representation generation function G1. In Fig. 15, the data collaboration representations of the partial data and anchor data are indicated by hats on "X1" and "X1anc", respectively. The "Master" converts the intermediate representation obtained from the "Organization 2" into a data collaboration representation using the DC representation generation function G2. In Fig. 15, the data collaboration representations of the partial data and anchor data are indicated by hats on "X2" and "X2anc", respectively.
[0138] The "master" performs multivariate survival analysis based on the Cox proportional hazards model using the partial data converted to the data collaboration representation, the observation time vector, and the status vector. In Figure 15, the weight parameters of the Cox proportional hazards model are indicated by a hat next to "β." Note that Figure 15 omits the statistics calculated along with the weight parameters, as well as the baseline hazard function.
[0139] The "master" converts the weight parameters calculated by the "master" into an intermediate representation using a DC representation generation function G1. In FIG. 15, the intermediate representation converted by the weight parameter DC representation generation function G1 is indicated by a tilde next to "β1". Similarly, the "master" converts the weight parameters calculated by the "master" into an intermediate representation using a DC representation generation function G2. In FIG. 15, the intermediate representation converted by the weight parameter DC representation generation function G2 is indicated by a tilde next to "β2".
[0140] "Institution 1" acquires an intermediate representation of the analysis results of the multivariate survival analysis performed by "Master." "Institution 1" converts the acquired intermediate representation of the analysis results into analysis results for the original data before abstraction using an intermediate representation generation function F1. In Figure 15, a weight parameter β1 is calculated as an example of the analysis results.
[0141] "Institution 2" acquires an intermediate representation of the analysis results of the multivariate survival analysis performed by "Master." "Institution 2" converts the acquired intermediate representation of the analysis results into analysis results for the original data before abstraction using intermediate representation generation function F2. In Figure 15, weight parameter β2 is calculated as an example of the analysis results.
[0142] FIG. 16 is a diagram illustrating an example of an overview of the distributed data unshared survival analysis process according to this embodiment. In FIG. 16, the number of sample divisions c is 2, and the number of feature divisions d is 2. In FIG. 16, the entire dataset for samples "1," "2," "3," "A," and "B" is divided into a dataset for samples "1," "2," and "3," and a dataset for samples "A" and "B." Furthermore, the dataset for samples "1," "2," and "3," and the dataset for samples "A" and "B" are each divided by dividing a plurality of features into two groups.
[0143] In FIG. 16, the features of “age”, “sex”, and “ph.ecog” are referred to as the first group of features, and the features of “ph.karno”, “pat.karno”, “meal.cal”, and “wt.loss” are referred to as the second group of features. Note that partial anchor data is not shown in FIG.
[0144] "Institution_11" and "Institution_12" hold partial data for samples "1," "2," and "3." "Institution_11" holds partial data that includes the feature quantities of the first group from the partial data, and "Institution_12" holds partial data that includes the feature quantities of the second group from the partial data. "Institution_11" and "Institution_12" also hold observation time vectors and status vectors for samples "1," "2," and "3."
[0145] "Institution_21" and "Institution_22" hold partial data for samples "A" and "B." "Institution_21" holds partial data that includes the feature quantities of the first group from the partial data, and "Institution_22" holds partial data that includes the feature quantities of the second group from the partial data. "Institution_21" and "Institution_22" also hold observation time vectors and status vectors for samples "A" and "B."
[0146] Each of the multiple institutions generates an intermediate representation using its own unique abstraction method. Because a linear dimensionality reduction method is used for abstraction, the dimensionality of the data in the intermediate representation of the partial data is reduced to less than or equal to the number of feature types contained in the partial data before abstraction. Since the abstraction method differs for each institution, the direction selected by dimensionality reduction in the feature space also differs for each intermediate representation generated by each institution.
[0147] For example, in the intermediate representation of the partial data held by "Institution_11," the three features of the original first group have been reduced to two data sets ("f1" and "f2"). In the intermediate representation of the partial data held by "Institution_12," the four features of the original second group have been reduced to two data sets ("fa" and "fb"). In the intermediate representation of the partial data held by "Institution_21," the three features of the original first group have been reduced to two data sets ("f'1" and "f'2"). In the intermediate representation of the partial data held by "Institution_22," the four features of the original second group have been reduced to two data sets ("f'a" and "f'b").
[0148] In the first data communication, intermediate representations of partial data held by the multiple institutions, observation time vectors, and status vectors are shared between the multiple institutions and the "master." For each sample, the intermediate representations of the partial data are combined with respect to the features of the first group and the features of the second group, and a data collaboration representation is generated for the combined intermediate representations.
[0149] Multivariate survival analysis based on the Cox proportional hazards model is performed on the data collaboration representation. The analysis results provide model parameters and p-values for the data collaboration representation. The analysis also provides a baseline hazard function. The model parameters and p-values from the analysis results are converted to an intermediate representation using the DC representation generation function used to generate the data collaboration representation, resulting in a Cox proportional hazards model for the intermediate representation.
[0150] In the second data communication, the “master” outputs the Cox proportional hazards model for the intermediate representation to the multiple institutions, which each obtains the model parameters, p-values, and baseline hazard functions.
[0151] Each of the multiple institutions converts the acquired model parameters and p-values into model parameters and p-values for the partial data before abstraction, using the intermediate representation generation function used to generate the intermediate representation. Each of the multiple institutions calculates a survival function from the model parameters for the partial data before abstraction and the baseline hazard function. Thus, each of the multiple institutions obtains model parameters, p-values, and survival functions for the partial data before abstraction.
[0152] In this embodiment, an example of a case where a multivariate survival analysis is performed by the survival analysis system SS has been described, but the present invention is not limited to this. A single multivariate survival analysis may also be performed by the survival analysis system SS. Even if the dataset contains only one type of feature, the survival analysis system SS may perform survival analysis on a dataset that is divided and held for each sample.
[0153] The second acquisition unit 20 provided in the master server 2 may output the acquired various data to a storage device, a display device, etc. The second output unit 23 provided in the master server 2 may output the various data to a storage device, a display device, etc.
[0154] [Summary of the embodiment] The configuration of the survival analysis system SS explained above will be explained as the configuration of a distributed non-sharing data analysis system DS. Fig. 17 is a diagram showing an example of the configuration of the distributed non-sharing data analysis system DS according to this embodiment. In the distributed non-sharing data analysis system DS (survival analysis system SS in this embodiment), a first dataset Y (dataset X in this embodiment) which is a dataset for a first sample and which is made up of data of a plurality of attributes for each sample, is entirely distributed with respect to at least one of the sample and the attribute, and is held by a plurality of holders O1 (institutions_ij in this embodiment) as partial data Y_ij (partial data X_ij in this embodiment), and a second dataset which is a dataset for a second sample (sample to be analyzed in this embodiment) and which is made up of data of a plurality of attributes for each sample, is entirely distributed with respect to the attribute. The property data for at least one of the samples or attributes is distributed in the same manner as the first dataset Y (dataset X in this embodiment) and is held by multiple holders O1 (in this embodiment, institutions_ij) as partial test data ytest_j (in this embodiment, partial test data xtest_j), and a first label L1_i (in this embodiment, observation time partial vector t_i) indicating the time from the start to the end of observation and a second label L2_i (in this embodiment, status partial vector δ_i) indicating whether an event has occurred are shared and held among multiple holders O1 (in this embodiment, institutions_ij) who hold the same sample. The distributed non-sharing data analysis system DS (in this embodiment, a survival analysis system SS) includes a plurality of first analysis devices D_ij (in this embodiment, institutional servers S_ij) and a second analysis device D2 (in this embodiment, a master server 2).
[0155] Each of the multiple first analysis devices D_ij (in this embodiment, the agency servers S_ij) includes an intermediate representation generation unit 110 (in this embodiment, the intermediate representation generation unit 10), a first acquisition unit 112 (in this embodiment, the first acquisition unit 12), a first analysis unit 113 (in this embodiment, the first analysis unit 13), and a first output unit 111 (in this embodiment, the first output unit 11). The second analysis device D2 (in this embodiment, master server 2) includes a second acquisition unit 220 (in this embodiment, second acquisition unit 20), a data collaboration expression generation unit 221 (in this embodiment, data collaboration expression generation unit 21), a second analysis unit 222 (in this embodiment, second analysis unit 22), and a second output unit 223 (in this embodiment, second output unit 23).
[0156] The intermediate representation generation unit 110 (in this embodiment, the intermediate representation generation unit 10) generates, for partial data Y_ij (in this embodiment, partial data X_ij), an anchor data intermediate representation tYa_ij (in this embodiment, partial anchor data intermediate representation tXa_ij), which is a representation obtained by transforming anchor data Ya_j (in this embodiment, partial anchor data Xa_j), which is data commonly used in integrating multiple dispersed partial data Y_ij (in this embodiment, partial data X_ij), using a first function P_ij (in this embodiment, intermediate representation generation function F_ij), and a partial data intermediate representation tY_ij (in this embodiment, partial data intermediate representation tX_ij), which is a representation obtained by transforming partial data Y_ij (in this embodiment, partial data X_ij) using the first function P_ij (in this embodiment, intermediate representation generation function F_ij). The first output unit 111 (in this embodiment, the first output unit 11) outputs the anchor data intermediate representation tYa_ij (in this embodiment, the partial anchor data intermediate representation tXa_ij) and the partial data intermediate representation tY_ij (in this embodiment, the partial data intermediate representation tX_ij) generated by the intermediate representation generation unit 110 (in this embodiment, the intermediate representation generation unit 10), the first label L1_i (in this embodiment, the observation time partial vector t_i), and the second label L2_i (in this embodiment, the status partial vector δ_i) to the second analysis device D2 (in this embodiment, the master server 2).
[0157] The second acquisition unit 220 (in this embodiment, the second acquisition unit 20) acquires the anchor data intermediate representation tYa_ij (in this embodiment, the partial anchor data intermediate representation tXa_ij) and the partial data intermediate representation tY_ij (in this embodiment, the partial data intermediate representation tX_ij) output by the first output unit 111 (in this embodiment, the first output unit 11) for each partial data Y_ij (in this embodiment, the partial data X_ij), and acquires the first label L1_i (in this embodiment, the observation time partial vector t_i) and the second label L2_i (in this embodiment, the status partial vector δ_i) for each sample. The data collaboration expression generation unit 221 (in this embodiment, the data collaboration expression generation unit 21) combines the anchor data intermediate representations tYa_ij (in this embodiment, the partial anchor data intermediate representations tXa_ij) and the partial data intermediate representations tY_ij (in this embodiment, the partial data intermediate representations tX_ij) acquired by the second acquisition unit 220 (in this embodiment, the second acquisition unit 20) in terms of attributes (in this embodiment, feature quantities) to generate a combined anchor data intermediate representation (in this embodiment, the partial anchor data intermediate representation tXa_i), and generates a combined anchor data intermediate representation (in this embodiment, the partial anchor data intermediate representation tXa_i) _ij (in this embodiment, partial data intermediate representation tX_ij) are combined on attributes (in this embodiment, features) to generate a combined partial data intermediate representation (in this embodiment, partial data intermediate representation tX_i), and a data collaboration representation is generated for the combined partial data intermediate representation (in this embodiment, partial data intermediate representation tX_i), which is a data representation obtained by converting the intermediate representation by a second function Q_i (in this embodiment, DC representation generation function G_i) that minimizes the difference between the combined anchor data intermediate representations (in this embodiment, partial anchor data intermediate representation tXa_i) converted by a second function Q_i (in this embodiment, DC representation generation function G_i). The second analysis unit 222 (in this embodiment, the second analysis unit 22) performs an analysis (in this embodiment, the second analysis unit 22) of the time until an event occurs based on the data collaboration representation of the combined partial data intermediate representation (in this embodiment, the partial data intermediate representation tX_i) generated by the data collaboration representation generation unit 221 (in this embodiment, the data collaboration representation generation unit 21), the first label L1_i (in this embodiment, the observation time partial vector t_i), and the second label L2_i (in this embodiment, the status partial vector δ_i), and generates an analysis result intermediate representation tR_ij (in this embodiment, the weight parameter tβ_ij and the variance-covariance matrix var(tβ_ij)) for each partial data intermediate representation (in this embodiment, the partial data intermediate representation tX_ij). The second output unit 223 (in this embodiment, the second output unit 23) outputs the analysis result intermediate representation tR_ij (in this embodiment, the weight parameters tβ_ij and the variance-covariance matrix var(tβ_ij)) generated for each partial data intermediate representation tY_ij (in this embodiment, the second analysis unit 22) by the second analysis unit 222 (in this embodiment, the second analysis unit 22) to the first analysis device D_ij (in this embodiment, the institutional server S_ij) that generated the partial data intermediate representation tY_ij (in this embodiment, the partial data intermediate representation tX_ij).
[0158] The first acquisition unit 112 (in this embodiment, the first acquisition unit 12) acquires the analysis result intermediate representation tR_ij (in this embodiment, the weight parameters tβ_ij and the variance-covariance matrix var(tβ_ij)) for the partial data intermediate representation tY_ij (in this embodiment, the partial data intermediate representation tX_ij) generated by the intermediate representation generation unit 110 (in this embodiment, the intermediate representation generation unit 10) from the second output unit 223 (in this embodiment, the second output unit 23). The first analysis unit 113 (in this embodiment, the first analysis unit 13) analyzes partial test data ytest_j (in this embodiment, the partial test data xtest_j), which is partial data other than the partial data from which the partial data intermediate representation tX_ij was generated among the partial data X_ij held by the first analysis device D_ij (in this embodiment, the institution server S_ij), based on data (in this embodiment, the weight parameters β_ij and the variance-covariance matrix var(tβ_ij)) obtained by converting the analysis result intermediate representation tR_ij (in this embodiment, the weight parameters tβ_ij and the variance-covariance matrix var(tβ_ij)) acquired by the first acquisition unit 112 (in this embodiment, the first acquisition unit 12) using the first function P_ij (in this embodiment, the intermediate representation generation function F_ij).
[0159] With this configuration, in the distributed data non-sharing analysis system DS (in this embodiment, survival analysis system SS) of this embodiment, the partial data intermediate representation tY_ij (in this embodiment, partial data intermediate representation tX_ij), anchor data intermediate representation tYa_ij (in this embodiment, partial anchor data intermediate representation tXa_ij), first label L1_i (in this embodiment, observation time partial vector t_i), and second label L2_i (in this embodiment, status partial vector δ_i) can be shared between multiple first analysis devices D_ij (in this embodiment, institution servers S_ij) and a second analysis device D2 (in this embodiment, master server 2), and the analysis results obtained by analyzing the time until an event occurs (in this embodiment, multivariate survival analysis) based on the data collaboration representation in the second analysis device D2 (in this embodiment, master server 2) are converted into an intermediate representation, and the multiple first analysis devices D_ij (in this embodiment, institution servers S_ij) can obtain the intermediate representation of the analysis results from the second analysis device D2 (in this embodiment, master server 2). Therefore, in the distributed data non-sharing analysis system DS (survival time analysis system SS in this embodiment), analysis of the time until an event occurs can be performed on data that is distributed and held by multiple holders O1, without each holder sharing the original data with others and without each holder engaging in repeated communication with others.
[0160] The other person refers to a holder other than the holder (first analysis device D_ij) who holds the partial data Y_ij among the multiple holders O1 who hold the distributed data, a second analysis device D2 that is an analyst who performs the distributed data integration analysis, or a holder other than the multiple holders O1 who hold the distributed data (such as an external institution not included in the distributed data non-sharing analysis system DS).
[0161] As described above, in the distributed non-sharing data analysis system DS (survival analysis system SS in this embodiment) according to this embodiment, only two communications are required for one analysis: a first data communication (communication between each of the multiple institutional servers S_ij and the master server 2) and a second data communication (communication between the master server 2 and each of the multiple institutional servers S_ij). This eliminates the need for repeated communications between multiple holders. However, as described above, before the start of the analysis, multiple holders must communicate with each other in order to share anchor data among them. Furthermore, when the feature division number d is 2 or more, communication must be performed between holders that hold partial test data xtest_j for the same sample in order to share the inner product value between the weight parameter β_ij and the partial test data xtest_j.
[0162] An example in which the survival time analysis system SS according to the above-described embodiment is applied will be described below. [First Example] In this example, dataset X1, which is a renal catheter dataset, is used as dataset X. Dataset X1 includes age, gender, the presence or absence of three types of disease (GN, AN, PKD), and frailty as features. The number of samples included in dataset X1 is 76. Dataset X1 includes labels for each sample indicating the observation time and the status at the time of observation termination. The 76 samples included in dataset X1 are randomly divided into three.
[0163] Anchor data is generated by the institution server S_ij. The maximum and minimum values of each feature contained in the partial data held by each institution are shared among the institutions. The institution server S_ij generates 2,500 anchor data using uniform random numbers within the range of the value of each feature.
[0164] Each of the multiple authority servers S_ij generates an intermediate representation for the partial data it holds using an abstraction method that combines principal component analysis (PCA) and bootstrap sampling. The abstraction method may differ for each of the multiple authority servers S_ij.
[0165] As the first data communication, intermediate representations, observation times, and status data at the time of observation termination are shared between the multiple institutional servers S_ij and the master server 2.
[0166] An optimal data collaboration expression that matches the intermediate expressions of the shared anchor data is generated in the master server 2. In this embodiment, the data collaboration expression is calculated as a solution to a generalized total least squares problem.
[0167] A multivariate survival analysis model for the data collaboration representation is generated in the master server 2. In this example, the Cox proportional hazards model is used for survival analysis. As a second data communication, each of the multiple authority servers S_ij acquires from the master server 2 the model parameters for the intermediate representation, the corresponding statistics, and the baseline hazard function.
[0168] In each of the multiple institutional servers S_ij, model parameters, corresponding statistics, and baseline hazard functions for the original partial data before abstraction are generated using an intermediate representation generation function from the model parameters, corresponding statistics, and baseline hazard functions for the intermediate representation obtained from the master server 2. In each of the multiple institutional servers S_ij, a survival curve is generated using the model parameters, corresponding statistics, and baseline hazard functions for the original partial data before abstraction.
[0169] Here, the analysis results of this example will be described with reference to Figures 18 to 20. Figures 18 to 20 show the analysis results of this example, as well as the results of a case where partial data X_ij is shared among multiple institutional servers S_ij without abstraction and survival analysis is performed, for comparison with this example (shown as "raw data sharing" in Figure 18). In Figures 18 to 20, this result is shown as "raw data sharing." Furthermore, in Figures 18 to 20, for comparison with this example, the results of a case where the entire dataset X1 is divided into three samples and survival analysis is performed using only one of the three. (In Figures 18 to 20, this result is shown as "single institution.")
[0170] FIG. 18 is a diagram showing an example of the c-index for the analysis results according to this embodiment. The c-index is an index that indicates the performance of a model. According to the results shown in FIG. 18, the c-index obtained in this embodiment is closer to the results of "raw data sharing" than to the results of "single institution." In other words, it can be seen that the distributed data non-sharing survival analysis by the survival analysis system SS can reproduce the results of a survival analysis performed using the entire dataset X1 with higher accuracy than the results of a survival analysis performed using only a portion of the distributed dataset X1.
[0171] FIG. 19 is a diagram showing an example of p-values from the analysis results according to this embodiment. The p-value is an index indicating the importance of each feature. Note that FIG. 19 shows a line indicating a p-value of 0.1. According to the p-values from the "raw data sharing" results, the p-values for the feature quantities "Feature 2," "Feature 5," and "Feature 6" are all less than 0.1. In other words, the feature quantities "Feature 2," "Feature 5," and "Feature 6" are highly important.
[0172] The p-values of the results obtained by this example are less than 0.1 for the features "Feature 2," "Feature 5," and "Feature 6." Therefore, it can be seen that the p-values of the results obtained by this example can reproduce the p-values of the results obtained by "Raw Data Sharing." In other words, it can be seen that the features determined to be highly important by the p-values of the results obtained by "Raw Data Sharing" can also be determined by the p-values of the results obtained by this example.
[0173] On the other hand, the p-values for the results of the "Single Institution" comparison example are greater than 0.1 for at least feature 5. In other words, the p-values for the results of the "Single Institution" result fail to identify features that are judged to be highly important based on the p-values for the results of the "Raw Data Sharing" result.
[0174] FIG. 20 is a diagram showing an example of survival probability based on the analysis results of this embodiment. The curve showing this survival probability is called a Kaplan-Meier survival curve. In FIG. 20, the survival probability is calculated separately for samples whose "gender" feature value is "female" and samples whose "gender" feature value is "male." The survival probability according to this embodiment reproduces the results of "raw data sharing" for both "female" and "male."
[0175] [Second Example] In this example, dataset X2, which is artificial data, is used as dataset X. Dataset X2 is 10-dimensional data. That is, dataset X2 includes 10 types of features. Of the 10 types of features, "Feature 1" and "Feature 6" contribute to the survival time, while the other features are random numbers and do not contribute to the survival time. FIG. 21 shows a plot of the feature space of dataset X2. In FIG. 21, dataset X2 is plotted projected onto a plane consisting of the direction indicating "Feature 1" and the direction indicating "Feature 6" in the feature space. In dataset X2, four clusters (cluster CL1, cluster CL2, cluster CL3, and cluster CL4) are formed on the plane.
[0176] In Figure 21, the observation time is indicated by the shading of the plot. "delta=1" indicates a plot for data with censored status, and "delta=0" indicates a plot for data with no censored status.
[0177] Here, the status was randomly censored at 30 percent. The observation time t was expressed as Equation (11) in the case of no censoring and Equation (12) in the case of censoring.
[0178]
number
[0179]
number
[0180] In equations (11) and (12), t0 is given by a random number of a Weibull distribution with shape 2. Here, the scale of the Weibull distribution is set to 30 for clusters CL2 and CL3, and 10 for clusters CL1 and CL4. In equation (12), ε is a random number ranging from 0.5 to 1.
[0181] Next, data set X2 is divided into two parts based on samples and two parts based on features. FIG. 22 shows plots in the feature space of one of the partial data sets of data set X2 divided into two based on samples, and FIG. 23 shows plots in the feature space of the other partial data set. The partial data shown in FIG. 22 includes clusters CL2 and CL4. Clusters CL2 and CL4 have data distributed around different values for "feature 1," but their data distributions overlap for "feature 6." The partial data shown in FIG. 23 includes clusters CL1 and CL3. Clusters CL1 and CL3 have data distributed around different values for "feature 6," but their data distributions overlap for "feature 1."
[0182] The partial data shown in Fig. 22 is divided into features from "Feature 1" to "Feature 5" and features from "Feature 6" to "Feature 10", with the features from "Feature 1" to "Feature 5" held in "Engine_11" and the features from "Feature 6" to "Feature 10" held in "Engine_12". Similarly, the partial data shown in Fig. 23 is divided into features from "Feature 1" to "Feature 5" and features from "Feature 6" to "Feature 10", with the features from "Feature 1" to "Feature 5" held in "Engine_21" and the features from "Feature 6" to "Feature 10" held in "Engine_22".
[0183] In other words, "Institution_11" and "Institution_21" hold partial data including features from "Feature 1" to "Feature 5," and "Institution_12" and "Institution_22" hold partial data including features from "Feature 6" to "Feature 10."
[0184] FIG. 24 shows the results of survival analysis based on the Cox proportional hazards model according to this embodiment. For comparison, FIG. 24 shows the results when the entire dataset X2 is used and the results when only the partial data held in a distributed manner are used, along with the results of distributed data non-sharing survival analysis by the survival analysis system SS (shown as "DC-COX" in FIG. 24). FIG. 24 shows the weighting parameter (shown as beta in FIG. 24) and the p-value for the weighting parameter (the p-value is shown in parentheses) for each feature.
[0185] First, the results for the entire dataset X2 show that the p-values for "Feature 1" and "Feature 6" are 0, which is smaller than the p-values for the other features. This means that "Feature 1" and "Feature 6" contribute to survival time.
[0186] According to the results of the distributed non-shared data survival analysis using the survival analysis system SS, the p-values obtained for "Feature 1" and "Feature 6" are close to 0. In other words, the distributed non-shared data survival analysis reproduces the results obtained when the entire dataset X2 is used, that is, the contribution of "Feature 1" and "Feature 6" to survival time.
[0187] On the other hand, when partial data was used, the analysis results using the partial data held by "Institution_12" did not reproduce the result that "Feature 6" contributes to survival time, and the analysis results using the partial data held by "Institution_21" did not reproduce the result that "Feature 1" contributes to survival time.
[0188] "Institution_11" holds partial data including the features "Feature 1" to "Feature 5" from among the partial data shown in Fig. 22. For cluster CL2 and cluster CL4 shown in Fig. 22, the data is distributed around different values for "Feature 1," so even in an analysis using only the partial data, "Feature 1" can be determined to be the feature that contributes to survival time. On the other hand, "Institution_12" holds partial data including the features from "Feature 6" to "Feature 10" from among the partial data shown in Fig. 22. Because the data distributions of clusters CL2 and CL4 shown in Fig. 22 overlap for "Feature 6," an analysis using only this partial data cannot determine "Feature 6" as a feature that contributes to survival time.
[0189] "Institution_22" holds partial data including the features "Feature 6" to "Feature 10" from among the partial data shown in Fig. 23. For cluster CL1 and cluster CL3 shown in Fig. 23, the data is distributed around different values for "Feature 6." Therefore, even in an analysis using only the partial data, "Feature 6" can be determined to be a feature that contributes to survival time. On the other hand, "Institution_21" holds partial data including features from "Feature 1" to "Feature 5" from among the partial data shown in Fig. 23. Since the data distributions of clusters CL1 and CL3 shown in Fig. 23 overlap for "Feature 1," an analysis using only this partial data cannot determine that "Feature 1" is a feature that contributes to survival time.
[0190] Figures 25 to 31 show the survival probability for the test data. FIG. 25 shows the survival probability when the entire dataset X2 is used. The survival probability is calculated based on a survival function calculated by survival time analysis based on a Cox proportional hazards model using the entire dataset X2. Four test data (test data ts1, test data ts2, test data ts3, and test data ts4) shown in FIG. 21 are used as test data. Test data ts1 is data in which the value of "feature 1" is 1 and the value of "feature 6" is 1. The coordinates of test data ts1 in the feature space (two-dimensional plane) of "feature 1" and "feature 6" as shown in FIG. 21 are represented as (1, 1), etc. Similarly, the coordinates of test data ts2, test data ts3, and test data ts4 in the feature space are represented as (1, -1), (-1, 1), and (-1, -1), respectively.
[0191] Figures 26 and 27 show survival probabilities obtained by distributed data non-shared survival analysis using the survival analysis system SS. For comparison, Figures 26 and 27 also show the survival probabilities when the entire dataset X2 shown in Figure 25 is used. Figure 26 shows the survival probabilities calculated by "Institution_11" and "Institution_12." Figure 27 shows the survival probabilities calculated by "Institution_21" and "Institution_22." The survival probabilities calculated by "Institution_11" and "Institution_12," and the survival probabilities calculated by "Institution_21" and "Institution_22," respectively, reproduce the survival probabilities (Figure 25) when the entire dataset X2 is used.
[0192] Figures 28 to 31 show the survival probabilities obtained as a result of survival time analysis when only the partial data held in a distributed manner is used. For comparison, Figures 28 to 31 also show the survival probabilities when the entire dataset X2 shown in Figure 25 is used. Figure 28 shows the survival probabilities calculated by "Institution_11". Figure 29 shows the survival probabilities calculated by "Institution_12". Figure 30 shows the survival probabilities calculated by "Institution_21". Figure 31 shows the survival probabilities calculated by "Institution_22". As shown in Figures 28 to 31, when only the partial data held in a distributed manner is used, the survival probabilities cannot reproduce the survival probabilities when the entire dataset X2 is used.
[0193] In addition, parts of the organization server S_ij and master server 2 in the above-described embodiment, such as the intermediate representation generation unit 10, the first output unit 11, the first acquisition unit 12, the first analysis unit 13, the second acquisition unit 20, the data collaboration representation generation unit 21, the second analysis unit 22, and the second output unit 23, may be implemented by a computer. In this case, the control functions may be realized by recording a program for implementing the control functions on a computer-readable recording medium and loading and executing the program recorded on the recording medium into a computer system. Note that the term "computer system" here refers to a computer system built into the organization server S_ij and master server 2, including hardware such as an OS and peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as floppy disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into a computer system. Furthermore, the term "computer-readable recording medium" may also include devices that dynamically store programs for a short period of time, such as communication lines when transmitting programs via networks such as the Internet or communication lines such as telephone lines, or devices that store programs for a certain period of time, such as volatile memory within the computer systems that serve as the server or client in such cases. Furthermore, the above program may be one that realizes part of the functions described above, or may be one that can realize the functions described above in combination with a program already recorded in the computer system. Furthermore, part or all of the organization server S_ij and master server 2 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each functional block of the organization server S_ij and master server 2 may be individually implemented as a processor, or part or all of them may be integrated into a processor. Furthermore, the integrated circuit implementation method is not limited to LSI, and may be implemented using a dedicated circuit or a general-purpose processor. Furthermore, if an integrated circuit implementation technology that can replace LSI emerges due to advances in semiconductor technology, an integrated circuit based on that technology may be used. [Industrial Applicability]
[0194] The distributed non-sharing data analysis system, distributed non-sharing data analysis method, and program according to the present embodiment can be used for survival analysis using medical data from multiple institutions. For example, by performing survival analysis using medical data from multiple institutions, analytical performance can be improved compared to analysis at a single institution. However, with medical data, sharing data between institutions is difficult from the perspective of information confidentiality. For this reason, the distributed non-sharing data analysis system, distributed non-sharing data analysis method, and program according to the present embodiment are expected to find wide application.
[0195] In addition to medical data, survival analysis is also in high demand for failure prediction of various product data held by manufacturing companies, but integrating the original data is difficult from the perspective of confidentiality. The distributed non-shared data analysis system, distributed non-shared data analysis method, and program according to the present embodiment can also be used for failure prediction of product data. As described above, the distributed non-shared data analysis system, the distributed non-shared data analysis method, and the program according to this embodiment are expected to be applied to various fields.
[0196] One embodiment of the present invention has been described in detail above with reference to the drawings, but the specific configuration is not limited to that described above, and various design changes and the like are possible within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]
[0197] SS...survival analysis system, S_ij...institution server, 2...master server, 10...intermediate representation generation unit, 11...first output unit, 12...first acquisition unit, 13...first analysis unit, 20...second acquisition unit, 21...data collaboration representation generation unit, 22...second analysis unit, 23...second output unit, ij...institution, X...data set, X_ij...partial data, Xa_j...partial anchor data, t_i...observation time partial vector, δ_i...status partial vector, F_ij...intermediate representation generation function, tX_ij...partial data intermediate representation, tXa_ij...partial anchor data intermediate representation, G_i...DC representation generation function, hβ, tβ_ij, β_ij...weight parameters, var(hβ), var(tβ_ij), var(β_ij)...variance-covariance matrix
Claims
1. a data set consisting of data of a plurality of attributes for each sample, the entire first data set being a data set for a first sample, the data of the attributes being distributed for at least one of the sample or the attributes and being held as partial data by a plurality of holders, a second data set consisting of data on a plurality of attributes for each sample, the entire second data set being a data set for a second sample, the data on the attributes being distributed in the same manner as the first data set for at least one of the samples or the attributes, and being held as partial test data by a plurality of holders, a first label indicating a time from the start to the end of observation and a second label indicating whether an event has occurred are shared and held among the plurality of holders who hold the same sample; a plurality of first analysis devices respectively corresponding to a plurality of holders; a second analysis device; Equipped with Each of the plurality of first analysis devices is an intermediate representation generator; A first acquisition unit; a first analysis unit; a first output unit; Equipped with The second analysis device A second acquisition unit; a data collaboration expression generator; A second analysis unit; A second output unit; Equipped with the intermediate representation generation unit generates, for the partial data, an anchor data intermediate representation which is a representation obtained by transforming anchor data, which is data commonly used in integrating the plurality of distributed partial data, using a first function, and a partial data intermediate representation which is a representation obtained by transforming the partial data using the first function; the first output unit outputs the anchor data intermediate representation and the partial data intermediate representation generated by the intermediate representation generation unit, the first label, and the second label to the second analysis device; the second acquisition unit acquires the anchor data intermediate representation and the partial data intermediate representation output by the first output unit for each of the partial data, and acquires the first label and the second label for each of the samples; the data collaboration representation generation unit generates a combined anchor data intermediate representation by combining the anchor data intermediate representations and the partial data intermediate representations acquired by the second acquisition unit with respect to the attributes, combines the partial data intermediate representations with respect to the attributes, and generates a data collaboration representation for the combined partial data intermediate representation, which is a data representation obtained by transforming an intermediate representation with the second function that minimizes a difference between the combined anchor data intermediate representations transformed with the second function; the second analysis unit analyzes the time until an event occurs based on the data collaboration expression of the combined partial data intermediate representation generated by the data collaboration expression generation unit, the first label, and the second label, and generates an analysis result intermediate representation for each partial data intermediate representation obtained by converting the analysis result based on the second function for the combined partial data intermediate representation; the second output unit outputs the analysis result intermediate representation generated for each partial data intermediate representation by the second analysis unit to the first analysis device that generated the partial data intermediate representation; the first acquisition unit acquires, from the second output unit, the analysis result intermediate representation for the partial data intermediate representation generated by the intermediate representation generation unit; The first analysis unit analyzes the partial test data stored in the first analysis device based on data obtained by converting the analysis result intermediate representation acquired by the first acquisition unit using the first function. Distributed, non-shared data analysis system.
2. The second analysis unit calculates, as the analysis result intermediate representation, one or more of model parameters for a predetermined model used for the analysis and statistics corresponding to the model parameters. The distributed, non-shared data analysis system of claim 1 .
3. The first analysis unit analyzes the partial test data held by the first analysis device by sharing, among a plurality of holders, an inner product value between the partial test data and data obtained by converting the analysis result intermediate representation acquired by the first acquisition unit using the first function.
3. The distributed non-shared data analysis system according to claim 1 or claim 2.
4. a data set consisting of data of a plurality of attributes for each sample, the entire first data set being a data set for a first sample, the data of the attributes being distributed for at least one of the sample or the attributes and being held as partial data by a plurality of holders, a second data set consisting of data on a plurality of attributes for each sample, the entire second data set being a data set for a second sample, the data on the attributes being distributed in the same manner as the first data set for at least one of the samples or the attributes, and being held as partial test data by a plurality of holders, a first label indicating a time from the start to the end of observation and a second label indicating whether an event has occurred are shared and held among the plurality of holders who hold the same sample; a plurality of first analysis devices respectively corresponding to a plurality of holders; a second analysis device; A distributed no-shared data analysis method in a distributed no-shared data analysis system comprising: an intermediate representation generation step of generating, for the partial data, an anchor data intermediate representation, which is a representation obtained by transforming anchor data, which is data commonly used in integrating a plurality of distributed partial data, using a first function, and a partial data intermediate representation, which is a representation obtained by transforming the partial data using the first function; a first output step of outputting the anchor data intermediate representation and the partial data intermediate representation generated by the intermediate representation generation step, the first label, and the second label to the second analysis device; a second obtaining step of obtaining the anchor data intermediate representation and the partial data intermediate representation output by the first output step for each of the partial data, and obtaining the first label and the second label for each of the samples; a data collaboration representation generation step of generating, for the anchor data intermediate representation and the partial data intermediate representation acquired by the second acquisition step, a data collaboration representation which is a data representation obtained by combining the anchor data intermediate representations and the partial data intermediate representations with respect to the attributes to generate a combined anchor data intermediate representation, combining the partial data intermediate representations with respect to the attributes to generate a combined partial data intermediate representation, and transforming the intermediate representations with the second function which minimizes a difference between the combined anchor data intermediate representations transformed with the second function, for the combined partial data intermediate representation; a second analysis step of analyzing a time until an event occurs based on the data collaboration representation of the combined partial data intermediate representation generated by the data collaboration representation generation step, the first label, and the second label, and generating an analysis result intermediate representation for each of the partial data intermediate representations by converting the analysis result based on the second function for the combined partial data intermediate representation; a second output step of outputting the analysis result intermediate representation generated for each of the partial data intermediate representations in the second analysis step to the first analysis device that generated the partial data intermediate representation; a first obtaining step of obtaining, from the second output step, the analysis result intermediate representation for the partial data intermediate representation generated in the intermediate representation generating step; a first analysis step of analyzing the partial test data held by the first analysis device based on data obtained by converting the analysis result intermediate representation obtained by the first acquisition step using the first function; A computer-implemented distributed non-sharing data analysis method.
5. a data set consisting of data of a plurality of attributes for each sample, the entire first data set being a data set for a first sample, the data of the attributes being distributed for at least one of the sample or the attributes and being held as partial data by a plurality of holders, a second data set consisting of data on a plurality of attributes for each sample, the entire second data set being a data set for a second sample, the data on the attributes being distributed in the same manner as the first data set for at least one of the samples or the attributes, and being held as partial test data by a plurality of holders, a first label indicating a time from the start to the end of observation and a second label indicating whether an event has occurred are shared and held among the plurality of holders who hold the same sample; a plurality of first analysis devices respectively corresponding to a plurality of holders; a second analysis device; 1. A distributed, non-shared data analysis system comprising: a plurality of computers provided in each of the plurality of first analysis devices, an intermediate representation generation step of generating, for the partial data, an anchor data intermediate representation, which is a representation obtained by transforming anchor data, which is data commonly used in integrating a plurality of distributed partial data, using a first function, and a partial data intermediate representation, which is a representation obtained by transforming the partial data using the first function; a first output step of outputting the anchor data intermediate representation and the partial data intermediate representation generated by the intermediate representation generation step, the first label, and the second label to the second analysis device; Execute A computer provided in the second analysis device, a second obtaining step of obtaining the anchor data intermediate representation and the partial data intermediate representation output by the first output step for each of the partial data, and obtaining the first label and the second label for each of the samples; a data collaboration representation generation step of generating, for the anchor data intermediate representation and the partial data intermediate representation acquired by the second acquisition step, a data collaboration representation which is a data representation obtained by combining the anchor data intermediate representations and the partial data intermediate representations with respect to the attributes to generate a combined anchor data intermediate representation, combining the partial data intermediate representations with respect to the attributes to generate a combined partial data intermediate representation, and transforming the intermediate representations with the second function which minimizes a difference between the combined anchor data intermediate representations transformed with the second function, for the combined partial data intermediate representation; a second analysis step of analyzing a time until an event occurs based on the data collaboration representation of the combined partial data intermediate representation generated by the data collaboration representation generation step, the first label, and the second label, and generating an analysis result intermediate representation for each of the partial data intermediate representations by converting the analysis result based on the second function for the combined partial data intermediate representation; a second output step of outputting the analysis result intermediate representation generated for each of the partial data intermediate representations in the second analysis step to the first analysis device that generated the partial data intermediate representation; Execute a plurality of computers provided in each of the plurality of first analysis devices, a first obtaining step of obtaining, from the second output step, the analysis result intermediate representation for the partial data intermediate representation generated in the intermediate representation generating step; a first analysis step of analyzing the partial test data held by the first analysis device based on data obtained by converting the analysis result intermediate representation obtained by the first acquisition step using the first function; A program to execute.
Citation Information
Patent Citations
System and Method for Privacy Preserving Predictive Models for Lung Cancer Survival Analysis
US20090187522A1
Anonymization device, and anonymization method
WO2013121739A1
Distributed data integration device, distributed data integration method, and program
WO2020137728A1