直播信号

昨天万众瞩目的2017NBA总决赛G1,想必各位JRs们都看了吧?不是骑士不尽力,奈何对面有高达,比赛结果是书包杜和打卡库双星闪耀先下一城。恰好前两天的数模课上的是多元统计,于是便复习了下主成分分析与典型相关分析的一些知识。小编今天用R语言简单的典型相关分析看看这些球员们身体数据与技术统计之间有何相关性。
简单而言,典型相关分析就是在纷繁的变量关系中通过降维的方式研究两组变量之间的相关关系。通常情况下,为了研究两组变量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)
其中x、y为两组不同的变量数据矩阵,xcenter、ycenter取逻辑值,指的是样本是否去中心化。通过cancor函数我们简单看下NBA球员的身体素质数据与技术统计数据之间有多少相关关系。
nbaplayer<-read.csv("D:/Rdata/datasets/nbaplayer.csv")
nba<-scale(nbaplayer[,2:10])
ca<-cancor(nba[,1:3],nba[,4:9])
ca
将原始数据读入后进行scale标准化处理,然后将数据分为两组变量放入cancor函数中,ca的结果如下:
$cor
[1] 0.9916247 0.8867111 0.8023318
$xcoef
[,1] [,2] [,3]
height -0.7366761 -0.1910185 -0.6036883
weight 0.5825631 0.3859985 -0.2647233
armlet 0.3238704 -0.4418187 0.6941731
$ycoef
[,1] [,2] [,3]
scores 0.01132183 -0.1950769 0.40835815
rebounds 0.01085479 -0.6941907 0.12475701
assists 0.16098246 0.1524297 -0.29155895
steals -0.10015342 0.4211629 -0.24876921
FG 0.27541733 0.3482109 -0.56970961
wingames -0.31661763 -0.4412749 0.06668427
$xcenter
height weight armlet
6.772360e-16 -6.397660e-16 1.765255e-15
$ycenter
scores rebounds assists
2.624637e-16 4.510281e-18 -1.694391e-16
由计算结果可知,cancor函数给两组变量提取了三组相关系数,两组变量各自的线性组合为:
ui vj分别为各自变量组的线性组合,也即主成分。于是我们可知两组变量的三组线性组合之间的相关系数为0.99、0.88、0.80 。到这里我们典型相关分析还没做完,我们还得对三组的典型相关系数做显著性检验,来确定最终选择哪一组典型变量作为两组的相关关系的代表。
编写显著性检验函数:
corcoef.test<-function(r, n, p, q, alpha=0.1){
m<-length(r); Q<-rep(0, m); lambda <- 1
for (k in m:1){
lambda<-lambda*(1-r[k]^2);
Q[k]<- -log(lambda)
}
s<-0; i<-m
for (k in 1:m){
}
s<-0; i<-m
for (k in 1:m)
s<-s+1/r[k]^2
}
i
}
其中r为cor系数个数、n为样本容量、p和q为各自典型相关变量个数、alpha为置信水平。利用该自编函数我们可以对三组相关系数进行显著性检验:
corcoef.test(r=ca$cor,n=10,p=3,q=3)
[1] 3
由结果看以得出:虽然前两组的相关系数很大,两组变量之间的相关性明显,但在0.1的置信水平下通过不了显著性检验,所以我们选择第三组作为两组变量之间的相关关系的代表。计算结果表明,NBA球员们的身体素质和其个人技术统计表现有着密切的关系,詹皇库里们之所以有着傲人的技术统计数据,这是与他们自身优秀的身体素质是分不开哒,当然了,这背后肯定少不了日复一日、年复一年的职业体育的艰苦训练啦。
原本还想做个pls偏最小二乘回归的,但是发现数据支撑不太好,自变量不太好选择,也就放弃啦。有些人可能会说,你这分析没什么技术含量和实际意义,NBA球员的身体素质普遍那么高,可并不是个个都能像威少哈登那样数据骇人的。说的没错,但小编此举只是为了测试在R语言中典型相关分析的实现方法,旨在锻炼实际的数据分析能力,各位JRs们尽可付之一笑就好。最后放张图,祝两队在G2中打出更精彩的表现。
一个数据科学践行者的学习日记
长按二维码.关注数据科学家养成记

05月09日 英超第36轮 利物浦vs切尔西 全场录像回放
2026年05月20日
05月10日 英超第36轮 伯恩利vs阿斯顿维拉 全场录像回放
2026年05月20日
05月10日 英超第36轮 曼城vs布伦特福德 全场录像回放
2026年05月20日
05月09日 英超第36轮 桑德兰vs曼联 全场录像回放
2026年05月20日
05月09日 英超第36轮 布莱顿vs狼队 全场录像回放
2026年05月20日
05月09日 英超第36轮 富勒姆vs伯恩茅斯 全场录像回放
2026年05月20日
05月19日 英超第37轮 阿森纳vs伯恩利 全场录像回放
2026年05月20日
05月18日 英超第37轮 纽卡斯尔联vsv西汉姆联 全场录像回放
2026年05月20日
05月17日 英超第37轮 利兹联vs布莱顿 全场录像回放
2026年05月20日
05月17日 英超第37轮 狼队vs富勒姆 全场录像回放
2026年05月20日
05月17日 英超第37轮 埃弗顿vs桑德兰 全场录像回放
2026年05月20日
05月17日 英超第37轮 布伦特福德vs水晶宫 全场录像回放
2026年05月20日
05月17日 英超第37轮 曼联vs诺丁汉森林 全场录像回放
2026年05月20日
05月14日 英超第31轮补赛 曼城vs水晶宫 全场录像回放
2026年05月20日
05月12日 英超第36轮 热刺vs利兹联 全场录像回放
2026年05月20日
05月16日 德甲第34轮 门兴vs霍芬海姆 全场录像回放
2026年05月20日
05月16日 德甲第34轮 勒沃库森vs汉堡 全场录像回放
2026年05月20日
05月16日 德甲第34轮 法兰克福vs斯图加特 全场录像回放
2026年05月20日
05月17日 德甲第34轮 拜仁慕尼黑vs科隆 全场录像回放
2026年05月20日
05月10日 德甲第33轮 沃尔夫斯堡vs拜仁慕尼黑 全场录像回放
2026年05月20日
05月09日 德甲第33轮 霍芬海姆vs不莱梅 全场录像回放
2026年05月20日
05月09日 德甲第33轮 斯图加特vs勒沃库森 全场录像回放
2026年05月20日
05月09日 德甲第33轮 RB莱比锡vs圣保利 全场录像回放
2026年05月20日
05月09日 德甲第33轮 奥格斯堡vs门兴 全场录像回放
2026年05月20日
05月11日 德甲第33轮 美因茨vs柏林联合 全场录像回放
2026年05月20日
05月10日 德甲第33轮 科隆vs海登海姆 全场录像回放
2026年05月20日
05月10日 德甲第33轮 汉堡vs弗赖堡 全场录像回放
2026年05月20日
05月11日 德甲第33轮 美因茨vs柏林联合 全场录像回放
2026年05月13日
05月10日 德甲第33轮 科隆vs海登海姆 全场录像回放
2026年05月13日
05月10日 德甲第33轮 汉堡vs弗赖堡 全场录像回放
2026年05月13日
05月18日 法甲第34轮 洛里昂vs勒阿弗尔 全场录像回放
2026年05月20日
05月18日 法甲第34轮 马赛vs雷恩 全场录像回放
2026年05月20日
05月18日 法甲第34轮 巴黎FCvs巴黎圣日耳曼 全场录像回放
2026年05月20日
05月18日 法甲第34轮 尼斯vs梅斯 全场录像回放
2026年05月20日
05月18日 法甲第34轮 里尔vs欧塞尔 全场录像回放
2026年05月20日
05月18日 法甲第34轮 布雷斯特vs昂热 全场录像回放
2026年05月20日
05月14日 法甲第29轮补赛 朗斯vs巴黎圣日耳曼 全场录像回放
2026年05月20日
05月14日 法甲第29轮 布雷斯特vs斯特拉斯堡 全场录像回放
2026年05月20日
05月11日 法甲第33轮 雷恩vs巴黎FC 全场录像回放
2026年05月20日
05月11日 法甲第33轮 图卢兹vs里昂 全场录像回放
2026年05月20日
05月11日 法甲第33轮 巴黎圣日耳曼vs布雷斯特 全场录像回放
2026年05月20日
05月11日 法甲第33轮 摩纳哥vs里尔 全场录像回放
2026年05月20日
05月11日 法甲第33轮 梅斯vs洛里昂 全场录像回放
2026年05月20日
05月11日 法甲第33轮 勒阿弗尔vs马赛 全场录像回放
2026年05月20日
05月11日 法甲第33轮 欧塞尔vs尼斯 全场录像回放
2026年05月20日
05月10日 西甲第35轮 皇家社会vs皇家贝蒂斯 全场录像回放
2026年05月20日
05月09日 西甲第35轮 塞维利亚vs西班牙人 全场录像回放
2026年05月20日
05月18日 西甲第37轮 巴塞罗那vs皇家贝蒂斯 全场录像回放
2026年05月20日
05月18日 西甲第37轮 塞维利亚vs皇家马德里 全场录像回放
2026年05月20日
05月18日 西甲第37轮 皇家社会vs瓦伦西亚 全场录像回放
2026年05月20日
05月18日 西甲第37轮 奥萨苏纳vs西班牙人 全场录像回放
2026年05月20日
05月18日 西甲第37轮 巴列卡诺vs比利亚雷亚尔 全场录像回放
2026年05月20日
05月18日 西甲第37轮 皇家奥维耶多vs阿拉维斯 全场录像回放
2026年05月20日
05月18日 西甲第37轮 莱万特vs马略卡 全场录像回放
2026年05月20日
05月18日 西甲第37轮 马德里竞技vs赫罗纳 全场录像回放
2026年05月20日
05月18日 西甲第37轮 埃尔切vs赫塔费 全场录像回放
2026年05月20日
05月18日 西甲第37轮 毕尔巴鄂竞技vs塞尔塔 全场录像回放
2026年05月20日
05月15日 西甲第36轮 瓦伦西亚vs巴列卡诺 全场录像回放
2026年05月20日
05月15日 西甲第36轮 赫罗纳vs皇家社会 全场录像回放
2026年05月20日
05月15日 西甲第36轮 皇家马德里vs皇家奥维耶多 全场录像回放
2026年05月20日
05月17日 意甲第37轮 热那亚vsAC米兰 全场录像回放
2026年05月20日
05月10日 意甲第36轮 维罗纳vs科莫 全场录像回放
2026年05月20日
05月10日 意甲第36轮 莱切vs尤文图斯 全场录像回放
2026年05月20日
05月10日 意甲第36轮 拉齐奥vs国际米兰 全场录像回放
2026年05月20日
05月09日 意甲第36轮 卡利亚里vs乌迪内斯 全场录像回放
2026年05月20日
05月18日 意甲第37轮 萨索洛vs莱切 全场录像回放
2026年05月20日
05月18日 意甲第37轮 乌迪内斯vs克雷莫内塞 全场录像回放
2026年05月20日
05月18日 意甲第37轮 卡利亚里vs都灵 全场录像回放
2026年05月20日
05月18日 意甲第37轮 亚特兰大vs博洛尼亚 全场录像回放
2026年05月20日
05月17日 意甲第37轮 国际米兰vs维罗纳 全场录像回放
2026年05月20日
05月17日 意甲第37轮 罗马vs拉齐奥 全场录像回放
2026年05月20日
05月17日 意甲第37轮 比萨vs那不勒斯 全场录像回放
2026年05月20日
05月17日 意甲第37轮 尤文图斯vs佛罗伦萨 全场录像回放
2026年05月20日
05月12日 意甲第36轮 那不勒斯vs博洛尼亚 全场录像回放
2026年05月20日
05月11日 意甲第36轮 帕尔马vs罗马 全场录像回放
2026年05月20日
04月19日 NBA季后赛东部首轮G1 猛龙vs骑士 全场录像回放
2026年05月20日
05月06日 NBA季后赛西部半决赛G1 湖人vs雷霆 全场录像回放
2026年05月20日
05月05日 NBA季后赛东部半决赛G1 76人vs尼克斯 全场录像回放
2026年05月20日
05月06日 NBA季后赛东部半决赛G1 骑士vs活塞 全场录像回放
2026年05月20日
05月05日 NBA季后赛西部半决赛G1 森林狼vs马刺 全场录像回放
2026年05月20日
05月04日 NBA季后赛东部首轮G7 魔术vs活塞 全场录像回放
2026年05月20日
05月03日 NBA季后赛东部首轮G7 76人vs凯尔特人 全场录像回放
2026年05月20日
05月02日 NBA季后赛东部首轮G6 骑士vs猛龙 全场录像回放
2026年05月20日
05月02日 NBA季后赛西部首轮G6 湖人vs火箭 全场录像回放
2026年05月20日
05月02日 NBA季后赛东部首轮G6 活塞vs魔术 全场录像回放
2026年05月20日
05月01日 NBA季后赛西部首轮G6 掘金vs森林狼 全场录像回放
2026年05月20日
05月01日 NBA季后赛东部首轮G6 尼克斯vs老鹰 全场录像回放
2026年05月20日
05月01日 NBA季后赛东部首轮G6 凯尔特人vs76人 全场录像回放
2026年05月20日
04月27日 NBA季后赛东部首轮G4 骑士vs猛龙 全场录像回放
2026年05月20日
04月26日 NBA季后赛西部首轮G4 掘金vs森林狼 全场录像回放
2026年05月20日