没有标签的分组 聚类在没人告诉它分组是什么的情况下,寻找相似行组成的群。K-means 是主力方法:选 k k k 个中心,然后重复两步——把每个点分给最近的中心,再把每个中心移到其所属点的均值,直到不再变化。它降低的量是惯性,即每个点到其中心的距离平方和。因为 k-means 用距离,所以特征必须在同一尺度上;又因为它总会找出 k k k 个群,哪怕数据里根本没有群,它也会找到。在金融中,聚类用来给状态(平静、动荡、危机)贴标签,以及找同类股——行为相似的股票。
i n e r t i a = ∑ i ∥ x i − c k ( i ) ∥ 2 , s i = b i − a i max ( a i , b i ) \mathrm{inertia}=\sum_{i}\left\|x_i-c_{k(i)}\right\|^{2},\qquad s_i=\frac{b_i-a_i}{\max(a_i,\,b_i)} inertia = i ∑ x i − c k ( i ) 2 , s i = max ( a i , b i ) b i − a i (1) 如何判断聚类好坏?一个点的轮廓系数比较 a a a (它到本群其他点的平均距离)与 b b b (它到最近的另一群各点的平均距离):s = ( b − a ) / max ( a , b ) s=(b-a)/\max(a,b) s = ( b − a ) / max ( a , b ) 。对于处在紧凑且分离良好的群深处的点,它接近 1 1 1 ;在边界上接近 0 0 0 ;点很可能被分错群时为负。平均轮廓系数有助于比较不同的 k k k ,但它从不证明群是真实的。务必换起始点和换特征重新运行,并问一问这些群对交易是否有意义。
六个点与真实股票 取点
1 , 2 , 3 , 10 , 11 , 12 1,2,3,10,11,12 1 , 2 , 3 , 10 , 11 , 12 ,初始中心为
2 2 2 和
9 9 9 。点
1 , 2 , 3 1,2,3 1 , 2 , 3 分给中心
2 2 2 ,
10 , 11 , 12 10,11,12 10 , 11 , 12 分给中心
9 9 9 。新的中心是
2 2 2 和
11 11 11 ,惯性为
( 1 + 0 + 1 ) + ( 1 + 0 + 1 ) = 4 (1+0+1)+(1+0+1)=4 ( 1 + 0 + 1 ) + ( 1 + 0 + 1 ) = 4 。对点
3 3 3 ,
a = ( 2 + 1 ) / 2 = 1.5 a=(2+1)/2=1.5 a = ( 2 + 1 ) /2 = 1.5 ,
b = ( 7 + 8 + 9 ) / 3 = 8 b=(7+8+9)/3=8 b = ( 7 + 8 + 9 ) /3 = 8 ,所以
s = ( 8 − 1.5 ) / 8 = 0.8125 s=(8-1.5)/8=0.8125 s = ( 8 − 1.5 ) /8 = 0.8125 。在真实数据上,用相对平均股票的贝塔和年化波动率描述的
54 54 54 只股票,
k = 2 k=2 k = 2 时分成
30 30 30 和
24 24 24 只(轮廓系数
0.53 0.53 0.53 ),
k = 3 k=3 k = 3 时分成
25 , 22 , 7 25,22,7 25 , 22 , 7 只(
0.52 0.52 0.52 ),
k = 4 k=4 k = 4 时轮廓系数为
0.46 0.46 0.46 。对 SPY,按
20 20 20 日波动率和收益给日子聚类,找到
72 % 72\% 72% 的平静日(波动率
12.4 % 12.4\% 12.4% )、
25.7 % 25.7\% 25.7% 的中等日(
20.3 % 20.3\% 20.3% )和
2.3 % 2.3\% 2.3% 的危机日(
66.3 % 66.3\% 66.3% ,
20 20 20 日收益
− 12.7 % -12.7\% − 12.7% )。隐马尔可夫模型给出了不同的占比,因为特征和方法都不同。
两步 :分给最近的中心,把中心移到均值,重复。先做缩放 :距离对所有特征一视同仁,单位大的特征会占主导。聚类是一种视角,不是事实 :交易前先检查其稳定性和含义。实验:评分内容 新的中心 10 分 惯性 10 分 群内距离 10 分 轮廓系数 15 分 不平静的日子 5 分 为什么要缩放特征 10 分 k-means 的步骤 10 分 配对术语 10 分 为什么要检验聚类 20 分