这一节我们将介绍MaxDiff最重要的一个部分,即如何分析Maxdiff数据。文章内容可能数学味道浓一些,但是别担心,绝大多数的计算只需要中学数学水平。我们希望大家明白,MaxDiff的分析并不是黑箱子,而恰恰相反,是非常简单和符合直觉判断的。
在估计Maxdiff题目中每个对象的偏好效用得分时,分层贝叶斯算法(Hierarchical Bayesian)是目前最普遍采用的方法,但这种方法比较耗时,且原理不太容易理解,很多人一看到分层贝叶斯这几个字,顿觉云里雾里(当然,在本节最后,我会简介这种方法的原理)。那么是否能够通过简单的方法来解释MaxDiff数据分析的原理呢?是否可以通过一些简单的计算方法也能保证较高的偏好估计准确性呢?
接下来我们会介绍一种常见的快捷计算方式。这个分析方式不但易于理解和计算,而且在很多情形下准确性也不亚于分层贝叶斯算法估算出来的偏好效用。
计数分析(Countinganalysis)
对于Maxdiff数据,最简单的分析方式无疑是计数分析。顾名思义,这种方法就是合计每个对象被选择为“最好”和“最差”的次数,然后进行推算的分析方法。
假设我们的MaxDiff里有8个对象,我们设置了6个任务,每个任务里随机出现4个对象,受访者每次从4个对象中选出一个“最好”和“最差”的对象。
基于上述条件,一个良好的设计能保证每个对象恰好出现3次(分别出现在3个任务中),例如下面的设计:
对于以上的设计而言,无论哪个对象,在这样的MaxDiff问题中被选择为“最好”或“最差”的情形都只能是以下10种结果之一。
我们也可以用一个表格来图示这10种可能结果。
如果要给每个结果一个对应的偏好度分数,很自然的,我们会想到用被选为“最好”的次数,减去被选为“最差”次数。那么上面的10种结果对应的分数就应该是
这里很清晰的看到,如果某个对象在其所出现的3个任务中均被选为“最好”,则其偏好分数被记为最高分3分,如果在其所出现的3个任务中均被选为“最差”,则其偏好分数被记为最低分-3。而且,最终的偏好分数只有(-3,-2,-1,0,1,2,3)这7种可能(7分量表?)。
更有意思的是,在这样的量表里,中间值0恰好代表无差异,且各个分值之间的差距是可比的(例如3分与2分间差异等同与2分与1分之间的差异,因为都代表着被选为“最好”次数比“最差”的次数多1次。这种量表的统计性质非常好。
比较下我们经常使用的7分量表
则无法保证中间值4分代表偏好无差异,也无法保证分值间的差距是可比的。
来看一个实际的计算例子,还记得本系列第三篇里提到的洗发水外包装的例子么,其中的某一个Maxdiff的任务是这样的(类似的任务总共有6个):
昨天晚上,我让我孩子做了一次上述的MaxDiff测试,并且我和老婆也各完成了一次测试。因此,我手上一共获得了3份有效的MaxDiff数据。
先来看看我孩子选择的结果:
我儿最喜欢的是包装3,只要包装3出现,那么我儿子一定会把它选为“最好”,而他最不喜欢的无异是包装6,只要包装6出现,我儿会好不犹豫地把它选为“最差”。看来,我儿偏爱瓶型有纹路或凹槽的设计。
他的审美观和我及我老婆的很不一样,以下是我们一家三口的MaxDiff测试结果:
我老婆最爱包装4,这也好理解,作为女人,美好的事物往往是纤细苗条的。
尽管以上的Maxdiff计分方式产生了7个可能的分数,量表特性又非常好,那么会不会很多对象都会得到一样的高分或低分,从而导致无法凸显出最受欢迎/最不受欢迎的对象呢?
这个问题其实是关于以上计分(-3,-2,-1,0,1,2,3)的统计分布问题,通过计算机的随机模拟(让计算机随机产生500个受访者的答案,然后按以上计分准则计算每种分值出现的频率),我们很容易地可以得到这样的分布:
很多人看到这张分布图一定会泪流满面,因为这种分布形状是迄今为止概率统计学界上镜率最高(不是之一)的那个分布---正态分布。
也就是说,这种计数方式得到的MaxDiff分值是自带正态分布基因的。再说得通俗点,这种计分方式产生的分值,一定是要保证少数几个对象获得高分,少数几个对象获得低分,尽量拉开最好和最差的区别,也即Maximum Difference。这也是为什么这种测度方法最终被命名为Maximum Difference Scaling的原因。
再看一个实际的例子,笔者曾经执行过一个MaxDiff项目,正好也是8个对象的评测,总共需要完成6个任务,每个任务中出示4个对象进行“最喜欢”和“最不喜欢”的选择。样本量为303份。下图是按照上文所示计分方式得到的MaxDiff分析结果:
可以看到,尽管MaxDiff得分的平均频率(最后一列)是接近正态的,但在每个对象上的频率则有不同。对象2,对象3和对象8获得3分和2分的频率更高,那么相应的,其他对象获得高分的频率就肯定较低。
这种计数分析的结果,有时其精度并不亚于使用分层贝叶斯算法计算的MaxDiff得分。还是上面这个例子,我们来比较下最终的分层贝叶斯算法得到的MaxDiff得分与计数方式得到的MaxDiff得分有多大差异。
两者之间的相关性高达99%,几乎是一模一样的了。唯一的不同之处在于对象1和对象6,但是这两个对象间差异其实不大,且排名居中,并不影响我们判断出哪些是最受青睐和最不受青睐的对象。
令人吃惊的是,即便是在单个受访者层面,MaxDiff计数得分也和分层贝叶斯的计算结果具有极高的相似度。我们可以计算每个受访者通过这两种计算方法得到的MaxDiff得分的相关系数:
上述结果表明,所有受访者在两种方式测得的MaxDiff得分高度相似,最低相关系数都超过了0.9。这意味着在这个项目里,通过两种方式得到的MaxDiff得分几乎是相等的。
上面这些对比分析启发我们,当我们能保证每个受试者层面上,每个对象都能出现至少3次时,用计数分析就足够好了,又快又准。计算机辅助调查可以在受访者完成MaxDiff问题的几秒钟内就分析出该受访者对各个对象的偏好分值。
试想下前面的洗发水外包装MaxDiff,我们可以在受访者做完MaxDiff后,第一时间通过程序得知该受访者对所有8个对象的偏好排序,那么我们可以进一步的追问受访者为何最喜欢他最偏爱的对象。而不是在做完这个项目后再做一个项目去专门了解最受欢迎的对象/产品的具体原因。
最后,需要注意一下计数分析方式的使用局限性。当每个对象在Maxdiff问题中出现的频次无法达到3次时且不平衡时,那么,个体层面的准确性就会下降。但是这时总体层面(所有样本)的准确性仍然可以得到保证,只要样本量足够(保证在总体层面上每个对象至少出现500次或更多)。
分层贝叶斯分析(HierarchicalBayesian analysis)
最后,我给大家简单介绍下分层贝叶斯分析的原理。我们通过一个例子来说明。
大家一定有到餐厅吃饭的经历。点餐这个环节是很多人的痛,很多人都需要询问服务员的推荐。
假设有一家小餐厅新开业,有8道主打菜式,而且价钱都差不多。那么新开张的第一天,餐厅的老板如何预测每种菜式的被选择概率呢?
如果没有其他因素的帮助(譬如本地人爱吃辣),那么餐厅老板只能认为每个人对每道菜式的被选择概率是相等的,即假设食客对菜式无偏好。
餐厅开张营业了一个月,很多人都来这家餐厅用餐,老板在月底的时候统计最近了下这一个月的点餐单,发现菜式A/B/C最受青睐,而菜E/G/H的销量则差强人意。这个规律很重要,老板把这个发现告诉了所有的服务员。
在这家餐厅的所有顾客中,有两位经常来吃饭的食客,小强和小新。
小强每次来几乎都会选择B/D/E。某天小强又来消费了,这次他没有马上决定点什么菜,而是希望服务员能推荐几道菜式。服务员已经对小强有了印象,因为他差不多每次都点B/D/E,因此,这次她推荐B/D/E。
而小新每次来吃饭时对菜式的选择没有明显规律,尽管服务员看着她脸熟,但是却对她的偏好没有任何印象。因此,当小新希望服务员推荐几款菜式时。服务员只好推荐A/B/C,因为老板上个月底刚刚告诉她,过去一个月销量最好的是菜式A/B/C。
转眼一年过去了,餐厅老板在统计过去一年这8道菜式的销量时,发现A/C/E是销量最好的,和开业第一个月的菜式销量规律(第一个月A/B/C最畅销)有些不同了。他很重视这个发现,并且把这个规律告诉了负责点餐的服务员。
第二天,小强和小新又来餐厅吃饭。在过去这一年,小强还是偏爱B/D/E,不论是服务员推荐还是自己直接决定都是如此。而小新一如既往的无规律。这时,如果他俩希望服务员推荐菜式,服务员会如何推荐呢?
很明显,对于小强,服务员很可能还是推荐B/D/E,因为小强只喜欢这几个菜。
而对于小新,服务员最可能推荐的是A/C/E。因为小新点菜太随意,服务员完全记不住她到底最喜欢哪几道菜,而恰好昨天老板刚告诉她最近一年最受大众欢迎的是A/C/E。
这些逻辑看上去是如此地自然,如此地生活化,经常飘在外面吃饭的同学都深有体会。而其中隐藏的服务员对不同食客的菜式偏爱度的估算原理,正是分层贝叶斯估算原理:
最开始时,假设所有人对各个对象的偏好都相同(总体层面无偏好),但是迭代一段时间后(例如过了一个月),发现总体有偏好(A/B/C),而且这种总体偏好的改变是由不同个体(食客)的偏好导致的。
对于体现出明显偏好规律的个体,继续尊重和保留该个体的偏好。而对于没有体现出明显偏好规律的个体,则用总体偏好信息替代。个体偏好在不断修正总体偏好,而总体偏好也在不断修正个体偏好。这个过程不断地循环往复,直到达到一个可接受的稳定状态。
如果用数学语言描述,这个过程可以这样描述:
a = 每个对象偏好效用的样本总体均值向量
C = a的方差—协方差矩阵(即总样本偏好效用的变化幅度)
bi = 每个个体对每个对象的偏好效用,i = 1,2, …
为此,我们使用“吉布斯抽样(Gibbs Sampling)”:
我们从任意给定的 a, C和b的值开始
当我们知道这三者中任意两个时,我们就可以估算第三个
我们重复以下的循环迭代成千上万次:
1.给定b和C, 重新估计a
2.根据新的a和b, 重新估计C
3.根据新的a和新的C, 重新估计b
最初的几千次迭代只用于获得这个过程收敛特性,因此其结果不会被保存。当确保收敛后,后续的估计值可以被看成是从参数的后验分布里随机抽取的,并且可以用于分析。
特别的,每个个体在每个对象上最终偏好效用的“点估计”是成千上万次迭代过程中估计值的平均。
看明白了么?估计大多数人都不明白,但是也不需要大家对这个过程了解的那么清楚。复杂的演算过程交给计算机和软件吧,大家只要记住以下三点就可以了:
1.如果受访者的选择很有个性,那么个体层面的偏好效用估计值更多地依赖他们自己的规律,而受总体分布的影响较少(例如上文中的小强)。
2.如果受访者的选择没有个性(譬如他闭着眼睛随便选择),那么个体层面的偏好效用估计值更多地依赖总体信息,而受其自身回答的影响较小(例如上文中的小新)。
3.总体分布信息是随时会被个体影响的,譬如上文中第一个月大众最偏爱的菜式和第一年大众最偏爱的菜式是不同的。总体信息和个体信息在循环往复的影响下达到可接受的稳定状态。
通过SawtoothSoftware的HB模块,可以很轻松的进行分层贝叶斯估算,而且输出结果是每个受访者对每个对象的MaxDiff得分。下图是一个迭代运算的过程:
可以看到,总共进行了20000次迭代,且系统在1000次迭代后就开始收敛,总体层面的各对象偏好效用趋于稳定。而且每条线(代表每个对象的总体平均偏好)基本无交叉,且可以发现蓝绿线对应的对象最被看好,而最底下的浅蓝色线对应的对象最不被看好,中间的黄色和橙色线非常接近,说明这两个对象的偏好比较接近。
除了SawtoothSoftware,还有其他很多软件也可以进行分层贝叶斯估算。例如SAS的MCMC过程,R等。但SawtoothSoftware毫无疑问是操作最简便,功能最全面,且计算速度最快的。
本节是MaxDiff系列的最后一篇。希望这个系列能帮助大家提高对这项新的调研技术的认识。笔者水平有限,文章中如有错误和疏漏,敬请各位读者谅解!
未来我还会撰写一些最新的MaxDiff应用的简介文章。大家可以关注微信公众号“消费者研究”,第一时间阅读这些文章。
如有技术问题,可以通过fisherliu@diagaid.com进行咨询或切磋。或者访问SawtoothSoftware的官方网站,www.sawtoothsoftware.com获取关于联合分析和MaxDiff等技术的详细技术文档和软件。