R语言典型相关分析:NBA球员身体素质与统计数据关联性
作者:鲁伟
一个数据科学践行者的学习日记。数据挖掘与机器学习,R与Python,理论与实践并行。个人公众号:数据科学家养成记 (微信ID:louwill12)
昨天万众瞩目的2017NBA总决赛G1,想必各位JRs们都看了吧?不是骑士不尽力,奈何对面有高达,比赛结果是书包杜和打卡库双星闪耀先下一城。恰好前两天的数模课上的是多元统计,于是便复习了下主成分分析与典型相关分析的一些知识。小编今天用R语言简单的典型相关分析看看这些球员们身体数据与技术统计之间有何相关性。
1典型相关分析统计原理简单而言,典型相关分析就是在纷繁的变量关系中通过降维的方式研究两组变量之间的相关关系。通常情况下,为了研究两组变量X=(x1,x2,...xp),Y=(y1,y2,...,yq) 之间的相关关系,用原始的方法即计算两组变量之间全部的相关系数,一共有pq个相关系数,难以抓住主要矛盾计算又非常麻烦。这时我们就可以借助主成分分析的思想,分别找出两组变量的各自某个线性组合,讨论线性组合之间的相关关系,这样问题就简化了许多。在实际问题中,这种方法也有广泛的应用,比如我们要研究产品的q个质量指标(y1,y2,...,yq) 和p个原材料指标X=(x1,x2,...xp)之间的相关关系,就可以采用典型相关分析方法来处理。
典型相关分析的核心思想如下:
首先分别在每组变量中找出对线性组合,使其有大的相关性,然后再在每组变量中找出第二对线性组合,使其分别与本组内的对线性组合不相关,而第二对有着第二大的相关性,如此下去,直至两组变量的相关性被提取完。
至于典型相关分析的数学推导,小编这里就不贴上了,总之推导到后还是要转化到求优化问题上面,近发现简直是什么问题都要求优化。
2 NBA球员的典型相关分析 至于典型相关分析的工具实现,大家可能都会用SPSS去做。SPSS里面没有提供典型相关分析的菜单选项,需要在语句窗口中调用Canonical corralation.sps宏功能。有点麻烦,所以我们今天仅用R语言的一条代码就可以实现SPSS那么繁琐的操作。小编用Rvest从NBA中文网简单抓取了部分NBA球员的身体素质数据和技术统计数据,通过筛选后提取了10名NBA联赛当红的超级球星的数据。数据包括球员姓名、身高、体重、臂展、得分、助攻、篮板、抢断、投篮命中率以及2015-16赛季以来的球队胜场数等变量。小编将这些变量指标分为两组变量:身体素质变量组和技术统计变量组。R语言中cancor函数即可实现典型相关分析。且看cancor函数使用代码:
cancor(x,y,xcenter=TRUE,ycenter=TRUE)
相关文章