分析大型数据集时,不能一下就把所有数据拿来分析,因此常常抽取一部分来测试。另外,在训练模型的时候,也常常将数据集分成3部分,训练集,校验集和测试集。
因此,抽样的方法也是必须要掌握的基础技能。讲到抽样,曾经帮深圳供电局设计过一个营业稽查抽样决策系统,里面用了很多很复杂的抽样方法,以保证各个区局所抽样本的得分能够近似整个区局的真实情况。这应该是我负责的第一个商业统计分析项目,很怀念那段一起战斗的岁月和弟兄们,可惜的是当时项目小组的人员已经都离开项目小组,各奔前程。
抽样最常用的就是随机抽样和分层抽样,SAS 关于抽样有许多PROC,包括:
PROC SURVEYSELECT
PROC SURVEYMEANS
PROC SURVEYFREQ
PROC SURVEYREG
PROC SURVEYLOGISTIC
PROC SURVEYPHREG
(1)简单随机抽样。待抽样数据集PopDs,抽样结果保存在SampleDS,样本数SampleSize,抽样方法SRS(简单随机抽样)
%MACRO RandomSample(PopDS, SampleDS, SampleSize);
/* This macro performes simple random sampling */
PROC SURVEYSELECT
DATA=&PopDs
METHOD=srs
N=&SampleSize
NOPRINT
OUT=&SampleDS;
RUN;
%MEND;
(2)不重