(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024160648
(43)【公開日】2024-11-14
(54)【発明の名称】分析装置、分析方法及び分析プログラム
(51)【国際特許分類】
G06F 21/71 20130101AFI20241107BHJP
G09C 1/00 20060101ALI20241107BHJP
【FI】
G06F21/71
G09C1/00 650Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023075875
(22)【出願日】2023-05-01
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 哲士
(72)【発明者】
【氏名】櫻井 陽一
(72)【発明者】
【氏名】澤田 匡史
(57)【要約】
【課題】秘密計算によって行われたCox比例ハザード回帰分析の検定を行うこと。
【解決手段】実施形態の分析装置は、検定部及び出力制御部を有する。検定部は、秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、Cox比例ハザード回帰分析の検定を秘密計算により行う。出力制御部は、検定部1353による検定の結果を出力する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、前記Cox比例ハザード回帰分析の検定を秘密計算により行う検定部と、
前記検定部による検定の結果を出力する出力制御部と、
を有することを特徴とする分析装置。
【請求項2】
前記検定部は、前記偏回帰係数及び前記ヘッセ行列を基に、Wald検定の統計量を計算し、前記統計量を基に検定を行うことを特徴とする請求項1に記載の分析装置。
【請求項3】
前記検定部は、前記Cox比例ハザード回帰分析の回帰モデルの学習開始時における前記ヘッセ行列及び前記スコアベクトルを基に、Score検定の統計量を計算し、前記統計量を基に検定を行うことを特徴とする請求項1に記載の分析装置。
【請求項4】
前記検定部は、前記Cox比例ハザード回帰分析の回帰モデルの学習に用いられた死亡レコードと前記偏回帰係数の積和を、第1の死亡リスクとして秘密計算により計算し、前記回帰モデルの学習に用いられた残存レコードと前記偏回帰係数の積和を、第2の死亡リスクとして秘密計算により計算し、前記第1の死亡リスクと前記第2の死亡リスクを基に対数尤度を計算し、前記対数尤度を基に検定を行うことを特徴とする請求項1に記載の分析装置。
【請求項5】
分析装置によって実行される分析方法であって、
秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、前記Cox比例ハザード回帰分析の検定を秘密計算により行う検定工程と、
前記検定工程による検定の結果を出力する出力制御工程と、
を含むことを特徴とする分析方法。
【請求項6】
秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、前記Cox比例ハザード回帰分析の検定を秘密計算により行う検定ステップと、
前記検定ステップによる検定の結果を出力する出力制御ステップと、
をコンピュータに実行させることを特徴とする分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分析装置、分析方法及び分析プログラムに関する。
【背景技術】
【0002】
従来、データを秘匿したまま統計的な演算を行い、演算の結果得られた統計量をユーザに提供する秘密計算システムが知られている。例えば、秘密計算システムは、重要な個人情報を取り扱う医療分野等におけるデータの分析に利用される場合がある。
【0003】
また、暗号化された状態のデータに対し統計処理を行う秘密計算システムが知られている。例えば、暗号化された状態のデータを使って、ロジスティック回帰分析のパラメータを求める技術が知られている(例えば、特許文献2を参照)。
【0004】
また、ロジスティック回帰分析に類似する手法であり、生存時間解析に用いられるCox比例ハザード回帰分析が知られている(例えば、特許文献3を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2019/124260号
【特許文献2】特開2020-042128号公報
【特許文献3】特開2008-299370号公報
【非特許文献】
【0006】
【非特許文献1】日本電信電話株式会社,秘密計算のシステムとその原理, [online],[令和5年1月6日検索]、インターネット<URL:https://www.rd.ntt/sil/project/sc/secure_computation.html>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の技術では、秘密計算によって行われたCox比例ハザード回帰分析の検定を行うことが難しい場合があるという問題がある。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明の分析装置は、秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、前記Cox比例ハザード回帰分析の検定を秘密計算により行う検定部と、前記検定部による検定の結果を出力する出力制御部と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、秘密計算によって行われたCox比例ハザード回帰分析の検定を行うことができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施形態に係る分析システムの構成例を示す図である。
【
図2】
図2は、実施形態に係る分析装置の構成例を示す図である。
【
図5】
図5は、Wald検定の流れを示すフローチャートである。
【
図6】
図6は、Score検定の流れを示すフローチャートである。
【
図7】
図7は、尤度比検定の流れを示すフローチャートである。
【
図8】
図8は、対数部分尤度を計算する処理の流れを示すフローチャートである。
【
図9】
図9は、分析プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る分析装置、分析方法及び分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0012】
まず、
図1を用いて、分析システムの構成を説明する。分析システムは、秘密計算を利用してデータの分析を行うためのシステムである。
【0013】
図1に示すように、分析システム1は、秘密計算システム10を含む。また、秘密計算システム10は、ネットワークNを介して提供装置20及び提供装置30と接続される。例えば、ネットワークNはインターネットである。また、秘密計算システム10は、端末装置40と接続される。
【0014】
提供装置20及び提供装置30は、データ提供者側の装置である。提供装置20及び提供装置30は、秘密計算システム10にデータを提供(登録)する。
【0015】
提供装置20及び提供装置30によって提供されるデータは、秘匿化されることが望ましい情報(例えば、個人の氏名、住所等の個人情報)を含む。例えば、提供装置20及び提供装置30は、医療機関で利用される診療データ又は健康診断データを提供する。ただし、提供装置20及び提供装置30によって提供されるデータは、医療機関で利用されるデータに限られない。
【0016】
秘密計算システム10は、データ蓄積部11及びデータ処理部12を有する。データ蓄積部11は、秘密分散によりデータを蓄積する複数の蓄積装置(蓄積装置111、蓄積装置112、蓄積装置113)を含む。また、データ処理部12は、秘密計算によりデータを処理する複数の計算装置(計算装置121、計算装置122、計算装置123)を含む。なお、蓄積装置の数及び計算装置の数は、
図1に示す例に限られない。
【0017】
秘密計算システム10は、非特許文献1(掲載URL:https://www.rd.ntt/sil/project/sc/secure_computation.html)に記載された方法に従って、秘密分散及び秘密計算を実行することができる。
【0018】
まず、秘密計算システム10に提供されたデータは、複数のシェアに分割される(断片化)。そして、複数のシェアのそれぞれは、データ蓄積部11に含まれる複数の蓄積装置に分散して蓄積される。
図1の例では、提供されたデータが3つのシェアに分割される。そして、蓄積装置111、蓄積装置112、蓄積装置113が、それぞれ1つずつシェアを蓄積する。
【0019】
データ処理部12は、データ蓄積部11に蓄積されたシェアに対し、秘密計算を実行する。データ処理部12は、複数の計算装置を使ったマルチパーティ計算により秘密計算を実行する。
図1の例では、データ処理部12は、計算装置121、計算装置122、計算装置123により秘密計算を実行する。
【0020】
データ処理部12は、シェアを復元することなく各種の統計演算を行うことができる。例えば、データ処理部12は、ソート、結合等のテーブルの操作、レコード数の集計、総和、平均、最大値、最小値、標本分散等の統計量の計算、t検定等の統計的検定を行うことができる。さらに、データ処理部12は、回帰分析及び主成分分析といった統計的分析を行うことができる。
【0021】
分析装置13は、データ処理部12を利用してデータの分析を行う。分析装置13は、データ処理部12によって実行された秘密計算の結果に基づき、分析結果をデータ利用者側の端末装置40に提供する。利用者は、端末装置40を介してデータの分析結果を得ることができる。
【0022】
例えば、秘密計算システム10には、個人ごとの属性及び身体に関するデータが提供される場合がある。属性及び身体に関するデータは秘匿化されることが望ましい個人情報である。属性及び身体に関するデータには、例えば年齢、性別、身長、体重等が含まれる。データ蓄積部11は、提供されたデータを断片化したシェアを各蓄積装置に格納する。
【0023】
なお、分割された個々のシェアは、単独では意味のないデータである。そのため、1つのシェアから元のデータを復元することはできない。一方、複数のシェアを揃えることで元のデータを復元することが可能になる。
【0024】
データの利用者は、登録されたデータそのものを閲覧することはできないが、分析装置13及び端末装置40を介して、データの分析結果を閲覧することができる。例えば、データに個人の性別及び体重が含まれている場合、利用者は、各個人の性別及び体重を閲覧することはできないが、データの分析結果である「男性の平均体重」を閲覧することができる。
【0025】
一例として、データ蓄積部11は、Shamirの閾値秘密分散法という手法を使って秘密分散を行うことができる。このとき、データ蓄積部11は、元のデータを切片とする多項式を通る3つの座標をシェアとして各サーバに保管する。また、多項式の傾きはランダムに決定されるため、元のデータが同じであってもシェアが毎回同じであるとは限らない。なお、元のデータは、数値であってもよいし、数値に変換済みのデータであってもよい。
【0026】
秘密計算システム10は、複数のシェアから元のデータを復元することができる。多項式が1次式であれば、秘密計算システム10は、2つの座標(シェアに相当)を結ぶ直線と軸との交点から切片(元のデータに相当)を求めることができる。一方で、1つの座標からは直線が定まらないため、元のデータを復元することはできない。
【0027】
また、前述の通り、データ処理部12は、シェアを復元することなく元のデータに対し秘密計算を実行することができる。例えば、座標で表されたシェア同士を加算した結果は、各シェアの元のデータ同士を加算した結果のシェアに相当する。
【0028】
分析装置13は、端末装置40からの要求に応じて、データ処理部12に秘密計算による処理を実行させる。なお、データ処理部12又は端末装置40が、分析装置13と同等の機能を実現してもよい。例えば、分析システム1は、分析装置13を有さない構成であってもよい。その場合、端末装置40がデータ処理部12と接続され、分析装置13と同等の処理を実行する。さらに、シェアに基づく統計演算は、データ処理部12ではなく端末装置40によって実行されてもよい。
【0029】
第1の実施形態では、分析装置13が秘密計算によりCox比例ハザード回帰分析、及びCox比例ハザード回帰分析の検定を行う場合の例を説明する。
【0030】
図2を用いて、分析装置13の構成を説明する。
図2は、実施形態に係る分析装置の構成例を示す図である。
【0031】
分析装置13の各部について説明する。
図2に示すように、分析装置13は、通信部131、入力部132、出力部133、記憶部134及び制御部135を有する。
【0032】
通信部131は、他の装置の間でデータの通信を行う。例えば、通信部131はNIC(Network Interface Card)である。通信部131は他の装置との間でデータの送受信を行うことができる。
【0033】
入力部132は、データの入力を受け付けるためのインタフェースである。入力部132は、例えばマウス及びキーボード等の入力装置と接続される。
【0034】
出力部133は、データを出力するためのインタフェースである。出力部133は、例えばディスプレイ及びスピーカ等の入力装置と接続される。
【0035】
記憶部134は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部134は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部134は、分析装置13で実行されるOS(Operating System)及び各種プログラムを記憶する。
【0036】
制御部135は、分析装置13全体を制御する。制御部135は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部135は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
【0037】
制御部135は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部135は、計算部1351、更新部1352、検定部1353及び出力制御部1354を有する。
【0038】
計算部1351は、秘密計算によりCox比例ハザード回帰の計算を行う。計算部1351は、Cox比例ハザード回帰モデルに説明変数を入力し、目的変数を出力させる。
【0039】
図4に、以降の説明で使用する記号の定義を示す。
図4は、記号の定義を示す図である。
【0040】
図4に示すように、Nはレコード数である。kは属性(説明変数)の数である。データセットXは、N×k行列の各レコードの属性情報を含む。例えば、i番目のレコードは(x
1,…,x
k)である。
【0041】
結果は、あるレコードの生存又は死亡を示す情報である。tは観測時間である。yは0(生存)又は1(死亡)の2値である。
【0042】
偏回帰係数及びスコアベクトルは列ベクトルで表される。スコアベクトルは、対数部分尤度の1次導関数である。また、ヘッセ行列は、対数部分尤度の2次導関数である。
【0043】
また、偏回帰係数、スコアベクトル、ヘッセ行列、対数部分尤度には、下付きの0が付される。対数部分尤度の計算方法については後述する。
【0044】
更新部1352は、計算部1351によって計算された目的変数が、正解の値に近付くように、秘密計算によりCox比例ハザード回帰モデルのパラメータを更新する。
【0045】
計算部1351と更新部1352の処理が1回又は複数回行われることにより、Cox比例ハザード回帰モデルの学習が行われる。
【0046】
図3は、学習データの例を示す図である。
図3の「年齢」列、「性別」列、「摂取カロリー」列、「体重減少」列の値は、Cox比例ハザード回帰モデルの説明変数である。また、「生存時間」列の値に基づく予測生存率が、Cox比例ハザード回帰モデルの目的変数であり、ハザード関数h(t|x)に対応する。
【0047】
計算部1351は、「年齢」列、「性別」列、「摂取カロリー」列、「体重減少」列の値をCox比例ハザード回帰モデルに入力し、出力を得る。更新部1352は、計算部1351によって得られた出力が、「生存時間」列の値に基づく予測生存率に近付くように、Cox比例ハザード回帰モデルのパラメータを更新する。
【0048】
検定部1353は、Cox比例ハザード回帰モデルの検定を行う。秘密計算では、学習データそのものを外部から取得することは困難である。そのため、検定部1353は、取得可能な限られた情報を基に検定のための統計量を計算する。
【0049】
ここでは、検定部1353は、秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、Cox比例ハザード回帰分析の検定を秘密計算により行う。検定部1353は、偏回帰係数、ヘッセ行列、及びスコアベクトルといったCox比例ハザード回帰分析に関する情報を、秘密計算システム10から取得する。
【0050】
検定部1353が、Wald検定、Score検定及び尤度比検定を行う場合の処理を説明する。
【0051】
(Wald検定)
図5は、Wald検定の流れを示すフローチャートである。
図5に示すように、検定部1353は、秘密計算システム10から、学習済みのCox比例ハザード回帰モデルの偏回帰係数とヘッセ行列を取得する(ステップS101)。
【0052】
次に、検定部1353は、(1)式のようにWald検定の統計量を計算する(ステップS102)。そして、検定部1353は、検定を実行し、出力制御部1354を介して検定結果を出力する(ステップS103)。ただし、初期偏回帰係数を0とした場合、検定部1353は、(2)式により統計量を計算する。
【0053】
【0054】
【0055】
このように、検定部1353は、偏回帰係数及びヘッセ行列を基に、Wald検定の統計量を計算し、統計量を基にχ2乗検定を行う。
【0056】
(Score検定)
図6は、Score検定の流れを示すフローチャートである。
図6に示すように、検定部1353は、秘密計算システム10から、学習済みのCox比例ハザード回帰モデルの学習開始時のヘッセ行列(
図4の初期ヘッセ行列)とスコアベクトル(
図4の初期スコアベクトル)を取得する(ステップS201)。
【0057】
次に、検定部1353は、(3)式のように、Score検定の統計量を計算する(ステップS202)。そして、検定部1353は、検定を実行し、出力制御部1354を介して検定結果を出力する(ステップS203)。
【0058】
【0059】
このように、検定部1353は、Cox比例ハザード回帰分析の回帰モデルの学習開始時におけるヘッセ行列及びスコアベクトルを基に、Score検定の統計量を計算し、統計量を基にχ2乗検定を行う。
【0060】
(尤度比検定)
図7は、尤度比検定の流れを示すフローチャートである。検定部1353は、秘密計算システム10から、学習済みのCox比例ハザード回帰モデルの偏回帰係数とヘッセ行列を取得する。
【0061】
また、
図3の学習データの各レコードは各患者に対応し、Cox比例ハザード回帰モデルのハザード関数は、患者のある時間での生存確率を表すものとする。学習データの生存時間から、ある時間において患者が死亡しているか否かが導かれる。
【0062】
学習データのレコードのうち、指定された時間において死亡している患者に対応するレコードを死亡レコードと呼ぶ。また、学習データのレコードのうち、指定された時間において死亡していない患者に対応するレコードを残存レコードと呼ぶ。
【0063】
図7に示すように、まず、検定部1353は、学習開始時の偏回帰係数から初期の対数部分尤度を計算する(ステップS301)。また、検定部1353は、学習済みの偏回帰係数から対数部分尤度を計算する(ステップS302)。
【0064】
検定部1353は、(4)式により対数部分尤度を計算する。また、検定部1353は、(4)式のβをβ0に置き換えた式により、初期の対数部分尤度を計算する。対数部分尤度の計算の詳細については後述する。
【0065】
【0066】
続いて、検定部1353は、初期の対数部分尤度と対数部分尤度から、(5)式のように尤度比検定の統計量を計算する(ステップS303)。そして、検定部1353は、χ2乗検定を行い、検定結果を出力する(ステップS304)。
【0067】
【0068】
図8は、対数部分尤度を計算する処理の流れを示すフローチャートである。
図8に示すように、まず、検定部1353は、秘密計算ソートを用いて、データセットのレコードを時刻に対して昇順に並べる(ステップS311)。
【0069】
次に、検定部1353は、偏回帰係数とレコードの積和値を秘密計算積和により計算する(ステップS312)。また、検定部1353は、積和値の指数値である死亡リスク((4)式の右辺のexp)を秘密計算写像で計算する(ステップS313)。
【0070】
ここで、検定部1353は、i=1,…,Nに対して、秘密計算総和を用いて、レコード番号がi<=jとなるjの死亡リスクの総和((4)式の右辺の右側のΣ)を計算する(ステップS314)。
【0071】
続いて、検定部1353は、死亡リスクの総和の対数値((4)式の右辺のlog)を秘密計算写像で計算する(ステップS315)。
【0072】
そして、検定部1353は、積和値と対数値の差を秘密計算の減算((4)式の右辺の減算)で計算する(ステップS316)。さらに、検定部1353は、秘密計算の積和を用いて、生存又は死亡の情報((4)式のyi)と減算の結果から対数部分尤度を計算する(ステップS317)。
【0073】
このように、検定部1353は、検定部1353は、Cox比例ハザード回帰分析の回帰モデルの学習に用いられた死亡レコードと偏回帰係数の積和を、第1の死亡リスクとして秘密計算により計算し、回帰モデルの学習に用いられた残存レコードと偏回帰係数の積和を、第2の死亡リスクとして秘密計算により計算し、第1の死亡リスクと第2の死亡リスクを基に対数尤度を計算し、対数尤度を基に検定を行う。
【0074】
[実施形態の効果]
これまで説明してきたように、分析装置13は、検定部1353及び出力制御部1354を有する。検定部1353は、秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルの少なくともいずれかを用いて、Cox比例ハザード回帰分析の検定を秘密計算により行う。出力制御部1354は、検定部1353による検定の結果を出力する。
【0075】
これにより、分析装置13は、秘密計算によって行われたCox比例ハザード回帰分析の検定を行うことができる。
【0076】
例えば、検定部1353は、偏回帰係数及びヘッセ行列を基に、Wald検定の統計量を計算し、統計量を基に検定を行う。
【0077】
例えば、検定部1353は、Cox比例ハザード回帰分析の回帰モデルの学習開始時におけるヘッセ行列及びスコアベクトルを基に、Score検定の統計量を計算し、統計量を基に検定を行う。
【0078】
例えば、検定部1353は、Cox比例ハザード回帰分析の回帰モデルの学習に用いられた死亡レコードと偏回帰係数の積和を、第1の死亡リスクとして秘密計算により計算し、回帰モデルの学習に用いられた残存レコードと偏回帰係数の積和を、第2の死亡リスクとして秘密計算により計算し、第1の死亡リスクと第2の死亡リスクを基に対数尤度を計算し、対数尤度を基に検定を行う。
【0079】
このように、分析装置13は、Wald検定、Score検定及び尤度比検定を行うことができる。
【0080】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0081】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0082】
[プログラム]
一実施形態として、分析装置13は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析処理を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置13として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0083】
また、分析装置13は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析処理に関するサービスを提供する分析サーバ装置として実装することもできる。例えば、分析サーバ装置は、秘密計算によるCox比例ハザード回帰分析によって得られた偏回帰係数、ヘッセ行列、及びスコアベクトルを入力とし、Cox比例ハザード回帰分析の検定結果を出力とする分析サービスを提供するサーバ装置として実装される。
【0084】
図9は、分析プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0085】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0086】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分析装置13の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析装置13における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0087】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0088】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0089】
1 分析システム
10 秘密計算システム
11 データ蓄積部
12 データ処理部
13 分析装置
131 通信部
132 入力部
133 出力部
134 記憶部
135 制御部
1351 計算部
1352 更新部
1353 検定部
1354 出力制御部