一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于联邦学习的生存分析方法、装置及电子设备与流程

2022-02-22 18:05:22 来源:中国专利 TAG:


1.本技术涉及数据处理技术,尤其涉及一种基于联邦学习的生存分析方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.对由感兴趣事件的数据和感兴趣事件对应的时间数据构成的生存数据的分析,在生物医学、社会学以及市场学等领域越来越重要。对生存数据分析时,通常先计算生存数据在一个时间周期内不同时间点的生存概率,再根据不同时间点分别对应的生存概率生成生存曲线。
3.相关技术中,若有多个参与方对同一类型的生存数据进行分析,则需要将多个参与方的生存数据进行合并,再计算合并后的生存数据对应的生存概率和生存曲线。在将多个参与方的生存数据进行合并的过程中,多个参与方的生存数据直接暴露给生存数据分析方,参与方的生存数据无法得到隐私保护。


技术实现要素:

4.本技术实施例提供一种基于联邦学习的生存分析方法、装置、电子设备及计算机可读存储介质,能够在对多个参与方的生存数据进行分析的场景下,对每个参与方的生存数据进行隐私保护。
5.本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供一种基于联邦学习的生存分析方法,应用于多个参与方的任一参与方,所述方法包括:
7.接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻;
8.基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列;
9.接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息;
10.按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分析信息;
11.接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。
12.在一些实施例中,所述接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻,包括:
13.接收其他多个参与方的生存数据对应的最早时刻和最晚时刻;
14.分别比较本地生存数据对应的最早时刻和其他多个参与方的生存数据对应的最早时刻,和/或,分别比较本地生存数据对应的晚时刻和其他多个参与方的生存数据对应的最晚时刻;
15.根据比较结果,确定生存分析对应的最晚时刻和生存分析对应的最晚时刻。
16.在一些实施例中,所述根据每一参与方对应的分析指标确定生存分析的分组信息,包括:
17.确定本地生存数据对应的分析指标;
18.根据所述每一参与方对医疗数据的分析指标和所述本地生存数据对应的分析指标,确定生存分析的全局分析指标;
19.根据所述全局分析指标确定生存分析的分组信息。
20.在一些实施例中,所述基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列,包括:
21.根据所述生存分析对应的最早时刻和最晚时刻,按照预设的时间间隔确定全局时间序列。
22.在一些实施例中,所述根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析,包括:
23.对所述第一生存分析信息和多个所述第二生存分析信息进行运算处理,得到针对全局分析指标的全局生存分析信息。
24.在一些实施例中,所述接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析包括:
25.接收多个参与方发送的利用第一函数加密后的第二生存分析信息;
26.利用所述第一函数对所述第一生存分析信息加密;
27.利用第二函数对所述加密后的第二生存分析信息和加密后的第一生存分析信息进行解密,得到全局生存分析信息。
28.在一些实施例中,所述根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析,包括:
29.所述全局生存分析信息包括至少两个生存数据组,确定所述全局时间序列中各时间点上每个所述生存数据组发生的感兴趣事件的数量;
30.根据所述感兴趣事件的数量确定每个所述生存数据组在每个所述时间点的生存概率;
31.基于所述生存概率构建每个所述生存数据组对应的生存曲线。
32.第二方面,本技术实施例提供一种基于联邦学习的生存分析装置,所述装置包括:
33.其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻;
34.时间序列确定模块,用于基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列;
35.分组信息获取模块,用于接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息;
36.生存信息确定模块,用于按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分析信息;
37.生存分析模块,用于接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。
38.第三方面,本技术实施例提供一种电子设备,包括:
39.存储器,用于存储可执行指令;
40.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的基于联邦学习的生存分析方法。
41.第四方面,本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本技术实施例提供的基于联邦学习的生存分析方法。
42.本技术实施例提供的基于联邦学习的生存分析方法,多个参与方的任一参与方接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻;基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列;接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息;按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分析信息;接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。本技术实施例提供的基于联邦学习的生存分析方法,其他多个参与方的第二生存分析信息以加密的方式发送至一个参与方,保证了参与生存数据分析的各参与方的生存数据的隐私;每个参与方仅仅将最早时刻和最晚时刻发送给其他参与方,在确定全局时间序列后,仅仅发送针对全局时间序列的第二生存分析信息给其他参与方,并未透漏自身的生存数据,从而保护了各个参与方数据的隐私;基于生存分析对应的最早时刻和最晚时刻构建的全局时间序列进行生存分析,能够避免参与方在对生存数据分析时,遗漏本地生存数据对应的时间区间以外的时刻的其他参与方的生存数据,保证生存分析数据的完整性。
附图说明
43.图1是本技术实施例提供的生存数据分析系统的架构示意图;
44.图2是本技术实施例提供的终端设备的架构示意图;
45.图3是本技术实施例提供的基于联邦学习的生存分析方法的流程示意图;
46.图4是本技术实施例提供的基于最早时刻和最晚时刻确定时间序列的一种可选处理流程示意图;
47.图5是本技术实施例提供的获取目标生存数据的分组信息的处理流程示意图;
48.图6是本技术实施例提供的利用安全加和算法确定中划分至每个生存数据组的生存数据对应的生存信息的处理流程示意图;
49.图7是本技术实施例提供的生存曲线1的示意图;
50.图8是本技术实施例提供的生存曲线2的示意图。
具体实施方式
51.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
52.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
53.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。在以下的描述中,所涉及的术语“多个”是指至少两个。
54.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
55.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
56.1)生存数据:包括感兴趣的事件的数据和发生感兴趣的事件的时间数据,感兴趣的事件的数据包括发生感兴趣的事件的次数,发生感兴趣的事件的时间数据包括发生感兴趣的事件的时间点。
57.2)生存数据分析:需要分析感兴趣的事件以及出现感兴趣的事件所经历的时间。
58.3)感兴趣的事件:针对不用的应用领域,感兴趣的事件不同;在生物医学领域,感兴趣的事件可以指生物体死亡;在社会学领域,感兴趣的事件可以指人类的一种行为,如反抗行为。
59.4)生存概率:指实例出现感兴趣的事件的时间t不小于给定的时间t的概率。
60.5)生存曲线:其横坐标为时间,纵坐标为生存概率,表征在一段时间内生存概率的变化趋势。
61.6)删失:没有出现任何感兴趣的事件对于某些实例称之为删失(censored)。
62.出现删失的可能原因有:
63.a、实例在分析阶段就是没有出现感兴趣的事件(right-censored)。
64.b、在分析阶段,丢失了该实例。
65.c、该实例经历了感兴趣的事件以外的其他事件导致无法继续跟踪。
66.6)实例:生存数据对应的样本,每个实例对应的生存数据可以用三元组(ti,ei,xi)表示;其中,xi表示实例的特征向量,ti表示实例的感兴趣的事件发生的时间。
67.如果该实例发生了感兴趣的事件,ei=1,那么ti表示的是事件发生时间点到生存数据分析的起始时间点之间的时长。
68.如果该实例未发生感兴趣的事件,ei=0,那么ti表示生存数据分析的起始时间点到观察结束时间点之间的时长。
69.参见图1,图1是本技术实施例提供的生存数据分析系统100的一个架构示意图,终端设备400通过网络300连接服务器200,服务器200连接数据库500,其中,网络300可以是广域网或者局域网,又或者是二者的组合。
70.在一些实施例中,以一个参与方是终端设备为例,本技术实施例提供的基于联邦学习的生存分析方法可以由终端设备实现。例如,终端设备400运行客户端410,客户端410可以是用于执行生存数据分析的客户端。
71.在一些实施例中,以一个参与方是服务器为例,本技术实施例提供的基于联邦学习的生存分析方法可以由服务器和终端设备协同实现。例如,实现基于联邦学习的生存分
析方法的服务器200接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻;基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列;接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息;按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分析信息;接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。服务器200将生存分析的结果发送至客户端410。
72.在一些实施例中,终端设备400或服务器200可以通过运行计算机程序来实现本技术实施例提供的基于联邦学习的生存分析方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;也可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意的app中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
73.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
74.以本技术实施例提供的一个参与方是终端设备为例说明,可以理解的,对于一个参与方是服务器的情况,图2中示出的结构中的部分(例如用户接口、呈现模块和输入处理模块)可以缺省。参见图2,图2是本技术实施例提供的终端设备400的结构示意图,图2所示的终端设备400包括:至少一个处理器460、存储器450、至少一个网络接口420和用户接口430。终端设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
75.处理器460可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
76.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
77.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器460的一个或多个存储设备。
78.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only me mory),易失性存储器可以是随机存取存储器(ram,random access memor y)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
79.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
80.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
81.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
82.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
83.输入处理模块454,用于对一个或多个来自一个或多个输入装置之一的一个或多个用户输入或互动进行医学语义挖掘。
84.在一些实施例中,本技术实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的生存数据分析装置455,其可以是程序和插件等形式的软件,可以包括以下软件模块:获取模块4551、时间序列确定模块4552、分组信息获取模块4553、生存信息确定模块4554和生存分析模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
85.下面将结合本技术实施例提供的一个参与方的示例性应用和实施,说明本技术实施例提供的基于联邦学习的生存分析方法。
86.参见图3,图3是本技术实施例提供的基于联邦学习的生存分析方法的一个可选流程示意图,将结合图3示出的步骤进行说明。
87.步骤s101,接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻。
88.在一些实施例中,其中,每个参与方对应一份生存数据,生存数据可以是针对医疗领域的医疗数据。每份生存数据包括感兴趣的事件的数据和发生感兴趣的事件的时间数据,感兴趣的事件的数据包括发生感兴趣的事件的次数,发生感兴趣的事件的时间数据包括发生感兴趣的事件的时间点。生存数据可以如下表1所示:“t”列表示事件发生的时间,“e”列表示感兴趣的事件;其中,“e”列的值为“1”,表示发生死亡事件;“e”列的值为“0”,表示发生删失事件。根据表1可知,在时间点2,发生1例死亡事件和1例删失事件。在时间点4,发生1例删失事件。在时间点5,发生2例死亡事件。在时间点8,发生3例删失事件。
89.表1.生存数据
90.te2120
405151808080
91.在一些实施例中,生存分析对应的最早时刻和最晚时刻可以指全部参与方对应的生存数据的最早时刻和最晚时刻。作为示例,有三个参与方,则全部参与方对应的生存数据包括三份生存数据,分别是生存数据a、生存数据b和生存数据c;生存数据a、生存数据b和生存数据c构成生存数据集合。生存数据a对应的最早时刻是2000年1月1日24点,生存数据a对应的最晚时刻是2000年3月1日24点;生存数据b对应的最早时刻是2000年2月1日24点,生存数据a对应的最晚时刻是2000年4月1日24点;生存数据c对应的最早时刻是2000年3月1日24点,生存数据c对应的最晚时刻是2000年5月1日24点;则目标生存数据对应的最早时刻是2000年1月1日24点,生存分析对应的最晚时刻是2000年5月1日24点。
92.在一些实施例中,生存分析对应的最早时刻和最晚时刻可利用安全比较算法确定。
93.在一些实施例中,实现基于联邦学习的生存分析方法的参与方接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻可以通过下述技术方案实现:
94.接收其他多个参与方的生存数据对应的最早时刻和最晚时刻;分别比较本地生存数据对应的最早时刻和其他多个参与方的生存数据对应的最早时刻,和/或,分别比较本地生存数据对应的最晚时刻和其他多个参与方的生存数据对应的最晚时刻;根据比较结果,确定生存分析对应的最晚时刻和生存分析对应的最晚时刻。
95.在具体实施时,一个参与方与另一个参与方利用安全比较算法比较各自的生存数据对应的最早时刻的大小;两个最早时刻中的较小者对应的参与方与第三个参与方利用所述安全比较算法比较各自的生存数据对应的最早时刻的大小;以此类推,直至确定目标生存数据对应的最早时刻。
96.作为示例,一个参与方与另一个参与方利用安全比较算法比较两个参与方的生存数据所对应的最早时刻的大小。若一个参与方对应的生存数据所对应的最早时刻小于另一个参与方对应的生存数据所对应的最早时刻的大小,则最早时刻较小的一个参与方和第三参与方利用安全比较算法比较两个参与方的生存数据所对应的最早时刻的大小。若第三参与方对应的生存数据所对应的最早时刻小于一个参与方对应的生存数据所对应的最早时刻的大小,则第三参与方和第四参与方利用安全比较算法比较两个参与方的生存数据所对应的最早时刻的大小;依次类推,直至确定生存分析对应的最早时刻。
97.在一些实施例中,安全比较算法包括多种实现形式,下面以安全比较算法是使用paillier同态加密为例,说明一个参与方与另一个参与方比较各自对应的生存数据对应的最早时刻的大小。一个参与方对应的生存数据对应的最早时刻是a,另一个参与方对应的生存数据对应的最早时刻是b。一个参与方生成pai llier密钥、公钥pk、私钥sk,一个参与方利用公钥pk加密a,得到e(a),并将e(a)和公钥pk发送至另一个参与方。另一个参与方选取
随机数x和y,计算b*x y的值,并利用公钥pk加密b*x y,得到e(b*x y);另一个参与方在同态加密下利用e(a)计算e(a*x y)=e(a)*x e(y),并将e(b*x y)和e(a*x y)发送至一个参与方。一个参与方利用私钥sk对e(b*x y)和e(a*x y)解密,得到b*x y和a*x y;通过比较b*x y和a*x y的大小,即可获得a与b的大小关系;一个参与方再将计算得到的a与b的大小关系发送至另一个参与方。如此,一个参与方和另一个参与方均能够获知a与b的大小,并且,一个参与方与另一个参与方无需获知对方的生存数据,保证了一个参与方与另一个参与方的生存数据的隐私性。
98.在一些实施例中,一个参与方获取目标生存数据对应的最晚时刻可以通过下述技术方案实现:
99.一个参与方与多个参与方中的任意一个参与方(第四参与方)利用安全比较算法比较各自的生存数据对应的最晚时刻的大小;两个最晚时刻中的较大者对应的参与方与多个参与方中的其他参与方(第五参与方)利用所述安全比较算法比较各自的生存数据对应的最晚时刻的大小;以此类推,直至确定生存分析对应的最晚时刻。
100.作为示例,一个参与方和第四参与方利用安全比较算法比较各自对应的最晚时刻的大小。若一个参与方对应的生存数据所对应的最晚时刻小于第四参与方对应的生存数据所对应的最晚时刻的大小,则第四参与方和多个参与方中的其他参与方(第五参与方)利用安全比较算法比较各自对应的生存数据所对应的最晚时刻的大小。若第五参与方对应的生存数据所对应的最晚时刻大于第四参与方对应的生存数据所对应的最晚时刻的大小,则第五参与方和第六参与方利用安全比较算法比较第五参与方对应的生存数据所对应的最晚时刻与第六参与方对应的生存数据所对应的最晚时刻的大小;依次类推,直至确定目标生存数据对应的最晚时刻。
101.在一些实施例中,确定生存分析对应的最晚时刻的安全比较算法也可以包括多种实现方式,如可以是上述确定生存分析对应的最早时刻的安全比较算法采用的paillier同态加密方式,也可以是其他算法,本技术实施例对安全比较算法的实现形式不做限定。
102.在一些实施例中,若最早时刻对应的生存数据和/或最晚时刻对应的生存数据不属于实施基于联邦学习的生存分析方法的参与方,则实施基于联邦学习的生存分析方法的参与方接收第一广播信息,第一广播信息携带生存分析的最早时刻和/或最晚时刻。若最早时刻对应的生存数据和/或最晚时刻对应的生存数据属于第一参与方,则实施基于联邦学习的生存分析方法的参与方发送第一广播信息,第一广播信息携带生存分析的最早时刻和/或最晚时刻,以使参与生存分析的其他参与方均获知最早时刻和最晚时刻。
103.需要说明的是,基于安全比较算法确定生存分析的最早时刻和最晚时刻的方式适用于参与方的数量为三个或三个以上的情况。
104.步骤s102,基于生存分析对应的最早时刻和最晚时刻确定全局时间序列。
105.在一些实施例中,基于生存分析对应的最早时刻和最晚时刻确定全局时间序列的一种可选处理流程,如图4所示,至少可以包括以下步骤:
106.步骤s102a,确定全局时间序列包括时间子序列和至少一个时间点。
107.步骤s102b,确定时间子序列的起始时刻为最早时刻,所述时间子序列中相邻时间点之间的时间间隔为目标时间间隔。
108.步骤s102c,确定至少一个时间点包括最晚时刻,所述最晚时刻位于所述时间子序
列之后。
109.在一些实施例中,针对上述步骤s102b,若生存分析对应的最早时刻为t
min
,生存分析对应的最晚时刻为t
max
,目标时间间隔为t
interval
,则时间子序列依次包括:t
min
、t
min
t
interval
、t
min
2t
interval

t
min
nt
interval
;且t
min
nt
interval
小于t
max

110.在一些实施例中,针对上述步骤s102c,至少一个时间点为生存分析对应的最晚时刻t
max
,则全局时间序列依次包括:t
min
、t
min
t
interval
、t
min
2t
interval

t
min
nt
interval
、t
max

111.在另一些实施例中,针对上述步骤s102c,,至少一个时间点包括:标生存数据对应的最晚时刻t
max
和t
max
t
interval
,则时间序列依次包括:t
min
、t
min
t
interval
、t
min
2t
interval

t
min
nt
interval
、t
max
、t
max
t
interval

112.步骤s103,接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息。
113.在一些实施例中,一个参与方接收其他各参与方发送的第二广播信息,第二广播信息携带其他各参与方对医疗数据的分析指标。
114.其中,所述各参与方对医疗数据的分析指标基于第一特征确定。第一特征可以是用于对生存数据分组的特征。作为示例,其他参与方中的第二参与方对应的生存数据的分析指标,可以包括使用药物a和使用药物c;其他参与方中的第三参与方对应的生存数据的分析指标,可以包括使用药物b和使用药物c。每一参与方对医疗数据的分析指标包括使用药物a、使用药物b和使用药物c。
115.在一些实施例中,根据每一参与方对应的分析指标确定生存分析的分组信息的处理流程可以如图5所示,包括以下步骤:
116.步骤s103a,确定本地生存数据对应的分析指标。
117.在一些实施例中,一个参与方基于第一特征对本地生存数据进行分组,得到本地生存数据的分析指标。其中,本地生存数据可以是执行联邦学习的生存分析方法的参与方。第一特征可以是用于对生存数据分组的特征。作为示例,第一特征可以是使用药物的种类,本地生存数据包括:使用药物a和药物b对应的生存数据组,则本地生存数据对应的分析指标包括使用药物a和使用药物b。作为示例,第一特征还可以是是否使用介入治疗以及手术的种类等。
118.在一些实施例中,执行基于联邦学习的生存分析方法的参与方也可以以广播的方式将第一分组信息通知参与生存分析的其他参与方。
119.步骤s103b,根据所述每一参与方对医疗数据的分析指标和所述本地生存数据对应的分析指标,确定生存分析的分组信息。
120.在一些实施例中,执行基于联邦学习的生存分析方法的参与方可以接收其他参与方的分组信息,确定每一参与方对医疗数据的分析指标;每一参与方对医疗数据的分析指标和所述本地生存数据对应的分析指标的并集为全局分析指标;根据全局生存指标确定生存分析的分组信息。作为示例,本地生存数据对应的分析指标包括使用药物a和使用药物b,参与方对医疗数据的分析指标包括使用药物a、使用药物b和使用药物c,则生存分析的分组信息包括:全部参与方的生存数据中使用药物a的生存数据组、全部参与方的生存数据中使用药物b生存数据组和全部参与方的生存数据中使用药物c生存数据组。
121.步骤s104,按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分
析信息。
122.在一些实施例中,以所述全局时间序列为时间轴,按照所述生存分析的分组信息对本地生存数据进行分组,得到本地生存数据对应的第一生存分析信息。
123.在一些实施例中,在医疗领域,第一生存分析信息可以是指本地生存数据在某一时刻存活的人数。可选的,可以首先计算发生感兴趣的事件的人数以及删失的人数;再利用本地生存数据的总人数减去发生感兴趣的事件的人数和删失人数,得到某一时刻存活的人数。本地生存数据对应的人数信息表,可以如下表2所示:t表示时间,dn表示在对应的时间发生感兴趣的事件的人数(observed attn),发生感兴趣的事件的人数可以是发生死亡的人数。转移的人数(removed at tn)包括发生感兴趣的事件的人数以及删失的人数的总和。存活的人数yn(at risk at tn)也可以称为存在风险的人数。若本地生存数据如下表2所示,t表示时间点,e=1表示死亡事件,e=0表示删失事件;则第一生存信息可以是指下述表3中的yn。
124.表2.本地生存数据
125.te2120405151808080
126.表3.本地生存数据对应的人数信息表
[0127][0128][0129]
步骤s105,接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。
[0130]
在一些实施例中,根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析的处理过程,可以如图6所示,包括以下步骤:
[0131]
步骤s105a,接收多个参与方发送的利用第一函数加密后的第二生存分析信息。
[0132]
在一些实施例中,其他参与方利用第一函数对第二生存分析信息加密;并将加密后的第二生存分析信息发送至实施基于联邦学习的生存分析方法的参与方。其中,一个第二生存分析信息与一个参与方的生存数据对应。加密后的第二生存分析信息可以是q2(xi),...,qn(xi)。各参与方分别针对所有的xj∈x,计算qi(xj)并发送qi(xj)至其他参与方。
[0133]
在一些实施例中,第一函数可以是一个n-1次多项式,如下所示:
[0134]
qi(x)=aix
n-1
bix
n-2
... vi;
[0135]
其中,vi可以是生存信息,ai和bi是第一函数的系数;
[0136]
步骤s105b,利用所述第一函数对所述第一生存分析信息加密。
[0137]
在一些实施例中,利用第一函数对所述第一生存分析信息加密。多个参与方共享一组随机值x={x1,x2,...,xn},若一个参与方利用第一函数对v1加密,则得到第一值q1(xj)。每个参与方享有私有值vi,本技术实施例中,私有值即上述表2中的yn。
[0138]
步骤s105c,利用第二函数对所述加密后的第二生存分析信息和加密后的第一生存分析信息进行解密,得到全局生存分析信息。
[0139]
在一些实施例中,第一电子设备通过下述公式对q1(xi),q2(xi),...,qn(xi)进行求和。
[0140]
resulti=q1(xi) q2(xi) ... qn(xi)
[0141]
=(a1 a2 ... an)x
in-1
(b1 b2 ... bn)x
in-2
... (v1 v2 ... vn)
[0142]
各参与方均可对q1(xi),q2(xi),...,qn(xi)进行求和,得到方程组,并将resulti发送给其他参与方。
[0143]
resulti=ax
in-1
bx
in-2
... v
sum
,1≤i≤n,a=a1 a2 ... an,b=b1 b2 ... bn;该方程组也可以称为第二函数,求解该方程组,即可得到目标生存数据对应的生存信息(用v
sum
表示),v
sum
=v1 v2 ... vn;其中,a=a1 a2 ... an,b=b1 b2 ... bn,1≤i≤n。
[0144]
如此,每个参与方可以无需获知其他参与方的生存数据,便能够得到其他参与方对应的生存信息,保证了各参与方之间生存数据的隐私性。
[0145]
步骤s105a至s105c采用的算法为安全加和算法,安全加和算法有多种实现形式,本技术实施例不做限定。
[0146]
在一些实施例中,所述全局生存分析信息包括至少两个生存数据组,根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析的实现过程可以包括:确定所述全局时间序列中各时间点上每个所述生存数据组发生的感兴趣事件的数量;根据所述感兴趣事件的数量确定每个所述生存数据组在每个所述时间点的生存概率;基于所述生存概率构建每个所述生存数据组对应的生存曲线。
[0147]
在一些实施例中,对于第n个时间点,生存概率可以通过下述公示计算得到:
[0148]

[0149]
其中,s(t
n-1
)指的是在t(n-1)时间点的生存概率,dn指的是在时间点tn所发生的事件数(observed to death),yn指的是在快要到时间点tn时,还存活的人(at risk)(如果在t(n-1)和tn之间有实例删失,那么在计算yn时应该将该删失患者从总的生存数据中移除。同时tn=0,s(0)=1。
[0150]
在一些实施例中,根据实际序列中每个时间点与每个生存数据组在该时间点的生存概率的对应关系绘制连续的曲线,即为生存曲线。
[0151]
步骤s106,利用目标检验方式确定至少两个所述生存数据组对应的生存曲线之间的差异。
[0152]
在一些实施例中,目标检验方式可以是logrank检验,也可以是cox模型检验等。
[0153]
在一些实施例中,每个生存数据组对应一条生存曲线,由于每个生存数据组对应一个特征因素,因此不同特征因素对应的不同生存数据组的生存曲线之间必然存在差异,基于生存曲线之间的差异能够判断特征因素对生存数据的影响。
[0154]
在一些实施例中,基于logrank检验方式确定生存曲线之间的差异的过程与现有技术相同,这里不再赘述。
[0155]
下面以基于联邦学习的生存分析方法应用于生物医学领域为例,对本技术实施例提供的基于联邦学习的生存分析方法进行说明。
[0156]
利用安全比较算法得到目标生存数据的最早时刻是2,最晚时刻是8;根据各参与方发送的广播信息,可知特征因素是否介入治疗;各参与方对应的生存数据针对特征因素均划分为两组,介入治疗和未介入治疗。
[0157]
每个参与方利用安全加和算法得到目标生存数据的生存信息如下表4和表5所示:x1表示特征向量;如x1=0表示未介入治疗,x1=1表示介入治疗。
[0158]
表4.生存信息(1)(x1=0)
[0159]
tdn:observed at tnremoved at t
nyn
:at_risk at tn211351128011
[0160]
表5.生存信息(2)(x1=1)
[0161][0162][0163]
基于表4绘制的生存曲线1如图7所示,基于表5绘制的生存曲线2如图8所示。再利用logrank检验生存曲线1和生存曲线2之间的差异。其中,不同的电子设备可以利用不同的检验方式检验生存曲线1和生存曲线2之间的差异。
[0164]
本技术实施例提供的基于联邦学习的生存分析方法,多个参与方的任一参与方接收其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻;基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列;接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息;按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分析信息;接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。通过备获取生存分析对应的最早时刻和最晚时刻,能够统一各参与方分析生存数据的时间戳,避免遗漏生存数据。由于生存分析对应的最早时刻和最晚时刻是利用安全比较算法确定的,因此,各参与方不会暴露自身的生存数据,保证生存数据的隐私性。利用安全加和算法确定每个生存数据组对应的生存信息,能够避免各参与方暴露自身的生存数据,保证生存
数据的隐私性。每个参与方仅仅将最早时刻和最晚时刻发送给其他参与方,在确定全局时间序列后,仅仅发送针对全局时间序列的第二生存分析信息给其他参与方,并未透漏自身的生存数据,从而保护了各个参与方数据的隐私。
[0165]
下面继续说明本技术实施例提供的基于联邦学习的生存分析装置455实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的生存数据分析装置455中的软件模块可以包括:获取模块4551,用于其他参与方的生存数据对应的最早时刻和最晚时刻,根据所述其他参与方的生存数据对应的最早时刻和最晚时刻,确定生存分析对应的最早时刻和最晚时刻;时间序列确定模块4552,用于基于所述生存分析对应的最早时刻和最晚时刻确定全局时间序列;分组信息获取模块4553,用于接收其他每一参与方对医疗数据的分析指标,并根据每一参与方对应的分析指标确定生存分析的分组信息;生存信息确定模块4554,用于按照所述生存分析的分组信息和所述全局时间序列,确定第一生存分析信息;生存分析模块4555,用于接收其他多个参与方的第二生存分析信息,并根据所述第一生存分析信息和多个所述第二生存分析信息进行生存分析。
[0166]
在一些实施例中,获取模块4551,用于接收其他多个参与方的生存数据对应的最早时刻和最晚时刻;
[0167]
分别比较本地生存数据对应的最早时刻和其他多个参与方的生存数据对应的最早时刻,和/或,分别比较本地生存数据对应的晚时刻和其他多个参与方的生存数据对应的最晚时刻;
[0168]
根据比较结果,确定生存分析对应的最晚时刻和生存分析对应的最晚时刻。
[0169]
在一些实施例中,分组信息获取模块4553,用于确定本地生存数据对应的分析指标;
[0170]
根据所述每一参与方对医疗数据的分析指标和所述本地生存数据对应的分析指标,确定生存分析的分组信息。
[0171]
在一些实施例中,时间序列确定模块4552,用于根据所述生存分析对应的最早时刻和最晚时刻,按照预设的时间间隔确定全局时间序列。
[0172]
在一些实施例中,生存分析模块4555,用于对所述第一生存分析信息和多个所述第二生存分析信息进行运算处理,得到针对全局分析指标的全局生存分析信息。
[0173]
在一些实施例中,生存分析模块4555,用于接收多个参与方发送的利用第一函数加密后的第二生存分析信息;
[0174]
利用所述第一函数对所述第一生存分析信息加密;
[0175]
利用第二函数对所述加密后的第二生存分析信息和加密后的第一生存分析信息进行解密,得到全局生存分析信息。
[0176]
在一些实施例中,生存分析模块4555,所述全局生存分析信息包括至少两个生存数据组,用于确定所述全局时间序列中各时间点上每个所述生存数据组发生的感兴趣事件的数量;
[0177]
根据所述感兴趣事件的数量确定每个所述生存数据组在每个所述时间点的生存概率;
[0178]
基于所述生存概率构建每个所述生存数据组对应的生存曲线。
[0179]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计
算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的基于联邦学习的生存分析方法。
[0180]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图3至图8示出的基于联邦学习的生存分析方法。
[0181]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0182]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0183]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertext markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0184]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0185]
以上,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献