JP7456514B2 - パラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラム - Google Patents

パラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラム Download PDF

Info

Publication number
JP7456514B2
JP7456514B2 JP2022556813A JP2022556813A JP7456514B2 JP 7456514 B2 JP7456514 B2 JP 7456514B2 JP 2022556813 A JP2022556813 A JP 2022556813A JP 2022556813 A JP2022556813 A JP 2022556813A JP 7456514 B2 JP7456514 B2 JP 7456514B2
Authority
JP
Japan
Prior art keywords
calculation
parameter estimation
time point
vector
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022556813A
Other languages
English (en)
Other versions
JPWO2022079904A1 (ja
Inventor
気吹 三品
浩気 濱田
大 五十嵐
亮 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022079904A1 publication Critical patent/JPWO2022079904A1/ja
Application granted granted Critical
Publication of JP7456514B2 publication Critical patent/JP7456514B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、秘密計算技術において、秘匿性を保ったままcox比例ハザードモデルのパラメータ推定を実現する技術に関連するものである。
coxの比例ハザードモデルを用いた回帰分析であるcox比例ハザード回帰は、生存時間解析でよく用いられる分析手法である(非特許文献1)。市販の統計解析ソフトウェアやソフトウェア言語のパッケージにおいて、平文でcox比例ハザード回帰を行うことができる。
また、暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法が知られている。一例として、複数の秘密計算装置に数値の断片を分散させるという暗号化を行い、複数の秘密計算装置が協調計算を行うことにより、数値を復元すること無く、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数と二進数)等の結果を複数の秘密計算装置に分散された状態として得ることができる。
D. R. Cox. Regression Models and Life-Tables. Journal of the Royal Statistical Society. Series B (Methodological), Vol. 34, No. 2. (1972), pp. 187-220.
cox比例ハザードモデルのパラメータ推定を行う際、平文では死亡や打ち切りが発生した時点毎に計算を繰り返す。しかし、秘密計算でも同様の方法を用いる場合、秘匿しておくべき時点の値を復号する必要があるという課題がある。また、cox比例ハザードモデルのパラメータ推定の計算では、指数、除算、group-by sumといった秘密計算での処理コストが大きい処理が多く含まれるため、秘密計算で効率良く計算するのが難しいという課題もある。
本発明は上記の点に鑑みてなされたものであり、時点の値を復号することなく、効率良くcox比例ハザードモデルのパラメータ推定を行うための技術を提供することを目的とする。
開示の技術によれば、cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定装置であって、
イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースを格納するデータ格納部と、
前記データベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算部と、
前記演算部により推定されたパラメータを出力する出力部と
を備えるパラメータ推定装置が提供される。
開示の技術によれば、時点の値を復号することなく、効率良くcox比例ハザードモデルのパラメータ推定を行うための技術が提供される。
本発明の実施の形態におけるパラメータ推定装置の構成図である。 装置のハードウェア構成例を示す図である。 置換表を説明するための図である。 フラグを説明するための図である。 データベースの例を示す図である。 パラメータ推定装置の処理手順の例を説明するための図である。 パラメータ推定装置の処理手順の例を説明するための図である。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(装置構成例)
図1に、本実施の形態におけるパラメータ推定装置100の構成図を示す。図1に示すように、本実施の形態におけるパラメータ推定装置100は、入力部110、演算部120、出力部130、及びデータ格納部140を有する。
パラメータ推定装置100は、1つの装置(コンピュータ)で構成されてもよいし、複数のコンピュータからなるシステムとして構成されてもよい。このシステムをパラメータ推定システムと呼んでもよい。パラメータ推定システムにおいて、例えば、演算部120とデータ格納部140が別々のサーバであってもよい。
パラメータ推定装置100の入力部110に、観測により得られたデータから秘匿化されたデータが入力される。特に断らなければ、パラメータ推定装置100により扱われるデータは秘匿化されたデータであり、計算は秘密計算でなされるものとする。
入力されたデータはデータベースとしてデータ格納部140に格納される。演算部120は、データ格納部140のデータベースから読み出したスカラー、ベクトル、行列等のデータに対して後述する処理を行うことで、cox比例ハザードモデルのパラメータ推定を行う。出力部130は、演算部120で推定されたパラメータを出力する。
なお、演算部120で計算されたパラメータがデータ格納部140に格納され、外部からのアクセスに応じて、出力部130から出力されてもよい。演算部120での処理内容の詳細については後述する。
(ハードウェア構成例)
本実施の形態におけるパラメータ推定装置100は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図2は、上記コンピュータのハードウェア構成例を示す図である。図2のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、パラメータ推定装置100に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
(準備)
パラメータ推定装置100の動作例を説明する前に、その準備として、記法、cox比例ハザード回帰、及び秘密計算等について説明する。
<記法>
aをbで定義することをa:=bと記載し、ベクトルを→a:=(a,...,an-1)と記載し、特筆しない限りAのような大文字は行列を表し、その転置行列はAと記載する。なお、本明細書のテキストにおいて、記載の便宜上、文字の頭の上に置かれるべきベクトルの記号(→)を、「→a」のように、文字の前に記載している。また、図面に記載したアルゴリズムにおいて、3階のテンソルは斜体の文字で記載している。本明細書のテキストにおいては、記載の便宜上、3階のテンソルの文字を、例えばtensorZZ´のように、その文字の左上にtensorを付けて表す。
加減乗算において入力がベクトル→aもしくは行列Aと、スカラーbの場合、→a、Aの全ての要素に対してbとの演算を行うものとする。また、特に記載が無いベクトルは列ベクトルである。横ベクトルの場合は→aのように左上にtを付けることで区別する。
<cox比例ハザード回帰>
cox比例ハザードモデルは式(1)で表されるモデルである(非特許文献1)。
Figure 0007456514000001
式(1)において、t、β、zはそれぞれ時間、重み、特徴量を表し、λ(t)、exp(→β→z)はそれぞれベースラインハザード関数、相対危険度関数(ハザード)と呼ばれる。cox比例ハザード回帰では重みのパラメータβを推定する。重みは、式(2)に示す部分尤度を用いて最尤推定を行うことで計算する。
Figure 0007456514000002
式(2)において、Dは死亡が観測された時点の数であり、→zは時点iに死亡した患者の特徴量を表す。なお、本実施の形態では、目的となるイベントとして、死亡を用いているが、これは例である。例えば、転倒、歩行不可能、疾患発症、入院等を目的のイベントとしてもよい。打ち切りをイベントの1つと解釈してもよい。
式(2)におけるRは、時点iの直前まで打ち切りも死亡も発生していない患者の集合であり、リスクセットと呼ばれる。なお、「打ち切り」とは、観測ができなくなり、それ以降、死亡の発生の有無が不明になることである。
従って、式(2)の部分尤度関数は、時点毎に(死亡した患者のハザード)/(リスクセットのハザードの総和)を計算し、全時点分掛け合わせたものである。この部分尤度は同じ時刻に複数の打ち切りや死亡が発生していない(タイデータが無い)という仮定を置いているため、タイデータがあることの多い実データでは、式(3)に示すBreslow法が良く用いられる。
Figure 0007456514000003
式(3)は、基本的には式(2)のcoxの部分尤度と同じであるが、分母がd乗(dは時点iの死亡患者数)されている点と、分子に→zの代わりに、時点iの死亡患者の特徴量の総和sを用いる点が異なる。d=1の場合は式(2)と一致するため、式(3)は、式(2)を一般化した形と考えることができる。以下の説明では、式(3)を前提としている。
→βの最尤推定量を求める方法としては、Newton法等が一般的である。本実施の形態ではNewton法を用いている。Newton法では、式(3)を対数尤度関数へと変形した後、その対数尤度関数の1階微分(勾配)と2階微分(ヘシアン)を用いて計算する。対数尤度関数l(→β)、その1階微分U(→β)、及び2階微分I(→β)をそれぞれ式(4)、式(5)、式(6)に示す。
Figure 0007456514000004
Figure 0007456514000005
Figure 0007456514000006
Newton法では、式(5)と式(6)を用いて、以下の式(7)を反復して→βの最尤推定値を求める。式(7)は、およそ5回ほどの反復で収束する。
Figure 0007456514000007
<秘密計算>
ある値aを暗号化や秘密分散等により秘匿化した値をaの暗号文あるいは秘匿値と呼び、[a]と記述する。aが秘密分散により秘匿化された場合は、[a]により各秘密計算装置が持つ秘密分散の断片の集合を参照する。なお、暗号文であることを示す括弧"["、"]"について、図面及び明細書に挿入された数式での括弧の書式と少し異なるが、明細書テキストにおいては、記載の便宜上、"["、"]"を使用している。
次に、秘密計算における各種の演算を説明する。
■四則演算
2つの暗号文[a]、[b]の加算、減算、乗算は、それぞれ暗号文[a+b]、[a‐b]、[a×b]を計算する処理である。これらの演算をそれぞれ、[a]+[b]、[a]‐[b]、[a]×[b]と記載する。
また、暗号文[a]を平文bで割る処理は、[a]/bのような記法とする。入力がベクトルや行列で、要素毎にこれらの処理を行う場合も同様に[→a]+[→b]、[A]+[B]のような記法とする。
加減乗算において入力が行列Aと列ベクトル→bの場合は、行列の各列ベクトルに対して→bとの要素毎の演算を実施し、入力が行列Aと行ベクトル→bの場合は、行列の各行ベクトルに対して→bとの要素毎の演算を実施するものとする。
■総和
ベクトル[→a]の要素の総和を求める処理をsum([→a])と記述する。またsum([A])のようにm×nの行列がsumの入力の場合は、列方向の総和を計算し、長さnの行ベクトル[→c]を出力するものとする。
■prefix sub
ベクトル[→a]:=([a],[a],・・・,[a])とスカラー[b]から([b],[b]-[a],[b]-([a]+[a]),・・・,[b]-Σ[→a])となるベクトルを計算することを、prefixSub([→a],[b])と記載する。
■逆数
暗号文[a]の逆数1/[a]を計算することを、[c]←reciprocal([a])のように記載する。入力がベクトルの場合も同じ記法とする。
■指数
暗号文[a]を入力とし、ネイピア数eの[a]乗を計算することを[c]←exp([a])のように記載する。入力がベクトルの場合も同じ記法とする。
■Group-by common
Group-by commonは、Group-by sumやGroup-by countといった様々なGroup-by演算で共通的に用いることができる中間データを生成する処理である。中間データは置換表[→π]と、キーの値の境目かどうかを表すフラグ[→e]を含み、これらを使いまわすことで、同じキーを用いた様々なGroup-by演算を効率良く行うことができる。
図3、図4を参照して、Group-by commonの演算で得られる置換表→πと、フラグ→eの例を説明する。ここでは、説明の便宜上、平文の処理として説明する。
置換表→πは、Group-by commonに入力されたベクトルにおける各要素が、何番目の要素に移動すれば、当該ベクトルの要素がソートされるかを表すベクトルである。
図3において、ベクトル→kをGroup-by commonに入力すると、当該ベクトルがソートされ、図3に示すとおりの置換表→πが得られる。例えば、置換表→πの最初の要素である3は、入力ベクトル→kの最初の要素が、3番目の要素になればソートできることを示している。
フラグ→eは、Group-by commonに入力されたベクトルのソート済みのベクトルの各要素に対して、その要素の下の値と比較して同じならば、その要素の位置に0を入れ、異なる場合は1を入れたベクトルである。図4に、入力とフラグの例を示す。図4に示すように、フラグの一番最後については、下の値と比較できないので1を入れる。
キーのベクトル[→k]を入力してGroup-by commonを行うことを式(8)のように記述する。置換表[→π]を用いてベクトル[→a]や行列[A](行数が[→π]の長さと等しい)をソートする処理を式(9)、式(10)のように記述する。
ソート済みのベクトル[→a´]や[A´]と[→e]を用いてGroup-by sumを行うことを式(11)(12)のように記述する。[→a´]、[A´]などのプライムは、ソート済みであることを表し、以降も同様の記法とする。
Figure 0007456514000008
Figure 0007456514000009
Figure 0007456514000010
Figure 0007456514000011
Figure 0007456514000012
sort、groupBySumの入力が行列の場合、処理は列ごとに行われる。また一般的にGroup-by sumを行うと出力のサイズは入力のサイズ以下になるが、本実施の形態では入力と出力のサイズは同じであり、不要な分は末尾を0でパディングする。これによって時点キー属性の数を秘匿することができる。なお、後述する処理の説明において、便宜的にGroup-by sumの結果を「長さが時点数のベクトル」や「時点数×nの行列」と記載しているが、実際には不要な部分を0でパディングした「長さがレコード数のベクトル」や「レコード数×nの行列」を扱っている。
例えば、図4に示すフラグ→eを(0,1,0,0,1,1)と記載するとして、仮に→a´が(2,1,3,5,1,2)であるとすると、→a´と→eを入力とするGroup-by sumは、(2+1,3+5+1,2,0,0,0)=(3,9,2,0,0,0)になる。
(パラメータ推定装置100の動作について)
以下、パラメータ推定装置100の動作例を説明する。パラメータ推定装置100の演算部120は、データ格納部140(データベース)に格納された暗号文のデータを読み出し、秘密計算により、前述した式(5)、式(6)、式(7)を計算して、cox比例ハザード回帰のパラメータ推定を行う。以下では、まず、特徴的な動作について説明する。
<全レコードをまとめて処理する>
式(5)、式(6)をそのまま実装した場合、時点毎に反復計算していき、計算結果を順番に足していくような処理になる。秘密計算cox比例ハザード回帰を計算する場合には時点数を秘匿するため、前述のgroupByCommon、groupBySumを用いる。
groupByCommon、groupBySumでは時点の値を秘匿したまま時点毎の集計を行い、不要な部分は0でパディングされるため、時点数に関する情報が漏れない。
また、時点数毎の反復処理ではなく全レコードをまとめて処理することにより、秘密計算での処理コストが大きい演算の回数を減らすことができて処理効率も良い。つまり、例えば、時点1でΣj∈Riexp(→β→z)を計算し、時点2でΣj∈Riexp(→β→z)を計算し、...といった計算ではなく、全時点分のΣj∈Riexp(→β→z)を一度に計算する。より具体的には、各時点の値がスカラーの場合は長さが時点数のベクトルとして扱ってまとめて計算し、各時点の値が長さnのベクトルの場合は時点数×nの行列として扱って、まとめて計算する。また、各時点の値がn×n行列の場合は時点数×n×nの3階のテンソルとして扱ってまとめて計算する。
<処理コストの大きい演算の削減>
式(5)、式(6)にはexpや除算が多く含まれ、また、Σj∈Riの処理はGroup-by sumであるため、秘密計算での計算コストが非常に大きい。
本実施の形態に係るパラメータ推定装置100は、cox比例ハザード回帰におけるexp、除算、Group-by sumといったコストの大きい処理を最小限に抑え、効率良く計算する。単純に式(5)、式(6)の通りに計算した場合、Newton法の1反復あたりexpは7回×時点数、除算は3回×時点数分必要になるが、本実施の形態では下記の通り最小限に抑えた。
・expの計算が1反復あたり1回
・逆数の計算が1反復あたり1回
また、Group-by sumについても、処理をgroupByCommon、groupBySumに分けることで、より効率的に処理を行うこととしている。これらの演算の削減についてより詳細に説明する。
■expの削減
式(5)、式(6)に示すとおり、expの引数が全て→β→zであるため、一度計算したら後は使い回せば良い。これに加えて、前述の全レコードをまとめて処理することで処理が並列化され、1反復あたり1度で済むようになる。
■除算の削減
除算を逆数の計算+乗算で行う場合、Σj∈Riexp(→β→z)の逆数を、式(5)の第2項と式(6)の第1項で使い回せるため、除算2回ではなく逆数の計算1回+乗算2回で済む。式(6)の第2項は前述の2つとは除数が異なるが、この項は除算をしなくても求めることができる。式(5)の第2項と式(6)の第2項を見比べてみると、式(5)の第2項のdを除いた部分をAとしたとき、式(6)の第2項はAAで表せるため、積のみで式(6)の第2項は計算できる。これに加えて、前述の全レコードをまとめて処理することで処理が並列化され、1反復あたり1度で済むようになる。
■Group-by sumの削減
式(5)、式(6)の通りに実装するとGroup-bysumを処理の中で何度も行うことになり、処理効率が低下する。そこで、本実施の形態では、全てキーが同一であることに着目し、最初にキーに対して一度だけ行ったGroup-bycommonで得た[→e]を使い回すこととしている。
本実施の形態のパラメータ推定装置100では、Group-by commonを活用し、秘密計算cox比例ハザード回帰を効率良く計算する。groupBySumの計算では、境目を表すフラグ[→e]を用いた集計を行うのみである。
<詳細な処理内容について>
次に、パラメータ推定装置100が実行する詳細な処理内容を説明する。ここでは、秘匿化された観測データがデータ格納部140においてデータベースとして格納されているものとし、演算部120は、秘密計算によりそのデータに対して処理を行うことで、cox比例ハザード回帰のパラメータを推定する。処理動作において、上述した特徴的な動作が行われる。
演算部120による処理の対象となるデータベースのイメージを図5に示す。図5は、説明の便宜上、データが平文で示されており、また、時点の昇順にソート済の状態を示している。
図5に示すように、データベースには、患者数mの患者(観測対象)毎に、n個の特徴量と、観測の時点と、その時点での状態(死亡=1、打ち切り=0)が格納されている。mはレコード数でもあり、Dは時点数である。例えば、時刻ベクトル→t=(1,1,1,2)であれば、時点数は2である。
図5の例では、1患者に対し、死亡があった場合に、その患者、その患者の特徴量、その時点、その状態がデータベースに記録される。また、その時点で打ち切りされている患者についても、その患者、その患者の特徴量、その時点、その状態がデータベースに記録される。
同時点で、複数患者に対して死亡又は打ち切りが観測される場合がある。そのため、時点数D≦患者数mである。
演算部120は、データベースからデータを読み出すことで、患者全員分の特徴量をm×nの行列Zとし、時点を時刻ベクトル→tとし、患者全員分の状態を状態ベクトル→cとして保持する。
Z、→t、→cはいずれも初期状態においてはソートされていない。前述したように、Group-by commonにより、最初に時刻ベクトル→tをソートして置換表→πを作り、それを使い回すことで、特徴量Zや状態ベクトル→cの→tをキーとするソートは、置換表→πに基づいた並べ替えのみで済む。すなわち、通常のソートを行うより低コストで済む。
<処理手順>
パラメータ推定装置100の演算部120は、上記のデータベースのデータに対して、図6、図7に示すアルゴリズムの手順に従って、パラメータ推定を行う。図6、図7には、説明のために行番号を付している。以下では、処理部分の行番号をステップ番号とみなして説明を行う。
図6のアルゴリズム1のステップ3において、演算部120は、n次の重みベクトルである[→β]を[0]で初期化する。ステップ4において、Group-by commonにより、→tをソートして置換表→πを作成するとともに、フラグ→eを作成する。
ステップ5、6において、演算部120は、[Z]、[→c]をそれぞれソートして、[Z´]、[→c´]を作成する。
演算部120は、ステップ8において、[Z´]から死亡例の特徴量以外を0とした[Z´dead]を作成し、ステップ9において、groupBySumにより時点毎の死亡例の特徴量の総和からなる[S]を作成する。ステップ11において、時点毎の死亡数[→d]を算出する。ステップ13において、m×n×nテンソルである[tensorZZ´]を作成し、ステップ15~17において[→β]の更新を行う。
ステップ16のcalcGHの処理については、図7を参照して説明する。ステップ3~6において、演算部120は、→zexp(→β→z)に対応する[W´]と、→z→zexp(→β→z)に対応する[tensorX´]等を算出する。ステップ4で計算したexp(→β→z)に対応する[→v´]が以降の計算で使い回されている。
ステップ8~10において、演算部120は、各時点のΣj∈Riexp(→β→z)に対応する[→vpsub]を算出する。時点数長のベクトルである[→vpsub]の各要素が、スカラー値であるΣj∈Riexp(→β→z)になっている。つまり、ここでの計算は、時点数毎の反復処理でなく、全レコードをまとめて処理する計算である。下記で説明する[Wpsub]、[tensorpsub]の算出においても同様に全レコードをまとめて処理している。
ステップ12~14において、演算部120は、各時点のΣj∈Ri→zexp(→β→z)に対応する[Wpsub]を算出する。ステップ16~18において、演算部120は、各時点のΣj∈Ri→z→z exp(→β→z)に対応する[tensorpsub]を算出する。
ステップ20において、演算部120は、Σj∈Riexp(→β→z)の逆数に対応する[→y]を算出する。逆数の計算はこの部分だけである。
ステップ22~25において、演算部120は、勾配である式(5)を計算する。[→y]、[→d]は長さが時点数のベクトルであり、[G]、[W]、[S]は時点数×特徴量数の行列であり、計算結果の[→g]は長さが特徴量数の横ベクトルである。ステップ25のsumにより、全時点の総和を計算する。
ステップ27~30において、演算部120は、へシアンである式(6)を計算する。ステップ29の[Gtmp][Gtmpが、前述したAAに対応している。
(実施の形態の効果)
以上説明した本実施の形態に係る技術により、時点の数を復号することなく、効率良くcox比例ハザードモデルのパラメータ推定を行うことが可能となる。
すなわち、本実施の形態に係る技術により、従来の平文での処理のような反復処理を行わず全データを一度に処理することで、時点数を復号せずに計算できるようになる。また、反復処理を減らしたことにより、除算、指数、group-by sumと言った秘密計算での処理コストが大きい処理が並列化され、データや時点数を秘匿したまま効率良くcox比例ハザード回帰のパラメータ推定が行えるようになる。
(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載したパラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラムが記載されている。
(第1項)
cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定装置であって、
イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースを格納するデータ格納部と、
前記データベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算部と、
前記演算部により推定されたパラメータを出力する出力部と
を備えるパラメータ推定装置。
(第2項)
前記演算部は、前記パラメータ推定のための反復計算において使用される計算式における複数のexpの計算を、1反復あたり1回のexpの計算と、その計算結果を利用した演算により実行する
第1項に記載のパラメータ推定装置。
(第3項)
前記演算部は、前記パラメータ推定のための反復計算において使用される計算式における複数の逆数の計算を、1反復あたり1回の逆数の計算と、その計算結果を利用した演算により実行する
第1項又は第2項に記載のパラメータ推定装置。
(第4項)
前記演算部は、前記パラメータ推定のための反復計算において使用される計算式における時点毎の計算を、ベクトル又は行列又はテンソルを利用して全時点分についてまとめて実行する
第1項ないし第3項のうちいずれか1項に記載のパラメータ推定装置。
(第5項)
cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定システムであって、
イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースを格納するデータ格納部と、
前記データベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算部と、
前記演算部により推定されたパラメータを出力する出力部と
を備えるパラメータ推定システム。
(第6項)
cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定装置により実行されるパラメータ推定方法であって、
イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算ステップと、
前記演算ステップにより推定されたパラメータを出力する出力ステップと
を備えるパラメータ推定方法。
(第7項)
コンピュータを、第1項ないし第4項のうちいずれか1項に記載のパラメータ推定装置における各部として機能させるためのプログラム。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 パラメータ推定装置
110 入力部
120 演算部
130 出力部
140 格納部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置

Claims (7)

  1. cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定装置であって、
    イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースを格納するデータ格納部と、
    前記データベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算部と、
    前記演算部により推定されたパラメータを出力する出力部と
    を備えるパラメータ推定装置。
  2. 前記演算部は、前記パラメータ推定のための反復計算において使用される計算式における複数のexpの計算を、1反復あたり1回のexpの計算と、その計算結果を利用した演算により実行する
    請求項1に記載のパラメータ推定装置。
  3. 前記演算部は、前記パラメータ推定のための反復計算において使用される計算式における複数の逆数の計算を、1反復あたり1回の逆数の計算と、その計算結果を利用した演算により実行する
    請求項1又は2に記載のパラメータ推定装置。
  4. 前記演算部は、前記パラメータ推定のための反復計算において使用される計算式における時点毎の計算を、ベクトル又は行列又はテンソルを利用して全時点分についてまとめて実行する
    請求項1ないし3のうちいずれか1項に記載のパラメータ推定装置。
  5. cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定システムであって、
    イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースを格納するデータ格納部と、
    前記データベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算部と、
    前記演算部により推定されたパラメータを出力する出力部と
    を備えるパラメータ推定システム。
  6. cox比例ハザードモデルのパラメータ推定を、秘密計算により実行するパラメータ推定装置により実行されるパラメータ推定方法であって、
    イベントが観測された時点と、当該時点の観測対象の特徴量と、当該時点の観測対象の状態とを含むレコードを、観測対象毎に有するデータベースから、時点からなるベクトルを読み出し、当該ベクトルをソートすることにより、置換表と、時点の境目を示すフラグとを生成し、前記置換表と、前記フラグとを用いることにより、時点の値を秘匿したまま、前記特徴量の時点毎の集計を行い、集計結果に基づいて前記パラメータ推定を行う演算ステップと、
    前記演算ステップにより推定されたパラメータを出力する出力ステップと
    を備えるパラメータ推定方法。
  7. コンピュータを、請求項1ないし4のうちいずれか1項に記載のパラメータ推定装置における各部として機能させるためのプログラム。
JP2022556813A 2020-10-16 2020-10-16 パラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラム Active JP7456514B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/039119 WO2022079904A1 (ja) 2020-10-16 2020-10-16 パラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2022079904A1 JPWO2022079904A1 (ja) 2022-04-21
JP7456514B2 true JP7456514B2 (ja) 2024-03-27

Family

ID=81209023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022556813A Active JP7456514B2 (ja) 2020-10-16 2020-10-16 パラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラム

Country Status (6)

Country Link
US (1) US20230367846A1 (ja)
EP (1) EP4231272A1 (ja)
JP (1) JP7456514B2 (ja)
CN (1) CN116324935A (ja)
AU (1) AU2020472128B2 (ja)
WO (1) WO2022079904A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006087854A1 (ja) 2004-11-25 2006-08-24 Sharp Kabushiki Kaisha 情報分類装置、情報分類方法、情報分類プログラム、情報分類システム
WO2017119211A1 (ja) 2016-01-07 2017-07-13 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006087854A1 (ja) 2004-11-25 2006-08-24 Sharp Kabushiki Kaisha 情報分類装置、情報分類方法、情報分類プログラム、情報分類システム
WO2017119211A1 (ja) 2016-01-07 2017-07-13 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三品 気吹 ほか,秘密計算によるプライバシー保護生存時間解析,コンピュータセキュリティシンポジウム2020論文集,日本,情報処理学会,2020年10月19日,pp. 1150-1157

Also Published As

Publication number Publication date
WO2022079904A1 (ja) 2022-04-21
US20230367846A1 (en) 2023-11-16
EP4231272A1 (en) 2023-08-23
AU2020472128B2 (en) 2023-11-30
JPWO2022079904A1 (ja) 2022-04-21
CN116324935A (zh) 2023-06-23
AU2020472128A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
Blatt et al. Optimized homomorphic encryption solution for secure genome-wide association studies
Bernstein et al. On the correct use of the negation map in the Pollard rho method
Gu et al. A division-free Toom–Cook multiplication-based Montgomery modular multiplication
EP3507747A1 (en) Exact quantum circuits and circuit syntheses for qudit and multiple qubit circuits
CN109328377B (zh) 秘密计算系统、秘密计算装置、秘密计算方法、以及程序
Matveev Intertwining relations between the Fourier transform and discrete Fourier transform, the related functional identities and beyond
CN112005288B (zh) 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及记录介质
JP7456514B2 (ja) パラメータ推定装置、パラメータ推定システム、パラメータ推定方法、及びプログラム
Jun et al. HUBO and QUBO models for prime factorization
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
CN113849828A (zh) 经处理的数据的匿名生成和证明
Solomonik et al. Fast bilinear algorithms for symmetric tensor contractions
JP7091930B2 (ja) テンソルデータ計算装置、テンソルデータ計算方法及びプログラム
Mounica et al. Implementation of 5-Qubit approach-based Shor's Algorithm in IBM Qiskit
Park et al. Efficient bit-parallel multiplier for irreducible pentanomials using a shifted polynomial basis
Ruffa et al. Parallelized solution of banded linear systems with an introduction to p-adic computation
JP7173328B2 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
Saccà et al. Number of Minimal Hypergraph Transversals and Complexity of IFM with Infrequency: High in Theory, but Often Not so Much in Practice!
WO2022254599A1 (ja) 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
JP7405156B2 (ja) 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム
Perera et al. Sparse Matrix Based Low-Complexity, Recursive, and Radix-2 Algorithms for Discrete Sine Transforms
Sim et al. Achieving GWAS with homomorphic encryption
JP2004077948A (ja) ヤコビ群要素加算装置
CN115276950B (zh) 隐私数据的处理方法、装置和计算设备
Kosovskaya Teaching Students to Use the Gauss Method for Integer Matrices when Implemented on a Computer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240226

R150 Certificate of patent or registration of utility model

Ref document number: 7456514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150