method=指定方法:一般会根据观测值多少(size)、形状(shape)、离散性(dispersion)来综合判断使用什么方法;
1)K-means和ward倾向于每个类中有相同的观测值。
2)average倾向于聚的类具有相同的方差;
3)非参模型single、twostage和density系列的方法倾向于不规则的图形。
4)Centroid(质心)对异常值比较稳健。
一般来说可以分成下面几类是常用的,如果聚类特征特别好,哪种方法基本上没有什么区别。
1)类间界限不清晰的情况,一般使用twostage(调整k)和ward的方法
title;
data closer;
keep x y c;
n=50; scale=1;
mx=0; my=0; c=3; link generate;
mx=3; my=0; c=1; link generate;
mx=1; my=2; c=2; link generate;
stop;
generate:
do i=1 to n;
x=rannor(9)*scale+mx;
y=rannor(9)*scale+my;
output;
end;
return;
run;
proc sgplot;
scatter y=y x=x / group=c ;
run;
2)不同观测值和离散性的多元正态(twostage(调整k)、single)
data unequal;
keep x y c;
mx=1; my=0; n=20; scale=.5; c=1; link generate;
mx=6; my=0; n=80; scale=2.; c=3; link generate;
mx=3; my=4; n=40; scale=1.; c=2; link generate;
stop;
generate:
do i=1 to n;
x=rannor(1)*scale+mx;
y=rannor(1)*scale+my;
output;
end;
return;
run;
proc sgplot;
scatter y=y x=x / group=c;
run;
3)细长型的数据分布(twostage(圆形区域内聚类)、结合aceclus(细长型的聚类))
data elongate;
keep x y z;
ma=8; mb=0; z=1; link generate;
ma=6; mb=8; z=2; link generate;
stop;
generate:
do i=1 to 50;
a=rannor(7)*6+ma;
b=rannor(7)+mb;
x=a-b;
y=a+b;
output;
end;
return;
run;
proc sgplot;
scatter y=y x=x / group=z;
run;
4)Nonconvex聚类(centroid、twostage(调整k扑捉非线性趋势))
data noncon;
keep x y;
do i=1 to 100;
a=i*.0628319;
x=cos(a)+(i>50)+rannor(7)*.1;
y=sin(a)+(i>50)*.3+rannor(7)*.1;
output;
end;
run;
proc fastclus data=noncon out=out maxc=2 noprint;
run;
proc sgplot;
scatter y=y x=x / group=cluster;
run;
不规则图形还是要看需要扑捉到什么图形,一般可以在非参的一类方法中,调整参数达到目的
以上均是2个变量的间的散点图,如果需要绘制多变量简单的图形,一般通用的做法是绘制典型变量的图形
在SAS中一般会结合典型判别过程进行处理。