성별, 직업, 선호도 같이 수치적으로 연속성을 가지고 있지 않은 범주형 자료의 경우 연속형 자료와 다른 분석 방법이 필요합니다. 이번 포스팅에서는 범주형 자료를 아래와 같은 방법으로 자료를 분석하고자 합니다.
1. 도수분포표 및 분할표
2. 적합도 검정
3. 독립성 검정
4. 동질성 검정
1. 도수분포표 및 분할표
범주형 자료의 분포를 살펴보기 위해 SAS의 FREQ 프로시저를 이용합니다.
1) 1개 특성의 분포
1) FREQ */
/* 1개 특성의 분포표 */
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status;
RUN;
[결과]
- 전체 관찰 대상 중 흡연 정도에 따라 분포 빈도와 비율을 살펴봅니다.
- 우선은 Non-smoker비율이 약 48%로 비흡연자의 비율이 흡연자(Non-smoker를 제외한 나머지의 합)의 비율보다 근소하게 적습니다.
- 또한 흡연자 중에서는 Heavy(16~25)의 비율이 가장 높습니다.

2) 2개 특성의 분포
/* 2개 특성의 교차분포 */
PROC FREQ DATA=SASHELP.HEART;
TABLES Status*Smoking_Status;
TABLES Status *Sex;
RUN;
[결과]
- Status*Smoking_Status 테이블에서 생존 상태를 행으로, 흡연 상태를 열로 비교했습니다.
Status*Sex 테이블에서는 생존 상태를 행으로, 성별을 열로 비교했습니다.
- 첫 번째 테이블로 열 백분율을 살펴봅시다.
Non-smoker 중에서 Alive인 사람은 64.37%, Dead인 사람은 35.63%로 큰 차이를 보이는 반면,
Very Heavy (> 25) 중에서 Alive인 사람은 49.68%, Dead인 사람은 50.32%로 거의 차이가 없습니다.
- 두 번째 테이블로 행 백분율을 살펴봅시다.
Alive인 사람 중 여자는 61.44%, 남자는 38.56%, Dead인 사람 중 여자는 45.00%, 남자는 55.00%입니다.

3) 3개 특성의 분포
/* 3개 특성 : 흡연여부와 사망여부 & 몸무게와 사망여부*/
PROC FREQ DATA=SASHELP.HEART;
TABLES (Smoking_Status Weight_Status)*Status;
RUN;
[결과]
- 위 코드는 Status*Smoking_Status 테이블과 Status*Weight_States을 보여줍니다.

2. 적합도 검정
크기 N의 관측치를 X개의 범주로 분류했을 때 각 관측치들이 각각의 그룹에 속할 확률이 알려져 있는 경우, 실제로 이러한 형태대로 관측값들이 분류되었는지 검정하는 방법입니다.
- TESTP=(확률1,확률2,...) : Smoking_Status의 범주는 5개, 5개 범주 각각의 기대 확률을 지정. 기대 확률 합은 1.
- TESTF=(빈도수1,빈도수2,...) : Smoking_Status의 범주는 5개, 5개 범주 각각의 기대 빈도수를 지정. 빈도수 합은 전체 자료수와 일치.
아래 예시에서는 모두 동일한 비율로 구성되어 있다고 가정했습니다.
/* 아래 예시 : 흡연 상태별 인원수가 의미있게 차이나는지 */
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status/TESTP=(0.2 0.2 0.2 0.2 0.2);
RUN;
[결과]
- 각 범주의 실제 비율은 (20.22%, 11.19%, 11.13%, 48.35%, 9.10%)으로 검정 백분율 20%과 차이를 보입니다.
- Chi-square의 유의 확률도 <0.0001로 귀무가설을 기각하며 각 범주의 백분율이 20%으로 동일하다고 할 수 없습니다.


3. 독립성 검정
2개의 특성 사이의 연관관계 유무를 파악하기 위한 검정 방법입니다. 두 특성 간 연관성이 없다면 서로 독립이라고 할 수 있습니다.
범주형 자료의 연관성의 척도로는 파이 계수, 크래머 V 등이 있습니다.
변수 형태 | 연관성 측도 | 특성 | 범위 및 의미 |
순서형 | 감마 | 행렬의 수와 무관 | -1~1 사이의 값을 가진다. 절대값이 클수록 변수 간의 연관성이 크다. |
Kendal의 타우-b | 분할표의 행과 열의 수가 같은 경우에 유용 | ||
Kendal의 타우-c | 분할표의 행과 열의 수가 다른 경우에 유용 | ||
Somers D | Kendal의 타우-b의 비대칭 관계를 고려하여 수정 | ||
범주형 | 파이계수 | 분할표가 2X2인 경우 유용 | 일반적으로 0과 1사이에 존재. 값이 클수록 변수 간의 연관성도 크다. |
크래머 V | 분할표가 2X2 외 경우 유용 | ||
우발성 계수 | 같은 크기의 분할표에 유용 | ||
람다 | 대칭/비대칭 람다값을 분할표의 변수 사이의 관계에 기초하여 분석 | ||
불확실 계수 | 엔트로피에 기초한 측도 |
/* 흡연상태 데이터를 흡연(Y), 비흡연(N)으로 나눔*/
DATA WORK.HEART_SMOKE;
SET SASHELP.HEART;
Smoking_YN="Y";
IF Smoking_Status="Non-smoker" THEN Smoking_YN="N";
RUN;
/* 흡연 여부와 성별 특성의 독립성 검정 */
PROC FREQ DATA=HEART_SMOKE;
TABLES Smoking_YN*SEX/CHISQ;
RUN;
[결과]
- Chi-square의 유의확률은 <0.0001로 귀무가설을 기각하여 연관성이 없다고 할 수 없으며,
파이 계수, 우발성 계수, 크래머의 V는 약 0.2로 연관성이 낮다 판단할 수 있습니다.


4. 동질성 검정
어떤 특성에 대한 자료의 분포가 동일한지 검정하는 방법으로 독립 검정과 유사하나, 자료를 얻는 방법에서 차이가 있습니다. 동질성 검정은 전체 자료를 검정하려는 특성에 따라 먼저 분류한 후 각 범주별로 정해진 수만큼의 자료를 조사하여 각 범주별로 비율이 다른지 검정합니다.
- 독립성 검정 코드에서 MEASURE 옵션을 추가하여 연관성 측도를 출력합니다.
PROC FREQ DATA=HEART_SMOKE;
TABLES Smoking_YN*SEX/CHISQ NOPERCENT MEASURES;
RUN;
[결과]
- Chi-square, 파이 계수, 우발성 계수, 크래머의 V 등 통계량은 독립성 검정의 결과와 동일합니다.
- 연관성 측도와 오즈비 및 상대 리스크가 추가로 산출됩니다.


'Data_Analysis > SAS' 카테고리의 다른 글
[SAS] PROC FREQ (1) | 2021.02.09 |
---|---|
[SAS] PROC TABULATE (0) | 2021.01.28 |
[SAS] 기술통계량 산출 및 정규성 검정 (0) | 2021.01.04 |
[SAS] 자료 행 분할 (0) | 2020.12.01 |
[SAS] Macro (0) | 2020.11.23 |
댓글