游戏快报

【聚类简介】第一部分:游戏中的行为数据分析

【聚类简介】第一部分:游戏中的行为数据分析

在这篇冗长的文章中,会介绍聚类分析的基础,并讨论其在玩家行为中的应用模式,以及玩家如何玩你的游戏中的配置文件开发。

近来,一大批纷至沓来的玩家行为数据不断冲击游戏产业。数据增长的原因有很多,包括引进新的商业模式,技术创新,网络游戏的普及和提高游戏的持久性。

不管原因是什么,行为数据的不断扩散导致从中怎样获得一些归因成为问题。行为数据集非常庞大,且具有时间依赖性,敏感并高维。

聚类——或聚类分析——提供了一个探索并发现这个数据集的模式,这样可以减少数据的整体复杂性。因此,聚类与其他分析玩家和玩家行为的技术在游戏分析领域成为主流。

举个例子,假设正在处理一款FPS游戏,想要调查怎样在游戏中专注于各种游戏指标和留存。收集杀死/死亡比值,在特定模式中的访问时长(步行、开车、或者乘坐交通工具,等等),其他各种事件数据,以及流失/留存数据。运行一个聚类分析,会找到几个不同的集群,但是请注意,大量迅速离开游戏的玩家属于一个集群。玩家几乎用掉所有的游戏时间来驾驶车辆,几乎不用步行,应该更详细的调查这个集群。他们其中可能仅玩了几张有重型车辆的地图,然后在尝试完这些地图后就迅速离开游戏。可以适当归结这些玩家喜欢车辆基地的战斗,但在游戏中低可用度的车辆意味着玩家会快速流失。解决办法可以尝试添加更多的车辆地图,或者需要用到车辆做更多的事情。更详细的分析也可以试图揭示更多的细节,可以通过玩家访问来得出更多的结论。

上面这个案例可以设置不同的解决方案,可以尝试使用错层式的测试。与大多数其他形式的用户研究一样,发现一个问题和一些问题发生原因的信息,但为了验证它,我们需要跟玩家来进行谈话。然而,知道问题的所在就足以设计解决方案并对它们进行测试。

聚类快速有效的将玩家进行分类来获取全面的玩家行为差异,以及这些行为是如何形成的,也为进一步详细分析做好准备。如果呈现所有的聚类分析则大大超出了本文的范围,但本文能足够说明聚类应用在我们了解的每个数据指标中,已经有成千上万的论文和书籍描述这个基础分析。考虑到这一点,它在游戏分析方面的用处是显而易见的。

但是使用聚类技术需要专业知识,对游戏的了解也是评估聚类结果不可或缺的。

这篇文章是整个系列中的第一篇,一共有四篇,将介绍聚类分析对玩家行为的基本原理,以及为什么这类技术对游戏分析非常有用。以下是整个系列的概述:

  • 第一部分文章中,介绍聚类分析的基础。引入聚类背后的基本原理以及其在游戏分析中的应用。因为我们想要传播这个基础知识,所以这篇文章会很长,但是绝对值得一读。在某种程度上,我们正在构建不同的来源,例如:Han和Kamber的《数据挖掘导论》。
  • 第二部分的文章中,我们描述几类算法,并分别讨论它们的优缺点,且为找出更多的相关资料提供参考。
  • 第三部分文章中,会描述在游戏中使用聚类分析的常见误区和基本假设。
  • 第四部分文章中,描述游戏行为数据中特定应用聚类分析的例子。在那之前,这里有一篇关于《战地》和《Tera》的示例文章以及之前看到的《古墓丽影》的分析。作为时间函数的聚类分析例子《可视化动态行为流》。

这里有一些介绍游戏分析的基础知识的书籍列表。对于一般性的统计数据,《Discovering Statistics using IBM SPSS Statistics》这本书是非常不错的。

这个系列旨在帮助人们了解基本统计数据或者游戏分析基本要素的一些经验,又或者为在行为数据中寻找灵感的人们获得可行性见解。

降低维度,发现模式

聚类分析从根本上是一种降维技术。也就是说它可以有多个维度的数据集(如,行为变量/特点),并定位最重要的维度,如,哪些玩家的行为变量是一致的。

这种减少整个搜索空间的维数可以执行使用各种技术,包括描述性特征选择方法结合细分和非监督/监督学习技术。总的来说,这些对寻找游戏行为数据中的模式,以及发展中分组或为游戏开发过程提供见解都是有价值的。

一种处理高维游戏行为数据的方法需要聚类分析。因为聚类作为一种无监督的方法允许勘探数据空间,找到一组玩家的相似行为数据,并确定他们的行为特征。

最初开发人类学和心理学,聚类分析目前广泛应用在许多领域,而且在数据挖掘和统计分析中极为常见。

聚类分析已经在游戏分析中不仅被应用为发现玩家/客户行为的方法,而且被应用在比较和基准游戏测试,评估基础设施性能,设计和训练人工代理和游戏AI。

然而,探究无监督方法,如聚类,需要正确使用专业知识,结合上下文深刻地理解。

今天,不需要基础过程就可以使用统计和分析工具来运行多种聚类算法。然而,对算法如何运行以及其隐含的假设没有一个清晰地认识,这种分析会产生错误的结论。

此外,聚类分析是一个活跃的领域,有许多未解决的研究问题,这意味着验证聚类结构可能是一个挑战,需要专业知识。

此外,没有游戏方面的相关知识,技术性细节,奖励结构和盈利机制,就像游戏中的商业模式一样,在聚类分析的步骤做出明智的选择——从功能选择方面,预处理数据并使其合理的可视化——运行后导致无用或危险的误导性结果的风险。

聚类分析的基础

聚类分析从根本上是指对象分配到同一组这种方式的分组过程集,叫做一个集群,(在某种意义上)与其他的集群相比,这个集群中的对像更相似。在当前背景下,对象是玩家或者人工代理,每个描述经由一组有限的特点。例如,玩家的死亡频率,玩家武器的命中率/未命中率,角色等级,运动轨迹等。特性集可能很复杂,如,包含不同的数据形式。

聚类分析是指一个过程,实际的算法用于开发变化明显的集群。有许多算法,在不同的传统应用领域每个都有不同的优点和缺点。因此,定义聚类算法也有不同,虽然在某种程度上是指一组数据空间中的对象,理解不同的聚类模型对正确的应用程序以及可用的不同算法是至关重要的。

0
聚类分析的一个例子。数据点被分为三个集群,基于相似度。资源来源于:维基百科。

在多维空间中定义的数据对象通常表示为点(向量)。每个维度是一个特性(或属性,变量)。从概念上讲,数据聚类代表一个数据矩阵m,n,m行(每个对象),n列(每个功能)。替代数据矩阵是一个距离矩阵(或距离),包含两两相似(或差异)的m m矩阵。更复杂的数据结构也可以使用特征向量,如,图形或文本字符串。第一个操作通常需要在一个游戏背景下进行标准化和功能转化。这种规范化数据,带他们到相同的规模,或减少维度的数量。

重要的是,横跨所有算法,将对象分配给集群可以称为“硬”或“软”。硬性分配是指对象完全放置在一个集群里(如,聚类算法),然而软性分配是指提供信息度的对象模型属于不同的集群。更详细的划分的聚类算法也是可能的(已知的超过100种,许多个体的变异算法也是存在的),请看这里。

将对象分配给集群的确切过程取决于选择的聚类算法。例如,方差对象空间的欧氏距离。找出地区密集的数据空间对象集合的其他方法使用特定的统计分布。

聚类,重要的是,不是一个自动过程,而是一个知识发现的迭代过程,需要选择和比较的算法,类似密度阈值的定义和优化值,聚类的数量,如,修改有聚类分析生成的模型参数应小心谨慎,因为由于设置的参数,相同的数据集可能导致不同的结果。也就意味着,没有“正确”的算法,而是反复尝试不同算法的问题——这些算法被设计应用在问题的模型中——直到找到一个适合的。聚类仍然是一个高度用户依赖的过程,第一个任务是确定模型所需的类型,然后迭代处理算法和参数调整。