system: [SYSTEM]

user: 3. 如何用%Model_Selection得到模型 本只程序设计的目的有三： 1) 提供6个回归模型；完整模型(Full Model)，线性模型(Linear Model)，前进搜寻法(Forward Selection)，后退搜寻法(Backward Selection)，逐步搜寻法(Stepwise Selection)，与CP选择法得到的模型的预估值与可供选取模型参考的统计量。另一为根据输入的模型提供相同的报表。 2) 产生输出档案用来做常态分配与变异数的一致性的检定。 3) 可以同时对未来值作预测。 图1. 变数对照表 图2. 回归变量卷标表 图3. 输出数据文件，WORK.OUTPUT只打印22个变量与5笔数据 Table 3 The contents of the data file MOD_HOM M_NAME X Y FILENAME 1 Homo_Polynomial X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 Y OUTPUT 表3. 档案MOD_HOMO的内容 以下先介绍程序的内容与选项，然后再详述程序的架构与困难处。 程序的参数字于等号左侧而等号右侧为参数的默认值，表4介绍如何输入MACRO变量、%Model_Selection(DATA_IN = ， Y = ， X_LIN = ， X_FULL= ， X = ， RES_OUT = NO， F_MODEL = NO， STAT = VIF， SLENTRY = 0.2， SLSTAY = 0.2， CHECK = NO， CHECK_D = CHK_DATA， ID = ID_ID， ID2 = ， MODEL_IN = NO， MOD_NAME = ， GROUP = ). 以下用(Kunugi， Tamura， and Naito [ 1961 ])的论文资料为例子： 为减少篇幅我用20笔标准化后的数据来执行模型筛选与预测，但不指定预测档案。此时程序会将含有遗漏值的4笔数据当作需要被预测的数据，并且会存放在2个不同的数据文件，Check_d01.sas7bdat与Missing.sas7bdat而资料文件N_of_miss_val.sas7bdat则存入遗漏值的数目。用MODEL_IN = NO选项执行程序%Model_Selection将得到以下2个图表；图4为资料文件MMODEL.sas7bdat的内容，图5，打印出在各个模型中参考点与预估点的估计结果。 %Model_Selection (DATA_IN =EXAMPLE.RIDGE_S20， X= T H C TH TC HC T2 H2 C2， Y= P， X_LIN= T H C， CHECK = YES， ID = ID_ID， ID2 = ID， GROUP=TEMP， F_MODEL=YES， STAT=VIF， MODEL_IN=NO， SLENTRY= 0.2， SLSTAY = 0.2); [注]： 1) 选项X_FULL在MODEL_IN = NO时可以不给，程序会用&X来取代。 2) F_MODEL = YES是要求程序行印包含全部变量的模型。 3) STAT选项是选择打印VIF (variance inflation factor)的值，因为除了全部模型与线性模型外p-value值均小于0.2。 当你执行完后会在log窗口中发现两个警告讯息 WARNING: The NOINT option is ignored in the computation of ridge regression. 1) 使用未标准化的数据：%Model_Selection(DATA_IN = EXAMPLE.RIDGE_20， X = T H C TH TC HC T2 H2 C2， Y = P， X_LIN = T H C， CHECK = YES， ID = ID_ID， ID2 = ID， GROUP = TEMP， F_MODEL=YES， STAT=VIF， MODEL_IN=NO， SLENTRY= 0.2， SLSTAY = 0.2); 2) 使用未标准化的数据：%Model_Selection(DATA_IN = EXAMPLE.RIDGE_16， X = T H C TH TC HC T2 H2 C2， Y = P， X_LIN = T H C， CHECK = YES， CHECK_D = EXAMPLE.RIDGE_04， ID = ID_ID， ID2 = ID， GROUP = TEMP， F_MODEL=YES， STAT=VIF， MODEL_IN=NO， SLENTRY= 0.2， SLSTAY = 0.2); 我同时提供一SAS程序“Example of Model Selection.sas”以供模仿用。在使用前请先参考档案“README.TXT”。 Table 4 The table of input parameters of %Model_Selectio MACRO变量名称 解释 DADA_IN 原始资料文件名。 Y= 应变量(分析预测变量名称)。 X_LIN= 输入线性模型变量，如X1 X2 X3… X_FULL= 输入完整的模型变量，不论&X为何必须输入，如果不输入则程序会自动选取以&X来代替。如果MODEL_IN=YES则用所有输入的模型变量为&X_FULL的值。 X= 自变量名称，变量与变量间以空格来分别。SAS用来做筛选用，可以与X_FULL不同。 RES_OUT = NO “YES”为要求程序输出包含残差值的输出文件名，注意：如果MODEL_IN=YES则会为每一模型产生一个新档案，这会占去很大的储存空间，请谨慎使用！默认值为“NO”。 F_MODEL = NO “NO”为要求程序在报表中不打印完整模式，因为如果变量数目太大，经由模型选择后可以让报表不会过度膨胀。因为完整模型不是选项亦或是X_FULL=X_LIN时是不必要包含完整模型因为X_FULL与X_LIN结果会相同。 STAT = VIF 伴随参数出现的统计量为何？共有“VIF”、“PVALUE”与“ALL”都选。如果输入错误则程序会同时打印“VIF”与“PVALUE”。 SLENTRY = 0.2 新进入模型的变量的PVALUE必须小于显著水平，默认值为“0.2”。 SLSTAY = 0.2 从模型移除变量的PVALUE必须大于显著水平，默认值为“0.2”。注意：选取变量从宽，移除变量从严。 CHECK = NO 模型选取完后是否要用来做预测？默认值为“NO”。 CHECK_D = CHK_DATA 储存要用来预测的数据文件名，存于& CHECK_D中，默认值为“CHK_DATA”。 ID = ID_ID 在& CHECK_D数据中用来分辨何笔数据为需要做预测的以及何笔数据是用来做“参考点”的，默认值为“ID_ID”。注意：& CHECK_D的值只能有3种，0 (不选取)，1 (参考点)或2 (预测点)。 ID2= 为非必要选项。此变量是用来辨识数据用。 OUT_DATA = NO 要求程序在有遗漏值(Missing Value)时是否输出无遗漏值的数据文件与预测档案。默认值为“NO”。 MODEL_IN = NO 如果选项是“YES”则程序会针对你给的模型作分析与预测。 MOD_NAME= 如果选项是“YES”则程序会用& MOD_NAME所指定的数据文件去分析，但是数据文件的变量必须是；第一个变量必须为模型名称而第二个变量必须是自变量(X)。 GROUP= 给分群变量名称(用在以后执行变异数一致性检测程序用)，如不给则程序会用应变量(Y)来做分群变数。 表4. 程序%Model_Selection的参数输入表 [注]：1) 如果MODEL_IN = NO则程序会自动产生一数据文件“MMODELS”包含模型名称(M_NAME)，自变量名称(X)，应变量名称(Y)，文件名(FILENAME)与组名(GROUP)。2) 程序会检查输入数据文件有否包含遗漏值(Missing Value)，会产生三个数据文件，CHECK_D01 (加入检察预测值的数据文件)，MISSING(储存遗漏值)与N_of_miss_val (遗漏值的笔数)。3) 如果CHECK = YES，则程序会检察是否有输入预测值的数据文件“&CHECK_D”如果没有则会去数据文件中找遗漏值然后存于“CHECK_D01”。注意：如果数据文件中有遗漏值则程序会主动将之加入预测档案中，所以请小心对待数据文件中的遗漏值。 Table 5 The contents of dataRidge_20.sas7bda TEMP H_RATIO TIME P ID ID_ID 1 1300 7.5 0.012 49 o 0 2 1300 9 0.012 50.2 o 0 3 1300 11 0.0115 50.5 J 1 4 1300 13.5 0.013 48.5 o 0 5 1300 17 0.0135 47.5 I 1 6 1300 23 0.012 44.5 o 0 7 1200 5.3 0.04 28 o 0 8 1200 7.5 0.038 31.5 o 0 9 1200 11 0.032 34.5 o 0 10 1200 13.5 0.026 35 F 1 11 1200 17 0.034 38 o 0 12 1200 23 0.041 38.5 E 1 13 1100 5.3 0.084 15 B 1 14 1100 7.5 0.098 17 A 1 15 1100 11 0.092 20.5 o 0 16 1100 17 0.086 29.5 o 0 17 1100 11 0.012 . C 2 18 1200 23 0.098 . D 2 19 1200 7.5 0.012 . G 2 20 1300 11 0.098 . H 2 表5. 资料文件Ridge_20.sas7bdat不含末4笔的存在Ridge_16.sas7bdat 图4. 输出数据文件MMODELS.sas7bdat的内容