如何在 sas 中计算相关性(附示例)
量化两个变量之间关系的一种方法是使用Pearson 相关系数,它衡量两个变量之间的线性关联。
它始终采用 -1 和 1 之间的值,其中:
- -1 表示两个变量之间完全负线性相关
- 0 表示两个变量之间不存在线性相关
- 1 表示两个变量之间存在完全正线性相关
相关系数离零越远,两个变量之间的相关性越强。
以下示例演示如何使用 SAS 中的proc corr计算名为Fish的 SAS 集成数据集中变量之间的相关系数,该数据集包含在芬兰湖泊中捕获的 159 种不同鱼类的各种测量值。
我们可以使用proc print来显示该数据集的前 10 个观测值:
/*view first 10 observations from Fish dataset*/ proc print data =sashelp.Fish( obs = 10 ); run ;
示例 1:两个变量之间的相关性
我们可以使用以下代码来计算 Height 和 Width 变量之间的 Pearson 相关系数:
/*calculate correlation coefficient between Height and Width*/ proc corr data =sashelp.fish; var HeightWidth; run ;
第一个表显示高度和宽度的摘要统计数据。
第二个表显示两个变量之间的 Pearson 相关系数,包括告诉我们相关性是否具有统计显着性的p 值。
从结果我们可以看出:
- 皮尔逊相关系数: 0.79288
- P 值: <0.0001
这告诉我们,高度和宽度之间存在很强的正相关性,并且该相关性具有统计显着性,因为 p 值小于 α = 0.05。
示例 2:所有变量之间的相关性
我们可以使用以下代码来计算数据集中所有变量成对组合之间的皮尔逊相关系数:
/*calculate correlation coefficient between all pairwise combinations of variables*/ proc corr data =sashelp.fish; run;
结果显示一个相关矩阵,其中包含数据集中数值变量的每个成对组合的 Pearson 相关系数和相应的 p 值。
例如:
- 体重和长度1之间的皮尔逊相关系数为0.91644。
- 体重和长度2之间的皮尔逊相关系数为0.91937。
- 体重和长度之间的 Pearson 相关系数3 为0.92447。
等等。
示例 3:使用散点图可视化相关性
我们还可以使用plots函数创建散点图来可视化两个变量之间的相关性:
/*visualize correlation between Height and Width*/ proc corr data =sashelp.fish plots =scatter( nvar =all);; var HeightWidth; run;
在图中我们可以看到高度和宽度之间存在很强的正相关性。随着高度的增加,宽度也趋于增加。
在图表的左上角,我们还可以看到使用的总观测值、相关系数和相关系数的 p 值。
其他资源
以下教程解释了如何在 SAS 中执行其他常见操作: