将相关矩阵聚类为Python

时间:2018-01-21 09:14:50

标签: python numpy scipy cluster-analysis correlation

假设我计算了500种股票价格的相关性,并将它们存储在500x500相关矩阵中,对角线上有1s。

如何将相关性聚类为较小的相关矩阵(在Python中),以便最大化每个矩阵中股票的相关性?这意味着,我想对股票进行聚类,以便在每个集群中,股票价格彼此高度相关。

我可以聚集到多少个较小的矩阵没有上限,尽管最好,它们的大小相似,即最好有3个100x100矩阵和1个200x200矩阵,而不是10x10矩阵,90x90矩阵和400x400矩阵。 (即最小化矩阵尺寸的标准偏差)。

最好用Python完成。我试图查找SciPy的集群库,但尚未找到解决方案(我是SciPy的新手和此类统计编程问题)。

非常感谢任何帮助我指明正确方向的帮助!

1 个答案:

答案 0 :(得分:0)

这里显而易见的选择是分层凝聚聚类。

请注意,大多数工具(例如,sklearn)都需要距离矩阵。但它可以简单地用于相似性矩阵。然后你可以使用相关性。这是教科书的内容。