CN107924384A - 用于使用预测学习模型预测结果的***和方法 - Google Patents

用于使用预测学习模型预测结果的***和方法 Download PDF

Info

Publication number
CN107924384A
CN107924384A CN201680026921.2A CN201680026921A CN107924384A CN 107924384 A CN107924384 A CN 107924384A CN 201680026921 A CN201680026921 A CN 201680026921A CN 107924384 A CN107924384 A CN 107924384A
Authority
CN
China
Prior art keywords
data
data point
subset
node
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680026921.2A
Other languages
English (en)
Inventor
G·卡尔松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ayasdi Inc
Original Assignee
Ayasdi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ayasdi Inc filed Critical Ayasdi Inc
Publication of CN107924384A publication Critical patent/CN107924384A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3048Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0275Fault isolation and identification, e.g. classify fault; estimate cause or root of failure
    • G05B23/0281Quantitative, e.g. mathematical distance; Clustering; Neural networks; Statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/45Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/65Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/75Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2137Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Epidemiology (AREA)
  • Pathology (AREA)
  • Primary Health Care (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种方法包括:接收具有多个节点和多个边缘的网络,节点中的每个包括表示训练数据点的至少一个子集的成员,边缘中的每个连接共享至少一个数据点的节点;将数据点分组为多个群组,每个数据点为至少一个群组的成员;创建第一转换数据集,该第一转换数据集包含训练数据集以及与至少一个群组相关联的多个特征子集,如果用于特定群组的特定特征子集的特定数据点为该特定群组的成员,则该特定数据点的值是基于该特定数据点的值;以及将机器学习模型应用于该第一转换数据集以生成预测模型。

Description

用于使用预测学习模型预测结果的***和方法
技术领域
本发明的实施例是针对对数据点进行分组以进行数据分析,以及更具体地,针对利用基于分组分数改进的数据点分组来生成图形。
背景技术
随着收集和存储的数据增多,对大量数据进行分析且理解其意义的需要也增大。大数据集的示例可以见于金融服务公司、油品到期、生物技术和学术界。令人遗憾的是,对大的多维数据集的先前分析方法往往不足以(如果可能的话)识别重要关系,且可能在计算上是低效的。
在一个示例中,先前分析方法常常使用聚类。聚类作为识别数据中的重要关系的手段常常过于低效。类似地,线性回归、投影寻踪、主成分分析和多维标度的先前方法常常不揭示重要关系。现有线性代数和分析方法对大规模距离过于敏感,且因而会丢失细节。
另外,即使对数据进行分析,经验丰富的专家常常有必要解释并理解先前方法的输出。尽管一些先前方法允许用图形描绘数据中的一些关系,但所述图形不是交互式的,且需要此类专家团队花费相当长的时间来理解所述关系。另外,先前方法的输出不允许探索性数据分析,在探索性数据分析中,可以快速修改分析以发现新关系。相反地,先前方法需要在测试之前制定假设。
发明内容
本文中描述用于使用预测学习模型预测结果(outcome)的***和方法。在一个示例中,一种非暂时性计算机可读介质包含可执行指令。所述指令可由处理器执行以执行方法。所述方法包括:接收具有多个节点和多个边缘的网络,所述多个节点中的节点中的每个包括表示训练数据点的至少一个子集的成员,所述多个边缘中的边缘中的每个连接共享所述训练数据点中的至少一个数据点的节点,所述训练数据集包含行和列,每行定义所述训练数据集的数据点,且每列定义特征,所述训练数据集包含初始数目个列,每列包含与多个特征中的一个特征相关联的值;将所述训练数据集的所述数据点分组为多个群组,所述多个群组中的每个群组包含所述训练数据集的数据点的不同子集,所述训练数据集的每个数据点为所述多个群组中的至少一个群组的成员;创建第一转换数据集,所述第一转换数据集包含所述训练数据集以及多个特征子集,所述多个特征子集中的每个与所述多个群组中的至少一个群组相关联,如果用于特定群组的特定特征子集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述训练数据集中的所述特定数据点的值;以及将机器学习模型应用于所述第一转换数据集以生成预测模型。
所述方法可以进一步包括:接收分析数据集;将所述分析数据集的数据点分组到所述多个群组中的一个或更多个群组中;创建第二转换数据集,所述第二转换数据集包含所述分析数据集以及所述多个特征子集,所述多个特征子集中的每个与所述多个群组中的所述至少一个群组相关联,如果用于特定群组的特定特征子集的所述分析数据集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述分析数据集中的所述特定数据点的值;将所述预测模型应用于所述第二转换数据集以生成预测结果;以及生成指示所述预测结果中的一个或更多个的报告。
在一些实施例中,所述方法可以进一步包括比较所述预测结果与已知结果以评估所述预测模型的质量。
具有所述多个节点和所述多个边缘的所述网络可以是应用于所述训练数据集的拓扑数据分析的结果。具有所述多个节点和所述多个边缘的所述网络是通过以下操作生成:接收所述训练数据集;生成参考空间;使用至少一个过滤器(filter)将所述训练数据的所述数据点映射到所述参考空间中;基于分辨率生成覆盖(cover);基于度量(metric)和所述训练数据集的数据点来对所述覆盖中的数据进行聚类;基于所聚类的数据识别节点;以及如果节点共享来自所述训练数据集的成员数据点,则识别节点之间的边缘。生成所述多个节点和所述多个边缘的方法可以至少部分地在执行数据点分组、第一转换数据集创建和/或机器学习模型应用的相同的(一个或更多个)处理器上执行。
在各种实施例中,如果所述训练数据集的特定数据点不是特定群组的成员,则用于所述特定群组的特定特征子集的所述特定数据点的值为零。在一些实施例中,如果所述训练数据集的特定数据点不是特定群组的成员,则用于所述特定群组的特定特征子集的所述特定数据点的值为空。用于特定数据点为其成员的特定群组的特定特征子集的所述特定数据点的所述值被加权。对用于所述特定数据点的所述值的加权可以至少部分地取决于所述特定数据点为所述多个群组中的多少个群组的成员。
所述机器学习模型可以选自由以下组成的群组:线性回归机器学习模型、多项式回归机器学习模型、逻辑回归机器学习模型,和随机森林机器学习模型。
一种示例方法包括:接收具有多个节点和多个边缘的网络,所述多个节点中的节点中的每个包括表示训练数据点的至少一个子集的成员,所述多个边缘中的边缘中的每个连接共享所述训练数据点中的至少一个数据点的节点,所述训练数据集包含行和列,每行定义所述训练数据集的数据点,且每列定义特征,所述训练数据集包含初始数目个列,每列包含与多个特征中的一个特征相关联的值;将所述训练数据集的所述数据点分组为多个群组,所述多个群组中的每个群组包含所述训练数据集的数据点的不同子集,所述训练数据集的每个数据点为所述多个群组中的至少一个群组的成员;创建第一转换数据集,所述第一转换数据集包含所述训练数据集以及多个特征子集,所述多个特征子集中的每个与所述多个群组中的至少一个群组相关联,如果用于特定群组的特定特征子集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述训练数据集中的所述特定数据点的值;以及将机器学习模型应用于所述第一转换数据集以生成预测模型。
一种示例***可以包括处理器和存储器。所述存储器可以存储指令,所述指令在由所述处理器执行时致使所述处理器:接收具有多个节点和多个边缘的网络,所述多个节点中的节点中的每个包括表示训练数据点的至少一个子集的成员,所述多个边缘中的边缘中的每个连接共享所述训练数据点中的至少一个数据点的节点,所述训练数据集包含行和列,每行定义所述训练数据集的数据点,且每列定义特征,所述训练数据集包含初始数目个列,每列包含与多个特征中的一个特征相关联的值;将所述训练数据集的所述数据点分组为多个群组,所述多个群组中的每个群组包含所述训练数据集的数据点的不同子集,所述训练数据集的每个数据点为所述多个群组中的至少一个群组的成员;创建第一转换数据集,所述第一转换数据集包含所述训练数据集以及多个特征子集,所述多个特征子集中的每个与所述多个群组中的至少一个群组相关联,如果用于特定群组的特定特征子集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述训练数据集中的所述特定数据点的值;以及将机器学习模型应用于所述第一转换数据集以生成预测模型。
所述指令可以进一步致使所述处理器:接收分析数据集;将所述分析数据集的数据点分组到所述多个群组中的一个或更多个群组中;创建第二转换数据集,所述第二转换数据集包含所述分析数据集以及所述多个特征子集,所述多个特征子集中的每个与所述多个群组中的所述至少一个群组相关联,如果用于特定群组的特定特征子集的所述分析数据集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述分析数据集中的所述特定数据点的值;将所述预测模型应用于所述第二转换数据集以生成预测结果;以及生成指示所述预测结果中的一个或更多个的报告。
附图说明
图1a是表示表现为被划分成三个非连接群组的数据的示例图形。
图1b是表示从洛特卡-沃尔泰拉(Lotka-Volterra)方程获得的数据集的示例图形,洛特卡-沃尔泰拉方程对掠食者和猎物随时间推移的种群数进行建模。
图1c是数据集的示例图形,其中数据不分解为非连接群组,而改为具有其中存在从中心群组发出的线(或张开部(flare))的结构。
图2是可以实践实施例的示例环境。
图3是示例分析服务器的框图。
图4是在一些实施例中描绘数据集分析和可视化的示例方法的流程图。
图5是一些实施例中的示例ID字段选择界面视窗。
图6a是一些实施例中的示例数据字段选择界面视窗。
图6b是一些实施例中的示例度量和过滤器选择界面视窗。
图7是一些实施例中的示例过滤器参数界面视窗。
图8是在一些实施例中用于数据分析和生成可视化的流程图。
图9是一些实施例中的示例交互式可视化。
图10是在一些实施例中显示解释信息视窗的示例交互式可视化显示。
图11是一些实施例中的交互式可视化的功能性的流程图。
图12是在一些实施例中用于利用多个患者的生物学数据生成癌症地图可视化的流程图。
图13是一些实施例中的包含数个患者的生物学数据的示例数据结构,其可以用来生成癌症地图可视化。
图14是在一些实施例中显示癌症地图的示例可视化。
图15是在一些实施例中用于相对于癌症地图可视化定位新患者数据的流程图。
图16是在一些实施例中显示癌症地图的示例可视化,所述癌症地图包含三个新癌症患者的位置。
图17是在一些实施例中利用新患者数据的可视化和定位的流程图。
图18是一些实施例中的示例数字装置。
图19a到19d描绘在一些实施例中基于评分确定分割(partition)以进行自动分组的示例。
图20是示例分析服务器的框图。
图21描绘一些实施例中的示例自动分组模块。
图22是在一些实施例中用于自动分组的示例流程图。
图23描绘在一些实施例中基于评分确定分割的示例。
图24是在一些实施例中的数据点的自动分组图形的示例报告,其描绘分组的数据。
图25是基于输入图形生成的示例可视化,每个边缘依据边缘端点处的密度函数差异而进行加权。
图26是使用图形到区的自动分组分割生成的另一示例可视化,所述区强连接且具有相似函数值。
图27是一些实施例中的包含自动分组模块和预测模块的示例分析服务器208的框图。
图28描绘一些实施例中的示例预测模块。
图29是在一些实施例中用于创建预测模型的流程图。
图30描绘示例训练数据集3000。
图31描绘一些实施例中的另一示例第一转换数据集3100。
图32是在一些实施例中用于相对于TDA图形定位新数据的流程图。
图33是关于以下论述的示例的总体概述的图表。
图34描绘金融数据的结构的示例。
图35描绘在此示例中的导出特征,例如交易量。
图36描绘此示例中的TDA网络。
图37描绘在此示例中基于相似日期对金融数据的分组。
图38描绘来自预测模块的输出(例如,预测结果)。
具体实施方式
本文中所描述的一些实施例可以是拓扑数据分析(TDA)主题的一部分。TDA为已产生用于从几何视角研究点云数据集的若干方法的研究领域。其它数据分析技术使用各种类型的“近似模型”。举例来说,回归方法将数据建模为一个或更多个变量的函数图形。令人遗憾的是,某些定性特性(在数据为二维时,人们可以轻易地观察到所述特性)可能对于理解极为重要,但这些特征可能不轻易地表示于此类模型内。
图1a是表示表现为被划分成三个非连接群组的数据的示例图形。在此示例中,用于此图形的数据可与关于不同人口群组的各种物理特性或关于不同形式疾病的生物医学数据相关联。已发现,以此方式分解为群组的数据可以给出对数据的深刻理解(一旦人们理解了所述群组的特征)。
图1b是表示从洛特卡-沃尔泰拉方程获得的数据集的示例图形,洛特卡-沃尔泰拉方程对掠食者和猎物随时间推移的种群数进行建模。从图1b,关于此数据的一个观测为其被布置成环路(loop)。环路不完全是圆形,但其在拓扑上为圆。尽管令人关注,但方程的确切形式可能不如该定性观测重要,定性观测反映了基础现象是反复性或周期性的事实。在查找周期性或反复性现象时,可以开发能够检测环路的存在而不定义明确模型的方法。举例来说,周期性可以是可检测的,而不必首先开发完全准确的动力学模型。
图1c是数据集的示例图形,其中数据不分解为非连接群组,而改为具有其中存在从中心群组发出的线(或张开部)的结构。在此情况下,数据还表明三个相异群组的存在,但数据的连通性并不反映此方面。为图1c中的示例图形的基础的此特定数据是源于对单核苷酸多态性(SNP)的研究。
在以上示例中的每个中,数据形状的方面与反映关于数据的信息相关。连接性(最简单的形状特性)反映了数据到不同群组的离散分类的存在。环路(另一简单形状方面)的存在常常反映周期性或反复性的行为。最后,在第三示例中,含有张开部的形状表明描述其中现象可以从范数偏离的方式的数据分类,范数通常会由中心核心表示。这些示例支持以下构思:数据的形状(适当定义的)是其结构的重要方面,且因此开发用于分析和理解其形状的方法是重要的。使自身侧重于研究形状的数学部分称为拓扑,且拓扑数据分析试图使已在纯数学中开发出的用于研究形状的方法适应于研究适当定义的数据的形状。
一个问题是,几何结构或形状的概念如何转换为关于点云(其毕竟为有限集)的信息?所谓的形状或几何结构可以来自相异度函数或度量(例如,还可以满足三角不等式的数据集中的点对的集合上的非负、对称、实值函数d,且当且仅当x=y时,d(x;y)=0)。对于许多数据集大量存在此类函数。举例来说,当数据以数值矩阵的形式出现时,其中行对应于数据点,且列是描述数据的字段,当存在n个字段时,n维欧几里德距离函数是自然的。类似地,在此示例中,存在皮尔逊相关距离(Pearson correlation distances)、余弦距离和其它选择。
当数据不是欧几里德的,例如,如果正在考虑基因组序列,则可以使用基于基本局部对比检索工具(Basic Local Alignment Search Tool,BLAST)类型的相似性得分的相似性的测量来定义距离的各种概念。另外,相似性测量可以是非数字的形式,例如朋友的社交网络或爱好、购买模式、发推文和/或职业兴趣的相似性。以这些方式中的任一个,形状的概念可以通过建立数据点相似性的有用概念来制定。
TDA的优点之一是它可以依靠的无非是这样一个概念,这是一个非常原始的或低层次的模型。例如,其可以依赖于比标准线性或代数模型少得多的假设。另外,所述方法可以提供可视化和压缩数据集的新方式,这有助于理解和监测数据。所述方法可以实现不同数据集之间的相互关系的研究和/或数据集的多尺度/多分辨率研究。此外,所述方法可以使用点和单击方法实现数据分析中的交互性。
TDA可以是例如主成分分析(PCA)、多维标度和层次聚类等较传统方法的一个非常有益的补充。这些现有方法常常非常有用,但有很大的局限性。举例来说,PCA本质上是一个线性过程,且因此在高度非线性的情况下它的效用是有限的。多维标度是一种本质上不是线性的方法,但在许多情况下可能会漏掉细节,因为其可能使大距离超重。此外,当度量不满足固有的平坦度条件时,其可能难以如实地表示数据。层次聚类确实展现出多尺度行为,但仅将数据表示为不联接的群集,而不保留数据集的任何几何结构。在所有四种情况下,这些限制对于许多不同种类的数据是成问题的。
我们现在概述示例构造的示例特性,在一些实施例中,所述特性可以用于以有用的、可理解的方式将数据集的形状表示为有限图形:
·输入可能是以某种方式配备具有距离或相异度函数或其它描述的数据点集合。当数据以矩阵的形式出现,或者明确地作为距离矩阵甚至是数学网络的生成边缘时,可以隐含地给出这输入。
·一个构造还可以使用一个或更多个透镜函数(即,数据上的实值函数)。(一个或更多个)透镜函数可以直接取决于度量。举例来说,(一个或更多个)透镜函数可以是密度估计器的结果或向心性或数据深度的测量。在一些实施例中,(一个或更多个)透镜函数可以取决于数据的特定表示,如在人们使用主成分或多维标度分析的第一个或两个坐标时。在一些实施例中,(一个或更多个)透镜函数可以是专家知识识别为本质上所关注的列,如在心脏病研究中的胆固醇水平和BMI中。
·在一些实施例中,构造可以取决于两个或更多个处理参数、分辨率和增益的选择。分辨率增大通常导致较多节点,且增益增大增加了可视化和/或参考空间中的图形中的边缘数目,如本文进一步描述。
·输出可以是例如可视化(例如,连接节点或“网络”的显示)或单纯复形(simplicial complex)。在一个实施例中,一个特定组合构想可以是顶点形成有限集,然后额外结构可以是被描画为此网络中的连接部的边缘的集合(无序的顶点对)。
在各种实施例中,本文中描述一种用于使用拖放方法而不是基于文本的方法来处置、分析和可视化数据的***。在哲学上,数据分析工具不一定被看作是“求解器”,而实际上被看作是用于与数据交互的工具。举例来说,数据分析可由处理的若干迭代组成,在所述处理中,计算工具指向数据集中的关注区。数据集可以接着由具有数据领域专门知识的人进行检查,且数据集可以接着经受进一步的计算分析。在一些实施例中,本文所描述的方法提供了在数学构造之间来回往返的方法,一方面包含交互式可视化(例如,图形),且另一方面包含数据。
在本文中所描述的一些实施例中的数据分析的一个示例中,论述示例聚类工具,其可比现有技术更加强大,强大之处在于能够找到群集内的结构且研究群集在一段时间内如何改变或如何随标度或分辨率的改变而改变。
示例交互式可视化工具(例如,本文中进一步描述的可视化模块)可以以图形形式产生组合输出,所述图形可以容易地可视化。在一些实施例中,示例交互可视化工具可能对距离概念的变化比当前方法(例如多维标度)更不敏感。
本文中所描述的一些实施例准许利用可视化操纵数据。举例来说,可以选择来自可视化的被认为是所关注的数据部分并将其转换成数据库对象,接着可以进一步分析这些对象。本文中描述的一些实施例准许在可视化中定位所关注的数据点,以使得可以轻易地理解在给定可视化与可视化表示的信息之间的连接。
图2是可以实践实施例的示例环境200。在各种实施例中,可以在本地(例如,利用本地数字装置上的软件和/或硬件)、通过网络(例如,经由云计算)或两者的组合来执行数据分析和交互式可视化。在这些实施例中的许多实施例中,存取数据结构以获得用于分析的数据,基于用户选择的属性和参数执行分析,且生成并显示交互式可视化显示。在本地执行所有或一些活动存在许多优点,且在网络上执行所有或一些活动存在许多优点。
环境200包括用户装置202a到202n、通信网络204、数据存储服务器206,和分析服务器208。环境200描绘跨越网络执行功能的实施例。在此示例中,(一个或更多个)用户可以通过经由通信网络204在数据存储服务器206中存储数据而利用云计算。分析服务器208可以执行交互式可视化显示的分析和生成。
用户装置202a到202n可以是任何数字装置。数字装置是包括存储器和处理器的任何装置。在图2中进一步描述了数字装置。用户装置202a到202n可以是可以用于存取、分析和/或查看数据的任何种类的数字装置,包含但不限于桌上型计算机、便携式计算机、笔记本电脑,或其它计算装置。
在各种实施例中,例如数据分析师等用户可以利用用户装置202a生成数据库或其它数据结构以保存到数据存储服务器206。用户装置202a可以经由通信网络204与分析服务器208通信以对数据库中的数据执行分析、检查和可视化。
用户装置202a可以包括用于与分析服务器208上的一个或更多个应用程序交互的客户端程序。在其它实施例中,用户装置202a可以使用浏览器或其它标准程序与分析服务器208通信。在各种实施例中,用户装置202a经由虚拟私用网络与分析服务器208通信。将了解,用户装置202a、数据存储服务器206和/或分析服务器208之间的通信可以被加密或以其它方式使其安全。
通信网络204可以是允许数字装置通信的任何网络。通信网络204可以是互联网和/或包含LAN和WAN。通信网络204可以支持无线和/或有线通信。
数据存储服务器206是被配置成存储数据的数字装置。在各种实施例中,数据存储服务器206存储数据库和/或其它数据结构。数据存储服务器206可以是单个服务器或服务器的组合。在一个示例中,数据存储服务器206可以是安全服务器,其中用户可以通过安全连接(例如,经由https)存储数据。数据可以被加密和备份。在一些实施例中,数据存储服务器206通过第三方,例如亚马逊的S3服务***作。
数据库或其它数据结构可以包括大型高维数据集。这些数据集在传统上很难分析,因此,数据内的关系可能使用先前方法是不能识别的。另外,先前方法可能在计算上效率低。
分析服务器208是可以被配置成分析数据的数字装置。在各种实施例中,分析服务器可以执行许多函数以解释、检查、分析和显示数据和/或数据内的关系。在一些实施例中,分析服务器208应用用户选择的度量、过滤器和分辨率参数至少部分地执行大型数据集的拓扑分析。本文在图8中进一步论述所述分析。
分析服务器208可以生成分析输出的交互式可视化。交互式可视化允许用户观察并探索数据中的关系。在各种实施例中,交互可视化允许用户选择包括已被聚类的数据的节点。用户可以接着存取基础数据,对基础数据执行进一步分析(例如,统计分析),并手动重新定向交互式可视化内的(一个或更多个)图形(例如,本文中描述的节点和边缘的结构)。分析服务器208还可以允许用户与数据交互,查看图形结果。图9到11中进一步论述交互式可视化。
在一些实施例中,分析服务器208经由私用和/或安全通信网络与(一个或更多个)用户装置202a到202n进行交互。用户装置202a可以包括客户端程序,其允许用户与数据存储服务器206、分析服务器208、另一用户装置(例如,用户装置202n)、数据库和/或分析服务器208上执行的分析应用程序交互。
所属领域的技术人员将了解,全部或部分的数据分析可以发生在用户装置202a处。另外,与可视化(例如,图形)的全部或部分交互可在用户装置202a上执行。
尽管描绘了两个用户装置202a和202n,但所属领域的技术人员将了解,可以在任何位置(例如,远离彼此)存在任何数目的用户装置。类似地,可以存在任何数目的通信网络、数据存储服务器和分析服务器。
云计算可以允许经由更快的连接更快地存取大型数据集(例如,经由商业存储服务)。另外,将了解,提供给(一个或更多个)用户的服务和计算资源可以是可扩展的。
图3是示例分析服务器208的框图。在示例实施例中,分析服务器208包括处理器302、输入/输出(I/O)接口304、通信网络接口306、存储器***308、存储***310和处理模块312。处理器302可以包括任何处理器或具有一个或更多个核心的处理器的组合。
输入/输出(I/O)接口304可以包括用于各种I/O装置的接口,例如,键盘、鼠标和显示装置。示例通信网络接口306被配置成允许分析服务器208与通信网络204通信(参见图2)。通信网络接口306可以支持经由以太网连接、串行连接、并行连接和/或ATA连接的通信。通信网络接口306还可以支持无线通信(例如,802.11a/b/g/n、WiMAX、LTE、WiFi)。对所属领域的技术人员来说将明显的是,通信网络接口306可以支持许多有线和无线标准。
存储器***308可以是任何种类的存储器,包含RAM、ROM、或闪存、高速缓存、虚拟存储器等。在各种实施例中,工作数据被存储在存储器***308中。存储器***308内的数据可以被清除或最终传送到存储***310中。
存储***310包含被配置成检索和存储数据的任何存储装置。存储***310的一些示例包含闪存驱动器、硬盘驱动器、光驱和/或磁带。存储器***308和存储***310中的每个包括计算机可读介质,其存储可由处理器302执行的指令(例如,软件程序)。
存储***310包括由本文中论述的实施例利用的多个模块。模块可以是硬件、软件(例如,包含可由处理器执行的指令),或两者的组合。在一个实施例中,存储***310包括处理模块312,其包括输入模块314、过滤模块316、分辨率模块318、分析模块320、可视化引擎322和数据库存储装置324。分析服务器208和/或存储***310的替代实施例可以包括更多、更少或功能上等效的组件和模块。
输入模块314可以被配置成从用户装置202a接收命令和偏好。在各种示例中,输入模块314从用户接收将用以执行分析的选择。分析的输出可以是交互式可视化。
输入模块314可以向用户提供多种界面视窗,允许用户选择和存取数据库、选择与数据库相关联的字段、选择度量、选择一个或更多个过滤器,并识别用于分析的分辨率参数。在一个示例中,输入模块314接收数据库识别符并存取大型多维数据库。输入模块314可以扫描数据库并向用户提供界面视窗,从而允许用户识别ID字段。ID字段是用于每个数据点的识别符。在一个示例中,识别符是独特的。相同列名称可以存在于从其选择过滤器的表中。在选择ID字段之后,输入模块314然后可以向用户提供另一界面视窗,以允许用户从数据库的表中选择一个或更多个数据字段。
尽管本文中可以描述交互式视窗,但将了解,任何视窗、图形用户界面和/或命令行可以用来接收或向用户或用户装置202a提示信息。
过滤模块316随后可以向用户提供界面视窗,以允许用户选择用于分析所选数据字段内的数据的度量。过滤模块316还可以允许用户选择和/或定义一个或更多个过滤器。
分辨率模块218可以允许用户选择分辨率,包含过滤器参数。在一个示例中,用户键入用于过滤器的间隔数目和重叠百分比。
分析模块320可以基于数据库和用户提供的信息执行数据分析。在各种实施例中,分析模块320执行代数拓扑分析,以识别数据和数据群集内的结构和关系。将了解,分析模块320可以使用并行算法或使用各种统计学技术的一般化(例如,将引导程序(bootstrap)一般化到Z字形方法)以增大可以处理的数据集的大小。图8中进一步论述所述分析。将了解,分析模块320不限于代数拓扑分析,而可以执行任何分析。
可视化引擎322生成交互式可视化,其包含来自分析模块320的输出。交互式可视化允许用户以图形方式查看全部或部分分析。交互式可视化还允许用户与可视化交互。举例来说,用户可以从可视化内选择图形的部分,以查看基础数据和/或基础分析和/或与之交互。用户可以接着改变分析的参数(例如,改变度量、(一个或更多个)过滤器或(一个或更多个)分辨率),这允许用户在视觉上识别在数据中可能原本使用现有手段不可检测的关系。图9到11中进一步描述交互式可视化。
数据库存储装置324被配置成存储正在存取的数据库的全部或部分。在一些实施例中,数据库存储装置324可以存储数据库的已保存部分。另外,数据库存储装置324可以用来存储用户偏好、参数和分析输出,由此允许用户对数据库执行许多不同的函数而不会丢失先前工作。
将了解,处理模块312的全部或部分可以在用户装置上202a或数据库存储服务器206处。在一些实施例中,处理模块312的全部或一些功能可以由用户装置202a执行。
在各种实施例中,本文所论述的***和方法可以用一个或更多个数字装置来实施。在一些示例中,本文论述的一些实施例可以由由处理器执行的计算机程序(指令)来实施。计算机程序可以提供图形用户界面。尽管论述了此类计算机程序,但将了解,实施例可以使用以下任一种单独或组合地执行,包含但不限于计算机程序、多个计算机程序、固件和/或硬件。
模块和/或引擎可以包括任何处理器或处理器的组合。在一些示例中,模块和/或引擎可以包含处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、集成电路和/或相似者或为其一部分。在各种实施例中,模块和/或引擎可以是软件或固件。
图4是在一些实施例中描绘数据集分析和可视化的示例方法的流程图400。在步骤402中,输入模块314存取数据库。数据库可以是含有数据的任何数据结构(例如,多维数据的非常大的数据集)。在一些实施例中,所述数据库可以是关系型数据库。在一些示例中,关系型数据库可以与MySQL、Oracle、Micosoft SQL服务器、Aster nCluster、Teradata和/或Vertica一起使用。将了解,所述数据库可以不是关系型数据库。
在一些实施例中,输入模块314从用户装置202a(参见图2)接收数据库识别符和数据库(例如,数据存储服务器206)的位置。输入模块314可以接着存取所识别的数据库。在各种实施例中,输入模块314可以从许多不同源读取数据,包含但不限于MS Excel文件、文本文件(例如,分隔(delimited)或CSV)、Matlab.mat格式或任何其它文件。
在一些实施例中,输入模块314接收代管数据库的服务器的IP地址或主机名、用户名、密码和数据库识别符。此信息(本文中称为“连接信息”)可以高速缓存以供以后使用。将了解,数据库可以在本地存取,且可能需要所有、一些或不需要连接信息。在一个示例中,用户装置202a可能有完全存取本地存储在用户装置202a上的数据库的权限,因此IP地址是不必要的。在另一示例中,用户装置202a可能已经加载数据库,且输入模块314只是通过存取所加载的数据库而开始。
在各种实施例中,所识别的数据库在表内存储数据。表可以具有“列规格”,其存储列的名称和其数据类型。表中的“行”可以是对于正确类型的每个列具有一个条目的元组(tuple)。在一个示例中,用以存储雇员记录的表可以具有如下的列规格:
·雇员_id(employee_id)主关键字整数(此可以将雇员的ID存储为整数,且独特地识别行)
·年龄整数
·性别字符(1)(雇员的性别可以是单个字符,M或F)
·双倍薪水(雇员的工资可以是浮点数)
·名称变长字符(雇员的姓名可以是可变长度字符串)
在此示例中,每个雇员对应于此表中的一行。另外,此示例关系型数据库中的表被组织成称为数据库的逻辑单元。与文件***相似的是,数据库可以将文件夹和文件看作是表。数据库管理员可以通过指派用户名/密码对验证用户来控制对数据库的存取。
一旦存取数据库,输入模块314可以允许用户存取先前存储的分析或开始新的分析。如果用户开始新的分析,则输入模块314可以向用户装置202a提供界面视窗,从而允许用户识别来自数据库内的表。在一个示例中,输入模块314提供来自已识别的数据库的可用表的列表。
在步骤404中,输入模块314接收识别来自数据库内的表的表识别符。输入模块314可以接着向向用户提供来自表识别符的可用ID字段的列表。在步骤406中,输入模块314从用户和/或用户装置202a接收ID字段识别符。在一些实施例中,ID字段为主关键字。
在选择了主关键字之后,输入模块314可以生成新的界面视窗,以允许用户选择用于分析的数据字段。在步骤408中,输入模块314从用户装置202a接收数据字段识别符。在数据字段内的数据可以由分析模块320稍后分析。
在步骤410中,过滤模块316识别度量。在一些实施例中,过滤模块316和/或输入模块314生成界面视窗,从而允许用户装置202a的用户针对多种不同的度量和过滤器偏好具有若干选项。界面视窗可以是下拉菜单,用于识别分析中使用的各种距离度量。度量选项可以包含但不限于欧几里德、DB度量、方差归一化欧几里德,和总归一化欧几里德。本文中进一步描述度量和分析。
在步骤412中,过滤模块316选择一个或更多个过滤器。在一些实施例中,用户选择并向过滤模块316提供(一个或更多个)过滤器识别符。本文中还进一步描述过滤器在分析中的作用。举例来说,过滤器可以是用户定义的、几何的,或者基于预先处理过的数据。在一些实施例中,基于数据的过滤器是数值阵列,其可以将一组实数大体指派给表中的每个行或数据中的每个点。
多种几何过滤器可以供用户选择。几何过滤器可以包含但不限于:
·密度
·L1偏心率
·L无穷大偏心率
·基于证验的密度
·基于证验的偏心率
·偏心率,其为距固定点的距离
·偏心率的近似峰度
在步骤414中,分辨率模块218定义要在分析中与过滤器一起使用的分辨率。分辨率可以包括间隔数目和重叠参数。在各种实施例中,分辨率模块218允许用户调整一个或更多个过滤器的间隔数目和重叠参数(例如,重叠百分比)。
在步骤416中,分析模块320基于度量、(一个或更多个)过滤器和(一个或更多个)分辨率处理所选字段的数据以生成可视化。图8中论述此处理。
在步骤418中,可视化模块322显示交互式可视化。在各种实施例中,可视化可以在二维或三维空间呈现。可视化模块322可以使用与良好的可视化相关的目标函数的优化算法(例如,嵌入的能量)。可视化可以示出对应于分析输出中的每个部分群集的节点集合以及连接它们的边缘,如由输出指定。图9到图11中进一步论述交互式可视化。
尽管许多示例论述了输入模块314提供界面视窗,但将了解,全部或一些界面可以是由用户装置202a上的客户端提供。另外,在一些实施例中,用户装置202a可以运行处理模块212的全部或一些。
图5到图7描述了各种界面视窗,以允许用户进行选择、键入(enter)信息(例如字段、度量和过滤器)、提供参数(例如分辨率),并提供用于分析的数据(例如,识别数据库)。将了解,任何图形用户界面或命令行都可以用来进行选择、键入信息、提供参数和提供数据。
图5是一些实施例中的示例ID字段选择界面视窗500。ID字段选择界面视窗500允许用户识别ID字段。ID字段选择界面视窗500包括表(table)搜索字段502、表列表504和字段选择视窗506。
在各种实施例中,输入模块314从数据库存储装置324、用户装置202a、或数据存储服务器206识别并存取数据库。输入模块314可以接着生成ID字段选择界面视窗500,并在表列表504中提供所选数据库的可用表的列表。用户可以单击表或通过在表搜索字段502中键入搜索查询(例如,关键字)来搜索表。一旦表被识别(例如,由用户单击),字段选择视窗506可以提供所选表中可用字段的列表。用户可以接着从字段选择视窗506选择一字段作为ID字段。在一些实施例中,任何数目个字段可以被选择为(一个或更多个)ID字段。
图6a是一些实施例中的示例数据字段选择界面视窗600a。数据字段选择界面视窗600a允许用户识别数据字段。数据字段选择界面视窗600a包括表搜索字段502、表列表504、字段选择视窗602,和所选视窗604。
在各种实施例中,在选择ID字段之后,输入模块314提供表列表504中所选数据库的可用表的列表。用户可以单击表或通过在表搜索字段502中键入搜索查询(例如,关键字)来搜索表。一旦表被识别(例如,由用户单击),字段选择视窗506可以提供所选表中可用字段的列表。用户可以接着从字段选择视窗602选择任何数目个字段作为数据字段。所选数据字段可以出现在所选视窗604中。用户还可以取消选择出现在所选视窗604中的字段。
将了解,用户在表列表504中选择的表可以是与图5所选的相同的表。然而,在一些实施例中,用户可以选择不同的表。另外,在各种实施例中,用户可以从各种不同的表选择字段。
图6b是一些实施例中的示例度量和过滤器选择界面视窗600b。度量和过滤器选择界面视窗600b允许用户识别度量、添加(一个或更多个)过滤器并调整过滤器参数。度量和过滤器选择界面视窗600b包括度量下拉菜单606、从数据库添加过滤器按钮608,和添加几何过滤器按钮610。
在各种实施例中,用户可以单击度量下拉菜单606以查看多种度量选项。本文中描述各种度量选项。在一些实施例中,用户可以定义度量。用户定义的度量可以接着用于分析。
在一个示例中,有限度量空间数据可以由数据存储库(即数据库、电子表格或Matlab文件)构成。这可能意味着选择字段集合,其条目将使用这些字段的标准欧几里德度量(当其是浮点或整数变量时)来指定度量。可以支持其它距离概念,例如点集合之间的图形距离。
分析模块320可以使用度量作为距离函数的一部分来执行分析。距离函数可以表达为公式、距离矩阵或对其进行计算的其它例程。用户可以通过单击从数据库添加过滤器按钮608来从数据库添加过滤器。度量空间可能来自关系型数据库、Matlab文件、Excel电子表格或用于存储和操纵数据的其它方法。度量和过滤器选择界面视窗600b可以允许用户浏览其它过滤器以在分析中使用。图8中进一步描述分析和度量函数。
用户还可以通过单击添加几何过滤器按钮610来添加几何过滤器610。在各种实施例中,度量和过滤器选择界面视窗600b可以提供可供用户选择的几何过滤器列表。
图7是一些实施例中的示例过滤器参数界面视窗700。过滤器参数界面视窗700允许用户确定一个或更多个所选过滤器(例如,在度量和过滤器选择界面视窗600中选择的过滤器)的分辨率。过滤器参数界面视窗700包括过滤器名称菜单702、间隔字段704、重叠条706和完成按钮708。
过滤器参数界面视窗700允许用户从过滤器名称菜单702中选择过滤器。在一些实施例中,过滤器名称菜单702是下拉框,其指示用户在度量和过滤器选择界面视窗600中选择的所有过滤器。一旦过滤器被选择,过滤器的名称可以出现在过滤器名称菜单702。用户可以接着改变一个、一些或所有所选过滤器的间隔和重叠。
间隔字段704允许用户定义过滤器名称菜单702中识别的过滤器的间隔数目。用户可以键入间隔数目或向上或向下滚动到所需间隔数目。用户可以选择任何数目个间隔。图8中进一步论述间隔函数。
重叠条706允许用户定义过滤器名称菜单702中所识别的过滤器的间隔的重叠度。在一个示例中,重叠条706包含滑块,其允许用户定义与所识别的过滤器一起使用的间隔的重叠百分比。用户可以设定任何重叠百分比。
一旦定义了所需过滤器的间隔和重叠,用户可以单击完成按钮。用户可以接着回到度量和过滤器选择界面视窗600,且看到运行分析的新选项。在一些实施例中,运行分析的选项在过滤器参数界面视窗700中是可用的。一旦分析完成,结果可以出现在交互式可视化中,图9到图11中进一步描述交互式可视化。
将了解,图4到图7中的界面视窗为示例。示例界面视窗不限于所示出的功能对象((例如,按钮、下拉菜单、滚动字段和搜索字段)。可以使用任何数目个不同功能对象。另外,如本文所述,可以使用任何其它界面、命令行或图形用户界面。
图8是在一些实施例中用于数据分析和生成交互式可视化的流程图800。在各种实施例中,数据和用户指定选项的处理是由拓扑技术驱动的,且在一些实施例中,是由代数拓扑驱动。这些技术可以是稳健且通用的。在一个示例中,这些技术适用于几乎任何种类的数据,其中一些“接近度”或“相似性”的定性的想法存在。本文所论述的技术可以是稳健的,因为结果可能对数据、用户选项中的噪声以及甚至对相似性的定性度量的特定细节中的错误相对不敏感,在一些实施例中,相似性的定性度量可以大体称为“距离函数”或“度量”。将了解,尽管下文对算法的描述可以看作一般性的,本文中所描述的技术的实施方案可以适用于任何水平的一般性。
在步骤802中,输入模块314接收数据S。在一个示例中,用户识别数据结构,且接着识别ID和数据字段。数据S可以是基于ID和数据字段内的信息。在各种实施例中,数据S视为被处理为有限“相似性空间”,其中数据S具有在S中的点s和t对上定义的实值函数d,使得:
d(s,s)=0
d(s,t)=d(t,s)
d(s,t)>=0
这些条件可相似于有限度量空间的要求,但条件可能较弱。在各种示例中,函数为度量。
将了解,数据S可以是有限度量空间或其一般化,例如图形或经加权图形。在一些实施例中,数据S由公式、算法或由明确地指定每一成对(pairwise)距离的距离矩阵指定。
在步骤804中,输入模块314产生参考空间R。在一个示例中,参考空间R可以是众所周知的度量空间(例如,实线)。参考空间R可以由用户定义。在步骤806中,分析模块320产生从S到R的映射ref()。从S到R的映射ref()可以称为“参考映射”。
在一个示例中,从S的映射的参考是参考度量空间R。R可以是某维度的欧几里德空间,但其还可以是圆、环面、树或其它度量空间。映射可以由一个或更多个过滤器(即,S上的实值函数)描述。这些过滤器可以由几何不变量定义,例如密度估计器的输出、数据深度概念,或如由数据集产生的S的起点指定的函数。
在步骤808中,分辨率模块218基于从用户(例如,(一个或更多个)过滤器、间隔和重叠—参见图7)接收的分辨率生成R的覆盖。R的覆盖可以是(R的度量中)开放集合的有限集合,使得R中的每个点都位于这些集合中的至少一个集合中。在各种实施例中,R是k维的欧几里德空间,其中k是过滤函数的数目。在此示例中,更确切地说,R是由间隔[min_k,max_k]的乘积给出的k维欧几里德空间中的方框,其中min_k为S上第k个过滤函数的最小值,且max_k为最大值。
举例来说,假设存在2个过滤函数F1和F2,且F1的值的范围从-1到+1,F2的值的范围从0到5。则参考空间为在x/y平面中具有拐角(-1,0)、(1,0)、(-1,5)、(1,5)的矩形,因为S的每个点s都将引起处于矩形内的对(F1(s),F2(s))。
在各种实施例中,R的覆盖是通过取k个过滤器中的每个的覆盖间隔[min_k,max_k]的乘积而给出。在一个示例中,如果用户请求F1的2个间隔以及50%重叠,则间隔[﹣1,+1]的覆盖将是两个间隔(-1.5,.5)、(-.5,1.5)。如果用户请求F2的5个间隔以及30%重叠,则覆盖[0,5]将为(-.3,1.3)、(.7,2.3)、(1.7,3.3)、(2.7,4.3)、(3.7,5.3)。这些间隔可以通过取得所有可能的间隔对来产生二维方框的覆盖,其中第一对是从F1的覆盖选择的,第二对是从F2的覆盖选择的。这可以产生覆盖2维参考空间的2*5或10个开放方框。然而,将了解,间隔可能不均一,或k维方框的覆盖可能不是通过间隔的乘积建构。在一些实施例中,存在许多其它间隔选择。另外,在各种实施例中,可以使用广泛范围的覆盖和/或更一般的参考空间。
在一个示例中,给定覆盖,R的C1、...、Cm,参考映射被用于给S中的每个点指派一组索引,其是Cj的索引,使得ref(s)属于Cj。此函数可以被称为ref_tags(s)。在例如java的语言中,ref_tags将是返回int[]的方法,因为在此示例中,C的覆盖R,ref(s)必须处于其中的至少一个中,但覆盖的元素通常彼此重叠,这意味着指出“边缘附近的地带”可以良好地驻留在多个覆盖集中。在考虑这两个过滤器示例时,如果F1(s)是-.99,且F2(s)是.001,则ref(s)是(-.99,.001),且此处于覆盖元素(-1.5,.5)×(-.3,1.3)中。假设标注为C1,参考映射可以将s指派到集合{1}。另一方面,如果t通过F1、F2映射到(.1,2.1),则ref(t)将在(-1.5,.5)×(.7,2.3)、(-.5,1.5)×(.7,2.3)、(-1.5,.5)X(1.7,3.3),和(-.5,1.5)×(1.7,3.3)中,因此所述组索引对于t将具有四个元素。
在已针对每个点计算其指派给哪些“覆盖标签”后,对于每个覆盖元素Cd,可以将其标签包含d的点建构为集合S(d)。这可能意味着对于某d,每个点s都在S(d)中,但一些点可能属于多于一个的此类集合。然而,在一些实施例中,不要求每个S(d)都是非空的,而且常常其中一些集合是空的。在一些实施例的非并行版本中,每个点x依次被处理,且对于ref_tags(t)中的每个j,被x***哈希桶(hash-bucket)中(即,这可以是如何计算S(d)集合)。
将了解,参考空间R的覆盖可以由分辨率中识别的间隔数目和重叠控制(例如,参见图7)。举例来说,间隔越长,S中的分辨率越高,即每个S(d)中的点越少,但这些点可能(相对于过滤器)越相似。重叠越大,S(d)中的群集可能与S(e)中的群集相交的次数越多,这意味着点之间可能出现更多的“关系”,但是,在一些实施例中,重叠越大,偶然关系可能出现的可能性越大。
在步骤810中,分析模块320基于度量、过滤器和空间S对每个S(d)进行聚类。在一些实施例中,可以使用动态单链接聚类算法来分割S(d)。将了解,任何数目个聚类算法可以与本文中论述的实施例一起使用。举例来说,聚类方案可以是对于某k的k均值聚类、单链接聚类、平均链接聚类或用户指定的任何方法。
现在可以看到用户指定输入的重要性。在一些实施例中,过滤器可能在特定方向上被“强制拉伸”。在一些实施例中,分析模块320不对两个点进行聚类,除非所有的过滤器值都足够“相关”(回想一下,尽管正常相关可能意味着“密切相关”,但覆盖可能将更一般的关系强加给过滤器值,例如如果ref(s)与ref(t)足够接***面中的相同的圆,则使两个点s与t相关)。在各种实施例中,用户强加一个或更多个“关键度量”的能力使得这种技术比普通聚类更强大,而这些过滤器可以是任何事物的事实是使它如此普遍的原因。
输出可以是单纯复形,从其可以提取其1构架(1-skeleton)。复形的节点可以是部分群集(即,由S的子集构成的群集,其被指定为参考空间R的给定覆盖中的集合的原象)。
在步骤812中,可视化引擎322识别与所有S(d)的分割元素的子集相关联的节点,以生成交互式可视化。举例来说,假设S={1,2,3,4},且覆盖是C1、C2、C3。则如果ref_tags(1)={1,2,3}且ref_tags(2)={2,3},且ref_tags(3)={3},且最后ref_tags(4)={1,3},则在此示例中,S(1)是{1,4},S(2)={1,2},且S(3)={1,2,3,4}。如果1与2足够接近而被聚类,且3和4也是,但没有其它的,则S(1)的聚类可以是{1}{3},而S(2)的聚类可以是{1,2},而S(3)的聚类可以是{1,2},{3,4}。因此在此示例中,所生成的图形具有最多四个节点,由集合{1}、{4}、{1,2}和{3,4}(注意,{1,2}出现在两个不同聚类中)给出。在所使用的点集中,两个节点相交,只要相关联的节点集合具有非空相交区(尽管这容易被修改,以允许用户要求相交区是“足够大的”,无论是绝对的还是相对的)。
可以出于任何数目的原因消除节点。举例来说,可以因为节点具有过少的点和/或不连接到任何其它节点而消除该节点。在一些实施例中,消除节点的准则(如果存在)可以是在用户控制下或对其强加特定于应用的要求。举例来说,如果这些点是消费者,例如,在公司服务的区号中具有太少人的群集可能被消除。然而,如果发现群集有“足够”的消费者,则这可能指示可能保证向群集中其它消费者的区号的扩展。
在步骤814中,可视化引擎322联接群集以识别边缘(例如,节点之间的连接线)。一旦建构了节点,可以通过针对每个点计算节点集合的集合(这一次不是ref_tags)而“一次性”计算相交区(例如,边缘)。即,对于S中的每个s,可以计算node_id_set(s),其为int[]。在一些实施例中,如果覆盖表现良好,则此操作在集合S的大小上为线性的,且我们接着在node_id_set(s)中的每个对上进行迭代。如果两个节点都属于相同node_id_set()值,且相交区中的点的数目正是在其中看到对的不同节点id(node_id)集合的数目,则两个节点id之间可能存在边缘。这意味着,除了聚类步骤(其在集合S(d)的大小上常常是二次方,但其大小可以通过选择覆盖加以控制),图形构造算法中的所有其它步骤在S的大小上可以是线性的,且可以非常有效地计算。
在步骤816中,可视化引擎322生成互连节点的交互式可视化(例如,图10和图11中显示的节点和边缘)。
将了解,在一些实施例中,有可能以相当深入的方式理解各种ref()映射和/或聚类选择之间的连接。另外,除了计算边缘(节点对)之外,本文所述实施例还可以扩展到计算三个一组的(triples)节点等。举例来说,分析模块320可以计算节点上任何尺寸的单纯复形(通过各种规则),并将来自同调论的技术应用于图形以帮助用户以自动(或半自动)方式理解结构。
另外,将了解,覆盖中的均一间隔未必总是好的选择。举例来说,如果点相对于给定过滤器成指数分布,则均一间隔可能失败-在这种情况下,例如,自适应间隔大小可以产生均一大小的S(d)集合。
另外,在各种实施例中,界面可以用来对用于合并对数据存取和显示技术的第三方扩展的技术进行编码。另外,界面可以用于到底层基础结构的第三方扩展以允许用于生成覆盖和定义新参考空间的新方法。
图9是一些实施例中的示例交互式可视化900。交互式可视化的显示在数学意义上可以认为是“图形”。交互式可视化包括两种类型的对象:节点(例如,节点902和906)(彩色球)和边缘(例如,边缘904)(黑线)。边缘连接节点对(例如,边缘904连接节点902与节点906)。如本文所论述的,每个节点可以表示数据点的集合(由用户识别的数据库中的行)。在一个示例中,连接的节点倾向于包含彼此“相似”(例如,彼此聚类)的数据点。数据点的集合可以称为“在节点中”。交互式可视化可以是二维的、三维的,或两者的组合。
在各种实施例中,连接的节点和边缘可以形成图形或结构。交互式可视化中可能存在多个图形。在一个示例中,交互式可视化可以显示节点和边缘的两个或更多个不连接的结构。
节点和边缘的视觉特性(例如,但不限于在屏幕上的色彩、笔画色彩、文本、纹理、形状、节点坐标)可以对每个节点内的数据点的任何基于数据的特性进行编码。举例来说,节点和/或边缘的着色可以指示(但不限于)以下:
·字段或过滤器的值
·节点中数据的任何一般函数(例如,如果数据是国家的失业率,则国家的GDP可以通过节点色彩来识别)
·节点中数据点的数目
交互式可视化900可以含有“色彩条”910,其可以包括指示节点的着色的图例(例如,球),且还可以识别色彩指示什么。举例来说,在图9中,色彩条910指示色彩是基于密度过滤器,其中蓝色(色彩条910最左边)指示“4.99e+03”,且红色(色彩条910最右边)指示“1.43e+04”一般来说,这可以被扩展以示出对节点和/或边缘进行着色的任何其它图例。将了解,在一些实施例中,用户可以控制色彩,以及色彩(和/或屏幕上的笔画色彩、文本、纹理、形状、节点坐标)指示什么。
用户可以拖放交互式可视化900的对象。在各种实施例中,用户可以通过将一个或更多个节点拖动到交互式可视化(例如,视窗)的另一部分来重新定向节点和边缘的结构。在一个示例中,用户可以选择节点902、保持节点902,并将拖动节点越过视窗。节点902将跟随用户的光标,从而拖动直接或间接连接到节点902的边缘和/或节点的结构。在一些实施例中,交互式可视化900可以描绘多个不连接结构。然而,每个结构可以包含节点,任一结构的节点都没有彼此连接。如果用户选择并拖动第一结构的节点,则只有第一结构将相对于用户动作重新定向。另一结构将保持不变。用户可能希望重新定向结构以便查看节点、选择节点,和/或更好地理解基础数据的关系。
在一个示例中,用户可以拖动节点以重新定向交互式可视化(例如,重新定向节点和边缘的结构)。当用户选择和/或拖动节点时,与所选节点相关联的结构的节点可以从彼此移开以提供更大的可视性。用户一旦放开(例如,取消选择或放下被拖动的节点),结构的节点可以继续从彼此移开。
在各种实施例中,一旦可视化模块322生成交互式显示,所描述的结构可以通过使节点彼此散开来移动。在一个示例中,节点彼此缓慢地散开,从而允许用户查看彼此区别的节点以及边缘。在一些实施例中,可视化模块322优化节点的扩散用于用户查看。在一个示例中,一旦已达到最佳查看,(一个或更多个)结构停止移动。
将了解,交互式可视化900可以响应于手势((例如,多点触摸)、手写笔,或允许用户重新定向节点和边缘和/或与基础数据交互的其它交互。
交互式可视化900还可以响应于用户动作,例如当用户拖动、单击或在节点上悬停鼠标光标时。在一些实施例中,当用户选择节点或边缘时,可以显示节点信息或边缘信息。在一个示例中,当选择节点时(例如,用户用鼠标单击或鼠标光标悬停在节点上),可以出现节点信息方框908,其指示关于所选节点的信息。在此示例中,节点信息方框908指示ID、方框ID、元素的数目(例如,与节点相关联的数据点)和与节点相关联的数据的密度。
用户还可以通过单独单击每个对象或在所需对象周围绘制形状(例如方框)来选择多个节点和/或边缘。一旦选择了对象,选择信息方框912可以显示关于选择的一些信息。举例来说,选择信息方框912指示所选节点的数目和所选节点的总点(例如,数据点或元素)数。
交互式可视化900还可以允许用户进一步与显示交互。色彩选项914允许用户基于对象的色彩显示不同的信息。图9中的色彩选项914被设定为过滤器密度,然而,可以选择其它过滤器,且基于该选择对象被重新着色。将了解,对象可以基于任何过滤器、数据特性或特性描述来着色。当在色彩选项914中选择新选项时,色彩条910中描绘的信息和/或色彩可以被更新以反映所述变化。
布局复选框914可以允许用户锚定(anchor)交互式可视化900。在一个示例中,复选了布局复选框914指示交互式可视化900被锚定。因此,用户将不能选择和拖动节点和/或相关结构。尽管其它功能可能仍然是可用的,但布局复选框914可以帮助用户防止意外移动和/或重新定向节点、边缘和/或相关结构。将了解,布局复选框914可以指示:在布局复选框914未被复选时,交互式可视化900被锚定,且当复选了布局复选框914时,交互式可视化900不再锚定。
改变参数按钮918可以允许用户改变参数(例如,添加/移除过滤器和/或改变一个或更多个过滤器的分辨率)。在一个示例中,当改变参数按钮918被激活时,可以引导用户返回到度量和过滤器选择界面视窗600(参见图6),该过滤器选择界面视窗允许用户添加或移除过滤器(或改变度量)。用户可以接着查看过滤器参数界面700(参见图7),并改变一个或更多个过滤器的参数(例如,间隔和重叠)。分析模块320可以接着基于这些改变重新分析数据,且显示新的交互式可视化900,而无需再次指定数据集、过滤器等。
查找ID按钮920可以允许用户在交互式可视化900内搜索数据。在一个示例中,用户可以单击查找ID按钮920,并接收允许用户识别数据或识别数据范围的视窗。可以通过ID识别数据,或基于数据和/或元数据的特性搜索数据。如果发现并选择了数据,则交互式可视化900可以突出显示与所选数据相关联的节点。举例来说,选择数据库或电子表格的单个行或行集合可以产生其对应部分群集含有那个选择的任何元素的节点的突出显示。
在各种实施例中,用户可以选择一个或更多个对象,并单击解释按钮922以接收关于选择的深入信息。在一些实施例中,当用户选择解释按钮922时,可以显示关于选择所基于的数据的信息。关于图10进一步论述解释按钮922的功能。
在各种实施例中,交互式可视化900可以允许用户指定和识别所关注的子集,例如输出过滤,以移除过小或因其它原因无趣的群集或连接。另外,交互式可视化900可以提供更一般的着色和显示技术,包含例如允许用户基于用户指定的谓词来突出显示节点,且基于用户指定的加权函数的强度着色节点。
交互式可视化900可以包括任何数目个菜单项。“选择”菜单可以允许以下功能:
·选择单例(选择不连接到其它节点的节点)
·全选(选择所有节点和边缘)
·选择所有节点(选择所有节点)
·选择所有边缘
·清除选择(无选择)
·反向选择(选择互补的节点或边缘集合)
·选择“小”节点(允许用户基于节点具有的点数设定节点阈值)
·选择叶(选择连接到图形中的长“链”的所有节点)
·移除所选节点
·在表中示出(在表中示出所选节点和其相关联数据)
·保存所选节点(保存所选数据为用户选择的任何格式。
这可以允许用户形成数据子集并创建可以用于进一步分析的新数据源)。
在“在表中示出”选项的一个示例中,可以显示节点的选择的信息。信息可以特定于数据的来源。在各种实施例中,可以列出数据库表的元素,然而,还可以包含用户指定的其它方法。举例来说,在基因表达数据的微阵列数据的情况下,可以使用热图来查看选择的结果。
交互式可视化900可以包括任何数目个菜单项。“保存”菜单可以允许可以允许用户以多种不同格式保存整个输出,例如(但不限于):
·图像文件(PNG/JPG/PDF/SVG等)
·二进制输出(交互式输出以二进制格式保存。用户可以在任何时间再次打开这个文件以再次获得此交互式视窗)
在一些实施例中,图形可以被保存为使得图形可以用于呈现的格式。这可以包含简单地将图像保存为pdf或png文件,但也可能意味着保存可执行的.xml文件,这可以准许其他用户在文件上使用数据库的搜索和保存能力,而无需重新创建分析。
在各种实施例中,可以显示用于间隔长度和重叠百分比的不同值的第一和第二分析输出/交互式可视化之间的关系。第一和第二分析输出/交互式可视化之间的正式关系可以是当一个覆盖精炼下一覆盖时存在从第一输出到第二输出的简单复合体映射。这可以通过应用限制形式的三维图形嵌入算法来显示,其中图形为针对各种参数值的图形的联合,且其中连接为个别图形中的连接以及从一个节点到后续图形中的其图像的连接。构成图形可以放置在3D空间中的其自身的平面中。在一些实施例中,存在限制:使每个构成图形保持在其相关联平面内。每个构成图形可以个别地显示,但参数值的小改变可能导致相邻构成图形的可视化。在一些实施例中,初始图形中的节点将以可轻易可视化的方式移动到下一图形中的节点。
图10是在一些实施例中显示解释信息视窗1002的示例交互式可视化1000。在各种实施例中,用户可以选择多个节点并单击解释按钮。当单击解释按钮时,可以生成解释信息视窗1002。解释信息视窗1002可以识别与(一个或更多个)所选对象相关联的数据以及与数据相关联的信息(例如统计信息)。
在一些实施例中,解释按钮允许用户理解所选数据字段中的哪些字段负责在所选节点中的数据的“相似性”和区分特性。可以有许多方式对数据字段评分。解释信息视窗1002(即,图10中的评分视窗)与所选节点一起示出。得分最高的字段可能区分相对于剩余数据的变量。
在一个示例中,解释信息视窗1002指示来自字段day0到day6的数据已被选定。所有字段中的数据的最小值为0。解释信息视窗1002还指示最大值。举例来说,与跨越所选节点的所有点的day0字段相关联的所有数据的最大值为0.353。与跨越所选节点的所有点的day0字段相关联的所有数据的平均值(即均值)为0.031。得分可以是指示过滤器的相关功能的相对(例如,归一化)值;此处,得分可以指示与跨越所选节点的所有点的day0字段相关联的数据的相对密度。将了解,关于数据和/或选定节点的任何信息都可以出现在解释信息视窗1002中。
将了解,数据和交互式可视化1000可以按多种方式交互。用户可以直接与数据交互,以查看图形与数据对应的位置、改变分析并查看图形中的改变、修改图形并查看数据的改变,或执行任何种类的交互。
图11是一些实施例中的交互式可视化的功能性的流程图1200。在步骤1202中,可视化引擎322从分析模块320接收分析,并将节点作为球且将边缘作为球1202之间的连接符绘制图形以创建交互式可视化900(参见图9)。
在步骤1204中,可视化引擎322确定用户是否正悬停鼠标光标(或已选择)在球(即,节点)上。如果用户将鼠标光标悬停在球上或选择球,则显示关于与球相关联的数据的信息。在一个示例中,可视化引擎322显示节点信息视窗908。
如果可视化引擎322不确定用户正悬停(hover)鼠标光标(或已选择)在球上,则可视化引擎322确定用户是否已选择图形上的球(例如,通过单击多个球或围绕多个球绘制方框)。如果用户已选择图形上的球,则可视化引擎322可以在步骤1110中在图形上突出显示所选的球。可视化引擎322还可以显示关于选择的信息(例如,通过显示选择信息视窗912)。用户还可以单击解释按钮922以接收与选择相关联的更多信息(例如,可视化引擎322可以显示解释信息视窗1002)。
在步骤1112中,用户可以保存选择。举例来说,可视化引擎322可以保存基础数据、所选度量、过滤器和/或分辨率。用户可以接着存取所保存的信息,并在另一交互式可视化900中创建新的结构,由此允许用户将注意力集中在数据的子集上。
如果可视化引擎322不确定用户已选择了在图形上的球,则可视化引擎322可以在步骤1114中确定用户是否选择并拖动图形上的球。如果用户选择并拖动图形上的球,则可视化引擎322可以在步骤1116中基于用户的动作重新定向所选球和任何连接的边缘和球。用户可以按任何粒度级别重新定向结构的全部或部分。
将了解,尽管图11论述了用户悬停、选择和/或拖动球,但用户可以与交互式可视化900中的任何对象交互(例如,用户可以悬停、选择和/或拖动边缘)。用户还可以使用交互式可视化900放大或缩小以聚焦于结构的全部或部分(例如,一个或更多个球和/或边缘)。
另外,尽管在图9到图11中论述和描述了球,但将了解,节点可以是任何形状,并以任何种类的对象出现。另外,尽管本文描述的一些实施例论述基于代数拓扑的输出生成交互式可视化,但可以基于任何种类的分析生成交互式可视化且不受限制。
多年来,研究人员一直在收集大量的乳腺癌数据,但我们仍在与疾病作斗争。复杂性,而不是量,是从数据中提取知识的基本问题之一。拓扑数据探索和可视化平台可以辅助复杂数据的分析和评估。在各种实施例中,由拓扑数据探索和可视化平台生成的预测性视觉癌症地图可以辅助医生确定治疗选项。
在一个示例中,可以根据许多研究人员已经生成的大量可用信息生成乳腺癌地图可视化。医生可以直接将活组织检查数据发送到基于云的服务器,该服务器可以在乳腺癌地图可视化中定位新患者的数据。乳腺癌地图可视化可以加注释(例如,标注),使得医生可以查看具有相似简况(profile)的患者的结果以及不同种类的统计信息,例如生还概率。患者的每个新数据点都可以被并入乳腺癌地图可视化中,以随时间推移改进乳腺癌地图可视化的准确性。
尽管以下示例主要集中在癌症地图可视化上,但将了解,至少本文中所述的一些实施例可以适用于任何生物学条件,而不限于癌症和/或疾病。举例来说,一些实施例可以适用于不同工业。
图12是在一些实施例中用于利用多个患者的生物学数据生成癌症地图可视化的流程图。在各种实施例中,数据和用户指定选项的处理是由拓扑技术促动的,且在一些实施例中,是由代数拓扑促动。如本文所论述,这些技术可以是稳健且通用的。在一个示例中,这些技术适用于几乎任何种类的数据,其中一些“接近度”或“相似性”的定性构思存在。将了解,本文中所描述的技术的实施方案可以适用于任何水平的一般性。
在各种实施例中,使用与临床结果(即,医疗特性)有联系的基因组数据生成癌症地图可视化,该临床结果可以由医生在诊断和/或治疗期间使用。最初,公开可用的数据集可以被集成来建构患者(例如乳腺癌患者)的拓扑地图可视化。将了解,任何私有、公共或公私组合的数据集都可以被集成来建构拓扑地图可视化。地图可视化可以基于生物学数据,例如但不限于基因表达、测序和拷贝数变异。因此,地图可视化可以包括具有许多不同类型的收集数据的许多患者。不同于相异乳腺癌研究作为单独实体出现的传统分析方法,地图可视化可以融合不同的数据集,同时利用许多数据集和数据类型。
在各种实施例中,新患者可以定位于地图可视化上。通过对特定疾病的亚型和被诊断有疾病的新患者的地图可视化,(一个或更多个)点可以位于用来计算地图可视化的最接近于新患者点的数据点当中(例如,最近邻)。新患者可能被标记,其中地图可视化中的节点含有最接近相邻者。些节点可以被突出显示,以便在参考数据集中给医生提供患者中的新患者的位置。突出显示的节点还可以给医生提供关于被注释的疾病亚型的新患者位置。
可视化地图可以是交互式的和/或可实时搜索的,由此能够潜在地实现扩展分析,并提供对治疗的快速洞察。
在步骤1202中,可以接收先前患者的生物学数据和临床结果。临床结果可以是医疗特性。生物学数据是可以表示个人的状况(例如,医学状况)的任何数据。生物学数据可以包含与一个或更多个患者相关联的任何与健康相关的、医疗、身体、生理、药学数据。在一个示例中,生物学数据可以包含任何数目个基因的基因表达的测量值。另一示例中,生物学数据可以包含序列信息(例如,RNA测序)。
在各种实施例中,多个患者的生物学数据可以公开可用。举例来说,各种医疗保健机构和/或公共实体可以为各种患者提供基因表达数据。除了生物学数据之外,还可以提供关于任何数目的临床结果、治疗、疗法、诊断和/或预后的信息。将了解,还可以提供除了生物学数据之外的任何种类的信息。
在一个示例中,生物学数据可以类似于如关于图8的步骤802所论述的数据S。生物学数据可以包含识别患者的ID字段和与生物信息(例如,基因表达测量值)相关的数据字段。
图13是在一些实施例中包含数个患者1308a到1308n的生物学数据1304a到1304y的示例数据结构1302,其可以用来生成癌症地图可视化。列1302表示用于不同患者的不同患者识别符。患者识别符可以是任何识别符。
至少一些生物学数据可以被包含在基因表达测量值1304a到1304y内。在图13中,“y”表示任何数目。举例来说,可能存在50,000个或更多单独的列,用于与单个患者相关或与患者的一个或更多个样本相关的不同基因表达。将了解,列1304a可以表示与列1302中的患者识别符相关联的每个患者的基因表达测量值(如果对于一些患者存在)。列1304b可以表示不同于列1304a的一或更多种基因的基因表达测量值。如所论述,可能存在表示不同基因表达测量值的任何数目个列。
列1306可以包含任何数目个临床结果、预后、诊断、反应、治疗和/或与每个患者相关联的任何其它信息。列1306中所含有的全部或一些信息可以被显示(例如,通过显示在可视化上的标记或注释,或经由单击而对用户可用的可视化)在可视化上或用于可视化。
行1308a到1308n各自含有与该行的患者识别符相关联的生物学数据。举例来说,行1308a中的基因表达与患者识别符P1相关联。如关于本文中的“y”类似地论述,“n”表示任何数目。举例来说,可能存在100,000个或更多单独的行用于不同患者。
将了解,可能存在含有用于任何数目个患者的任何量的生物学数据的任何数目个数据结构。(一个或更多个)数据结构可以用来生成任何数目个地图可视化。
在步骤1204中,分析服务器可以接收过滤器选择。在一些实施例中,过滤器选择为密度估计函数。将了解,过滤器选择可以包含选择一个或更多个函数以生成参考空间。
在步骤1206中,分析服务器对先前患者的生物学数据执行所选(一个或更多个)过滤器,以将生物学数据映射到参考空间中。在一个示例中,可以对生物学数据(例如,与基因表达测量数据1304a到1304y相关联的数据)执行在本领域中众所周知的密度估计函数,以使每个患者识别符与参考空间中(例如,在实线上)的一个或更多个位置相关。
在步骤1208中,分析服务器可以接收分辨率选择。分辨率可以用来在步骤1210中识别参考空间的重叠部分(例如,参考空间R的覆盖)。
如本文所论述,R的覆盖可以是(R的度量中)开放集合的有限集合,使得R中的每点都位于这些集合中的至少一个集合中。在各种实施例中,R是k维的欧几里德空间,其中k是过滤函数的数目。将了解,参考空间R的覆盖可以通过间隔数目和分辨率中识别的重叠加以控制(例如,参见图7)。举例来说,间隔越大,S中的分辨率越高(例如,所接收生物学数据的相似性空间)-即,每个S(d)中的点越少,但这些点可能越相似(相对于过滤器)。重叠越大,S(d)中的群集可能与S(e)中的群集相交的次数越多-这意味着点之间可能出现更多的“关系”,但是,在一些实施例中,重叠越大,偶然关系可能出现的可能性越大。
在步骤1212中,分析服务器接收度量以将参考空间中的覆盖的信息进行聚类以分割S(d)。在一个示例中,度量可以是皮尔逊相关。群集可以形成分组(例如,节点或球)。可以使用各种聚类手段,包含但不限于单链、平均链、全链或k均值方法。
如本文所论述,在一些实施例中,分析模块320可能不对两个点进行聚类,除非过滤器值足够“相关”(回想一下,尽管正常相关可能意味着“密切的”,但覆盖可能将更一般的关系外加给过滤器值,例如如果ref(s)与ref(t)足够接***面中的同一圆,则使两个点s与t相关,其中ref()表示一个或更多个过滤函数)。输出可以是单纯复形,从中可以提取其1构架。复形的节点可以是部分群集(即,由指定为参考空间R的给定覆盖中的集合的原象的S的子集构成的群集)。
在步骤1214中,分析服务器可以生成具有表示患者成员的群集和表示共同患者成员的节点之间的边缘的可视化地图。在一个示例中,分析服务器识别与所有S(d)的分割元素的子集相关联的节点,以生成交互式可视化。
如本文所论述,举例来说,假设S={1,2,3,4},且覆盖为C1、C2、C3。假设覆盖C1含有{1,4},C2含有{1,2},且C3含有{1,2,3,4}。如果1与2足够接近而被聚类,且3和4也是,但没有其它的,则S(1)的聚类可以是{1}、{4},而S(2)的聚类可以是{1,2},而S(3)的聚类可以是{1,2},{3,4}。因此在此示例中,所生成的图形具有最多四个节点,由集合{1}、{4}、{1,2}和{3,4}(注意,{1,2}出现在两个不同聚类中)给出。在所使用的点集中,只要相关联的节点集具有非空相交区(尽管这很容易被修改,以允许用户要求相交区是“足够大的”,无论是绝对的还是相对的),则两个节点相交。
由于聚类,分组的成员患者可以共享生物学相似性(例如,基于生物学数据的相似性)
分析服务器可以联接群集以识别边缘(例如,节点之间的连接线)。由边缘(即,互连)联接的群集共享一个或更多个成员患者。在步骤1216中,显示器可以基于数据结构中包含的临床结果(例如,参见关于临床结果的图13)来显示具有属性的可视化地图。可以基于数据结构中包含的信息利用任何标记或注释。举例来说,治疗、预后、疗法、诊断等可以用来标记可视化。在一些实施例中,医生或地图可视化的其他用户通过与地图可视化交互来存取注释或标记。
所得癌症地图可视化可以揭示模糊、未经检验和/或先前未辨识出的交互和关系。
图14是在一些实施例中显示癌症地图可视化1400的示例可视化。癌症地图可视化1400表示癌症患者的拓扑网络。癌症地图可视化1400可以基于公开和/或私人可用的数据。
在各种实施例中,利用切除的肿瘤的基因表达图谱创建癌症地图可视化1400。每个节点(即,在地图可视化1400中显示的球或分组)含有具有相似遗传图谱的患者的子集。
如本文所述,一个或更多个患者(即,每个节点或分组的患者成员)可以在多个节点中出现。患者可能会与多个节点或多个分组共享相似的遗传图谱。在生物学数据具有50,000种不同的基因表达的一个示例中,多个患者可以与不同的分组共享(例如,基于不同的基因表达组合)的不同的遗传图谱。当患者共享不同分组或节点的相似遗传图谱时,患者可以被包含在分组或节点中。
癌症地图可视化1400包括与不同临床结果相关联的分组和互连。所有或一些临床结果可能与产生癌症地图可视化1400的生物学数据相关联。癌症地图可视化1400包含与生还者1402相关联的分组和与非生还者1404相关联的分组。癌症地图可视化1400还包含与***受体阳性非生还者1406、***受体阴性非生还者1408、***受体阳性生还者1410、***受体阴性生还者1412相关联的不同分组。
在各种实施例中,当一个或更多个患者是两个或更多个不同节点的成员时,节点由边缘(例如,线或互连)互连。如果两个节点之间没有边缘,则两个节点之间没有共同的成员患者。举例来说,分组1414与分组1418共享至少一个共同成员患者。两个分组的相交区由边缘1416表示。如本文所论述,两个分组的共享成员患者的数目可以按任何数目个方式表示,包含互连的色彩、分组的色彩、互连的大小、分组的大小、互连的动画、分组的动画、亮度,等等。在一些实施例中,如果用户与分组1414和/或1418交互(例如,利用例如鼠标等输入装置在两个分组和互连周围绘制方框),则可以获得两个分组的共享成员患者的数目和/或识别符。
在各种实施例中,医生在获得关于乳腺肿瘤的某些数据时,将数据引导到分析服务器(例如,例如通过因特网等网络上的分析服务器208),分析服务器可以相对于癌症图像可视化1400中的一个或更多个分组定位患者。癌症地图可视化1400的上下文可以使医生能够评估各种可能结果(例如,新患者的表示到临床结果的不同关联的接近度)。
图15是在一些实施例中用于相对于癌症地图可视化定位新患者数据的流程图。在步骤1502中,接收新患者的新生物学数据。在各种实施例中,分析服务器(例如,图1和图2的分析服务器208)的输入模块314可以从执行一个或更多个样本的分析的医生或医疗机构接收新患者的生物学数据,以生成生物学数据。生物学数据可以是表示新患者的生物学数据的任何数据,包含例如基因表达、测序信息等。
在一些实施例中,分析服务器208可以包括新患者距离模块和位置引擎。在步骤1504中,新患者距离模块确定癌症地图可视化1600的每个患者的生物学数据与新患者的新生物学数据之间的距离。举例来说,用于生成癌症地图可视化1600的先前生物学数据可以存储在所映射数据结构中。可以确定在新患者的新生物学数据和先前患者在所映射数据结构中的生物学数据中的每个之间的距离。
在一些实施例中,分析服务器208可以包括新患者距离模块和位置引擎。在步骤1504中,新患者距离模块确定癌症地图可视化1600的每个患者的生物学数据与新患者的新生物学数据之间的距离。举例来说,用于生成癌症地图可视化1600的先前生物学数据可以存储在所映射的数据结构中。可以确定在新患者的新生物学数据和先前患者在所映射数据结构中的生物学数据中的每个之间的距离。
将了解,可以使用任何数目个不同的度量或函数以任何数目个方式确定距离。可以确定在先前患者与新患者的生物学数据之间的距离。举例来说,可以确定在新患者的第一基因表达测量值与先前患者的第一基因表达测量值中的每个(或子集)之间的距离(例如,可以计算新患者的G1与每个先前患者的G1之间的距离)。可以确定在新患者的其它基因表达测量值的所有(或子集)与先前患者的基因表达测量值之间的距离。
在各种实施例中,可以利用所确定的距离确定新患者在癌症地图可视化1600上相对于其它成员患者的位置。
在步骤1506中,新患者距离模块可以将每个分组的患者成员之间的距离与针对新患者确定的距离进行比较。新患者可位于与新患者距离最近的患者成员分组中。在一些实施例中,可以确定新患者位置在含有与新患者最接近的一个或更多个患者成员的分组内(即使分组的其它成员与新患者具有更长的距离)。在一些实施例中,此步骤是可选的。
在各种实施例中,可以针对每个分组确定代表性患者成员。举例来说,分组的一些或全部患者成员可以被平均化或以其它方式组合以生成分组的代表性患者成员(例如,患者成员的距离和/或生物学数据可以平均化或聚合)。可以确定在新患者生物学数据与一个或更多个分组中的一个或更多个代表性患者成员的平均或组合的生物学数据之间的距离。定位引擎可以基于距离确定新患者的位置。在一些实施例中,一旦发现新患者与代表性患者成员之间的最近距离,则可以确定在新患者和与最近的代表性患者成员相关联的分组的各个患者成员之间的距离。
在可选步骤1508中,可以确定具有(基于所确定的距离)最接近于新患者的一个或更多个患者成员的分组的直径。在一个示例中,计算患者成员最接近于新患者的分组的直径。分组的直径可以是当与分组的所有患者成员之间的距离相比时彼此之间最远的两个患者成员之间的距离。如果新患者与分组的最接近患者成员之间的距离小于分组的直径,则新患者可以位于分组内。如果新患者与分组的最接近患者成员之间的距离大于分组的直径,则新患者可以在分组之外(例如,新分组可以显示在癌症地图可视化中,其中新患者为分组的单个患者成员)。如果新患者与分组的最接近患者成员之间的距离等于分组的直径,则可以将新患者放置在分组之内或之外。
将了解,在确定新患者位置在分组之内还是之外时,不需要确定分组的直径。在各种实施例中,确定成员患者之间以及成员患者与新患者之间的距离分布。在分组之内或之外定位新患者的决策可以基于该分布。举例来说,如果距离分布中存在间隙,则可以将新患者与分组分离(例如,作为新分组)。在一些实施例中,如果间隙大于预先存在的阈值(例如,由医生、其他用户建立或先前编程),则新患者可以被放置在相对于最接近成员患者的分组放置的新分组中。计算候选成员患者的距离分布以确定是否有两个或更多个分组的过程可以用于生成癌症地图可视化(例如,在关于图12所述的过程中)。将了解,可能存在任何数目个方式来确定新患者是否应包含在其他患者成员的分组中。
在步骤1510中,位置引擎确定新患者相对于成员患者和/或癌症地图可视化分组的位置。新位置可以与在新患者与先前患者之间所确定的距离有关。新患者的位置可以是先前存在的分组的一部分,或可能形成新分组。
在一些实施例中,关于癌症地图可视化的新患者的位置可以由医生在本地执行。举例来说,癌症地图可视化1400可以提供给医生(例如,经由数字装置)。医生可以在本地加载新患者的生物学数据,且可以在本地或经由基于云的服务器来确定距离。与新患者相关联的(一个或更多个)位置可以本地或远程地被覆叠在先前存在的癌症地图可视化上。
所属领域的技术人员将了解,在一些实施例中,癌症的地图可视化的先前状态(例如,癌症地图可视化1400)可以被保留或以其它方式存储,且利用新患者的生物学数据生成新癌症地图可视化(例如,以类似于关于图12论述的方法)。新生成的地图可以与先前的状态进行比较,且由此突出显示差异,在一些实施例中,突出显示与新患者相关联的(一个或更多个)位置。以此方式,距离可能不是如关于图15所描述的那样计算,而是与前面论述的过程类似。
图16是在一些实施例中显示癌症地图的示例可视化,其包含三个新癌症患者的位置。癌症地图可视化1400包括如关于图14所论述的与不同临床结果相关联的分组和互连。所有或一些临床结果可能与生成癌症地图可视化1400的生物学数据相关联。癌症地图可视化1400包含与生还者1402相关联的不同分组、与非生还者1404、***受体阳性非生还者1406、***受体阴性非生还者1408、***受体阳性生还者1410和***受体阴性生还者1412相关联的分组。
癌症地图可视化1400包含用于三个新乳腺癌患者的三个位置。乳腺癌患者位置1602与***受体阳性生还者的临床结果相关联。乳腺癌患者位置1604与***受体阴性生还者的临床结果相关联。令人遗憾的是,乳腺癌患者位置1606与***受体阴性非生还者相关联。基于位置,医生可以考虑不同的诊断、预后、治疗和疗法以利用癌症地图可视化1400维持或试图移动乳腺癌患者到不同位置。
在一些实施例中,医生可以评估与任何数目个分组的任何数目个成员患者相关联的基础生物学数据,以便更好地理解遗传相似性和/或相异性。医生可以利用这些信息来做出更好的明智决策。
患者位置1604在癌症地图可视化1400上突出显示为活动的(例如,由医生选择)。将了解,不同的位置可以具有任何色彩、大小、亮度和/或动画以突出显示医生所需的(一个或更多个)位置。另外,尽管为三种不同的乳腺癌患者识别仅一个位置,但任何乳腺癌患者可能具有多个位置,从而指示不同的遗传相似性。
将了解,癌症地图可视化1400可以随时更新新信息。因此,新患者被添加到癌症地图可视化1400中,新数据更新了可视化,使得将来的患者被放置在地图中,地图可能已经包含更新后的信息。当将新信息和/或新患者数据添加到癌症地图可视化1400中时,癌症地图可视化1400可以改进为一种工具,以更好地通知医生或其它医疗专业人员。
在各种实施例中,癌症地图可视化1400可以随时间跟踪患者的变化。举例来说,新患者的更新可以在视觉上跟踪为在新患者的生物学数据中测量的变化。在一些实施例中,先前的患者数据被类似地跟踪,其可用于基于例如状况、治疗和/或疗法来确定变化的相似性。在各种实施例中,可以使用癌症地图可视化1400或如其描绘来随时间跟踪任何数目个患者的变化速度和/或变化加速度。这样的描绘可以辅助治疗医生或与治疗医生有关的其他人员更好地了解患者的变化,且提供改进的、当前和/或更新的诊断、预后、治疗和/或疗法。
图17是在一些实施例中利用新患者数据的可视化和定位的流程图。在各种实施例中,医生可以从自新患者取出的肿瘤中收集大量基因组信息,输入数据(例如,将数据上传到分析服务器),并接收具有新患者位置的地图可视化。新患者在地图上的位置可以为医生提供关于与其它患者的相似性的新信息。在一些实施例中,地图可视化显示可以加注释,以便医生可以在地图可视化的给定区域中检查先前患者的结果,并且接着使用信息辅助诊断、治疗、预后和/或疗法的决策制定。
在步骤1702中,医疗专业人员或其他人员可以从患者处取出样本。样本可以是肿瘤、血液,或任何其它生物材料。在一个示例中,医疗专业人员执行肿瘤切除术。可以从患者取得任何数目个样本。
在步骤1704中,可以向医疗机构提供(一个或更多个)样本以确定新患者生物学数据。在一个示例中,医疗机构测量基因组数据,例如数个基因或蛋白质水平的基因表达。
在步骤1706中,医疗专业人员或与医疗专业人员相关的其它实体可以接收基于来自新患者的(一个或更多个)样本的新患者生物学数据。在一个示例中,医生可以接收新患者的生物学数据。医生可以通过因特网向分析服务器提供全部或部分新患者生物学数据(例如,分析服务器可以是基于云的服务器)。在一些实施例中,分析服务器是图1的分析服务器208。在一些实施例中,确定新患者生物学数据的医疗机构以可以被上传到分析服务器的电子格式提供生物学数据。在一些实施例中,确定新患者生物学数据的医疗机构(例如,测量基因组数据的医疗机构)根据医生或与医生相关联的其他人的要求将生物学数据提供到分析服务器。将了解,生物学数据可以以多种方式被提供到分析服务器。
分析服务器可以是任何数字装置,且不限于网络上的数字装置。在一些实施例中,医生可以存取数字装置。举例来说,分析服务器可以是表(table)、个人计算机、本地服务器或任何其它数字装置。
一旦分析服务器接收到新患者的生物学数据,新患者可以被定位在地图可视化中,且信息可以在步骤1708中发送回给医生。可视化可以是地图,其具有表示先前患者成员的群集的节点与表示共同患者成员的节点之间的边界。可视化可以进一步描述与新患者的生物学数据相关的一个或更多个位置。
地图可视化可以实时提供给医生或与医生相关联的其他人。举例来说,一旦将与新患者相关的生物学数据提供给分析服务器,分析服务器可以在相当短的时间内(例如,在几秒钟或几分钟内)将地图可视化提供回给医生或与医生相关联的其他人。在一些实施例中,医生可以在任何时间接收地图可视化。
地图可视化可以任何数目个方式提供给医生。举例来说,医生可以经由任何数字装置接收地图可视化,例如但不限于,办公室计算机、iPad、平板装置、媒体装置、智能手机、电子阅读器或便携式计算机。
在步骤1710中,医生可以根据地图可视化评估可能的不同临床结果。在一个示例中,有地图辅助的医生可以根据患者落在可视化上的位置(例如生还者或非生还者)就治疗和疗法作出决策。地图可视化可以包含注释或标记,其识别一组或更多组分组和与一个或更多个临床结果相关联的互连。医生可以根据地图上与新患者相关联的(一个或更多个)位置来评估可能的临床结果。
如上所述,度量空间上的所关注的连续函数(例如,相似性空间)允许应用本文中描述的***和方法。在各种实施例中,可以对度量空间中的数据执行函数,以将数据投射到参考空间中。具有将数据从度量空间投射到取决于少数坐标(例如,对字(word)的小集合的使用数目进行计数)的相似性空间的(一个或更多个)函数(即,透镜函数)是实现大多数度量中的连续性的相当简单的方式,且所得透镜可以适合于内插。然而,这种透镜可能对高维数据的使用有限,如果在这些少数维度中捕捉到所关注的空间特征,则保持坐标的其余部分可能是没意义的。
在实践中,包含有度量固有特性(例如,对数据执行函数以生成度量空间)(例如密度或向心性)的透镜比取决于少量坐标的函数更可能俘获空间特征,而无需特定数据集的特殊知识。降维的一个示例方法(这是一种考虑联合地应用透镜的小集合的方式)是“随机邻域嵌入”(又名SNE)的变体。在随机邻域嵌入背后的直觉是将高维空间映射到低维欧几里德空间中的点,通常是两个或三个维度,定义点上的势函数(potential function),这由于点与其在高维空间中相比在嵌入中更近或更远而对点不利(penalize),并且来回移动点以使势最小化。这可能实际上是图形布局问题,其中(潜在地)高维空间、任意组合图形将由二维图片如实地表示。
一些示例方法是计算全局势,接着通过用于人工神经网络中的相同优化技术来优化放置。这些方法产生非常漂亮的图片,且透镜用TDA可以效果显著,但它们可能在计算上是昂贵的。本文中描述的一些实施例允许使用较少的计算昂贵的布局机制和方法。
图18是示例数字装置1800的框图。数字装置1800包括通信地耦合到总线1814的处理器1802、存储器***1804、存储***1806、通信网络接口1808、I/O接口1810,和显示接口1812。处理器1802可以被配置来执行可执行指令(例如,程序)。在一些实施例中,处理器1802包括能够处理可执行指令的电路***或任何处理器。
存储器***1804是被配置成存储数据的任何存储器。存储器***1804的一些示例是存储装置,例如RAM或ROM。存储器***1804可以包括ram高速缓存。在各种实施例中,数据存储在存储器***1804中。存储器***1804内的数据可被清除或最终传送到存储***1806。
存储***1806为被配置成检索和存储数据的任何存储装置。存储***1806的一些示例为闪存驱动器、硬盘驱动器、光驱和/或磁带。在一些实施例中,数字装置1800包含RAM形式的存储器***1804和闪存数据形式的存储***1806。存储器***1804和存储***1806两者都包括计算机可读介质,其可以存储可由包含处理器1802的计算机处理器执行的指令或程序。
通信网络接口1808可以经由链路1816耦合到通信网络(例如,通信网络204)。通信网络接口1808可以支持例如以太网连接、串行连接、并行连接或ATA连接上的通信。通信网络接口1808还可以支持无线通信(例如,1802.11a/b/g/n,WiMax)。所属领域的技术人员将显而易见,通信网络接口1808可以支持许多有线和无线标准。
可选输入/输出(I/O)接口1810是接收来自用户的输入和输出数据的任何装置。可选显示接口1812是可配置成将图形和数据输出到显示器的任何装置。在一个示例中,显示接口1812是图形适配器。
所属领域的技术人员将了解,数字装置1800的硬件元件不限于图18所示的硬件元件。数字装置1800可以包括比所描述的更多或更少的硬件元件。另外,硬件元件可以共享功能,且仍在本文所述的各种实施例中。在一个示例中,编码和/或解码可以由处理器1802和/或位于GPU上的协处理器执行。
在各种实施例中,图形中的数据集的数据点或节点被自动分组(即“自动分组的”)。分组可以是给定评分函数的可能最大值(例如,最佳的最大值)的近似值,该评分函数对原始对象(例如,数据点的集合或图形的节点集合)的可能分割进行评分。
自动分组可用于自动发现共享一个或更多个给定属性的某集合Y的子集的集合。在一个示例中,自动分组可以用来查找子集的集合,其为Y的分割,其中Y是有限度量空间X或图形中的节点的子集。然而,将了解,在一些实施例中,本文所述的方法没有这种要求。
在各种实施例中,可以识别和评分数据集的可能分割(例如,原始数据集或可视化中的节点)的选择。分割是给定集合的不相交子集的集合。每个分割的子集的并集(union)等于整个原始集合。在原始对象Y上可以使用层次聚类方法来创建Y的分割族。
第一评分函数可以对子集进行评分(即,生成Q_Subset得分),第二评分函数可以对分割进行评分(即,生成Q_Partition得分),且第三评分函数可以对来自层次聚类方法的树的根进行评分(即生成Q_Max得分)。针对族可以查找基于这些评分函数中的任一者或组合的最高得分分割。第一和/或第二评分函数可以是任何能够评分的函数或组合。本文中进一步论述示例评分函数。
在一些实施例中,自动分组是识别最高得分分割的过程。最高得分分割可以是任何数目个分割中任何数目个子集的(一个或更多个)给定评分函数的最大值。
在一些实施例中,可以生成所有可能的分割的有限数目个分割。实际上,在一些情况下,如果评分器不完美,结果可能更好,因为至少一些层次聚类算法通常避免具有大量杂项单例或其它丑(ugly)集合的分割,其实际上可以是用于此类评分函数的全局极值。将了解,层次聚类过程可以用来将数据调节成独特存在的“良好替代方案”,且因此可以改进一些得分的有效性。
由于数据集的分割的数目高(例如,(N/log(N))^N),因此生成每一可能分割可能是不可行的。令人遗憾的是,大多数本地改进方法可能容易陷入僵局。生成分割子集的一些技术涉及通过创建初始分割,接着进行局部改变(例如,将节点从一个分割移动到另一分割),试图在图形分割上使模块化得分最大化。模块化是落入给定分组内的边缘的分数(fraction)减去预期的这种分数(如果边缘随机分布)。令人遗憾的是,模块化测量Q得分可以展现出极端的退化,因为其认可不同的高得分解决方案的指数数量且通常缺乏明确的全局最大值。利用局部方法最大化分割上的函数的另一种方法将使用诸如模拟退火等概率技术。本文中描述的至少一些实施例提供了确定性的替代方案,其适用于广泛的评分函数。
所生成的一个或更多个不同分割中的子集可以至少部分地基于Q得分被选择,本文中进一步描述。可以生成包括所选子集的新分割,或者,如果所有所选子集都已经是生成的分割的一部分,则可以选择先前存在的分割。
图19a到19d描绘在一些实施例中基于评分确定分割以进行自动分组的示例。在一个示例中,存在有限尺寸的固定空间S。仅就存在一种聚类空间和评分子集的方式而言,空间的性质可能相关的。参考S上的图形G指示其节点是子集的集合的图形,当且仅当两个节点有共同点时,一个节点连接到另一节点。分割包含一个或更多个子集。一个或更多个子集中的每个包括S的所有元素。举例来说,分割1902是包含S的所有元素的子集的分割。子集1904a-e包含S的所有元素。所有子集1904a-e的并集为分割1902。
S上的森林F是S上的图形。如果F中的每个叶都是单例(例如,具有一个成员的集合),则森林F是“原子的(atomic)”。图19a(即F1)是一个原子森林,因为如图19a中所描绘的F1中的每个叶为单例。将了解,图19b(即F2)不是原子森林,由于如图19b描绘的F2的每个叶不是单例。举例来说,F2包含叶{A,B}、{D,E}和{F,G}。
S的分割R(在F1中,{a,b,c}、{d,e,f}、{g})称为根,使得从根通过独特路径可以到达F中的每个集合。F中的N为叶(例如,原子森林中的单例)或其连接到节点,其形成N的分割(例如,F1中的{a,b,c}->{a,b}和{c})。对于非叶节点N,我们由C(N)指代N的子级(children)。注意,叶(即C(叶))的子级为空。如果F和F'具有相同叶且F中的每个节点为F'中的节点,则我们说F'扩展F。如果两个森林不相等,则F'含有为F中的一个或更多个根的并集的节点。示例F3(图19c)扩展F1(图19a)。
当且仅当P的每个元素在F1中时,S上的分割P从属于F1。图19d中所描绘的F4的带圆圈的分割P1是F1的下属分割的示例{例如,{a,b,c}、{d,e}、{f}和{g}}。
Singletons(S)表示为通过取得{S中的{x}|x}而形成的分割。即,在图19d的示例中,单例({a,b,c,d,e f,g})={{a},{b},{c},{d},{e},{f},{g}}。此与原子森林的叶集合相同。假设U(P)(其中P为S的子集的任何集合)指代P的所有元素的并集。U(Singletons(S))==S。
当且仅当P'中的每个元素x'为P中的元素x的并集时,S上的分割P'才比S上的另一分割P粗。在各种实施例中,S上的每分割比单例(S)粗,且{S}比S上的每分割粗。例如,{{a,b,c}、{d,e,f}、{g}}为比{{a,b}、{c}、{d,e}、{f}、{g}}粗的分割。
图20为包含自动分组模块2002的示例分析服务器208的框图。图20中描述的示例分析服务器208可类似于图2中描述的示例分析服务器208。在示例实施例中,分析服务器208包括处理器302、输入/输出(I/O)接口304、通信网络接口306、存储器***308和存储***310。
存储***310包括由本发明的实施例利用的多个模块。模块可以是硬件(例如ASIC)、软件(例如包含由处理器可执行的指令),或者两者的组合。在一个实施例中,存储***310包括处理模块312,其包括输入模块314、过滤模块316、分辨率模块318、分析模块320、可视化引擎322、数据库存储装置324,和自动分组模块2002。分析服务器208和/或存储***310的替代实施例可以包括更多、更少或功能等效的组件和模块。
输入模块314可以被配置成从用户装置202a接收命令和偏好。在各种示例中,输入模块314从用户接收将用以执行分析的选择。分析的输出可以是交互式可视化。
输入模块314可以向用户提供多种界面视窗,允许用户选择和存取数据库、选择与数据库相关联的字段、选择度量、选择一个或更多个过滤器,并识别用于分析的分辨率参数。在一个示例中,输入模块314接收数据库识别符并存取大型多维数据库。输入模块314可以扫描数据库并向用户提供界面视窗,从而允许用户识别ID字段。ID字段是用于每个数据点的识别符。在一个示例中,识别符是独特的。相同列名称可能会存在于从其选择过滤器的表中。在选择ID字段之后,随后输入模块314可以向用户提供另一界面视窗,以允许用户从数据库的表中选择一个或更多个数据字段。
尽管本文中可以描述交互式视窗,但将了解,任何视窗、图形用户界面和/或命令行可以用来接收或向用户或用户装置202a提示信息。
过滤模块316随后可以向用户提供界面视窗,以允许用户选择用于分析所选数据字段内的数据的度量。过滤模块316还可以允许用户选择和/或定义一个或更多个过滤器。
分辨率模块318可以允许用户选择分辨率,包含过滤器参数。在一个示例中,用户键入用于过滤器的间隔数目和重叠百分比。
分析模块320可以基于数据库和用户提供的信息执行数据分析。在各种实施例中,分析模块320执行代数拓扑分析,以识别数据和数据群集内的结构和关系。将了解,分析模块320可以使用并行算法或使用各种统计技术的一般化(例如,将引导程序一般化到Z字形方法)以增大可以处理的数据集的大小。分析在图8中进一步论述。将了解,分析模块320不限于代数拓扑分析,而可以执行任何分析。
可视化引擎322生成交互式可视化,其包含来自分析模块320的输出。交互式可视化允许用户以图形方式查看全部或部分分析。交互式可视化还允许用户与可视化交互。举例来说,用户可以从可视化内选择图形的部分,以查看基础数据和/或基础分析和/或与之交互。用户可以接着改变分析的参数(例如,改变度量、(一个或更多个)过滤器或(一个或更多个)分辨率),这允许用户在视觉上识别使用先前手段原本可能不可检测的数据中的关系。图9到11中进一步描述交互式可视化。
数据库存储装置324被配置成存储正被存取的数据库的全部或部分。在一些实施例中,数据库存储装置324可以存储数据库的已保存部分。另外,数据库存储装置324可以用来存储用户偏好、参数和分析输出,由此允许用户对数据库执行许多不同功能而不会丢失先前工作。
自动分组模块2002被配置成自动分组数据集的数据点或图形中的节点。如本文所论述,分组可以是给定评分函数的可能最大值的近似值,其可以对原始数据对象(例如,数据点的集合或图形的节点的集合)的可能分割进行评分。在一些实施例中,自动分组模块2002可以执行图形的节点的自动分组(不管是否生成可视化)。在各种实施例中,自动分组模块2002可以执行自动分组用于参考空间开放覆盖生成。自动分组模块2002可以自动分组任何数目个数据点、数据点集合、表示和/或类似者。图21中进一步论述自动分组模块2002。
将了解,处理模块212的全部或部分可以在用户装置202a或数据库存储服务器206处。在一些实施例中,处理模块312的全部或一些功能可以由用户装置202a执行。
图21描绘一些实施例中的示例自动分组模块2002。自动分组模块2002可以包括数据结构模块2102、分割生成模块2104、评分函数模块(例如,Q_subset评分模块2106、Q_max评分模块2108、Q_partition评分模块2110)、分割选择模块2112和数据控制模块2114。尽管评分功能模块被论述为包括三个模块,分别执行不同的评分功能,但将了解,可能存在任何数目个评分函数模块进行任何数目个评分功能(例如,执行单一的评分函数的一个模块能够生成任何数目或类型的得分)。举例来说,评分函数可以生成和/或最大化任何数目个度量函数的度量值。
在各种实施例中,数据结构模块2102接收包含多个数据集的数据。数据可以是从任何数目个数字装置接收。
分割生成模块2104(例如,“聚类器(clumper)”)利用由数据结构模块2102接收的多个数据集形成森林F。举例来说,分割生成模块2104可以使用由数据结构模块2102接收的数据生成森林F的第一分割。在一些实施例中,第一分割可以包含叶,其为来自数据的所有元素的单例。在各种实施例中,第一分割可以包含任何数目个数据集。第一个分割可以包含森林的叶、单例、根、多个元素的集合和/或类似者。
分割生成模块2104可以使用第一分割生成森林F的第二分割。举例来说,第二分割可以包含第一分割的至少两个集合的至少一个并集。随后的分割可以以类似的方式生成(例如,至少部分基于包含来自先前分割的至少两个集合的至少一个并集)。
分割生成模块2104可以在对分割(或一组分割)进行评分之前生成整个森林F。举例来说,分割生成模块2104可以在任何或全部评分函数模块对森林F的分割的所有或部分分割进行评分之前生成整个森林F。
在一些实施例中,分割生成模块2104可在执行评分时或与分割评分串联地生成整个森林F(例如,分割的集合的得分)。举例来说,分割生成模块2104可以在任何或所有评分函数模块对森林F的全部或部分分割进行评分时生成整个森林F。在另一示例中,分割生成模块2104可以生成森林F的一个或更多个分割,接着任何数目个评分函数模块可以在分割生成模块2104生成森林F的一个或更多个额外分割之前对所生成的分割进行评分。
在各个实施例中,分割生成模块2104可以至少部分地基于由先前生成的森林F的(一个或更多个)分割(或(一个或更多个)分割的集合)的任何数目个评分函数模块的评分来生成森林F的分割。
将了解,分割生成模块2104可不生成整个森林F,而可在森林F完成之前终止生成森林F的分割。分割生成模块2104可以基于森林F的任何数目个先前生成的(一个或更多个)分割和/或与先前生成的(一个或更多个)分割的所有或部分相关联的得分来确定是否要建立森林F的新分割。
如本文所论述,分割生成模块2104可不生成数据的所有可能的集合和/或森林F的所有可能分割。
将了解,分割生成模块2104可以使用本文描述的技术来利用任何数目个层次聚类技术。在一个示例中,数据和/或节点由ε(epsilon)连接(如果2个数据子集或节点彼此距离为ε,则它们联接在一起)。尽管这个示例标准技术有传统的限制(“固定ε”),由此单一的ε可能不能以优选方式打破空间,通过对分割的每个子集进行评分,我们可以在森林选择子集以识别和/或生成选定的分割(例如,通过对多个分割的子集自动分组)。
有限度量空间X上的层次聚类技术KNN的一个示例是计算网络图形的各点的K个最近邻(例如,可视化和非可视化图形,包含可以耦联到图形的一个或更多个其它节点的节点),例如,K=50。分割生成模块2104可以用是Singletons(X)的INITIAL()开始。接着,在每个步骤,对于l<=k<=50,分割生成模块2104可以将x连接至y,前提条件是x和y是彼此对称的k个最近邻。注意,如果KNN(P,k)返回P(对于k<50),则分割生成模块2104可加大(bump)k并重试,而不是断定P是稳定的。
另一层次聚类技术实施例是在一个点集S上的经加权图G(具有正权重)上定义的。这种层次聚类技术是由预先确定的实数δ(1>δ>0)来进行参数化的。分割生成模块2104从δ=0开始,所以INITIAL()是Singletons(S)。对于每个分割P,我们定义wt(p,q)(在P中p!=q)为图形中的节点之间的边缘权重的总和,其为子集p的一部分且G中的子集q中的那些通过|p|*|q|划分。分割生成模块2104被配置成采取分割P并通过连接子集(a,b)的所有对(其中a、b是分割P中的子集)生成一个新分割P’,当wt(a,b)>=δ*max(wt(p,q)))时,其中最大值(max)超过分割P中的子集p和q的所有对。
存在许多层次聚类技术,其中任何一个都可以与评分函数相结合,评分函数满足本文中论述的评分函数的示例约束。
自动分组模块2002包含可以分别利用三个评分函数的Q_Subset评分模块2106、Q_Max评分模块2108和Q_Partition评分模块2110。Q_Subset评分模块2106计算一个或更多个分割的子集的Q_Subset得分。Q_Max评分模块2108基于子集的Q_Subset得分计算Q_Max得分(例如,基于Q_Subset得分计算分割的最大得分。Q_Partition评分模块2110至少利用子集的Q_Subset得分计算森林的两个或更多个分割的Q_Partition得分。
在各种实施例中,Q_Subset评分模块2106计算Q_Subset得分(例如,分割的每个子集一个得分)。函数Q在空间S的子集上定义,且评分在自动分组过程中分组在一起的特性。例如,在一些实施例中,Q_Subset得分为图形上的模块化得分(因此S为图形中的节点)。分割选择模块2112可以检查具有(一个或更多个)最大模块化得分的图形S的分割的数据结构。
模块化是所属领域的技术人员了解的网络或图形结构的一种测量。模块化得分可以用来确保网络节点的划分强度(例如,模块、群组、群集或社区)。模块化可在用于检测网络中的社区结构的优化方法中使用。在一个示例中,模块化是落入给定群组内的图形中的节点边缘的分数减去预期的这种分数(如果边缘随机分布)。将了解,存在许多不同的方法计算模块化。
在一个示例中,边缘的随机化保存每个顶点的度(degree)。假设有n个节点和m个链路(边缘)的图,使得可以使用成员关系变量s将图划分为两个社区。如果一个节点υ属于社区1,Sv=1,或者v属于社区2,Sv=-1。对于一个无向网络的邻接矩阵可以表示为A,其中Avw=0指示节点v与w之间不存在边缘(无交互)。Avw=1指示两者之间存在边缘。
模块化Q可以定义为落入组1或2内的边缘的分数,减去与网络具有相同节点度分布的随机图的组1和2内的预期的边缘数目。
在此示例中,使用配置模型确定预期的边缘数目。配置模型为特定网络的随机化实现。给定具有n个节点的网络,其中每个节点v具有节点度kv,配置模型将每个边缘切割为两半,且接着每个一半边缘随机地与网络中的任何其它一半边缘重新连线。
对于此示例,假定一半边缘的总数目为ln
选择分别具有节点度kv和kw的两个随机节点v和w,且对一半边缘重新连线,则v与w之间的全边缘(full edge)的预期等于(v与w之间的全边缘)/(重新连线可能性的总数目)。预期[v与w之间的全边缘的数目]=(kv*kw)/ln=(kv kw)/2m。
结果,v与w之间的边缘的实际数目减去其它们之间的边缘的预期数目为Avw-(kvkw)/2m。
以上方程适用于仅分割为两个社区。层次分割(即,分割为两个社区,则两个子社区进一步仅分割成两个较小子社区以最大化Q)为识别网络中的多个社区的可能方法。以上方程可以一般化以用于将网络分割为c个社区。
eij为边缘的分数,其具有在社区i中的一个末端顶点和在社区j中的其它顶点:
ai为附接到社区i中的顶点的边缘的末端的分数:
第二评分函数(Q_Partition评分)可以是第一评分函数Q的扩展,被定义于空间S的分割上。如果评分函数Q定义于S的子集上,则其可以以各种方式扩展到分割函数Q_Partition。将函数Q扩展到分割的最简单方式之一是通过将Q_Partition(P)定义为Q(p)的P中的p的总和(例如,对于分割P,Q_Partition(P)=sum_{P中的子集p}Q(p))。
在一些实施例中,Q_Partition必须具有以下特性:假设P为S的子集的任意分割,假设p属于P,且假设q为p的分割。P(q)定义为通过用q的元素替换P中的p而获得的分割。接着,在此示例中,Q_Partition必须具有以下特性,对于如上文所描述的所有P、p、q:
(1)当且仅当QP(q)>=Q({p})时,QP(P(q))>=QP(P)
在一些实施例中,在此情况下,函数Q不需要来自集合函数。按照定义,满足特性(1)的函数Q_Partition是稳定的分割函数。一类这种函数描述如下。
假设Q为定义于S的非空子集的集合上的任何实值函数。假设A(p,q)为定义于非空子集对上的任何函数,使得p为q的子集。如果:
(2)A(p,p)==l且A(p,q)*A(q,r)=A(p,r),对于所有合法p、q、r
则我们可以通过以下操作将集合函数Q()扩展到所有分割P:
(3)QP(P)=sum A(p,U(P))Q(p)
P中的p
注意,所有实数k,A(p,q)==(|p|/|q|)^k满足此特性。此外,k==0意味着A(p,q)==1。
(1)对于(3)中定义的Q适用。如果QP和QP'是稳定的分割函数,则因此为x*QP+y*QP'(对于x,y>=0)。我们还将S上的稳定分割函数称为针对F的“分割评分函数”。
对于形式(3)的任何评分函数,单调递增函数f可以是自身选自实数且用Q'()=f(Q())替换Q。特别地,如果f()“足够可逆”(例如,A()和Q()是>=0,且f()在非负实数上可逆)。QP(P)可以由下式定义:
(3')QP'(P)=f-inverse(sum A(p,U(P))f(Q(p)))
P中的p
因为f(QP(P))满足(1),且f()单调递增,因此(3')中的QP'也满足(1),且在S的子集上扩展Q()。具体地,如果A==1且在集合上Q()>=0,则QP(P)可以定义为P的单个元素上的Q()的欧几里德范数,且仍然获得评分函数。还可以使用指数函数用于f(),而不需要Q为非负。
在各种实施例中,对于定义于S的子集的分割上的函数Q,在使用<=或>=的比较下,可能存在极端值。因为如果比较为<=,则Q可以由-Q替换,可以不失一般性地假定Q的最大值(即,>=)为所关注的。具体来说,本文中公开用于查找F下属分割的方法,在分割上,Q最大,前提条件是Q满足简单属性。
给定F上的评分函数Q_Partition,如果p为叶,我们可以定义评分函数Q_max()为Q(P),如果不是,可以定义评分函数Q_max()为max(Q(p),Qmax(C(p)))。对Q_Partition上的此定义和要求(1)的一个结果是子集p的最大分割(即,p的分割V,对于其,Qmax(V)最大)为p或C(p)的每个元素的最大分割的并集(可以通过用子集p替代子级来打破连结(tie))。
在各种实施例中,自动分组方法使用对S使用层次聚类处理以计算F(即,建构森林F),且如果Q_Partition为F的根R上的评分函数,则我们可以查找下属于F的S的Q_Max最大分割。联接评分函数Q()与层次聚类可以提供用于在针对“Q-maximal分割”的分割当中进行选择的有原理的方法。
分割生成模块2104可以以原始空间S开始,且可以形成上文所描述的森林F。在一些实施例中,生成模块2104获得分割P且返回新分割P',其比P粗略。注意,Clumper({S})={S}。使得生成模块2104Clumper(P)=P的任何分割P称为聚类器-终端,且重复应用必须最终到达聚类器-终端分割。序列Singletons(S)、Clumper(Singletons(S))、Clumper(Clumper(Singletons(S)))等可以在有限步骤数内终止,且所有这些分割的并集形成其根为C-终端分割R中的元素的原子森林F,C-终端分割R为F的根。
利用评分函数和生成分割的一个示例过程在下文伪码中如下:
在此过程终止时,F的根R的元素可以含有其最大分割,其并集为S的F中的最佳分割。
分割选择模块2112可以查找使至少一个评分函数最大化的森林F的下属分割。举例来说,分割选择模块2112可以选择使评分函数QP最大化的森林F的下属分割。
在各种实施例中,分割的每个子集(如本文所论述)可以与其自身的得分相关联。举例来说,分割的每个子集可以与不同Q_Max得分相关联。分割选择模块2112可以使用Q_Max得分从森林F的任何数目个不同分割选择独特元素的子集以生成并选择分割。
举例来说,见图19d,分割选择模块2112可以基于评分函数从一个分割选择子集{A,B,C},且从另一分割选择子集{D,E}、{F}和{G}。所选子集可以接着形成(例如,生成)新的所选分割P1(例如,包含子集{A,B,C}、{D,E}、{F}和{G}的分割)。所选分割P1可以被称为输出分割。在此示例中,分割选择模块2112可以利用Q_Max得分从第一分割选择子集{A,B,C}。在另外示例中,包含元素A、B或C中的任一者的所有分割的每个子集可以与单独Q_Max得分相关联。包含元素A、B或C中的任一者的所有集合的最大Q_Max得分为子集{A,B,C}。结果,在此示例中,分割选择模块2112选择子集{A,B,C}。
类似地,包含元素D、E、F或G中的任一者的所有分割的每个子集可以与单独Q_Max得分相关联。包含元素D、E、F或G中的任一者的所有集合的最大Q_Max得分为子集{D,E}、{F}和{G}(即,与子集{D,E,F,G}、{D,E,F}和{G}相关联的Q_Max得分相比于子集{D,E}、{F}和{G}的Q_Max得分不是最大的)。结果,在此示例中,分割选择模块2112选择子集子集{D,E}、{F}和{G}。
本文中提及的评分函数的一个示例包含用于节点集合S上的经加权图形的模块化得分。在一些实施例中,子集内的边缘的图形比例的子集的模块化得分,e’s和a’s为交叉子集的边界的边缘的比例。最终得分可以是e﹣a^2。在各种实施例中,分割选择模块2112通过最大化此得分选择和/或生成分割。模块化分割评分器QP可以是分割内的子集上的模块化得分的总和。
评分函数的另一示例为用于具有相关联分类的集合S的熵的变体:即,函数cls:S->{1,2,...,k}(即,您具有集合,且所有事物具有某有限标记。)对于S的s子集,我们定义p_i(s)=|{x in s:cls(x)==i}|/|s|,前提条件是|s|!=0。接着,Q(s)=sum_{classes i}(p_i(s)*log(p_i(s)))。熵评分器Q到分割评分器的扩展QP通过扩展特性(3)给出,其中A(p,q)=|p|/|q|。换句话说,对于分割P,QP(P)=sum_{P中的p}(Q(p)*|p|/|U(P)|)。正常情况下,我们想要最小化熵,且此处的子集评分器为通过最大化评分函数而得出的传统熵得分的负数。
数据控制模块2114被配置成提供来自分割选择模块2112的所选和/或所生成分割。在各种实施例中,数据控制模块2114生成指示来自分割选择模块2112的所选和/或所生成分割的报告。报告可以包含例如数据集、分割、子集、元素、数据集识别符、分割识别符、子集识别符、元素识别符和/或类似者。在一些实施例中,报告可以包含图形(例如,参见图19),其具有所选节点的指示,所选节点的(一个或更多个)成员包含来自分割选择模块2112的所选和/或所生成分割的数据。
图22是在一些实施例中用于自动分组的示例流程图。在此示例中,自动分组模块2002接收集合S={A,B,C,D,E,F,G}且基于S执行自动分组以识别森林的所选分割。集合S的元素可以是例如图形的节点,其中图形可被可视化(例如,如本文所论述的可视化)或不被可视化。图形可以是如本文所描述的节点和边缘的拓扑数据分析图形。在一些实施例中,图形可以是包含节点、邻域、分组、社区和/或数据点的任何网络图形。
将使用图23中所描绘的图形描述描述图22中的至少一些步骤的的非限制性示例。在此示例中,Q_Partition的实施例简单地为每个子集上的Q_Subset得分的分割P的子集上的总和。举例来说,如果P={{A,B,C},{D},{E,F},{G}},则Q_Partition(P)=Q_Subset({A,B,C})+Q_Subset({D})+Q_Subset({E,F})+Q_Subset({G})。
在步骤2202中,数据结构模块2102接收集合S,且分割生成模块2104生成是集合S={A,B,C,D,E,F,G}的单例的初始分割,即,P_0={{A},{B},{C},{D},{E},{F},{G}}。此在图23中图示为所描绘的森林的底部行(2302)。
在步骤2204中,Q_subset评分模块2106计算分割P_0的每个子集上的Q_Subset得分。在此示例中,Q_subset评分模块2106利用值0.5对每个单例子集进行评分。此得分在图23中针对分割2302的每个子集示出为Q_Sub=0.5。在此示例中,评分函数可以是本文中论述的模块化评分函数。
在步骤2206中,Q_partition评分模块2110从所建构森林中的子集a的子级计算P_0的每个子集a的最大分割。因为P_0中的子集a在森林中不具有子级,因此子集a的子级的最大分割为其自身。即,对于P_0中的每个子集a,MaximalPartitionChildren(a)=a。
在此示例中,Q_partition评分模块2110计算为自身的每个子集的最大分割。此在图23中针对分割2302的每个子集示出为对于子集{A}为MaxP={A},对于子集{C}为MaxP={C},对于子集{D}为MaxP={D},对于子集{E}为MaxP={E},对于子集{F}为MaxP={F},且对于子集{G}为MaxP={G}。
在步骤2208中,Q_max评分模块2108计算P_0的每个子集上的Q_Max。回想一下,因为P_0中的子集并不具有任何子级,因此对于P_0中的每个子集a,
Q_Max(a)=max(Q_Subset(a),Q_Partition(MaximalPartitionChildren(a))
=max(Q_Subset(a),Q_Partition(a))
=max(Q_Subset(a),Q_Subset(a))=Q_Subset(a)
=0.5
在此示例中,Q_max评分函数2108利用值0.5对每个子集进行评分。此Q_Max得分在图23中针对分割2302的每个子集示出为Q_Max=0.5。
在步骤2210中,我们可选地记录P_0中的每个子集a的最大分割为生成该子集的Q_Max的子集a的分割。因此,我们在此初始分割中记录MaximalPartition(a)=a。
在步骤2212中,数据结构模块2102计算下一分割P_1(图23中标注为2304的行)。即,在此示例中,数据结构模块2102将子集{A}和{B}分组为子集{A,B},且将子集{D}和{E}分组为子集{D,E}。数据结构模块2102将来自分割P_0的子集{C}、{F}和{G}保存到分割P_1中。
将了解,下一分割P_1可以以任何数目个方式对(一个或更多个)先前分割(例如,分割2304)的子集进行分组。举例来说,数据结构模块2102可以随机地将预定数目个子集分组在一起,和/或可以基于元素(例如,基于元素所表示的基础数据)将两个或更多个子集分组在一起。在一个示例中,数据结构模块2102可以使用距离度量和/或任何其它函数将元素分组在一起以定义基础数据和/或相似性空间(例如,参考空间)中的关系。
在各种实施例中,数据结构模块2102可以确定***是否结束和/或是否要计算新分割。将了解,数据结构模块2102可以基于任何数目个方式执行该确定。在一些实施例中,数据结构模块2102确定下一所生成分割是否等于先前分割。如果两个分割相等(例如,具有相同子集),则方法可以终止,否则,方法可以继续到步骤2214。
在一些实施例中,在生成预定数目个分割之后、如果发现预定数目个根和/或类似情况则数据结构模块2102终止方法。在各种实施例中,如果预定数目个子集存在于所计算出的分割中,则数据结构模块2102可以终止方法。在另一示例中,数据结构模块2102可以在预定时间段、存储器使用的预定时间段之后或基于任何阈值(例如,基于所接收数据量计算的阈值)终止方法。
在步骤2214中,Q_subset评分模块2106计算分割P_1的每个子集上的Q_Subset得分。在此示例中,Q_subset评分模块2106计算Q_Subset({A,B})=0.5以及Q_Subset({D,E})=2。在一个示例中,Q_subset评分模块2106计算子集{A,B}的元素A和B的模块化得分以及子集{D,E}的元素D和E的模块化得分。如本文所论述,模块化得分对于Q_Subset({A,B})模块化得分可以是基于节点A和B的边缘,且对于Q_Subset({D,E})模块化得分可以是基于节点D和E的边缘。
如在以上描述步骤2204的段落中所论述,每个单例子集的Q_Subset为0.5(例如,在步骤2304中对于单例子集的先前Q_Subset得分从步骤2302保持不变)。这些得分与每个子集相关联,且在图23中被可视化为2304中的Q_Sub。
在步骤2216中,Q_partition评分模块2110接着计算P_1的每个子集的子级处的最大分割。子集{C}、{F}和{G}的子级的最大分割再次为原始单例子集。子级{A,B}的最大分割为包含{A,B}的子级(即{{A},{B}})的最大分割,如图23中的分割2304中所描绘。类似地,{D,E}的子级的最大分割为集合{{D},{E}},也如在图23中的分割2304中所描绘。
在步骤2218中,Q_max评分模块2108计算P_1的每个子集上的Q_Max。回想,Q_Max(a)=max(Q_Subset(a),Q_Partition(MaximalPartitionChildren(a))。对于子集{A,B}:
Q_Max({A,B})=max(Q_Subset({A,B}),Q_Partition({{A},{B}}))
=max(.5,Q_Subset({A})+Q_Subset({B})
=max(0.5,1)
=1
对于子集{D,E}:
Q_Max({D,E})=max(Q_Subset({D,E}),Q_Partition({{D},{E}}))
=max(2,Q_Subset({D})+Q_Subset({E})
=max(2,1)
=2.
如在图23的分割2304中所显示,{A,B}的Q_Max为1,且{D,E}的Q_Max为2。分割2304中的单例{C}、{F}和{G}的Q_Max保持与分割2302中的相应子集一致。即,{C}、{F}和{G}中的每个的Q_Max为0.5。
在步骤2220中,我们可选地记录导致Q_Max得分的P_1中的每个子集a的最大分割。如在上文和图23中看到,MaxPartition({A,B})={{A},{B}},且MaxPartition({D,E})={D,E}。
重复步骤2212。数据结构模块2102计算图23中描绘为行(分割)2306的下一分割P_2。在各种实施例中,数据结构模块2102可以确定***是否结束和/或是否要计算新分割。将了解,数据结构模块2102可以基于任何数目个方式执行该确定。
在步骤2214中,Q_subset评分模块2106计算分割P_2的每个子集上的Q_Subset得分。在此示例中,Q_subset评分模块2106计算Q_Subset({A,B,C})=2以及Q_Subset({D,E,F})=1.5。再次,Q_Subset({G})=0.5。这些得分与每个子集记录在一起,且在图23中被可视化在分割2306中。
在步骤2216中,Q_partition评分模块2110计算P_2的每个子集的子级处的最大分割。子级{G}的最大分割为子集{G}。子级{A,B,C}的最大分割为由子级{A,B,C}的最大分割组成的集合,即,{MaxPartition({A,B}),MaxPartition({C})={{A},{B},{C}}。类似地,子级{D,E,F}的最大分割为集合{MaxPartition({D,E}),MaxPartition({F})}={{D,E},{F}}。
此在图23中针对分割2306的每个子集示出为对于子集{A,B,C}为MaxP={A,B,C},对于子集{D,E,F}为MaxP={{D,E},{F}},且对于子集{G}为MaxP{G}。
在步骤2218中,Q_max评分模块2108计算P_2的每个子集上的Q_Max。回想,Q_Max(a)=max(Q_Subset(a),Q_Partition(MaximalPartitionChildren(a))。对于子集{A,B,C}:
Q_Max({A,B,C})=max(Q_Subset({A,B,C}),Q_Partition({{A},{B},{C}))
=max(2,Q_Subset({A})+Q_Subset({B})+
Q_Subset({C}))
=max(2,1.5)
=2
对于子集{D,E,F}:
Q_Max({D,E,F})=max(Q_Subset({D,E,F}),Q_Partition({{D,E},(F}}))
=max(1.5,Q_Subset({D,E})+Q_Subset({F})
=max(1.5,2.5)
=2.5
如在图23的分割2306中所显示,{A,B,C}的Q_Max为2,且{D,E,F}的Q_Max为2.5。分割2306中的单例{G}的Q_Max保持与分割2304中的相应子集一致。即,Q_Max{G}为0.5。
在步骤2220中,我们可选地记录导致Q_Max得分的P_2中的每个子集a的最大分割。如在上文看到,MaxPartition({A,B,C})={{A,B,C}}且MaxPartition({D,E,F})={{D,E},{F}}。
重复步骤2212。数据结构模块2102计算图23中描绘为行(分割)2308的下一分割P_3。数据结构模块2102可以确定***是否结束和/或是否要计算新分割。
在步骤2214中,Q_subset评分模块2106计算分割P_3的每个子集上的Q_Subset得分。在此示例中,Q_subset评分模块2106计算Q_Subset({A,B,C})=2以及Q_Subset({D,E,F,G})=1。这些得分与每个子集记录在一起,且在图23中被可视化于分割2308中。
在步骤2216中,Q_partition评分模块2110计算P_3的每个子集的子级处的最大分割。子级{A,B,C}的最大分割为由子级{A,B,C}的最大分割组成的集合,即{MaxPartition({A,B,C})}={{A,B,C}。类似地,子级{D,E,F,G}的最大分割为集合{MaxPartition({D,E,F}),MaxPartition({G})}={{D,E},{F},{G}}。
此在图23中针对分割2308的每个子集示出为对于子集{A,B,C}为MaxP={A,B,C},且对于子集{D,E,F,G}为MaxP={{D,E},{F},{G}}。
在步骤2218中,Q_max评分模块2108计算P_3的每个子集上的Q_Max。回想,Q_Max(a)=max(Q_Subset(a),Q_Partition(MaximalPartitionChildren(a))。对于子集{A,B,C}:
Q_Max({A,B,C})=max(Q_Subset({A,B,C}),Q_Partition({A,B,C}))
=max(2,Q_Subset({A,B,C}))
=2
对于子集{D,E,F,G}:
Q_Max({D,E,F,G})=max(Q_Subset({D,E,F,G}),Q_Partition({{D,E},
{F},{G}}))
=max(1,Q_Subset({D,E})+Q_Subset({F}+
Q_Subset({G})
=max(1,3)
=3
如在图23的分割2308中所显示,{A,B,C}的Q_Max为2,且{D,E,F,G}的Q_Max为3。
在步骤2220中,我们可选地记录导致Q_Max得分的P_3中的每个子集a的最大分割。如在上文看到,MaxPartition({A,B,C})={{A,B,C}}且MaxPartition({D,E,F,G})={{D,E},{F},{G}}。
尽管未在方法2200中描绘,但方法可以继续。举例来说,分割选择模块2112可以识别和/或生成优选分割随之而后最大化一个或更多个评分函数。在此示例中,优选分割为MaxPartition。如上文刚刚论述,P_3中的每个子集的最大分割为MaxPartition({A,B,C})={{A,B,C}}以及MaxPartition({D,E,F,G})={{D,E},{F},{G}}。分割选择模块2112可以识别和/或生成自动分组的分割{{A,B,C},{{D,E},{F},{G}。
数据控制模块2114可以在报告中提供所识别和/或所生成的自动分组的分割和/或识别数据或图形中的自动分组的分割。
图24是在一些实施例中的数据点的自动分组图形的示例报告2400,其描绘分组的数据。子集2402、2404和2406为数据点的子集,其一起形成分割(即,自动分组的所生成分割2408)。在各种实施例中,可以接收数据,且利用本文所述实施例生成节点(例如,参见关于图4或8的描述)。表示所接收数据中的至少一些的节点可以自动分组为自动分组的所生成分割2408的数个子集2402、2404和2406。报告2400可以描绘包含与每个子集相关联和/或在每个子集内的基础数据的行以及该子集的所有或一些基础数据2410。
举例来说,自动分组模块2002可以生成示出用于自动分组的所生成分割的数据点的每个子集的报告。行、列或其它数据识别符可以与每个子集相关联。另外,可以显示与每个子集相关联的所有或一些数据(例如,包含任何自变量,例如数据识别符,例如患者识别符)。
报告可以允许识别节点的群组(例如,为输出分割的子集的部分的节点)。可以通过对群组中的节点着色以相似色彩、节点形状、与群组中的节点相关联的图形元素(例如,围绕群组中的节点的方框)和/或以任何数目个方式来在可视化中识别所识别出的节点群组。在一些实施例中,所识别的节点群组允许用户创建查询、分析和/或查看与群组中的节点相关联的数据以获得洞察(insight)。
在一些实施例中,自动分组可以用于经加权图形上。在此示例中,将自动分组的集合为经加权图形G的节点集合。构思为将图形自动地分割为在图形中强连接的节点群组。如果在图形的节点上存在函数,则可以将未加权图形转换成经加权图形。图形G中的两个节点a与b之间的边缘(a,b)的权重可以被定义为函数值之间的差异:wt(a,b)=|f(a)–f(b)|。在另一实施例中,此图形可以是从数据集生成的可视化,且节点上的函数可以通过节点上的色彩方案给出。
在一个示例中,可以从到其最近邻的连接点生成输入图形G,其中度量空间为来自欧几里德平面中的5个高斯样本的一组2200个点。图形可以依据高斯密度着色。通过依据边缘端点处高斯密度函数的差异对G中的每个边缘进行加权来使得图形成为经加权图形。
使用本文中关于经加权图形所描述的评分机制和应用于经加权图形G的模块化评分器来应用方法。所得最大分割可以是图25中的“色彩编码”(利用灰度级)。
为阐明群组,我们查看图26中的对应点和点在欧几里德平面中的散布图中的分配。由于图形G来自此数据集中的几何结构,细微的几何特征保存在此分解中。换句话说,在此示例中,将图形自动分组分割为强连接且具有相似函数(具体来说,密度)值的图形的区。这是有帮助的,因为每群组内的数据点现在非常相似于彼此,从而从每个子集得出的统计结论更加有可能在统计上显著。
在此实施例的一个应用中,原始数据可以是输入到图形构造(例如,如关于图8所论述)中的数据集,其产生图形(该图形可以在存储器中或为可视化)。可视化可以依据数据点上的所关注函数的平均值被着色,如本文所论述。一个此类着色可以是对于数据集的所关注结果,例如患者的生还、发电机中的电力输出,等。使用着色来将(例如,存储器或可视化中)图形转换为经加权图形,可以接着使用本文所述的自动分组实施例中的一个或更多个来对经加权图形进行自动分组。各种自动分组算法将图形分割为高度连接且具有相似色彩值的子集。
群组可以用来创建供用于可视化中的图形的新色彩方案。其还可以用于自动统计分析和报告生成。此外,此处理可以用来以数据集开始,生成图形(但不一定生成可视化)(例如,生成存储器中的图形的全部或部分),且接着向用户报告最终自动分组的最大分割的子集以及那些子集上的统计计算。
如本文所论述,回想一下,一旦计算过滤器,可以将数据点映射到参考空间,且在该参考空间中生成开放覆盖(参见关于图8的论述)。开放覆盖中的元素可以迭代以及聚类,以生成所得可视化中的节点。在本文中所描述的一个示例中,开放覆盖可以采用参考空间中的间隔(或在多于一个过滤器的情况下,采用间隔的交叉乘积)。以下实施例为在参考空间中生成开放覆盖的数据驱动替代方案。
在此实施例中,集合S为原始数据点到参考空间的投射(例如,诸如高斯密度函数的函数应用于所接收的数据点以投射到参考空间)。自动分组模块2002可以对从数据到参考空间的此投射建立的经加权图形进行操作。举例来说,对于固定正整数k,如果b为a’s k-最近邻中的一个且a为b’s k-最近邻中的一个(即,它们为彼此的对称k-最近邻),则通过将S中的每个点a连接到S中的每个点b而在集合S上建构图形G。在一些测试中,k=20产生良好结果。可以依据嵌入式参考空间距离中的边缘的端点之间的距离来对图形的边缘进行加权。此自动分组实施例可以利用阶层式单链聚类器,其使用参考空间中的点之间的距离。评分器模块(例如,图21中的模块2106、2108和/或2110)可以利用根据经加权邻域图形G建立的模块化得分。
此实施例的结果可以是数据点在参考空间中的投射的分割p。现在,对于固定正整数j,我们可以通过将所有j个最近邻添加到子集a中的元素的参考空间中来扩展P的每个子集a。新的经扩展子集可能不再是分割,因为一些点现在可能存在于多个子集中,但子集的此新集合形成图形构造中参考空间的开放覆盖(参见关于图8的论述)。
在各种实施例中,自动分组可以用于聚类。举例来说,在关于图8描述的实施例中,在参考空间或原始空间中生成覆盖之后,在开放覆盖中的子集中的每个上聚类数据以识别节点(例如,参见步骤808到812)。自动分组聚类可以是具有固定距离截止(cut-off)的单链聚类的自适应性替代。
举例来说,集合S为集合数据以及定义集合S中任何两个点之间的距离的度量。在关于图8的论述中,这些点可能来自参考空间中的开放覆盖。在当前示例中,分割生成模块2104(参见图21)和评分模块(例如,Q_Subset评分模块2106、Q_Max评分模块2108和/或Q_Partition评分模块2110)中的一个或更多个对从数据建立的经加权邻域图形进行操作。对于固定正整数k,在给定度量下,如果“b”是“a’s”k-最近邻中的一个且“a”是“b’s”k-最近邻中的一个(即,它们为彼此的对称k-最近邻),则可以通过将S中的每个点“a”连接到S中的每个点“b”来在集合S上的建构图形G。在一些情况下,k=20产生良好结果。此图形的边缘可以依据边缘的端点之间的距离进行加权。用于此自动分组示例的分割生成模块2104为阶层式单链聚类器,其使用由给定度量确定的点之间的距离。评分模块(例如,Q_Subset评分模块2106、Q_Max评分模块2108和/或Q_Partition评分模块2110)中的一个或更多个使用从经加权邻域图形G建立的模块化得分。所得聚类可能具有在多种距离截止处形成的群集,而非用于集合S的单个固定距离截止。
在另一示例中,集合S的元素可以具有额外信息,例如相关联分类,即,举例来说,函数cls:S->{1,2,...,k}(即,存在集合,且所有事物具有某个有限标记。)评分模块(例如,Q_Subset评分模块2106、Q_Max评分模块2108和/或Q_Partition评分模块2110)中的一个或更多个可以对熵进行评分(例如,评分模块中的一个或更多个可以是熵评分器))
熵评分器的一个示例为Q(a)=sum_{classes i}(p_i(a)*log(p_i(a))),其中p_i(a)=|{x in a:cls(x)==i}|/|a|,前提条件为|a|!=0。熵评分器Q到分割评分器的扩展QP由扩展特性(3)给出,其中A(p,q)=|p|/|q|。换句话说,对于分割P,QP(P)=sum_{p inP}(Q(p)*|p|/|U(P)|)。分割生成模块2104与评分模块(例如,Q_Subset评分模块2106、Q_Max评分模块2108和/或Q_Partition评分模块2110)中的一个或更多个的组合可以产生集合S的元素的最大分割(即聚类),其强调在距离上非常接近且在分割的子集中的分类类型上具有最低熵的群集。换句话说,此示例实施例可以定位具有在距离度量的约束下可能的每个单个分类类型的最大比例的群集。
在一些实施例中,自动分组可以用于在没有参考空间的情况下的开放覆盖生成。举例来说,在关于图8描述的实施例中,可以生成过滤器,可以将点映射到参考空间,且可以在参考空间中生成开放覆盖(例如,参见步骤802到808)。开放覆盖中的元素可以被迭代并且聚类,以识别节点。在一些实施例中,可以在参考空间中建构开放覆盖。各种实施例包含生成原始数据的开放覆盖而不需要具有过滤器或参考空间的数据驱动替代方案。
在一个示例中,集合S是与度量一起的原始数据,所述度量定义集合S中的任何两个点之间的距离。分割生成模块2104和评分模块中的一个或更多个(例如,Q_Subset评分模块2106、Q_Max评分模块2108和/或Q_Partition评分模块2110)可在根据数据建立的经加权邻域图形上操作。具体来说,对于固定正整数k,在给定度量下,如果“b”是“a’s”k-最近邻中的一个且“a”是“b’s”k-最近邻中的一个(即,它们为彼此的对称k-最近邻),则通过将S中的每个点“a”连接到S中的每个点“b”来建构集合S上的图形G。)。在一些情况下,k=20生产良好结果。此图形的边缘可依据边缘的端点之间的距离而进行加权。用于此实施例的分割生成模块2104是使用通过给定度量确定的点之间的距离的阶层式单链聚类器。评分模块中的一个或更多个(例如,Q_Subset评分模块2106、Q_Max评分模块2108和/或Q_Partition评分模块2110)可使用根据经加权邻域图形G建立的模块化得分。
此示例中的结果是原始空间中的数据点的分割P。对于固定正整数“j”,我们可通过在子集“a”中添加元素的所有j-最近邻来扩展P的每个子集“a”。新的扩展子集可以不再是分割,因为一些点现在可存在于多个子集中,但子集的此新集合可形成如图8中所描述的步骤808的空间的开放覆盖。
在各种实施例中,使用来自拓扑数据分析的信息(例如,洞察)来创建并改进各种预测性建模过程。
图27是包含自动分组模块2002和预测模块2702的示例分析服务器208的框图。图27中所描绘的示例分析服务器208可类似于图3和图20中所描绘的示例分析服务器208。在示例实施例中,分析服务器208包括处理器302、输入/输出(I/O)接口304、通信网络接口306、存储器***308和存储***310。
存储***310包括由本发明的实施例利用的多个模块。模块可以是硬件(例如ASIC)、软件(例如包含可由处理器执行的指令),或者两者的组合。在一个实施例中,存储***310包括处理模块312,该处理模块312包括输入模块314、过滤模块316、分辨率模块318、分析模块320、可视化引擎(例如GUI引擎)322,数据库存储装置324、自动分组模块2002和预测模块2702。分析服务器208和/或存储***310的替代实施例可以包括更多、更少或功能等效的组件和模块。
输入模块314可以被配置成从用户装置202a接收命令和偏好。在各种示例中,输入模块314从用户接收将用于执行分析的选择。分析的输出可以是交互式可视化、非交互式的可视化或非可视化的图形(例如,图形可含有如本文中所描述的生成的节点和边缘)。
输入模块314可以向用户提供多种界面视窗从而允许用户选择和存取数据库、选择与数据库相关联的字段、选择度量、选择一个或更多个过滤器,并识别用于分析的分辨率参数。在一个示例中,输入模块314接收数据库识别符并存取大型多维数据库。输入模块314可以扫描数据库并向用户提供界面视窗,从而允许用户识别ID字段。ID字段是用于每个数据点的识别符。在一个示例中,识别符是独特的。相同列名称可能会存在于供选择过滤器的表中。在选择ID字段之后,输入模块314可以向用户提供另一界面视窗,以允许用户从数据库表中选择一个或更多个数据字段。
尽管本文中可以描述交互式视窗,但将了解,任何视窗、图形用户界面和/或命令行可以用来接收或向用户或用户装置202a提示信息。
过滤模块316随后可以向用户提供界面视窗,以允许用户选择用于分析所选数据字段内的数据的度量。过滤模块316还可以允许用户选择和/或定义一个或更多个过滤器。
分辨率模块318可以允许用户选择分辨率,包含过滤器参数。在一个示例中,用户键入用于过滤器的间隔数目和重叠百分比。
分析模块320可以基于数据库和用户提供的信息执行数据分析。在各种实施例中,分析模块320执行代数拓扑分析,以识别数据和数据群集内的结构和关系。将了解,分析模块320可以使用并行算法或使用各种统计技术的一般化(例如,将引导程序一般化到Z字形方法)以增大可以处理的数据集的大小。图8中进一步论述分析。将了解,分析模块320不限于代数拓扑分析,而可以执行任何分析。
可视化引擎322生成交互式可视化,其包含来自分析模块320的输出。交互式可视化允许用户以图形方式查看分析的全部或部分。交互式可视化还允许用户与可视化交互。举例来说,用户可以从可视化内选择图形的部分,以查看基础数据和/或基础分析和/或与之交互。用户可以接着改变分析的参数(例如,改变度量、(一个或更多个)过滤器或(一个或更多个)分辨率),这允许用户在视觉上识别使用先前手段原本可能不可检测的数据中的关系。图9到11中进一步描述交互式可视化。
数据库存储装置324被配置成存储正在被存取的数据库的全部或部分。在一些实施例中,数据库存储装置324可以存储数据库的已保存部分。另外,数据库存储装置324可以用来存储用户偏好、参数和分析输出,由此允许用户对数据库执行许多不同函数而不会丢失先前工作。
自动分组模块2002可类似于关于图20的论述。自动分组模块2002可以被配置成自动分组数据集的数据点或图形中的节点。如本文中所论述,分组可以是给定评分函数的可能最大值的近似值,其可以对原始数据对象的可能分割(例如,数据点的集合或图形的节点的集合)进行评分。在一些实施例中,自动分组模块2002可以执行图形的节点的自动分组(不管是否生成可视化)。在各种实施例中,自动分组模块2002可以执行自动分组用于参考空间开放覆盖生成。自动分组模块2002可以自动分组任何数目个数据点、数据点的集合、表示和/或类似者。图21中进一步论述自动分组模块2002。
预测模块2702可生成预测机器学习模型,其可用于基于数据集而预测结果。举例来说,预测模块2702可利用可视化的或未显示的TDA图形,以生成训练数据集。训练数据集可结合机器学习模型使用以创建预测模型。举例来说,可使用TDA来分析初始数据集(例如,包括训练数据集)以创建TDA图形。将了解,TDA图形将相似数据点分组在一起(例如,在节点和连接节点中)。数据点的这些群组可用于通过将与群组相关联的信息添加到初始数据集中(例如,“扩展”数据集)来将初始数据集(例如,用于生成TDA图形)转换成训练数据集。通常可能自身对大型、复杂数据集无效的机器学习模型可结合训练数据集使用以生成预测模型。举例来说,机器学习模型可利用在训练数据集中的相似数据点的群组来生成改进的结果。
可使用具有已知结果的测试数据集来测试预测模块2702以评估预测模型输出与已知结果是否相同或相似。另外,预测模块2702可利用新的数据来进行结果预测。
将了解,处理模块312的全部或部分可以在用户装置202a或数据库存储服务器206处。在一些实施例中,处理模块312的全部或一些功能性可以由用户装置202a执行。
图28描绘一些实施例中的示例预测模块2702。预测模块2702可包括数据模块2802、分组模块2804、转换模块2806、预测引擎2808、测试模块2810和预测分析模块2812。数据模块2802被配置成接收初始数据集。
在一些实施例中,数据模块2802可从初始数据集中选择训练数据集。数据模块2802可以以任何数目种方式选择训练数据集。举例来说,数据模块2802可随机地或使用任何方法从初始数据集中选择数据点的子集。在一些实施例中,可使用剩余数据点中的全部或一些(例如,未选定数据点)来测试预测模型。在各种实施例中,选择测试数据集,且训练集可以是剩余数据点中的全部或一些。
在一些实施例中,可使用本文中所描述的TDA由分析模块320评估训练数据集,且可生成可视化(例如,显示)或图形。将了解,可能不显示图形。可视化可描绘如本文中所描述的节点和边缘。图形可指示本文中所描述的节点和边缘,但对示出节点和边缘的网络的描述可能不被显示。
分组模块2804可将训练数据集的数据点分组到群组中。在一些实施例中,分组模块2804可将使用本文中所论述的TDA生成的可视化或图形的节点(例如,共享数据点的连接节点以及具有相似数据点的其它节点)一起分组到群组中。分组模块2804可将与节点的每个分组相关联的数据点分组到数据点分组中。本文中进一步描述分组的处理。
训练数据集的一个示例是数据矩阵X,其中行被看作是单个数据点,且列被看作是“特征”。图30描绘示例训练数据集3000。在一些实施例中,数据矩阵X(例如,训练数据集3000)可包含与结果相关的一个或更多个列(例如,结果T 3006)(我们将由“T”指代)。在一个示例中,X中的最右列是结果列。在财务示例中,行可以是时间点,且列可以是经济指标的值,且矩阵条目是给定时间点处的指标的值。结果变量可以是给定时间点处的业务单元的收益。X′可指代(一个或更多个)列T被移除的矩阵X。数据矩阵X的每行可以是数据点3002。尽管图30示出有限数目个列和行,但将了解,可存在任何数目个行(例如,任何数目个数据点)和任何数目个列(例如,任何数目个特征和结果)。可存在与每个数据点3008相关联的一个或更多个值(例如,对于每列,在每行中可存在一个值)。将了解,空(null)或零是一个值。另外,如果不存在用于数据点的特定特征的信息,则这可以被认为是一个值。
转换模块2806可使用由分组模块2804识别的数据点的群组基于训练数据集而生成新的转换数据集。在一个示例中,对于由分组模块2804识别的每个群组来说,新的特征集可被添加到训练数据集。每个新的特征集的特征的数目可等于训练数据集的特征(例如,可包含或可不包含结果T)的数目。如果数据点不在群组中,则与该群组相关联的特征集对于该数据点可以是零或空。如果数据点在群组中,则与该群组相关联的特征集的值可以基于训练数据集中的数据点的特征的值。举例来说,可以将训练数据集的特征的值复制到与特定群组的特征集相关联的新的转换数据集的部分中。在一些实施例中,在将训练数据集的特征的值存储在与特定群组的特征集相关联的新的转换数据集的部分中之前,可对训练数据集的特征的值进行加权或修改。举例来说,如果数据点在多于一个群组中,则在将训练数据集中的数据点的特征的值存储在与该数据点是其成员的每个特定群组的特征集相关联的新的转换数据集的部分中之前,可基于多个群组的成员关系而对其进行加权。对于每个数据点或数据点的集合来说,权重可以是不同的。在一些实施例中,在将为仅一个群组的成员的数据点存储在与特定群组的特征集相关联的新的转换数据集的部分中之前,可不对数据点进行加权。转换数据集的示例描绘于图31中且在本文中进一步描述。
预测引擎2808可以通过将机器学习模型应用于转换数据集来生成预测模型。本文中进一步描述预测模型的生成。
测试模块2810可以将来自预测引擎2808的预测模型应用于数据(例如,测试数据集),并比较预测模型的输出与已知结果。测试模块2810可以评估预测模型与已知结果相比的准确性、相似性、可靠性等。
预测分析模块2812可以将来自预测引擎2808的预测模型应用于任何数据以生成预测结果。在一个示例中,预测分析模块2812可以接收分析数据集(例如,待分析的数据集)。分析数据集可以包含与初始训练数据集中的特征相似或相同的特征。对于分析数据集中的每个数据点,预测分析模块2812可以确定数据点为其成员的(例如,由分组模块2804识别的群组中的)群组。预测分析模块2812接着可以生成分析转换数据集。
如本文中所相似论述,举例来说,对于由分组模块2804识别的每个群组,可以将新的特征集添加到分析数据集。每个新的特征集的特征数目可以等于分析数据集的特征数目(例如,其可包含或可不包含结果T)。如果数据点不在群组中,则与该群组相关联的特征集对于该数据点可以是零或空。如果数据点在群组中,则与该群组相关联的特征集的值可以基于训练数据集的特征的值。举例来说,可以将分析数据集的特征的值复制到与特定群组的特征集相关联的分析转换数据集的部分。在一些实施例中,在将分析数据集的特征的值存储于与特定群组的特征集相关联的分析转换数据集的部分中之前,可以对分析数据集的特征的值进行加权或修改。举例来说,如果数据点在多于一个群组中,则在将分析数据集的特征的值存储于与该数据点为其成员的每特定群组的特征集相关联的分析转换数据集的部分中之前,可以基于多个群组的成员关系对分析数据集的特征的值进行加权。对于每个数据点或数据点的集合来说,权重可以是不同的。在一些实施例中,在将为仅一个群组的成员的数据点存储于与特定群组的特征集相关联的新的转换数据集的部分中之前,可以不对数据点进行加权。
预测分析模块2812可以将预测模型应用于分析转换数据集,以针对分析转换数据的一或更多个数据点生成至少一个预测结果。
图29是在一些实施例中用于创建预测模型的流程图。在步骤2902中,分析服务器208在X′数的行上建构TDA网络Г。可以使用本文中所描述的***和方法(例如,如关于图8所论述)来创建TDA网络。分析服务器208可以接收训练数据集并且建构TDA网络Г。对度量、透镜(lens)、分辨率和增益的选择可以随数据种类而变化,且可以或可以不用结果建构。将了解,TDA网络Г可以是或可以不是可视化。回想一下,每个节点对应于数据点的集合(即,X′的行的集合)。对于行ρ和节点v,当ρ被包含在关联到v的集合中时,我们写出ρ∈v。
在步骤2904中,分组模块2804使用TDA网络对训练数据集的数据点进行分组。举例来说,分组模块2804可以建构Г的覆盖(即,Г的顶点的集合V(Г)的子集的有限族U={Uα}α∈A),使得
可以不参考任何模型进行分组。在一些实施例中,可以通过使用本文中论述的自动分组通过网络的分段来进行分组,或可以通过基于结果的自动分组方法中的一个来基于是模型误差(即,结果变量的实际值与使用模型的预测值之间的差的绝对值)的结果进行分组。
在步骤2906中,转换模块2806基于训练数据集和所识别群组生成第一转换数据集。在一个示例中,训练数据集的转换是基于覆盖U。
在一个示例中,对于X′的每个数据点ρ(即行),将c(ρ)定义为下标α的数目,使得对于节点v∈Uα,ρ∈v。应注意,c(ρ)为正整数,因此是非零的。我们也将把行全部排序成列表{ρ12,..ρM},并将列排序成列表{ζ12,...,ζN}。对于任何α∈A和X′的行ρ,如果对于任何v∈Uα,ρ不在v中,则我们将定义为0,否则我们将其定义为对于每α∈A,我们现在定义新的矩阵X′(α)=[x′ij(α)],其中项x′ij(α)如下定义:
应注意,X′(α)具有与X′恰好相同的高度和宽度。现在如下获得经转换的数据矩阵。我们将集合A全部排序成列表{α12,...,αk},其中K=#(A)。现在通过按照在α's上刚定义的总排序将矩阵X′(α)中的每个放置为彼此相邻,并最后在末端附加T将获得经转换的矩阵。因此,如果原始数据矩阵X为M x(N+1)矩阵,则经转换的矩阵为M x(NK+1)。
示意性地,如下给出矩阵。
[X′(α1)|X′(α2)|...X′(αK)|T]
这样完成了对转换的描述,并且我们通过RU(X)进行表示。我们也将使用第二版本的构造,其矩阵为
[X′|X′(α1)|X′(α2)|...X′(αK)|T]
我们在RU(X)的左侧上邻接(移除了T的)原始数据矩阵。我们将此转换称为
图31描绘一些实施例中的另一示例第一转换数据集3100。第一转换数据集3100可以包含(例如)图31中描绘的训练数据集3000的数据点(例如,行3002)和初始特征3004(其可以或可以不包含结果T 3006)。第一转换数据集3100可以包含用于每个群组的额外特征集。举例来说,第一转换数据集3100可以包含第一群组特征3102,其包含与所述第一群组相关联的特征集。类似地,第一转换数据集3100可以包含第二群组特征3104、第三群组特征3106等等。可能存在任何数目个群组。
在步骤2208中,预测模块2702建构预测模型。在一些实施例中,预测模块2702可以基于任何建模方案构建预测模型,该建模方案对由数据矩阵连同结果列构成的数据进行操作。举例来说,可以将机器学习模型应用于第一转换数据集。将了解,可以将任何不同的机器学习模型(或多个模型)应用于第一转换数据集。举例来说,可以如本文进一步所论述的来应用线性回归机器学习模型、多项式回归机器学习模型、逻辑回归机器学习模型、决策树机器学习模型或随机森林机器学习模型。
这是新的数据矩阵,因此可以对其应用从具有结果列的数据矩阵产生模型的任何建模方法,并获得新的预测模型。某些种类的预测性方法具有额外性质,即可证明经转换矩阵的最小平方误差小于或等于原始矩阵的最小平方误差。存在数种合格的方法。
线性回归:标准线性回归通过定义由列的所有可能线性组合构成的可行空间进行,在可行空间上列的线性组合与结果列之间的差的范数被最小化。
注意性质显然X的可行空间包含于RU(X)的可行空间中,以此方式使得误差被保留。因此,RU(X)的最小误差小于X的误差,这是因为在计算X的最小误差时获得的所有值出现在RU(X)的最小化中。
多项式回归:当可行空间为(a)向量空间且(b)含有原始列中的每个时,此相同的论证也适用。因此,常常的做法是,对于一些固定正整数k,可以认为特征集中的所有多项式阶次的向量空间小于或等于k。这也是向量空间,且其含有的所有列作为此集合内的阶次1的单项式。因此在此情况下,原始模型的最小值可以大于经转换模型的最小值。
逻辑回归:当对结果列的每项应用某函数,且接着应用线性回归时,可以获得逻辑回归。一个示例特定函数为:
其中应理解0<p(x)<1。因此在此情况下,原始数据矩阵的误差大于或等于RU(X)的误差。此一般化到L2的优化—列的线性组合与结果数据的任意转换的差的范数。存在与逻辑回归直接相关的若干种情况。
决策树、随机森林等:当预测符不是基于明确优化时,通过邻接额外特征可以实现或可以不实现误差改进。然而,在这些情况下也可以实现改进。此处,可以使用原始特征(例如,)。
如下论述步骤2902到2908的另一示例。预测的一些实施例包含可以用于建立和改进机器学习模型的框架。将了解,本文中所描述的一些实施例可以用手动或自动过程来操作。示例过程包含迭代经过使用本文中所描述的拓扑数据分析(TDA)创建的训练数据的选定子集的工作流程。
预测过程的各种示例可以包含:1)以自动和手动两种方式找到点的有意义子集的方法;2)以改进机器学习模型的方式集成子集的方法;和/或3)自动化模型构造和改进的方法
可以利用TDA方法(例如本文中所描述的那些)以产生点云数据的拓扑概述。可以使用对所接收数据(被结构化或非结构化)的至少一个度量结合可以被称为“透镜”的函数集合来创建概述。概述可以采取包括节点和边缘的集合G=({Ni},{Ej})的网络或图形(例如,如本文中所描述的可视化或非可视化的图形)的形式,其中每个边缘连接至少两个节点。网络中的每个节点可以表示相关点的群集(例如,两个或更多个相关点),且节点之间的边缘可以表示节点之间共享的点(例如,两个节点之间的边缘表示至少一个点为所连接节点两者的成员)。当图形或网络为拓扑概述时,图形或网络可以被称为扩展Reeb图形或ERG(Extended Reeb Graph)。在一些实施例中,可能未描绘图形的节点和边缘。
节点的群组可以选自图形或网络,且节点中的点的并集可以放置于子集中。在一些实施例中,以两种方式形成群组:1)使用基于组合网络结构的“社区检测”算法;和2)使用“结果群组”,其是使用某函数结合网络形成的。
在网络或图形中,社区为相比群组外部的节点在群组内含有较多边缘的节点的集合。在一些实施例中,现成的社区检测算法可以用于创建从其创建子集的节点的群组。举例来说,可以利用鲁汶(Louvain)模块化最大化方法。
在结果群组的一些实施例中,鉴于网络或图形的节点上的函数g:{Ni}→R,可以形成此函数的超水平集的连接区。以下描述为用于针对如本文中所描述的网络或图形的情况选择超水平集的方法(例如,节点和边缘的集合),且也是用于使用网络或图形中的选定节点的相对密度进行平滑化的方法。考虑由点云数据X=(X,d)形成的网络或图形G=({Ni},{Ej}),其中X={pi}为有限点集且d为X上的度量。在G中,每个Ni表示点集Ni={pj}j∈INi,回想给定点pk包含在多于一个Ni中。从X上的任何函数h,可通过求Ni上的h的平均值来形成G上的函数
可以针对H在统计上高于来自X的点的随机样本的预期结果处来识别节点。可以起始对误差函数的值的排列,从而创建函数集合{h1,...,hK},从这些函数中的每个,节点上可存在对应函数{H1,...,HK},从而产生每个节点的值的向量{H1(Ni),....,HK(Ni)}。在节点上的实际误差函数H(Ni)处于排列测试误差值{H1(Ni),....,HK(Ni)}的上部的P%时,可以通过针对成员关系选择节点来创建集合Stop。可以由用户设定K和P参数(例如,用户考虑节点值为统计离群值的确定程度),典型示例为K=1000且P=0.5%。以类似方式,可以通过考虑函数h的子水平集来针对具有统计低值的节点创建集合Sbottom。针对Stop或Sbottom来写S。
以下描述为如何在一些实施例中进行S的相对密度平滑化。鉴于度量空间(X,d)中的集合S和密度估计器δσ,取决于参数σ,可以从集合S确定局部密度的多少。在一个示例中,高斯核用于定义点p∈X处的密度。
根据感应的密度可定义为:
在此示例中,相对密度Δσ(p,S)是比值保持p和S固定而使σ改变可导致函数赋值给X的每个点,从而在范围σ选项上测量局部密度。是σ中的单调递增函数。测试统计值:
可测量与σ的选项无关的相对密度。测试统计值越高,点p越有可能处于相对高密度的区域中。此测试统计值的背景经验分布可通过对大小#S的集合Si,i=1...K进行排列测试来建立。可通过根据经验分布检查测试统计值是否处于上部的P%中来添加或删除来自S的点。这会产生集合S~。在一个示例中,K=1000且P=0.2%。
对于本文所论述的网络和图形的情况,度量空间可被选择为底层网络G,其中图形距离作为距离度量。测试统计值可通过以步长大小从12到网络直径求黎曼和(Riemannsum)计算得出。S~,U1,....,Uk的连接分量可被识别为群组,而子集可识别为每个Ui中的点。对于模型校正使用给定函数来预测f:X→R和模型f~:X→R的情况,此方法可用来查找点的子集,其中误差函数e(pi)=f(pi)-f~(pi)在统计上为高或低。尤其对于模型f~来说,可形成平均节点误差函数:
并且按照步骤以查找U1,....,Uk
在使用TDA预测的一些实施例中,假定存在给定度量空间(或相似性空间)X以及一些较大度量空间中的X的等距嵌入(例如,具有欧几里德度量的Rn),可从X的等距嵌入的点中提取以预测值。在各种实施例中,针对X存在给定实值函数f,利用实值函数来粗略估计得知的模型。
在此示例中存在欧几里德数据集X,其中具有坐标{x1,...,xn}和函数f:X→R。指示函数{1,x1,...,xn}的集合。可写入A以将X认为是矩阵,其中点作为行,并且特征作为列。具体地说,A可表述为m x(n+1)矩阵,其项aij是值其中j处于0与n之间(包括0和n)。当构建机器学习模型时,可能会希望使预测值f~与待预测的实际值f之间的差最小化。在一些示例中,可取差值的L2-范数,其中是被认为长度向量m=#(X)(mut.mut.f~)的函数f。
假定给定欧几里德数据集X如前述具有函数f:X→R而现在具有覆盖U={Uα}α∈A。函数X→R可由以下公式定义
其中c(x)指示集合#{α|x∈Uα}的基数。函数可形成具有给定覆盖的数据集的一种单位分割。新矩阵定义为A(U),其将会是一个m x t矩阵,其中t((n+1#(A)),并且其中利用整数集{1,2,...,t}对集合Φx A进行识别。对应于元素(j,α)的第i行中的A(U)的项现在等于其中xi是X中的第i个数据点。A(U)可被识别为U-局部化数据矩阵。
在一些实施例中,线性回归用来最小化或减小差的L2-范数:其中是被认为是长度向量m=#(X)的函数f。所得解给出Φ中的函数的线性组合。
在各种实施例中,集合X的U-局部化线性回归是的极小化变量,其中是长度t的向量,其中对应于(j,α)的项是的系数。U-局部化问题的解可更好地运行训练数据。
应了解,可从特征矩阵A学习的许多机器学习模块通过在学习过程中将A(U)代替A而被U-局部化。
应了解,可以以许多方式选择覆盖。举例来说,可使用如本文所描述的网络或图形中的节点作为开放覆盖来选择覆盖。在另一示例中,还可使用例如鲁文方法等网络社区检测算法创建节点群组作为开放覆盖使用来选择覆盖。在另一示例中,可针对具有地面实况f的现有预测模型f~在本文所描述的相对密度方法中使用误差函数来选择覆盖。以此方式查找的子集U1,...,Uk可能不形成空间X的覆盖,因此用U0=X扩充子集列表。在另一示例中,可通过允许用户通过以下方式选择覆盖来选择覆盖:通过由上述相同误差函数对可视化进行着色来选择群组。
进入模型中的特征数可随着覆盖中的集合数线性缩放。取决于缩放能力,应了解,在一些实施例中,群组数被缩减。在缩减的一个示例中,群组可根据群组中的总误差、平均误差、最大误差或误差的相似特征进行排序。经排序的群组可增加到能够获得最大群组数为止。
在一些实施例中,为了预测新数据点p的新数据,来自A的坐标扩展成A(U)的U-局部化坐标。在一些实施例中,确定p属于哪个群组U1,...,Uk。使用原始数据矩阵A,k分类器以一对其余(one-vs-rest)的方式进行训练,从而预测每个Ui中的成员关系。分类器可以是任何标准机器学习算法,例如支持向量机、逻辑回归、随机森林、梯度提升森林(gradientboosted forest)或决策树。
返回到图29,预测模型可随后使用包含数据点和已知结果的测试数据集进行测试。在步骤2910中,检验模块2810可接收测试数据集。测试数据集可包括数据点(例如,行)和特征。测试数据集的特征数可与训练数据集的特征数相似、相同或不同。
在步骤2912中,测试模块2810针对测试数据集的每个新数据点确定新数据点是否是由分组模块2804识别的群组中的一个或更多个组群的成员。确定新数据点是否处于由分组模块2804识别的群组中的一个或更多个群组内可以任何数目的方式进行。在一些实施例中,测试模块2810可训练随机森林分类器或用于每个群组的任何群组分类器。对于每个新的点,测试模块2810可采用随机森林分类器或基于群组的分类器的输出来预测数据点是其成员的群组(如果存在的话)。
在另一实施例中,测试模块2810可确定测试数据集中的数据点相对于训练数据集的数据点和/或数据点的群组(例如,识别为节点、节点的群组的群组,或者由分组模块2804识别的群组)的位置。识别新数据点相对于TDA图形和/或群组的位置的过程关于图32进一步论述。
在步骤2914中,测试模块2810向转换数据集增加新数据点。这可类似于转换数据集的初始形成。在一个示例中,回想起对于由分组模块2804识别的每个群组来说,新的特征集可增加到训练数据集。每个新的特征集的特征数可等于训练数据集的特征数(例如,可包含或可不包含结果T)和测试数据集的特征数。如果来自测试数据集的新数据点不在群组中,则与该群组相关联的特征集针对该数据点可为零或空。如果来自测试数据集的新数据点在群组中,则与该群组相关联的特征集的值可基于来自测试数据集的新数据点的特征的值。举例来说,测试数据集中的数据点的特征的值可复制到与特定群组的特征集相关联的新的转换数据集的部分。在一些实施例中,在来自测试数据集的数据点的特征的值被存储在与特定群组的特征集相关联的新的转换数据集的部分中之前,可对其进行加权或修改。举例来说,如果数据点在多于一个群组中,则在测试数据集的数据点的特征的值被存储在与数据点是其成员的每个特定群组的特征集相关联的新的转换数据集的部分中之前,可基于多个群组的成员关系对其进行加权。对于每个数据点或数据点的集合来说,权重可以是不同的。在一些实施例中,在将为仅一个群组的成员的数据点存储在与特定群组的特征集相关联的新的转换数据集的部分中之前,可不对其进行加权。
应了解,虽然在一些实施例中可能会向转换数据集进行增加,但是存在在其中可以以类似于如本文所论述的方式构建新的转换数据集的其它实施例。
在步骤2916中,测试模块2810将预测模型应用到转换数据集以针对来自测试数据集的新数据点生成预测结果。在步骤2918中,测试模块2810将预测结果与测试数据集中的一个或更多个结果进行比较以确定相似性或差异。
在各种实施例中,预测模型可用来分析数据(例如,而不是测试数据)。举例来说,预测模型可用来对分析数据进行分析以生成预测结果。举例来说,返回到步骤2910,预测分析模块2812可接收分析数据集。分析数据集可包括数据点(例如,行)和特征。分析数据集的特征数可与训练数据集的特征数相似、相同或不同。
在步骤2912中,预测分析模块2812针对分析数据集的每个新数据点确定新数据点是否是由分组模块2804识别的组群中的一个或更多个群组的成员。确定新数据点是否处于由分组模块2804识别的组群中的一个或更多个群组内可以任何数目的方式进行。在一些实施例中,预测分析模块2812可训练随机森林分类器或用于每个群组的任何群组分类器。对于每个新的点来说,预测分析模块2812可采用随机森林分类器或基于群组的分类器的输出来预测数据点是其成员的群组(如果存在的话)。
在另一实施例中,预测分析模块2812可确定分析数据集中的数据点相对于训练数据集的数据点和/或数据点的群组(例如,识别为节点、节点的群组的群组,或者由分组模块2804识别的群组)的位置。
在步骤2914中,预测分析模块2812向转换数据集增加新数据点。这可类似于转换数据集的初始形成。在一个示例中,回想起对于由分组模块2804识别的每个群组来说,新的特征集可增加到训练数据集。每个新的特征集的特征数可等于训练数据集的特征数(例如,可包含或可不包含结果T)和分析数据集的特征数。如果来自分析数据集的新数据点不在群组中,则与该群组相关联的特征集针对该数据点可为零或空。如果来自分析数据集的新数据点在群组中,则与该群组相关联的特征集的值可基于来自分析数据集的新数据点的特征的值。举例来说,分析数据集中的数据点的特征的值可复制到与特定群组的特征集相关联的新的转换数据集的部分。在一些实施例中,在来自分析数据集的数据点的特征的值被存储在与特定群组的特征集相关联的新的转换数据集的部分中之前,可对其进行加权或修改。举例来说,如果数据点在多于一个群组中,则在分析数据集的数据点的特征的值被存储在与数据点是其成员的每个特定群组的特征集相关联的新的转换数据集的部分中之前,可基于多个群组的成员关系对其进行加权。对于每个数据点或数据点的集合来说,权重可以是不同的。在一些实施例中,在将为仅一个群组的成员的数据点存储在与特定群组的特征集相关联的新的转换数据集的部分中之前,可不对其进行加权。
将了解,虽然在一些实施例中可能存在对转换数据集的添加,但也存在在其中可以以如本文相似论述的方式构造新的转换数据集的其它实施例。
在步骤2916中,预测分析模块2812将预测模型应用于转换数据集以针对来自分析数据集的新数据点产生预测结果。
在此论述使用预测分析模块2812和/或预测模型的进一步示例。
图32是在一些实施例中用于相对于TDA图形定位新数据的流程图。本文所描述的用于相对于图形定位新数据的过程在2012年10月9日提交的标题为“用于将新患者信息映射到历史结果以用于治疗辅助的***和方法(Systems and Methods for Mapping NewPatient Information to Historic Outcomes for Treatment Assistance)”的第13/648,237号非临时申请中进一步描述,所述非临时申请以引用的方式并入本文中。为方便起见,将参考金融数据。将了解,用以产生TDA图形的初始数据集可以使用任何数据(例如,生物学数据)。
在步骤3202中,接收含有金融数据的分析数据集。在各种实施例中,分析服务器(例如,图2和3的分析服务器208)的输入模块214可以从银行、金融实体、管制机构(regulator)或(一个或更多个)任何其它来源接收金融数据的分析数据集。金融数据可以指示金融体系、价格、趋势或关于任何金融载体或类似物的估值或与其相关的任何其它信息。
在一些实施例中,分析服务器208可包括新数据距离模块和位置引擎。在步骤3204中,新数据距离模块确定每个点(例如,分析数据集的行)的金融数据与TDA图形的数据点之间的距离。举例来说,在TDA图形的产生中利用的先前数据可以存储在映射数据结构中。可以确定每个数据点的新金融数据与数据结构中先前映射的数据点中的每个之间的距离。
将了解,可以使用任何数目的不同度量或功能以任何数目的方式确定距离。可以确定初始数据集中的数据点(例如,训练数据集中使用)的金融数据与分析数据集的新数据点的金融数据之间的距离。举例来说,可以确定与分析数据集的新数据点相关联的特征集合的金融值和与训练数据集的先前存在的数据点相关联的特征集合的金融值之间的距离。在各种实施例中,可以确定分析数据集的数据点相对于TDA图形的其它数据点(例如,来自训练数据集)的位置。
在步骤3206中,新数据距离模块可以比较每个分组的(例如,由分组模块2804确定的群组的)成员与分析数据集的新数据点(或针对新数据点所确定的距离)之间的距离。新数据点可以位于在距离上最接近新数据点的先前存在的成员的分组中。在一些实施例中,新点位置可以确定为处于含有最接近于新数据点的一个或更多个数据点的分组内(即该分组的其它成员与新数据点具有较长距离)。在一些实施例中,此步骤是可选的。
在各种实施例中,可以针对每个分组确定代表性数据点。举例来说,分组的数据点中的一些或全部可以被平均化或以其它方式组合以产生分组的代表性数据点成员(例如,与数据点相关联的距离和/或金融数据可以被平均化或聚合)。可以确定分析数据集的新数据点与一个或更多个分组的训练数据集的一个或更多个代表性数据点的平均或组合金融数据之间的距离。位置引擎可以基于距离确定新数据点的位置。在一些实施例中,一旦找到新数据点与代表性数据点成员之间的最接近距离,便可以确定新数据点和与最接近的代表性数据点成员相关联的分组的单个数据点成员之间的距离。
在可选的步骤3208中,可以确定具有最接近于新数据点(基于所确定的距离)的数据点成员中的一个或更多个的分组的直径。在一个示例中,计算最接近于新数据点的数据点成员的分组的直径。分组的直径可以是当与分组的所有数据点成员之间的距离相比时最远离彼此的两个数据点成员之间的距离。如果新数据点与分组的最接近数据点成员之间的距离小于分组的直径,则新数据点可位于分组内。如果新数据点与分组的最接近数据点成员之间的距离大于分组的直径,则新数据点可在分组外部(例如,可以识别和/或在图形上显示新分组,其中新数据点作为分组的单个数据点成员)。如果新数据点与分组的最接近数据点成员之间的距离等于分组的直径,则新数据点可以置于分组的内或分组外。
将了解,在确定新数据点位置是位于分组内还是分组外时不需要分组的直径的确定。在各种实施例中,确定成员数据点之间以及成员数据点与新数据点之间的距离的分布。用以在分组内或分组外定位新数据点的决策可以基于该分布。举例来说,如果距离的分布中存在间隙,则新数据点可以与分组分离(例如,作为新分组)。在一些实施例中,如果间隙大于预先存在的阈值(例如,由用户、数据科学家建立或先前编程),则新数据点可以置于相对于最接近成员数据点的分组放置的新分组中。在可视化的产生中可以利用计算候选成员数据点的距离的分布以确定是否可存在两个或更多个分组的过程。将了解,可存在任何数目的方式来确定新数据点是否应当包含于其它数据点成员的分组内。
在步骤3210中,位置引擎确定新数据点相对于成员数据点和/或分组的位置。新位置可以是相对于所确定的新数据点与先前数据点之间距离。新数据点的位置可以是先前存在的分组的部分或者可以形成新分组。
图33到38涉及产生预测模型且使用预测模型预测与金融数据相关的结果。虽然以下实施例是针对市场条件分析和流动性预测,但将了解,可以使用任何种类数据以使用本文所描述的***和/或方法创建预测模型和/或计算预测结果。图33是关于以下论述的示例的一般概述的图表。举例来说,在步骤3302中可以识别和/或计算所导出特征以产生金融数据集。举例来说,数据模块2802可以接收金融数据以产生金融数据集和/或接收金融数据步(step)。金融数据集可以包含任何金融数据,包含例如来自和/或关于股价指数(例如,标准普尔500(S&P 500)、纳斯达克(NASDAQ)、欧洲斯托克(Euro Stoxx)、日经(Nikkei))、商品(例如,原油、天然气、金、铜、玉米、麦)、产量曲线(例如,US财政部、AAA公司、BAA公司)、货币(例如,欧元、英磅、加拿大元、日元、美元)和/或经济数据(例如,失业率、美元指数和/或其它先行指标)的信息。
图34描绘金融数据的结构的示例。在此示例中,存在2,600行,表示10+年的每日交易数据和300个特征。图35描绘在此示例中例如交易量等所导出特征。在此示例中,当日(intraday)的量分布被正规化,且此信息可用以产生和/或被包含作为金融数据集中的特征。交易量在一些实施例中可以用作测量流动性的代理。每行中的量总共100%以及当日1分钟量分布可以按顺序流示出对应于尖峰的峰值和谷值。
可以产生TDA网络(可视化或未显示的图形)。TDA网络接着可用以找到相似历史日期。在一个示例中,分析服务器208在金融数据集的X'的行上构造TDA网络Г。可以使用例如关于图8所论述的本文所描述的***和方法产生TDA网络。度量、透镜、分辨率和增益的选择可以随着数据的种类而变化,且可以或可以不用结果来构造。每个节点可以对应于数据点的集合(即,X'的行的集合)。对于行ρ和节点v,当ρ包含在与v关联的集合中时我们写成ρ∈v。
图36描绘在此示例中的TDA网络。
分组模块2804可以使用TDA网络(例如,使用图36中描绘的TDA网络)将金融数据集的数据点分组。举例来说,分组模块2804可以构造Г的覆盖(即,Г的顶点的集合V(Г)的子集的有限族U={Uα}α∈A),以使得
可以实行分组而不参考任何模型。图34描绘在此示例中以相似日期分组的数据。
如本文相似地论述,转换模块2806可以基于金融数据集和所识别群组而产生第一转换数据集。在一个示例中,金融数据集的转换是基于覆盖U。示意性地,矩阵可以如下。
[X′(α1)|X′(α2)|...|X′(αK)|T]
构造的第二版本可以包含矩阵[X′|X′(α1)|X′(α2)|...|X′(αK)|T]。
预测模块2702可以基于对由数据矩阵组成的数据进行操作的任何建模方案构造预测模型。举例来说,可以将机器学习模型可应用于第一转换数据集。将了解,可以将任何不同机器学习模型(或多个模型)应用于第一转换数据集。举例来说,如本文进一步所论述可以应用线性回归机器学习模型、多项式回归机器学习模型、逻辑回归机器学习模型、决策树机器学习模型或随机森林机器学习模型。
这是新数据矩阵,因此可以应用从数据矩阵产生模型的任何建模方法,且获得新预测模型。
在图33的步骤3304中,使用新金融数据产生金融分析数据集。由分组模块2804识别的先前所识别群组(例如,通过相似历史日期分组)可用以产生第二转换数据集。第二转换数据集可包含第一转换数据集以及来自金融分析数据集的数据点的信息。图37描绘在此示例中基于相似日期的金融数据的分组。
举例来说,预测分析模块2812可以针对金融分析数据集的每个新数据点确定该新数据点是否为由分组模块2804识别的群组中的一个或更多个组群的成员。确定新数据点是否在由分组模块2804识别的群组中的一个或更多个组群内可以如本文所论述的任何数目的方式完成。
转换模块2806可以将来自金融分析数据集的新数据点添加到第二转换数据集。这可以类似于第一转换数据集的初始创建。在一个示例中,回想对于由分组模块2804识别的每个群组,可以将新的特征集合添加到训练数据集。每个新的特征集合的特征的数目可以等于初始数据集的特征和测试数据集的特征的数目。如果来自金融分析数据集的新数据点不在群组中,则与该群组相关联的特征集合对于该数据点可以是零或空。如果来自金融分析数据集的新数据点在群组中,则与该群组相关联的特征集合的值可以基于来自金融分析数据集的新数据点的特征的值。举例来说,可以将金融分析数据集中的数据点的特征的值复制到与特定群组的特征集合相关联的新第二转换数据集的部分中。在一些实施例中,来自金融分析数据集的数据点的特征的值可以在存储于与特定群组的特征集合相关联的新转换数据集的部分中之前经加权或修改。举例来说,如果数据点在多于一个群组中,则金融分析数据集的数据点的特征的值可以在存储于与该数据点是其成员的每个特定群组的特征集合相关联的新第二转换数据集的部分中之前基于多个群组的成员关系被加权。加权对于每个数据点或数据点的集合可以不同。在一些实施例中,作为仅一个群组的成员的数据点在存储于与特定群组的特征集合相关联的新转换数据集的部分中之前可以不进行加权。
在图33的步骤3306中,可以使用预测模型产生针对新数据具有用于历史日期的量简况(volume profile)数据的新预报。在一个示例中,预测分析模块2812可以将预测模型应用于第二转换数据集以针对来自金融分析数据集的新数据点产生预测结果。图38描绘从预测模块的输出(例如,预测结果)。
预测结果可以是与来自金融分析数据集的数据相关联的预测结果。预测结果可以是识别预测结果的报告和/或识别或提供来自金融分析数据集的上下文的任何信息。在一些实施例中,预测结果可以是图表或图形。在各种实施例中,预测分析模块2812可以产生消息以将预测结果提供到另一数字装置或用户。将了解,预测分析模块2812可以将任何或所有预测结果与一个或更多个阈值(例如,由用户或数字装置产生)进行比较以当一个或更多个预测结果大于、小于或等于一个或更多个结果时发送消息或警示。
上述功能和组件可包括存储于存储介质(例如,计算机可读存储介质)上的指令。计算机可读存储介质可以是非暂时性的。指令可由处理器检索且执行。指令的一些示例是软件、程序代码和固件。存储介质的一些示例是存储器装置、磁带、磁盘、集成电路和服务器。指令在由处理器(例如,数据处理装置)执行时可操作以引导处理器根据本发明的实施例操作。所属领域的技术人员熟悉指令、(一个或更多个)处理器和存储介质。
上文已经参考示例实施例描述了本(一个或更多个)发明。很明显,可以在不脱离本(一个或更多个)发明的较宽范围的情况下做出各种修改且可使用其它实施例。因此,对示例实施例的这些和其它变化将由本(一个或更多个)发明涵盖。

Claims (21)

1.一种包含可执行指令的非暂时性计算机可读介质,所述指令可由处理器执行以执行方法,所述方法包括:
接收具有多个节点和多个边缘的网络,所述多个节点中的节点中的每个包括表示训练数据点的至少一个子集的成员,所述多个边缘中的边缘中的每个连接共享所述训练数据点中的至少一个数据点的节点,所述训练数据集包含行和列,每行定义所述训练数据集的数据点,且每列定义特征,所述训练数据集包含初始数目个列,每列包含与多个特征中的一个特征相关联的值;
将所述训练数据集的所述数据点分组为多个群组,所述多个群组中的每个群组包含所述训练数据集的数据点的不同子集,所述训练数据集的每个数据点为所述多个群组中的至少一个群组的成员;
创建第一转换数据集,所述第一转换数据集包含所述训练数据集以及多个特征子集,所述多个特征子集中的每个与所述多个群组中的至少一个群组相关联,如果用于特定群组的特定特征子集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述训练数据集中的所述特定数据点的值;以及
将机器学习模型应用于所述第一转换数据集以生成预测模型。
2.根据权利要求1所述的非暂时性计算机可读介质,所述方法进一步包括:
接收分析数据集;
将所述分析数据集的数据点分组到所述多个群组中的一个或更多个群组中;
创建第二转换数据集,所述第二转换数据集包含所述分析数据集以及所述多个特征子集,所述多个特征子集中的每个与所述多个群组中的所述至少一个群组相关联,如果用于特定群组的特定特征子集的所述分析数据集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述分析数据集中的所述特定数据点的值;
将所述预测模型应用于所述第二转换数据集以生成预测结果;以及
生成指示所述预测结果中的一个或更多个的报告。
3.根据权利要求2所述的非暂时性计算机可读介质,所述方法进一步包括比较所述预测结果与已知结果以评估所述预测模型的质量。
4.根据权利要求1所述的非暂时性计算机可读介质,其中具有所述多个节点和所述多个边缘的所述网络是应用于所述训练数据集的拓扑数据分析的结果。
5.根据权利要求1所述的非暂时性计算机可读介质,其中具有所述多个节点和所述多个边缘的所述网络是通过以下操作生成:
接收所述训练数据集;
生成参考空间;
使用至少一个过滤器将所述训练数据的所述数据点映射到所述参考空间中;
基于分辨率生成覆盖;
基于度量和所述训练数据集的数据点来对所述覆盖中的数据进行聚类;
基于所聚类的数据识别节点;以及
如果节点共享来自所述训练数据集的成员数据点,则识别节点之间的边缘。
6.根据权利要求1所述的非暂时性计算机可读介质,其中如果所述训练数据集的特定数据点不是特定群组的成员,则用于所述特定群组的特定特征子集的所述特定数据点的值为零。
7.根据权利要求1所述的非暂时性计算机可读介质,其中如果所述训练数据集的特定数据点不是特定群组的成员,则用于所述特定群组的特定特征子集的所述特定数据点的值为空。
8.根据权利要求1所述的非暂时性计算机可读介质,其中用于特定数据点为其成员的特定群组的特定特征子集的所述特定数据点的所述值被加权。
9.根据权利要求8所述的非暂时性计算机可读介质,其中对用于所述特定数据点的所述值的加权至少部分地取决于所述特定数据点为所述多个群组中的多少个群组的成员。
10.根据权利要求1所述的非暂时性计算机可读介质,其中所述机器学习模型是选自由以下组成的群组:线性回归机器学习模型、多项式回归机器学习模型、逻辑回归机器学习模型,和随机森林机器学习模型。
11.一种方法,其包括:
接收具有多个节点和多个边缘的网络,所述多个节点中的节点中的每个包括表示训练数据点的至少一个子集的成员,所述多个边缘中的边缘中的每个连接共享所述训练数据点中的至少一个数据点的节点,所述训练数据集包含行和列,每行定义所述训练数据集的数据点,且每列定义特征,所述训练数据集包含初始数目个列,每列包含与多个特征中的一个特征相关联的值;
将所述训练数据集的所述数据点分组为多个群组,所述多个群组中的每个群组包含所述训练数据集的数据点的不同子集,所述训练数据集的每个数据点为所述多个群组中的至少一个群组的成员;
创建第一转换数据集,所述第一转换数据集包含所述训练数据集以及多个特征子集,所述多个特征子集中的每个与所述多个群组中的至少一个群组相关联,如果用于特定群组的特定特征子集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述训练数据集中的所述特定数据点的值;以及
将机器学习模型应用于所述第一转换数据集以生成预测模型。
12.根据权利要求11所述的方法,其进一步包括:
接收分析数据集;
将所述分析数据集的数据点分组到所述多个群组中的一个或更多个群组中;
创建第二转换数据集,所述第二转换数据集包含所述分析数据集以及所述多个特征子集,所述多个特征子集中的每个与所述多个群组中的所述至少一个群组相关联,如果用于特定群组的特定特征子集的所述分析数据集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述分析数据集中的所述特定数据点的值;
将所述预测模型应用于所述第二转换数据集以生成预测结果;以及
生成指示所述预测结果中的一个或更多个的报告。
13.根据权利要求12所述的方法,其进一步包括比较所述预测结果与已知结果以评估所述预测模型的质量。
14.根据权利要求11所述的方法,其中具有所述多个节点和所述多个边缘的所述网络是应用于所述训练数据集的拓扑数据分析的结果。
15.根据权利要求11所述的方法,其中具有所述多个节点和所述多个边缘的所述网络是通过以下操作生成:
接收所述训练数据集;
生成参考空间;
使用至少一个过滤器将所述训练数据的所述数据点映射到所述参考空间中;
基于分辨率生成覆盖;
基于度量和所述训练数据集的数据点来对所述覆盖中的数据进行聚类;
基于所聚类的数据识别节点;以及
如果节点共享来自所述训练数据集的成员数据点,则识别节点之间的边缘。
16.根据权利要求11所述的方法,其中如果所述训练数据集的特定数据点不是特定群组的成员,则用于所述特定群组的特定特征子集的所述特定数据点的值为零。
17.根据权利要求11所述的方法,其中如果所述训练数据集的特定数据点不是特定群组的成员,则用于所述特定群组的特定特征子集的所述特定数据点的值为空。
18.根据权利要求11所述的方法,其中用于特定数据点为其成员的特定群组的特定特征子集的所述特定数据点的所述值被加权。
19.根据权利要求18所述的方法,其中对用于所述特定数据点的所述值的加权至少部分地取决于所述特定数据点为所述多个群组中的多少个群组的成员。
20.根据权利要求11所述的方法,其中所述机器学习模型是选自由以下组成的群组:线性回归机器学习模型、多项式回归机器学习模型、逻辑回归机器学习模型,和随机森林机器学习模型。
21.一种***,其包括:
处理器;以及
存储器,所述存储器包括指令,所述指令可由所述处理器执行以执行以下步骤:
接收具有多个节点和多个边缘的网络,所述多个节点中的节点中的每个包括表示训练数据点的至少一个子集的成员,所述多个边缘中的边缘中的每个连接共享所述训练数据点中的至少一个数据点的节点,所述训练数据集包含行和列,每行定义所述训练数据集的数据点,且每列定义特征,所述训练数据集包含初始数目个列,每列包含与多个特征中的一个特征相关联的值;
将所述训练数据集的所述数据点分组为多个群组,所述多个群组中的每个群组包含所述训练数据集的数据点的不同子集,所述训练数据集的每个数据点为所述多个群组中的至少一个群组的成员;
创建第一转换数据集,所述第一转换数据集包含所述训练数据集以及多个特征子集,所述多个特征子集中的每个与所述多个群组中的至少一个群组相关联,如果用于特定群组的特定特征子集的特定数据点为所述特定群组的成员,则所述特定数据点的值是基于所述训练数据集中的所述特定数据点的值;以及
将机器学习模型应用于所述第一转换数据集以生成预测模型。
CN201680026921.2A 2015-03-11 2016-03-11 用于使用预测学习模型预测结果的***和方法 Pending CN107924384A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562131767P 2015-03-11 2015-03-11
US62/131,767 2015-03-11
PCT/US2016/022224 WO2016145423A1 (en) 2015-03-11 2016-03-11 Systems and methods for predicting outcomes using a prediction learning model

Publications (1)

Publication Number Publication Date
CN107924384A true CN107924384A (zh) 2018-04-17

Family

ID=56880529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680026921.2A Pending CN107924384A (zh) 2015-03-11 2016-03-11 用于使用预测学习模型预测结果的***和方法

Country Status (4)

Country Link
US (1) US11868851B2 (zh)
EP (1) EP3268870A4 (zh)
CN (1) CN107924384A (zh)
WO (1) WO2016145423A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109036556A (zh) * 2018-08-29 2018-12-18 王雁 一种基于机器学习诊断圆锥角膜病例的方法
CN109366485A (zh) * 2018-09-04 2019-02-22 南宁学院 一种在线机器学习的现场控制方法
CN109409767A (zh) * 2018-11-12 2019-03-01 广东电网有限责任公司 一种排班表生成方法、***及相关装置
CN109859477A (zh) * 2019-03-15 2019-06-07 同盾控股有限公司 一种拥堵数据的确定方法和装置
CN110311863A (zh) * 2019-05-09 2019-10-08 北京邮电大学 一种路由路径确定方法及装置
CN110569387A (zh) * 2019-08-20 2019-12-13 清华大学 基于深度哈希算法的雷达-图像跨模态检索方法
CN110702438A (zh) * 2019-09-23 2020-01-17 天津大学 一种离心式冷水机组与新风***联合故障诊断方法
CN111274234A (zh) * 2020-01-19 2020-06-12 温州市中鼎网络科技有限公司 一种基于数据分析的机器打分***及方法
CN111951810A (zh) * 2019-05-14 2020-11-17 国际商业机器公司 高质量非并行多对多语音转换
CN112036979A (zh) * 2020-08-26 2020-12-04 华东理工大学 评分预测方法、推荐方法、处理装置及存储介质
CN112086130A (zh) * 2020-08-13 2020-12-15 东南大学 一种基于测序和数据分析的肥胖风险预测装置及其预测方法
CN112309509A (zh) * 2019-10-15 2021-02-02 腾讯科技(深圳)有限公司 化合物性质预测方法、装置、计算机设备及可读存储介质
CN112585688A (zh) * 2018-06-19 2021-03-30 Dna家族网有限责任公司 过滤遗传网络以发现感兴趣的种群
CN112712851A (zh) * 2021-01-15 2021-04-27 湖南大学 一种基于递归社区检测的癌症驱动模块预测方法
CN113163332A (zh) * 2021-04-25 2021-07-23 北京邮电大学 基于度量学习的路标图着色无人机节能续航数据收集方法
CN113238375A (zh) * 2021-04-20 2021-08-10 北京理工大学 一种基于深度学习的自由曲面成像***初始结构生成方法
CN113659936A (zh) * 2020-05-12 2021-11-16 大唐移动通信设备有限公司 一种线性化模型的分段点确定方法及装置
WO2022016299A1 (zh) * 2020-07-20 2022-01-27 陈永聪 一种建立强人工智能的方法
WO2022056841A1 (en) * 2020-09-18 2022-03-24 Baidu.Com Times Technology (Beijing) Co., Ltd. Neural architecture search via similarity-based operator ranking

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014068541A2 (en) * 2012-11-05 2014-05-08 Systemiclogic Innovation Agency (Pty) Ltd Innovation management
US11488040B2 (en) 2014-05-22 2022-11-01 The Bank Of New York Mellon System and methods for prediction communication performance in networked systems
US11100138B2 (en) * 2015-09-11 2021-08-24 Ayasdi Ai Llc Network representation for evolution of clusters and groups
US10387787B1 (en) 2015-10-28 2019-08-20 Intuit Inc. Method and system for providing personalized user experiences to software system users
US11093553B2 (en) * 2015-12-17 2021-08-17 Business Objects Software Ltd Graph database visualization by node and edge type
US10373064B2 (en) 2016-01-08 2019-08-06 Intuit Inc. Method and system for adjusting analytics model characteristics to reduce uncertainty in determining users' preferences for user experience options, to support providing personalized user experiences to users with a software system
US10861106B1 (en) 2016-01-14 2020-12-08 Intuit Inc. Computer generated user interfaces, computerized systems and methods and articles of manufacture for personalizing standardized deduction or itemized deduction flow determinations
US11069001B1 (en) 2016-01-15 2021-07-20 Intuit Inc. Method and system for providing personalized user experiences in compliance with service provider business rules
US11030631B1 (en) 2016-01-29 2021-06-08 Intuit Inc. Method and system for generating user experience analytics models by unbiasing data samples to improve personalization of user experiences in a tax return preparation system
US10789549B1 (en) * 2016-02-25 2020-09-29 Zillow, Inc. Enforcing, with respect to changes in one or more distinguished independent variable values, monotonicity in the predictions produced by a statistical model
US10621597B2 (en) 2016-04-15 2020-04-14 Intuit Inc. Method and system for updating analytics models that are used to dynamically and adaptively provide personalized user experiences in a software system
US10621677B2 (en) * 2016-04-25 2020-04-14 Intuit Inc. Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system
WO2017186774A1 (en) * 2016-04-26 2017-11-02 Pilab S.A. Systems and methods for querying databases
US10346927B1 (en) 2016-06-06 2019-07-09 Intuit Inc. Method and system for providing a personalized user experience in a tax return preparation system based on predicted life events for a user
US10776569B2 (en) * 2016-07-29 2020-09-15 International Business Machines Corporation Generation of annotated computerized visualizations with explanations for areas of interest
WO2018057701A1 (en) 2016-09-21 2018-03-29 Equifax, Inc. Transforming attributes for training automated modeling systems
US10528563B2 (en) * 2016-12-16 2020-01-07 Futurewei Technologies, Inc. Predictive table pre-joins in large scale data management system using graph community detection
EP4148593A1 (en) * 2017-02-27 2023-03-15 QlikTech International AB Methods and systems for extracting and visualizing patterns in large-scale data sets
US10943309B1 (en) 2017-03-10 2021-03-09 Intuit Inc. System and method for providing a predicted tax refund range based on probabilistic calculation
US11461105B2 (en) * 2017-04-07 2022-10-04 Intel Corporation Methods and apparatus for deep learning network execution pipeline on multi-processor platform
US20180329951A1 (en) * 2017-05-11 2018-11-15 Futurewei Technologies, Inc. Estimating the number of samples satisfying the query
WO2019006213A1 (en) * 2017-06-28 2019-01-03 Ayasdi, Inc. SYSTEMS AND METHODS FOR TOPOLOGICAL DATA ANALYSIS USING NEAREST NEIGHBORS
WO2019032502A1 (en) * 2017-08-09 2019-02-14 Nec Laboratories America, Inc. KNOWLEDGE TRANSFER SYSTEM FOR ACCELERATING INVARIANT NETWORK LEARNING
US20190180381A1 (en) * 2017-12-12 2019-06-13 VFD Consulting, Inc. Reference interval generation
US11010449B1 (en) 2017-12-12 2021-05-18 VFD Consulting, Inc. Multi-dimensional data analysis and database generation
WO2019182590A1 (en) * 2018-03-21 2019-09-26 Visa International Service Association Automated machine learning systems and methods
US11468024B2 (en) * 2018-03-27 2022-10-11 Sap Se Structural data matching using neural network encoders
US20210012244A1 (en) * 2018-03-30 2021-01-14 Nec Solution Innovators, Ltd. Prediction system, model generation system, method, and program
US10529100B2 (en) * 2018-04-10 2020-01-07 Vmware, Inc. Interaction-driven format for graph visualization
US10761952B2 (en) 2018-04-13 2020-09-01 International Business Machines Corporation Intelligent failover migration across multiple high availability stacks based on quality of prior failover migrations
US10951689B1 (en) * 2018-06-04 2021-03-16 Massachusetts Mutual Life Insurance Company Electronic device allocation and routing
US10635939B2 (en) * 2018-07-06 2020-04-28 Capital One Services, Llc System, method, and computer-accessible medium for evaluating multi-dimensional synthetic data using integrated variants analysis
CN109189781B (zh) * 2018-07-31 2022-03-29 华为技术有限公司 一种车联网知识库表示方法,装置及***
US10901969B2 (en) * 2018-08-14 2021-01-26 Development Guild DDI, Inc. System and method for facilitating an objective-oriented data structure and an objective via the data structure
US11132721B1 (en) * 2018-08-28 2021-09-28 Amazon Technologies, Inc. Interest based advertising inside a content delivery network
CN109582529A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种报警阈值的设置方法及装置
US11449748B2 (en) * 2018-10-26 2022-09-20 Cisco Technology, Inc. Multi-domain service assurance using real-time adaptive thresholds
CN109474756B (zh) * 2018-11-16 2020-09-22 国家计算机网络与信息安全管理中心 一种基于协同网络表示学习的电信异常检测方法
CN109800887B (zh) * 2018-12-28 2021-01-22 东软集团股份有限公司 预测流程模型的生成方法、装置、存储介质和电子设备
US11403327B2 (en) * 2019-02-20 2022-08-02 International Business Machines Corporation Mixed initiative feature engineering
CN111626311B (zh) * 2019-02-27 2023-12-08 京东科技控股股份有限公司 一种异构图数据处理方法和装置
JP7088871B2 (ja) * 2019-03-29 2022-06-21 ファナック株式会社 検査装置、検査システム、及びユーザインタフェース
CN114270336A (zh) * 2019-08-22 2022-04-01 西门子(中国)有限公司 用于对数据点进行标注的方法和装置
CN110827921B (zh) * 2019-11-12 2022-06-14 玉林师范学院 一种单细胞聚类方法、装置、电子设备及存储介质
CN110867254A (zh) * 2019-11-18 2020-03-06 北京市商汤科技开发有限公司 预测方法及装置、电子设备和存储介质
KR20210063508A (ko) * 2019-11-22 2021-06-02 삼성디스플레이 주식회사 표시 장치 제조 방법
US11797883B2 (en) 2020-03-04 2023-10-24 Cisco Technology, Inc. Using raw network telemetry traces to generate predictive insights using machine learning
CN111611240A (zh) * 2020-04-17 2020-09-01 第四范式(北京)技术有限公司 执行自动机器学习过程的方法、装置及设备
US11496386B2 (en) * 2020-11-18 2022-11-08 Hewlett Packard Enterprise Development Lp Systems and methods for identifying correlations of certain scenarios to performance of network communications
US11841925B1 (en) * 2020-12-10 2023-12-12 Amazon Technologies, Inc. Enabling automatic classification for multi-label classification problems with label completion guarantees
WO2022162343A1 (en) * 2021-01-26 2022-08-04 Benevolentai Technology Limited Entity selection metrics
CN112949210A (zh) * 2021-03-31 2021-06-11 上海电机学院 一种基于ut变换和宽度学习的微电网可再生能源预测方法
CN113345538B (zh) * 2021-06-23 2022-09-30 北京理工大学重庆创新中心 一种基于动态选取训练集的材料性能预测方法
CN114548582B (zh) * 2022-02-28 2024-05-31 西安电子科技大学 动态社交网络社区演化预测方法、***、存储介质及设备
US11899754B2 (en) * 2022-04-13 2024-02-13 Dell Products L.P. ROI-based data content graph for wide data management
CN114927215B (zh) * 2022-04-27 2023-08-25 苏州大学 基于体表点云数据直接预测肿瘤呼吸运动的方法及***
CN117828536B (zh) * 2024-03-04 2024-06-11 粤港澳大湾区数字经济研究院(福田) 节点交互的预测方法、模型、终端及介质

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226408B1 (en) * 1999-01-29 2001-05-01 Hnc Software, Inc. Unsupervised identification of nonlinear data cluster in multidimensional data
US7970718B2 (en) * 2001-05-18 2011-06-28 Health Discovery Corporation Method for feature selection and for evaluating features identified as significant for classifying data
US6944602B2 (en) * 2001-03-01 2005-09-13 Health Discovery Corporation Spectral kernels for learning machines
US7305373B1 (en) * 2002-12-10 2007-12-04 Massachusetts Institute Of Technology Incremental reduced error pruning
EP1652133A4 (en) * 2003-07-09 2009-06-10 Raptor International Inc METHOD AND SYSTEM FOR DATA ANALYSIS USING NEURONAL NETWORKS
US7283982B2 (en) * 2003-12-05 2007-10-16 International Business Machines Corporation Method and structure for transform regression
US20050209785A1 (en) * 2004-02-27 2005-09-22 Wells Martin D Systems and methods for disease diagnosis
US8325748B2 (en) * 2005-09-16 2012-12-04 Oracle International Corporation Fast vector quantization with topology learning
WO2007147166A2 (en) * 2006-06-16 2007-12-21 Quantum Leap Research, Inc. Consilence of data-mining
US8180581B2 (en) * 2007-08-31 2012-05-15 Dh Technologies Development Pte. Ltd. Systems and methods for identifying correlated variables in large amounts of data
CN101359372B (zh) * 2008-09-26 2011-05-11 腾讯科技(深圳)有限公司 分类器的训练方法及装置、识别敏感图片的方法及装置
US20140297642A1 (en) * 2009-02-10 2014-10-02 Ayasdi, Inc. Systems and methods for mapping patient data from mobile devices for treatment assistance
US8972899B2 (en) * 2009-02-10 2015-03-03 Ayasdi, Inc. Systems and methods for visualization of data analysis
US8407029B2 (en) * 2009-10-01 2013-03-26 Xerox Corporation Unified graph matching in euclidean spaces and applications to image comparison and retrieval
US8655805B2 (en) * 2010-08-30 2014-02-18 International Business Machines Corporation Method for classification of objects in a graph data stream
US8560477B1 (en) * 2010-10-08 2013-10-15 Google Inc. Graph-based semi-supervised learning of structured tagging models
US8989514B2 (en) * 2011-02-03 2015-03-24 Voxeleron Llc Method and system for image analysis and interpretation
US20140233826A1 (en) * 2011-09-27 2014-08-21 Board Of Regents Of The University Of Texas System Systems and methods for automated screening and prognosis of cancer from whole-slide biopsy images
WO2013055704A1 (en) * 2011-10-10 2013-04-18 Ayasdi, Inc. Systems and methods for mapping new patient information to historic outcomes for treatment assistance
US9633315B2 (en) * 2012-04-27 2017-04-25 Excalibur Ip, Llc Method and system for distributed machine learning
US9135399B2 (en) * 2012-05-25 2015-09-15 Echometrics Cardiologists, Pc Determining disease state of a patient by mapping a topological module representing the disease, and using a weighted average of node data
EP3582147A1 (en) * 2012-06-12 2019-12-18 Tata Consultancy Services Limited Identification of marker features in multi-dimensional data
CN103544176B (zh) * 2012-07-13 2018-08-10 百度在线网络技术(北京)有限公司 用于生成多个页面所对应的页面结构模板的方法和设备
US10311085B2 (en) * 2012-08-31 2019-06-04 Netseer, Inc. Concept-level user intent profile extraction and applications
US9275483B2 (en) * 2012-09-07 2016-03-01 Palo Alto Research Center Incorporated Method and system for analyzing sequential data based on sparsity and sequential adjacency
US9680915B2 (en) * 2012-09-12 2017-06-13 Infosys Limited Methods for clustering networks based on topology discovery and devices thereof
US9720998B2 (en) * 2012-11-19 2017-08-01 The Penn State Research Foundation Massive clustering of discrete distributions
EP2962101A4 (en) * 2013-02-28 2016-10-19 Progyny Inc APPARATUS, METHOD AND SYSTEM FOR CLASSIFYING HUMAN EMBRYONIC CELLS FROM IMAGES
US20140272914A1 (en) 2013-03-15 2014-09-18 William Marsh Rice University Sparse Factor Analysis for Learning Analytics and Content Analytics
EP3004383B1 (en) * 2013-05-24 2019-04-24 Sequenom, Inc. Methods for non-invasive assessment of genetic variations using area-under-curve (auc) analysis
US9489373B2 (en) * 2013-07-12 2016-11-08 Microsoft Technology Licensing, Llc Interactive segment extraction in computer-human interactive learning
US9245233B2 (en) * 2013-07-22 2016-01-26 International Business Machines Corporation Automatic detection of anomalies in graphs
US9348947B2 (en) * 2013-07-26 2016-05-24 Helynx, Inc. Systems and methods for visualizing and manipulating graph databases
US10579925B2 (en) * 2013-08-26 2020-03-03 Aut Ventures Limited Method and system for predicting outcomes based on spatio/spectro-temporal data
US9336186B1 (en) * 2013-10-10 2016-05-10 Google Inc. Methods and apparatus related to sentence compression
US9489639B2 (en) * 2013-11-13 2016-11-08 Microsoft Technology Licensing, Llc Memory facilitation using directed acyclic graphs
WO2015084968A1 (en) * 2013-12-03 2015-06-11 University Of Massachusetts System and methods for predicting probable relationships between items
WO2015099810A1 (en) * 2013-12-29 2015-07-02 Hewlett-Packard Development Company, L.P. Learning graph
US9430830B2 (en) * 2014-01-30 2016-08-30 Case Western Reserve University Spatially aware cell cluster (SPACCL) graphs
US10572817B2 (en) * 2014-03-19 2020-02-25 Peopleconnect, Inc. Graph-based organization entity resolution
US10157429B2 (en) * 2014-03-19 2018-12-18 Peopleconnect, Inc. Fast and scalable connected component computation
US9547828B2 (en) * 2014-05-14 2017-01-17 Cisco Technology, Inc. Hierarchical hybrid batch-incremental learning
US10255355B2 (en) * 2014-05-28 2019-04-09 Battelle Memorial Institute Method and system for information retrieval and aggregation from inferred user reasoning
US9892370B2 (en) * 2014-06-12 2018-02-13 Sas Institute Inc. Systems and methods for resolving over multiple hierarchies
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US10229520B2 (en) * 2014-06-30 2019-03-12 Nec Corporation Feature-value display system, feature-value display method, and feature-value display program
US9886670B2 (en) * 2014-06-30 2018-02-06 Amazon Technologies, Inc. Feature processing recipes for machine learning
US9614547B2 (en) * 2014-06-30 2017-04-04 Sandisk Technologies Llc Multi-stage decoder
US10452992B2 (en) * 2014-06-30 2019-10-22 Amazon Technologies, Inc. Interactive interfaces for machine learning model evaluations
US10339465B2 (en) * 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
CN107076746B (zh) * 2014-08-14 2020-05-29 米密德诊断学有限公司 使用流形和超平面进行生物学数据的计算机分析
SG10201405182WA (en) * 2014-08-25 2016-03-30 Univ Singapore Technology & Design Method and system
WO2016033104A1 (en) * 2014-08-25 2016-03-03 Sunstone Analytics Customizable machine learning models
US10120956B2 (en) * 2014-08-29 2018-11-06 GraphSQL, Inc. Methods and systems for distributed computation of graph data
US9747551B2 (en) * 2014-09-29 2017-08-29 Pivotal Software, Inc. Determining and localizing anomalous network behavior
US20160261544A1 (en) * 2015-03-02 2016-09-08 Linkedln Corporation Increasing interaction between clusters with low connectivity in a social network
US9330138B1 (en) * 2015-09-18 2016-05-03 Linkedin Corporation Translating queries into graph queries using primitives
WO2017059012A1 (en) * 2015-09-29 2017-04-06 Skytree, Inc. Exporting a transformation chain including endpoint of model for prediction

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112585688A (zh) * 2018-06-19 2021-03-30 Dna家族网有限责任公司 过滤遗传网络以发现感兴趣的种群
CN109036556B (zh) * 2018-08-29 2021-06-04 王雁 一种基于机器学习诊断圆锥角膜病例的方法
CN109036556A (zh) * 2018-08-29 2018-12-18 王雁 一种基于机器学习诊断圆锥角膜病例的方法
CN109366485B (zh) * 2018-09-04 2021-09-10 南宁学院 一种在线机器学习的现场控制方法
CN109366485A (zh) * 2018-09-04 2019-02-22 南宁学院 一种在线机器学习的现场控制方法
CN109409767A (zh) * 2018-11-12 2019-03-01 广东电网有限责任公司 一种排班表生成方法、***及相关装置
CN109859477A (zh) * 2019-03-15 2019-06-07 同盾控股有限公司 一种拥堵数据的确定方法和装置
CN110311863A (zh) * 2019-05-09 2019-10-08 北京邮电大学 一种路由路径确定方法及装置
CN111951810A (zh) * 2019-05-14 2020-11-17 国际商业机器公司 高质量非并行多对多语音转换
CN110569387B (zh) * 2019-08-20 2020-12-11 清华大学 基于深度哈希算法的雷达-图像跨模态检索方法
CN110569387A (zh) * 2019-08-20 2019-12-13 清华大学 基于深度哈希算法的雷达-图像跨模态检索方法
CN110702438B (zh) * 2019-09-23 2020-09-18 天津大学 一种离心式冷水机组与新风***联合故障诊断方法
CN110702438A (zh) * 2019-09-23 2020-01-17 天津大学 一种离心式冷水机组与新风***联合故障诊断方法
CN112309509B (zh) * 2019-10-15 2021-05-28 腾讯科技(深圳)有限公司 化合物性质预测方法、装置、计算机设备及可读存储介质
CN112309509A (zh) * 2019-10-15 2021-02-02 腾讯科技(深圳)有限公司 化合物性质预测方法、装置、计算机设备及可读存储介质
CN111274234A (zh) * 2020-01-19 2020-06-12 温州市中鼎网络科技有限公司 一种基于数据分析的机器打分***及方法
CN111274234B (zh) * 2020-01-19 2021-07-30 温州市中鼎网络科技有限公司 一种基于数据分析的机器打分***及方法
CN113659936A (zh) * 2020-05-12 2021-11-16 大唐移动通信设备有限公司 一种线性化模型的分段点确定方法及装置
CN113659936B (zh) * 2020-05-12 2023-06-30 大唐移动通信设备有限公司 一种线性化模型的分段点确定方法及装置
WO2022016299A1 (zh) * 2020-07-20 2022-01-27 陈永聪 一种建立强人工智能的方法
CN112086130A (zh) * 2020-08-13 2020-12-15 东南大学 一种基于测序和数据分析的肥胖风险预测装置及其预测方法
CN112086130B (zh) * 2020-08-13 2021-07-27 东南大学 一种基于测序和数据分析的肥胖风险预测装置的预测方法
CN112036979A (zh) * 2020-08-26 2020-12-04 华东理工大学 评分预测方法、推荐方法、处理装置及存储介质
WO2022056841A1 (en) * 2020-09-18 2022-03-24 Baidu.Com Times Technology (Beijing) Co., Ltd. Neural architecture search via similarity-based operator ranking
CN112712851A (zh) * 2021-01-15 2021-04-27 湖南大学 一种基于递归社区检测的癌症驱动模块预测方法
CN113238375A (zh) * 2021-04-20 2021-08-10 北京理工大学 一种基于深度学习的自由曲面成像***初始结构生成方法
CN113238375B (zh) * 2021-04-20 2022-04-08 北京理工大学 一种基于深度学习的自由曲面成像***初始结构生成方法
CN113163332B (zh) * 2021-04-25 2022-07-05 北京邮电大学 基于度量学习的路标图着色无人机节能续航数据收集方法
CN113163332A (zh) * 2021-04-25 2021-07-23 北京邮电大学 基于度量学习的路标图着色无人机节能续航数据收集方法

Also Published As

Publication number Publication date
EP3268870A1 (en) 2018-01-17
WO2016145423A1 (en) 2016-09-15
US11868851B2 (en) 2024-01-09
EP3268870A4 (en) 2018-12-05
US20160267397A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
CN107924384A (zh) 用于使用预测学习模型预测结果的***和方法
US11868856B2 (en) Systems and methods for topological data analysis using nearest neighbors
US10417523B2 (en) Dimension grouping and reduction for model generation, testing, and documentation
CN106537422B (zh) 用于捕获信息内的关系的***和方法
US11860941B2 (en) Outcome analysis for graph generation
US10824607B2 (en) Topological data analysis of data from a fact table and related dimension tables
US11709868B2 (en) Landmark point selection
US20160246863A1 (en) Grouping of data points in data analysis for graph generation
US10417262B2 (en) Scalable topological data analysis
US20170169174A1 (en) Detection of fraud or abuse
US20180025073A1 (en) Scalable topological data analysis using topological summaries of subsets
Swetha et al. Leveraging Scalable Classifier Mining for Improved Heart Disease Diagnosis
US10424095B2 (en) Landmark feature selection
Al-Mamun Provath et al. Classification of lung and colon cancer using deep learning method
Bong et al. Adaptive multi-objective archive-based hybrid scatter search for segmentation in lung computed tomography imaging
Zelterman Clustering Methods
Ghosh SOME STUDIES ON DIFFERENT DATA MINING APPROACHES
WO2017160882A1 (en) Grouping of data points in data analysis for graph generation
New Visual analytics for relationships in scientific data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180417

WD01 Invention patent application deemed withdrawn after publication