费希尔精确检验计算装置、方法以及程序与流程

文档序号:16807433发布日期:2019-02-10 13:11阅读:956来源:国知局
费希尔精确检验计算装置、方法以及程序与流程
本发明涉及高效地计算费希尔精确检验(fisher’sexacttest)的技术。
背景技术
:作为统计学的检验法之一,费希尔精确检验被广为人知。作为费希尔精确检验的应用例子,有全基因组关联分析(gwas:genome-wideassociationstudy)(例如,参照非专利文献1。)。以下,简单说明费希尔精确检验。【表1】xy合计aaba+bgcdc+d合计a+cb+da+b+c+d(=n)该表是将n人的被验者以特征(x或者y)和确定的等位基因(a或者g)进行分类而计数的2x2的合计表的例子。a,b,c,d表示频数(非负整数)。费希尔精确检验是,对于非负整数i,设为时,按照p=pa+∑max(0,a-d)≤i≤min(a+b,a+c)pipi<pa和规定的值的阈值t的大小关系,判定特征和确定的等位基因之间是否存在统计学上显著的关联的检验。有在全基因组关联分析中,对各个单核苷酸多态性(snp:singlenucleotidepolymorphism)的每一个构建上述那样的合计表,对各合计表进行费希尔精确检验的情况。在全基因组关联分析中,以数百万数千万这样的庞大的数目的snp为对象。因此,在全基因组关联分析中可能存在大量进行费希尔精确检验的情形。另一方面,由于基因组信息的微妙性和机密性,有一边通过加密技术隐匿基因组信息,一边进行全基因组关联分析的先前研究(例如,参照非专利文献2。)。在非专利文献2中,提出一边隐匿基因组信息,一边进行卡方检验的方法。现有技术文献非专利文献非专利文献1konradkarczewski,“howtodoagwas”,gene210:genomicsandpersonalizedmedicine,2015.非专利文献2yihuazhang,marinablanton,andghadaalmashaqbeh,“securedistributedgenomeanalysisforgwasandsequencecomparisoncomputation”,bmcmed.inform.decis.mak.,2015.技术实现要素:发明要解决的课题在费希尔精确检验中,需要min(a+b,a+c)-max(0,a-d)+1种类的pi的计算,特别是在全基因组关联分析中,因为存在对大量的合计表分别进行费希尔精确检验的情况,所以存在因计算机环境和合计表的频数而需要庞大的处理时间的可能性。本发明的目的是提供比以往效率更高地进行费希尔精确检验的计算的费希尔精确检验计算装置、方法以及程序。用于解决课题的方案本发明的一个方式的费希尔精确检验计算装置包括:以合计表的各频数作为输入,存储用于判断与该输入对应的费希尔精确检验的结果是否显著的条件的条件存储单元;以及通过将合计表的频数输入到在从条件存储单元读入的条件中,得到与该合计表的频数对应的费希尔精确检验的结果的计算单元。发明的效果通过进行事先计算,在本计算中可以比以往效率更高地进行费希尔精确检验的计算。附图说明图1是用于说明费希尔精确检验计算装置的例子的方框图。图2是用于说明费希尔精确检验计算方法的例子的流程图。图3是表示决定树的例子的图。具体实施方式以下,参照附图,说明本发明的一个实施方式。如图1所示,费希尔精确检验计算装置例如包括条件存储单元1和计算单元2。费希尔精确检验计算方法,通过费希尔精确检验计算装置的计算单元2进行图2以及以下说明的步骤s2的处理来实现。设事先决定合计表的频数的总和n以及显著性水平的阈值t的值。<条件存储单元1>在条件存储单元1中,将合计表的各频数作为输入,存储用于判断与该输入对应的费希尔精确检验的结果是否显著的条件。例如,对于为n=a'+b'+c'+d'的全部的非负整数的组(a',b',c',d')事先求出费希尔精确检验的结果,使(a',b',c',d')和该费希尔精确检验的结果相关联地存储在条件存储单元1中。费希尔精确检验计算装置也可以具有用于进行该事先计算的事先计算单元3。在条件存储单元1中存储的条件,可以是对根节点以及各内部节点分配条件式,对各叶节点分配费希尔精确检验的结果的决定树。图3表示n=50,规定的阈值为t=10-8的情况的决定树的例子。这样的决定树通过使用已知的机械学习方法来构建即可。例如,根据n=a'+b'+c'+d'的全部的非负整数的组(a',b',c',d')、和用于求费希尔精确检验的结果的式子,通过参考文献1至3中记载的方法,可以构建这样的决定树。〔参考文献1〕leobreiman,jeromeh.friedman,richarda.olshen,charlesj.stone,"classificationandregressiontrees(wadsworthstatistics/probability)",wadsworth&brooks/coleadvancedbooks&software,〔参考文献2〕johnr.quinlan,"inductionofdecisiontrees",machinelearning,1986,p.81-106.〔参考文献3〕trevorhastie,roberttibshirani,jeromefriedman,"theelementsofstatisticallearningdatamining,inference,andprediction,secondedition",springerseriesinstatistics.在图3中,对根节点以及各内部节点分配的条件式,是表示v1=a,v3=c,v9=ad,v11=bc,v12=bd,v14=cd,v21=abc,v25=ad2,v30=bcd和与各节点对应的阈值的大小关系的式子。在图3中,14e+3意味着14*103,13e+3意味着13*103。在图3的决定树中,设为在对与某个节点对应的条件式输入了成为费希尔精确检验的对象的合计表的频数(a,b,c,d)的情况下,在该条件式成立的情况下向该节点左边的子节点转移,在该条件式不成立的情况下向该节点的右边的子节点转移。在图3的决定树中,叶节点的“假”意味着p>t,且费希尔精确检验的结果无意义,叶节点的“真”意味着p≦t,且费希尔精确检验的结果显著。<计算单元2>计算单元2通过对从条件存储单元1读入的条件,输入成为费希尔精确检验的对象的合计表的频数,得到与该该合计表的频数对应的费希尔精确检验的结果(步骤s2)。例如,在条件存储单元1中将(a',b',c',d')和该费希尔精确检验的结果相关联地存储的情况下,计算单元2参照条件存储单元1,得到与输入的合计表的频数(a,b,c,d)对应的费希尔精确检验的结果。更详细地说,计算单元2参照条件存储单元1,得到与输入的合计表的频数(a,b,c,d)相同的频数(a',b',c',d')对应的费希尔精确检验的结果,设为与输入的合计表的频数(a,b,c,d)对应的费希尔精确检验的结果。或者,若仅费希尔精确检验的结果为显著的合计表的频数存储在条件存储单元1中,且在条件存储单元1中有与输入的合计表的频数(a,b,c,d)相同的频数(a',b',c',d'),则可以判定为费希尔精确检验的结果显著。同样,也可以存储费希尔精确检验的结果无意义的合计表的频数。而且,在条件存储单元1中存储有对根节点以及各内部节点分配条件式,对各叶节点分配费希尔精确检验的结果的决定树的情况下,计算单元2也可以输出对根据通过在对根节点以及各内部节点分配的条件式输入上述合计表的频数所得到的值而决定的叶节点分配的费希尔精确检验的结果。例如,为了在条件存储单元1中图3的决定树的数据作为存储条件,使用该图3的决定树,得到与输入的合计表的频数(a,b,c,d)对应的费希尔精确检验的结果,进行以下那样的处理即可。计算单元2首先计算是否满足最上位的根节点的“v25>=14e+3”的条件式,即ad2≧14000,在满足的情况下,进至根节点的左边的子节点的条件式,在不满足的情况下,进至根节点的右边的子节点的条件式。之后,反复进行同样的处理,直至到达叶节点。然后,输出与到达的叶节点对应的费希尔精确检验的结果。在图3的决定树的例子中,可知通过最高7次的大小比较,可以得到费希尔精确检验的结果。另一方面,在计算p=pa+∑max(0,a-d)≤i≤min(a+b,a+c)pipi<pa的情况下,最差需要求大约n/2=25个pi。pi进一步由9个阶乘值的乘除构成,但是这通过如以下那样取对数,进行事先计算,可以高效率地求出。由,为所以,若对k=0,1,2,…,n事先计算σj=1klogj,使用事先计算值求logpa,则可以仅通过事先计算值的加减运算进行计算。然后,从logpi求pi。而且,设σj=10logj=0。按照上述的运算,为了求pi,需要9次核对处理、8次加减运算、以及由logpi求pi。因此,至少需要25×9=225次核对处理,这与最高7次的大小比较相比,为225/7≒32.1倍的计算次数。进而,若核对处理视为与大小比较同等以上的处理时间,则可以期待使用决定树也可缩短在处理时间。而且,计算单元2也可以在通过秘密计算隐匿了成为输入的费希尔精确检验的对象的合计表的频数(a,b,c,d)的状态下,进行用于得到与该合计表的频数(a,b,c,d)对应的费希尔精确检验的结果的计算。这样的计算可以组合能够一边隐匿输入输出一边进行大小比较的加密技术来实现。以下,说明一边隐匿输入输出一边进行大小比较(以下,简称为输入输出隐匿大小比较。)。将进行大小比较的两个数值x,y作为输入,设x,y的至少一方被加密,不知道实际的数值。现在设仅x被加密,将其表记为e(x)。然后,将称为输出的大小比较结果设为。即,输入输出隐匿大小比较意味着将e(x),y设为输入,不解码e(x)而求大小结果的密文e(z)。如果z是最终希望求出的结果,则适当解码e(z)。作为这样的入输出隐匿大小比较,例如可以举出参考文献4和5的方法。〔参考文献4〕ivandamgard,matthiasfitzi,eikekiltz,jesperb.nielsen,tomastoft,"unconditionallysecureconstant-roundsmulti-partycomputationforequality,comparison,bitsandexponentiation",inproc.3rdtheoryofcryptographyconference,tcc2006,volume3876oflecturenotesincomputerscience,pages285-304,berlin,2006,springer-verlag〔参考文献5〕takashinishide,kazuoohta,"multipartycomputationforinterval,equality,andcomparisonwithoutbit-decompositionprotocol",publickeycryptography-pkc2007,10thinternationalconferenceonpracticeandtheoryinpublic-keycryptography,2007,p.343-360以下,说明使用入输出隐匿大小比较,由图3的决定树求费希尔精确检验的结果的方法。将输入设为合计表的频数(a,b,c,d)的密文(e(a),e(b),e(c),e(d))、和图3的决定树的数据。在不使用入输出隐匿大小比较的情况下,如上述那样,首先计算是否满足最上位的根节点的“v25>=14e+3”的条件式,即ad2≧14000,在满足的情况下进至根节点的左边的子节点的条件式,在不满足的情况下进至根节点的右边的子节点的条件式。之后,反复进行同样的处理,直至到达叶节点。然后,输出与到达的叶节点对应的费希尔精确检验的结果。在使用入输出隐匿大小比较实现它的情况下,首先对于条件式ad2≧14000,不从输入e(a),e(d)解码它们而计算e(ad2)。该方法例如已在参考文献4、5中说明,所以省略具体的方法。接着,使用入输出隐匿大小比较,从e(ad2)以及条件式的14000,计算e([ad2≧14000])。这里,“ad2≧14000”若ad2≧14000则设为1,否则设为0。接着,虽然进入左下的条件式“v30<94”或者右下的条件式“v9>=485”,但是“ad2≧14000”的值被隐匿,所以不知道应进入哪一个。因此,对于从根节点到达被分配了“真”(true)的叶节点的全部的路径的每一个计算是否满足路径上的节点的条件式,将是否已到达被分配了“真”的叶节点作为最终输出、即费希尔精确检验结果输出。例如,到达位于最左边的被分配了“真”的叶节点的路径,对于条件式“v25≧14e+3”,“v30<94”,“v12<38”,“v14<134”,“v12<36”,“v3<1.5”,最初的4个为“是”,剩余的2个为“否”即可。即,设定条件,使得若最初的4个为“是”,剩余的2个为“否”则返回密文1,否则返回密文0。例如,为了简单,将条件式“v12<36”,“v3<1.5”分别置换为“v12≧36”,“v3≧1.5”,使得若全部为“是”则返回密文1。预先将这样置换过的决定树的数据作为条件存储在条件存储单元1中。此时,对于条件式“v25≧14e+3”,“v30<94”,“v12<38”,“v14<134”,“v12≧36”,“v3≧1.5”,使用入输出隐匿大小比较求结果的密文(分别设为e(z1),e(z2),e(z3),e(z4),e(z5),e(z6))。因为限于在全部为“是”时返回密文1,所以从e(z1),e(z2),e(z3),e(z4),e(z5),e(z6)求e(z1z2z3z4z5z6)。即,计算单元2在隐匿了密文的内容的情况下进行乘法运算。该方法例如也在参考文献4、5中进行了说明,所以省略具体的方法。以下,对到达被分配了“真”的叶节点的全部的路径进行同样的处理,对得到的全部密文(从e(z1z2z3z4z5z6)开始的到达“真”的16种类的密文),进一步在隐匿了密文的内容的情况下进行乘法运算。因为若费希尔精确检验结果为“真”则该结果为密文1,否则为密文0,所以解码该结果,可以得到费希尔精确检验结果。即,使用输入的合计表的频数(a,b,c,d)的密文(e(a),e(b),e(c),e(d)),进行这样的计算,若存在e(z1z2z3z4z5z6)的解码结果为1的路径,则可以判断为对于该输入的合计表的费希尔精确检验的结果显著。进一步,因为到达了哪个叶节点也被隐匿,所以关于对到达被分配了“真”的叶节点的全部路径得到的密文e(z1jz2jz3jz4jz5jz6j)(j=1,2,…),例如通过秘密计算求明文的逻辑或∪z1jz2jz3jz4jz5jz6j。即利用对于密文e(z1jz2jz3jz4jz5jz6j)(j=1,2,…)即使只有一个解码结果为1,既为∪z1jz2jz3jz4jz5jz6j=1的逻辑。逻辑或的秘密计算例如用参考文献1中记载的方法求出即可。即,如以下那样得到结果即可。在费希尔精确检验中,将是否显著的结果分配给叶节点。对从上述根节点到达叶节点的路径的各节点,分配条件式。从根节点开始,对各节点中条件式输入合计表的频数,通过分支,可以追寻至一个叶节点为止。由此,可以得到对叶节点分配的、费希尔的正确检验中是否显著的结果。计算单元2可以一边隐匿合计表的频数,一边评价各节点的条件式,得到到达一个叶节点的路径,在隐匿合计表的频数的同时得到费希尔的正确检验的结果。这样,通过事先求合计表的频数模型和费希尔精确检验的结果(例如,设为“真”或者“假”(false)的二值)的对应,构建费希尔精确检验的结果为“真”(或者“假”)的条件,在本计算(去除了事先计算部分的计算)中,不进行pi的计算,而仅通过将合计表的频数输入到条件中来计算,得到费希尔精确检验的结果。因为不需要进行pi的计算,可以高效地进行费希尔精确检验的计算。而且,通过事先公开计算结果等,即使是此前难以执行费希尔精确检验的计算能力不高的计算机,通过参照事先计算结果,也可能可以执行费希尔精确检验。具体地说,可以期待削减计算资源的使用量和削减处理时间的效果。进而,通过上述的隐匿化,例如可以在隐匿基因组信息和其附带的各种数据的同时执行费希尔精确检验。这样可以期待例如多个研究机构可以将所持有的基因组数据保持隐匿而不相互公开地、得到综合的数据的费希尔精确检验的执行结果,提供安全级别极高的基因组解析的执行环境,进而导致医疗的进一步发展。程序以及记录介质费希尔精确检验计算装置以及方法中说明的处理,不仅按照记载的顺序时间序列地被执行,而且也可以根据执行处理的装置的处理能力或者根据需要并行地或者单独地被执行。而且,在通过计算机实现费希尔精确检验计算装置中的各处理的情况下,通过程序记述费希尔精确检验计算装置应具有的功能的处理内容。然后,通过计算机执行该程序,在计算机上实现该各处理。记述了该处理内容的程序可以记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任何介质。而且,可以通过在计算机上执行规定的程序构成各处理单元,也可以硬件性地实现这些处理内容的至少一部分。此外,不言而喻,在不脱离本发明的宗旨的范围中能够适当变更。产业上的可利用性本发明的费希尔精确检验计算装置以及方法可以适用于在利用费希尔精确检验的解析,例如,全基因组关联分析、基因组分析、临床研究、社会调查、学术研究、实验结果的分析、市场调查、统计计算、医疗信息分析、顾客信息分析、收益分析中,在隐匿了合计表的信息的情况下通过秘密计算进行费希尔精确检验。在全基因组关联分析的情况下,例如,将n人的被验者按照是否具有确定的特征、是否具有确定的等位基因(例如a或者g)来分类计数的2x2的合计表的频数作为费希尔精确检验计算装置以及方法的输入。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1