SASdiscrim距离判别和贝叶斯判别法.doc
文本预览下载声明
距离判别和贝叶斯判别法
SAS/STAT(DISCRIM)过程部分语句说明
DISCRIM过程语句
SAS/STAT(DISCRIM)产生线性判别函数并进行分类,主要的语句如下:
PROC DISCRIM options;}必需语句
CLASS variabaes;}必需语句
可选择的语句 二、程序实例及解释
例:某年为了研究某年全国各地农民家庭收支的分布情况,对全国28个地区进行了抽样调查。食品,衣着,燃料,住房,生活用品及其他和文化服务支出。
data a;input type x1-x6;cards;
数据行;
run;data b;input x1-x6;
cards;
190.33 43.77 9.73 60.54 49.01 9.04
221.11 38.64 12.53 115.65 50.82 5.89
182.55 20.52 18.32 42.40 36.97 11.68
;
PROC DISCRIM DATA=a TESTDATA=b out=c crossvalidate method=normal
TESTLIST testout=d;
priors proportional;
CLASS TYPE;
VAR x3 x5 x6;
proc print data=d;
RUN;
PROC DISCRIM DATA=a指定对数据集a中的数据进行判别分析;
TESTDATA=b指定欲分类观测的样品所在的数据集;
crossvalidate要求做交叉核实。交叉核实的想法是,为了判断对观测i的判别正确与否,用删除第i个观测的数据集算出判别规则,然后用次判别函数来判别第i个观测;
method=normal或npar确定导出分类准则的方法,却上缺省值为method=normal。当指定method=normal时,基于类内服从多员正态分布,并产生的判别函数是线性函数或二次判别函数; ALL规定打印出所有的结果;
TESTLIST规定列出TESTDATA=b中的全部的分类结果;
testout=d生成一个新的数据集,该数据集包括TESTDATA=b中的所有数据,后验概率和每个样品被分的类。
priors proportional要求用各类出现的比例计算各类的先验概率;
三、部分程序输出
Class Level Information(类的水平信息)
Output Prior
TYPE SAS Name Frequency Weight Proportion Probability
1 _1 6 6.0000 0.240000 0.240000
2 _2 10 10.0000 0.400000 0.400000
3 _3 9 9.0000 0.360000 0.360000
Pooled Covariance Matrix Information(合并的协方差矩阵信息)
Covariance Natural Log of the Determinant
Matrix Rank of the Covariance Matrix
3 4Pairwise Generalized Squared Distances Between Groups
(广义平方距离)
Generalized Squared Distance to TYPE
From TYPE 1 2 3
显示全部