1. 如何用excel对数据进行聚类分析
用excel对数据进行聚类分析的方法如下:
因为数据量纲不同将影响聚类分析的结果,所以在分析之前要对数据进行无量纲化处理,无量纲化处理的方法有很多种,我们可以根据自己的实际需要进行选择。本经验示例较为简单,只需要对有序尺度数据进行无量纲化。
对于有序尺度,可以采用数值编码的方式将其转换为间距型。
如:优、良、中、及格、不及格
2. K均值聚类分析的原理
在训练图像中,数据事件数量非常多。如果将这些数据事件逐一与模拟区域数据模式进行比对,对计算机性能要求高,计算效率低下。对数据事件分析发现,很多数据事件具有很高的相似性,可以将其划分为同一类。这样大大减少数据事件的个数,提高了运算效率。基于这样考虑,聚类分析技术被引入到多点地质统计学中。
J.B.MacQueen在1967年提出的K-means算法是到目前为止用于科学和工业应用的诸多聚类算法中一种极有影响的技术。它是聚类方法中一个基本的划分方法,常常采用误差平方和准则函数作为聚类准则函数,误差平方和准则函数定义为
多点地质统计学原理、方法及应用
式中:mi(i=1,2,…,k)是类i中数据对象的均值,分别代表K个类。
K-means算法的工作原理:首先随机从数据集中选取K个点作为初始聚类中心,然后计算各个样本到聚类中的距离,把样本归到离它最近的那个聚类中心所在的类。计算新形成的每一个聚类的数据对象的平均值来得到新的聚类中心,如果相邻两次的聚类中心没有任何变化,说明样本调整结束,聚类准则函数已经收敛。本算法的一个特点是在每次迭代中都要考察每个样本的分类是否正确。若不正确,就要调整,在全部样本调整完后,再修改聚类中心,进入下一次迭代。如果在一次迭代算法中,所有的样本被正确分类,则不会有调整,聚类中心也不会有任何变化,这标志着已经收敛,因此算法结束。
基本步骤如下:
a.对于数据对象集,任意选取K个对象作为初始的类中心;
b.根据类中对象的平均值,将每个对象重新赋给最相似的类;
c.更新类的平均值,即计算每个类中对象的平均值;
d.重复b和c步骤;
e.直到不再发生变化。
图2-7是利用K-means方法做的一个数据事件的聚类分析结果。数据类定义为10个。数据事件来自于图2-8,采用的数据样板是8×8的数据样板。
K-means算法优点为当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的,缺点主要有三个:
图2-7 K-means方法聚类结果
图2-8 用于聚类的训练图像,数据样板选择为8*8
1)在K-means算法中K是事先给定的,这个K值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。这是K-means算法的一个不足。
2)在K-means算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果,这也成为K-means算法的一个主要问题。
3)从K-means算法框架可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。所以需要对算法的时间复杂度进行分析、改进,提高算法应用范围。
3. 聚类算法的具体方法
k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
k-means 算法的工作过程说明如下:
首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;
然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。
一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 K-MEANS有其缺点:产生类的大小相差不会很大,对于脏数据很敏感。
改进的算法:k—medoids 方法。这儿选取一个对象叫做mediod来代替上面的中心的作用,这样的一个medoid就标识了这个类。K-medoids和K-means不一样的地方在于中心点的选取,在K-means中,我们将中心点取为当前cluster中所有数据点的平均值,在 K-medoids算法中,我们将从当前cluster 中选取这样一个点——它到其他所有(当前cluster中的)点的距离之和最小——作为中心点。
步骤:
1,任意选取K个对象作为medoids(O1,O2,…Oi…Ok)。
以下是循环的:
2,将余下的对象分到各个类中去(根据与medoid最相近的原则);
3,对于每个类(Oi)中,顺序选取一个Or,计算用Or代替Oi后的消耗—E(Or)。选择E最小的那个Or来代替Oi。这样K个medoids就改变了,下面就再转到2。
4,这样循环直到K个medoids固定下来。
这种算法对于脏数据和异常数据不敏感,但计算量显然要比K均值要大,一般只适合小数据量。 上面提到K-medoids算法不适合于大数据量的计算。Clara算法,这是一种基于采样的方法,它能够处理大量的数据。
Clara算法的思想就是用实际数据的抽样来代替整个数据,然后再在这些抽样的数据上利用K-medoids算法得到最佳的medoids。Clara算法从实际数据中抽取多个采样,在每个采样上都用K-medoids算法得到相应的(O1, O2 … Oi … Ok),然后在这当中选取E最小的一个作为最终的结果。 Clara算法的效率取决于采样的大小,一般不太可能得到最佳的结果。
在Clara算法的基础上,又提出了Clarans的算法,与Clara算法不同的是:在Clara算法寻找最佳的medoids的过程中,采样都是不变的。而Clarans算法在每一次循环的过程中所采用的采样都是不一样的。
与上面所讲的寻找最佳medoids的过程不同的是,必须人为地来限定循环的次数。
4. 如何对用户进行聚类分析
需要搜集用户的哪些特征?
聚类分析变量选择的原则是:在哪些变量组合的前提,使得类别内部的差异尽可能的小,即同质性高,类别间的差异尽可能的大,即同质性低,并且变量之间不能存在高度相关。
常用的用户特征变量有:
①
人口学变量:如年龄、性别、婚姻、教育程度、职业、收入等。通过人口学变量进行分类,了解每类人口的需求有何差异。
②
用户目标:如用户为什么使用这个产品?为什么选择线上购买?了解不同使用目的的用户的各自特征,从而查看各类目标用户的需求。
③
用户使用场景:用户在什么时候,什么情况下使用这个产品?了解用户在各类场景下的偏好/行为差异。
④
用户行为数据:如使用频率,使用时长,客单价等。划分用户活跃等级,用户价值等级等。
⑤
态度倾向量表:如消费偏好,价值观等,看不同价值观、不同生活方式的群体在消费取向或行为上的差异。
需要多少样本量?
没有限制,通常情况下与实际应用有关,如果非要加一个理论的限制,通常认为,样本的个数要大于聚类个数的平方。
①如果需要聚类的数据量较少(<100),那么三种方法(层次聚类法,K-均值聚类法,两步聚类法)都可以考虑使用。优先考虑层次聚类法,因为层次聚类法产生的树状图更加直观形象,易于解释,并且,层次聚类法提供方法、距离计算方式、标准化方式的丰富程度也是其他两种方法所无法比拟的。
②如果需要聚类的数据量较大(>1000),应该考虑选择快速聚类别法或者两步聚类法进行。
③如果数据量在100~1000之间,理论上现在的计算条件是可能满足任何聚类方法的要求的,但是结果的展示会比较困难,例如不可能再去直接观察树状图了。
应用定量方法还是定性方法?
聚类分析是一种定量分析方法,但对聚类分析结果的解释还需要结合定性资料讨论。
1.聚类分析的定义与用途
聚类分析(Cluster Analysis)是一种探索性的数据分析方法,根据指标/变量的数据结构特征,对数据进行分类,使得类别内部的差异尽可能的小,即同质性高,类别间的差异尽可能的大,即同质性低。
2.聚类分析的方法
①层次聚类法(Hierarchical),也叫系统聚类法。既可处理分类变量,也可处理连续变量,但不能同时处理两种变量类型,不需要指定类别数。聚类结果间存在着嵌套,或者说层次的关系。
②K-均值聚类法(K-Means Cluster),也叫快速聚类法。针对连续变量,也可处理有序分类变量,运算很快,但需要指定类别数。K-均值聚类法不会自动对数据进行标准化处理,需要先自己手动进行标准化分析。
③两步聚类法(Two-Step Cluster):可以同时处理分类变量和连续变量,能自动识别最佳的类别数,结果比较稳定。如果只对连续变量进行聚类,描述记录之间的距离性时可以使用欧氏(Euclidean)距离,也可以使用对数似然值(Log-likelihood),如果使用前者,则该方法和传统的聚类方法并无太大区别;但是若进行聚类的还有离散变量,那么就只能使用对数似然值来表述记录间的差异性。当聚类指标为有序类别变量时,Two-Step Cluster出来的分类结果没有K-means cluster的明晰,这是因为K-means算法假定聚类指标变量为连续变量。
3.聚类分析的步骤
①确定研究目的:研究问题关注点有哪些、是否有先验分类数…
②问卷编制:态度语句李克特项目、有序类别…
③确定分析变量:问卷变量的类型,连续or分类,有序类别or无序类别、是否纳入后台数据,变量间相关性低…
④聚类分析:聚类分析方法选择、数据标准化方法、聚类类别数确定…
⑤结果检验:类别间差异分析、是否符合常理…
⑥聚类结果解释:类别的命名、类别间的差异、结合定性资料解释…