sas系统和数据分析聚类分析(编辑修改稿)内容摘要:
可变类平均法。 大多数的研究表明:最好综合特性的聚类方法为类平均法或 Ward 最小方差法,而最差的则为最短距离法。 Ward 最小方差法倾向于寻找观察数相同的类。 类平均法偏向寻找等方差的类。 具有最小偏差的聚类方法为最短距离法和密度估计法。 拉长的或无规则的类使用最短距离法比其他方法好。 最没有偏见的聚类方法为密度估计法。 五、 SAS 的聚类分析过程 SAS 的聚类过程能够被用来对某个 SAS 数据集中的观察进行分类。 能得到谱系的和不 相交的这两种分类。 SAS 聚类分析用于将一批样本按各变量(指标)的亲疏程度进行分类。 亲疏程度依样本间的距离或相似系数进行计算。 聚类方法很多,但 SAS 系统使用系统聚类法( Hierarchical cluster)和动态聚类法( Disjoint cluster)这两种方法。 SAS 的系统聚类法按样本距离定义类间距离,将 n 个样本各自看作一类,对两类距离最小的样本合并,重新计算类间距离。 如此反复进行,直到所有样本合并为一类。 最后结果用聚类系谱图反映。 SAS 的动态聚类法基于 上限-中心点-重心的原理,首先将 n 个样本初步分为 G 类,作为聚类个数的“上限”,从中确定其“中心点”,用作迭代的起点,然后每考察一个样本观察值,就把它移到最靠近的类,并算出每一类的“重心”,再考察一个观察点移到另一类。 若能减少样本对于各自中心的离差之和,则把此两类的中心同时移到新的重心,并以重新计算的重心取代原来的重心,如此反复迭代,直到再也无法降低样本与重心离差之和为止,移动终止,分成 G 类。 SAS 软件主要有以下 5 个聚类过程,即 cluster, fastclus, modeclus、 varclus 和 tree 过程。 这 5 个过程的比较和选择为: cluster 过程 为系统聚类过程,可使用十一种聚类方法进行谱系聚类,包括重心法、 Ward 离差平方和法和欧氏平均距离法等。 fastclus 过程为动态聚类过程,使用 Kmeans 算法寻找不相交的聚类,适宜于大样本分析,观察值可多达10万个。 modeclus过程为动态聚类过程,使用非参数密度估计法寻找不相交的聚类。 varclus 过程可用于系统或动态聚类, 通过斜交多组分量分析对变量作谱系的和不相交的这两种聚类。 cluster 过程、fastclus 过程和 modeclus过程用于对样品聚类, varclus 过程用于对变量聚类。 tree 过程将 cluster或 varclus 过程的聚类结果画出树形结构图或谱系图。 1. Cluster 系统聚类过程 cluster 过程一般由下列语句控制: proc cluster 选项列表。 var 变量表。 id 变量。 上海财经大学经济信息管理系 IS/SHUFE Page 13 of 62 freq 变量。 copy 变量表。 rmsstd 变量。 by 变量表。 run; ( 1) proc cluster 语句 选项列表。 data=输入数据集 —— 命名包含进行聚类的观察的输入数据集。 通过选项 type=可以接受距离矩阵或非相似类型的距离。 outtree=输出数据集 —— 供 tree 过程调用,用来输出聚类结果的树状图。 method=算法 —— 包括 ward(离差平方和法), average(类平均法), centroid(重心法), plete(最长距离法), single(最短距离法), median(中间距离法), density(密 度法), flexible(可变类平均法), twostage(两阶段密度法), eml(最大似然法),mcquitty(相似分析法)。 standard—— 对变量实施标准化。 nonorm—— 阻止距离被正态化成均数为 1 或均方根为 1。 nosquare—— 阻止过程在 method= average、 centroid、 median、 ward 方法中距离数据被平方。 mode=n—— 当合并两个类时,规定对被指定的众数类中的每个类至少有 n个成员。 这个选项只能在 method= density 或 twostage 时一起使用。 penalty=p—— 指定用于 method= eml中的惩罚系数。 p的值必须大于 0,缺省时为2。 trim=p—— 要求从分析中删去那些概率密度估计较小的点。 p 的有效值为大于等于0 到小于 100之间,被当作百分比。 在使用 method= ward 或 plete时,因类可能被异常值严重地歪曲,最好使用这个选项。 也可用于 method= single 中。 dim=n—— 当规定 method= density 或 twostage 时指定使用的维数。 n 的值必须大于等于 1。 如果数据是坐标数据,缺省值为变量的个数;如果是距离 数据,缺省值为 1。 hybrid—— 要求用 Wong 混合聚类方法,其中密度用 k 均值法的初始聚类分析中的均值计算得到。 这个选项只能在规定 method= density 或 twostage 时使用。 k=n—— 指明 k 最近邻估计法中近邻的个数。 近邻个数 n 必须大于等于 2 且小于观察数。 r=n—— 指明均匀核密度估计法的支撑球半径。 n 的值必须大于 0。 notie—— 阻止 cluster 过程在聚类历史过程中检查每次产生的类间最小距离连结( ties)的情况。 可以规定这个选项以便减少过程执行的时间和空间。 rsquare—— 打印输 出 R2和半偏 R2。 rmsstd—— 打印输出每一类的均方根标准差。 ccc—— 要求打印输出在均匀的原假设下判断聚类分成几类合适的一种立方聚类准则统计量 ccc和近似期望值 R2。 同时 , 打印输出选项 rsquare有关的 R2和半偏 R2。 此选项不适合于 method=single,因为该方法容易删掉分布的结尾部分。 pseudo—— 要求打印输出伪 F 统计量 (标志为 PSF)和伪 2t 统计量 (标志为 PST2)。 当分类数目不同时,它们有不同的取 值。 simple—— 打印简单统计数。 上海财经大学经济信息管理系 IS/SHUFE Page 14 of 62 std—— 变量标准化。 在输出报表中,可以根据输出的 ccc、 psf 和 pst2 统计量确定多少分类数较合适。 当 ccc和 psf 值出现峰值 时 所对应的分类数较合适,而 pst2 值是在出现峰值 时 所对应的分类数减 1较合适。 ( 2) 其他语句。 copy 语句 —— 指明输入数据集中的一些变量拷贝到 outtree=的输出数据集中。 rmsstd语句 —— 当输入数据集中的坐标数据代表类的均值时,定义表示均方根标准差变量,通常与 freq 语句中的变量配合使用。 cluster 过程的输出结果包括观察值间均方根 距离、聚类数目等。 2. Fastclus 快速聚类过程 Fastclus 过程称为快速聚类过程或动态聚类过程。 它是根据由一个或几个定量变量计算的欧氏距离和 k 均值聚类方法对数据进行分类,该过程只须对这组数据扫描二次或三次就能寻找出很好的分类结果,这些类之间互不相交。 当需要聚类的样品数较多时,如果采用 cluster过程就需要计算很长时间,因为它要从一个样品一类依 次 聚类到所有样品作为一类。 而在实际问题中,常常只需要知道聚类到有实用价值的几类结果即可。 此时 , 使用 fastclus 过程就能很快地和很好地将大量样品数聚类成两类或 三类。 聚类的结果是将每个样品加上所属的类别标记。 Fastclus 过程的聚类步骤如下: ① 选择若干个观察作为“凝聚点”或称类的中心点,作为这些类均值的第一次猜测值; ② 通过可选择地分配,把每一个观察分配到与这些“凝聚点”中最近距离的类里来形成临时类。 每次对一个观察进行分类,同时对加入新观察的“凝聚点”更新为这一类目前的均值; ③ 重复步骤 ② 直到所有观察分配完成之后,这些类的“凝聚点”用临时类的均值替代。 该步可以一直进行到类中的“凝聚点”的改变很小或为 0 时停止; ④ 最终的分类由分配每一个观 察到最近的“凝聚点”而形成。 初始类的“凝聚点”必须是没有丢失值的观察,用户可以选择这些“凝聚点”,或让过程自己去选择。 用户还可以指定最大的“凝聚点”个数,及“凝聚点”之间的必须分隔开的最小距离。 特别要注意, fastclus 过程对异常点很敏感,通常会把异常点分配为单独的一个类,因此也是检测异常点的有效过程。 fastclus 过程一般由下列语句控制: proc fastclus 选项列表。 var 变量表。 id 变量。 freq 变量。 weight 变量。 by 变量表。 run; ( 1) proc fastclus 语句 选项列表。 上海财经大学经济信息管理系 IS/SHUFE Page 15 of 62 按选项控制的性质可以分成以下 4 类。 ① 有关输入输出数据集选项: data=输入数据集 —— 原始输入数据集。 seed=输入数据集 —— 指定一个 SAS 数据集,其中含有初始的“凝聚点”,但无原始数据。 mean=输出数据集 —— 生成一个输出数据集,其中包含每个类的均值和一些统计量。 out=输出数据集 —— 将含有原始数据和分类标志的聚类结果输出到指定数据集。 ② 有关控制聚类的初始中心点选项: maxclusters=n(或 maxc=n) —— 指定所允许的最大聚类数(缺省值为 100)。 radius =t—— 为选择新的“凝聚点”指定最小距离准则。 当一个观察点与已有“凝聚点”的最小距离都大于 t 值时,该观察可考虑用来作为一个新的“凝聚点”。 t 的缺省值为 0。 要注意,选择一个好的 t 值,可以得到好的分类结果。 注意用户必须规定说明 maxclusters=或 radius =中的一个。 replace = full | part | none |random—— 指定“凝聚点”的替换方式。 full为用统计方法替换,缺省值; part 为仅当观 察点与最近的“凝聚点”距离大于“凝聚点”之间的最小距离时,那么有一个老的“凝聚点”被替换; none 为禁止“凝聚点”的替换; random 为从完整的观察样本中随机地选择一组样本作为初始“凝聚点”。 ③ 有关控制最终聚类“凝聚点”的计算选项: drift—— 每当一个观察归入最靠近的“凝聚点”所在类后,此类的“凝聚点”都要被该类中现有观察的均值所替代。 因而“凝聚点”不断发生变化。 convergec=c(或 conv= c) —— 指定收敛的判断准则, c 为任意非负值,缺省值为0 .02。 当“凝聚点”改变的最大距离小于或等于初始 “凝聚点”之间的最小距离乘以 c 值时,循环过程结束。 maxiter= n—— 指定重新计算“凝聚点”所需的最大迭代次数,缺省值为1。 strict= s—— 当一个观察同其最近“凝聚点”之间的距离大于 s 值时,此观察不归入此类。 ④ 有关控制打印输出的选项: distance—— 要求打印类均值之间的距离。 list—— 要求列出所有观察的 id 变量值,观察所归入类的类号,及观察与最终“凝聚点”之间的距离。 ( 2) 其他语句。 主要有 var、 id、 freq、 weight、 by 等语句,意义同其他聚类过程中的语句,不再赘述。 另外,在 采用 fastclus 过程之前,若变量值的单位不一致则必须对变量预先用 standard过程转换成标准分(例如: proc standard mean=0 std=1 out=abc。 var x1 x2。 )或由 factor 过程产生因子得分,然后由 fastclus 过程加以聚类。 3. Varclus 方差聚类过程 varclus 过程基于相关矩阵或协方差矩阵,对数值变量进行不相交或谱系分类。 类的划分通过计算每类第一主 成分 或重心 成分 的最大方差而确定,因此,同每一类有联系的是该类中这些变量的线性组合。 varclus 过程能够被用来 作为变量压缩的方法。 对于含有很多变量的变量集,常常用信息损失很少的类分量集替代。 若采用相关矩阵的信息,则所有变量都平等;当引用协方差矩阵分析时.某变量有较大方差,该变量则较为重要。 varclus 过程生成的输出数据集,可由 score 过程计算出每类的得分。 varclus 过程的变量聚类步骤如下: 如果没有为过程提供初始分类的情况(缺省情况),该过程开始把所有变量看成一个类,上海财经大学经济信息管理系 IS/SHUFE Page 16 of 62 然后它重复以下步骤: ① 首先挑选一个将被分裂的类。 根据规定的选项,选中的类应该是:或者用它的类分量所解释的方差百分比最小,或者同第二主 成分 有关 的特征值为最大。 ② 把选中的类分裂成两个类。 先计算出开头两个主 成分 ,再进行斜交旋转,并把每个变量分配到旋转分量对应的类里,分配原则为使变量与这个主 成分 的相关系数最大。 ③ 变量重新分类。 通。sas系统和数据分析聚类分析(编辑修改稿)
相关推荐
Bounds on condition number: 1, 1 Step 2 Variable AGE Entered Rsquare = C(p) = DF Sum of Squares Mean Square F ProbF Regression 2 Error 28 Total 30 Parameter Standard Type II Variable Estimate Error
性。 为了便于比较,我们将原始时间序列和消除增幅后的时间序列按 12 个时间单位的间隔绘制在一张图表上。 程序如下: data arimad02。 set arimad01。 xlog=log(x)。 proc print data=arimad02。 run。 proc gplot data=arimad02。 plot xlog*date / vaxis=axis1 haxis=axis2
select * from B。 quit。 A UNION B x y 1 one 2 two 3 three 4 four 产生只属于第一个查询的观测 (EXCEPT算符 ) proc sql。 title 39。 A EXCEPT B39。 select * from A except select * from B。 quit。 A EXCEPT B x y 3 three
1121*)1()1(nsnsntnsntnst () 用上面修正后的 *t 统计量作出合适的统计推断。 一般地, Chchran 和 Cox检验趋于保守。 另外, Satterthwaite( 1864)就设法用 t 统计量去拟合,结果发现若取: )1()1(/) 22242121412222121nn snn snsnsl ()
Model 1 Error 198 C Total 199 Root MSE Rsquare Dep Mean Adj Rsq . Parameter Estimates Parameter Standard T for H0: Variable DF Estimate Error Parameter=0 Prob |T| INTERCEP 1 WEIGHT 1 上海财经大学经济信息管理系
S语句代替 INFILE语句。 所对应的一般程序结构如下: Data 所要创建的数据集名。 图 调用 VIEWTABLE 窗口浏览数据集 cc381fe59fe483e9d188433804805395 SAS 系统和数据分析 电子商务系列 上海财经大学经济信息管理系 IS/SHUFE Page 7 of 14 Infile „读取的外部文件名 ’ FIRSTOBS=开始读入的行 OBS=结束行