SAS教程[4]–第四章解答|《统计软件教程》(李东风版)|文艺数学君

  • A+
所属分类:SAS基础
摘要在这个新的教程中,我会结合《统计软件教程》(李东风版)这本数给出教程,并给出这本书第1到第5章的课后习题答案。希望大家能有所收获。这是《统计软件教程》(李东风版)这本的第四章的答案。

前言

这是《统计软件教程》(李东风版)第四章的题目解答。

4.1

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_1;
  2. input gaodu@@;
  3. cards;
  4. 15 3.5 3.5 7 1 7 5.75 27 15 8 4.75 7.5
  5. 4.25 6.25 5.75 5 8.5 9 6.25 5.5 4 7.5 8.75 6.5
  6. 4 5.25 3 12 3.75 4.75 6.25 3.25 2.5
  7. ;
  8. run;
  9. proc univariate data=SAS4_1 normal;
  10. var gaodu;
  11. run;

在PROC UNIVARIATE 语句中加上NORMAL可以进行正态性检验。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

这里给出了四种正态性检验的结果,其中Shapiro-wilk检验是我们首选的,我们可以看到p-值小于0.05,故在0.05的水平下我们拒绝原假设,原数据不符合正态性。

 

4.2

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

我们首先检查数据是否符合正态分布,再检查数据是否符合对数正态分布。

  1. data SAS4_2;
  2. input so2o@@;
  3. so2olog = log(so2o); /*将取对数后的结果存入so2olog*/
  4. cards;
  5. 10 13 12 17 56 36 29 14 10 24 110
  6. 28 17 8 30 9 47 35 29 14 56 14
  7. 11 46 11 23 65 26 69 61 94 10 18
  8. 9 10 28 31 26 29 31 16
  9. ;
  10. run;
  11. proc univariate data=SAS4_2 normal;
  12. var so2o;
  13. run;
  14. proc univariate data=SAS4_2 normal;
  15. var so2olog; /*检查对数正态分布*/
  16. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

这里给出了四种正态性检验的结果,其中Shapiro-wilk检验是我们首选的,我们可以看到p-值小于0.001,故在0.05的水平下我们拒绝原假设,原数据不符合正态性。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

这里给出了四种正态性检验的结果,其中Shapiro-wilk检验是我们首选的,我们可以看到p-值大于0.05,故在0.05的水平下我们接受原假设,原数据符合正态性。

 

4.3

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

当我们有两组样本分别来自两个独立总体,需要检验两个总体的均值或中心位置是否一样。如果两个总体分别服从正态分布,我们可以使用TTest过程,这种检验叫做辆样本t检验。

  1. data SAS4_3;
  2. input sex$ weight@@;
  3. cards;
  4. b 13.3 b 19 b 20 b 8 b 18 b 22 b 20 b 31 b 21 b 12 b 16 b 12 b 24
  5. g 22 g 26 g 16 g 12 g 21.7 g 23.2 g 21 g 28 g 30 g 23
  6. ;
  7. run;
  8. proc ttest data=SAS4_3 alpha=0.01; /*alpha=0.01控制检验水平*/
  9. class sex;
  10. var weight;
  11. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

对于结果我们应该这么看:

  1. 首先看第三部分结果检验两样本方差是否相等。
  2. 如果检验的结果是相等的,则可以使用精确的两样本t检验(方法为Pooled)
  3. 如果方差检验的结果为不等,则只能使用近似的两样本t检验(方法是Satterhwaite)

在这里,我们先看 Equality of Variances 中P-value = 0.7182 >0.05接受原假设,说明两组数据方差不相等的假设失败,也就是说可以承认方差相等,即两组的方差相等。

再看T-Tests中的Pooled method的结果,t-test的p-value = 0.1031,接受原假设,说明两组数据没有差异的假设不可拒绝。

综上所述,男性和女性身体脂肪含量无显著差异。

 

4.4

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

方法一:使用TTest

  1. data SAS4_4;
  2. input num$ score@@;
  3. cards;
  4. f 93 f 88 f 89 f 88 f 67 f 89 f 83 f 94 f 89 f 55
  5. f 88 f 91 f 85 f 70 f 90 f 90 f 94 f 67 f 87 f 83
  6. s 98 s 74 s 67 s 92 s 83 s 90 s 74 s 97 s 96 s 81
  7. s 83 s 94 s 89 s 78 s 96 s 93 s 81 s 81 s 93 s 91
  8. ;
  9. run;
  10. proc ttest data=SAS4_4 alpha=0.01; /*alpha=0.01控制检验水平*/
  11. class num;
  12. var score;
  13. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

在这里,我们先看 Equality of Variances 中P-value = 0.4497 >0.05接受原假设,说明两组数据的方差相等。

再看T-Tests中的Pooled method的结果,t-test的p-value = 0.4167,接受原假设,说明两组数据没有差异的假设不可拒绝。

综上所述,两次考试的难度无显著差异。

 

方法二:使用UNIVARIATE过程

  1. data SAS4_4;
  2. input num$ score1 score2@@;
  3. cards;
  4. f 93 98 f 88 74 f 89 67 f 88 92 f 67 83 f 89 90 f 83 74 f 94 97 f 89 96 f 55 81
  5. f 88 83 f 91 94 f 85 89 f 70 78 f 90 96 f 90 93 f 94 81 f 67 81 f 87 93 f 83 91
  6. ;
  7. run;
  8. data SAS4_4_1;
  9. set SAS4_4;
  10. diff = score1-score2;
  11. keep diff
  12. run;
  13. proc univariate data=SAS4_4_1;
  14. var diff;
  15. run;

从上面的代码我们可以得到下面的表格:

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

我们可以看到t检验的p值为0.3116,故我们接受原假设,故两次测试的难度没有明显的差异。

综上所述,我们使用第一种和第二种方法得到的结果是一样的。

 

4.5

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_5;
  2. input num$ score @@;
  3. cards;
  4. f 0.2 f 10.4 f 0.3 f 10.9 f 0.4 f 11.3 f 1.1 f 12.4 f 2 f 16.2
  5. f 2.1 f 17.6 f 3.3 f 18.9 f 3.8 f 20.7 f 4.5 f 24 f 4.8 f 25.4
  6. f 4.9 f 40 f 5 f 42.2 f 5.3 f 50 f 7.5 f 60 f 9.8
  7. s 0.2 s 5.4 s 0.3 s 5.7 s 0.4 s 5.8 s 0.7 s 7.5 s 1.2 s 8.7
  8. s 1.5 s 8.8 s 1.5 s 9.1 s 1.9 s 10.3 s 2 s 15.6 s 2.4 s 16.1
  9. s 2.5 s 16.5 s 2.8 s 16.7 s 3.6 s 20 s 4.8 s 20.7 s 4.8 s 33
  10. ;
  11. run;
  12. proc univariate data=SAS4_5 normal;
  13. class num;
  14. var score;
  15. run;
  16. proc npar1way data=SAS4_5 wilcoxon;
  17. class num;
  18. var score;
  19. run;

第一组的正态性检验

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

第二组的正态性检验

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

对上面两组数据的正态性检验,得到的p-值都小于0.05,故我们拒绝原假设,应拒绝两组溶菌酶含量分布的正态性假设。

在这种情况下我们可以使用非参数检验。检验两独立样本的中心位置是否相同的非参数检验有Wilcoxon秩和检验

  1. /*这段代码上面运行过了,这里拿过来单独讲一下*/
  2. proc npar1way data=SAS4_5 wilcoxon;
  3. class num;
  4. var score;
  5. run;

上面代码运行的结果如下:

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们只要看Wilcoxon检验中用正态近似得到的p值Prob>|Z|=0.1096,检验结果不显著,可以认为两组溶菌酶无明显差异。

 

4.6

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_6;
  2. input group $ score@@;
  3. cards;
  4. a 1.23 a 1.42 a 1.41 a 1.62 a 1.55 a 1.51 a 1.60 a 1.76
  5. b 1.76 b 1.41 b 1.87 b 1.49 b 1.67 b 1.81
  6. ;
  7. run;
  8. proc univariate data=SAS4_6 normal;
  9. class group;
  10. var score;
  11. run;
  12. proc npar1way data=SAS4_6 wilcoxon;
  13. class group;
  14. var score;
  15. run;

第一组数据的正态性检验

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

第二组数据的正态性检验

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

对上面两组数据的正态性检验,得到的p-值都大于0.05,故我们接受原假设,应接受两组药物含量的分布的正态性假设。于是我们使用t检验并且选择单边检验。

  1. proc npar1way data=SAS4_6 wilcoxon;
  2. class group;
  3. var score;
  4. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

正态性检验表示可用,所以用Analyst-Statistics-Hypothesis Tests-Two-Sample t-test for Means 选择单边检验,在 0.10 的水平下不显著p-值为0.098,故拒绝原假设,可以认为B药物含量高于A药物的含量。

 

4.7

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_7;
  2. input norm high@@;
  3. cards;
  4. 14.7 12.1 14.0 10.9 12.9 13.1
  5. 16.2 14.5 10.2 9.6 12.4 11.2
  6. 12.0 9.8 14.8 13.7 11.8 12.0
  7. 9.7 9.1
  8. ;
  9. run;
  10. data SAS4_7_1;
  11. set SAS4_7;
  12. diff=norm-high;
  13. keep diff;
  14. run;
  15. proc univariate data=SAS4_7_1;
  16. var diff;
  17. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们可以看到t检验的p值为0.0061,故我们拒绝原假设,故两种化验方法有明显的差异。

 

4.8

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_8;
  2. input group $ num@@;
  3. cards;
  4. a 7 a -4 a 18 a 17 a -3 a -5 a 1 a 10 a 11 a -2
  5. b -1 b 12 b -1 b -3 b 3 b -5 b 5 b 2 b -11 b -1 b -3
  6. ;
  7. run;
  8. proc univariate data=SAS4_8 normal;
  9. by group;
  10. var num;
  11. run;
  12. proc npar1way data=SAS4_8 wilcoxon;
  13. class group;
  14. var num;
  15. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

正态性检验表示可用,所以用Analyst-Statistics-Hypothesis Tests-Two-Sample t-test for Means 选择单边检验,在 0.10 的水平下不显著p-值为0.167,故接受原假设,不能认为补钙药降压作用比安慰剂大。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

4.9

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_9;
  2. input num1970 num1980@@;
  3. num19702=num1970*num1970;   /*1970年数据的平方*/
  4. num19703=num1970*num1970*num1970;  /*1970年数据的三次方*/
  5. cards;
  6. 13.1 27.3 15.3 42.4 25.8 38.7 1.8 4.5 4.9 23 55.4 166.3
  7. 39.3 109.7 26.7 80.1 47.5 150.7 6.6 20.3 94.7 189.7
  8. 61.1 131.3 135.6 404.2 47.6 149
  9. ;
  10. run;
  11. proc reg data=SAS4_9;
  12. var num1970 num1980 num19702 num19703; /*y=ax+b*/
  13. model num1980=num1970;
  14. run;
  15. model num1980=num1970 num19702;  /*y=ax+bx^2+c*/
  16. run;
  17. model num1980=num1970 num19702 num19703;  /*y=ax+bx^2+cx^3+d*/
  18. run;

注意在程序窗口的标题行显示PROC REG Running表示REG过程还在运行,没有终止。

模型一:y=a*x+b

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

在这个模型中,我们可以看到R^2达到了0.935,可以看到回归的效果是很好的。
从Analysis of Variance中我们可以看到p-值很小,故我们拒绝原假设,系数不为0.

 

模型二:y=ax+bx^2+c

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

相对于上面的模型,这个模型的R^2只提高了一点,且二次项系数不显著,为0.00481。

 

模型三:y=ax+bx^2+c*x^3+d

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

在三次模型中,可以看到R^2达到了0.96,虽然高次项系数较小,但在三次模型中二次项与三次项都在0.05水平上显著。

结合上面三个模型,我们认为第三个模型是最好的,于是给出了回归公式:y=5.12 x - 0.06112 x^2 +0.000338 x^3 -15.36

 

4.10

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_10;
  2. input y x@@;
  3. x2=x*x;
  4. cards;
  5. 40 0.5 41 1.0 43 1.5 42 2.0
  6. 44 2.5 42 3.0 43 3.5 42 4.0
  7. ;
  8. run;
  9. proc reg data=SAS4_10;
  10. var y x x2;
  11. model y=x;
  12. run;
  13. model y=x x2;
  14. run;

 

模型一:y=a*x+b

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

可以看到对于一次模型,R^2不高,只有0.289,并且从Analysis of Variance中我们可以看到p-值达到0.1689,接受原假设,系数为0。

 

模型二:y=ax+bx^2+c

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

相比于一次模型,二次多项式模型R^2明显变大,且Analysis of Variance的p-值也变小了,再看Parameter Estimates中,一次项系数的p-值为0.0323,则显著。

综上所述,模型二,二次模型是更优的。回归的方程为y=3.44x-0.64x^2+38.48

 

 

4.11

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

我们使用两种方法来进行回归,一种是线性回归,第二种是负指数回归。

线性回归

  1. data SAS4_11;
  2. input x y@@;
  3. log_y=log(y);
  4. cards;
  5. 1 94.5 1 86.4
  6. 2 71 2 80.5 2 81.4
  7. 3 67.4
  8. 5 49.3
  9. 6 46.8 6 42.3
  10. 7 36.6
  11. ;
  12. run;
  13. proc reg data=SAS4_11;
  14. title "习题4_11_普通回归";
  15. var x y;
  16. model y = x; /* selection=stepwise */
  17. run;
  18. quit;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

从Analysis of Variance中我们可以看到p-值小于0.0001,拒绝原假设,系数不为0。在看R^2,可以看到R^2达到0.96,可以看到回归效果很好。同时Parameter Estimates中系数检验显著不为0。

  1. data SAS4_11;
  2. input x y@@;
  3. log_y=log(y);
  4. cards;
  5. 1 94.5 1 86.4
  6. 2 71 2 80.5 2 81.4
  7. 3 67.4
  8. 5 49.3
  9. 6 46.8 6 42.3
  10. 7 36.6
  11. ;
  12. run;
  13. proc reg data=SAS4_11;
  14. title "习题4_11_负指数";
  15. var x y;
  16. model y = x; /* selection=stepwise */
  17. run;
  18. quit;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

从Analysis of Variance中我们可以看到p-值小于0.0001,拒绝原假设,系数不为0。在看R^2,可以看到R^2达到0.978,可以看到回归效果很好。同时Parameter Estimates中系数检验显著不为0。

综合上面两种方法,可以看到使用负指数方法来拟合的R^2更大一些,所以使用负指数拟合的效果更好。

 

4.12

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

我们首先使用REG的方法:

  1. data SAS4_12;
  2. set SASuser.gpa;
  3. run;
  4. proc reg data=SAS4_12;
  5. var gpa hsm hss hse;
  6. model gpa=hsm hss hse;
  7. run; /*首先对hsm,hse,hss三个变量进行回归*/
  8. model gpa=hsm;
  9. run; /*只对hsm进行回归*/
  10. model gpa=hsm hss hse / selection=stepwise;
  11. /*使用逐步回归的方法来确定最优的自变量*/
  12. run;

上面是完整的代码,下面分布来演示每段代码及其达到的效果。

  1. proc reg data=SAS4_12;
  2. var gpa hsm hss hse;
  3. model gpa=hsm hss hse;
  4. run;
  5. /*首先对hsm,hse,hss三个变量进行回归*/
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们首先对hsm,hss,hse三个变量进行回归,可以看到R^2只有0.2,并且hss和hse的系数不显著,故我们进行优化,只对hsm进行回归。

  1. proc reg data=SAS4_12;
  2. var gpa hsm hss hse;
  3. model gpa=hsm hss hse;
  4. model gpa=hsm;
  5. run; /*只对hsm进行回归*/
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

这是优化后的模型,只对hsm进行回归,可以看到系数是显著不为0的,但是R^2只有0.19。接下来我们采用stepwise来逐步回归来确定变量。

  1. proc reg data=SAS4_12;
  2. var gpa hsm hss hse;
  3. model gpa=hsm hss hse / selection=stepwise;
  4. /*使用逐步回归的方法来确定最优的自变量*/
  5. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

从上面的图中我们可以看出一共被选入了两个变量,hsm和hse,并且hsm的系数显著不为0。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

最后再把上面的结论总结一下,可以看到hsm的系数为0的检验p-值小于0.001,但是hse的p-值为0.08,说明hse的系数还是可能为0的。

下面使用INSIGHT的方法来做回归,我们就只拟合gpa关于hsm的方程。

首先点击分析--拟合:

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

然后选择变量即可:

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们来看一下最后做出来的结果,是和上面的结果是一样的。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

4.13

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

首先是完整的代码,下面会分步来解释。

  1. data SAS_4_13;
  2. set SASuser.fitness;
  3. run;
  4. proc reg data=SAS4_13;
  5. var oxygen age weight runtime rstpulse runpulse maxpulse;
  6. model oxygen=age weight runtime rstpulse runpulse maxpulse;
  7. run;/*首先对所有的变量进行回归*/
  8. model oxygen=age runtime runpulse maxpulse;
  9. run;/*去掉不显著的变量后重新进行回归*/
  10. model oxygen=age weight runtime rstpulse runpulse maxpulse /
  11. selection=stepwise;
  12. run;/*分布进行回归,选择最优的变量个数*/

下面分步来解释:

  1. data SAS_4_13;
  2. set SASuser.fitness;
  3. run;
  4. proc reg data=SAS_4_13;
  5. var oxygen age weight runtime rstpulse runpulse maxpulse;
  6. model oxygen=age weight runtime rstpulse runpulse maxpulse;
  7. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们可以看到weight和rstpulse不显著,应接受原假设,系数为0。故我们可以做优化,回归时不加入weight和rtpulse这两个变量。

  1. data SAS_4_13;
  2. set SASuser.fitness;
  3. run;
  4. proc reg data=SAS_4_13;
  5. var oxygen age weight runtime rstpulse runpulse maxpulse;
  6. model oxygen=age runtime runpulse maxpulse;
  7. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

可以看到优化后的模型的所有变量都显著了。最后我们使用stepwise来进行变量的选择。

  1. data SAS_4_13;
  2. set SASuser.fitness;
  3. run;
  4. proc reg data=SAS_4_13;
  5. model oxygen=age weight runtime rstpulse runpulse maxpulse /
  6. selection=stepwise;
  7. run;/*分布进行回归,选择最优的变量个数*/
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

可以看到使用stepwise得到的结论和之前优化的上一个模型是一样的,都是去掉了变量weight和rstpulse。

 

4.14

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

首先是整体的代码,下面我们会对这段代码进行分步解释。

  1. data SAS4_14;
  2. input point pres@@;
  3. log_point=log(point);      /*对point取对数*/
  4. log_pres=log(pres);        /*对press取对数*/
  5. point2=point*point;        /*对point取二次方*/
  6. point3=point*point*point;  /*对point取三次方*/
  7. cards;
  8. 194.5 20.79 194.3 20.79
  9. 197.9 22.40 198.4 22.67
  10. 199.4 23.15 199.9 23.35
  11. 200.9 23.89 201.1 23.99
  12. 201.4 24.02 201.3 24.01
  13. 203.6 25.14 204.6 26.57
  14. 209.5 28.49 208.6 27.76
  15. 210.7 29.04 211.9 29.88
  16. 212.2 30.06
  17. ;
  18. run;
  19. proc reg data=SAS4_14;
  20. var point pres log_point log_pres point2 point3;
  21. title "press = a*point + b"; /*第一个模型*/
  22. model pres=point;
  23. run;
  24. title "press = a*log(point) + b"; /*第二个模型*/
  25. model pres=log_point; /*相比模型一,并无优势*/
  26. run;
  27. title "log(press) = a*point + b"; /*第三个模型*/
  28. model log_pres=point;
  29. run;
  30. title "log(press) = a*log(point) + b"; /*第四个模型*/
  31. model log_pres=log_point;
  32. run;
  33. title "press = a*point + b*point^2+c"; /*第五个模型*/
  34. model pres=point point2;/*一二次项不显著*/
  35. run;
  36. title "press = a*point + b*point^2+c*point^3+d"; /*第六个模型*/
  37. model pres=point point2 point3; /*高次项不显著*/
  38. run;
  39. quit;

下面来分步解释上面的代码:

模型一:y=a*x+b

  1. proc reg data=SAS4_14;
  2. var point pres log_point log_pres point2 point3;
  3. title "press = a*point + b";
  4. model pres=point; /*Adj-R-sq很高,在面板数据中,拟合程度相当好*/
  5. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

可以看到R^2很高,并且系数显著不为0,于是可以认为拟合程度相当好。

 

模型二:y=a*log(x)+b

  1. proc reg data=SAS4_14;
  2. var point pres log_point log_pres point2 point3;
  3. model pres=log_point; /*相比模型一,并无优势*/
  4. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们可以看到,相比与模型一来说,模型二没有优势,R^2没有变大很多。根据简单的原则,模型一好于模型二。

 

模型三:log(y)=a*x+b

  1. proc reg data=SAS4_14;
  2. var point pres log_point log_pres point2 point3;
  3. model log_pres=point;
  4. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

模型三对比模型一也没有优势。

 

模型四:log(y)=a*log(x)+b

  1. proc reg data=SAS4_14;
  2. var point pres log_point log_pres point2 point3;
  3. model log_pres=log_point;
  4. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

模型五:y=ax+bx^2+c

  1. proc reg data=SAS4_14;
  2. var point pres log_point log_pres point2 point3;
  3. model pres=point point2; /*高次项不显著*/
  4. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

可以看到二次项系数不显著。

 

模型六:y=ax+bx^2+c*x^3+d

  1. proc reg data=SAS4_14;
  2. var point pres log_point log_pres point2 point3;
  3. model pres=point point2 point3; /*高次项不显著*/
  4. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

可以看到二次和三次项的系数都不显著,综上所述,在其他模型没有优势的情况下,我们可以认为模型一是这些模型里最好的。

 

4.15

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_15;
  2. set SASuser.fitness;
  3. run;
  4. proc npar1way data=SAS4_15 wilcoxon;
  5. title "检验oxygen在不同组之间的差异";
  6. class group; /*按组来分类*/
  7. var oxygen; /*检验oxygen在不同组之间是否有差异*/
  8. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们可以看到结果分为两个部分,我们看第二部分,可以看到p-值为0.8336,大于预定水平0.1,所以说不同组之间没有显著差异。

 

4.16

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

首先生成数据

  1. data littlelu.typetime;
  2. do g=0, 100, 200;
  3. do t=1 to 10;
  4. input times @@;
  5. output;
  6. drop t;
  7. end;
  8. end;
  9. cards;
  10. 242 245 244 248 247 248 242 244 246 242
  11. 248 246 245 247 248 250 247 246 243 244
  12. 246 248 250 252 248 250 246 248 245 250
  13. ;
  14. run;

可以看到上述代码生成的数据在work.SAS4_16,双击可以查看数据。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

第一问:使用INSIGHT进行操作

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

从图中我们可以看出三组有显著的差异

 

第二问

  1. proc anova data=SAS4_16;
  2. class g;
  3. model times=g;
  4. means g / regwq;
  5. run;
  6. quit;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

我们看结果中的F统计量的p-值,为0.0062,小于0.05,说明模型是显著的,即三组之间有显著的差异。

 

4.17

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

首先输入数据

  1. data SAS4_17;
  2. do temp=1 to 3;
  3. do pres=1 to 4;
  4. do r=1 to 2;
  5. input return @@;
  6. output;
  7. end;
  8. end;
  9. end;
  10. cards;
  11. 52 57 42 45 41 45 48 45
  12. 50 52 47 45 47 48 53 30
  13. 63 58 54 59 57 60 58 59
  14. ;
  15. run;

可以看到上述代码生成的数据在work.SAS4_17,双击可以查看数据。

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

 

  1. proc anova data=SAS4_17;
  2. class temp pres;
  3. model return=temp pres temp*pres;
  4. run;
  5. quit;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

从p值我们可以看出模型是显著的。为了分析各作用的显著性,我们看后面的详细的方差分析表,他给出了模型中各作用(a , b , a*b)的平方和检验的F统计量和p值。可以看出两个因素的主效应是显著的,交互作用不显著。

所以我们可以重新运行ANOVA过程,不指定交互作用效应。

  1. proc anova data=SAS4_17;
  2. class temp pres;
  3. model return=temp pres;
  4. means temp pres;
  5. run;
  6. quit;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

这时因素A的主效应F统计量变为15.7,B的主效应F统计量变为2.55,都增大了。两个因素的主效应仍是高度显著的,说明他们对定强都有显著影响。

为了找到最好的组合,我们在代码后面加上了下面这段话:

  1. means temp pres;
  2. run;

我们可以从上图看出,因素a在第三指标下最大,因素b在第一指标下最大,故最好的方案是温度3,压力1

 

4.18

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_18;
  2. input nation $ gulity $ number;
  3. cards;
  4. black yes 17
  5. black no 149
  6. white yes 19
  7. white no 141
  8. ;
  9. proc freq data=SAS4_18;
  10. tables gulity*nation / nopct norow nocol chisq expected;
  11. weight number;
  12. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

列联表中列出了表格单元频数和在零假设下的期望频数,可以看出黑人和白人被判有罪和无罪的人数和期望的差不多。

后面检验的结果只要看卡方那一行,可以看到其p-值为0.637,应该接受原假设,做出结论判决结果与种族是独立的。

 

4.19

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_19;
  2. input sex $ color $ number@@;
  3. cards;
  4. m red 32 m blue 14 m blue 4
  5. f red 25 f blue 17 f blue 8
  6. ;
  7. proc freq data=SAS4_19;
  8. tables sex*color / nopct norow nocol chisq expected;
  9. weight number;
  10. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

列联表中列出了表格单元频数和在零假设下的期望频数,可以看出男性和女性喜欢红绿蓝的人数和期望的差不多。

后面检验的结果只要看卡方那一行,可以看到其p-值为1.5,应该接受原假设,做出结论:颜色偏好与性别无关。

 

4.20

题目要求

SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

解答

  1. data SAS4_20;
  2. input method $ economy $ number@@;
  3. cards;
  4. cowmilk poor 30 cowmilk low 15 cowmilk med 11 cowmilk good 12
  5. humanmilk poor 7 humanmilk low 18 humanmilk med 19 humanmilk good 29
  6. both poor 5 both low 23 both med 7 both good 19
  7. ;
  8. proc freq data=SAS4_20;
  9. tables method*economy / nopct norow nocol chisq expected;
  10. weight number;
  11. run;
SAS教程[4]--第四章解答|《统计软件教程》(李东风版)|文艺数学君

列联表中列出了表格单元频数和在零假设下的期望频数,可以看出经济状况是贫穷的使用并用的实际人数小于期望人数,使用牛奶的实际人数大于预测人数,使用母乳的期望人数大于实际人数。

后面检验的结果只要看卡方那一行,可以看到其p-值为小于0.1,应该拒绝原假设,做出结论:喂养方法与母亲经济条件有关。

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: