620 likes | 888 Views
第六章 . 回归分析. 第六章 回归分析. 第一节 一元线性回归分析 第二节 多元线性回归分析 第三节 逐步回归分析 第四节 非线性回归分析. 第一节 一元线性回归分析. 样本相关系数 |r|<=1 r=0, X 与 Y 不相关 r= 1, X 与 Y 正 ( 负 ) 线性相关 r>0, X 偏大时, 一般 Y 偏大 r<0, X 偏大时, 一般 Y 偏小. 相关系数图示. r=-0.85, -0.38, -0.98, 0.06, 0.60, 0.97 。 如何对应 ?. 统计检验: SAS 实现.
E N D
第六章 回归分析
第六章 回归分析 • 第一节 一元线性回归分析 • 第二节 多元线性回归分析 • 第三节 逐步回归分析 • 第四节 非线性回归分析
第一节 一元线性回归分析 • 样本相关系数 • |r|<=1 • r=0, X与Y不相关 • r=1, X与Y正(负)线性相关 • r>0, X偏大时, 一般Y偏大 • r<0, X偏大时, 一般Y偏小
相关系数图示 • r=-0.85, -0.38, -0.98, 0.06, 0.60, 0.97。 • 如何对应?
统计检验:SAS实现 • proc corr 选项 pearson (默认) • 例5-5 去掉spearman • 注意: • 相关系数很强,并不表示变量间有因果关系; • 相关系数只表示线性联系程度,相关系数接近0, 也有可能非线性相关 • 个别例外数据可能严重歪曲相关系数
回归模型 • 基本内容:①表示因变量Y(dependent)随一个或几个自变量X (variables)变化的公式(统计关系线);②表现观察值围绕统计关系线的散布情况。
一元线性回归 • 其中Yi是第i次观测或试验中因变量的取值,和是参数,Xi为第i次观测或试验中自变量的取值,i是随机误差项 • 基本假设: i正态且 • 均值E(i)=0 • 方差Var (i)=2(方差齐性) • 协方差Cov(i ,j)=0,当i j时。(不相关)
参数估计(最小二乘法) • 估计量 • 性质:一致无偏 • ,的区间估计
参数t检验 • t检验: P值小,拒绝H0, 即不为0
模型F检验 比y平均值预测效果好 • F检验: P值小,拒绝H0, 即模型有显著意义 • 总平方和(y的总差异) • 回归平方和(回归模型解释的差异) • 残差平方和(回归模型没有解释的差异)
利用回归方程作预测(证明P234~235) • 预测: 当x取某一个具体值x0时,对相应的y取值y0所作的推断。 • y0的点估计(y0均值) • 估计量的分布 • y0均值的区间估计 • y0的区间估计(考虑了的影响)
回归预测 • 当x0离x的均值越近,h0小,预测精度就越好
回归分析的名称来由 Francis Galton论文“Galton, F. (1886). "Regression towards mediocrity in hereditary stature". Nature 15: 246–263. ” 高尔顿和他的学生Pearson观察了1078对夫妇,以每对夫妇的平均身高作为自变量,取他们的一个成年儿子的身高作为因变量,结果发现两者近乎一条直线,其回归直线方程为:y=33.73+0.516x 。 更有趣的发现:尽管高个子父母子代身高高于子代平均身高,但不见得比其父母更高,会往平均身高方向发生‘回归(Regression toward the mean )’ 。
第二节 多元线性回归分析 • 模型 • 矩阵表示 y=X+ • 假设: • k<N,且 X的秩为(k+1) ; • 为多维正态分布,E( )=0 ,Var()=2I(齐性且不相关)
参数估计 • 参数估计量 • 只要残差是0均值,与X不相关,则 是最优线性无偏估计量(证明P239~240)。 • i置信区间, • 其中 • vi为 的第i个对角线元素,i=0,1,…,k • 证明
模型显著性F检验 不妨设 • 原假设 • F统计量和F检验(单侧拒绝域, P值小则模型显著) • R2统计量 (模型表达误差的比例) 方差分解
回归方差分析表 变异来源 source 离差平方和 SS 自由度 df 均方 MS F统计量 F 概率值 P 回归R P 误差E 总变异T
参数i的t检验 • H0: i =0 • T统计量(双侧拒绝域) • P值小则说明该参数显著 • 与i置信区间的关系:当i置信区间包含0, 说明该参数不显著,可认为i =0
预测 • 点估计: • Ey0区间估计 • y0区间估计 • 其中
通过回归诊断检验和改进模型 • 样本数据中是否存在异常值,造成模型失真。 • 残差是否满足模型假设:(1)正态, (2)方差齐性, (3)不相关。 • 模型的函数形式是否错误或在模型中是否缺少重要的自变量,造成残差大(R2不够大)。 • 高度相关的自变量是否引起了共线性,造成模型病态。(对于多元回归而言)
异常点处理 • 如果怀疑异常点是由于记录数据中发生的错误或者在测量过程中采用了人为编造,我们理应从数据集中删除,重新建回归模型。 • 对异常点的处理须持谨慎态度,因为异常点的出现可能代表了相当重要的某些数据,它恰好成为我们探究某些事先不清楚或许是更为重要的因素的线索。
异方差处理 • 在这种场合应该考虑在回归之前对数据或进行变换,实现方差齐性后再拟合回归模型。 • 原则上,当误差方差变化不太快时取变换 ,当误差方差变化较快时取变换lny,当误差方差变化很快时取变换1/y。
非线性趋势和线性趋势 • 非线性趋势: 提示人们在模型中是否忽略了若干重要的变量。 • 线性趋势:提示计算错误导致模型的错误选定。
共线性 • 回归研究中很容易发生模型中两个或两个以上的自变量高度相关,从而引起最小二乘估计可能很不精确(X的秩<k+1造成X’X不可逆或病态),且模型不精简。 • 共线性诊断问题就是要找出哪些变量间存在共线性关系,进一步简化模型。
残差是否不相关? • 原假设H0: 误差项是相互独立的 • 残差的一阶自相关性进行Durbin-Watson检验 • DW统计量 1阶自相关系数
自相关性D-W检验 dL dU 4-dU 4-dL 0 2 4 DW 正自 相关 负自 相关 独立 • 如果DW接近于0,表示残差中存在正自相关; • 如果DW接近于4,表示残差中存在负自相关; • 如果DW接近于2,表示残差独立性。
PROC REG过程 proc reg data=数据集集名 </选项列表> ; model 因变量=自变量名列 </选项列表> ; var 变量列表; output out=数据集名 </选项列表> ; plot 绘图表达式 </选项列表>; print 关键字列; weight 变量; freq 变量; by 变量; restrict 方程1,方程2,…; test 方程1,方程2,…; run ;
model部分选项 • spec——进行关于异方差性的检验。 • p——要求计算各观测点上因变量的预测值。 • r——作残差分析,同时给出因变量的预测值。 • cli——给出预测值的95%置信上、下限。 • clm——给出各自变量所对应的因变量预测均值Eyi的95%置信上、下限。 • noint——指明回归方程不带截距项(常数项)。 • mse——扰动项方差 2的估计(MSE=ESS/自由度) • rmse——MSE的平方根, 的估计
model部分选项 • collin——诊断多重共线性。 • collinoint——截距0情形下,诊断多重共线性 • influence——对异常点进行诊断。 • dw——一阶自相关检验的Durbin-Watson统计量。 • ss1——打印第一类的模型参数估计的顺序平方和,表示该变量对误差缩减的贡献。 • ss2——打印第二类的模型参数估计的偏平方和,表示考虑该变量与不考虑该变量的差别。
其他语句 • output语句——用于把一些计算结果输出到指定的数据集中 • var语句——列出叉积矩阵X’X中的变量 • plot语句——绘制两变量的散点图 ,若变量是统计量关键字时,需要在其后加上一个小圆点“·” • restrict语句——要求计算线性等式约束的最小二乘估计 • test语句——要求进行线性等式约束的显著性检验 (共线性模型)
例6-1 身高对体重的影响(一元线性回归) • chap6_01_2 (修改过的) • 建立数据文件,制作变量的散点图 proc gplot data= study.bclass ; plot weight*height ; run ; • 相关系数计算 proc corr data= study.bclass ; var weight height ; run ; • 回归分析 proc reg data= study.bclass ; model weight = height /r clm cli dw ; output out=study.bclassg p=predict l95=clil95 u95=cliu95; run ;
例6-1 回归预测 输出带有回归线的散点图(注意两头喇叭形状) proc sort data=study.bclassg ; by height; run ; proc gplot data=study.bclassg ; plot weight*height=1 predict*height=2 clil95*height=2 cliu95*height=2/ overlay ; symbol1i=none v=plus c=black; symbol2i=spline v=dot c=blue; run ; 本題將男女分開建模更加合理.
例6-1非观测点的预测 • 非观测点的预测: 把需要预测的x值到输入数据集中(y的值作为缺失值), 可以产生x的预测值。 data temp; input height @@; cards ; 165 170 175 ;run; data pred ; set study.bclass temp;run; proc reg data=pred; model weight = height/rclmcli; outputout=predout p=predict l95=clil95 u95=cliu95; run;quit;
例6.2 耗氧量模型(多元线性回归) • 建立数据文件chap6_02_1 • 制作多变量的散点图(命令框键入insight) • 相关系数计算chap6_02_3 proc corr data=study.fitness; var oxygen age weight runtime rstpulse runpulse maxpulse; run; • 回归分析chap6_02_4 proc reg data=study.fitness; model oxygen=age maxpulse rstpulse runpulse runtime weight/ss1ss2 ; run ;
例6.2 耗氧量模型(续) • 剔除不显著的回归变量chap_02_5 delete rstpulse weight; print ;run ; • 系数的线性组合检验chap_02_6 proc reg data= study.fitness; model oxygen=age maxpulse runpulse runtime; test maxpulse+runpulse=0; run ; • 有约束条件的回归模型chap_02_7 proc reg data= study.fitness; model oxygen=age maxpulse runpulse runtime /ss2; restrict maxpulse+runpulse=0; run ; • 用新变量maxpulse-runpulse做回归chap_02_8(没什么价值!)
第三节 逐步回归分析 • 问题:在多元线性回归模型中,选择哪些自变量? • 通常在多元线性模型中,我们首先从专业角度选择有关的为数众多的因子,然后用数学方法从中选择适当的子集。 • 逐步回归方法可能是应用最广泛的自动搜索方法。从本质上说,这种方法在每一步“引入” 或“剔除”一个x变量时,产生一系列回归模型。 • 无论引入变量或剔除变量,都要利用F检验,将显著的变量引入回归方程,而将不显著的从回归方程中剔除。
变量选择的方法 • 记引入变量F检验的临界值为Fin(进),剔除变量F检验的临界值为Fout(出),一般取Fin≥Fout。 • 变量增加法: 从一元线性回归开始,逐步引入,直到F<Fin • 变量减少法:从全部自变量线性回归开始,逐步剔除,直到F>Fout • 变量增减法: 综合增加法与减少法
引入变量的依据 • 设 ,当变量Xi引入后,回归平方和增加量 • 检验统计量 • 若有Fi ≥Fin ,则可以考虑将自变量Xi引入回归方程,否则不能引入。实际上大于Fin的变量可能有几个,选其最大的一个引入。
剔除变量的依据 • 设 ,当变量Xj剔除后,回归平方和减少量 • 检验统计量 • 若有Fj <Fout ,则可以考虑将自变量Xj剔除回归方程,否则不能剔除。实际上小于Fout的变量可能有几个,选其最小的一个剔除。 • 稳定条件: 任意j, FoutFjFin
要注意的问题 • 最低可接受Fin决不应小于最高可接受Fout,否则就有可能重复进入和剔除一个自变量。 • 应有slentry(引入p值)<=slstay(剔除p值)以保证Fin≥Fout • 自变量进入模型的顺序并不反映它们的重要程度。
SAS实现:stepwise proc stepwisedata=数据集; model 因变量=自变量 </选项列表>; weight 变量 ; by 变量 ; run ;
SAS实现:reg proc regdata=数据集; model 因变量=自变量 /selection=stepwise </选项列表>; weight 变量 ; by 变量 ; run ;
model语句的</选项列表> • none——请求全回归模型。 • forward或f——请求向前选择法。 • backward或b——请求向后淘汰法。 • stepwise——请求逐步技术,默认。 • maxr——请求最大R2增量法。 • minr——请求最小R2增量法。 • rsquare——请求R2最大准则法。 • adjrsq——请求修正R2最大准则法。 • cp——请求Mallows的Cp统计量法。
缺省的入选和剔除显著水平 • slentry=值——指出向前选择和逐步技术中选择变量进入模型的显著水平。如果省略,那么stepwise过程便对向前选择技术置slentry= 0.5,对逐步技术置slentry=0.15。 • slstay= 值——指出向后淘汰与逐步技术中变量留在模型里的显著水平。如果省略,则逐步技术用0.15,向后淘汰技术用0.10。 • 逐步技术 slentry(引入p值)<=slstay(剔除p值)以保证Fin≥Fout
实例分析(与例6-2比较) • 例6-3 耗氧量模型(续) • P为包括截距项的参数个数 • MSE为满模型时的均方=ESS/(N-k-1) • 条件指数(condition number)为X’X最大特征值和每个特征值之比的平方根,最大条件指数很大说明存在共线性. • Mallows建议取CP首次接近P的地方的模型。
等价程序chap6_03_1 proc stepwise data=study.fitness ; model OXYGEN=AGE WEIGHT RSTPULSE MAXPULSE RUNPULSE RUNTIME; run ;
第四节 非线性回归分析 • 非线性相关问题的曲线拟合方法主要有: • 首先决定非线性模型的函数类型,对于其中可线性化问题则通过变量变换将其线性化,从而归结为前面的多元线性回归问题来解决。 • 若实际问题的曲线类型不易确定时,由于任意曲线皆可由多项式来逼近,故常可用多项式回归来拟合曲线。 • 若变量间非线性关系式已知(多数未知),且难以用变量变换法将其线性化,则进行数值迭代的非线性回归分析。
可变换成线性的非线性回归 • 例 • 变换 • 线性 • 一般形式