判别分析(Discriminant Analysis)
一、概述:
判别问题又称识别问题,或者归类问题。
判别分析是由Pearson于1921年提出,1936年由Fisher首先提出根据不同
类别所提取的特征变量来定量的建立待判样品归属于哪一个已知类别的数学模型。
根据对训练样本的观测值建立判别函数,借助判别函数式判断未知类别的个体。
所谓训练样本由已知明确类别的个体组成,并且都完整准确地测量个体的有关的判别变量。
训练样本的要求:类别明确,测量指标完整准确。一般样本含量不宜过小,但不能为追求样本含量而牺牲类别的准确,如果类别不可靠、测量值不准确,即使样本含量再大,任何统计方法语法弥补这一缺陷。
判别分析的类别很多,常用的有:适用于定性指标或计数资料的有最大似然法、训练迭代法;适用于定量指标或计量资料的有:Fisher二类判别、Bayers多类判别以及逐步判别。半定量指标界于二者之间,可根据不同情况分别采用以上方法。
类别(有的称之为总体,但应与population的区别)的含义——具有相同属性或者特征指标的个体(有的人称之为样品)的集合。如何来表征相同属性、相同的特征指标呢?
同一类别的个体之间距离小,不同总体的样本之间距离大。
距离是一个原则性的定义,只要满足对称性、非负性和三角不等式的函数就可以称为距
绝对距离
马氏距离:(Manhattan distance)
设有两个个体(点)X与Y(假定为一维数据,即在数轴上)是来自均数为,协方差阵为的总体(类别)A的两个个体(点),则个体X与Y
的马氏距离为
X与总体(类别)A的距离
D(X,Y)(X,A)为D
明考斯基距离(Minkowski distance): 明科夫斯基距离 欧几里德距离(欧氏距离)
二、Fisher两类判别
一、训练样本的测量值
A类训练样本
编号 1 2
x1 xA11 xA21
x2 xA12 xA22
xm
xA1m xA2m
nA
均数
xAnA1 A1
xAnA2 A2
B类训练样本
xAnAm Am
编号 1 2
x1 xB11 xB21
x2 xB12 xB22
xm
xB1m xB2m
nB
均数
xBnB1 B1
xBnB2 B2
xBnBm Bm
二、建立判别函数(Discriminant Analysis Function)为:
YC1X1C2X2CmXm
其中:C1、C2和Cm为判别系数(Discriminant Coefficient) 可解如下方程组得判别系数。
w11C1w12C2w1mCm1(A)1(B)w21C1w22C2w2mCm2(A)2(B)
wm1C1wm2C2wmmCmm(A)m(B)
各类的离差阵分别以L(A)、L(B)表示
L11(A)L12(A)
L(A)L22(A)
L(A)21
Lm1(A)Lm2(A)
L1m(A)
L2m(A)
Lmm(A)L1m(B)
L2m(B)
Lmm(B)
L11(B)L12(B)
L(B)L22(B)
L(B)21
Lm1(B)Lm2(B)
类内离差阵W为L(A)、L(B)之和
WL(A)L(B)
w11w21W
wm1
三、Y值的判别界值
将1(A)、2(A)、 将1(B)、2(B)、 两类的判别界值为:
w12w22wm2
w1m
w2m
wmm
、m(A)代入判别函数,得到相应的(A), 、m(B)代入判别函数,得到相应的(B),
Yc
(A)(B)
2
当两类的样本含量相差较多时应加权,用下式计算判别界值
Yc
nA(A)nB(B)
nAnB
将每个个体的1、2、 、m代入判别函数计算Y,根据判别界值Yc判别归
类。
四、对判别函数检验
T为训练样本中两类和在一起的离差阵(注意与W的区别)
t11t12t1mttt2mT2122 tttmmm1m2
计算Wilks统计量U
U
F
WT
1UNm1
, 1m,2nm1 Um
五、回代 观察判别函数的判别效果
举例 设要建立一个判别函数来判别医院的工作情况,公认的A类医院11所,
B类医院9所。
X1 :床位使用率 X2 :治愈率 X3 :诊断指数
判别指标如下两表:
A类医院
编号 1 2 3 4 5 6 7 8 9 10 11 均数
B类医院
编号 1
X1 72.48
X2 78.12
X3 82.38
Y 7.0300
X1 98.82 85.37 86.64 73.08 78.73 103.44 91.99 87.50 81.82 73.16 86.19 89.3373
X2 85.49 79.10 80.64 86.82 80.44 80.40 80.77 82.50 88.45 82.94 83.55 82.8273
X3 93.18 99.65 96.94 98.70 97.61 93.75 93.93 94.10 97.90 92.12 93.30 94.7073
Y 7.9839 7.9879 7.9391 8.1008 7.8836 7.8807 7.8161 7.3665 8.1802 7.6592 7.8919 7.8781
2 3 4 5 6 7 8 9 均数
合计均数
58.81 72.48 90.56 73.73 72.79 74.27 93.62 78.69 76.3811
86.20 84.87 82.07 66.63 87.59 93.91 85.89 77.01 79.1433
73.46 74.09 77.15 93.98 77.15 85.54 79.80 86.79 81.1489
6.7616 6.8505 7.0413 7.2244 7.0550 6.7346 7.3152 7.2522 7.0331
81.857 81.170 88.606
1.计算各类中的变量值均数
2.计算各类的离差阵及两类的离差阵之和
921.956085.6700104.7177
L(A)89.78906.1099
187.6898
61.9823867.113745.5352
L(B)602.2566390.0085
360.0057
1789.069740.134842.7354
WL(A)L(B)692.0456383.8986
547.6955
3.
1(A)1(B)=86.3376-76.3811=9.9562
2(A)2(B)=82.8273-79.1433=3.6840 3(A)3(B)=94.7073-81.1489=13.5584
4.
w11C1w12C2w13C31(A)1(B)w21C1w22C2w23C32(A)2(B)
w31C1w32C2w33C33(A)3(B)
1789.0697C140.1348C242.7354C39.956240.1348C1692.0456C2383.8986C33.6840
42.7354C1383.8986C2547.6955C313.5584
解此方程组得
C1=0.007440 C2=0.032412 C3=0.048055
判别函数为
Y0.007440x10.032412x20.048055x3
5.求Yc
(A)=7.8781 (B)=7.0331
Yc
(A)(B)
=7.4556
2
Yc
nA(A)nB(B)
=7.4978
nAnB
6.检验
2279.7392141.4208625.4625T759.2241136.6546
1457.6529
U
F
T
=
410978769
=0.192944
2130041753
1UNm1
=22.3085 Um
1m3
2Nm116
、 T 为相应矩阵的行列式的值
7.回代(internal validation)
判别效果
原分类 A
B
A正确率= 90.9% B正确率= 100%
总正确率(符合率)= 91%
A误判率= B误判率= 总误判率= 5%
符合率的高低取决于所选判别指标的特异性以及训练样本中各个体分类的可靠性。
组内回代 组外回代 剔除回代
判别函数的判别归类 A 10 0
B 1 0
Bayes多类判别
设有g个总体,记为A1,A2,,Ag.提取了m个特征变量,记为x1,x2,,xm.对各个总体分别做了n1,n2,,ng次试验,得到的观测数据记为X(xkij)k1,2,,g;
i1,2,,nk;
j1,2,m
xkij代表第k个总体的第i个样本的第j个特征变量的观测值。
注意总体、样品的概念
Bayes多类判别是要建立g个判别函数
Y(A1)C0(A1)C1(A1)X1C2(A1)X2Cm(A1)Xm Y(A2)C0(A2)C1(A2)X1C2(A2)X2Cm(A2)Xm
Y(Ag)C0(Ag)C1(Ag)X1C2(Ag)X2Cm(Ag)Xm
将每个个体代入每个函数式求得Y(A对于具体某个个体,Y(A2)Y(Ag),1)、
哪个Y值最大,就将其判为哪类。
Cj 为判别系数
过程Bayes多类判别分析的过程
1.计算判别系数
(1)计算各组每个各变量的均数 kj k1,2,,G,
j1,2,m,
(2)计算各组的离差阵L(Ak)和类内离差阵
W=L(A1)L(A2)L(AG)
w11
w
W21
wm1
(3)求W的逆矩阵W
1
w12w22wm2
w1m
w2m
wmm
A1类的判别系数计算:
w11w211
W
wm1
w12w22wm2
w1m
2mw
wmm
w11
C1(A1)
21
C2(A1)(NG)w
wm1
Cm(A1)
w12
w22wm2
w1m1(A1)
2m
w2(A2)
(A)mmwmm
1m
C0(A1)Cj(A1)j(A1)
2j1
其余各类的判别系数以同样的方法求得,并可对每个个体的所属类判定求出后
验概率(或称事后概率posterior probability,与之对应的是先验概率或事前概率prior probability),这与后面的逐步判别分析中的计算方法一样,这里不做介绍。
2.假设检验(略放在逐步之后?还是先讲) 3.判别函数的判别效果观察
举例 用Bayes多类判别分析法对前面Fisher 二类判别分析的例子。 1.原始数据及基本计算(略) 1.计算类内离差阵数据和其逆矩阵
1789.069740.134842.7354W692.0456383.8986
547.6955
其逆矩阵为
0.00056370.00009340.0001095
W10.00237980.0016754
0.0030087
C1(A)C(A)2(202)C(A)3
0.00056370.00009340.000109586.3373
0.00237980.001675482.8273
0.003008794.7073
1.2019=6.5493 7.7970
C0(A)
的A类的判别函数为
-692.3312
Y(A)692.23421.2019x16.5493x27.797x3 Y(B)558.12991.068x15.9658x26.932x3
其中
逐步判别分析 (Stepwise Discriminant Analysis)
从m个可能有判别能力的变量中筛选出对判别分类有统计学意义的p
(pm)个变量,建立判别函数
Y(A1)C0(A1)C1(A1)X1C2(A1)X2Cp(A1)XplnQ(A1)
Y(A2)C0A(2)C1A(XCA2(X2)Xp2)2)12CpA(
QAln ()
Y(A1C(gA)1Xg)C0(Ag)
式中Q(A1)、Q(A2)Q(Ag)为各类的先验概率 1.准备工作
(1)计算各类各指标的均数,计算各指标的总均数
(2)计算类内离差阵 W,记为 W(此为初始阵)
2
C(gA)2X
p
C(gA)pXln Q(A)g
计算总离差阵 T,记为 T
(3)确定检验水准(或与之相对应的F值)
2.逐步筛选变量(前进法、后退法、逐步法)
筛选变量过程中(无论是引入一个变量还是剔出一个变量),每一步都要对上一
步所得的矩阵作消去变换。设现在进行到(g+1)步,上一步(g步)曾得到两个矩阵(W
(g)
,
(g1)(g)T(g1)),本步要引入(或剔除)变量xr,W和T要按下式以(r,r)为主元作消去
变换。
(g1)
wij
1
gwrr
g
wrjg
wrrgwij
gwrr
gggwirwrjwijg
wrr1tg
rr
g
trjg
trrg
tijgtrr
gggtirtrjtijg
trr
ijrir,ir,ir
jrjrjr
ijrir,ir,ir
jrjrjr
(g1)tij
每一步中哪个变量的判别能力强?看Wilks U
(g)(g)
Ur(g1)trrwrr
检验方法:是否要剔除?
F
1UrNG(l1)
, 1G1,2NG(l1)
UrGl
是否要剔除?
F
1UrNGl
, 1G1,2NGl UrGl
(略)
Bayes多类判别(续)
1.检验判别函数的判别能力
U
WT
2(N1
lG
)lnU 2
l(G1)
2.计算判别系数,建立判别函数
应加入先验概率
3.判别函数对任意两类之间的判别能力
Wilks U反映G类之间总的判别能力,任意两类(如E类和F类)间用
Mahalanobis D2反映(公式略)
对马氏距离的检验用
FEF
(NGl1)nEnF
l(NG)(nEnF)
1G1,2NGl1
4.判别分类
对于某个体,代判别函数,分别计算Y(A1)、Y(A2)Y(Ag),其中Y(AF)最
大,则判为该个体数AF类,必要时还可计算出后验概率:
P(AF)
eY(AF)
e
j1
G
Y(Aj)
5.回代 观察判别函数的判别效果
聚类分析(Cluster Analysis)
常用的系统聚类、逐步聚类和模糊聚类法
1.根据相似系数和距离聚类
其中相似系数有 (1)相关系数
rij
(2)列联系数
lCij
(3)点相关系数
rij
常用的距离包括: (1)绝对距离
d12x11x21x12x22x1mx2m
缺点:各变量量纲不同,数量级不同,不能直接向加 (可先行标准化后消除上述缺点)
个体a、b的距离(也称L1距离)为
dabxakxbk(标化后)
k1
m
(2)平方距离(也称L2距离)为
dab
2.系统聚类法
常用,可用于对个体的聚类,也可用于对指标的聚类 以个体间聚类的基本思想: 首先定义样品间的距离(L1或L2),以d表示,并定以类间的距离(最大距离法、
最小距离法、平均距离法),以D表示。
然后开始聚类,开始一个个体一类,n个个体,则有n类。
将距离近的两类合并成新的一类,重新计算新类与其他类之间的距离。 将距离近的两类合并成新的一类,再重新计算新类与其他类之间的距离。
这样每次聚类之后,减少一类,直至最后所有个体都合成一类。最后将整个聚
类过程汇成聚类图,参照图进行分析,以便确定分几类为宜。
举例 设有12个个体,各测了3个指标
编号 指标
X1 X2 X3 1 5 7 10 2 7 1 5 3 3 2 14 4 6 5 2 5 6 6 9 6 7 7 7 7 8 1 4 8 20 7 9 9 19 8 12 10 7 4 4 11 4 5 13 12
6
5
7
1.计算各类(个体间)的距离
12类(个体)之间的L1距离(dij)即Dij
2 3 4 5 6 7 8 9 10 11 12
d12=| 5-7 |+| 7-1 |+| 10-5 |=13
12
d39=| 3-19 |+| 2-8 |+| 14-12 |=24
a2与a7距离(2)最近,将其合并,并命名为G13。重新计算其他10类与G13之
间的距离,它们与G13间的距离按最小距离法定义,因此
D1,13= min{D1,2,D1,7} = min {13,15} =13
D3,13 = min{D3,2,D3,7} = min{14,16} =14
11类(个体)之间的L1距离
G3 G4 G5 G6 G8 G9 G10 G11 G12 G13
G13
三个3,任意选定其中两类合并,如G1与G5和并-------G14 G4 G6 G8 G9
G10 G11 G12 G13 G14
G14
有两个3 ,合并起中之一对,G6和G12-----G15
G10
G11 G13 G14 G15
G15
合并G14与G15-----G16
G4 G8 G9 G10 G11 G13 G16
G16
合并G4与 G10--------G17 G8 G9 G11 G13 G16 G17
G17
合并G13、 G17-----------G18 G8 G9 G11 G16 G18
G18
并G3、G11--------G19
G16
G18 G19
G19
并G8与G9 ----------G20
G18 G19 G20
G20
并
G16与G18 ----------G21
G20 G21
G21
并G19与G21 ----------G22
G22
G22
并G20与G22----------合为一类
于是只有G20 ,G22他们之间的距离为15,最后合并为一类 可归纳为下表: 步数 1 2 3 4 5 6 7 8 9 10 11
合并的类别 G2,G7 G1,G5 G6,G12 G14,G15 G4,G10 G13,G17 G3,G11 G8,G9 G16,G18 G19,G21 G20,G22
距离 2 3 3 3 4 4 5 5 5 6 15
新类名 G13 G14 G15 G16 G17 G18 G19 G20 G21 G22 G23
类内个体
a2,a7 a1,a5 a6,a12
a1,a5,a6,a12 a4,a10
a2,a4,a7,a10 a3,a11 a8,a9
a1,a2,a4,a5,a6,a7,a10,a12 a1,a2,a3,a4,a5,a6,a7,a10,a11,a12 全部
2 7
4 10 1 5 6 12 3 11 8 9 聚类方法不同,得各类的结果也不同
对指标的聚类
也有最大相似系数和最小相似系数法
例 牙槽弓的形态特征需用22个指标才能全面描述,现测量609副牙槽弓的形
态指标,得结果如下:
609副牙弓形态指标的测量值
编号 1 2 3
指 标
X1 32.5 34.0 34.5
X2 41.0 40.5 41.0
X22 31.0 37.5 34.0
609 均数 标准差
25.0 31.5 3.5
33.0 39.3 3.5
34.0 33.0 4.0
2 3 4 5 6 7 8 9
指标间的相关系数(*0.01)
10 11 12 13 14 15 16 17 18 19 20 21 22 22
步数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
合并的类别 15,16 1,21 3,4 6,22 8,9 12,13 23,19 17,18 7,27 28,30 24,2 29,20 26,14 25,5 31,10 32,34 33,38 36,37 35,39 41,11 40,42
相关系数 0.91 0.90 0.89 0.89 0.88 0.87 0.79 0.79 0.73 0.73 0.72 0.69 0.68 0.67 0.54 0.50 0.39 0.32 0.20 0.14 0.00
新类名 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
逐步聚类
应用系统聚类法聚类时,每一步聚类都需计算各类之间的距离,如果对609个
人的牙弓作个体间的聚类,计算每两个个体间距离,需185136次!每一步只能合并一类,须经608次,这样计算量很大,作出聚类图时也十分复杂,不便与分析。
逐步聚类法可以较好的克服上述缺点。 一、原理和步骤 先按某种原则选出一些凝聚点,把每个凝聚点作为聚类的核心。
其余个体按就近的原则向各凝聚点凝聚(即归为一类),这样得到初始分类方案。然后对此方案不断修改,直至分类比较合理,不能再修改时为止
二、选凝聚点 凝聚点应是有代表性的点,以这些凝聚点为基础进行初始分类。
可以人为地选择,也可根据某种标准定。常用的方法有:
1.经验选择。对医院分类时,分别找三所有代表性优、良、差的医院为凝聚点。 2.人为地把个体按某种标准分为若干类,计算每类的均数,以此为凝聚点。先
按优、良、差把医院分三类,分别计算其均数。
3.密度法 较客观。限定一个d(不宜太大,也不宜太小),以每个个体为中心,
以d为半径(想象成一个圆或球),半径内的个体数即为密度。每个个体的密度求出后,以密度大的个体为第 Ⅰ 个凝聚点。再考虑密度次大的个体,如它与第 Ⅰ 个凝聚点的距离>2d,则了作为第 Ⅱ 个凝聚点,否则不能作为第Ⅱ个凝聚点。之后再考虑下一个密度次大的个体,如它与第 Ⅰ、Ⅱ 个凝聚点的距离都>2d,则可成为 Ⅲ 凝聚点。这样一直下去,直至所有的个体都考察一遍,此时选定了若干个凝聚点。
三、初始分类。
四、逐步修改分类方案,直至无可修改的为止
实验部分
cluster 过程 fastclus 过程 varclus 过程 tree 过程
DISCRIM 过程常用语句及选择项
PROC DISCRIM ;
CLASS variable ; BY variables ; FREQ variable ; ID variable ;
PRIORS probabilities ; VAR variables ;
PROC DISCRIM 语句的选择项
Data=数据集名 指定调用数据集
Simple 打印所有变量的描述性统计量
Threshold= P 为分类指定可接受的最小后验概率 0
List 列出所有个体的判别的类别 listerr 列出判错的个体
out=数据集名 指出输出的数据集(包括原始值、后验概率、判别分类) outstat=数据集名 将判别统计量的结果输出到SAS数据集中 priors proportional 以训练样本中各类别的比例为先验概率
(默认为各类的先验概率相等) 先验概率之和须等于1
举例1 分组变量为group,其值分别为A、B、C和D,写作:
priors A=.3 B=.25 C=.25 D=.2
举例2 分组变量为group,其值分别为1、2、3、4和5,写作:
priors 1=.3 2=.2 3=.2 4=.15 5=.15
CLASS variable ; 定义分类的变量
BY variables ; 按BY语句中指明的变量分别作判别分析 (在作判别分析分析前先对数据集排序) ID variable ; 定义标识变量,而非观测值号 VAR variables ; 指明用于判别的变量
data a;
input y1-y4 g; y3=0-y3; cards;
108.0 9.5 2.875 1.500 1 64.8 6.5 3.750 -1.000 1 -42.0 2.5 5.750 0.000 1 -18.0 3.5 5.350 -25.000 1 21.3 7.5 4.625 -1.250 1 30.0 7.0 4.500 2.500 1 67.2 8.0 3.500 -2.000 1 3.6 8.5 4.250 22.550 2 42.0 10.0 3.500 0.000 2 -48.0 7.5 5.375 -25.000 2 24.0 9.0 4.300 3.250 2 33.6 10.0 3.000 8.750 2 -21.6 6.5 3.750 6.250 2 43.2 12.5 4.625 -2.750 3 44.4 9.5 2.875 0.125 3 -50.4 10.5 4.750 -2.500 3 -24.0 4.0 5.500 5.000 3 25.2 13.0 3.250 0.150 3 -60.0 11.0 5.000 -10.000 3 108.0 9.5 2.875 1.500 1 64.8 6.5 3.750 -1.000 1 -42.0 2.5 5.750 0.000 1 -18.0 3.5 5.350 -25.000 1 21.3 7.5 4.625 -1.250 1 30.0 7.0 4.500 2.500 1 67.2 8.0 3.500 -2.000 1 3.6 8.5 4.250 22.550 2 42.0 10.0 3.500 0.000 2 -48.0 7.5 5.375 -25.000 2 24.0 9.0 4.300 3.250 2 33.6 10.0 3.000 8.750 2 -21.6 6.5 3.750 6.250 2 43.2 12.5 4.625 -2.750 3 44.4 9.5 2.875 0.125 3 -50.4 10.5 4.750 -2.500 3 -24.0 4.0 5.500 5.000 3 25.2 13.0 3.250 0.150 3 -60.0 11.0 5.000 -10.000 3 ;;;;
proc discrim
simple distance list out=b pool=yes; class g; run;
逐步判别分析
PROC STEPDISC ;
CLASS variable ; BY variables ; FREQ variable ; VAR variables ;
PROC STEPDISC
Method=stepwise | forward | backward sle=p sls=p
data a;
input x1-x4 g; cards;
108.0 9.5 -2.875 1.500 1 64.8 6.5 -3.750 -1.000 1 -42.0 2.5 -5.750 0.000 1 -18.0 3.5 -5.350 -25.000 1 21.3 7.5 -4.625 -1.250 1 30.0 7.0 -4.500 2.500 1 67.2 8.0 -3.500 -2.000 1 3.6 8.5 -4.250 22.550 2 42.0 10.0 -3.500 0.000 2 -48.0 7.5 -5.375 -25.000 2 24.0 9.0 -4.300 3.250 2 33.6 10.0 -3.000 8.750 2
-21.6 6.5 -3.750 6.250 2 43.2 12.5 -4.625 -2.750 3 44.4 9.5 -2.875 0.125 3 -50.4 10.5 -4.750 -2.500 3 -24.0 4.0 -5.500 5.000 3 25.2 13.0 -3.250 0.150 3 -60.0 11.0 -5.000 -10.000 3 ;;;;
proc stepdisc method=stepwise sle=0.15 sls=0.15; class g; run;
逐步判别分析
PROC FASTCLUS MAXCLUSTERS=n | RADIUS=t ;
VAR variables ; ID variable ; FREQ variable ; WEIGHT variable ; BY variables ;
PROC FASTCLUS MAXCLUSTERS=n | RADIUS=t ;
Data =数据集名
Seed=数据集名 指定初始凝聚点(省略时,默认为从Data =数据集名中产生)
radius =数值 指定 d “半径” maxc=数值 允许分类的最大类数
maxiter=数值 指定反复计算凝聚点的最大迭代次数
converge=数值 指定当任一凝聚点改变时的最大距离
间的距离与该值的乘积停止迭代。默认值为0.02。
list
distance 列出每个个体距离所属类凝聚点的距离 out=clusc drift ;
data a; input x1-x3; cards;
0.13 0.02 0.34 0.36 0.02 0.33 0.15 0.06 0.37 0.15 0.02 0.34 0.25 0.03 0.35 0.32 0.03 0.33 0.15 0.05 0.59 0.14 0.04 1.00 0.24 0.04 0.77 0.10 0.02 0.80 0.16 0.04 1.24 0.15 0.04 0.92 0.05 0.04 0.36 0.69 0.12 0.74 0.42 0.06 0.89 0.52 0.09 0.54 0.31 0.06 0.46 0.26 0.08 0.51 0.38 0.07 0.56 ;;;;
proc fastclus maxc=3 maxiter=9 radius=0.25 converge=0 list distance out=clusc drift ; run;
对个体的聚类分析
PROC CLUSTER METHOD = name ;
BY variables ; COPY variables ; FREQ variable ; ID variable ;
RMSSTD variable ; VAR variables ;
PROC CLUSTER METHOD = name ;
outtree=数据集 将结果输出,以便作聚类树 std 数据集 将原始数据标准化
method=方法 指定聚类的方法 包括:
single 最小距离法 complete 最大距离法 average median centroid ward Warddensity nonorm rsquare ccc
BY variables ; COPY variables ; FREQ variable ; ID variable ;
RMSSTD variable ; VAR variables ;
data a; input x1-x4; cards; 50 24 34 2 55 23 33 2 50 47 44 21 55 46 35 18 55 46 44 21 86 24 40 21 83 22 39 24 54 23 76 22 53 24 34 3 46 26 40 2 58 22 69 23 87 23 41 22
平均距离法 中位数发 重心法
最小方差法 密度法
防止将距离标准化成单位均数或均
方根 打印R2及半R
2
打印立方聚类判据
55 25 43 2 54 23 74 20 57 45 41 24 83 23 42 23 53 49 42 20 51 23 37 4 49 24 44 1 57 25 73 23 88 25 40 19 ;;;;
proc cluster method=average outtree=tree standard nonorm rsquare ccc; run;
proc tree data=tree horizontal space=1 page=1; run;
PROC VARCLUS ;
VAR variables ; SEED variables ; PARTIAL variables ; WEIGHT variables ; FREQ variables ; BY variables ;
PROC ACECLUS PROPORTION=p | THRESHOLD=t ;
BY variables ; FREQ variable ; VAR variables ; WEIGHT variable ;
PROC TREE ;
NAME variables ; HEIGHT variable ; PARENT variables ; BY variables ; COPY variables ; FREQ variable ; ID variable ;
PROC TREE ; Options:horizontal
Space= 定义打印目标之间的空格数 Page= 指定打印聚类图的页数
判别分析(Discriminant Analysis)
一、概述:
判别问题又称识别问题,或者归类问题。
判别分析是由Pearson于1921年提出,1936年由Fisher首先提出根据不同
类别所提取的特征变量来定量的建立待判样品归属于哪一个已知类别的数学模型。
根据对训练样本的观测值建立判别函数,借助判别函数式判断未知类别的个体。
所谓训练样本由已知明确类别的个体组成,并且都完整准确地测量个体的有关的判别变量。
训练样本的要求:类别明确,测量指标完整准确。一般样本含量不宜过小,但不能为追求样本含量而牺牲类别的准确,如果类别不可靠、测量值不准确,即使样本含量再大,任何统计方法语法弥补这一缺陷。
判别分析的类别很多,常用的有:适用于定性指标或计数资料的有最大似然法、训练迭代法;适用于定量指标或计量资料的有:Fisher二类判别、Bayers多类判别以及逐步判别。半定量指标界于二者之间,可根据不同情况分别采用以上方法。
类别(有的称之为总体,但应与population的区别)的含义——具有相同属性或者特征指标的个体(有的人称之为样品)的集合。如何来表征相同属性、相同的特征指标呢?
同一类别的个体之间距离小,不同总体的样本之间距离大。
距离是一个原则性的定义,只要满足对称性、非负性和三角不等式的函数就可以称为距
绝对距离
马氏距离:(Manhattan distance)
设有两个个体(点)X与Y(假定为一维数据,即在数轴上)是来自均数为,协方差阵为的总体(类别)A的两个个体(点),则个体X与Y
的马氏距离为
X与总体(类别)A的距离
D(X,Y)(X,A)为D
明考斯基距离(Minkowski distance): 明科夫斯基距离 欧几里德距离(欧氏距离)
二、Fisher两类判别
一、训练样本的测量值
A类训练样本
编号 1 2
x1 xA11 xA21
x2 xA12 xA22
xm
xA1m xA2m
nA
均数
xAnA1 A1
xAnA2 A2
B类训练样本
xAnAm Am
编号 1 2
x1 xB11 xB21
x2 xB12 xB22
xm
xB1m xB2m
nB
均数
xBnB1 B1
xBnB2 B2
xBnBm Bm
二、建立判别函数(Discriminant Analysis Function)为:
YC1X1C2X2CmXm
其中:C1、C2和Cm为判别系数(Discriminant Coefficient) 可解如下方程组得判别系数。
w11C1w12C2w1mCm1(A)1(B)w21C1w22C2w2mCm2(A)2(B)
wm1C1wm2C2wmmCmm(A)m(B)
各类的离差阵分别以L(A)、L(B)表示
L11(A)L12(A)
L(A)L22(A)
L(A)21
Lm1(A)Lm2(A)
L1m(A)
L2m(A)
Lmm(A)L1m(B)
L2m(B)
Lmm(B)
L11(B)L12(B)
L(B)L22(B)
L(B)21
Lm1(B)Lm2(B)
类内离差阵W为L(A)、L(B)之和
WL(A)L(B)
w11w21W
wm1
三、Y值的判别界值
将1(A)、2(A)、 将1(B)、2(B)、 两类的判别界值为:
w12w22wm2
w1m
w2m
wmm
、m(A)代入判别函数,得到相应的(A), 、m(B)代入判别函数,得到相应的(B),
Yc
(A)(B)
2
当两类的样本含量相差较多时应加权,用下式计算判别界值
Yc
nA(A)nB(B)
nAnB
将每个个体的1、2、 、m代入判别函数计算Y,根据判别界值Yc判别归
类。
四、对判别函数检验
T为训练样本中两类和在一起的离差阵(注意与W的区别)
t11t12t1mttt2mT2122 tttmmm1m2
计算Wilks统计量U
U
F
WT
1UNm1
, 1m,2nm1 Um
五、回代 观察判别函数的判别效果
举例 设要建立一个判别函数来判别医院的工作情况,公认的A类医院11所,
B类医院9所。
X1 :床位使用率 X2 :治愈率 X3 :诊断指数
判别指标如下两表:
A类医院
编号 1 2 3 4 5 6 7 8 9 10 11 均数
B类医院
编号 1
X1 72.48
X2 78.12
X3 82.38
Y 7.0300
X1 98.82 85.37 86.64 73.08 78.73 103.44 91.99 87.50 81.82 73.16 86.19 89.3373
X2 85.49 79.10 80.64 86.82 80.44 80.40 80.77 82.50 88.45 82.94 83.55 82.8273
X3 93.18 99.65 96.94 98.70 97.61 93.75 93.93 94.10 97.90 92.12 93.30 94.7073
Y 7.9839 7.9879 7.9391 8.1008 7.8836 7.8807 7.8161 7.3665 8.1802 7.6592 7.8919 7.8781
2 3 4 5 6 7 8 9 均数
合计均数
58.81 72.48 90.56 73.73 72.79 74.27 93.62 78.69 76.3811
86.20 84.87 82.07 66.63 87.59 93.91 85.89 77.01 79.1433
73.46 74.09 77.15 93.98 77.15 85.54 79.80 86.79 81.1489
6.7616 6.8505 7.0413 7.2244 7.0550 6.7346 7.3152 7.2522 7.0331
81.857 81.170 88.606
1.计算各类中的变量值均数
2.计算各类的离差阵及两类的离差阵之和
921.956085.6700104.7177
L(A)89.78906.1099
187.6898
61.9823867.113745.5352
L(B)602.2566390.0085
360.0057
1789.069740.134842.7354
WL(A)L(B)692.0456383.8986
547.6955
3.
1(A)1(B)=86.3376-76.3811=9.9562
2(A)2(B)=82.8273-79.1433=3.6840 3(A)3(B)=94.7073-81.1489=13.5584
4.
w11C1w12C2w13C31(A)1(B)w21C1w22C2w23C32(A)2(B)
w31C1w32C2w33C33(A)3(B)
1789.0697C140.1348C242.7354C39.956240.1348C1692.0456C2383.8986C33.6840
42.7354C1383.8986C2547.6955C313.5584
解此方程组得
C1=0.007440 C2=0.032412 C3=0.048055
判别函数为
Y0.007440x10.032412x20.048055x3
5.求Yc
(A)=7.8781 (B)=7.0331
Yc
(A)(B)
=7.4556
2
Yc
nA(A)nB(B)
=7.4978
nAnB
6.检验
2279.7392141.4208625.4625T759.2241136.6546
1457.6529
U
F
T
=
410978769
=0.192944
2130041753
1UNm1
=22.3085 Um
1m3
2Nm116
、 T 为相应矩阵的行列式的值
7.回代(internal validation)
判别效果
原分类 A
B
A正确率= 90.9% B正确率= 100%
总正确率(符合率)= 91%
A误判率= B误判率= 总误判率= 5%
符合率的高低取决于所选判别指标的特异性以及训练样本中各个体分类的可靠性。
组内回代 组外回代 剔除回代
判别函数的判别归类 A 10 0
B 1 0
Bayes多类判别
设有g个总体,记为A1,A2,,Ag.提取了m个特征变量,记为x1,x2,,xm.对各个总体分别做了n1,n2,,ng次试验,得到的观测数据记为X(xkij)k1,2,,g;
i1,2,,nk;
j1,2,m
xkij代表第k个总体的第i个样本的第j个特征变量的观测值。
注意总体、样品的概念
Bayes多类判别是要建立g个判别函数
Y(A1)C0(A1)C1(A1)X1C2(A1)X2Cm(A1)Xm Y(A2)C0(A2)C1(A2)X1C2(A2)X2Cm(A2)Xm
Y(Ag)C0(Ag)C1(Ag)X1C2(Ag)X2Cm(Ag)Xm
将每个个体代入每个函数式求得Y(A对于具体某个个体,Y(A2)Y(Ag),1)、
哪个Y值最大,就将其判为哪类。
Cj 为判别系数
过程Bayes多类判别分析的过程
1.计算判别系数
(1)计算各组每个各变量的均数 kj k1,2,,G,
j1,2,m,
(2)计算各组的离差阵L(Ak)和类内离差阵
W=L(A1)L(A2)L(AG)
w11
w
W21
wm1
(3)求W的逆矩阵W
1
w12w22wm2
w1m
w2m
wmm
A1类的判别系数计算:
w11w211
W
wm1
w12w22wm2
w1m
2mw
wmm
w11
C1(A1)
21
C2(A1)(NG)w
wm1
Cm(A1)
w12
w22wm2
w1m1(A1)
2m
w2(A2)
(A)mmwmm
1m
C0(A1)Cj(A1)j(A1)
2j1
其余各类的判别系数以同样的方法求得,并可对每个个体的所属类判定求出后
验概率(或称事后概率posterior probability,与之对应的是先验概率或事前概率prior probability),这与后面的逐步判别分析中的计算方法一样,这里不做介绍。
2.假设检验(略放在逐步之后?还是先讲) 3.判别函数的判别效果观察
举例 用Bayes多类判别分析法对前面Fisher 二类判别分析的例子。 1.原始数据及基本计算(略) 1.计算类内离差阵数据和其逆矩阵
1789.069740.134842.7354W692.0456383.8986
547.6955
其逆矩阵为
0.00056370.00009340.0001095
W10.00237980.0016754
0.0030087
C1(A)C(A)2(202)C(A)3
0.00056370.00009340.000109586.3373
0.00237980.001675482.8273
0.003008794.7073
1.2019=6.5493 7.7970
C0(A)
的A类的判别函数为
-692.3312
Y(A)692.23421.2019x16.5493x27.797x3 Y(B)558.12991.068x15.9658x26.932x3
其中
逐步判别分析 (Stepwise Discriminant Analysis)
从m个可能有判别能力的变量中筛选出对判别分类有统计学意义的p
(pm)个变量,建立判别函数
Y(A1)C0(A1)C1(A1)X1C2(A1)X2Cp(A1)XplnQ(A1)
Y(A2)C0A(2)C1A(XCA2(X2)Xp2)2)12CpA(
QAln ()
Y(A1C(gA)1Xg)C0(Ag)
式中Q(A1)、Q(A2)Q(Ag)为各类的先验概率 1.准备工作
(1)计算各类各指标的均数,计算各指标的总均数
(2)计算类内离差阵 W,记为 W(此为初始阵)
2
C(gA)2X
p
C(gA)pXln Q(A)g
计算总离差阵 T,记为 T
(3)确定检验水准(或与之相对应的F值)
2.逐步筛选变量(前进法、后退法、逐步法)
筛选变量过程中(无论是引入一个变量还是剔出一个变量),每一步都要对上一
步所得的矩阵作消去变换。设现在进行到(g+1)步,上一步(g步)曾得到两个矩阵(W
(g)
,
(g1)(g)T(g1)),本步要引入(或剔除)变量xr,W和T要按下式以(r,r)为主元作消去
变换。
(g1)
wij
1
gwrr
g
wrjg
wrrgwij
gwrr
gggwirwrjwijg
wrr1tg
rr
g
trjg
trrg
tijgtrr
gggtirtrjtijg
trr
ijrir,ir,ir
jrjrjr
ijrir,ir,ir
jrjrjr
(g1)tij
每一步中哪个变量的判别能力强?看Wilks U
(g)(g)
Ur(g1)trrwrr
检验方法:是否要剔除?
F
1UrNG(l1)
, 1G1,2NG(l1)
UrGl
是否要剔除?
F
1UrNGl
, 1G1,2NGl UrGl
(略)
Bayes多类判别(续)
1.检验判别函数的判别能力
U
WT
2(N1
lG
)lnU 2
l(G1)
2.计算判别系数,建立判别函数
应加入先验概率
3.判别函数对任意两类之间的判别能力
Wilks U反映G类之间总的判别能力,任意两类(如E类和F类)间用
Mahalanobis D2反映(公式略)
对马氏距离的检验用
FEF
(NGl1)nEnF
l(NG)(nEnF)
1G1,2NGl1
4.判别分类
对于某个体,代判别函数,分别计算Y(A1)、Y(A2)Y(Ag),其中Y(AF)最
大,则判为该个体数AF类,必要时还可计算出后验概率:
P(AF)
eY(AF)
e
j1
G
Y(Aj)
5.回代 观察判别函数的判别效果
聚类分析(Cluster Analysis)
常用的系统聚类、逐步聚类和模糊聚类法
1.根据相似系数和距离聚类
其中相似系数有 (1)相关系数
rij
(2)列联系数
lCij
(3)点相关系数
rij
常用的距离包括: (1)绝对距离
d12x11x21x12x22x1mx2m
缺点:各变量量纲不同,数量级不同,不能直接向加 (可先行标准化后消除上述缺点)
个体a、b的距离(也称L1距离)为
dabxakxbk(标化后)
k1
m
(2)平方距离(也称L2距离)为
dab
2.系统聚类法
常用,可用于对个体的聚类,也可用于对指标的聚类 以个体间聚类的基本思想: 首先定义样品间的距离(L1或L2),以d表示,并定以类间的距离(最大距离法、
最小距离法、平均距离法),以D表示。
然后开始聚类,开始一个个体一类,n个个体,则有n类。
将距离近的两类合并成新的一类,重新计算新类与其他类之间的距离。 将距离近的两类合并成新的一类,再重新计算新类与其他类之间的距离。
这样每次聚类之后,减少一类,直至最后所有个体都合成一类。最后将整个聚
类过程汇成聚类图,参照图进行分析,以便确定分几类为宜。
举例 设有12个个体,各测了3个指标
编号 指标
X1 X2 X3 1 5 7 10 2 7 1 5 3 3 2 14 4 6 5 2 5 6 6 9 6 7 7 7 7 8 1 4 8 20 7 9 9 19 8 12 10 7 4 4 11 4 5 13 12
6
5
7
1.计算各类(个体间)的距离
12类(个体)之间的L1距离(dij)即Dij
2 3 4 5 6 7 8 9 10 11 12
d12=| 5-7 |+| 7-1 |+| 10-5 |=13
12
d39=| 3-19 |+| 2-8 |+| 14-12 |=24
a2与a7距离(2)最近,将其合并,并命名为G13。重新计算其他10类与G13之
间的距离,它们与G13间的距离按最小距离法定义,因此
D1,13= min{D1,2,D1,7} = min {13,15} =13
D3,13 = min{D3,2,D3,7} = min{14,16} =14
11类(个体)之间的L1距离
G3 G4 G5 G6 G8 G9 G10 G11 G12 G13
G13
三个3,任意选定其中两类合并,如G1与G5和并-------G14 G4 G6 G8 G9
G10 G11 G12 G13 G14
G14
有两个3 ,合并起中之一对,G6和G12-----G15
G10
G11 G13 G14 G15
G15
合并G14与G15-----G16
G4 G8 G9 G10 G11 G13 G16
G16
合并G4与 G10--------G17 G8 G9 G11 G13 G16 G17
G17
合并G13、 G17-----------G18 G8 G9 G11 G16 G18
G18
并G3、G11--------G19
G16
G18 G19
G19
并G8与G9 ----------G20
G18 G19 G20
G20
并
G16与G18 ----------G21
G20 G21
G21
并G19与G21 ----------G22
G22
G22
并G20与G22----------合为一类
于是只有G20 ,G22他们之间的距离为15,最后合并为一类 可归纳为下表: 步数 1 2 3 4 5 6 7 8 9 10 11
合并的类别 G2,G7 G1,G5 G6,G12 G14,G15 G4,G10 G13,G17 G3,G11 G8,G9 G16,G18 G19,G21 G20,G22
距离 2 3 3 3 4 4 5 5 5 6 15
新类名 G13 G14 G15 G16 G17 G18 G19 G20 G21 G22 G23
类内个体
a2,a7 a1,a5 a6,a12
a1,a5,a6,a12 a4,a10
a2,a4,a7,a10 a3,a11 a8,a9
a1,a2,a4,a5,a6,a7,a10,a12 a1,a2,a3,a4,a5,a6,a7,a10,a11,a12 全部
2 7
4 10 1 5 6 12 3 11 8 9 聚类方法不同,得各类的结果也不同
对指标的聚类
也有最大相似系数和最小相似系数法
例 牙槽弓的形态特征需用22个指标才能全面描述,现测量609副牙槽弓的形
态指标,得结果如下:
609副牙弓形态指标的测量值
编号 1 2 3
指 标
X1 32.5 34.0 34.5
X2 41.0 40.5 41.0
X22 31.0 37.5 34.0
609 均数 标准差
25.0 31.5 3.5
33.0 39.3 3.5
34.0 33.0 4.0
2 3 4 5 6 7 8 9
指标间的相关系数(*0.01)
10 11 12 13 14 15 16 17 18 19 20 21 22 22
步数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
合并的类别 15,16 1,21 3,4 6,22 8,9 12,13 23,19 17,18 7,27 28,30 24,2 29,20 26,14 25,5 31,10 32,34 33,38 36,37 35,39 41,11 40,42
相关系数 0.91 0.90 0.89 0.89 0.88 0.87 0.79 0.79 0.73 0.73 0.72 0.69 0.68 0.67 0.54 0.50 0.39 0.32 0.20 0.14 0.00
新类名 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
逐步聚类
应用系统聚类法聚类时,每一步聚类都需计算各类之间的距离,如果对609个
人的牙弓作个体间的聚类,计算每两个个体间距离,需185136次!每一步只能合并一类,须经608次,这样计算量很大,作出聚类图时也十分复杂,不便与分析。
逐步聚类法可以较好的克服上述缺点。 一、原理和步骤 先按某种原则选出一些凝聚点,把每个凝聚点作为聚类的核心。
其余个体按就近的原则向各凝聚点凝聚(即归为一类),这样得到初始分类方案。然后对此方案不断修改,直至分类比较合理,不能再修改时为止
二、选凝聚点 凝聚点应是有代表性的点,以这些凝聚点为基础进行初始分类。
可以人为地选择,也可根据某种标准定。常用的方法有:
1.经验选择。对医院分类时,分别找三所有代表性优、良、差的医院为凝聚点。 2.人为地把个体按某种标准分为若干类,计算每类的均数,以此为凝聚点。先
按优、良、差把医院分三类,分别计算其均数。
3.密度法 较客观。限定一个d(不宜太大,也不宜太小),以每个个体为中心,
以d为半径(想象成一个圆或球),半径内的个体数即为密度。每个个体的密度求出后,以密度大的个体为第 Ⅰ 个凝聚点。再考虑密度次大的个体,如它与第 Ⅰ 个凝聚点的距离>2d,则了作为第 Ⅱ 个凝聚点,否则不能作为第Ⅱ个凝聚点。之后再考虑下一个密度次大的个体,如它与第 Ⅰ、Ⅱ 个凝聚点的距离都>2d,则可成为 Ⅲ 凝聚点。这样一直下去,直至所有的个体都考察一遍,此时选定了若干个凝聚点。
三、初始分类。
四、逐步修改分类方案,直至无可修改的为止
实验部分
cluster 过程 fastclus 过程 varclus 过程 tree 过程
DISCRIM 过程常用语句及选择项
PROC DISCRIM ;
CLASS variable ; BY variables ; FREQ variable ; ID variable ;
PRIORS probabilities ; VAR variables ;
PROC DISCRIM 语句的选择项
Data=数据集名 指定调用数据集
Simple 打印所有变量的描述性统计量
Threshold= P 为分类指定可接受的最小后验概率 0
List 列出所有个体的判别的类别 listerr 列出判错的个体
out=数据集名 指出输出的数据集(包括原始值、后验概率、判别分类) outstat=数据集名 将判别统计量的结果输出到SAS数据集中 priors proportional 以训练样本中各类别的比例为先验概率
(默认为各类的先验概率相等) 先验概率之和须等于1
举例1 分组变量为group,其值分别为A、B、C和D,写作:
priors A=.3 B=.25 C=.25 D=.2
举例2 分组变量为group,其值分别为1、2、3、4和5,写作:
priors 1=.3 2=.2 3=.2 4=.15 5=.15
CLASS variable ; 定义分类的变量
BY variables ; 按BY语句中指明的变量分别作判别分析 (在作判别分析分析前先对数据集排序) ID variable ; 定义标识变量,而非观测值号 VAR variables ; 指明用于判别的变量
data a;
input y1-y4 g; y3=0-y3; cards;
108.0 9.5 2.875 1.500 1 64.8 6.5 3.750 -1.000 1 -42.0 2.5 5.750 0.000 1 -18.0 3.5 5.350 -25.000 1 21.3 7.5 4.625 -1.250 1 30.0 7.0 4.500 2.500 1 67.2 8.0 3.500 -2.000 1 3.6 8.5 4.250 22.550 2 42.0 10.0 3.500 0.000 2 -48.0 7.5 5.375 -25.000 2 24.0 9.0 4.300 3.250 2 33.6 10.0 3.000 8.750 2 -21.6 6.5 3.750 6.250 2 43.2 12.5 4.625 -2.750 3 44.4 9.5 2.875 0.125 3 -50.4 10.5 4.750 -2.500 3 -24.0 4.0 5.500 5.000 3 25.2 13.0 3.250 0.150 3 -60.0 11.0 5.000 -10.000 3 108.0 9.5 2.875 1.500 1 64.8 6.5 3.750 -1.000 1 -42.0 2.5 5.750 0.000 1 -18.0 3.5 5.350 -25.000 1 21.3 7.5 4.625 -1.250 1 30.0 7.0 4.500 2.500 1 67.2 8.0 3.500 -2.000 1 3.6 8.5 4.250 22.550 2 42.0 10.0 3.500 0.000 2 -48.0 7.5 5.375 -25.000 2 24.0 9.0 4.300 3.250 2 33.6 10.0 3.000 8.750 2 -21.6 6.5 3.750 6.250 2 43.2 12.5 4.625 -2.750 3 44.4 9.5 2.875 0.125 3 -50.4 10.5 4.750 -2.500 3 -24.0 4.0 5.500 5.000 3 25.2 13.0 3.250 0.150 3 -60.0 11.0 5.000 -10.000 3 ;;;;
proc discrim
simple distance list out=b pool=yes; class g; run;
逐步判别分析
PROC STEPDISC ;
CLASS variable ; BY variables ; FREQ variable ; VAR variables ;
PROC STEPDISC
Method=stepwise | forward | backward sle=p sls=p
data a;
input x1-x4 g; cards;
108.0 9.5 -2.875 1.500 1 64.8 6.5 -3.750 -1.000 1 -42.0 2.5 -5.750 0.000 1 -18.0 3.5 -5.350 -25.000 1 21.3 7.5 -4.625 -1.250 1 30.0 7.0 -4.500 2.500 1 67.2 8.0 -3.500 -2.000 1 3.6 8.5 -4.250 22.550 2 42.0 10.0 -3.500 0.000 2 -48.0 7.5 -5.375 -25.000 2 24.0 9.0 -4.300 3.250 2 33.6 10.0 -3.000 8.750 2
-21.6 6.5 -3.750 6.250 2 43.2 12.5 -4.625 -2.750 3 44.4 9.5 -2.875 0.125 3 -50.4 10.5 -4.750 -2.500 3 -24.0 4.0 -5.500 5.000 3 25.2 13.0 -3.250 0.150 3 -60.0 11.0 -5.000 -10.000 3 ;;;;
proc stepdisc method=stepwise sle=0.15 sls=0.15; class g; run;
逐步判别分析
PROC FASTCLUS MAXCLUSTERS=n | RADIUS=t ;
VAR variables ; ID variable ; FREQ variable ; WEIGHT variable ; BY variables ;
PROC FASTCLUS MAXCLUSTERS=n | RADIUS=t ;
Data =数据集名
Seed=数据集名 指定初始凝聚点(省略时,默认为从Data =数据集名中产生)
radius =数值 指定 d “半径” maxc=数值 允许分类的最大类数
maxiter=数值 指定反复计算凝聚点的最大迭代次数
converge=数值 指定当任一凝聚点改变时的最大距离
间的距离与该值的乘积停止迭代。默认值为0.02。
list
distance 列出每个个体距离所属类凝聚点的距离 out=clusc drift ;
data a; input x1-x3; cards;
0.13 0.02 0.34 0.36 0.02 0.33 0.15 0.06 0.37 0.15 0.02 0.34 0.25 0.03 0.35 0.32 0.03 0.33 0.15 0.05 0.59 0.14 0.04 1.00 0.24 0.04 0.77 0.10 0.02 0.80 0.16 0.04 1.24 0.15 0.04 0.92 0.05 0.04 0.36 0.69 0.12 0.74 0.42 0.06 0.89 0.52 0.09 0.54 0.31 0.06 0.46 0.26 0.08 0.51 0.38 0.07 0.56 ;;;;
proc fastclus maxc=3 maxiter=9 radius=0.25 converge=0 list distance out=clusc drift ; run;
对个体的聚类分析
PROC CLUSTER METHOD = name ;
BY variables ; COPY variables ; FREQ variable ; ID variable ;
RMSSTD variable ; VAR variables ;
PROC CLUSTER METHOD = name ;
outtree=数据集 将结果输出,以便作聚类树 std 数据集 将原始数据标准化
method=方法 指定聚类的方法 包括:
single 最小距离法 complete 最大距离法 average median centroid ward Warddensity nonorm rsquare ccc
BY variables ; COPY variables ; FREQ variable ; ID variable ;
RMSSTD variable ; VAR variables ;
data a; input x1-x4; cards; 50 24 34 2 55 23 33 2 50 47 44 21 55 46 35 18 55 46 44 21 86 24 40 21 83 22 39 24 54 23 76 22 53 24 34 3 46 26 40 2 58 22 69 23 87 23 41 22
平均距离法 中位数发 重心法
最小方差法 密度法
防止将距离标准化成单位均数或均
方根 打印R2及半R
2
打印立方聚类判据
55 25 43 2 54 23 74 20 57 45 41 24 83 23 42 23 53 49 42 20 51 23 37 4 49 24 44 1 57 25 73 23 88 25 40 19 ;;;;
proc cluster method=average outtree=tree standard nonorm rsquare ccc; run;
proc tree data=tree horizontal space=1 page=1; run;
PROC VARCLUS ;
VAR variables ; SEED variables ; PARTIAL variables ; WEIGHT variables ; FREQ variables ; BY variables ;
PROC ACECLUS PROPORTION=p | THRESHOLD=t ;
BY variables ; FREQ variable ; VAR variables ; WEIGHT variable ;
PROC TREE ;
NAME variables ; HEIGHT variable ; PARENT variables ; BY variables ; COPY variables ; FREQ variable ; ID variable ;
PROC TREE ; Options:horizontal
Space= 定义打印目标之间的空格数 Page= 指定打印聚类图的页数