Sas:如何使用 proc 单变量进行正态性测试
您可以将 SAS 中的proc univariate与正态语句结合使用,对数据集中的变量执行多个正态性检验。
此过程使用以下基本语法:
proc univariate data =my_data normal ;
var my_variable;
run ;
以下示例展示了如何在实践中使用此过程。
示例:SAS 中用于正态性检验的 Proc Univariate
假设我们在 SAS 中有以下数据集,其中包含有关各种篮球运动员的信息:
/*create dataset*/
data my_data;
input team $pointsrebounds;
datalines ;
At 12 8
At 12 8
At 12 8
At 23 9
At 20 12
At 14 7
At 14 7
B 20 2
B 20 5
B 29 4
B 14 7
B 20 2
B 20 2
B 20 5
;
run ;
/*view dataset*/
proc print data =my_data;
我们可以使用proc univariate和normal语句对点变量执行各种正态性检验:
proc univariate data =my_data normal ;
var points;
run ;
结果中将显示多个表格,但标题为“正态性检验”的表格包含正态性检验的结果:
默认情况下,SAS 执行四个正态性检验并显示每个检验统计数据和相应的 p 值:
- 夏皮罗-威尔克检验:W = 0.867,p = 0.0383
- 柯尔莫哥洛夫-斯米尔诺夫检验:D = .237,p = .0318
- 克拉默-冯·米塞斯检验:W-Sq = 0.152,p = 0.0200
- 安德森-达林检验:A-Sq = 0.847,p = 0.0223
每个正态性检验均使用以下原假设和备择假设:
- H 0 :数据呈正态分布。
- H A :数据不呈正态分布。
由于每个正态性检验的p 值小于 0.05,因此我们将拒绝每个正态性检验的原假设。
这意味着有足够的证据可以得出结论,点变量不是正态分布的。
请注意,您还可以创建叠加正态曲线的直方图,以可视化点变量值的分布:
proc univariate data =my_data;
histogram points / normal ;
run ;
直方图向我们表明,值的分布并没有很好地遵循正态曲线,这与我们进行的正态性检验的结果一致。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: