最近发现,主成分分析在某些时候,相当好用。
虽然主成分分析不是高大上的算法,就是用协方差矩阵求特征根,把最大的两个特征根提取出来当2个主成分。
当你有某年的月份数据,有12个列,每个月份是一个列,你想探索在这些月份之间是否有什么规律?
难点:如果你直接使用聚类,探索内部结构,通常很难得到有价值的东西,而且12个变量,你很难可视化,用图形表示。
解决之道:当这些月份之间确实不同,比如中国一般2月是新年,2月的数据一般会明显区别于其他的月份。当然也会有其他的规律,这要根据具体的数据,这时,使用主成分分析就很好使,找到2个主成分,把这两个主成分当成2个维度,使用载荷图就把所有的观察值都画在一个图上,是否存在有趣的规律,一眼就可以看到。然后在用聚类把主成分中的规律提取出来。
比如下面链接中的分析,该文章把自行车出行的数据转换成以天为行,以每天的24小时为列,尝试探索这24个小时之间的关系。
首先:对24个维度做主成分分析,取得2个主成分,
其次:画图后,发现有2个类别,使用高斯混合模型聚类,把两个类别聚类出来,
最后:标签返回源数据,解释这两个类别:
早晚有两个高峰,早高峰通过桥东边的多,晚高峰通过桥西边的多,刚好一个去,一个返;
详情见链接中的网页文章,有图片有代码。
https://jakevdp.github.io/blog/2015/07/23/learning-seattles-work-habits-from-bicycle-counts/
备注:转移自新浪博客,截至2021年11月,原阅读数128,评论0个。