Parameter estimation device, system, method and computer program product

The parameter estimation device generates a permutation table and flags in the safety calculation for hidden processing, which solves the problem of high time point value decoding and calculation cost in the parameter estimation of cox proportional hazard model, and realizes efficient parameter estimation.

CN116324935BActive Publication Date: 2025-08-12NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080106085.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-16
Publication Date
2025-08-12
Estimated Expiration
2040-10-16

AI Technical Summary

Technical Problem

When estimating the parameter of the cox proportional hazard model in safe calculation, there is a problem that the value of the time point needs to be decoded, and the calculation cost is high, making it difficult to perform efficient calculations.

Method used

The parameter estimation device is used to estimate the parameter of the cox proportional hazard model, and the data storage unit saves the observation data. The calculation unit generates a substitution table and flag for hidden processing. It summarizes the feature quantities through security calculations, and finally outputs the parameter estimation result.

Benefits of technology

The parameter estimation of the cox proportional hazard model can be efficiently performed without decoding the value of the point-time, reducing the processing cost in safe calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116324935B_ABST
    Figure CN116324935B_ABST
Patent Text Reader

Abstract

A parameter estimation device estimates parameters of a Cox proportional hazard model through secure calculations, the parameter estimation device comprising: a data storage unit that stores a database, the database having records for each observed object, the records including the time point at which an event is observed, the characteristic quantity of the observed object at that time point, and the state of the observed object at that time point; a calculation unit that reads a vector composed of time points from the database, generates a permutation table and a mark indicating the boundary of the time points by sorting the vector, and by using the permutation table and the mark, performs aggregation of the characteristic quantity at each time point while hiding the value of the time point, and performs the parameter estimation based on the aggregation result; and an output unit that outputs the parameters estimated by the calculation unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a technique for achieving parameter estimation of a Cox proportional hazards model while maintaining confidentiality in a secure computation technique. Background Art

[0002] Cox proportional hazard regression, a regression analysis using the Cox proportional hazard model, is a commonly used analysis method in survival time analysis (Non-Patent Document 1). Cox proportional hazard regression can be performed in plain text in commercially available statistical analysis software and software language packages.

[0003] Furthermore, a method known as secure computing is known as a method for obtaining specific operation (calculation) results without restoring encrypted values. For example, by performing encryption processing such as fragmenting and distributing a value across multiple secure computing devices, and then having the multiple secure computing devices perform collaborative calculations, the results of operations such as addition and subtraction, constant addition, multiplication, constant multiplication, logical operations (negation, logical product, logical sum, and exclusive OR), and data format conversion (integer to binary) can be obtained as states distributed across the multiple secure computing devices without restoring the values.

[0004] [Reference Document]

[0005] [Non-patent document]

[0006] [Non-patent document 1] DRCox. Regression Models and Life-Tables. Journal of the Royal Statistical Society. Series B (Methodological), Vol. 34, No. 2. (1972), pp. 187-220. Summary of the Invention

[0007] [Technical problems to be solved]

[0008] When estimating parameters for the Cox proportional hazards model, the calculations are repeated in plain text at each time point (i.e., time point) when a death or discontinuation occurs. However, using a similar approach for secure computations requires decrypting the values at the time points that should be kept confidential. Furthermore, the calculations for parameter estimation in the Cox proportional hazards model involve numerous processes that are expensive in secure computations, such as exponentiation, division, and group-by sums, making efficient computation difficult.

[0009] The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to provide a technique for efficiently performing parameter estimation of a Cox proportional hazards model without decoding the values at a given point in time.

[0010] [Technical solution]

[0011] According to the disclosed technology, a parameter estimation device is provided for performing parameter estimation of a Cox proportional hazard model through secure calculation, the parameter estimation device comprising:

[0012] a data storage unit for storing a database having a record for each observation object, the record including a time point at which an event was observed, a characteristic value of the observation object at that time point, and a state of the observation object at that time point;

[0013] a calculation unit that reads a vector composed of time points from the database, sorts the vector, generates a permutation table and a flag indicating a boundary of a time point, aggregates the feature value at each time point while keeping the value of the time point confidential using the permutation table and the flag, and estimates the parameter based on the aggregated result; and

[0014] The output unit outputs the parameters estimated by the calculation unit.

[0015] [Beneficial Effects]

[0016] According to the disclosed technology, it is possible to provide a technology for efficiently estimating parameters of a Cox proportional hazards model without decoding values at a given point in time. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] [ Figure 1 ]A structural diagram of a parameter estimation device according to an embodiment of the present invention.

[0018] [ Figure 2 ] Schematic diagram of an example of the hardware configuration of the device.

[0019] [ Figure 3 ] Illustration of the substitution table.

[0020] [ Figure 4 ]Illustrative diagram of the logo.

[0021] [ Figure 5 ]Illustration diagram of the database.

[0022] [ Figure 6 ] An explanatory diagram of an example of processing steps of a parameter estimation device.

[0023] [ Figure 7 ] An explanatory diagram of an example of processing steps of a parameter estimation device. DETAILED DESCRIPTION

[0024] Hereinafter, an embodiment of the present invention (this embodiment) will be described with reference to the accompanying drawings. It should be noted that the embodiment described below is only an example, and the embodiment to which the present invention can be applied is not limited to the embodiment described below.

[0025] (Device Configuration Example)

[0026] Figure 1 FIG. 1 shows a configuration diagram of the parameter estimation device 100 of this embodiment. Figure 1 As shown, the parameter estimation device 100 of this embodiment includes an input unit 110 , a calculation unit 120 , an output unit 130 , and a data storage unit 140 .

[0027] The parameter estimation device 100 may be configured as a single device (computer) or as a system composed of multiple computers. This system may be referred to as a parameter estimation system. In the parameter estimation system, for example, the computing unit 120 and the data storage unit 140 may be separate servers.

[0028] The concealed data obtained by observation is input to the input unit 110 of the parameter estimation apparatus 100. Unless otherwise specified, the data processed by the parameter estimation apparatus 100 is concealed data and is calculated by secure computation.

[0029] The input data is stored as a database in the data storage unit 140. The calculation unit 120 estimates the parameters of the Cox proportional hazards model by performing the processing described below on the data such as scalars, vectors, and matrices read from the database of the data storage unit 140. The output unit 130 outputs the parameters estimated by the calculation unit 120.

[0030] It should be noted that the parameters calculated by the operation unit 120 are stored in the data storage unit 140 and can be output from the output unit 130 in response to an external access. The details of the processing content in the operation unit 120 will be described later.

[0031] (Hardware Configuration Example)

[0032] The parameter estimation apparatus 100 of this embodiment can be implemented, for example, by causing a computer to execute a program describing the processing described in this embodiment. It should be noted that the "computer" (note: "" is equivalent to "") can be a physical machine or a virtual machine in the cloud. When using a virtual machine, the "hardware" described here refers to virtual hardware.

[0033] The above-mentioned program can be stored in a computer-readable storage medium (such as a portable memory), saved, or distributed. In addition, the above-mentioned program can also be provided through a network such as the Internet and e-mail.

[0034] Figure 2 This is a diagram showing an example of the hardware configuration of the above-mentioned computer. Figure 2 The computer includes a drive device 1000, an auxiliary storage device 1002, a storage device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, which are connected to each other via a bus B.

[0035] The program that implements the computer's processing can be provided on a storage medium 1001, such as a CD-ROM or memory card. After the storage medium 1001 storing the program is placed in a drive 1000, the program can be installed from the storage medium 1001 to the auxiliary storage device 1002 via the drive 1000. However, the program does not necessarily need to be installed from the storage medium 1001; it can also be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files and data.

[0036] Upon receiving a program startup instruction, the storage device 1003 reads the program from the auxiliary storage device 1002 and stores it. The CPU 1004 implements the functions of the parameter estimation device 100 based on the program stored in the storage device 1003. The interface device 1005 serves as an interface for connecting to a network. The display device 1006 displays a program-based GUI (Graphical User Interface). The input device 1007, comprised of a keyboard, mouse, buttons, touch screen, etc., is used to input various operational instructions. The output device 1008 outputs computation results.

[0037] (Prepare)

[0038] Here, before explaining an example of the operation of the parameter estimation device 100 , notation, Cox proportional hazards regression, safety calculation, etc. will be explained as a preparatory step.

[0039] <Notation>

[0040] Let a be defined by b as a:=b, and let the vector be →a:=(a0,…,a n-1 ), unless otherwise specified, capital letters such as A represent matrices, and the transposed matrix is denoted by A TNote that in the text of this specification, for ease of description, the vector symbol (→) that should be placed directly above the letter is written in front of the letter. For example, 「→a」. In addition, in the algorithms described in the drawings, third-order tensors are represented by italic letters. In the text of this specification, for ease of description, for the letters of third-order tensors, tensor is represented by the method of marking tensor ZZ’ above the left of the letter. For example

[0041] If the inputs in addition, subtraction, and multiplication are the vector →a or the matrix A and the scalar b, then all elements of →a and A are operated with b. In addition, vectors not specifically described are column vectors. If it is a row vector, t is marked above its left for distinction. For example t →a.

[0042] <Cox proportional hazards regression>

[0043] The Cox proportional hazards model is a model represented by the following formula (1) (Non-Patent Document 1).

[0044] [Formula 1]

[0045]

[0046] In Formula (1), t, β, and z respectively represent time, weight, and feature quantity, and λ0(t) and exp(→β T →z) are respectively called the baseline hazard function and the relative risk function (hazard). In Cox proportional hazards regression, the parameter β of the weight is estimated. The weight is calculated by performing optimal likelihood estimation using the partial likelihood shown in the following formula (2).

[0047] [Formula 2]

[0048]

[0049] In Formula (2), D is the number (quantity) of the time points when death is observed, and →z i represents the feature quantity of the patient who died at time point i. Note that in this embodiment, although death is used as the target event, this is only an example. For example, falls, inability to walk, disease onset, hospitalization, etc. can also be used as target events. Cessation can also be interpreted as one of the events.

[0050] R in Formula (2) iThe set of patients who have not discontinued or died until time point i is called the risk set. It should be noted that "discontinued" means that observation can no longer be made and whether or not death will occur later is unknown.

[0051] Therefore, the partial likelihood function in equation (2) is obtained by calculating "(risk of a patient who died) / (sum of risks in the risk set)" at each time point and multiplying the results for all time points. This partial likelihood is based on the assumption that multiple discontinuities or deaths do not occur at the same time point (there is no tie data). Therefore, for real data that often contains tie data, the Breslow method shown in equation (3) below is generally used.

[0052] [Formula 3]

[0053]

[0054] Formula (3) is basically the same as the partial likelihood of cox in formula (2), but the difference between the two is that the denominator is d i Power (d i is the number of patients who died at time point i) and the time point used in the numerator i The sum of the characteristic quantities of the deceased patients s i Replace →z i In d i = 1, it is consistent with (same as) formula (2), so formula (3) can be considered as a generalized form of formula (2). In the following description, formula (3) is used as a premise.

[0055] Commonly used methods for calculating the optimal likelihood estimator of →β include the Newton method. The Newton method is also used in this embodiment. In the Newton method, after transforming equation (3) into a log-likelihood function, the first-order derivative (gradient) and second-order derivative (Hessian (Hessian matrix)) of the log-likelihood function are used for calculation. The log-likelihood function l(→β), its first-order derivative U(→β), and the second-order derivative I(→β) are respectively expressed by the following equations (4), (5), and (6).

[0056] [Formula 4]

[0057]

[0058] [Formula 5]

[0059]

[0060] [Formula 6]

[0061]

[0062] In the Newton method, the optimal likelihood estimate of →β is calculated by iterating the following equation (7) using equations (5) and (6). Equation (7) converges after approximately five iterations.

[0063] [Formula 7]

[0064]

[0065] <Secure Computing>

[0066] The value of a value a hidden through encryption, secret sharing, or the like is called its ciphertext or hidden value, denoted by [a]. When a is hidden through secret sharing, [a] refers to the set of secret-shared fragments held by each secure computing device. It should be noted that the brackets "[" and "]" representing ciphertext differ slightly from the format of brackets used in formulas inserted in the drawings and the specification. In the specification, "[" and "]" are used for ease of description.

[0067] Next, various operations in secure calculations are described.

[0068] ■ Four arithmetic operations

[0069] Addition, subtraction, and multiplication of two ciphertexts [a] and [b] are the processes for calculating the ciphertexts [a+b], [ab], and [a×b], respectively. These operations are denoted as [a]+[b], [a]-[b], and [a]×[b].

[0070] Furthermore, the process of dividing ciphertext [a] by plaintext b is represented by notation such as [a] / b. When the input is a vector or matrix and these processes are performed on each element, they are similarly represented by notation such as [→a] + [→b] and [A] + [B].

[0071] In addition, subtraction, and multiplication, when the input is matrix A and column vector →b, the operation is performed on each column vector of the matrix with each element of b. When the input is matrix A and row vector t→b, the operation is performed on each row vector of the matrix with each element of t→b.

[0072] ■Total

[0073] The process of calculating the sum of the elements of the vector [→a] is denoted as sum([→a]). In addition, when an m×n matrix is input to sum, as in sum([A]), the sum in the column direction is calculated, and a row vector [t→c] of length n is output.

[0074] ■prefix sub

[0075] According to the vector [→a]:=([a1], [a2], ..., [a n ]) and the scalar [b] to calculate the vector ([b], [b]-[a1], [b]-([a1]+[a2]),…, [b]-Σ[→a]) is denoted as prefixSub([→a], [b]).

[0076] ■Countdown

[0077] The process of calculating the reciprocal 1 / [a] of the ciphertext [a] is expressed as, for example, [c]←reciprocal([a]). The same notation is used when the input is a vector.

[0078] ■Index

[0079] For example, the process of taking the ciphertext [a] as input and calculating the Napier number e raised to the power [a] is expressed as [c]←exp([a]). The same notation is used when the input is a vector.

[0080] ■Group-by common

[0081] Group-by common is a process that generates intermediate data that can be used in various group-by operations, such as group-by sum and group-by count. This intermediate data consists of a permutation table [→π] and a flag [→e] indicating whether the key value is an edge value. By reusing this data, various group-by operations using the same key can be performed efficiently.

[0082] See also Figure 3 and Figure 4 Here, for the sake of convenience, the following describes an example of a permutation table →π and a symbol →e obtained by performing a Group-by common operation.

[0083] The permutation table →π is a vector indicating the element to which each element in the vector input to Group-by common is moved in order to sort the elements of the vector.

[0084] Figure 3 In the example, after inputting the vector →k into Group-by common, the vector is sorted to obtain Figure 3 For example, the first element 3 of the permutation table →π indicates that the input vector →k can be sorted if its first element becomes the third element.

[0085] Flag→e is a vector obtained by comparing each element of the sorted vector input to the Group-by common vector with the value below the element, assigning 0 to the position of the element if they are the same, and assigning 1 if they are different. Figure 4 Examples of input and flags are shown. Figure 4 As shown, for the last element of the flag, since it cannot be compared with the value below, 1 is assigned to the position of the element.

[0086] The process of performing group-by common using the key vector [→k] as input is expressed as, for example, the following equation (8). The process of sorting the vector [→a] and the matrix [A] (the number of rows is equal to the length of [→π]) using the permutation table [→π] is expressed as, for example, the following equations (9) and (10).

[0087] The group-by sum process using the sorted vectors [→a'] or [A'] and [→e] is expressed as, for example, the following equations (11) and (12). The ' (prime) in [→a'], [A'], etc. indicates that the sorting has been completed, and the same notation is used below.

[0088] [Formula 8]

[0089]

[0090] [Formula 9]

[0091]

[0092] [Equation 10]

[0093]

[0094] [Equation 11]

[0095]

[0096] [Equation 12]

[0097]

[0098] When the input of sort and groupBySum is a matrix, the processing is performed on a column-by-column basis. In addition, generally speaking, after performing Group-by sum, the size of the output will be less than or equal to the size of the input. However, in this embodiment, the sizes of the input and output are the same, and the unnecessary parts are padded with zeros at the end. Accordingly, the number of time point key attributes can be hidden. It should be noted that in the following processing description, for convenience, the result of Group-by sum is recorded as "a vector with a length of the number of time points" or "a matrix of the number of time points × n", but what is actually processed is "a vector with a length of the number of records" or "a matrix of the number of records × n" after the unnecessary parts are padded with 0.

[0099] For example, in Figure 4 When the symbol →e shown is recorded as (0, 1, 0, 0, 1, 1), assuming that →a' is (2, 1, 3, 5, 1, 2), the group-by sum with →a' and →e as input is (2+1, 3+5+1, 2, 0, 0, 0) = (3, 9, 2, 0, 0, 0).

[0100] (Regarding Operation of Parameter Estimation Apparatus 100)

[0101] The following describes an example of the operation of parameter estimation device 100. The calculation unit 120 of parameter estimation device 100 reads encrypted data stored in data storage unit 140 (database) and calculates equations (5), (6), and (7) using secure computation, thereby estimating parameters for Cox proportional hazards regression. The following first describes the characteristic operation.

[0102] <Centralize all records>

[0103] When Equations (5) and (6) are implemented as is, the calculation is iterated for each time point and the results are sequentially added. To safely calculate the Cox proportional hazards regression, groupByCommon and groupBySum are used to hide the number of time points.

[0104] In groupByCommon and groupBySum, the values of each time point are hidden while summarizing each time point, and unnecessary parts are filled with 0, so that information related to the number of time points is not leaked.

[0105] In addition, instead of performing iterative processing for each time point, all records are processed collectively, thereby reducing the number of operations with high processing costs in security calculations and improving processing efficiency. In other words, for example, instead of calculating Σ at time point 1, j∈Ri exp(→βT →z j ), calculate Σ at time point 2 j∈Ri exp(→β T →z j ),..., but calculate Σ for all time points at once j∈Ri exp(→β T →z j Specifically, when the value at each time point is a scalar, it is treated as a vector whose length is the number of time points and is calculated collectively. When the value at each time point is a vector of length n, it is treated as a matrix of the number of time points × n and is calculated collectively. Furthermore, when the value at each time point is an n × n matrix, it is treated as a third-order tensor of the number of time points × n × n and is calculated collectively.

[0106] <Reduction of Calculations with High Processing Cost>

[0107] Equations (5) and (6) include many exp and division operations. In addition, Σ j∈Ri The processing is Group-by sum, so the computational cost in security calculation is very high.

[0108] The parameter estimation device 100 of this embodiment minimizes expensive processing such as exp, division, and group-bysum in Cox proportional hazards regression, thereby achieving efficient calculation. When calculating simply according to equations (5) and (6), each iteration of the Newton method requires exp (7 times the number of time points) and division (3 times the number of time points). However, in this embodiment, these processes can be minimized as described below.

[0109] Exp is calculated once in each iteration

[0110] The inverse is calculated once in each iteration

[0111] Furthermore, group-by sum operations can be processed more efficiently by separating them into groupByCommon and groupBySum. The following details how these operations are reduced.

[0112] ■Exp reduction

[0113] As shown in Equation (5) and Equation (6), the argument of exp is →β T →z j , so it can be reused after one calculation. In addition, by centrally processing all the above records, the processing can be parallelized, and only one iteration is required for each iteration.

[0114] ■Reduction by division

[0115] In the case of division by reciprocal calculation + multiplication, Σ j∈Ri exp(→β T →z j ) is used repeatedly in the second term of formula (5) and the first term of formula (6), so only one reciprocal calculation + two multiplications are required, and no two division operations are required. The second term of formula (6) has a different divisor from the above two, but it can be obtained without division. Comparing the second term of formula (5) and the second term of formula (6), it can be seen that when the second term of formula (5) is divided by d i When the part outside is A, the second term of formula (6) can be expressed by AA T Therefore, the second term of Equation (6) can be calculated only by multiplication. In addition, by centrally processing all the above records, the processing can be parallelized, and only one iteration is required for each iteration.

[0116] ■Reduction of group-by sum

[0117] If implemented according to equations (5) and (6), multiple Group-bysum operations would be required during processing, resulting in low processing efficiency. Therefore, in this embodiment, [→e] obtained by performing Group-bycommon on all keys once is reused, assuming that all keys are identical.

[0118] In the parameter estimation device 100 of this embodiment, by using Group-by common, it is possible to efficiently calculate the Cox proportional hazards regression safely. In the calculation of groupBySum, only summarization using the flag [→e] indicating the boundary is performed.

[0119] <About the specific handling content>

[0120] Next, we will describe the specific processing performed by parameter estimation device 100. Here, hidden observation data is stored as a database in data storage unit 140, and calculation unit 120 processes this data through secure calculations to estimate parameters for Cox proportional hazards regression. This processing includes the characteristic operations described above.

[0121] The processing object of the operation unit 120, i.e., the database, is shown in FIG. Figure 5 shown. Figure 5 In FIG. 1 , for ease of explanation, data is represented by plain text, and a state in which data is sorted in ascending order at a point in time is also shown.

[0122] like Figure 5As shown, the database stores n features, the time of observation, and the status at that time (death = 1, discontinued = 0) for each patient (m). m is the number of records, and D is the number of time points. For example, if the time vector →t = (1, 1, 1, 2), the number of time points is 2.

[0123] Figure 5 In the example of , if a patient dies, the patient, the patient's characteristic values, the time point, and the condition are recorded (saved) in the database. Furthermore, if a patient's treatment is discontinued at that time, the patient, the patient's characteristic values, the time point, and the condition are also recorded in the database.

[0124] In addition, multiple patients may die or discontinue at the same time point. Therefore, the number of time points D ≤ the number of patients m.

[0125] By reading data from the database, the calculation unit 120 stores the feature values of all patients as an m×n matrix Z, stores the time points as a time vector →t, and stores the states of all patients as a state vector →c.

[0126] Initially, Z, →t, and →c are all unsorted. As described above, using Group-by common to sort the time vector →t first creates the permutation table →π. This table is then reused, allowing sorting using the feature vector Z or →t of the state vector →c as a key to be performed simply by sorting based on the permutation table →π. This reduces the cost of normal sorting.

[0127] <Processing steps>

[0128] The calculation unit 120 of the parameter estimation device 100 is based on Figure 6 and Figure 7 The steps of the algorithm shown perform parameter estimation on the data of the above database. Figure 6 and Figure 7 Line numbers are assigned for explanation purposes. Below, the line numbers of the processing sections are treated as step numbers.

[0129] exist Figure 6 In step 3 of Algorithm 1, the operation unit 120 initializes the n-th order weight vector [→β] by [0]. In step 4, →t is sorted using Group-by common to create a permutation table →π and generate a flag →e.

[0130] In steps 5 and 6, the operation unit 120 sorts [Z] and [→c] to generate [Z'] and [→c'], respectively.

[0131] In step 8, the calculation unit 120 generates [Z'] based on [Z'], which is 0 except for the characteristic value of the death case. dead ], in step 9, groupBySum is used to generate [S] consisting of the sum of the feature values of the death cases at each time point. In step 11, the number of deaths at each time point is calculated [→d]. In step 13, an m×n×n tensor [ tensor ZZ'], and perform the update of [→β] in steps 15 to 17.

[0132] For the processing of calcGH in step 16, see Figure 7 In steps 3 to 6, the calculation unit 120 calculates the T →z) corresponding to [W'], and →z→z T exp(→β T →z) corresponds to [ tensor X'] etc. and exp(→β calculated in step 4 T →z j ) corresponding to [ t →v'] is reused in subsequent calculations.

[0133] In steps 8 to 10, the calculation unit 120 calculates the Σ j∈Ri exp(→β T →z j ) corresponding to [→v psub ]. The vector of time point length [→v psub ] each element becomes a scalar value Σ j∈Ri exp(→β T →z j ). In other words, the calculation here is not the iterative processing calculation of each time point, but the centralized processing calculation of all records. psub ]and[ tensor X psub ] all records are also processed centrally in the calculation of .

[0134] In steps 12 to 14, the calculation unit 120 calculates the Σ j∈Ri →z j exp(→β T →z j ) corresponding to [W psub ]. In steps 16 to 18, the calculation unit 120 calculates the Σ j∈Ri →z j →z j T exp(→β T →z j ) corresponding to [ tensor Xpsub ].

[0135] In step 20, the operation unit 120 calculates the j∈Ri exp(→β T →z j ) corresponds to the reciprocal of [→y]. The reciprocal is calculated only for this part.

[0136] In steps 22 to 25, the calculation unit 120 calculates the gradient, which is equation (5). [→y] and [→d] are vectors whose length is the number of time points, [G], [W], and [S] are matrices of the number of time points × the number of feature quantities, and the calculation result [ t →g] is a row vector whose length is the number of features. The sum of all time points is calculated by sum in step 25.

[0137] In steps 27 to 30, the calculation unit 120 calculates the Hessian matrix, which is equation (6). tmp ][G tmp ] T With the above AA T correspond.

[0138] (Effects of the embodiment)

[0139] By using the technique of this embodiment described above, it is possible to efficiently estimate the parameters of the Cox proportional hazards model without decoding the number of time points.

[0140] In other words, the technology of this embodiment processes all data only once, eliminating the need for iterative processing required by conventional plain text processing. This allows calculations to be performed without decoding the time point numbers. Furthermore, by reducing iterative processing, expensive operations such as division, exponentiation, and group-by sums, which are essential for secure calculations, can be parallelized. This allows efficient parameter estimation of Cox proportional hazards regression while concealing the data and time point numbers.

[0141] (Summary of Implementation Methods)

[0142] This specification describes at least the parameter estimation device, parameter estimation system, parameter estimation method, and program described below.

[0143] (Item 1)

[0144] A parameter estimation device for performing parameter estimation of a Cox proportional hazards model through secure calculation, the parameter estimation device comprising:

[0145] a data storage unit for storing a database having a record for each observation object, the record including a time point at which an event was observed, a characteristic value of the observation object at that time point, and a state of the observation object at that time point;

[0146] a calculation unit that reads a vector composed of time points from the database, sorts the vector, generates a permutation table and a flag indicating a boundary of the time points, aggregates the feature value at each time point while hiding the value of the time point using the permutation table and the flag, and estimates the parameter based on the aggregated result; and

[0147] The output unit outputs the parameters estimated by the calculation unit.

[0148] (Item 2)

[0149] The parameter estimation device as described in item 1, wherein

[0150] The calculation unit calculates a plurality of exps in a calculation formula used in iterative calculation for the parameter estimation by calculating one exp in one iteration and performing calculation using the result of the calculation.

[0151] (Item 3)

[0152] The parameter estimation device as described in item 1 or 2, wherein

[0153] The calculation unit calculates a plurality of inverse numbers in a calculation formula used in the iterative calculation for the parameter estimation by calculating one inverse number in one iteration and performing a calculation using the result of the calculation.

[0154] (Item 4)

[0155] The parameter estimation device according to any one of items 1 to 3, wherein:

[0156] The operation section performs calculation at each time point in a calculation formula used in iterative calculation for the parameter estimation for all time points using a vector, a matrix, or a tensor.

[0157] (Item 5)

[0158] A parameter estimation system for performing parameter estimation of a Cox proportional hazards model through secure computation, the parameter estimation system comprising:

[0159] a data storage unit for storing a database having a record for each observation object, the record including a time point at which an event was observed, a characteristic value of the observation object at that time point, and a state of the observation object at that time point;

[0160] a calculation unit that reads a vector composed of time points from the database, sorts the vector, generates a permutation table and a marker indicating a boundary of the time points, aggregates the feature value at each time point while hiding the value of the time point using the permutation table and the marker, and estimates the parameter based on the aggregated result;

[0161] The output unit outputs the parameters estimated by the calculation unit.

[0162] (Item 6)

[0163] A parameter estimation method performed by a parameter estimation device, wherein the parameter estimation device estimates parameters of a Cox proportional hazard model through secure calculation, the parameter estimation method comprising:

[0164] A calculation step of reading a vector consisting of time points from a database having records including the time point at which an event is observed, the characteristic quantity of the observed object at that time point, and the state of the observed object at that time point for each observed object, sorting the vector to generate a permutation table and a mark indicating the boundary of the time point, and performing aggregation of the characteristic quantity at each time point while hiding the value of the time point by using the permutation table and the mark, and performing the parameter estimation based on the aggregation result; and

[0165] The output step outputs the parameters estimated by the calculation step.

[0166] (Item 7)

[0167] A program that causes a computer to function as each functional unit in the parameter estimation device according to any one of items 1 to 4.

[0168] Although the present embodiment has been described above, the present invention is not limited to the above-described specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims.

[0169] [Explanation of Reference Numerals]

[0170] 100 parameter estimation devices

[0171] 110 Input unit

[0172] 120 calculation unit

[0173] 130 output unit

[0174] 140 Preservation Department

[0175] 1000 drive unit

[0176] 1001 Storage Media

[0177] 1002 auxiliary storage device

[0178] 1003 Storage Device

[0179] 1004CPU

[0180] 1005 interface device

[0181] 1006 display device

[0182] 1007 Input Device

[0183] 1008 output device.

Claims

1. A parameter estimation device for performing parameter estimation of a Cox proportional hazards model by secure computation, the parameter estimation device comprising: a data storage unit for storing a database having a record for each observation object, the record including a time point at which an event was observed, a feature value of the observation object at that time point, and a state of the observation object at that time point; a calculation unit that reads a vector composed of time points from the database, sorts the vector, generates a permutation table and a flag indicating a boundary of the time points, aggregates the feature value at each time point while hiding the value of the time point using the permutation table and the flag, and estimates the parameter based on the aggregated result; and The output unit outputs the parameters estimated by the calculation unit.

2. The parameter estimation device according to claim 1, wherein The calculation unit calculates a plurality of exps in a calculation formula used in iterative calculation for the parameter estimation by calculating exp once per iteration and performing calculation using the result of the calculation.

3. The parameter estimation device according to claim 1 or 2, wherein: The calculation unit calculates a plurality of inverse numbers in a calculation formula used in the iterative calculation for the parameter estimation by calculating the inverse number once per iteration and performing a calculation using the result of the calculation.

4. The parameter estimation device according to claim 1 or 2, wherein: The operation unit collectively performs calculations at each time point in a calculation formula used in iterative calculations for the parameter estimation for all time points using a vector, a matrix, or a tensor.

5. The parameter estimation device according to claim 3, wherein: The operation unit collectively performs calculations at each time point in a calculation formula used in iterative calculations for the parameter estimation for all time points using a vector, a matrix, or a tensor.

6. A parameter estimation system for performing parameter estimation of a Cox proportional hazards model by secure computation, the parameter estimation system comprising: a data storage unit for storing a database having a record for each observation object, the record including a time point at which an event was observed, a feature value of the observation object at that time point, and a state of the observation object at that time point; a calculation unit that reads a vector composed of time points from the database, sorts the vector, generates a permutation table and a flag indicating a boundary of the time points, aggregates the feature value at each time point while hiding the value of the time point using the permutation table and the flag, and estimates the parameter based on the aggregated result; and The output unit outputs the parameters estimated by the calculation unit.

7. A parameter estimation method performed by a parameter estimation device, wherein the parameter estimation device estimates parameters of a Cox proportional hazards model by secure calculation, the parameter estimation method comprising: A calculation step of reading a vector consisting of time points from a database having records including the time point at which an event is observed, the characteristic quantity of the observed object at that time point, and the state of the observed object at that time point for each observed object, sorting the vector to generate a permutation table and a mark indicating the boundary of the time point, and performing aggregation of the characteristic quantity at each time point while hiding the value of the time point by using the permutation table and the mark, and performing the parameter estimation based on the aggregation result; and The output step outputs the parameters estimated by the calculation step. 8 . A computer program product storing a program for causing a computer to function as each functional unit in the parameter estimation device according to claim 1 .