Sas에서 qq 플롯을 만드는 방법


“분위수-분위수”의 약자인 QQ 플롯은 데이터 세트가 잠재적으로 이론적 분포에서 나오는지 여부를 평가하는 데 사용됩니다.

대부분의 경우 이러한 유형의 도표는 데이터 세트가 정규 분포를 따르는지 여부를 확인하는 데 사용됩니다.

데이터가 정규 분포를 따르는 경우 QQ 플롯의 점은 직선 대각선에 놓이게 됩니다.

반대로, 그래프의 점이 직선 대각선에서 크게 벗어날수록 데이터 세트가 정규 분포를 따를 가능성이 줄어듭니다.

SAS에서 QQ 플롯을 생성하는 가장 쉬운 방법은 QQPLOT 문과 함께 PROC UNIVARIATE 문을 사용하는 것입니다.

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

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

참고 : PROC UNIVARIATE 문에 의해 자동으로 생성된 다른 모든 요약 통계 및 테이블을 제거하려면 NOPRINT 문을 사용합니다.

예 1: SAS에서 정규 데이터에 대한 QQ 플롯 생성

다음 코드는 평균이 10이고 표준편차가 2인 정규 분포 에서 생성된 1000개의 관측값이 포함된 데이터 세트에 대한 QQ 플롯을 만드는 방법을 보여줍니다.

 /*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 일변량을 사용하는 방법
SAS에서 로그 변환을 수행하는 방법
SAS에서 이상값을 식별하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다