如何在 sas 中创建 qq 图


QQ 图是“分位数-分位数”的缩写,用于评估数据集是否可能来自理论分布。

在大多数情况下,这种类型的图用于确定数据集是否遵循正态分布。

如果数据呈正态分布,QQ 图上的点将位于一条直线对角线上。

相反,图表上的点偏离直线对角线越明显,数据集遵循正态分布的可能性就越小。

在 SAS 中创建 QQ 图的最简单方法是将PROC UNIVARIATE语句与QQPLOT语句结合使用:

 proc univariate data =my_data noprint ;
   qqplot my_variable;
run ;

以下示例展示了如何在实践中使用此语法。

注意:我们使用NOPRINT语句删除由PROC UNIVARIATE语句自动生成的所有其他汇总统计信息和表。

示例 1:在 SAS 中为正态数据创建 QQ 图

以下代码演示了如何为包含 1000 个观测值的数据集创建 QQ 图,这些观测值是根据平均值为 10、标准差为 2 的正态分布生成的:

 /*generate 1000 values that follow normal distribution with mean 10 and sd 2 */
data normal_data;
    do i = 1 to 1000;
	x = 10 + 2* rannor (1);
        output ;
    end ;
run ;

/*create some plot*/
proc univariate data =normal_data noprint ;
   qqplot x;
run ; 

SAS 中的 QQ 图

我们可以看到这些点大部分位于一条直线对角线上,沿着每条尾部有一些微小的偏差。

根据该图,我们可以安全地假设该数据集呈正态分布。

示例 2:非正态数据的 QQ 图

以下代码显示如何为包含从指数分布生成的 1000 个观测值的数据集创建 QQ 图:

 /*generate 1000 values that follow an exponential distribution*/
data exp_data;
    do i = 1 to 1000;
	x = ranexp (1);
        output ;
    end ;
run ;

/*create some plot*/
proc univariate data =exp_data noprint ;
   qqplot x;
run ; 

我发现这些点明显偏离直线对角线。这清楚地表明数据集不是正态分布的。

鉴于我们指定数据应遵循指数分布,这应该是有意义的。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在 SAS 中使用 Proc Univariate 进行正态性检验
如何在 SAS 中执行日志转换
如何识别 SAS 中的异常值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注