首页> 中国专利> 平衡数据建模中的起源和准确性权衡的方法和系统

平衡数据建模中的起源和准确性权衡的方法和系统

摘要

本发明涉及一种平衡数据建模中的起源和准确性权衡的方法和系统。生成数据模型可以包括接收原始数据集,以及基于所述原始数据集的第一特性集生成第一库,基于所述第一库的特性的聚合生成具有第二特性集的第二库,以及基于所述第一和第二特性集生成具有第三特性集的第三库。可以基于所述模型的准确性和起源之间的权衡,生成所述数据模型。

著录项

  • 公开/公告号CN104731843A

    专利类型发明专利

  • 公开/公告日2015-06-24

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201410682237.2

  • 发明设计人 C·古特曼;孙行智;

    申请日2014-11-24

  • 分类号

  • 代理机构北京市中咨律师事务所;

  • 代理人于静

  • 地址 美国纽约

  • 入库时间 2023-12-18 09:23:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-05

    授权

    授权

  • 2015-07-22

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20141124

    实质审查的生效

  • 2015-06-24

    公开

    公开

说明书

技术领域

本公开一般地涉及计算机化建模,更具体地说,涉及大型分析模型。

背景技术

计算机化数据建模可以用于促进更好地理解大型数据集。数据建模技 术的应用很广泛,并且可以包括金融、保险、医疗保健、教育等领域。尽 管在创建分析模型中收集信息是一项挑战,但同样重要的挑战是呈现信息 以使其有用的方式。

发明内容

本发明的各实施例提供一种用于生成计算机化分析模型的方法、系统 和计算机程序产品,所述计算机化分析模型接收具有定义的第一特性集的 原始数据集。基于将领域知识集应用于所述第一特性集,定义第二特性集, 以及基于所述第一和第二特性集的特性之间的关系,生成特性层次结构。 从所述特性层次结构中选择特性集,其中将所述第二特性集的尽可能多的 特性结合到所述分析模型中,同时维持定义的准确性值。基于所选择的特 性集,生成计算机化分析模型。

附图说明

图1A是根据本公开的一个实施例的数据建模环境的组件的示意框图;

图1B是示出根据本公开的一个实施例的图1A的数据建模环境的选择 组件的示意框图;

图2示出根据本公开的一个实施例的示例性特性层次结构;

图3A是根据本公开的一个实施例的特性层次结构的示意框图;

图3B是根据本公开的一个实施例的决策树模型的示意框图;

图4A是示出根据本公开的一个实施例的用于生成分析模型的方法的 步骤的流程图;

图4B是示出根据本公开的一个实施例的图4A的方法的其它步骤的流 程图;

图5是根据本公开的一个实施例的计算机系统的示意框图;

图6是根据本公开的一个实施例的示例性云计算环境的框图;以及

图7是根据本公开的一个实施例的图6的示例性云计算环境的功能层 的框图。

具体实施方式

本公开的各个方面提供解决方案以便生成分析模型和数据分类,它们 比现有数据建模技术提供的解决方案更全面。当前建模技术不提供有关使 用什么特性形成模型以及由于什么原因的清晰视图。当底层数据的大小和 结果数据模型的复杂性增加时,该问题加重。给定底层特性的复杂性,最 终用户例如可能不注意或者甚至可能拒绝有价值的洞察。一个实例是医疗 保健领域,其中数据起源(provenance)尤其重要,因为在患者信息的数 据挖掘中使用的抽象并且原始的特性集不易于理解,或者甚至不易于呈现 给领域中的专家。如果分析模型和它所基于的特性未得到很好的解释,则 医疗保健领域中的决策者可能不愿意接受分析模型进行的建议。

例如,第一模型可以基于收集的对应于不同年龄的患者的原始数据, 以很高的准确性预测在患者生命的随后每一年内,70岁以上的患者有95% 的可能性需要高成本保健。高成本保健例如可以定义为对应于为患者提供 的医疗服务的成本的货币价值。尽管该实例中的模型高度准确,但为什么 70岁在预测医疗保健成本中发挥作用可能并不显而易见,即,模型可能具 有相对低的起源。使用该实例中的模型的医疗保健专业人员可能无法确定 最佳实践,以便帮助患者变得更健康并且产生较低的医疗保健成本,因为 医疗保健专业人员和患者可能对患者年龄具有有限的控制。

另一方面,使用本公开的各实施例生成的模型可以包括基于收集的数 据和信息的更有意义的特性,它们可以使医疗保健专业人员和患者能够采 取纠正或预防措施,以便降低提供给患者的医疗保健的成本。例如,起源 级别相对高于上面实例中的第一模型的第二模型可以使用第一模型的相同 底层数据,以70%的准确性预测血糖水平高于特定值的患者可能产生高医 疗保健成本。尽管此第二模型可能在预测患者是否产生高医疗保健成本方 面不如第一模型准确,但第二模型允许医疗保健专业人员确定影响高医疗 保健成本的因素,医疗保健专业人员可以解决该因素。在该实例中,使用 第二模型的医疗保健专业人员可以建议患者接受治疗以便降低患者的血糖 水平。这是第一模型不支持的建议,尽管第一模型远比第二模型准确。

以分类模型为例,大多数现有方法集中于构建可以在分类准确性方面 提供高质量性能的分类模型。因此,通常同等对待模型中的所有特性,并 且基于特性对分类准确性的影响选择这些特性。但是,可用于生成分析模 型的不同特性可以包含不同级别的语义。通常,用于在分析模型中进行分 析的原始数据集包含基本特性。本公开有助于在这些基本特性之上进行构 建,以便可以通过应用领域知识(例如,医疗保健领域知识),开发新的 有意义特性。例如,这可以尤其适用于以下情况:给定可接受级别的分类 准确性,期望较高的起源级别。

针对基于特性层次结构构建分类模型的问题,现有解决方案集中于如 何通过在适当层次结构级别选择特性而最大化分析模型性能。为了使模型 可理解,它们尝试通过控制层次结构的深度来简化决策树模型。一种更好 的方法可以是通过选择对期望的分析(例如,用户期望的)更重要的特性, 改进模型的可理解性。

相应地,本公开的各实施例允许通过应用领域特定知识,基于具有现 有特性集的数据集来定义新特性。这些新特性通常承载适用于其中部署分 析模型的领域的更多语义,并且可以有助于更好地理解模型。同时,在某 些情况下模型可能变得不太准确。但是,本公开的各实施例可以维持足够 级别的期望准确性(例如,用户所期望的),使得给定模型仍可以用于进 行预测。相应地,本公开的各实施例指定模型准确性阈值,并且生成满足 该最低准确性要求的分析模型,同时最大化起源级别。

本公开的各实施例可以提供—但不限于—以下一个或多个特性和/或 优点:对原始数据进行更好地分类、优先级确定和过滤,并且标识使用有 意义输入(例如,来自用户)描述的模型;结果生成引擎,其基于更有意 义的信息,更好地理解要采取什么决策;基于定义为在给定领域中尤其有 用的特性,产生更有洞察力的分析结果;控制分析模型的准确性和起源之 间的权衡的能力;以及总体上促进更多地使用分析模型。

图1A是根据本公开的一个实施例的数据建模环境100的组件的示意 框图。环境100例如可以在下面图5中描述的计算机系统中实现。环境100 可以包括计算机程序104,其包含在有形存储器件中。程序104可以促进 环境100的功能,包括处理其各种组件之间的信息,如下所述。

环境100可以还包括原始数据110集合,其包含有关领域的数据,所 述数据具有不同级别的相关性和准确性。原始数据110可以存储在环境100 中的有形存储器件上。原始数据110可以具有一个或多个属性,每个属性 可以被视为原始数据110的特性。领域例如可以定义为“医疗保健”。因 此,原始数据110例如可以是在到医疗保健机构一次或多次就诊期间,从 患者收集的医疗保健数据。在该实例中,原始数据110可以包括医疗相关 的人口统计信息或其它潜在特性(例如性别和种族),并且可以还包括体 重和身高测量、验血结果等。

原始数据110的特性可以通过特性组合120组件定义和组织,并且通 过模型构建器130处理以便生成分析模型140。可以将分析模型140提供 给用户170。如上所述,这些组件可以实现为程序104的组件,或者实现 为环境100中的另一个程序的一部分。下面将更详细地描述这些组件。

尽管本公开的各实施例讨论用户170的角色,但用户170不必在任何 情况下或者在任何使用相应的实施例期间与这些实施例交互。此外,如果 涉及用户170,则用户170例如可以指定用户170输入作为偏好,在每次 迭代期间,该偏好自动应用于这些实施例的建模功能。

环境100的特性组合120组件可以标识原始数据110的特性,和/或可 以基于预定义的特性集来分析原始数据110,以便定义原始数据110的特 性之间的依赖性。基于这些特性之间的定义的依赖性,可以构造特性层次 结构或树,其中树的每个节点表示可以链接到父和/或子节点(多个)的特 性,并且两个节点之间的每个链接表示依赖关系。在所述特性层次结构中, 所有基本特性可以处于叶节点级别(即,可能一个特性不依赖于另一个特 性)。在下面讨论的图2中示出此类特性层次结构的实例。

可以将环境100的特性组合120组件生成的特性层次结构提供给模型 构建器130,以便生成分析模型140。根据本公开的一个方面,在首次生成 模型中,或者在修改模型构建器130先前生成的现有模型中,模型构建器 130可以根据定义所需准确性级别的阈值160评估对应的模型,以便生成 的模型具有至少等于阈值160的准确性级别。例如,可以根据以下项测量 准确性:模型140如何密切地表示有关模型140的主题的信息(例如,其 信息被收集并且已知采用原始数据110的形式的患者的信息)和/或它可以 很好地预测模型评估的其它数据对象(例如,其它患者)的分类的程度。 在一个相关实施例中,阈值160可以是期望的准确性范围而不是特定值。

应用阈值160可以允许增加分类模型的可理解性,但代价可能是分析 模型140的准确性级别较低但可接受。如果分析模型140包括特性层次结 构的更多高级特性,则它可以更可理解和有用。可能是这种情况,因为高 级特性通常承载更多反映领域特定知识的语义。因此,可以生成分析模型 140以便包括尽可能多的高级特性,而不违反定义的准确性阈值160。

可以迭代地修改分析模型140。例如,可以将原始数据110的定义的 领域知识150(即,针对适用领域定义的知识)迭代地(或者仅一次)应 用于特性组合120,以便在现有低级特性之上定义新的高级特性。在每次 迭代中,模型构建器130可以再次处理修改后的特性组合120,以便生成 新分析模型140。在一个实施例中,领域知识150可以由用户170定义和/ 或修改。用户170例如可以是在环境100中建模的领域专家。在医疗保健 实例中,用户170可以是具有领域相关知识的医疗保健专家。专家能够定 义更有用的高级特性,这些特性不易于在原始数据110中定义。

图1B是示出根据本公开的一个实施例的图1A中所示的数据建模环境 100的选择组件的示意框图,其包括特性组合120组件的附加组件。特性 组合120组件的提取、转换和加载(ETL)172组件可以接收原始数据110 作为输入,并且可以生成对应的数据集R1 174。ETL 172组件可以包括程 序代码,其实现通常用于数据库使用和数据仓储的对应过程。ETL 172组 件从原始数据110中提取数据并且转换数据,以便符合包括质量级别的操 作需要。ETL 172将转换后的数据加载到最终目标,例如数据库或操作数 据存储库、数据集市或数据仓库。示例性ETL 172工具包括以下项:Ab  Initio、Anatella、Apatar、BusinessObjects Data Integrator、CloverETL、 Data Moving Tool(DMT)、Data Transformation Services(DTS)、Feature  Manipulation Engine、IBM InfoSphere DataStage、Informatica、 LogiXML、MuleSoft、Oracle Warehouse Builder、Pentaho、Pervasive  Software、Pipeline Pilot、SAS suites、Scripella、SnapLogic、Sprog、SQL  Server INtergration Services、Sunopsis、Talend Open Studio for Data  Integration以及WhereScape。在此使用或描述的所有商标是其相应所有 者的财产。

R1 174包括ETL 172在原始数据110中标识的基本特性。在医疗保健 实例中,这些基本特性可以包括人口统计信息和健康测量,例如患者的年 龄、生日、血糖水平、身高、体重等。根据一个示例性实施例,R1 174中 的特性可以组织为具有一个或多个对应值的数据对象。例如,一个此类数 据对象可以是具有对应数值的BloodGlucoseLevel数据对象。

环境100的特性组合120组件的聚合176组件可以聚合R1 174数据, 以便生成第二数据集R2 178。在医疗保健实例中,R2 178数据可以包括在 多次看医生期间随时间收集的信息和这些信息的聚合,例如体质指数 (BMI)测量、身高、体重和其它信息。其它信息可以包括为患者提供保 健的成本。根据一个示例性实施例,R2 178中的特性例如可以是具有一个 或多个对应值的数据对象。例如,一个此类数据对象可以是具有对应数值 的BloodGlucoseLevel数据对象。数值例如可以是在R1 174中发现的不同 BloodGlucoseLevel数据对象值的平均值。作为另一实例,R2 178特性可 以是TotalCostOfCare数据对象,其包括R1 174中的对应CostOfCare数 据对象的聚合(即,累计总)值。

在生成上述R2 178特性中,环境100的聚合176组件可以通过使用例 如包括SQL工具的数据转换工具,或者包括数据处理组件(例如IBM SPSS  Modeler、Mathematica、Matlab或上述其它ETL工具)的数据管理工具, 转换R2 178特性(它们可以在诸如DB2、Oracle、SQL服务器之类的数 据库系统中)。这些工具提供自动化以及用户可控制的转换功能,这些功 能允许自动定义和执行任务。其它工具包括Java、C和其它程序设计语言 提供的功能,以便定义一个数据集到另一个数据集的期望转换。

在生成R2 178中,聚合176组件可以还定义和维护R1 174和R2 178 的特性之间的父子关系。例如,可以使用R1 174中的两个子特性生成父特 性R2 178,两个子特性取决于该父特性。根据一个实施例,可以将父子关 系存储在数据库表中,该数据库表的表项具有包括“父”和“子”的属性。 该表可以在数据库上维护的数字文件中维护,并且当生成对应模型时,由 环境100的其它组件根据需要引用。

领域知识150组件可以基于R1 174和/或R2 178的低级特性定义一个 或多个高级特性,以便生成第三数据集R3 180。在医疗保健实例中,高级 特性可以定义为“高再住院率”数据对象。此类特性不包括医疗设备采用 可以测量身高、体重或血压的方式直接测量的数据。相反,“高再住院率” 是可以从底层原始数据导出的特性。例如,可以针对与定义的医疗疗程相 关的所有记录,从原始数据110确定高再住院率的值,方法是判定使用疗 程的患者的记录是否具有原始数据110中的附加记录,这些附加记录指示 在定义的时间段内,由于诸如疗程后感染之类的指定原因或其它原因(例 如可以定义为由于疗程产生的并发症)而随后停留在医院或医疗机构。例 如,可以基于疗程的“再住院”记录数量,按照疗程定义值“高”、“中” 和“低”,作为指示执行疗程的记录数量的百分比。

领域知识150组件中的高级特性的定义可以应用于R1 174和/或R2 178之一或两者,以便产生第三数据集R3 180。这可以迭代地(或一次) 完成,并且在某些实施例中可以涉及来自用户170的输入。例如,可以将 领域知识150组件中的高级特性定义应用于R1 174特性,以便定义R3 180 特性。备选地或除此之外,可以将它们应用于R2 178特性,以便定义R3 180 特性。每当更新R1 174和/或R2 178时,可以通过连续迭代重复该过程。 在医疗保健实例中,领域知识150组件可以由有经验的医生(该医生为用 户170)定义/配置/修改。但是,用户170输入不是必须的。因此,R3 180 可以是数据库,其包含R1 174和R2 178中包括的原始数据110的组合和 聚合后的特性,使用可能不容易在R1 174和/或R2 178中显而易见的领域 相关知识改进以便建模。R3 180本身可以随时间经由聚合176组件聚合。 特性组合120组件可以使用R1 174、R2 178和R3 180生成上述特性层次 结构,其中使用原始数据110定义第一级别特性R1 174,其具有相关特性 R2 178;R1 174和R2 178又可以具有相关特性R3 180。

可以使用上述与生成R1 174和R2 178特性集有关的相同工具,例如 包括使用上述ETL 172组件或其它数据处理组件,生成R3 180特性。此 外,生成R3 180还可以包括定义要应用领域知识以便生成R3 180特性的 R1 174和R2 178的特性之间的父/子依赖性。这可以采用上述与生成和维 护R2 178特性的依赖性记录有关的相同方式完成。

图2示出根据本公开的一个实施例的示例性特性层次结构200。特性 层次结构200可以由环境100的特性组合120组件生成,如上面结合图 1A-B所述。根据一个其中特性组合120作为输入接收的原始数据110包括 医疗保健数据的示例性实施例,特性组合120的组件(图1B中所示)生 成的特性层次结构200可以包括以下节点:

●根节点204:这可以是默认定义为零级别节点以便用作特性层次结 构200树根的节点,第一级别特性可以依赖于该根节点。

●年龄节点208—患者的年龄。

●H1Cn节点212—患者的H1Cn读数。

●体质指数(BMI)节点216—BMI节点216可以具有以下子节点: 身高节点232和体重节点236。

●伴随疾病计数节点220—患者同时患有的被确诊疾病的数量;伴随 疾病计数节点220可以具有以下子节点:疾病诊断节点2401-n。

●频繁用户节点224—频繁用户分类例如可以定义为在一周内门诊就 诊次数大于或等于4次就诊的患者。该节点可以具有以下子节点: 门诊就诊计数节点248。门诊就诊计数节点248又可以具有以下子 节点:门诊就诊节点2561-n。

●高再住院率节点228—高再住院率可以定义为在一年时间内患者再 住院次数大于或等于4。该节点可以具有以下子节点:再住院计数 节点252。再住院计数节点252又可以具有以下子节点:住院节点 2641-n。

在特性层次结构200中,叶节点(即,没有子节点的节点)可以是由 环境100的特性组合120组件标识为基本特性R1 174的特性。基于包含在 这些叶节点中的信息,可以定义其它特性以便生成R2 178(R1 174特性和 R3 180特性的聚合)和R3 180特性。R3 180特性例如可以是:频繁用户 节点224、高再住院率节点228和再住院计数节点252,它们基于特性层次 结构200的R1 174和R2 178特性确定。如可以从所示的实例看到的,这 些R3 180节点/特性基于领域知识150特性。例如,频繁用户是不存在于 原始数据110中的定义的特性,而是从原始数据110中的潜在聚合数据导 出。例如,可以由医生或其它有经验的医疗保健专业人员(即,用户170), 或者通过自动化手段(例如具有领域特定定义的计算机化分析工具和/或数 据库)动态完成定义频繁用户。

图3A示出根据本公开的各实施例的示例性决策树模型140(或简称模 型140)。决策树模型140是分类模型,其允许为数据对象分配类标签。 其它实施例可以使用不同分类模型,例如支持向量机(SVM)分类器、逻 辑回归模型或其它分类模型。这些模型可以采用数学公式或模型的形式, 并且可以应用于特性层次结构。模型140可以对应于一个患者的分类,或 者它可以包含多个患者的聚合分类。

在本实施例中,模型140基于图2中的特性层次结构200。模型140 可以为数据对象分配如下类标签:低成本标签324或高成本标签328。数 据对象例如可以是具有对应于患者的关联数据集的患者记录。模型140可 以包括以下节点:

●用作根节点的年龄节点304—年龄节点304具有两个分支:第一分 支对应于小于40岁的年龄,并且第二分支对应于大于和等于40岁 的年龄。

●用作根节点的子节点的就诊计数节点308,其本身具有两个分支, 这两个分支对应于小于6以及大于或等于6的值。这两个分支的第 一个具有分类低成本324作为其子节点,并且第二分支具有分类高 成本328作为其子节点。

●体质指数(BMI)节点312,其本身具有两个分支和两个对应的子 节点。分支是:小于40,以及大于或等于40。

●再住院计数节点316,其是BMI节点312通过小于40分支的子节 点。再住院计数节点316本身具有小于4以及大于或等于4的两个 分支,第一分支导向低成本标签324作为子节点,并且第二分支导 向高成本标签328作为子节点。

●血糖水平节点320,其是BMI节点312通过大于或等于40分支的 子节点。血糖水平节点320本身具有两个分支:第一分支小于6.0 (即,血糖水平小于6.0),并且第二分支大于或等于6.0。第一分 支导向低成本标签324作为子节点,并且第二分支导向高成本标签 328作为子节点。

如上所述,模型140可以用于评估其有用性的两个方面包括:准确性 和起源。模型140的准确性可以定义为有关以下项的度量:模型140如何 密切地表示有关模型140的主题的已知信息(例如,其信息被收集并且已 知采用原始数据110的形式的患者的信息)和/或它可以很好地预测模型评 估的其它数据对象(例如,其它患者)的分类的程度。准确性可以测量为 百分比值或其它值。例如,可以通过以下方式确定准确性:将具有已知分 类(例如,高成本与低成本)的实例(例如,对应于患者记录的数据对象) 分为两个集:训练数据集和测试数据集。划分例如可以分别为80%/20%。 训练数据集可以用于基于建模算法来构建分类模型,并且可以将分类模型 应用于测试数据集以便测试模型的准确性,该准确性表示为正确分类的实 例(例如,患者记录)与测试数据集中的实例总数的比例。如果模型对测 试数据集的分类与测试数据集的已知分类匹配,则该分类被视为正确。

可以通过将R1 174特性、R2 178特性和R3 180特性与加权值关联来 测量起源,其中特性的级别越高,其具有的加权值就越高。因此,可以通 过在模型中包括更多的高级特性,增加给定模型的起源。其中一个原因是 高级特性表示领域相关知识;它们表示的洞察深于较低级别特性提供的洞 察。

另一方面,模型140的起源可以定义为模型为什么清晰预测给定分类 的度量。它例如可以基于模型包括多少个高级特性。例如,可以根据从中 选择特性的特性层次结构的级别,为模型中使用的每个特性分配权重,由 此根据节点具有的子节点数量,特性层次结构的叶节点具有最低加权值, 并且父节点具有较高加权值。具有最高起源的模型可以是具有最高数量的 高级特性的模型。

在某些情况下,可能出现以下情况:较高起源导致较低准确性,并且 反之亦然。例如,这可能因为具有相对高于第二模型的起源的第一模型包 含少于第二模型的低级特性。第一模型可能具有较低准确性,因为例如高 级特性基于使用某种程度的主观性定义的定义(例如包括基于领域相关知 识的定义)。例如,可以使用来自医疗保健专业人员的输入,定义诸如“高 再住院率”之类的R3 180特性,该特性具有“在一个月时间内大于或等于 4次再住院率”定义。该定义可以基于医疗保健专业人员主观观察什么特 性/信息对医疗保健专业人员有用。因此,提供给领域知识150组件以便定 义高级特性(例如R3 180中的那些特性)的信息不一定正确。它们在开发 模型中用作工具,但模型可能不完全准确。因此,增加的起源可以导致准 确性减小,因为模型更多地依赖其定义应用于收集的数据的特性,而不是 从收集的数据导出的特性。

在类似于图3A中所示的模型140的一个示例性模型(未示出)中, 示例性模型可以仅包括年龄节点304。所述示例性模型可以为小于40岁的 任何患者(表示为数据对象)分配低成本标签324,并且为大于和等于40 岁的任何患者分配高成本标签328。该模型的准确性可以达到90%。换言 之,对于使用该示例性模型评估的90%患者,患者的年龄可以准确指示为 该患者提供医疗保健服务如何昂贵。但是,该单节点示例性模型对于为什 么出现这种情况可能模糊不清。换言之,40岁(其是特性层次结构200中 的R1 174特性)为什么在确定医疗保健成本中是重要特性可能不容易显而 易见(即,可能是低起源)。因此,尽管高度准确,但该示例性模型(未 示出)可以被视为具有低起源,并且可以被视为相对无益。

图3A中的模型140包括的特性可以多于上面讨论的示例性模型(未 示出)。例如可以使用以下记录R(即,数据对象)生成模型140,该记 录可以用于需要为其建模的给定患者P:{年龄:52;就诊计数:1;BMI: 30;再住院计数:2;血糖水平:7.0;H1Cn:6.0;频繁用户:无}。可以 根据模型140(使用R)评估P,从年龄节点304开始。因为P的年龄大 于40岁,所以通过模型140的大于或等于分支评估P的分类。相应地, 接下来针对BMI节点312评估P。因为P的BMI小于40,所以接下来针 对再住院计数节点316评估P。因为P的再住院计数小于4,所以为P分 配低成本标签324。(例如,P的健康保险提供商使用的计算机系统)可 以使用该分类确定P向提供商表示的成本。

在上面的实例中,模型140可以被确定为具有90%的准确性。换言之, 所述模型可以以90%的确定性正确预测高/低成本分类。尽管高度准确, 但该实例中的模型140可能没有高起源级别。换言之,(例如,对于P的 健康保险提供商)可能并不显而易见的是:具有与P情况相同的记录R的 患者为什么应该被视为低成本,即使在90%的时间内事实都是如此。在该 实例中,相对低的起源可能由于以下事实所致:尽管模型140结合原始数 据110的R1 174和R2 178级别特性,但它不包括R3 180中的任何特性, 如结合特性层次结构200(图2)定义的那样。因此,尽管准确,但模型可 能不是很有用。相应地,可能需要生成以下模型:该模型根据其起源被更 好地理解的度量来评估P。

图3B示出根据本公开的各实施例的示例性决策树模型142(或简称模 型142)。模型142可以是修改后的模型140,或者它可以是原始模型(即, 没有必要基于模型140生成模型142)。模型142可以具有低于模型140 的准确性(例如80%),但可以具有较高起源。换言之,它可以仅针对使 用该模型评估的80%患者,正确地将患者分类为低成本与高成本(相对于 模型140的90%准确性),但它可以在每一种情况下都提供更大起源,如 下所述。

在该实例中,模型142可以具有以下节点:

●年龄节点304,其具有两个分支:小于50,以及等于或大于50。

●H1Cn节点332,其是年龄节点304通过小于50分支的子节点,其 本身具有两个分支:对应于低成本标签324的小于9.0分支,以及 对应于高成本标签328的大于或等于分支。

●频繁用户节点336,其是年龄节点304通过大于或等于50分支的子 节点,其本身具有两个分支:对应于低成本标签324的否分支,以 及对应于高成本标签328的是分支。

可以根据模型142评估相同患者P,该患者的记录R根据图3A中的 模型140产生低成本分类。可以首先相对于年龄节点304评估P。因为P 的年龄不小于50岁,所以接下来相对于频繁用户节点336评估P。因为P 不是频繁用户(如在图2中的特性层次结构200中定义),所以为P分配 低成本标签324。该分类可以更容易理解;即,P之类的患者为什么具有 低成本可能更显而易见。相应地,可通过查看模型142应用于P的结果得 出的一个结论可以是:不是频繁医疗保健用户的年龄等于或大于50岁的患 者表示低成本。这是模型140中未明确支持的结论。因此,尽管模型140 可以以大于模型142的准确性预测低成本与高成本分类,但模型142可以 提供更多的洞察并且允许更好的推理。

图4A是示出根据本公开的一个实施例的用于生成分析模型M(其例 如可以是图3B中所示的模型142)的方法400的步骤的流程图。方法400 例如可以由作为图1中所示的环境100的一部分的程序104实现。方法400 可以接收特性层次结构作为输入。这可以是图2中所示的特性层次结构 200。方法400可以生成模型M(例如,图1A-B、3A-B中所示的模型 140-142),该模型满足在步骤412a指定的准确性阈值160值(其可以由 用户170配置),并且如果给出阈值要求,则可以引入尽可能多的高级特 性。

因此,方法400可以在404基于试探方法从数据集R1 174、R2 178 和/或R3 180中选择一个或多个特性,并且在步骤408基于其选定特性生 成M。通过试探方法,方法400分析可以从特性层次结构生成的多个模型, 并且将它们相互比较以便确定哪个模型包括特性层次结构中的最高数量的 高级特性,同时维持满足阈值准确性准则的准确性。下面结合图4B更详 细地描述基于试探方法选择特性的其它细节。方法400可以在步骤412确 定生成的M是否满足在步骤412a指定的准确性要求,以及如果给出该阈 值,则它是否包括尽可能多的高级特性。当确定如此时,方法400在步骤 316输出M(例如,在显示器上)。

当在步骤412确定M不满足用户170设置的要求时,方法400可以在 步骤404基于其它试探数据迭代地选择适当的特性。在每次迭代中,方法 400可以建议要选择的特性,例如包括未在先前迭代期间选择的特性或特 性组合,以便在步骤408生成的模型将不同于在步骤412视为不可接受或 不需要的先前模型。如果每次迭代(例如,预定迭代次数)均导致不满意 的模型,则可以不提供模型。

执行方法400中的一项挑战可以是在用作输入的数据集中存在大量候 选特性集。在数学上,如果特性层次结构中的特性数量为N,则具有 ([2(N-1)]-1)个候选特性集,其中N是包括空特性(例如,用作特性层次 结构的根节点的虚拟节点)的特性总数。因此,在特性选择步骤404,应 用试探法变得对快速发现可以生成所需模型的适当特性集有用。如上讨论 的,试探方法包括从同一特性层次结构生成模型集,并且确定生成的模型 集中的哪个模型包括特性层次结构的最高数量的高级特性,同时维持满足 方法400的准确性阈值要求的准确性级别。直观上,试探方法可以应用某 些规则以遍历特性层次结构,以便可以快速发现能够导向最优或近优建模 的特性集。在每次迭代中,可以基于当前特性集、特性层次结构的结构和 当前模型及其确定的准确性,确定新的选定特性集。

根据本公开的一个实施例,用于特性选择的步骤404试探方法可以定 义如下。作为选择过程的一部分,方法400可以首先分析特性层次结构的 根,假设在层次结构级别0始终具有一个根节点。这例如可以是虚拟节点。 虚拟节点是特性层次结构的最通用节点。高级特性指位于层次结构的较高 级别中的特性。相反,低级特性指位于层次结构的较低级别中的特性。通 过逐渐遍历特性层次结构的连续级别(从高级别到低级别),可以选择特 性以便生成一个或多个对应的模型,并且可以更新准确性度量。如果满足 准确性要求,则搜索可以停止,并且不需要搜索较低级别和更具体的特性。 例如,搜索可以在级别1开始。如果从该初始特性集(即,级别1的特性 集)生成的模型不足够准确,则模型中的级别1的特性可以由在级别2发 现的其子特性替换。

可以通过评估特性层次结构中的特性对使用特性层次结构生成的模型 的作用和/或影响,增强方法400在步骤404的特性选择。方法400可以使 用度量,该度量指示特性在模型中的意义和/或对模型的影响。例如,当作 为决策树模型的一部分而评估特性时,一个此类度量可以是信息增益度量。 信息增益度量是以下度量:当在模型中使用一个特性将实例(数据对象) 分成子集时,决策树模型的熵值变化。熵是实例集的输出值的不一致或不 纯的度量。在分类模型的情况下,输出值可以是给定实例(即,数据对象 向量(例如,患者记录))的类标签(例如,高成本或低成本)。如果S 是用于生成模型的实例集,并且pi是S中输出值为i的实例部分,则S的 熵可以定义为:

Entropy(S)=-∑ipilog2(pi)

如果给出上面的熵定义,则特性A的信息增益可以确定为:

Gain(S,A)=Entropy(S)-∑vinValues(A)[(|Sv|/|S|)*Entropy(Sv)]

其中S是用于生成模型的实例集,v是特性A的值,Sv是A=v的S子集, 并且Values(A)是A的所有可能值。

信息增益(及其基础熵值(多个))仅是以下度量的一个实例:该度 量可以用于评估特性在对应模型(例如,决策树分类模型)中的意义和对 该模型的影响。其它分类模型可以使用不同度量。例如,逻辑回归模型可 以使用p值度量,其是特性在模型中的统计意义的指示。

方法400的步骤404的试探过程选择哪个模型因此可以基于对模型具 有优选、预定或指定影响的模型特性。例如,如果将特性包括在对应模型 中产生较低熵值,则该特性可以相对于其它特性具有优选影响。用户可以 基于使用和/或需要/优选的特定建模,预先定义和/或指定此类偏好。

在该实例中,如果模型不足够准确,则具有最不重要的熵值的特性可 以由下一级别的其子特性替换。该方法保留被视为对于构建模型重要的通 用特性,并且分解相对狭隘以及对模型不太重要的那些特性。

分解在步骤404选择的特性集以便支持新的选定特性集之后,创建新 特性集。可以在步骤408基于新特性集生成新模型。如果新模型的性能不 优于先前模型M的性能,则可以忽略分解的特性集,并且可以取消分解以 便支持具有第二不重要的熵值的其它特性的新的分解。

特性分解过程可以继续,直到结果模型足够准确,或者直到如果选定 特性集中的每个特性都是特性层次结构中的叶节点。

现在参考图4B,根据本公开的一个示例性实施例的方法400的步骤 404(图4A)的试探方法包括以下步骤。在步骤420,方法400可以从特 性集FS开始,该特性集包括层次结构的第一级别(例如,级别1)中的所 有特性。在步骤424,所述方法可以为模型M和新模型NM分配空值。方 法400还可以将测试的特性集TFS初始化为空。

在步骤432,方法400可以基于特性集FS初始化模型M。可以基于 模型M中的FS的特性针对模型M的熵值,对所述特性排序。排序可以 采用升序。还可以根据特性在特性层次结构中的级别,对特性进行排序。 该排序也可以采用升序。可能使用其它排序策略。

在步骤440,方法400可以选择最初在FS中但不在TFS中的特性f, 其中f在特性层次结构中具有子节点。在步骤444,在步骤440选择的f 可以由其子特性替换。

在步骤448,方法400可以基于FS-{f}与{f的子特性}的并集,计算新 模型NM(其可以在步骤424初始化)。在步骤452,可以将测试特性集 TFS更新为TFS与{f}的并集。

可以在步骤456评估模型NM的准确性并且将其与M的准确性相比 较。如果NM的性能不是更好,则可以在步骤456再次重复和评估以下步 骤:选择特性f440、使用其子特性替换特性444、计算新模型448,以及 更新测试特性集452。

当在步骤456确定NM的准确性好于M时,方法400可以在步骤460 继续到更新FS=FS-{f}与{f的子特性}的并集。TFS可以在步骤464更新为 空,并且M可以设置为等于NM。

可以在步骤472再次评估M的准确性,以便判定它是否小于阈值度量 160(参见图1A-B),以及FS中的所有特性是否是特性层次结构中的叶 节点。如果M小于阈值度量160,并且FS中的所有特性并非都是叶节点, 则方法400可以重复以下步骤以便到达新M:排序436、选择440、替换 444、计算448、更新452、评估456、设置460、更新464以及更新468。 可以在步骤472再次评估该新M,或者方法400可以如结合图4A所述的 那样提供M,或者方法400可以结束。

继续参考所述图4A-B,方法400部分地促进设置准确性阈值,并且针 对该阈值评估模型M。可以使用有关起源的其它约束;例如以下要求:R3 180(图1B、2)中的至少3个特性或特定特性必须在模型中。因此,方法 400可以生成M,以便满足准确性要求并且满足起源要求。起源要求可以 基于用户170(图1A-B)输入。

现在参考图5,计算设备1000可以包括相应多组内部组件800和外部 组件900。每组内部组件800包括一个或多个处理器820;一个或多个计算 机可读RAM 822;一个或多个计算机可读ROM 824(在一个或多个总线 826上);一个或多个操作系统828;执行方法400的一个或多个软件应用 829(例如,设备驱动器模块);以及一个或多个计算机可读有形存储器件 830。一个或多个操作系统828和设备驱动器模块存储在一个或多个相应的 计算机可读有形存储器件830上,以便经由一个或多个相应的RAM 822 (其通常包括高速缓冲存储器)由一个或多个相应的处理器820执行。在 图5中所示的实施例中,每个计算机可读有形存储器件830是内部硬盘驱 动器的磁盘存储器件。备选地,每个计算机可读有形存储器件830是半导 体存储器件,例如ROM 824、EPROM、闪存,或者可以存储计算机程序 和数字信息的任何其它计算机可读有形存储器件。

每组内部组件800还包括读写驱动器或接口832以便读取和写入一个 或多个计算机可读有形存储器件936,例如精简供应存储器件、CD-ROM、 DVD、SSD、记忆棒、磁带、磁盘、光盘或半导体存储器件。R/W驱动器 或接口832可以用于将设备驱动器840固件、软件或微代码加载到有形存 储器件936,以便促进与计算设备1000的组件通信。

每组内部组件800还可以包括网络适配器(或交换机端口卡)或接口 836,例如TCP/IP适配卡、无线WI-FI接口卡,或者3G或4G无线接口 卡或其它有线或无线通信链路。与计算设备1000关联的操作系统828可以 经由网络(例如,因特网、局域网或广域网)和相应的网络适配器或接口 836,从外部计算机(例如,服务器)下载到计算设备1000。从网络适配 器(或交换机端口适配器)或接口836,将与计算设备1000关联的操作系 统828加载到相应的硬盘驱动器830和网络适配器836中。网络可以包括 铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘 服务器。

每组外部组件900可以包括计算机显示器920、键盘930和计算机鼠 标934。外部组件900还可以包括触摸屏、虚拟键盘、触摸板、指点设备 和其它人机接口设备。每组内部组件800还包括设备驱动器840,以便与 计算机显示器920、键盘930和计算机鼠标934对接。设备驱动器840、读 写驱动器或接口832以及网络适配器或接口836包括硬件和软件(存储在 存储器件830和/或ROM 824中)。

现在参考图6,示出示例性云计算环境600。如图所示,云计算环境 600包括一个或多个云计算节点,每个云计算节点可以是云的消费者使用 的本地计算设备可以与其相通信的系统1000,本地计算设备例如可以是个 人数字助理(PDA)或移动电话600A、台式计算机600B、膝上型计算机 600C和/或汽车计算机系统600N。节点1000之间可以相互通信。可以在 如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或 者多个网络中将这些节点进行物理或虚拟分组(图中未显示)。这样,云 的消费者无需在本地计算设备上维护资源就能请求云计算环境600提供的 基础架构即服务、平台即服务和/或软件即服务。应当理解,图6显示的各 类计算设备600A-N仅仅是示意性的,计算节点1000以及云计算环境600 可以与任意类型网络上和/或网络可寻址连接的任意类型的计算机化设备 (例如使用Web浏览器)通信。

现在参考图7,示出云计算环境600(图6)提供的一组功能抽象层。 首先应当理解,图7所示的组件、层以及功能都仅仅是示意性的,本发明 的实施例不限于此。如图7所示,提供下列层和对应功能:

硬件和软件层710包括硬件和软件组件。硬件组件的例子包括:主机, 例如系统;基于RISC(精简指令集计算机)体系结构的 服务器,例如IBM系统;IBM系统;IBM系统;存储器件;网络和网络组件。软件组件的例子包括:网络应用服务 器软件,例如IBM应用服务器软件;以及数据库软件,例如 IBM数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、 WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。

虚拟层714提供一个抽象层,该层可以提供下列虚拟实体的例子:虚 拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作 系统,以及虚拟客户端。

在一个实例中,管理层718可以提供下述功能:资源供应功能:提供 用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和 定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单 和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云 的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功 能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能: 提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议 (SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供 预先安排和供应。

工作负载层722提供云计算环境可能实现的功能的示例。在该层中, 可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命 周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及分析建 模组件,例如用于图1-4B中所述的本公开实施例的组件。

尽管针对优选实施例具体示出并描述了本发明,但所属技术领域的技 术人员将理解,在不偏离本申请的精神和范围的情况下,可以做出各种形 式和细节上的更改。因此,本发明并不限于在此描述和示出的精确形式和 细节,而是落入所附权利要求的范围内。

所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、 方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形 式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软 件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“模 块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计 算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算 机可读的程序代码。

可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可 以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质 例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、 装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体 的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计 算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦 式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储 器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。 在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质, 该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传 播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号 可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合 适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何 计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令 执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括 —但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的 各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程 序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设 计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在 用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包 执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计 算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过 任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户 计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通 过因特网连接)。

将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的 流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的 每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令 实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可 编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过 计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/ 或框图中的一个或多个方框中规定的功能/动作的装置。

也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使 得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而, 存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的 一个或多个方框中规定的功能/动作的指令的制造品。

也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、 或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列 操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装 置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的 功能/动作的过程。

附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法 和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程 图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述 模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的 可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功 能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上 可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的 功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/ 或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬 件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

尽管使用数字和字母顺序或连续标识了所公开的方法的步骤以及所公 开的系统和环境的组件,但这种数字或字母并不指示必须以所述顺序执行 这些步骤,并且仅用于促进明确引用所述方法的步骤。此外,可以并行执 行所述方法的步骤以便执行其所述的功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号