(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023032659
(43)【公開日】2023-03-09
(54)【発明の名称】分散データ非共有バッチ効果推定システム、分散データ統合解析システム、分散データ非共有バッチ効果推定方法、及びプログラム
(51)【国際特許分類】
G06F 16/25 20190101AFI20230302BHJP
G06F 16/906 20190101ALI20230302BHJP
【FI】
G06F16/25
G06F16/906
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021138922
(22)【出願日】2021-08-27
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人新エネルギー・産業技術総合開発機構、次世代人工知能・ロボット中核技術開発/次世代人工知能技術の日米共同研究開発/データコラボレーション解析による生産性向上を目指した次世代人工知能技術の研究開発委託研究開発、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】504171134
【氏名又は名称】国立大学法人 筑波大学
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(72)【発明者】
【氏名】今倉 暁
(72)【発明者】
【氏名】櫻井 鉄也
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA01
(57)【要約】
【課題】分散されて保持される複数のデータについてデータを共有せずにデータに固有のずれを推定できること。
【解決手段】分散データ非共有バッチ効果推定システムは、複数の保持者によって分散して保持されている部分データについて、アンカーデータ中間表現、及び部分データ中間表現を取得する取得部と、アンカーデータ中間表現及び部分データ中間表現についてデータコラボレーション表現を生成するデータコラボレーション表現生成部と、基準となるデータセットに対する部分データに固有のずれであるバッチ効果の推定において基準となるデータセットについてのデータコラボレーション表現と、バッチ効果の推定対象である部分データについてのデータコラボレーション表現とを保持者について分類する分類問題に基づく最適化問題をバッチ効果を示す変数について解くことによってバッチ効果を推定する推定部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
サンプル毎に複数の属性のデータからなるデータセットの全体が複数の保持者によって分散して保持されている各々のデータセットである部分データについて、分散している複数の前記部分データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる表現であるアンカーデータ中間表現、及び前記部分データが前記第1関数によって変換されて得られる表現である部分データ中間表現を、前記部分データ毎に取得する取得部と、
前記取得部によって取得された前記アンカーデータ中間表現及び前記部分データ中間表現について、第2関数によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記第2関数によって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現を、前記部分データ中間表現について生成するデータコラボレーション表現生成部と、
前記データコラボレーション表現生成部によって生成された前記部分データ中間表現の前記データコラボレーション表現について、基準となるデータセットに対する前記部分データに固有のずれであるバッチ効果の推定において前記基準となるデータセットについての前記データコラボレーション表現と、前記バッチ効果の推定対象である前記部分データについての前記データコラボレーション表現とを前記保持者について分類する分類問題に基づく最適化問題を前記バッチ効果を示す変数について解くことによって前記バッチ効果を推定する推定部と、
を備える分散データ非共有バッチ効果推定システム。
【請求項2】
前記取得部は、前記バッチ効果の推定対象である前記部分データが前記バッチ効果を示す変数を用いて表されたデータであるバッチ効果モデルが、前記推定部が前記最適化問題を解くための前記バッチ効果を示す変数についての空間の基底によって表されたデータが前記第1関数によって変換されて得られる表現である基底中間表現をさらに取得し、
前記データコラボレーション表現生成部は、前記取得部によって取得された前記基底中間表現を前記第2関数によって変換することによって、当該基底中間表現について前記データコラボレーション表現を生成し、
前記推定部は、前記バッチ効果を示す変数を前記基底によって展開した場合の係数について前記最適化問題を解くことによって、前記係数を算出する
請求項1に記載の分散データ非共有バッチ効果推定システム。
【請求項3】
前記推定部によって算出された前記バッチ効果に基づいて前記バッチ効果の推定対象である前記部分データについて前記バッチ効果を補正する補正部をさらに備える
請求項1または請求項2に記載の分散データ非共有バッチ効果推定システム。
【請求項4】
請求項3に記載の分散データ非共有バッチ効果推定システムと、
前記バッチ効果の推定対象である前記部分データについて前記補正部によって前記バッチ効果が補正された前記データセットの全体に含まれる前記部分データの少なくとも一部について、前記データコラボレーション表現生成部によって生成された前記データコラボレーション表現を前記一部の前記部分データについて統合して解析を行う統合解析部と
を備える分散データ統合解析システム。
【請求項5】
サンプル毎に複数の属性のデータからなるデータセットの全体が複数の保持者によって分散して保持されている各々のデータセットである部分データについて、分散している複数の前記部分データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる表現であるアンカーデータ中間表現、及び前記部分データが前記第1関数によって変換されて得られる表現である部分データ中間表現を、前記部分データ毎に取得する取得ステップと、
前記取得ステップによって取得された前記アンカーデータ中間表現及び前記部分データ中間表現について、第2関数によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記第2関数によって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現を、前記部分データ中間表現について生成するデータコラボレーション表現生成ステップと、
前記データコラボレーション表現生成ステップによって生成された前記部分データ中間表現の前記データコラボレーション表現について、基準となるデータセットに対する前記部分データに固有のずれであるバッチ効果の推定において前記基準となるデータセットについての前記データコラボレーション表現と、前記バッチ効果の推定対象である前記部分データについての前記データコラボレーション表現とを前記保持者について分類する分類問題に基づく最適化問題を前記バッチ効果を示す変数について解くことによって前記バッチ効果を推定する推定ステップと、
を有する分散データ非共有バッチ効果推定方法。
【請求項6】
コンピュータに、
サンプル毎に複数の属性のデータからなるデータセットの全体が複数の保持者によって分散して保持されている各々のデータセットである部分データについて、分散している複数の前記部分データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる表現であるアンカーデータ中間表現、及び前記部分データが前記第1関数によって変換されて得られる表現である部分データ中間表現を、前記部分データ毎に取得する取得ステップと、
前記取得ステップによって取得された前記アンカーデータ中間表現及び前記部分データ中間表現について、第2関数によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記第2関数によって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現を、前記部分データ中間表現について生成するデータコラボレーション表現生成ステップと、
前記データコラボレーション表現生成ステップによって生成された前記部分データ中間表現の前記データコラボレーション表現について、基準となるデータセットに対する前記部分データに固有のずれであるバッチ効果の推定において前記基準となるデータセットについての前記データコラボレーション表現と、前記バッチ効果の推定対象である前記部分データについての前記データコラボレーション表現とを前記保持者について分類する分類問題に基づく最適化問題を前記バッチ効果を示す変数について解くことによって前記バッチ効果を推定する推定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散データ非共有バッチ効果推定システム、分散データ統合解析システム、分散データ非共有バッチ効果推定方法、及びプログラムに関する。
【背景技術】
【0002】
複数の機関によって分散されて保持されるデータを統合して解析を行う場合に、各データセットに意図せず含まれるデータセット固有のずれ(バッチ効果という)は、統合解析の性能を劣化させる可能性がある。また、データの情報秘匿性の観点から元のデータを共有することが困難である場合がある。例えば、医療データには患者の個人情報が含まれるため、一般的には医療機関は医療データを提供できないため、元のデータを共有することができない。このように、バッチ効果及び情報秘匿性は、複数の機関によって分散されて保持されるデータを統合して解析を行う上で、重要な課題である。
【0003】
元のデータの共有を前提としてバッチ効果の推定及び補正を行う方法が知られている(非特許文献1)。一方、分散されて保持されるデータを、標準規格化を行わずに、統合して解析する技術である分散データ統合解析技術として、データコラボレーション解析(特許文献1)やFederated Learning(非特許文献2)などの方法が知られている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】「Nat Biotechnol」、2018年6月、36巻、5号、p.421-427
【非特許文献2】“Federated Learning: Collaborative Machine Learning without Centralized Training Data”、[online]、2017年4月6日、インターネット〈URL:https://ai.googleblog.com/2017/04/federated-learning-collaborative.html〉
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のバッチ効果の推定及び補正の方法では、バッチ効果の推定及び補正が可能であっても、分散して保持される元のデータの共有を前提としている。そのため、データの情報秘匿性の観点から元のデータを共有することが困難である場合には、当該方法を適用できない。一方、元のデータ共有することなく、分散されて保持される複数のデータを統合して解析する分散データ統合解析技術では、データセット固有のずれであるバッチ効果が考慮されていない。
このように、分散されて保持される複数のデータについてデータを共有せずにデータに固有のずれを推定することが求められている。
【0007】
本発明は上記の点に鑑みてなされたものであり、分散されて保持される複数のデータについてデータを共有せずにデータに固有のずれを推定できる分散データ非共有バッチ効果推定システム、分散データ統合解析システム、分散データ非共有バッチ効果推定方法、及びプログラムを提供する。
【課題を解決するための手段】
【0008】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、サンプル毎に複数の属性のデータからなるデータセットの全体が複数の保持者によって分散して保持されている各々のデータセットである部分データについて、分散している複数の前記部分データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる表現であるアンカーデータ中間表現、及び前記部分データが前記第1関数によって変換されて得られる表現である部分データ中間表現を、前記部分データ毎に取得する取得部と、前記取得部によって取得された前記アンカーデータ中間表現及び前記部分データ中間表現について、第2関数によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記第2関数によって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現を、前記部分データ中間表現について生成するデータコラボレーション表現生成部と、前記データコラボレーション表現生成部によって生成された前記部分データ中間表現の前記データコラボレーション表現について、基準となるデータセットに対する前記部分データに固有のずれであるバッチ効果の推定において前記基準となるデータセットについての前記データコラボレーション表現と、前記バッチ効果の推定対象である前記部分データについての前記データコラボレーション表現とを前記保持者について分類する分類問題に基づく最適化問題を前記バッチ効果を示す変数について解くことによって前記バッチ効果を推定する推定部と、を備える分散データ非共有バッチ効果推定システムを提供する。
【0009】
また、本発明の一態様は、上記の分散データ非共有バッチ効果推定システムにおいて、前記取得部は、前記バッチ効果の推定対象である前記部分データが前記バッチ効果を示す変数を用いて表されたデータであるバッチ効果モデルが、前記推定部が前記最適化問題を解くための前記バッチ効果を示す変数についての空間の基底によって表されたデータが前記第1関数によって変換されて得られる表現である基底中間表現をさらに取得し、前記データコラボレーション表現生成部は、前記取得部によって取得された前記基底中間表現を前記第2関数によって変換することによって、当該基底中間表現について前記データコラボレーション表現を生成し、前記推定部は、前記バッチ効果を示す変数を前記基底によって展開した場合の係数について前記最適化問題を解くことによって、前記係数を算出する請求項1に記載の分散データ非共有バッチ効果推定システムを提供する。
【0010】
また、本発明の一態様は、上記の分散データ非共有バッチ効果推定システムにおいて、前記推定部によって算出された前記バッチ効果に基づいて前記バッチ効果の推定対象である前記部分データについて前記バッチ効果を補正する補正部をさらに備える請求項1または請求項2に記載の分散データ非共有バッチ効果推定システムを提供する。
【0011】
また、本発明の一態様は、上記の分散データ非共有バッチ効果推定システムと、前記バッチ効果の推定対象である前記部分データについて前記補正部によって前記バッチ効果が補正された前記データセットの全体に含まれる前記部分データの少なくとも一部について、前記データコラボレーション表現生成部によって生成された前記データコラボレーション表現を前記一部の前記部分データについて統合して解析を行う統合解析部とを備える請求項3に記載の分散データ統合解析システムを提供する。
【0012】
また、本発明の一態様は、サンプル毎に複数の属性のデータからなるデータセットの全体が複数の保持者によって分散して保持されている各々のデータセットである部分データについて、分散している複数の前記部分データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる表現であるアンカーデータ中間表現、及び前記部分データが前記第1関数によって変換されて得られる表現である部分データ中間表現を、前記部分データ毎に取得する取得ステップと、前記取得ステップによって取得された前記アンカーデータ中間表現及び前記部分データ中間表現について、第2関数によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記第2関数によって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現を、前記部分データ中間表現について生成するデータコラボレーション表現生成ステップと、前記データコラボレーション表現生成ステップによって生成された前記部分データ中間表現の前記データコラボレーション表現について、基準となるデータセットに対する前記部分データに固有のずれであるバッチ効果の推定において前記基準となるデータセットについての前記データコラボレーション表現と、前記バッチ効果の推定対象である前記部分データについての前記データコラボレーション表現とを前記保持者について分類する分類問題に基づく最適化問題を前記バッチ効果を示す変数について解くことによって前記バッチ効果を推定する推定ステップと、を有する分散データ非共有バッチ効果推定方法を提供する。
【0013】
また、本発明の一態様は、コンピュータに、サンプル毎に複数の属性のデータからなるデータセットの全体が複数の保持者によって分散して保持されている各々のデータセットである部分データについて、分散している複数の前記部分データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる表現であるアンカーデータ中間表現、及び前記部分データが前記第1関数によって変換されて得られる表現である部分データ中間表現を、前記部分データ毎に取得する取得ステップと、前記取得ステップによって取得された前記アンカーデータ中間表現及び前記部分データ中間表現について、第2関数によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記第2関数によって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現を、前記部分データ中間表現について生成するデータコラボレーション表現生成ステップと、前記データコラボレーション表現生成ステップによって生成された前記部分データ中間表現の前記データコラボレーション表現について、基準となるデータセットに対する前記部分データに固有のずれであるバッチ効果の推定において前記基準となるデータセットについての前記データコラボレーション表現と、前記バッチ効果の推定対象である前記部分データについての前記データコラボレーション表現とを前記保持者について分類する分類問題に基づく最適化問題を前記バッチ効果を示す変数について解くことによって前記バッチ効果を推定する推定ステップと、を実行させるためのプログラムを提供する。
【発明の効果】
【0014】
本発明によれば、分散されて保持される複数のデータについてデータを共有せずにデータに固有のずれを推定できる。
【図面の簡単な説明】
【0015】
【
図1】本発明の第1の実施形態に係るバッチ効果推定システムの概要を示す図である。
【
図2】本発明の第1の実施形態に係るデータセットの一例を示す図である。
【
図3】本発明の第1の実施形態に係るバッチ効果推定システムの構成の一例を示す図である。
【
図4】本発明の第1の実施形態に係るバッチ効果の基準となるサーバの機能構成の一例を示す図である。
【
図5】本発明の第1の実施形態に係るバッチ効果の推定対象であるサーバの機能構成の一例を示す図である。
【
図6】本発明の第1の実施形態に係る分散されて保持されるデータセットの一例を示す図である。
【
図7】本発明の第1の実施形態に係る抽象化処理の一例を示す図である。
【
図8】本発明の第1の実施形態に係るアンカーデータと機関との対応の一例を示す。
【
図9】本発明の第1の実施形態に係るバッチ効果推定処理の一例を示す図である。
【
図10】本発明の第1の実施形態に係るバッチ効果推定処理の概要の一例を示す図である。
【
図11】本発明の第2の実施形態に係る統合データ解析システムの構成の一例を示す図である。
【
図12】本発明の第2の実施形態に係る分散データ統合処理の一例を示す図である。
【
図13】本発明の第1実施例に係る主要な特徴量の空間にプロットされた部分データを示す図である。
【
図14】本発明の第1実施例に係る最適化問題の目的関数を示す図である。
【
図15】本発明の第1実施例に係るバッチ効果の補正結果を示す図である。
【
図16】本発明の第2実施例に係るサンプル数を変化させた場合のバッチ効果の補正結果を示す図である。
【
図17】本発明の第2実施例に係るサンプル数を変化させた場合の「機関2」に保持される部分データのみを用いた解析精度を示す図である。
【
図18】本発明の第3実施例に係るデータセットに含まれる8種類のデータセット毎の解析結果を示す。
【発明を実施するための形態】
【0016】
(第1の実施形態)
[バッチ効果推定システムSSの概要]
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本実施形態に係るバッチ効果推定システムSSの概要を示す図である。バッチ効果推定システムSSでは、部分データが複数の機関に分散して保持されている。複数の機関とは、例えば、医療機関、金融機関、研究機関などである。なお、複数の機関は、データセットの全体が分散された部分データの各々を保持する複数の保持者の一例である。部分データは、機関の種類によって異なるが、例えば、医療データなどの秘匿性の高い情報が含まれるデータである。
図1に示す例では、部分データX1、及び部分データX2がそれぞれ、「機関1」、及び「機関2」にそれぞれ分散して保持されている。
【0017】
複数の機関に分散して保持される部分データには、バッチ効果が含まれている場合がある。本実施形態においてバッチ効果とは、基準となるデータセットに対するデータ固有のずれである。バッチ効果は、例えば、実験条件、人的条件などの差異によって意図せずに生じ得る。実験条件による差異とは、実験で使用する機器の種類または個体による差異、機器の調整の差異、環境の差異などである。人的条件による差異とは、実験者による操作の違いなどによる人的な差異である。実験条件、人的条件は、複数の機関毎に互いに異なり得るため、部分データにはバッチ効果が含まれ得る。
【0018】
バッチ効果推定システムSSでは、分散して保持されるデータに対して、秘匿情報を含む部分データではなく抽象化されたデータである中間表現を共有し、各データセットに意図せず含まれるバッチ効果の推定及び補正を行う。また、バッチ効果推定システムSSでは、バッチ効果の推定の処理の効率を上げるために、バッチ効果を推定するための基底を導入し、この基底が抽象化された中間表現基底の共有も行う。
【0019】
図2は、本実施形態に係るデータセットの一例を示す図である。データセットは、サンプル毎に複数の特徴量のデータからなる。特徴量は、属性ともいう。データセットは、サンプルまたは特徴量の少なくとも一方について、複数の機関によって分散して保持される。つまり、複数の機関は、データセットの全体のうち、サンプルまたは特徴量の少なくとも一方について一部のデータのみを保持する。
以下の説明において、データセットの全体のうち複数の機関によってそれぞれ保持されている各々のデータセットを部分データともいう。部分データは、サンプル毎に1以上の特徴量のデータからなる。
【0020】
図2に示す例では、データセットの全体は、サンプル及び特徴量のそれぞれについて2分割され、合計4つの部分データに分割されている。4つの部分データはそれぞれ、機関(「機関11」、「機関12」、「機関21」、「機関22」)によってそれぞれ保持されている。
データセットの全体を、機関(または部分データ)を要素とする行列とみなして、サンプルの方向、及び特徴量の方向をそれぞれ、行、及び列という場合がある。
図2に示す例では、データセットの全体は、2行2列の行列とみなせる。以下の説明において、当該行列を、機関(または部分データ)を要素とする行列ともいう。
【0021】
なお、後述するように、データセットの全体は、サンプル及び特徴量のそれぞれについて任意の数に分割されてよい。以下の説明において、データセットの全体がサンプルについて分割されている数をサンプル分割数cといい、特徴量について分割されている数を特徴量分割数dという場合がある。
図2に示す例は、サンプル分割数cが2、特徴量分割数dが2の場合である。
【0022】
バッチ効果の推定においては、バッチ効果の基準となるデータセットである基準データセットが予め設定される。本実施形態では、データセットの全体のなかから基準となる機関が指定され、当該機関に保持される部分データが基準データセットとして選択される。
本実施形態では、基準となる機関は、サンプルが機関を単位として指定されることによって選択される。換言すれば基準となる機関は、行列の行が指定されることによって、当該行に含まれる機関が選択される。本実施形態では、行列の行が指定されることによって基準となる機関が選択されるため、基準データセットには、全ての種類の属性が含まれる。なお、基準となる機関を選択するために、行列の行は複数指定されてよい。
【0023】
図2では、例えば、基準となる機関として行列の1行目が指定される場合、1行目には「機関11」及び「機関12」が含まれるため、「機関11」に保持される部分データと、「機関12」に保持される部分データとを合わせたデータセットが基準データセットして選択される。
【0024】
[バッチ効果推定装置2の構成]
図3は、本実施形態に係るバッチ効果推定システムSSの構成の一例を示す図である。バッチ効果推定システムSSは、サーバSij(i=1、2、・・・、c:cはサンプル分割数c、j=1、2、・・・、d:dは特徴量分割数d)と、バッチ効果推定装置2とを備える。
【0025】
サーバSijはそれぞれ、部分データXijを保持している。サーバSijは、部分データXijを保持する複数の機関にそれぞれ対応する。例えば、サーバSijは、それらの複数の機関に保有されるサーバである。部分データXijは、サンプル毎に複数の属性のデータからなるデータセットXが複数の機関ijによって分散して保持されている各々のデータセットである。
【0026】
図3に示す例では、サーバS11~S1dが基準となる機関に対応し、サーバS11~S1dがそれぞれ保持する部分データX11~X1dが基準データセットである。サーバS21~S2d、・・・、サーバSc1~Scdにそれぞれ保有される部分データX21~X2d、・・・、部分データXc1~Xcdは、バッチ効果の推定の対象となるデータセットである。
【0027】
部分アンカーデータADjは、サーバS1j~cjのうちいずれか1つのサーバSijによって生成されて、当該サーバSijからサーバS1j~cjのうちサーバSij以外のサーバに供給される。なお、サーバS1j~cjには、共通の部分アンカーデータADjが予め供給されてもよい。その場合、部分アンカーデータADjは、例えば、バッチ効果推定装置2から供給される。
部分アンカーデータADjとは、分散している部分データXijの統合において共通に用いられる疑似データである。部分アンカーデータADjには秘匿情報は含まれていないため、部分アンカーデータADjは複数の機関において共有されてよい。
【0028】
部分アンカーデータADjは、特徴量毎に生成される。部分アンカーデータADjは、部分データXijに近いデータであることが、分散されたデータセットを統合してバッチ効果の推定を行う観点から好ましい。部分アンカーデータADjが部分データXijに近いデータであるとは、例えば、部分アンカーデータADjの数値範囲と、部分データXijの数値範囲とが共通であることである。また、部分アンカーデータADjが部分データXijに近いデータであるとは、例えば、部分アンカーデータADjに含まれる特徴量には、部分データXijに含まれる特徴量の全てが含まれることである。部分アンカーデータADjの各データの値は、例えば、ランダムに生成された値である。
部分アンカーデータADjは、分散している複数の部分データXijの統合において共通に用いられるデータである。
【0029】
ここでサーバSijは、互いに同様の機能を有する。ただし、上述したように、サーバS11~S1dは、基準となる機関に対応し、サーバS21~S2d、・・・、サーバSc1~Scdは、バッチ効果の推定の対象となる機関に対応する。サーバS21~S2d、・・・、サーバSc1~Scdは、バッチ効果の推定のために、サーバS11~S1dとは異なる処理を行う。以下では、サーバS11~S1dに共通する機能を、サーバS1jに代表させて説明し、サーバS21~S2d、・・・、サーバSc1~Scdに共通する機能は、サーバSijに代表させて説明する。
【0030】
図4は、本実施形態に係るバッチ効果の基準となるサーバS1jの機能構成の一例を示す図である。サーバS1jは、中間表現生成部10を備える。
【0031】
中間表現生成部10は、部分データX1jを第1関数f1jによって部分データ中間表現IR1jに変換する。第1関数f1jは、部分データX1jを抽象化する線形もしくは非線形の関数である。ここで抽象化は、例えば、線形次元削減法、非線形次元削減法、及びディープニューラルネットワークにおいて用いられるオートエンコーダなどによって実行される。なお、中間表現生成部10は、部分データX1jから秘匿情報を除いた後に、秘匿情報が除かれた部分データX1jを部分データ中間表現IR1jに変換してよい。
部分データ中間表現IR1jは、解析対象データが第1関数によって変換されて得られる中間表現である解析対象中間表現の一例である。
【0032】
また、中間表現生成部10は、自装置に予め供給される部分アンカーデータAD1を、第1関数f1jによってアンカーデータ中間表現AR1jに変換する。この第1関数f1jは、部分データX1jを部分データ中間表現IR1jに変換するのに用いられた関数と同じである。
【0033】
図5は、本実施形態に係るバッチ効果の推定対象であるサーバSijの機能構成の一例を示す図である。サーバSijは、中間表現生成部10と、バッチ効果モデル生成部11と、補正部12とを備える。
【0034】
バッチ効果モデル生成部11は、自身が保持する部分データXijに対して、バッチ効果モデルを設定する。バッチ効果モデルは、部分データXijがバッチ効果を示す変数を用いて表されたデータである。以下の説明では、バッチ効果を示す変数をバッチ効果係数Dともいう。さらに、バッチ効果モデル生成部11は、バッチ効果モデルを、基底Bijを用いて表す。基底Bijは、バッチ効果係数Dについての空間の基底である。
【0035】
中間表現生成部10は、上述の基底を用いて表されたバッチ効果モデルを、第1関数fijによって基底中間表現BRijに変換する。第1関数fijは、部分データXijを部分データ中間表現IRijに変換するのに用いられる関数と同じである。
なお、上述したようにサーバS1jは基準となる機関に対応するため、サーバS1jは基底データを生成する必要がない。
【0036】
補正部12は、バッチ効果推定装置2によって算出されたバッチ効果係数Dに基づいて、部分データXijのバッチ効果を補正する。または、バッチ効果推定装置2によって重みαkが算出される場合、補正部12は、当該重みαkと、バッチ効果モデル生成部11によって生成された基底Bijとに基づいて、部分データXijのバッチ効果を補正する。重みαkは、バッチ効果係数Dを、基底Bijによって展開した場合の展開係数である。
【0037】
図3に戻って、バッチ効果推定システムSSの構成の説明を続ける。
バッチ効果推定装置2は、バッチ効果を推定する装置である。バッチ効果推定装置2は、取得部20と、データコラボレーション表現生成部21と、推定部22と、出力部23とを備える。
【0038】
バッチ効果推定装置2は、一例として、サーバやパーソナルコンピュータ(Personal Computer:PC)などのコンピュータである。バッチ効果推定装置2が備える各機能部は、CPU(Central Processing Unit)がROM(Read Only Memory)からプログラムを読み込んで処理を実行することにより実現される。
【0039】
取得部20は、サーバSijからアンカーデータ中間表現ARijを取得する。また、取得部20は、サーバSijから部分データ中間表現IRijを取得する。また、取得部20は、サーバS21~S2d、・・・、サーバSc1~Scdから基底中間表現BR21~BR2d、・・・、基底中間表現BRc1~BRcdを取得する。
【0040】
データコラボレーション表現生成部21は、部分データ中間表現IRij、基底中間表現BRijそれぞれについて、データコラボレーション表現を生成する。データコラボレーション表現とは、第2関数giによって変換されたアンカーデータ中間表現相互間の差を最小にする当該第2関数giによって中間表現を変換することによって得られるデータ表現である。データコラボレーション表現生成部21は、部分データ中間表現IRijのデータコラボレーション表現としてデータコラボレーション表現CRijを生成する。データコラボレーション表現生成部21は、基底中間表現BRijのデータコラボレーション表現として基底データコラボレーション表現VRijを生成する。
【0041】
推定部22は、基底データコラボレーション表現VRijを用いて、機関分類問題を基盤とした最適化問題を解くことによって、バッチ効果を推定する。この機関分類問題とは、基底データコラボレーション表現VRijを、それらの基底データコラボレーション表現VRijを得るために用いた部分データXijを保持する機関について分類する分類問題である。機関分類問題を基盤とした最適化問題は、機関分類問題の分類結果と正解の分類結果との差を評価するためのコスト関数(損失関数ともいう)の値が最大となるような解を、バッチ効果係数について探索する最適化問題である。
【0042】
出力部23は、推定部22によって推定されたバッチ効果を外部装置に出力する。外部装置とは、例えば、バッチ効果が補正された部分データを統合して解析を行う装置である。後述する分散データ統合装置3は、そのような外部装置の一例である。
【0043】
[バッチ効果推定処理]
ここで
図6から
図9を参照し、バッチ効果推定装置2がバッチ効果を推定する処理であるバッチ効果推定処理について説明する。
【0044】
図6は、本実施形態に係る分散されて保持されるデータセットの一例を示す図である。
図6(A)は、データセットの全体であるデータセットXを示す。データセットXは、サンプル数がn、特徴量の数がmであるデータである。
【0045】
図6(B)は、データセットXが部分データに分割されたそれぞれの部分データX11、X12、…、X1d、X21、X22、…、X2d、Xc1、X2c2、…、Xcdを示す。データセットXは、サンプルについてサンプル分割数cで示される数に分割され、特徴量について特徴量分割数dで示される数に分割される。これら部分データを、部分データXij(i=1、2、・・・、c:cはサンプル分割数c、j=1、2、・・・、d:dは特徴量分割数d)とも示す。
部分データXijは、サンプル数がni、特徴量数がmjであるデータセットである。ここで、サンプル数がni、特徴量数がmjはそれぞれ、部分データXij相互間において異なっていてもよいし、同じであってもよい。
【0046】
図6(C)は部分データXijを保持する機関ij(i=1、2、・・・、c:cはサンプル分割数c、j=1、2、・・・、d:dは特徴量分割数d)を示す。本実施形態では、機関ijが保持する部分データXijに含まれる特徴量数は、mjのように、機関を要素とする行列の列を示す数jのみに依存する。機関ijが保持する部分データXijに含まれるサンプル数は、niのように、機関を要素とする行列の行を示す数iのみに依存する。
【0047】
なお、機関ijが保持する部分データXijの特徴量数がmijのように、機関を要素とする行列の列だけでなく行にも依存するように、データセットXは分割されてよい。また、機関ijが保持する部分データXijのサンプル数がnijのように、機関を要素とする行列の行だけでなく列にも依存するように、データセットXは分割されてよい。
【0048】
ここで
図7を参照し、サーバSijが部分データXijを抽象化する処理である抽象化処理について説明する。抽象化処理は、バッチ効果推定処理の実行前に行われる前処理に相当する。
図7は、本実施形態に係る抽象化処理の一例を示す図である。
【0049】
ステップS10:バッチ効果推定装置2は、基準データセットを設定する。バッチ効果推定装置2は、部分データXijを分割されたサンプルを指定することによって基準データセットを設定する。つまり、バッチ効果推定装置2は、部分データXijのサンプルについて、1からサンプル分割数cまでの指数iからいずれか1つを選択する。バッチ効果推定装置2は、選択した指数iについて、部分データXi1、部分データXi2、・・・、部分データXidを基準データセットとして設定する。
【0050】
なお、基準データセットは複数設定されてもよい。例えば、バッチ効果推定装置2は、部分データXijのサンプルについて、1からサンプル分割数cまでの指数iからいずれか2つ以上を選択してもよい。例えば、バッチ効果推定装置2は、部分データXi1、部分データXi2、・・・、部分データXidと、部分データXi1、部分データXi2、・・・、部分データXidとを基準データセットとして設定してもよい。
【0051】
部分データXi1、部分データXi2、・・・、部分データXidを基準データセットとして設定が基準データセットとして設定された場合、機関i1、機関i2、・・・、機関idがバッチ効果推定の基準となる機関となる。また、その場合、複数の機関ijのうち機関i1、機関i2、・・・、機関id以外の機関がバッチ効果推定の対象となる機関となる。
バッチ効果推定装置2は、バッチ効果推定の対象となる機関に、それらの機関がバッチ効果推定の対象として設定されたことを通知する。
【0052】
なお、バッチ効果推定装置2は、基準データセットを設定する際、例えば、バッチ効果推定装置2のユーザからの操作によって指定される指数iに基づいて基準データセットを設定する。また、バッチ効果推定装置2は、基準データセットを指定する情報に基づいて基準データセットを設定してもよい。当該情報は、バッチ効果推定装置2に予め記憶される。なお、基準データセットを指定する情報は、バッチ効果推定システムSSの外部の装置から取得してもよいし、複数の機関ijのいずれかから取得してもよい。
【0053】
ステップS20:バッチ効果推定の対象となる機関は、バッチ効果モデルを設定する。バッチ効果推定の対象となる機関は、基準データセットに対して自身が保持する部分データXijのバッチ効果モデルを設定する。
【0054】
バッチ効果モデルは、例えば、スケーリングのモデルやシフトのモデルである。スケーリングのモデルは、バッチ効果を示す対角行列Dijを用いて式(1)によって表される。
【0055】
【0056】
シフトのモデルは、バッチ効果を示すmj次元縦ベクトルbijを用いて式(2)によって表される。ここで数mjは、バッチ効果推定の対象となる機関が保持する部分データXijに含まれる特徴量の数である。
【0057】
【0058】
なお、バッチ効果モデルは、シフトとスケーリングの両方に基づくモデルや、非線形モデルであってもよい。
【0059】
ステップS30:中間表現生成部10は、部分アンカーデータADjを生成する。当該中間表現生成部10は、サーバS1j~cjのうちいずれか1つのサーバSijに備えられる中間表現生成部10である。サーバSijに備えられる中間表現生成部10は、生成した部分アンカーデータADjを、サーバS1j~cjのうちサーバSij以外のサーバにそれぞれ備えられる中間表現生成部10にそれぞれ供給する。ステップS30の部分アンカーデータADjの生成処理は、機関を要素とする行列の列毎に実行される。つまり、j(j=1、2、・・・、d:dは特徴量分割数d)毎に実行される。
【0060】
部分アンカーデータADjに含まれる特徴量の数は、部分データXijに含まれる特徴量の数mjと一致する。部分アンカーデータADjに含まれる特徴量の値は、当該特徴量について、部分データXijに含まれる特徴量の値の分布をある程度再現することが好ましい。中間表現生成部10は、例えば、各特徴量の最小値から最大値までの範囲に値をもつ乱数として部分アンカーデータADjを生成する。また、中間表現生成部10、例えば、部分データXijに含まれる特徴量の値を低い次数で近似し摂動を加えるなどして部分アンカーデータADjを生成してもよい。
部分アンカーデータADjに含まれるサンプルの数は、複数のjについて互いに等しい。部分アンカーデータADjに含まれるサンプルの数は、1つあればよい。
【0061】
図8に、アンカーデータADと機関との対応の一例を示す。
図8(A)は、アンカーデータADの全体を示す。
図8(B)は、アンカーデータADが分割された部分アンカーデータADjを示す。部分アンカーデータADjは、アンカーデータADが特徴量について分割されたデータセットである。
図8(C)は、部分アンカーデータADjが供給される複数の機関ijを示す。
【0062】
アンカーデータADは、データセットXが部分データXijに分割される方法に応じて部分アンカーデータADjに分割される。部分アンカーデータADjに含まれる特徴量の数は、機関ijが保持する部分データXijに含まれる特徴量の数と等しい。
バッチ効果推定装置2は、部分アンカーデータADjを、当該部分アンカーデータADjを供給するサーバSij(i=1、2、・・・、c:cはサンプル分割数c)の数だけ複製して、サーバSijそれぞれに部分アンカーデータADjを供給する。
【0063】
ステップS40:機関ijに備えられるサーバSijそれぞれは、部分データXij及び部分アンカーデータADjを抽象化する。抽象化とは、データセットを中間表現に変換することである。サーバSijは、部分データXijを第1関数fijによって部分データ中間表現IRijに変換する。サーバSijは、部分アンカーデータADjを第1関数fijによって部分データ中間表現IRijに変換する。ここで、第1関数fijは、部分データXij及び部分アンカーデータADjそれぞれの抽象化に共通して用いられる。
【0064】
サーバSijは、抽象化の方法として、主成分分析(Principal Component Analysis:PCA)、局所性保存射影(Locality Preserving Projection:LPP)などの線形の次元削減法を用いる。
【0065】
また、複数のサーバSijのうちバッチ効果の推定対象である機関に備えられるサーバSijは、バッチ効果係数bijの探索空間の基底を生成する。式(3)は、当該基底の一例である。
【0066】
【0067】
サーバSijは、基底ベクトルv_ijkを用いて、バッチ効果モデルを表す。式(4)は、基底ベクトルv_ijkを用いて表されたスケーリングの場合のバッチ効果モデルの一例である。
【0068】
【0069】
式(5)は、基底ベクトルv_ijkを用いて表されたシフトの場合のバッチ効果モデルの一例である。
【0070】
【0071】
サーバSijは、部分データXij及び部分アンカーデータADjの抽象化に用いた抽象化関数である第1関数fijを用いて、基底ベクトルv_ijkを用いて表されたバッチ効果モデルを基底中間表現BRijに変換する。
以上で、バッチ効果推定システムSSは、抽象化処理を終了する。
【0072】
図9は、本実施形態に係るバッチ効果推定処理の一例を示す図である。バッチ効果推定処理は、バッチ効果推定装置2によって実行される。
【0073】
ステップS110:取得部20は、部分データ中間表現IRij、及びアンカーデータ中間表現ARijをサーバSijから取得する。つまり、取得部20は、全ての機関から部分データ中間表現、及びアンカーデータ中間表現を、分散された部分データ毎に取得する。
【0074】
ここで上述したように、アンカーデータ中間表現ARijは、部分アンカーデータADjが第1関数fijによって変換されて得られる表現である。部分データ中間表現IRijは、部分データXijが第1関数fijによって変換されて得られる表現である。取得部20は、部分データXijについて、アンカーデータ中間表現ARij、及び部分データ中間表現IRijを、部分データXij毎に取得する。
【0075】
また、取得部20は、基底中間表現BR21~BR2d、・・・、基底中間表現BRc1~BRcdをサーバS21~S2d、・・・、サーバSc1~Scdから取得する。つまり、取得部20は、バッチ効果の推定対象の機関からは、基底中間表現を分散された部分データ毎に取得する。
【0076】
上述したように、基底中間表現BRijは、バッチ効果の推定対象である部分データXijがバッチ効果係数Dを用いて表されたデータであるバッチ効果モデルが、推定部22が機関分類問題を基盤とした最適化問題を解くためのバッチ効果係数Dについての空間の基底Bijによって表されたデータが第1関数fijによって変換されて得られる表現である。取得部20は、基底中間表現BRijをさらに取得する。
【0077】
ステップS120:データコラボレーション表現生成部21は、第2関数giを算出する。ここでデータコラボレーション表現生成部21は、アンカーデータ中間表現を第2関数giによって変換して得られる変換後データ相互間の差を最小にする部分データ毎の第2関数giを算出する。
【0078】
データコラボレーション表現生成部21は、取得部20によって取得された部分データ中間表現IRij、アンカーデータ中間表現ARij、及び基底中間表現BR21~BR2d、・・・、基底中間表現BRc1~BRcdを、特徴量について結合する。
式(6)は、部分データ中間表現IRijを特徴量について結合して得られる中間表現を示す。
【0079】
【0080】
式(7)は、アンカーデータ中間表現ARijを特徴量について結合して得られる中間表現を示す。
【0081】
【0082】
式(8)は、基底中間表現BR21~BR2d、・・・、基底中間表現BRc1~BRcdを特徴量について結合して得られる中間表現を示す。
【0083】
【0084】
データコラボレーション表現生成部21は、結合したアンカーデータの中間表現tXa_iが、1からサンプル分割数cまでの指数i相互間について一致するように、一般化したTotal Least Squares問題を解く。これによって、データコラボレーション表現生成部21は、最適なデータコラボレーション形式への第2関数giを生成する。
なお、第2関数giを生成する方法として、一般化したTotal Least Squares問題に基づく方法以外にも線形の次元削減法などが用いられてもよい。
【0085】
ステップS130:データコラボレーション表現生成部21は、データコラボレーション表現を生成する。データコラボレーション表現生成部21は、生成した第2関数giによって部分データ中間表現IRijを変換することによって、データコラボレーション表現CRijを生成する。データコラボレーション表現生成部21は、生成した第2関数giによって、基底中間表現BR21~BR2d、・・・、基底中間表現BRc1~BRcdを変換することによって、基底データコラボレーション表現VRijを生成する。
【0086】
データコラボレーション表現生成部21は、取得部20によって取得されたアンカーデータ中間表現ARij及び部分データ中間表現IRijについて、第2関数giによって変換されたアンカーデータ中間表現ARij相互間の差を最小にする第2関数giによって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現Cijを、部分データ中間表現IRijについて生成する。
本実施形態では、データコラボレーション表現生成部21は、取得部20によって取得された基底中間表現BRijを第2関数giによって変換することによって、当該基底中間表現BRijについてデータコラボレーション表現Cijを生成する。
【0087】
ステップS140:推定部22は、データコラボレーション表現CRij、及び基底データコラボレーション表現VRijを用いて、機関分類問題を基盤とした最適化問題を解くことによって、バッチ効果を推定する。推定部22は、部分データ中間表現IRijのデータコラボレーション表現CRijについて、基準データセットについてのデータコラボレーション表現CR1jと、バッチ効果の推定対象である部分データXijについてのデータコラボレーション表現CRijとを機関ijについて分類する分類問題に基づく最適化問題を、バッチ効果係数について解くことによってバッチ効果を推定する。
【0088】
上述したように、推定部22は、データコラボレーション表現生成部21によって生成された部分データ中間表現IRijのデータコラボレーション表現Cijについて、基準データセットに対する部分データXijに固有のずれであるバッチ効果の推定において基準データセットについてのデータコラボレーション表現Cijと、バッチ効果の推定対象である部分データXijについてのデータコラボレーション表現Cijとを機関ijについて分類する機関分類問題を基盤とした最適化問題をバッチ効果係数Dについて解くことによってバッチ効果を推定する。
【0089】
本実施形態では、推定部22は、バッチ効果係数を基底によって展開した場合の係数(重みともいう)について最適化問題を解くことによって、当該係数を算出する。当該基底は、最適化問題を解くためのバッチ効果係数についての空間の基底である。
【0090】
上述したように、推定部22は、バッチ効果係数Dを基底Bijによって展開した場合の重みαkについて機関分類問題を基盤とした最適化問題を解くことによって、重みαkを算出する。
【0091】
機関分類問題は、コスト関数及びモデルは任意に選択されてよい。コスト関数としては、例えば、最小二乗誤差やKLダイバージェンスが利用できる。モデルとしては、例えば、最小二乗法、リッジ回帰、ロジスティック回帰、Lasso(Least Absolute Shrinkage and Selection Operator:LASSO)回帰が利用できる。また、モデルとして、最小二乗法、リッジ回帰、ロジスティック回帰、Lasso回帰のカーネル版が利用されてもよいし、ディープニューラルネットワークなどが利用されてもよい。
機関分類問題の求解は、例えば、準ニュートン法やシンプレックス法などが利用できる。
【0092】
本実施形態では、一例として、機関分類問題のコスト関数が最小二乗誤差である場合を説明する。まず、バッチ効果係数が基底によって展開されていない場合について説明する。式(9)は、機関分類問題のコスト関数が最小二乗誤差である場合について、当該コスト関数をバッチ効果係数について最大化する最適化問題を示す。
【0093】
【0094】
式(9)において、以下の式(10)によって示される部分は、基準データセットの部分データ中間表現IR1jに対応する。G1は、基準データセットについての部分データ中間表現IR1jをデータコラボレーション表現CR1jに変換する第2関数giを示す。
【0095】
【0096】
式(9)において、以下の式(11)によって示される部分は、バッチ効果の推定対象である部分データXijの部分データ中間表現IRijに対応する。G2は、バッチ効果の推定対象についての部分データ中間表現IRijをデータコラボレーション表現CRijに変換する第2関数giを示す。
【0097】
【0098】
式(9)では、データコラボレーション表現が変数Wによって、機関分類問題の分類結果を示す量へと変換される。なお、変数Wは行列である。式(9)では、当該分類結果と、正解の分類結果との差が最小二乗誤差として評価されている。
【0099】
式(9)において、機関分類問題の変数Wのうち最小二乗誤差であるコスト関数の値を最小にするものが算出される。最適化問題では、式(9)において、さらにバッチ効果係数Dのうち、機関分類問題によって最小化されたコスト関数の値を最大にするものが算出される。推定部22は、バッチ効果係数Dを変更しながら反復計算を行うことによって、機関分類問題によって最小化されたコスト関数の値を最大にするバッチ効果係数Dを算出する。
【0100】
ここで機関分類問題によって最小化されたコスト関数の値を最大にすることは、機関分類問題によって機関の分類がうまくできないことに相当する。つまり、機関分類問題に基づく最適化問題では、機関分類問題によって、基準データセットと、バッチ効果の推定対象であるデータセットとデータコラボレーション表現を用いて表した上で、基準データセットと、バッチ効果の推定対象であるデータセットとが区別されないようなバッチ効果係数Dを算出する。そのようにして算出されたバッチ効果係数Dは、バッチ効果の推定対象であるデータセットのバッチ効果による基準データセットからのずれを示す量となる。
【0101】
上述したように、推定部22は、最適化問題の演算の過程において、バッチ効果係数Dを変更しながら反復計算を行う。式(9)において、バッチ効果係数Dは、部分データ中間表現IRijの中に含まれている。そのため、バッチ効果係数Dを変更しながら反復計算を行う過程において、反復計算の度に部分データ中間表現IRijが生成される必要がある。部分データ中間表現IRijはサーバSijによって生成されるため、サーバSijは、バッチ効果推定装置2が最適化問題の反復計算の過程においてバッチ効果係数Dを変更する度に部分データ中間表現IRijを再生成する必要がある。これに応じて、バッチ効果推定装置2は、最適化問題の反復計算の過程においてバッチ効果係数Dを変更する度に、再生成された部分データ中間表現IRijをサーバSijから取得しなければならない。したがって、バッチ効果係数Dを変更する度に、バッチ効果推定装置2と機関ijとの間の通信が発生してしまう。
【0102】
そこで上述したように、本実施形態では、推定部22は、バッチ効果係数Dを基底によって展開した場合の係数について最適化問題を解くことによって、当該係数を算出する。式(12)は、s個の基底によって展開されたバッチ効果係数Dを示す。
【0103】
【0104】
バッチ推定モデルがスケーリングのモデルの場合、バッチ効果係数Dは対角行列である。式(12)に示すとおり、対角行列であるバッチ効果係数Dは、s個の対角行列である基底Dkの重み付き和で表現されている。式(12)では、重み付き和の重みを重みαkで表している。データセットの全体であるデータセットXに含まれる特徴量の数をm個とした場合、バッチ効果係数Dは、高々、m個の対角行列の重み付き和で表現可能である。
【0105】
式(13)は、式(9)においてバッチ効果係数Dが式(12)のようにs個の基底によって展開された場合の式を示す。
【0106】
【0107】
さらに、式(13)において、部分データXijに対応する行列X2と重みαkとの順番を入れ替えると、式(14)を得る。
【0108】
【0109】
式(14)において、以下の式(15)で示される行列は、s個の基底Dkを用いた場合の部分データXijの中間表現である基底中間表現BRc1~BRcdである。
【0110】
【0111】
式(14)では、最適化問題の反復計算の過程において変更されるのは、s個の重みαkである。式(15)で示される基底Dkを用いた基底中間表現BRc1~BRcdは、最適化問題の反復計算の過程において変更されない。したがって、サーバSijは、基底中間表現BRc1~BRcdを一度だけ生成すればよい。また、バッチ効果推定装置2は、基底中間表現BRc1~BRcdをサーバSijから一度だけ取得するだけでよい。
【0112】
ステップS150:出力部23は、推定部22によって算出された重みαkを、バッチ効果の推定対象である機関ijに備えられるサーバSijに出力する。
【0113】
ステップS160:サーバSijに備えられる補正部12は、自身が保有する部分データXijのバッチ効果を補正する。ここで補正部12は、バッチ効果推定装置2から出力された重みαkと、予め生成した基底Dkとに基づいて、バッチ効果係数Dを算出する。補正部12は、算出したバッチ効果係数Dに基づいて、自身が保有する部分データXijのバッチ効果を補正する。
上述したように、補正部12は、推定部22によって算出されたバッチ効果に基づいてバッチ効果の推定対象である部分データXijについてバッチ効果を補正する。
【0114】
なお、最適化問題を解く際に、バッチ効果係数Dを基底によって展開した場合の係数を用いない場合には、推定部22によってバッチ効果係数Dが算出される。その場合、出力部23は、推定部22によって算出されたバッチ効果係数Dを、バッチ効果の推定対象である機関ijに備えられるサーバSijに出力する。当該サーバSijは、バッチ効果推定装置2から出力されたバッチ効果係数Dに基づいて、自身が保有する部分データXijのバッチ効果を補正する。
以上で、バッチ効果推定システムSSは、バッチ効果推定処理を終了する。
【0115】
図10は、本実施形態に係るバッチ効果推定処理の概要の一例を示す図である。
図10では、サンプル分割数cが2、特徴量分割数dが1である場合のバッチ効果推定処理の概要を示す。「機関1」は、基準となる機関であり、「機関2」は、バッチ効果の補正対象となる機関である。つまり、「機関2」が保持する部分データX2には、「機関1」が保持する部分データX1に対して「機関2」固有のバッチ効果が含まれている。
【0116】
「機関1」は、部分データX1、及びアンカーデータXancそれぞれを第1関数f1によって中間表現に変換する。
図10では、部分データ、及びアンカーデータそれぞれの中間表現を、「X1」、及び「X1anc」それぞれにチルダを付して示す。「解析者」は、「機関1」が変換した中間表現を取得する。
【0117】
「機関2」は、部分データX1、基底V2を用いて表したバッチ効果モデル、及びアンカーデータXancそれぞれを第1関数f1によって中間表現に変換する。
図10では、部分データ、基底V2を用いて表したバッチ効果モデル、及びアンカーデータそれぞれの中間表現を、「X2」、「Xbasis、2、k」、及び「X2anc」それぞれにチルダを付して示す。「解析者」は、「機関2」が変換した中間表現を取得する。
【0118】
「解析者」は、「機関1」から取得した中間表現を、第2関数g1によって、データコラボレーション表現に変換する。
図10では、部分データ、及びアンカーデータそれぞれのデータコラボレーション表現を、「X1」、及び「X1anc」それぞれにハットを付して示す。
「解析者」は、「機関2」から取得した中間表現を、第2関数g2によって、データコラボレーション表現に変換する。
図10では、部分データ、基底を用いて表したバッチ効果モデル、及びアンカーデータそれぞれのデータコラボレーション表現を、「X1」、「Xbasis、2、k」、及び「X1anc」それぞれにハットを付して示す。
【0119】
「解析者」は、機関分類問題に基づく最適化問題を解くことによって、バッチ効果係数を基底によって展開した場合の重み(展開係数)を算出する。
図10では、当該重みは、「c2、k」によって示される。「解析者」は、算出した重みを、バッチ効果の補正対象となる機関である「機関2」に出力する。
【0120】
「機関2」は、「解析者」によって算出された重みと、自身が生成した基底とに基づいて、バッチ効果係数を算出する。
図10では、当該バッチ効果係数は、「b2、k」によって示される。「機関2」は、算出したバッチ効果係数によって、自身が保有する部分データX2を補正する。
【0121】
以上に説明したように、本実施形態に係る分散データ非共有バッチ効果推定システム(本実施形態において、バッチ効果推定システムSS)は、取得部20と、データコラボレーション表現生成部21と、推定部22とを備える。
取得部20は、サンプル毎に複数の属性のデータからなるデータセットの全体(本実施形態において、データセットX)が複数の保持者(本実施形態において、機関ij)によって分散して保持されている各々のデータセットである部分データXijについて、分散している複数の部分データXijの統合において共通に用いられるデータであるアンカーデータ(本実施形態において、部分アンカーデータADj)が第1関数f1によって変換されて得られる表現であるアンカーデータ中間表現ARij、及び部分データXijが第1関数fijによって変換されて得られる表現である部分データ中間表現IRijを、部分データXij毎に取得する。
データコラボレーション表現生成部21は、取得部20によって取得されたアンカーデータ中間表現ARij及び部分データ中間表現IRijについて、第2関数giによって変換されたアンカーデータ中間表現ARij相互間の差を最小にする第2関数giによって中間表現を変換することによって得られるデータ表現であるデータコラボレーション表現Cijを、部分データ中間表現IRijについて生成する。
推定部22は、データコラボレーション表現生成部21によって生成された部分データ中間表現IRijのデータコラボレーション表現Cijについて、基準となるデータセット(本実施形態において、基準データセット)に対する部分データXijに固有のずれであるバッチ効果の推定において基準となるデータセット(本実施形態において、基準データセット)についてのデータコラボレーション表現Cijと、バッチ効果の推定対象である部分データXijについてのデータコラボレーション表現Cijとを保持者(本実施形態において、機関ij)について分類する分類問題に基づく最適化問題(本実施形態において、機関分類問題を基盤とした最適化問題)をバッチ効果を示す変数(本実施形態において、バッチ効果係数D)について解くことによってバッチ効果を推定する。
【0122】
この構成により、本実施形態に係る分散データ非共有バッチ効果推定システムでは、データコラボレーション表現Cijについて上記の最適化問題を解くことができるため、分散されて保持される複数のデータについてデータを共有せずにデータに固有のずれを推定できる。ここでデータを共有しないとは、分散されて保持される元のデータや、それらのデータの抽象化方法を共有しないことである。また、本実施形態に係るバッチ効果推定システムSSでは、分散された複数のデータをそれぞれ保持する複数の保有者間において統一された規格化を行うことなく、各保有者が抽象化した中間表現のみを共有して、バッチ効果の推定、及び補正を行うことができる。
【0123】
バッチ効果は、複数の保有者によって分散されて保持されるデータを統合して解析する場合に、解析精度の劣化を引き起こし得る。このため、本実施形態に係るバッチ効果推定システムSSによるバッチ効果の推定、及び補正によって、分散されて保持されるデータを統合して解析する場合の解析精度を、バッチ効果を補正しない場合に比べて改善できる。
【0124】
また、本実施形態に係る分散データ非共有バッチ効果推定システム(本実施形態において、バッチ効果推定システムSS)では、取得部20は、バッチ効果の推定対象である部分データXijがバッチ効果を示す変数(本実施形態において、バッチ効果係数D)を用いて表されたデータであるバッチ効果モデルが、推定部22が最適化問題(本実施形態において、機関分類問題を基盤とした最適化問題)を解くためのバッチ効果を示す変数(本実施形態において、バッチ効果係数D)についての空間の基底Bijによって表されたデータが第1関数fijによって変換されて得られる表現である基底中間表現BRijをさらに取得する。
データコラボレーション表現生成部21は、取得部20によって取得された基底中間表現BRijを第2関数giによって変換することによって、当該基底中間表現BRijについてデータコラボレーション表現(本実施形態において、基底データコラボレーション表現VRij)を生成する。
推定部22は、バッチ効果を示す変数(本実施形態において、バッチ効果係数D)を基底Bijによって展開した場合の係数(本実施形態において、重みαk)について最適化問題(本実施形態において、機関分類問題を基盤とした最適化問題)を解くことによって、係数(本実施形態において、重みαk)を算出する。
【0125】
この構成により、本実施形態に係る分散データ非共有バッチ効果推定システムでは、バッチ効果を示す変数(本実施形態において、バッチ効果係数D)を基底Bijによって展開した場合の係数(本実施形態において、重みαk)について最適化問題(本実施形態において、機関分類問題を基盤とした最適化問題)を解くことができ、基底Bijは一度だけ生成されればよいため、基底Bijを用いない場合に比べて効率よく上記の最適化問題を解くことができる。
【0126】
また、本実施形態に係る分散データ非共有バッチ効果推定システム(本実施形態において、バッチ効果推定システムSS)は、補正部12をさらに備える。補正部12は、推定部22によって算出されたバッチ効果に基づいてバッチ効果の推定対象である部分データXijについてバッチ効果を補正する。
【0127】
この構成により、本実施形態に係る分散データ非共有バッチ効果推定システムでは、データコラボレーション表現Cijを用いて推定されたバッチ効果によってバッチ効果を補正できるため、分散されて保持される複数のデータについてデータを共有せずにバッチ効果を補正できる。
【0128】
(第2の実施形態)
以下、図面を参照しながら本発明の第2の実施形態について詳しく説明する。
上記第1の実施形態では、推定されたバッチ効果によって部分データが補正される場合について説明した。本実施形態では、バッチ効果が含まれる部分データについてバッチ効果が補正されて、データセットの全体に含まれる部分データが統合されて解析が行われる場合について説明をする。
【0129】
図11は、本実施形態に係る分散データ統合解析システムSAの構成の一例を示す図である。分散データ統合解析システムSAは、サーバSij(i=1、2、・・・、c:cはサンプル分割数c、j=1、2、・・・、d:dは特徴量分割数d)と、バッチ効果推定装置2と、分散データ統合装置3とを備える。バッチ効果推定装置2の構成は、
図3と同様である。
【0130】
図11に示すサーバSijは、
図3に示したサーバSijと同じサーバである。
図11では、サーバSijが保持する部分データXijについてバッチ効果が補正されている点が、
図3のサーバSijとは異なる。
サーバSijはそれぞれ、部分データXijを第1関数によって変換することによって、部分データ中間表現IRijを生成する。サーバSijはそれぞれ、アンカーデータADijを第1関数によって変換することによって、アンカーデータ中間表現ARijを生成する。サーバSijはそれぞれ、生成した部分データ中間表現IRij、及びアンカーデータ中間表現ARijを分散データ統合装置3に出力する。
【0131】
なお、アンカーデータADijはバッチ効果推定処理において用いられたアンカーデータが再利用されてもよい。また、第1関数はバッチ効果推定処理において用いられた第1関数と再利用されてもよい。それらの場合、アンカーデータ中間表現ARijは生成される必要がなく、バッチ効果推定処理において用いられたアンカーデータ中間表現が再利用される。
【0132】
分散データ統合装置3は、分散された部分データ中間表現IRijをデータコラボレーション表現に変換して、統合して解析を行う装置である。分散データ統合装置3は、取得部30と、データコラボレーション表現生成部31と、統合解析部32とを備える。
【0133】
分散データ統合装置3は、一例として、サーバやPCなどのコンピュータである。バッチ効果推定装置2が備える各機能部は、CPUがROMからプログラムを読み込んで処理を実行することにより実現される。なお、分散データ統合装置3は、
図3に示したバッチ効果推定装置2と同一の装置であってもよいし、バッチ効果推定装置2とは別の装置であってもよい。分散データ統合装置3とバッチ効果推定装置2とが同一の装置であるとは、バッチ効果推定装置2及び分散データ統合装置3がそれぞれ備える各機能部が、当該装置に備えられることをいう。分散データ統合装置3とバッチ効果推定装置2とが同一の装置である場合には、データコラボレーション表現生成部21とデータコラボレーション表現生成部31とは、1つのデータコラボレーション表現生成部として備えられればよい。
【0134】
取得部30は、サーバSijからアンカーデータ中間表現ARijを取得する。また、取得部30は、サーバSijから部分データ中間表現IRijを取得する。
【0135】
データコラボレーション表現生成部31は、部分データ中間表現IRijについてデータコラボレーション表現を生成する。データコラボレーション表現生成部31は、部分データ中間表現IRijのデータコラボレーション表現としてデータコラボレーション表現CRijを生成する。
【0136】
統合解析部32は、データコラボレーション表現CRijを、部分データXijについて統合し解析を行う。統合解析部32は、例えばディープニューラルネットワークなどの機械学習を用いて、統合されたデータコラボレーション表現CRijの解析を行う。
【0137】
なお、取得部30は、バッチ効果推定装置2からデータコラボレーション表現CRijを取得してもよい。当該データコラボレーション表現CRijは、バッチ効果推定装置2がバッチ効果推定処理の過程において生成したデータコラボレーション表現である。
また、分散データ統合装置3がバッチ効果推定装置2と同一の装置である場合には、取得部30はサーバSijから中間表現(部分データ中間表現IRij、アンカーデータ中間表現ARij)を取得する必要がない。その場合、統合解析部32は、バッチ効果推定処理の過程において生成されたデータコラボレーション表現CRijを統合し解析を行う。
【0138】
[分散データ統合処理]
図12は、本実施形態に係る分散データ統合処理の一例を示す図である。分散データ統合処理は、
図9に示したバッチ効果推定処理によって部分データに含まれるバッチ効果が補正された後に実行される。
【0139】
ステップS210:取得部30は、部分データ中間表現IRij、及びアンカーデータ中間表現ARijをサーバSijから取得する。つまり、取得部30は、全ての機関から部分データ中間表現、及びアンカーデータ中間表現を、分散された部分データ毎に取得する。
【0140】
ステップS220:データコラボレーション表現生成部31は、第2関数giを算出する。ステップS220の処理は、
図9に示したステップS120の処理と同様であるため、詳細な説明を省略する。
【0141】
ステップS230:データコラボレーション表現生成部31は、データコラボレーション表現を生成する。データコラボレーション表現生成部31は、生成した第2関数giによって部分データ中間表現IRijを変換することによって、データコラボレーション表現CRijを生成する。
【0142】
ステップS240:統合解析部32は、データコラボレーション表現CRijを、部分データXijについて統合し解析を行う。統合解析部32による解析結果は、分散データ統合解析システムSAの外部の装置に出力されてもよいし、分散データ統合装置3に記憶されてもよい。
【0143】
上述したように、統合解析部32は、バッチ効果の推定対象である部分データXijについて補正部12によってバッチ効果が補正されたデータセットXに含まれる部分データXijの少なくとも一部について、データコラボレーション表現生成部31(または、データコラボレーション表現生成部21)によって生成されたデータコラボレーション表現Cijを当該一部の部分データXijについて統合して解析を行う。
以上で、分散データ統合解析システムSAは、分散データ統合処理を終了する。
【0144】
なお、本実施形態においては、分散データ統合解析システムSAが、データコラボレーション表現CijをデータセットXに含まれる全ての部分データXijについて統合して解析を行う場合の一例について説明したが、これに限られない。分散データ統合解析システムSAは、データコラボレーション表現CijをデータセットXに含まれる一部の部分データXijについて統合して解析を行ってもよい。
【0145】
なお、本実施形態においては、統合解析部32は、データコラボレーション表現CRijを、部分データXijについて統合し解析を行う場合の一例について説明したが、これに限られない。統合解析部32は、データコラボレーション表現を用いた統合データ解析以外の方法によって、部分データXijを統合し解析を行ってもよい。その場合、分散データ統合装置3の構成からデータコラボレーション表現生成部31は省略されてよい。例えば、統合解析部32は、非特許文献2に記載のFederated Learningの方法を用いて部分データXijを統合し解析を行ってもよい。
【0146】
以上に説明したように、本実施形態に係る分散データ統合解析システムSAは、バッチ効果推定システムSSと、統合解析部32と備える。
統合解析部32は、バッチ効果の推定対象である部分データXijについて補正部12によってバッチ効果が補正されたデータセットの全体(本実施形態において、データセットX)に含まれる部分データXijの少なくとも一部について、データコラボレーション表現生成部31(または、データコラボレーション表現生成部21)によって生成されたデータコラボレーション表現Cijを当該一部の部分データXijについて統合して解析を行う。
【0147】
この構成により、本実施形態に係る分散データ統合解析システムSAでは、バッチ効果の推定に用いたデータコラボレーション表現Cijを再利用して分散されて保持されるデータを統合して解析できるため、データコラボレーション表現を用いる方法以外の統合解析に比べて効率よく統合解析を実行できる。
【0148】
以下では、上述した実施形態に係るバッチ効果推定システムSSまたは分散データ統合解析システムSAを適用した実施例について説明する。
[第1実施例]
本実施例では、データセットXとして人工的に生成したデータであるデータセットX1を用いる。データセットX1は、サンプル数が500個であり、特徴量数が10個(つまり、10次元)である。データセットX1は、250個のサンプルずつ、「機関1」と「機関2」との2つの機関に分散されて保持されている。「機関1」を基準とし、「機関2」をバッチ効果の推定対象とする。「機関2」が保持する部分データには、バッチ効果が人工的に混入されている。
【0149】
図13は、本実施例に係る主要な特徴量の空間にプロットされた部分データの一例を示す図である。当該主要な特徴量は、データセットX1に含まれる10個の特徴量から選択された2つの特徴量である。
図13に示すように、主要な特徴量の空間において、3つのクラスターを形成している。なお、10個の特徴量のうち主要な特徴量以外の8つの特徴量は、乱数によって与えられている。
【0150】
「X1」で示されるプロットは、「機関1」に保持される部分データのプロットである。「X2ast」で示されるプロットは、「機関2」に保持される部分データについて、バッチ効果を混入させていない場合のプロットである。「X2」で示されるプロットは、「機関2」に保持される部分データについて、バッチ効果を混入させた場合のプロットである。「X2」で示されるプロットのクラスターは、バッチ効果のために、「X1」で示されるプロットのクラスターからずれていることがわかる。「X2ast」で示されるプロットのクラスターは、「X1」で示されるプロットのクラスターと、ほぼ重なっている。
【0151】
以下では、データセットX1に対する抽象化処理、及びバッチ効果推定処理の手順について説明する。「機関1」、「機関2」にそれぞれ備えられるサーバを、それぞれサーバS11、サーバS21とする。「機関1」、「機関2」がそれぞれ保有する部分データを、それぞれ部分データX11、部分データX21とする。
【0152】
バッチ効果推定装置2は、基準データセットを設定する。バッチ効果推定装置2は、「機関1」に保持される部分データX11を基準データセットに設定する。
サーバS11は、アンカーデータAD1を生成する。本実施例では、サーバS11とサーバS21との間において、部分データX11、部分データX21に含まれる特徴量それぞれの最大値、及び最小値が共有される。サーバS11は、共有した最大値、及び最小値の範囲内の一様乱数を用いて1000サンプルを含むアンカーデータAD1を生成する。サーバS11は、生成したアンカーデータAD1をサーバS21に供給する。
【0153】
サーバS11、及びサーバS21はそれぞれ、PCAを用いて中間表現を生成する。PCAを用いた変換では、使用するデータに依存した変換となるため、抽象化の方法は、「機関1」、「機関2」同士で互いに異なる。また、PCAを用いた変換は非可逆な変換となる。
サーバS11は、PCAを用いて、部分データX11、及びアンカーデータAD1それぞれから部分データ中間表現IR11、アンカーデータ中間表現AR11を生成する。
サーバS21は、PCAを用いて、部分データX21、及びアンカーデータAD1それぞれから部分データ中間表現IR21、及びアンカーデータ中間表現AR21を生成する。また、サーバS21は、バッチ効果係数Dの基底として単位ベクトルを設定する。サーバS21は、当該基底によって表されたバッチ効果モデルからPCAを用いた変換によって基底中間表現BR21を生成する。
【0154】
バッチ効果推定装置2は、サーバS11から部分データ中間表現IR11、及びアンカーデータ中間表現AR11を取得する。バッチ効果推定装置2は、サーバS21から部分データ中間表現IR21、アンカーデータ中間表現AR21、及び基底中間表現BR21を取得する。
バッチ効果推定装置2は、アンカーデータ中間表現AR11とアンカーデータ中間表現AR21とが一致するようにデータコラボレーション表現CR11、データコラボレーション表現CR21を生成する。本実施例では、データコラボレーション表現を生成するために、一般化したTotal Least Squares問題に基づく方法を用いる。
【0155】
バッチ効果推定装置2は、機関分類問題を基盤とした最適化問題として、カーネルリッジ回帰に基づく最適化問題を設定する。バッチ効果推定装置2は、当該最適化問題の解を、準ニュートン法を用いて算出する。当該最適化問題の解は、バッチ効果係数Dの重み(バッチ効果係数Dを、基底を用いて展開した場合の展開係数)である。バッチ効果推定装置2は、算出したバッチ効果係数Dの重みを、サーバS21に出力する。
【0156】
図14に、本実施例の最適化問題の目的関数を示す。
図14において、当該目的関数は、最適化問題の2つの変数に対する値の集合として曲面によって示されている。
図14において、バッチ効果の正解値と、最適化問題による推定値とを示す。
【0157】
サーバS21は、バッチ効果推定装置2によって算出されたバッチ効果係数Dの重みと、予め設定したバッチ効果係数Dの基底とを用いて、バッチ効果係数Dの推定を行う。サーバS21は、推定したバッチ効果係数Dによって部分データX21に含まれるバッチ効果を補正する。
【0158】
図15に、バッチ効果推定システムSSによるバッチ効果の補正結果を示す。「X2corr」で示されるプロットは、
図13に示した「X2」で示されるプロットのバッチ効果が補正されたプロットである。
図13に示すように、複数の機関(「機関1」、「機関2」)に分散して保持されている部分データX11、部分データX21に対して、それらの部分データX11、部分データX21を共有することなく、部分データX21に含まれる部分データX11に対するバッチ効果を、高い精度において推定、及び補正できていることがわかる。
【0159】
[第2実施例]
本実施例では、データセットXとして行動認識データセットであるデータセットX2を用いる。本実施例の行動認識データセットとは、5種類の動作(「座る」、「立つ」、「歩く」、「走る」、「踊る」)に対する認識結果を示すデータセットである。データセットX2では、サンプル数が24075個であり、特徴量数が60個である。本実施例では、前処理として、データセットX2に対してLasso法を適用し、60個の特徴量から主要な特徴量として15個の特徴量を選択して用いた。本実施例では、各機関に保持される部分データに含まれるサンプル数を増やした場合に、バッチ効果の推定の精度、バッチ効果の補正による解析精度が高くなることを確かめる。
【0160】
以下では、データセットX2に対する抽象化処理、及びバッチ効果推定処理の手順について説明する。「機関1」、「機関2」にそれぞれ備えられるサーバを、それぞれサーバS11、サーバS21とする。「機関1」、「機関2」がそれぞれ保有する部分データを、それぞれ部分データX11、部分データX21とする。
【0161】
データセットX2に対する抽象化処理、及びバッチ効果推定処理の手順は、以下に説明する点以外は、上述した第1実施例の抽象化処理、及びバッチ効果推定処理の手順と同様である。第1実施例と共通する手順については、その説明を省略する。
サーバS21は、バッチ効果係数Dの基底として、乱数を成分にもつベクトルを設定する。
バッチ効果推定装置2は、機関分類問題を基盤とした最適化問題として、線形最小二乗法に基づく最適化問題を設定する。
【0162】
図16は、本実施例に係るサンプル数を変化させた場合のバッチ効果の補正結果を示す図である。
図16において、「バッチ効果あり」のラベルによって示されるグラフは、バッチ効果がない場合のデータセットに対するバッチ効果を入れた場合のデータセットの誤差が、各機関に保有される部分データに含まれるサンプル数に対してプロットされたグラフである。「バッチ効果補正後」のラベルによって示されるグラフは、バッチ効果がない場合のデータセットに対するバッチ効果が補正された場合のデータセットの誤差が、各機関に保有される部分データに含まれるサンプル数に対してプロットされたグラフである。
図16に示すように、部分データに含まれるサンプル数が多いほど、バッチ効果が高精度に補正できていることがわかる。
【0163】
図17は、本実施例に係るサンプル数を変化させた場合の「機関2」に保持される部分データのみを用いた解析精度を示す図である。当該解析精度は、「機関2」に保持される部分データのみを用いた解析精度を、「機関1」及び「機関2」それぞれに保持される部分データをデータコラボレーション表現を用いて統合した場合の解析精度に対して比較した場合の解析精度である。なお、当該解析精度を算出するために用いた解析には、ガウスカーネルを用いたカーネルリッジ回帰が用いられた。
【0164】
「バッチ効果なし」のラベルによって示されるグラフは、バッチ効果が含まれない「機関2」に保持される部分データX21を用いた場合の解析精度を部分データX21に含まれるサンプル数に対してプロットされたグラフである。
「バッチ効果あり」のラベルによって示されるグラフは、「機関2」に保持されるバッチ効果の補正前の部分データX21を用いた場合の解析精度を部分データX21に含まれるサンプル数に対してプロットされたグラフである。
「バッチ効果補正後」のラベルによって示されるグラフは、「機関2」に保持されるバッチ効果の補正後の部分データX21を用いた場合の解析精度を部分データX21に含まれるサンプル数に対してプロットされたグラフである。
【0165】
図17から、バッチ効果推定システムSSによるバッチ効果の補正によって、解析精度が向上していることがわかる。
【0166】
[第3実施例]
本実施例では、データセットXとしてデータセットX3を用いる。データセットX3は、UCIデータセットから選択された8種類のデータセットである。データセットX3は、「機関1」、「機関2」、「機関3」、「機関4」の4つの機関に分散されて保持される。「機関1」を基準となる機関として、「機関2」、「機関3」、「機関4」それぞれのバッチ効果を独立に推定する。バッチ効果モデルとしては、「シフト」のモデルを設定する。
機関分類問題を基盤とした最適化問題として、線形リッジ回帰に基づく最適化問題を設定する。最適化問題の目的関数は、最小二乗誤差である。
【0167】
図18は、データセットX3に含まれる8種類のデータセット毎の解析結果を示す。本実施例では、解析において、8種類のデータセットそれぞれについて、当該データセットから解析に用いるデータセットを10通り選択し、当該10通りのデータセットそれぞれについてスケールを変えて評価を行った。
【0168】
ある機関に保持される部分データのみを用いた単独解析では、「機関2」に保持される部分データを用いた。データコラボレーション解析として、「機関1」、「機関2」、「機関3」、「機関4」それぞれに保持される部分データを、データコラボレーション表現を用いて統合解析した結果である。
図17は、単独解析と、データコラボレーション解析とのそれぞれについて、バッチ効果が含まれていない場合、バッチ効果が含まれる場合であってバッチ効果が補正されていない場合、バッチ効果が含まれる場合であってバッチ効果が補正された場合のそれぞれについて、解析精度が示されている。
【0169】
なお、上述した実施形態におけるサーバSij、バッチ効果推定装置2、分散データ統合装置3の一部、例えば、中間表現生成部10、バッチ効果モデル生成部11、補正部12、取得部20、30、データコラボレーション表現生成部21、31、推定部22、出力部23、統合解析部32をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、サーバSij、バッチ効果推定装置2、分散データ統合装置3に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態におけるサーバSij、バッチ効果推定装置2、分散データ統合装置3の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。サーバSij、バッチ効果推定装置2、分散データ統合装置3の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0170】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【産業上の利用可能性】
【0171】
本発明は、例えば、複数機関の医療データを統合解析する場合、バッチ効果推定および補正はその解析性能を向上することができる。しかしながら、医療データでは機関ごとのデータの共有が情報秘匿の観点から困難である。またデータの種類や解析目的が多岐にわたり、今後も新たな解析目的が生じることが予想されるため、各データに対して統一の規格化を制定することは困難である。このため、本発明の応用が期待される。
【0172】
医療データ以外にも、ものづくり企業の持つ各種の開発データの統合解析は需要が高いものの、秘密保持の観点から元データの統合は困難であり、企業毎に固有のノイズが入ることがある。このように、本発明は、統一の規格化を用いず、また元データを共有せずに、分散データの非共有バッチ効果推定および補正技術は様々な分野への応用が期待される。
その他、本発明の応用先としては、金融、農業、スマートシティなど多岐にわたる。
【符号の説明】
【0173】
SS…バッチ効果推定システム、Sij…サーバ、2…バッチ効果推定装置、3…分散データ統合装置、20…取得部、21…データコラボレーション表現生成部、22…推定部、X…データセット、Xij…部分データ、ADj…部分アンカーデータ、fij…第1関数、IRij…部分データ中間表現、ARij…アンカーデータ中間表現、gi…第2関数、Cij…データコラボレーション表現、D…バッチ効果係数