为什么这部电影的豆瓣评分我不认可?—— 一点数据分析的视角

2017-06-16 14:14:42 +08:00
 cqcn1991

这是最近做的一篇分析,希望大家帮我看看,不知道有什么问题? 有什么建议也欢迎指出~, 原文在这里

源代码: https://github.com/cqcn1991/movie-compare

文中涉及的交互式散点图: https://cdn.rawgit.com/cqcn1991/movie-compare/master/clusters.html


不知道大家有没有这样的经历 —— 看了一部电影,但对豆瓣的评分并不认可

比如,之前看西游伏妖篇,我就很疑惑,为什么分数这么低?毕竟,周星驰是我很喜欢的导演

而且,评论区也出现了截然相反的评价

再比如最近的神奇女侠 Wonder Woman,虽然分数不错,但我并不觉得很好看

此外,一直以来也有“爱乐之城 /摔跤吧爸爸评分偏高了吗?”等类似的问题。所以,会想问 —— 为什么有的电影分数高 /低,但是我们并不认同?是不是豆瓣电影的分数有问题?

之前,从国内外评价差异的角度分析过,比如赤壁 /让子弹飞,国内外的评价并不一致,但还有没有别的原因?

1. 数据概况

选取 2008-2017, 国内公映的电影。限制豆瓣评分人数在 2W 以上,一方面讨论大家较为熟悉、主流的电影,另一方面也尽量减少水军等的影响。总共 815 部电影,评分分布如图

包括了很多大家熟悉的电影

2. 评分的差异

2.1 西游 vs. 杜拉拉

仔细观察西游的评分,会发现和相同评分的电影(杜拉拉升职记)的分布差别很大。

两者评分相同,评价人数也很多( 20W, 17W ),但 5 星和 1 星的比例差别很大[1]。

什么意思呢?

也就是说,尽管两者(平均)分数相同,但是背后的看法非常不同,评分差异很大,这也正好对应了上面,西游出现两种截然相反的热评的情况。

2.2 怎么衡量评分差异

评分分布的差异,可以用方差来衡量,计算方法如下

也就是计算 评分偏离平均分的程度。下文使用标准差( STD ),方差开方即可。可以做出标准差( STD ) - 豆瓣评分( Rating )散点分布图[2]。为了便于比较,做标准差 97%范围线。

可以看到西游和杜拉拉升职记的 STD 差别确实很大,西游的标准差排在前 3% ,争议性是巨大的,而杜拉拉则小很多。 另外,还发现散点图的有两个特点

对于收敛,可以从平均分怎么计算出来的角度理解:平均分越高,占高分的比例越大,因此评分差异较小。至于不对称,后面再说。

2.3 典型电影

这里,可以看到很多典型评价差异很大的电影,比如刺客聂隐娘一步之遥 等等都在这张图的上方,STD 很高

可以拿他们和 STD 较低的电影比较

这里可以问一个问题 —— 这些电影的分数相同,但同样好看 /不好看吗?

比如,刺客聂隐娘我 11的分数一样,但他们一样好看吗?

显然不是

和前面的比较类似,刺客聂隐娘虽然评分较高,但其 5 星 /1 星和我 11 差别很大。为什么呢?大家可能早有耳闻,看评论,也能看到

可能的原因,是刺客聂隐娘画面极具美感,但另一方面,剧情却让人看不懂。所以评分上出现了较大的分歧。一步之遥也是类似,算是比较有名的例子了。

爸爸去哪儿,也能从评论中看到一些端倪

可能的原因是,一方面是娱乐性优秀,带着小孩看电影的家长观众们觉得很好,另一方面,有人觉得这不是电影,纯属圈钱。

通常,我们总是在讨论一部电影评分的高低,但这只是平均分,当大家看法一致的时候,这个分数会很有参考价值。但当评分差异很大( STD 很大)的时候,这个分数的作用就有限了

3. 电影评分的形状

3.1 总共有几种形状?

从评分的分布,很容易想到关于评分形状的段子

那么,电影的评分,会有多少种形状呢?

可以用 K-Means 来做。实际可以分很细,这里简单分成 6 种,比较有代表性,结果如下图

[注,高 STD 的电影因为其形状差异很大,并不适用于这个分类]

这些分布,相当于电影评分的典型形状,两头和中间对应了大家熟知的 P, b 和钟形分布

这可以部分解释,为什么散点图是非对称的 —— 因为有很多 4 星为主的电影,但很少有 2 星为主的电影。毕竟,大多时候给的评价都是一般( 3 星),或烂片( 1 星),很少会有电影“精确烂到 2 星”。

每个形状下,也能看到 STD 高 /低的电影,比如魔兽,爱乐之城等等。

依然可以问这个问题 —— 这些电影分数相同,但是同样好看吗?

爱乐之城, 虽然评分和萨利机长一样,都算典型的好电影了,但是打 5 星的明显比萨利机长多,也侧面说明了为什么有人疑惑其分数“是否偏高”。魔兽,则可能有粉丝加成的影响。其他电影不再具体讨论,大家可以自己分析~

3.2 奇怪的形状

还有一些奇怪形状的电影,比如人间·小团圆,小时代 4, 长城,并不属于上述任何一种典型分布

这是为什么?

具体原因不得而知。但实际上,这是典型的混合分布的特征,也就是说,由几个分布叠加得到。

如果把最差评分和中等评分混合起来(各按 50%算),可以得到和上面非常相似的形状

那么,有没有可能真的是混合分布呢?

查看评论,不难发现,对于人间·小团圆,是 ZZ 因素导致了对其评分的极大差别。

小时代可能也是类似。有人看到郭小四就要打一星,另一方面,原著粉们则表示还算不错。

那么长城呢?可以查看近期的评价。需要注意的是,这时不太可能有水军了,因为这时候的分数对票房毫无意义。简单看一下前两页,发现 2-3 星居多

和当初的差评还是有差距的。更靠谱的当然是抓数据,不过豆瓣官方并没有公开相关的数据,这个以后有机会再补吧~ 延伸出来的问题是,恶评如流的电影,在下映之后,还会有那么多差评吗?

4. 总结

本文主要做了两件微小的工作

回到我们最开始的问题 —— 为什么有的电影分数高 /低,但是我们并不觉得如此?是分数有问题吗 ?

原因在于,那只是个平均分而已

而有意思的也在于此 —— 大多数人在谈论豆瓣的评分的时候,都知道这是平均分,也都能看到分数的分布情况。而且大多数时候,这个平均分是有效的,因为大家的评价较为接近( STD 较小)

但是,很少有人注意到评分的分歧大小(即 STD 的大小)。所以,当看到一部 STD 很大的电影,平均分和我们感受不符时,我们疑惑了,进而觉得豆瓣的评分有问题。实际上,只是因为人们的评价差异太大( STD 太大),使平均分失去了意义而已。


最后,我在想,有没有可能给豆瓣评分旁边加上一个小标签?比如,对 STD 特别大的电影,在旁边加个“分歧警告”标签,注明“这部电影的评价差异水平达到了前 3%,平均分的参考意义较为有限”, 进一步还可以分开展示好评 /差评,向用户解释评价差异具体如何。这样或许能减少一些人们对(平均)评分的疑虑。

然后,分析有什么疏漏或者没讲清楚的地方,也欢迎大家指出~

[1] 这里采用的是豆瓣的评分柱状图,画法并不标准(占比最大为定宽),但适用于基本的比较

[2] 实际 STD 的尺度没有这么大。这样画图类似于把 STD 做规整化,更方便于比较。

13990 次点击
所在节点    分享创造
112 条回复
cqcn1991
2017-06-16 19:02:28 +08:00
@lxy 但从产品的使用角度来说,太麻烦了,而且大多数时候,电影的表现是相对比较平均的
所以我觉得可以这样思考这个问题,但是产品这样设计有太多不便。毕竟我们也就是 2C,个人评价一下而已

@yiciyuansky 评分分布有,但是“评分分布”的分歧程度的“大小”,没有。所以很多人不会注意到这点。而且这个和人群一致性无关,是豆瓣电影打分的受众并不小众(摔跤吧爸爸有 30W 了)。我们并不是要追求一个“一致性”的评分,而是知道什么时候这个评分是无效的。
Yinz
2017-06-16 19:12:18 +08:00
赞一个,很细致的数据分析 :D
有一点疑问想问一下,K-means 聚类的 k = 6 是怎么决定出来的呢?

而且聚出来的 6 类似乎没有很大的意义,因为都像是均值不同的正态分布在横轴移动的感觉。如果能够找到一个特征变化,使得变换后的 K-means 能够将这种标准正态分布以及后文中的混合分布分离出来,那就厉害了 :D
cqcn1991
2017-06-16 19:19:52 +08:00
@Yinz 代码里面有
直接把电影的 5 个百分比输进去,然后看聚类的结果
实际就是可以分很细,也可以分很粗,取决于你想分成多少种。还可以分得更细,比如均值为 6 的,可以分成 4 星占多还是 2 星占多的,其他类似。

当然,从 Cross validation 的曲线来看, 6-7 的样子基本上就收窄了.
laoyuan
2017-06-16 19:35:37 +08:00
“分歧警告”标签不太接地气,可以用“争议较大”
leemail
2017-06-16 19:47:16 +08:00
Ordinal data 用 standard deviation 分析?
cqcn1991
2017-06-16 19:56:22 +08:00
@leemail 可以具体说说,问题在哪里?
sisylocke
2017-06-16 19:57:50 +08:00
不过好像并没有解决标题那个问题,看了标题,我以为要解决的问题是:评分的离散程度与评分可信度之间的关系,但是全文只用了几种不同的方式描述了豆瓣评分的几种分布情况,并没有给出可信度的评价...这样的话直接参考豆瓣的直方图更直观呀...

要是能给出一个参考标准,使得豆瓣评分的变异系数在大于这个标准值后被认为是不可信的,那就好厉害了♪(^∇^*)
Icemic
2017-06-16 19:59:32 +08:00
感觉这里面用的 K-Means 聚类和直接按照正态特性划直线,没有特别大的差别……
为什么选择用 K-Means ?
cqcn1991
2017-06-16 20:08:10 +08:00
@Icemic 按照正态特性画直线是啥意思? 怎么做?

用 Kmeans 因为是基本的聚类啊...我就传数据进去看看结果,结果感觉还不错就用了.
Icemic
2017-06-16 20:11:56 +08:00
收敛的现象应该还有可挖的东西。

另外,我一直想要评分随时间变化的曲线,我觉得这个对我更有参考价值,不过豆瓣不公开用户评分记录……
Icemic
2017-06-16 20:13:05 +08:00
@cqcn1991
就是像前面 @Yinz 说的,这个聚类「都像是均值不同的正态分布在横轴移动的感觉」
leemail
2017-06-16 20:20:23 +08:00
@cqcn1991 你不知道这是 ordinal data 还是没有学过统计? ordinal data 数据分析第一件事就是 mean & standard deviation 不能用来分析 ordinal data。
Benisme
2017-06-16 20:23:35 +08:00
文科生看着看着就看不懂了,很难受……
cqcn1991
2017-06-16 20:31:55 +08:00
@Icemic
@Yinz

聚类怎么做的:我就是把 5 个各占的比例输进去,作为输入条件

你们可能想问的是:为什么只有这几种组合?

理论上,会有多得多的组合。比如凹形,五星和一星各占 40%? 但问题在于,这种分布的形状,在数据里并不存在,或者极少。所以并没有。完全可能的形状, 值域都是可以模拟出来的(用 dirclet 做就可以了)。

换句话说,能够得到的聚类结果,是实际数据中存在的情况。本身数据就大概只有这些类型。

不知道这个是否是你想问的

当然,也可能把 STD 作为一个额外的 feature 放进去做聚类,但是我感觉效果不是特别好。
Domains
2017-06-16 20:31:58 +08:00
@zjuster 那要问是看日版,还是国内买了版权翻拍的广告版了…… 或者让你朋友先看看日版的。或者转发一下这段话:

---------
导演蔡岳勋表示,这部剧为了尊重原著,所以保留了一些核心内容,但后续无论是菜色还是故事都会让观众看到更多本土化的东西。关于广告植入,蔡岳勋非常无奈地透露,刚开始是一些广告,后来变成更多,最后变成超级多,但他连剪掉的权利都没有。“所以在我还没有杀青之前,我就作了一个有趣的决定,以后我的导演合约里面一定会增加一条:‘所有的植入要怎么拍,我有最终的决定权’。以后我不会再接受这样的事情。”
kenshin
2017-06-16 20:32:13 +08:00
👍
喜欢这种强逻辑性的推论,LZ 再打磨打磨语句可以发给豆瓣了。

从实用性来说,的确可以解答我一直对豆瓣评分的一些疑问。
levn
2017-06-16 20:42:32 +08:00
……根本不在乎别人评什么分。还是发给拍电影的吧,他们才需要这个。
cqcn1991
2017-06-16 20:50:37 +08:00
@leemail 啊...确实都不知道...感觉犯了大错...非常感谢你的指出!(我是当作离散值来理解的)

不知道这方面有什么可以学习的?

https://stats.stackexchange.com/questions/67551/calculate-mean-of-ordinal-variable

我查到的貌似是有争议?
AltairT
2017-06-16 21:02:44 +08:00
虽然有理有据令人信服,还是希望普罗大众能提高观影姿势,而不是只是去看看些[只有]过期笑点和明星大腕的电源,这样我们也更有可能多看到一些有营养的电影.但我也是明白这几乎是不可能的,太多人忙于生计,只想和娃和家人和朋友去影院消遣下,乐一乐.你搞一堆难懂高深的情节和哲理大众没时间没精力去理解.(我记得以前高中和班级同学看 2012,一堆人看成搞笑片... ...)
helloSwift
2017-06-16 21:04:44 +08:00
每个人的喜爱不同,豆瓣的只能参考

有时候出去看个电影,也不一定是在看电影

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/368861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX