从课程表到相关度分析——用热力图做三维数据可视化

两维数据的展现形式有很多,例如使用图线相对高低来表征数据大小的折线图与条形图,用角度大小来表征占比的饼形图。当面对更多维度的数据时,例如常见的课程表就是三维数据


课程表

课程表的横坐标代表星期几,纵坐标则代表每一天的时间,这是两个自变量。而课程表的因变量则是课程,例如我们可以设“有课”为1,“无课”为0,则课程表可以用一个简单的0-1矩阵进行量化,例如下面在Origin中所展现的那样
量化的数据

如果给标有1的格子涂上一种颜色,代表有课,给标有0的格子涂上另一种颜色,代表没课,我们就获得了一个最简单的展现三维数据的图形
有无课程

这张图是用matlab的pcolor函数画的(实际上是修正了原始数据的pcolor,因为pcolor不会画出最边缘的一行和一列),用excel、origin和python自然都可以画出来。从图中可以看出,除了星期三(横坐标3-4之间)以外,每一天都不必早起,另外由于第4和第5节课之间是午餐时间,可见星期三是不能午休的。类似地,星期一和星期五下午没有太多的时间进行运动,因为下午过后有晚课。这样,我们就将课程表的数据转换为了直观可视的二维图。

只显示有无课,对于数据分析而言是不够的,我们可以尝试对更多的信息进行量化。例如,将纵坐标缩小为“上午-中午-下午”,横坐标展示课程的节数,我们可以把矩阵写成:

课程节数

仿照刚才的样子,像涂数字油画那样,给每一个格子上色,不同的数字涂上不同的颜色。为了方便观察,我们一般取一个有规律的色阶,例如数字从小到大,对应颜色由蓝色渐变到黄色,就得到了下面的图形
课程节数热力图

(图中的坐标文字是后加的)
在对课程节数进行量化后,我们可以看出,同样是上午,星期二比星期三的颜色更接近蓝色,也就对应着更少的课程。通过这样的方法,我们对课程表进行了一个量化,将原来的文字信息转换成了数据。值得注意的是,这样的量化方式有很多。我们还可以对不同的课程进行打分,例如设计一个量表,关心的内容是作业多寡,假如,《规范场论》的作业是最多的,然后《自然辩证法》其次,《引力与宇宙学》再次之。于是得到了一个新的量化方式:给《规范场论》的格子填上4,《自然辩证法》填上3,《引力与宇宙学》填上2,其他课程填上1,没课则填上0。在这样的量化条件下,我们得到了下面这个新的课程表:
作业量课程表

用和上面类似的方法进行涂色,我们就得到了一张新的彩图
作业量热力图

竖着看这张图,星期一的颜色是最偏黄色的,表示星期一要交的作业最多,换句话,星期天就很有可能会熬夜了。实际情况也是这样的。通过一个量表式的量化,我们可以提取出关心的数据,然后将其作为因变量,涂在由两个自变量所确定的格子里面,这样就画出了一个表征三维数据的平面图,因变量大小由颜色确定。这样的图叫做热力图

通常来说,热力图关心的事情是,一个区域内粒子的密度与位置的关系。例如,足球运动员在球场上的活动范围,或者是研究病毒携带者的活动轨迹。但是我们也可以用它来表征一般的三维数据。在我最近所接触到的一项用户调研中,获得的数据是一系列的每日问卷。问卷关心用户在看到手机推送消息之后,怎样处理消息,因此因变量自然是消息的处理方式。在问卷中,处理方式分为五种,即立即阅读、稍后阅读、上滑忽略、立即删除和一键清空全部消息。根据前面描述的方法,很自然可以将其量化为1-5。而问卷所涉及的自变量就有很多了,例如用户看到消息的时间,他当时在做什么,心情如何,觉得消息是否有趣或者有用,等等。于是我们可以设计一个类似于课程表一样的两维表格,将其中的两个自变量作为横纵轴,处理方式作为因变量,以展现三维数据。

是这样吗?

问题来了,从统计学意义上,单份问卷实际上是没有意义的,万一填写问卷的用户与众不同,喜欢在上课的时候刷抖音,在娱乐的时候上网课呢?为了减小误差,我们一定需要大量的数据支持,才能得出有用的结论——这就是所谓的大数据技术。于是我们发出去了很多封问卷,也收回来了很多封。于是,真正的因变量一定是群体行为,最容易研究的群体行为是人数。所以,对于这样的一系列量表,我们最终关心的热力图将拥有下面的形式:

自变量1:固定不变,为用户对消息的处理方式,已经量化为1-5
自变量2:可变,例如,取用户的心情,同样量化为1-5,用1表示心情很差,3代表一般,5代表心情很好
因变量:用户的人数

接下来的问题,是如何确定每一个格子的人数了,也就是要给下面5x5的黑色格子填上数。


准备量化

解读这一个数表,每一个格子都有具体的含义,例如,(处理方式, 心情好坏)=(2,4)表示,稍后阅读消息并且心情有点不好的用户。那么(2,4)这个格子对应多少人呢?很容易想到评选班委的唱票法:每有一个这样的用户,就给正字添上一笔。
知道了这一点,写下一个算法就很容易了:
for person in all_questionnaire
____x = person.operation
____y = person.mood
____table(x, y) += 1
endfor
(下划线表示缩进)

利用这样的算法,我们就可以生成类似于量化课程表那样的数表。或者,有些软件有现成的方法可以一键绘制热力图,例如Origin,画出来还很好看,可以经过各种后期调整,推荐使用:


有趣程度-用户操作热力图

最后画出来的图是这样的。说到数据可视化,我们一定能从里面分析出点什么来。还记得色阶的定义嘛?颜色越偏红,代表该类用户数量越多;相反,颜色越偏蓝,代表该类用户数量越少。从图中可以很明显地看出,对于有趣程度=1,也就是很无聊的消息,选择一键清空全部消息的用户数量十分多,接近了50人。而对于有趣程度=4,也就是比较有趣的消息,大约有10名用户选择了立即查看,而有接近20名用户选择了稍后查看,几乎没有用户选择忽略或删除消息。从这一个热力图中,我们获得了这样的信息。

还没完,如果仔细观察图中的浅色格子,有没有注意到,这些格子呈现一个左高-右低的趋势。从数学上讲,这说明,消息的有趣程度,与用户删除消息的趋势,呈现负相关的态势——也就是说,对于有趣的消息,更多用户不选择删除,更想去阅读它们;对于无聊的消息,更多用户删除的意愿更高。再根据统计学的知识,用这一个样本反应总体情况,我们就可以知道用户更倾向于阅读 他们认为有趣 的消息了。有了这样的发现,我们就可以去做那些耗时更多的深入研究,例如做相关度检验和回归分析。


总结 利用一个量表就可以很方便地将各种评价或者分类量化为数据,接下来就可以借助热力图来快速定性分析三列数据之间的各种关系,例如数据的变化趋势(例如星期天要熬夜赶作业),还有不同数据之间的相关度(例如用户想读有趣的消息,删除无聊的消息)。从直观和效率的角度,特别是当展示给甲方爸爸看时,无疑是事半功倍的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容