मेरे पास कुछ समय श्रृंखला के साथ डेटाफ्रेम है। मैंने उन समय श्रृंखला से एक सहसंबंध मैट्रिक्स बनाया और मैं इस सहसंबंध मैट्रिक्स पर एक पदानुक्रमित क्लस्टरिंग बनाना चाहता हूं। मैं उसे कैसे कर सकता हूँ?पाइथन scipy/numpy/pandas में समय श्रृंखला का पदानुक्रमित क्लस्टरिंग?
#
# let't pretend this DataFrame contains some time series
#
df = pd.DataFrame((np.random.randn(150)).reshape(10,15))
0 1 2 13 14
0 0.369746 0.093882 -0.656211 .... -0.596936 0 0.095960
1 0.641457 1.120405 -0.468639 .... -2.070802 1 -1.254159
2 0.360756 -0.222554 0.367893 .... 0.566299 2 0.932898
3 0.733130 0.666270 -0.624351 .... -0.377017 3 0.340360
4 -0.263967 1.143818 0.554947 .... 0.220406 4 -0.585353
5 0.082964 -0.311667 1.323161 .... -1.190672 5 -0.828039
6 0.173685 0.719818 -0.881854 .... -1.048066 6 -1.388395
7 0.118301 -0.268945 0.909022 .... 0.094301 7 1.111376
8 -1.341381 0.599435 -0.318425 .... 1.053272 8 -0.763416
9 -1.146692 0.453125 0.150241 .... 0.454584 9 1.506249
#
# I can create a correlation matrix like this
#
correlation_matrix = df.corr(method='spearman')
0 1 ... 13 14
0 1.000000 -0.139394 ... 0.090909 0.309091
1 -0.139394 1.000000 ... -0.636364 0.115152
2 0.175758 0.733333 ... -0.515152 -0.163636
3 0.309091 0.163636 ... -0.248485 -0.127273
4 0.600000 -0.103030 ... 0.151515 0.175758
5 -0.078788 0.054545 ... -0.296970 -0.187879
6 -0.175758 -0.272727 ... 0.151515 -0.139394
7 0.163636 -0.042424 ... 0.187879 0.248485
8 0.030303 0.915152 ... -0.430303 0.296970
9 -0.696970 0.321212 ... -0.236364 -0.151515
10 0.163636 0.115152 ... -0.163636 0.381818
11 0.321212 -0.236364 ... -0.127273 -0.224242
12 -0.054545 -0.200000 ... 0.078788 0.236364
13 0.090909 -0.636364 ... 1.000000 0.381818
14 0.309091 0.115152 ... 0.381818 1.000000
अब, इस मैट्रिक्स पर पदानुक्रमित क्लस्टरिंग कैसे बना सकते हैं?
मुझे लगता है कि इस सवाल का है आंशिक रूप से http://stackoverflow.com/questions/2907919/hierarchical-clustering-on-correlations-in-python-scipy-numpy से संबंधित है, लेकिन मुझे समझ में नहीं आया कि उत्तर – luca
आपको इसके बारे में अधिक विशिष्ट होना चाहिए आप जो पूछ रहे हैं उसका उत्तर उस दूसरे प्रश्न में नहीं दिया गया है। – BrenBarn
धन्यवाद ब्रेनबर्न। लिंक किए गए प्रश्न से उत्तर पढ़ना, क्या यह सही है अगर मैं क्लस्टरिंग प्राप्त करने के लिए "Z = linkage (correlation_matrix, 'single', 'सहसंबंध') चलाता हूं? – luca