走进大数据之拓扑数据分析方法

简介:

拓扑数据分析(TDA),顾名思义,就是把拓扑学与数据分析结合的一种分析方法,用于深入研究大数据中潜藏的有价值的关系。

相比于主成分分析、聚类分析这些常用的方法,TDA不仅可以有效地捕捉高维数据空间的拓扑信息,而且擅长发现一些用传统方法无法发现的小分类。这种方法也因此曾在基因与癌症研究领域大显身手。

走进大数据之拓扑数据分析方法

1.什么是拓扑数据分析

拓扑学研究的是一些特殊的几何性质,这些性质在图形连续改变形状后还能继续保持不变,称为“拓扑性质”。而在复杂的高维数据内部也存在着类似的结构性质,我们可以形象地称之为数据的形状(特征)。

和通常研究的成对关系相比,这种相互关系的形状之中可能潜藏了巨大的研究价值。要理解数据的形状,就必须求助于拓扑学。TDA所做的就是抽取这种形状并进行分析。

那么到底如何来刻画数据的形状呢?下图是一个简单的例子:

走进大数据之拓扑数据分析方法

左边是一只手的采样数据点,宏观看来像一只手。右边则是经过拓扑数据分析得到的图,有点像一只手的骨架。从左边到右边,就是一次形状重构的过程。这种重构用了很少量的点和边去刻画原始数据集,同时保留了原始数据的基本特征。

2.拓扑数据分析的三个要点

1)TDA的输入可以是一个距离矩阵,表示任意两数据点之间的距离。

它研究的是与坐标无关的形状,完全不受坐标的限制。这也意味着拓扑形状的构建依赖于距离函数的定义,或者说相似度概念的定义。坐标无关的特性,使得TDA可以整合来自不同平台的数据,尽管这些数据的结构不太一样,你只需要给出合理的距离函数。这是TDA的一个优点,通用性。

举个例子,TDA在癌症分析领域的成功,这种通用性是一个重要原因。因为不同癌症数据集的指标、结构都不尽相同,而TDA可以轻松整合。

2)TDA研究的数据形状,可以容忍数据小范围的变形与失真。

想象在一块橡皮上写了一个字母”A”,你用力挤压拉扯这块橡皮,字母”A”虽然有点扭曲变形,但是“一个三角形带两个脚”这样的基本特征仍然存在。从上面“手”的例子也可以看出,TDA对小误差的容忍度很大。

3)如果我们要粗略的描绘一个湖泊轮廓,最简洁的就是使用一个多边形。

拓扑处理的是抽象的形状,最典型的例子就是用六边形来表示圆,这只需要用到6个点和6条边。

TDA使用这种形式压缩数据,用有限的点和边来表示大量的数据,并且保留了数据重要的特征。

3.拓扑数据分析的主要步骤

用一个滤波函数对每个数据点计算一个滤波值。这个滤波函数可以是数据矩阵的线性投影,比如PCA。也可以是距离矩阵的密度估计或者中心度指标,比如L-infinity(L-infinity的取值是该点到离它最远的点的距离,是一个中心度指标)。

数据点按照其滤波值,从小到大被分到不同的滤波值区间里。参照下图中“手”被切成等宽的块。但需要注意的是,相邻的滤波值区间设置有一定的重叠区域,也就是重叠区域的点同时属于两个区间(这一点很重要)。

对每个区间里的数据分别做聚类。

把上一步骤中各区间聚类的得到的小类放在一起,每一个小类用一个大小不同的圆表示。若两个类之间存在相同的原始数据点(这就是区间需要相互重叠的原因),则在它们之间加上一条边。

对上述圆和边组成的图形施加一层力学布局,让其达到平衡,就得到最终的“数据图形”。

下图是一个简单的示意图,便于理解:

走进大数据之拓扑数据分析方法

走进大数据之拓扑数据分析方法

4.案例:ayasdi公司关于NBA球员的研究

有一份关于NBA球员的数据集,这份数据集编码了球员在场上表现的各个方面,包括篮板、助攻、失误、抢断、封锁、犯规、得分等各项指标的每分钟频率。对这份数据集进行拓扑化后,得到了下面这张图。

走进大数据之拓扑数据分析方法

篮球运动员的位置一般分为控球后卫、得分后卫、小前锋、大前锋、中锋。然而在上图的网络中,我们看到了比传统的五个位置更为精细的结构。比如在网络的左侧,守卫被细分成了三个组,攻击守卫、防守守卫、击球守卫。在网络的中下部我们可以看到三个比较小的块,其中有“NBA全明星”(Allstar NBA) 和“NBA全明星第二梯队”(Allstar NBA 2nd Team)。

“NBA全明星”这个组几乎由NBA历史上最优秀的球员组成,“第二梯队”虽然也都是由全能的优秀球员组成但表现上可能不如全明星组。

有意思的是,在全明星组中还有一些不太知名的球员,这些球员也许就是潜在的未来明星球员。


本文作者:杨晓东

来源:51CTO

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
25天前
|
数据可视化 数据挖掘 数据管理
问卷调查数据分析指南!掌握方法,精准把握用户需求!
本文介绍了如何利用自定义报表、交叉报表和过滤器进行问卷调查数据分析。文章首先区分了定量和定性数据,强调了定量数据在分析中的重要性,并列举了客户体验(CSAT、CES、NPS)和市场调研的关键指标。接着,提到了定性数据分析方法,如情感分析和词云图。文章还讨论了自定义报表、交叉报表和过滤器在数据筛选和相关性探索中的作用,以及收集器在多源数据收集上的应用。最后,强调了仪表板在数据可视化和比较中的优势,并推荐了Zoho Survey作为综合的数据管理平台。
33 0
问卷调查数据分析指南!掌握方法,精准把握用户需求!
|
1月前
|
数据可视化 数据挖掘 Linux
Python数据分析(四)——plot方法
Python数据分析(四)——plot方法
|
2月前
|
搜索推荐 数据挖掘 C++
数据分析方法-对比分析和用户画像
数据分析方法-对比分析和用户画像
67 1
数据分析方法-对比分析和用户画像
|
3月前
|
机器学习/深度学习 数据采集 算法
大数据分析技术与方法探究
在当今信息化时代,数据量的增长速度远快于人类的处理能力。因此,如何高效地利用大数据,成为了企业和机构关注的焦点。本文将从大数据分析的技术和方法两个方面进行探究,为各行业提供更好的数据应用方向。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据分析的技术和方法:从深度学习到机器学习
大数据时代的到来,让数据分析成为了企业和组织中不可或缺的一环。如何高效地处理庞大的数据集并且从中发现潜在的价值是每个数据分析师都需要掌握的技能。本文将介绍大数据分析的技术和方法,包括深度学习、机器学习、数据挖掘等方面的应用,以及如何通过这些技术和方法来解决实际问题。
49 2
|
3月前
|
机器学习/深度学习 数据采集 存储
基于振弦采集仪的工程监测数据分析方法研究
基于振弦采集仪的工程监测数据分析方法研究主要涉及以下几个方面:
基于振弦采集仪的工程监测数据分析方法研究
|
1月前
|
SQL 机器学习/深度学习 NoSQL
常用的数据分析方法和工具有哪些?
随着大数据时代的到来,数据分析也逐渐成为了各企业、组织以及个人的必要技能之一。但是数据分析在进行过程中,我们往往会遇到各种各样的问题,比如面对不同类型的数据,如何进行有效的分析?今天和大家分享一些常见的数据分析方法和工具,希望对大家有所帮助。
|
1月前
|
算法 大数据 数据挖掘
python数据分析——大数据伦理风险分析
大数据伦理风险分析在当前数字化快速发展的背景下显得尤为重要。随着大数据技术的广泛应用,企业、政府以及个人都在不断地产生、收集和分析海量数据。然而,这些数据的利用也带来了诸多伦理风险,如隐私泄露、数据滥用、算法偏见等。因此,对大数据伦理风险进行深入分析,并采取相应的防范措施,对于保障数据安全、维护社会公平正义具有重要意义。
47 0
|
1月前
|
存储 大数据 数据挖掘
python数据分析——大数据和云计算
大数据和云计算作为当代信息技术的两大核心驱动力,正在以前所未有的速度改变着我们的生活、工作和思维方式。它们不仅为各行各业的创新提供了强大的技术支持,更是推动了整个社会的数字化转型。 从大数据的角度来看,它的核心价值在于通过对海量数据的收集、存储、分析和挖掘,发现其中的关联性和趋势,从而为决策提供更为科学、精准的依据。无论是商业领域的市场预测、消费者行为分析,还是公共服务领域的城市规划、交通管理,大数据都发挥着不可或缺的作用。同时,随着物联网、传感器等技术的普及,大数据的来源和种类也在不断扩展,这使得我们能够更全面地认识世界,把握规律。
47 0
|
2月前
|
大数据 Java 编译器
关于 Python 在 for 循环里处理大数据的一些推荐方法
关于 Python 在 for 循环里处理大数据的一些推荐方法
38 0