sas进行多元非线性回归+sas中方差分析解读文档格式.docx
《sas进行多元非线性回归+sas中方差分析解读文档格式.docx》由会员分享,可在线阅读,更多相关《sas进行多元非线性回归+sas中方差分析解读文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
17.101.463324.377240.579634.337836.5065
18.117.417824.194148.475941.011444.7478
19.147.521326.615162.683452.289358.2219
20.188.895830.161382.385367.892176.3492
21.253.057735.8777111.32491.4335105.856
22.320.407245.578137.4362102.6372137.393
23.397.570158.3757167.9238130.2389171.2706
24.475.869168.732197.5005157.0486209.6366
25.534.596970.7519222.8439174.1697241.0011
26.580.03671.3285238.4684187.0766270.2391
27.656.409874.1104268.3988206.0297313.9006
28.728.077478.3636297.0933217.9077352.6205
29.812.846979.1826328.0378229.521405.6265
30.929.485883.2886393.6734268.2806452.5238
31.1133.8828103.3327504.571341.5303525.9791
32.1519.90112.59655.27469.28752.04
33.1790.66123.25774.66584.41892.75
34.;
35.procreg;
/*reg调用回归模块*/
36.modely1=z1z2z3z4/cli;
/*表示以z1z2z3z4为自变量,y1为应变量建立回归模型,/cli表示要求预测区间。
加入/selection=stepwise时,表示逐步回归
37.proccorr;
varz1-z4;
/*求相关系数矩阵*/
38.run;
dataex;
inputyx1-x4@@;
y1=log(y);
/*对数据做变化,取对数后再做回归分析*/
cards;
16.84535.60927.44366.37353.7925
21.3836.632910.05858.75844.6916
23.17166.581911.14249.66235.4473
25.72897.097412.318110.66416.3134
28.62477.797313.510111.2887.3173
32.31039.195214.634312.08648.4808
36.403710.068816.166412.982210.1685
45.077412.084419.730115.583813.2629
51.474913.139522.25217.452816.0834
63.413517.454327.536321.419321.1229
82.348419.430435.629428.867827.2886
92.714321.203139.383233.019432.128
101.463324.377240.579634.337836.5065
117.417824.194148.475941.011444.7478
147.521326.615162.683452.289358.2219
188.895830.161382.385367.892176.3492
253.057735.8777111.32491.4335105.856
320.407245.578137.4362102.6372137.393
397.570158.3757167.9238130.2389171.2706
475.869168.732197.5005157.0486209.6366
534.596970.7519222.8439174.1697241.0011
580.03671.3285238.4684187.0766270.2391
656.409874.1104268.3988206.0297313.9006
728.077478.3636297.0933217.9077352.6205
812.846979.1826328.0378229.521405.6265
929.485883.2886393.6734268.2806452.5238
1133.8828103.3327504.571341.5303525.9791
1519.90112.59655.27469.28752.04
1790.66123.25774.66584.41892.75
;
procreg;
/*reg调用回归模块*/
modely1=z1z2z3z4/cli;
/*表示以z1z2z3z4为自变量,y1为应变量建立回归模型,/cli表示要求预测区间。
proccorr;
varz1-z4;
/*求相关系数矩阵*/
run;
(1)回归方程显著性检验
由AnalysisofVariance表可知,其FValue=73270.5,Pr>
F的值小于0.0001,远小于0.05,故拒绝原假设,接受备择假设,认为y1与z1,z2,z3,z4之间具有显著的线性相关关系;
由R-Square的值为0.9999可知该方程的拟合度很高,样本观察值有99.99%的信息可以用回归方程进行解释,故拟合效果较好。
(2)参数显著性检验
由ParameterEstimates表可知,对自变量z3检验t值为t=-0.36,Pr>
|t|的值等于0.7256,大于0.05,因此接受原假设H0:
β3=0认为z3的系数应为0,说明z3的系数没有通过检验.为此,需要在程序modely=z1z2z3z4中去掉z3.
再次运行得到结果
由ParameterEstimates表可知,对常数检验t值为t=14.79,Pr>
|t|的值小于0.0001,远小于0.05,说明截距项通过检验.为此,估计值为0.96744.
对自变量z1检验t值为---------------.为此,估计值为-----.
对自变量z2检验t值为---------------为此,估计值为-----.
对自变量z4检验t值为---------------为此,估计值为-----.
以上结果表明所有变量的系数均通过检验,于是该线性模型即可得到。
(如果有多个系数没通过检验,可使用逐步回归方法,在y1=z1z2z3z4后加/selection=stepwise表示逐步回归,让软件自动保留通过检验的变量)
(3)拟合区间
以上仅列出10个样本的拟合结果,其中DepVary1为因变量的原始值,PredictedValue为y的拟合值,95%CLPredict为拟合值95%的拟合区间,Residual为残差.例如,第一组原函数值为2.8241,拟合区间为[2.7457,2.8176],残差为0.0424.
综合以上分析,可以得到线性回归方程:
y1=0.09768z1+0.65586z2+0.24696z4+0.96744
又因为y1=ln(y),zi=(xi)(i=1,2,4),将方程还原可以得到y关于x1,x2,x4的函数式:
y=2.6312*x1^0.0977*x2^0.656*x4^0.247
其中y表示全国GDP总值,x1表示第一产业生产总值,x2表示第二产业生产总值,x4表示第三产业生产总值。
总结:
首先用方差分析法检验因变量y与m个自变量之间的线性回归方程有无显著性;
其次对每个自变量的偏回归系数进行t检验,以剔除在方程中不起作用的自变量
4.3SAS方差分析入门
1.用ANOVA过程进行单因素方差分析
单因素方差分析是4.1.2问题的一个自然延续。
在4.1.2中,我们有一个分类变量把观测分为两组,我们要研究这两组的均值有没有显著差异。
如果这个分类变量的取值不只两个,则这时4.1.2的检验方法不再适用,但我们同样要解决各组均值是否有显著差异的问题。
如果各组之间有显著差异,说明这个因素(分类变量)对指标是有显著影响的,因素的不同取值(叫做水平)会影响到指标的取值。
注意,经典的方差分析只判断因素的各水平有无显著差异,而不管两个水平之间是否有差异。
方差分析把指标的方差分解为由因素的不同取值能够解释的部分,和剩余的不能解释的部分,然后比较两部分,当能用因素解释的部分明显大于剩余的部分时认为因素是显著的。
方差分析假定观测是彼此独立的,观测为正态分布的样本,由因素各水平分成的各组的方差相等。
在这些假定满足时,就可以用ANOVA过程来进行方差分析。
其一般写法为:
PROCANOVADATA=数据集;
CLASS因素;
MODEL指标=因素;
RUN;
例1:
为了分析SASUSER.VENEER中各种牌子的胶合板的耐磨性有无显著差别,首先我们假定假设检验使用的检验水平为0.05,可以使用如下程序进行方差分析:
procanovadata=sasuser.veneer;
classbrand;
modelwear=brand;
run;
结果可以分为四个部分,第一部分是因素水平的信息,第二部分就是经典的方差分析表,表前面指明了因变量(指标)为WEAR,第一列"
来源(Source)"
说明方差的来源,是模型(Model)的(可以用方差分析模型解释的),误差(Error)的(不能用模型解释的),还是总和(CorrectedTotal)。
第三列为平方和,其大小代表了各方差来源作用的大小。
第二列为自由度。
第四列为均方,即平方和除以自由度。
第五列F值是F统计量的值,其计算公式为模型均方除以误差均方,用来检验模型的显著性,如果不显著说明模型对指标的变化没有解释能力。
第六列是F统计量的p值。
由于这里p值小于0.05(我们的检验水平),所以模型是显著的,因素对指标有显著影响。
结果的第三部分是一些与模型有关的简单统计量,第一个是复相关系数平方,与回归模型一样仍代表总变差中能被模型解释的比例,第二个是变异系数,第三个是根均方误差,第四个是指标的均值。
结果的第四部分是方差分析表的细化,给出了各因素的平方和和F统计量,因为是单因素所以这一行与上面的"
模型"
一行相同。
2.用NPARIWAY进行非参数单因素方差分析
当方差分析的正态分布假定或方差相等假定不能满足时,对单因素问题,可以使用称为Kruskal-Wallis检验的非参数方差分析方法。
这种检验不要求观测来自正态分布总体,不要求各组的方差相等,甚至指标可以是有序变量(变量取值只有大小之分而没有差距的概念,比如磨损量可以分为大、中、小三档,得病的程度可以分为重、轻、无,等等)。
NPARIWAY过程的调用与ANOVA过程不同,因为它是单因素方差分析过程,所以只要用CLASS语句给出分类变量(因素),用VAR语句给出指标就可以了,一般格式为:
PROCNPARIWAYDATA=数据集WILCOXON;
CLASS因素:
VAR指标:
3.多重比较
方差分析只检验各组是否没有任何两两之间的差异,但不检验到底是哪两组之间有显著差异。
在三个或多个组之间进行两个或多个比较的检验叫做多重比较。
多重比较在统计学中没有一个公认的解决方法,而是提供了若干种检验方法。
因为多重比较要进行不只一次的比较,所以在多重比较的检验水平有两种:
总错误率(experimentwiseerrorrate)和单次比较错误率(compa,risonwiseerrorrate)。
总错误率是指所有比较(比如,五个组两两之间比较有10次)的总第一类错误概率,单次比较错误率是指每一次比较的第一类错误概率。
显然,总错误率要比单次比较错误率高。
在ANOVA过程中使用MEANS语句可以进行多重比较。
格式如下:
MEANS因素/选项;
如果不使用选项,则ANOVA过程内的MEANS语句只对因素的各水平计算指标的平均值和标准差,比如:
meansbrand;
为了进行两两比较,可以在MEANS语句的选项中旨定检验方法。
SAS提供了多种方法。
一、用重复t检验控制单次比较错误率
重复t检验的想法很简单:
在适当的检验水平下用两样本t检验对所有组两两之间进行检验。
控制的是每次比较的第一类错误概率。
缺省使用0.05水平。
注意这样检验的总错误率将大大高于每次比较的错误率。
比如,在上面程序后加入(ANOVA是交互式过程)。
meansbrand/t;
结果如下:
下面给出了检验的一些指标,比如水平(Alpha)为0.05(控制单次比较的第一类错误概率),自由度(df)为15,误差的均方(MSE,是方差分析表中误差的均方1为0.020833,两样本t检验的t统计量的临界值(CriticalValueoft)为2.13,如果两样本t检验的t统计量值绝对值超过临界值则认为两组有显著差异,或者等价地,如果两组的均值之差绝对值大于最小显著差别(LeastSignificantDifference)0.2175也是有显著差异。
所以这个检验也叫LSD检验。
下面列出了检验的结果,把因素各水平的指标平均值由大到小排列,然后把两两比较的结果用第一列的字母来表示,字母相同的水平没有显著差异,字母不同的水平有显著差异。
所以我们看到,重复t检验的结果把五种牌子分成了A、B、C三个组,TUFFY单独是一组,它的磨损量最大;
XTRA、CHAMP、ACME是一组,这三种两两之间没有显著差异;
AJAX单独是一组,
其磨损量最小。
二、用Bonferronit检验控制总错误率
Bonferronit检验通过把每次比较的错误率取得很小来控制总误差率。
比如,共有10次比较时,把每次比较的错误率控制在0.005就可以保证总错误率不超过0.05,但是,这样得到的实际总第一类错误率可能要比预定的水平小得多。
在MEANS语句中使用BON语句可以执行Bonferronit检验,缺省总错误率控制水平为0.05。
对上面数据增加如下语句:
meansbrand/bon;
结果先说明了检验类型和指标,然后说明了检验控制总第一类错误率,但一般比REGWQ方法的第二类错误概率高(检验功效较低)。
下面给出了几个检验用的值。
最后给出了Bonferronit枪验的结果,有相同分组字母的因素水平间无显著差异,否则有显著差异。
我们看到,TUFFY与XTRA、CHAMP、ACME没有显著差异,与AJAX有显著差异;
XTRA、CHAMP、ACME两两之间没有显著差异,而且与其它两个也都没有显著差异;
AJAX与TUFFY有显著差异,与其它三个没有显著差异。
其分组是有交叉的。
最后只发现了TUFFY和AJAX之间有显著差异。
三、用REGWQ检验控制总错误率
用Bonferronit检验控制总错误率过于保守,功效较低,不易发现实际存在的显著差异。
REGWQ方法可以控制总错误率并且一般比Bonferronit检验要好。
这种方法执行多阶段的检验,它对因素水平的各种子集进行检验。
在MEANS语句中用REGWQ选项可以进行REGWQ检验。
例如,在前面的例子后再运行:
meansbrand/regwq;
MEANS语句的选项可以同时使用。
在MEANS语句中可以用ALPHA=水平值来指定检验的水平。
ANOVA过程中还提供了其它的多重比较方法,请自己参考有关资料。
4.多因素方差分析
SAS提供了若干个方差分析过程,可以考虑多个因素、有交互作用、有嵌套等情况的方差分析。
用GLM过程还可以用一般线性模型来处理方差分析问题。
在这里我们只介绍如何用ANOVA过程进行均衡设计的多因素方差分析。
例如:
为了提高一种橡胶的定强,考虑三种不同的促进剂(因素A)、四种不同分量的氧化锌(因素B)对定强的影响,对配方的每种组合重复试验两次,总共试验了24次,得到表的结果。
B:
氧化锌
A:
促进剂
1
2
3
4
31,33
34,36
35,36
39,38
33,34
36,37
37,39
38,41
35,37
37,38
39,40
42,44
首先把数据输入为SAS数据集。
输入的办法可以是直接输入各个观测,例如:
datarubber;
inputabstren;
cards;
1131
1133
1234
1236
…………
;
为了研究两个因素的主效应和交互作用,使用如下ANOVA过程:
procanovadata=rubber;
classab;
modelstren=aba*b;
ANOVA也可以用来分析正交设计的结果。
5.用Analyst作方差分析
Analyst的"
Statistics-ANOVA"
菜单提供了七种方差分析方法,我们这里只介绍前三种:
单因素方差分析(One-WayANOVA)、非参数单因素方差分析(NonparametricOne-WayANOVA)、多因素方差分析(FactorialANOVA)。
为了对SASUSER.VENEER进行方差分析,选"
Statistics-ANOVA-One-WayANOVA),弹出对话框,我们要指定因变量(Dependent,即指标)和自变量(Independent,即因素)。
用这里的Tests钮可以选择一些其他的检验,比如对各组方差相等假设的检验,稳健的Welch方差如权方差分析等。
Means按钮用来进行多重比较,可以选择多种比较方法。
这个菜单调用的是PROCANOVA,所以最后的结果与上面编程得到的结果一致。
用"
Statistics-ANOVA-NonparametricOne-WayANOVA"
可以作Kruskal-Wallis检验。
它调用PROCNPARIWAY。
Statistics-ANOVA-Fa,ctorialANOVA"
可以进行多元方差分析。
它调用PROCGLM,这个过程与ANOVA的差别在于它允许非均衡设计。
对于均衡设计如上面的橡胶试验这里得到的结果与PROCANOVA得到的结果是一致的。