在论文中使用纵向数据作轨迹,体现异质性。
以往有种方法为 “生长混合模型”(GMM)。本文是使用聚类分析对轨迹聚类,分cluster。
讨论部分需讨论这两种方法的比较、优缺点(统计不是自己做的),希望能侧重于对 处理“纵向数据、轨迹”方面。在网上查阅资料发现专业性太强无法自己归纳理解,烦请各位指点
k均值聚类
假设每个 cluster 存在一个中心点,该 cluster 内的所有数据项到这个中心点的欧式距离(勾股定理的扩展:各维度差的平方求和再开方)都小于到其他 cluster 中心点的距离。算法的任务就是找出这些 cluster 的中心点。K-means 算法先随机选取 K (唯一的算法参数) 个点作为中心点,然后通过计算欧式距离来给所有数据项归类。归类之后使用平均值算法(mean)重新计算每个类的中心点,继续计算距离归类,直到中心点不再变化,此时视为收敛完成。
算法简单,容易理解。计算量不大,收敛快。可以很方便的进行分布式计算。默认所有属性对距离的影响是相同的,默认所有数据均匀分布在聚类中。如果数据是三维空间中的圆柱体,模型就失效了。
高斯混合模型(GMM)
假设每个聚类的数据都是符合高斯分布(又叫常态分布或者正态分布)的,当前数据呈现的分布就是各个聚类的分布叠加在一起。使用 EM 算法求解,具体没搞太明白。大概就是两个参数先随机指定一个,然后算另外一个,最后跟结果比较。
不容易理解,需要翻翻统计学的教材。假设各个特征的权重不同,假设各个聚类中的数据分布不均匀。理论上可以拟合任何连续函数。计算量较大。如果其中一个聚类的数据并不服从正态分布、偏态分布,聚类算法会出现偏差。
GMM,学习的过程就是训练出几个概率分布,所谓混合高斯模型就是指对样本的概率密度分布进行估计,而估计的模型是几个高斯模型加权之和(具体是几个要在模型训练前建立好)。每个高斯模型就代表了一个类(一个Cluster)。对样本中的数据分别在几个高斯模型上投影,就会分别得到在各个类上的概率。然后我们可以选取概率最大的类所为判决结果。
理论上可以通过增加Model的个数,用GMM近似任何概率分布
在绝大多数情况下,何时该用潜在剖面分析及潜在类别分析应该是相对清晰的。当进行聚类分析依据的变量都是分类变量的时候(注意只有几点的Likert量表也应该被视作分类变量),我们需要进行潜在类别分析;而当聚类分析依据的是连续变量的时候,我们需要进行潜在剖面分析。然而,当我们同时有分类和连续变量(混合类型数据集)的时候,我们需要怎么办呢?把视野放宽,暂时脱离这些有着全面模型假设的混合模型,去往令人神往的其他聚类分析的乐园--哇,这里居然也有这么多有意思的方法。除了上述混合模型之外,最著名的模型应当是K-means了:这是一种特别针对连续变量的分类方法,目标是寻找到几个“中心点”(中心点可以不是样本中的数据),而每个样本都将会被分配到离自己最近的中心点所代表的聚类中。下图是个很好的例子,样本中所有点被非常清晰地分成了红蓝绿三个类别。
最后,一个与之前的论述有些相关与此同时非常重要的点是研究者们必须了解通过混合模型所得到的聚类未必是稳定的——在很多情况下,增加或者减少某几个变量能够带来完全不同的结果;与此同时增加被试数量很有可能使得你能够多发现聚类的数量。换句话说,你当然需要对自己的结果有信心,但是更重要的是混合模型是一个高度数据驱动的模型,在没有特别好的先验理论的前提下,在没有其他相关研究交叉验证的情况下,一定要特别小心不能过度推广得到的实验结果。
出于习惯,研究者往往会收集很多变量——犹如大海捞针,我们总是习惯于错杀一万而不放过一个;而这带来的结果,就是研究中往往会存在多余的噪音变量——这些变量并不会对实际的聚类产生任何实质上的影响。在这种情况下,用一些“高端”方法通过统计手段自动筛选出有用的变量既显得高级(从而增大你文章录用的可能性),更重要的是往往能带来更为准确的聚类分析结果。本文显然无法完成对于这些方法的完全讲述,但是我们在这里推荐几个非常有用但是又易操作的R包:对于潜在剖面分析,可以使用clustervarsel和SelvarMix;而对于潜在类别分析,可以使用reglca。就是这些!
随便搞几层神经网络就搞定了,理解他么用,要非要理解建议去b站搜一下,看能理解不推荐东大的视频