第八章直线回归、直线相关与logistic回归(上)(医学统计之星)上次更新日期:直线回归与相关是联系非常紧密的两种统计分析方法,事实上SAS用于回归分析的程序步REG也可提供相关分析的结果,但进一步的深入分析仍应采用相应的程序步--CORR才能实现。本章前三节主要介绍两个常用的用于直线回归和相关分析的程序步――REG过程和CORR过程。后两节则介绍多元线性回归和Logistic回归的方法和所用的过程。§8.1引例例8.1今测定20名糖尿病人血糖水平(mmol/L)与胰岛素水平(mU/L),试以血糖为应变量Y,胰岛素为自变量X建立直线回归方程,并求两者的相关系数(医统第二版P104例6.1)。解:显然,在建立数据集时应指定血糖与胰岛素两个变量。再调用GPLOT过程绘制散点图观察有无直线趋势,然后调用REG过程求出直线回归方程,最后调用CORR过程求出相关系数。①设定数据库环境:LIBNAMEA’C:\USER’;②数据步,建立数据集:DATAA.YTLI7_1;INPUTYX@@;CARDS;12.2115.214.5416.712.2711.912.0414.07.8819.811.1016.210.4317.013.3210.319.595.99.0518.76.4425.19.4916.410.1622.08.3823.18.4923.27.7125.011.3816.810.8211.212.4913.79.2124.4;RUN;③做散点图,估计两变量有无直线趋势:PROCGPLOTDATA=A.YTLI7_1;PLOTY*X;RUN;④REG过程,进行直线回归分析:PROCREGDATA=A.YTLI7_1;MODELY=X;RUN;⑤CORR过程,进行相关分析:PROCCORRDATA=A.YTLI7_1;VARXY;RUN;§8.2REG过程SAS/STAT模块提供了近十个用于回归分析的过程,其中REG过程是进行一般线性回归分析最常用的过程,该过程采用最小二乘法拟合线性模型,可产生有关数据的一些描述统计量、参数估计和假设检验以及散点图,输出预测值、残差、学生化残差、可信限等,并可将这些结果输出到一个新的SAS数据集中。8.2.1语法格式REG过程的语法格式如下:PROCREG[DATA=数据集名[选项]];MODEL应变量名=自变量名列/[选项];[1][VAR变量名列;[2]FREQ变量名;WEIGHT变量名;BY变量名列;OUTPUTOUT=新数据集名关键字=新变量名...;PLOT纵坐标变量*横坐标变量[=绘图符号].../[选项];[3]]8.2.2语法说明程序中全部语句中只有第一行和MODEL语句是必需的,其他都可以省略。1.MODEL语句,必需语句,定义回归分析模型2.VAR语句为可选的,指定用于计算交叉积的变量3.PLOT语句为可选的,用于绘制变量间的散点图,还可添加回归线。【过程选项】OUTEST=数据集名指定统计量和参数估计输出的新数据集名。NOPRINT禁止统计结果在OUTPUT视窗中输出。SIMPLE输出REG过程中所用的每个变量的基本统计量。CORR输出MODEL语句或VAR语句中所列变量的相关矩阵。ALL等价于MODEL语句加上全部选项,即输出该语句所有选项分析结果。【MODEL语句】MODEL语句定义模型中的因变量、自变量、模型选项及结果输出选项。语句中的变量只能是数据集中的变量,任何形式的变换都必须先产生一个新变量,然后用于分析。如X1的二次项,不能在模型中直接指定X1*X1,而要产生另一个新变量代表X1*X1,方可引入模型。MODEL语句中常用的选项有:NOINT在模型中不拟合常数项。STB输出标准化回归系数。CLI输出个体预测值的95%可信区间上下限。CLM输出因变量期望值(均值)的95%可信区间上下限。R输出个体预测值、残差及其标准误。P输出实际值Yi、预测值和残差等。如已选择了CLI、CLM和R,则无需选择P。【关键字】REG过程中OUTPUT语句的用法和UNIVARIATE过程中的用法相同,只是会用到另一些关键字。关键字用来定义需要输出到新数据集中的统计量,常用的关键字及其含义有:PREDICTED因变量预测值(简写为P)RESIDUAL残差(简写为R)L95M、U95M均数95%可信区间上下限L95、U95个体预测值95%可信区间上下限STDP期望值的标准误STDR残差的标准误STDI预测值的标准误STUDENT学生化残差(即残差与标准误之比)【PLOT语句】PLOT语句用于输出变量间的散点图,其用法和GPLOT过程中的PLOT语句非常相似。PLOT语句定义的两变量可为MODEL语句或VAR语句中定义的任何变量。SYMBOL选项可定义散点图中点的标记,如SYMBOL=’*’,则每个点以“*”表示。8.2.3结果解释REG过程的默认输出结果和方差分析输出结果相似,这是因为它们所用的统计模型相同。刚才的例4.1输出结果如下:Model:MODEL1第一个模型DependentVariable:Y应变量名为Y----以下是REG过程给出的直线回归方程是否有统计学意义的检验结果,使用的检验方法为方差分析---AnalysisofVarianceSumofMeanSourceDFSquaresSquareFValueProbF变异来源自由度离均差平方和均方F值P值回归变异Model1114.70324114.7032443.0600.0001误差Error1847.948162.66379总变异CTotal19162.65140误差的均方根RootMSE1.63211R-square0.7052确定系数R2DepMean10.85000AdjR-sq0.6888调整的R2Y的变异系数C.V.15.04250--------以下是参数估计及其假设检验结果,采用的是t检验--------ParameterEstimatesParameterStandardTforH0:VariableDFEstimateErrorParameter=0Prob|T|变量名自由度参数估计值估计值的标准误Sbt值P值截距INTERCEP118.7961431.2647274114.8620.0001X1-0.4585200.06987466-6.5620.0001如果在MODEL语句中使用CLI、CLM选项,则系统输出因变量均值以及个体预测值的95%可信区间上下限,输出如下:DepVarPredictStdErrLower95%Upper95%Lower95%Upper95%ObsYValuePredictMeanMeanPredictPredict112.210011.82660.39410.998612.65478.299115.3541记录号Y的实测值预测值预测值的标准误可信区间的上下限个体预测值可信区间的上下限Y()()ObsResidual记录号残差10.3834SumofResiduals0残差和SumofSquaredResiduals47.9482残差平方和PredictedResidSS(Press)66.8422预测残差平方和§8.3CORR过程CORR过程计算变量间的相关系数,包括Pearson积矩相关系数、Spearman等级相关系数等,同时也可给出一些单变量描述统计结果。8.3.1语法格式CORR过程的语法格式如下:PROCCORR[选项];[VAR变量名列;[1]WITH变量名列;[2]WEIGHT变量名;FREQ变量名;BY变量名列;]8.3.2语法说明除了PROC语句为必需,其他语句都是可选的,如果省略所有的可选语句,则对所有变量作相关分析。1.VAR语句,可选的语句,定义相关分析的变量2.WITH语句,可选的语句,定义分析相关性的另一组变量【过程选项】1.数据集选项DATA=数据集名指定要分析的数据集名。OUTP=数据集名要求产生一个包含Pearson相关分析结果的新数据集,该选项应和Pearson选项一起使用方有效。OUTS=数据集名要求产生一个包含Spearman相关分析结果的新数据集。2.相关类型选项PEARSON要求计算PEARSON相关,系统在默认的情况下就计算PEARSON相关系数。SPEARMAN要求计算SPEARMAN相关,也就是等级相关(秩相关)。如果使用了WEIGHT语句,该选项无效。3.其它选项NOMISS去除含有缺失值的所有记录。NOPRINT禁止统计结果在OUTPUT视窗中输出。NOSIMPLE取消每个变量的简单统计描述。但如果指定了输出数据集,则VAR语句中的每个变量的简单统计描述仍会输出到指定的数据集。【VAR语句和WITH语句】VAR语句给出希望计算相关的变量名。若省略该语句,则CORR过程计算指定数据集中所有数值变量间各种组合的相关系数。WITH语句必须和VAR语句一同使用。如果我们要得到特定变量组合的相关系数,则可在VAR语句中列出相关矩阵上部出现的变量,在WITH语句中列出相关矩阵左侧出现的变量。如有程序步如下:PROCCORR;VARAB;WITHXYZ;则产生下列组合的相关系数矩阵:ABXrXArXBYrYArYBZrZArZB8.3.3结果解释CORR过程的默认输出结果主要包括各个变量的简单统计描述和一个相关系数矩阵。例8.1的CORR过程的具体输出如下:CorrelationAnalysis2'VAR'Variables:XY相关阵中的变量有X、YSimpleStatistics简单统计描述VariableNMeanStdDevSumMinimumMaximum变量名例数均数标准差总和最小值最大值X2017.3300005.358623346.6000005.90000025.100000Y2010.8500002.925850217.0000006.44000019.590000PearsonCorrelationCoefficients/Prob|R|underHo:Rho=0/N=20-------矩阵第一列为PEARSON相关系数,第二列为相应的P值。并且该样本的例数为20-----XYX1.00000-0.839770.00.0001Y-0.839771.000000.00010.0本例X与Y的相关系数达到-0.83977,检验相关系数检验的P值为0.0001,按α=0.05水准,拒绝H0,接受H1,相关系数检验由统计学意义,血糖和胰岛素之间由直线相关关系。8.3.4应用实例例8.2下表给出了12名不同年龄(岁,X)妇女的收缩压测量值(mmHg,Y),试进行回归分析。妇女123456789101112年龄564272366347554938426860血压1471251601181491281501451151401521551.制作散点图;(2)建立由X预报的回归方程,制作回归直线;(3)对回归方程及回归系数b进行假设检验;(4)绘制的95%可信区间;(5)建立单个Y值的预报方程;(6)计算积矩相关系数,并进行假设检验。解:程序如下:dataa.yt4_10;inputxy@@;cards;56147......60155;procgplot;ploty*xy*x/overlay;symbol1v=starc=pink;symbol2i=rlclic=blue;proccorr;varxy;procreg;modely=x/cliclm;run;GPLOT过程绘制高分辨率的图形,在PLOT语句中作了两层图,用OVERLAY选项让它们在同一坐标系中绘制,第一层图绘制散点图,用星号表示散点,颜色为粉红色;第二层图绘制回归直线和个体预测值95%可信区间,颜色为兰色。用了两个SYMBOL语句分别控制这两层图的输出效果。该过程的输出在GRAPH窗口。其他两个过程的输出同前类似,不再赘述。