반응형

[SAS] 연속성 수정 카이 제곱 검정 (Yates's correction for continuity) - PROC FREQ

 

본 글은 기존 카이 제곱 검정 포스팅의 후속 포스팅이므로 다음 글을 미리 읽고 오길 권한다.

2022.08.19 - [범주형 자료 분석/SAS] - [SAS] 카이 제곱 검정 - PROC FREQ

 

[SAS] 카이 제곱 검정 - PROC FREQ

[SAS] 카이 제곱 검정 - PROC FREQ  카이 제곱 검정은 범주형 변수 간에 분포의 유의미한 차이가 있는지 확인하는 방법이다. 이해할 수 있는 언어로 표현하면 다음과 같다. 분할표를 작성하였을

medistat.tistory.com

 

 도수분포표에 들어가는 숫자는 '정수'인 이산 변수인데 카이 제곱 분포에는 연속 변수가 사용된다. 이산 분포를 연속 분포에 근사하면서 발생하는 문제를 해결하기 위해 고안된 것이 "연속성 수정(Yates's correction for continuity)"이다. 쉽게 말해 20대 성인의 평균 나이는 20살이 아니라 25살이라고 보는 것이 합당하다는 이야기인데, 더 자세한 내용이 알고 싶은 독자들은 이전 포스팅을 참고하길 바란다.

2022.08.30 - [통계 이론] - [이론] 연속성을 수정한 카이 제곱 검정 (Chi-squared test with Yates's correction for continuity)

 

[이론] 연속성을 수정한 카이 제곱 검정 (Chi-squared test with Yates's correction for continuity)

[이론] 연속성을 수정한 카이 제곱 검정 (Chi-squared test with Yates's correction for continuity) 이 글을 읽기 전에 이전 포스팅을 읽고 오길 권한다. 2022.08.29 - [통계 이론] - [이론] 카이..

medistat.tistory.com

 

*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.

2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.08.29)

 

분석용 데이터 (update 22.08.29)

2022년 08월 29일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계 - 통계 프로그램 사용 방법 1) 엑셀 파일 2) CSV 파일 3) 코드북

medistat.tistory.com

 

시작하기 위해 라이브러리를 만들고, 파일을 불러온다.

라이브러리 만드는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 라이브러리 만들기 - LIBNAME

파일 불러오는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 데이터 불러오기 및 저장하기 - PROC IMPORT, PROC EXPORT

 

*라이브러리 지정하기;
LIBNAME hong "C:/Users/User/Documents/Tistory_blog";

*파일 불러오기;
PROC IMPORT
DATAFILE="C:\Users\user\Documents\Tistory_blog\Data.xlsx"
DBMS=EXCEL
OUT=hong.df
REPLACE;
RUN;

 

 

코드

연속성을 수정한 카이 제곱 검정을 시행하는 코드는 다음과 같다. (일반 카이 제곱 검정과 100% 일치한다)

 

PROC FREQ DATA=hong.df;
TABLE SEX*ALCOHOL/CHISQ NOFREQ NOPERCENT NOROW NOCOL EXPECTED;
RUN;

PROC FREQ DATA=hong.df; 분할표 분석을 시작하고 Data는 hong 라이브러리의 df 파일을 이용한다.
TABLE SEX*ALCOHOL/CHISQ NOFREQ NOPERCENT NOROW NOCOL EXPECTED; : SEX와 ALCOHOL의 분할표를 작성하고 카이제곱 검정을 시행한다. 빈도, 백분율, 행백분율, 열백분율은 나타내지 말고 기댓값(기대 빈도)을 나타낸다. 

결과

해석

 모든 셀에서 기대 빈도가 5 이상이므로 카이 제곱 검정을 시행하는 데에 문제가 없다.

 연속성 수정한 카이 제곱 검정 결과 p-value <0.0001으로 성별과 음주 여부에는 유의미한 관계가 있다. 

 일반적인 카이 제곱 검정량 (24.3892) 보다 낮아 보수적인 통계량임을 알 수 있다.

 

SAS 연속성 수정 카이 제곱 검정 (Yates's correction for continuity) 정복 완료!

 

작성일: 2022.08.30.

최종 수정일: 2022.08.30.

이용 프로그램: SAS v9.4

운영체제: Windows 10

반응형

'범주형 자료 분석 > SAS' 카테고리의 다른 글

[SAS] 피셔 정확 검정 - PROC FREQ  (0) 2022.08.29
[SAS] 카이 제곱 검정 - PROC FREQ  (2) 2022.08.19
반응형

[SAS] 피셔 정확 검정 - PROC FREQ

범주형 변수 간에 분포에 차이가 있는지 확인하기 위해서는 보통 카이 제곱 검정을 시행한다 (2022.08.19 - [범주형 자료 분석/SAS] - [SAS] 카이 제곱 검정 - PROC FREQ). 하지만 기대 빈도가 5 미만인 셀이 25% 이상인 경우 카이 제곱 검정의 결과는 신뢰도가 떨어지기 때문에 피셔 정확 검정 (Fisher's exact test)을 시행해야 한다.

 

 참고로, 피셔 "정확" 검정인 이유는, 말 그대로 정확한 확률이기 때문이고, 어떤 분포에 근사시키지 않았다는 말이다. 

 

*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.

2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.08.29)

 

분석용 데이터 (update 22.08.18)

2022년 08월 18일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계 - 통계 프로그램 사용 방법 1) 엑셀 파일 2) CSV 파일 3) 코드북

medistat.tistory.com

 

 

시작하기 위해 라이브러리를 만들고, 파일을 불러온다.

라이브러리 만드는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 라이브러리 만들기 - LIBNAME

파일 불러오는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 데이터 불러오기 및 저장하기 - PROC IMPORT, PROC EXPORT

 

*라이브러리 지정하기;
LIBNAME hong "C:/Users/User/Documents/Tistory_blog";

*파일 불러오기;
PROC IMPORT
DATAFILE="C:\Users\user\Documents\Tistory_blog\Data.xlsx"
DBMS=EXCEL
OUT=hong.df
REPLACE;
RUN;

 

2*2 분할표

코드

피셔 정확 검정을 시행하는 코드는 다음과 같다.

 

PROC FREQ DATA=hong.df;
TABLE SEX*RH/CHISQ EXPECTED NOROW NOCOL NOPERCENT;
RUN;

PROC FREQ DATA=hong.df; : 빈도수를 계산하는 코드를 시작하며, 데이터는 hong 라이브러리의 df 파일을 이용한다.
TABLE SEX*RH/CHISQ EXPECTED NOROW NOCOL NOPERCENT; : SEX와 RH의 분할표를  계산하며, 카이 제곱 검정을 시행한다. 기대 빈도를 산출하고, 행 백분율, 열 백분율, 백분율은 산출하지 않는다.

 

"CHISQ" 옵션이 자동으로 피셔 정확 검정 결과까지 산출하므로 카이 제곱 검정을 시행하는 코드와 100% 일치한다. 즉, 굳이 피셔 정확 검정을 시행하는 옵션인 "FISHER"를 적을 필요가 없다.

 

결과

먼저 기대 빈도 (기댓값)를 산출했는데 기대 빈도가 5 미만인 셀이 두 개가 있다. (2.892와 3.108) 따라서 경고가 뜬다. "WARNING: 50% 개의 셀이 5보다 적은 기대 빈도를 가지고 있습니다. 카이제곱 검정은 올바르지 않을 수 있습니다."즉, 카이제곱 분포가 아닌 아래 나오는 "Fisher의 정확 검정" 표를 참고하라는 말이다.

 

세 개의 p-value가 산출된다. 1) 하단측 p값 Pr<=F2) 상단측 p값 Pr>=F3) 양측 p값 Pr<=P

 

1)과 2)는 단측 검정 (One-sided or One-tailed)이고 3)은 양측 검정 (Two-sided or two-tailed)이다. 경우에 따라 단측 검정을 쓰기도 하지만 일반적으로는 양측 검정을 사용한다. 이 p-value는 0.2192로 0.05보다 크므로 귀무가설을 기각하지 못해 "성별에 따라 RH 혈액형의 분포에는 차이가 있다고 할 수 없다."라고 결론이 내려진다. 양측 검정 및 단측 검정에 관한 내용은 다음 글을 확인하길 바란다:2022.08.26 - [통계 이론] - [이론] 피셔 정확 검정 (Fisher's exact test)

 

 

2*2를 넘어서는 분할표

코드

피셔 정확 검정을 시행하는 코드는 다음과 같다.

PROC FREQ DATA=hong.df;
TABLE SEX*TWIN/CHISQ EXACT EXPECTED NOROW NOCOL NOPERCENT;
RUN;

 

PROC FREQ DATA=hong.df; : 빈도수를 계산하는 코드를 시작하며, 데이터는 hong 라이브러리의 df 파일을 이용한다.
TABLE SEX*TWIN/CHISQ EXACT EXPECTED NOROW NOCOL NOPERCENT; : SEX와 TWIN의 분할표를  계산하며, 카이 제곱 검정을 시행한다. 정확 검정도 시행한다. 기대 빈도를 산출하고, 행 백분율, 열 백분율, 백분율은 산출하지 않는다.

 

2*2 분할표에서만 "CHISQ" 옵션이 자동으로 피셔 정확 검정 결과까지 산출해준다. 따라서 2*2를 넘어서는 분할표에서는 정확 검정을 시행하는 "EXACT"혹은 "FISHER"를 적어야 한다. "FISHER"라는 코드로 검정을 시행하고 결과창에도 "Fisher의 정확 검정"이라고 적혀 있지만 이는 사실 "Freeman-Halton test"다.

 

결과

2*2 분할표 분석에서 보이는 바와 거의 같은 결과를 내주지만 "Fisher의 정확 검정"에는 양측 검정 결과만이 나온다. 빨간 상자에 있는 값이 p-value다. p>0.05이므로 "성별에 따라 쌍둥이 여부는 어떠한 경향성을 갖는다고 할 수 없다."라고 결론짓게 된다.

 

 

피셔 정확 검정의 이론적 배경

2022.08.26 - [통계 이론] - [이론] 피셔 정확 검정 (Fisher's exact test)

 

[이론] 피셔 정확 검정 (Fisher's exact test)

[이론] 피셔 정확 검정 (Fisher's exact test)  범주형 자료의 통계 분석을 진행하다 보면 반드시 만나게 되는 검정이 피셔 정확 검정이다. 피셔 정확 검정은 단순히 초기하 분포의 확률을 구하는

medistat.tistory.com

 

카이 제곱 검정과 피셔 정확 검정의 관계

2022.08.29 - [통계 이론] - [이론] 카이 제곱 검정과 피셔 정확 검정의 관계

 

[이론] 카이 제곱 검정과 피셔 정확 검정의 관계

[이론] 카이 제곱 검정과 피셔 정확 검정의 관계  범주형 자료 분석을 할 때 "기대 빈도가 5 미만인 셀이 25% 이상인 경우 카이 제곱 검정을 신뢰할 수 없으며 피셔 정확 검정의 결과를 확인

medistat.tistory.com

 

 

SAS 피셔 정확 검정 정복 완료!

 

작성일: 2022.08.29.

최종 수정일: 2022.08.29.

이용 프로그램: SAS v9.4

운영체제: Windows 10

 

 

반응형
반응형

[SAS] 카이 제곱 검정 - PROC FREQ

 카이 제곱 검정은 범주형 변수 간에 분포의 유의미한 차이가 있는지 확인하는 방법이다. 이해할 수 있는 언어로 표현하면 다음과 같다. 분할표를 작성하였을 때 다음과 같다고 하자. (출처 및 분할표 작성법:2022.08.18 - [기술 통계/SAS] - [SAS] 도수분포표 (Frequency table), 분할표 (Contingency table) 만들기 - PROC FREQ)

 

  비음주자 음주자
여성 236 246
남성 174 344

 

이를 보면 비음주자 중에는 여성이 많고, 음주자 중에는 남성이 많다. 그렇다면 "성별과 음주 여부는 무관하다(=독립이다)."라는 말이 틀리다고 할 수 있을까? 즉, "특정 성별은 음주자일 확률이 더 높다."라고 할 수 있을까? 이에 대한 검정이 바로 카이 제곱 검정이다.

 

*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.

2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.08.18)

 

분석용 데이터 (update 22.08.18)

2022년 08월 18일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계 - 통계 프로그램 사용 방법 1) 엑셀 파일 2) CSV 파일 3) 코드북

medistat.tistory.com

 

시작하기 위해 라이브러리를 만들고, 파일을 불러온다.

라이브러리 만드는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 라이브러리 만들기 - LIBNAME

파일 불러오는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 데이터 불러오기 및 저장하기 - PROC IMPORT, PROC EXPORT

 

*라이브러리 지정하기;
LIBNAME hong "C:/Users/User/Documents/Tistory_blog";

*파일 불러오기;
PROC IMPORT
DATAFILE="C:\Users\user\Documents\Tistory_blog\Data.xlsx"
DBMS=EXCEL
OUT=hong.df
REPLACE;
RUN;

 

코드

카이 제곱 검정을 시행하는 코드는 다음과 같다.

PROC FREQ DATA=hong.df;
TABLE SEX*ALCOHOL/CHISQ;
RUN;

PROC FREQ DATA=hong.df; : 빈도수를 계산하는 코드를 시작하며, 데이터는 hong 라이브러리의 df 파일을 이용한다.
TABLE SEX*ALCOHOL/CHISQ; : SEX와 ALCOHOL의 분할표를  계산하며, 카이 제곱 검정을 시행한다.

분할표를 작성하는 코드와 거의 똑같고, TABLE 구문에 옵션으로  "CHISQ"가 추가된 것만이 다르다.

 

결과

 많은 값들이 산출되지만 봐야 할 것은 카이제곱 검정량이다. 카이 제곱 검정량은 24.3892이며, 자유도가 1인 카이제곱 분포에서 이런 일이 발생할 확률은 0.0001 미만이다. 따라서 유의성 기준을 0.05로 잡았을 때, 성별과 음주 여부는 독립이 아니라고 할 수 있으며, 남성이 음주할 확률이 더 높다고 할 수 있다.

 

 이 해석을 할 때에, 빈도, 백분율, 행 백분율, 칼럼 백분율은 사실 필요가 없다. 따라서 이 지표들을 산출하지 않기 위해 옵션으로 TABLE구문에 NOFREQ NOPERCENT NOROW NOCOL를 추가하기도 한다. 또한, 카이 제곱 검정을 시행하기 위한 전제조건은 기대 빈도가 5 미만이 셀이 전체 셀 중 25% 미만이어야 한다는 것이므로 기대 빈도를 확인해볼 수 있는 옵션인 EXPECTED를 추가하기도 한다. 

 

코드

PROC FREQ DATA=hong.df;
TABLE SEX*ALCOHOL/CHISQ NOFREQ NOPERCENT NOROW NOCOL EXPECTED;
RUN;

 

결과

기대 빈도는 197.62, 284.38, 212.38, 305.62로 모두 5보다 크므로 카이 제곱 검정을 시행하는데 문제가 없다.

 

SAS 카이 제곱 검정 정복 완료!

 

작성일: 2022.08.19.

최종 수정일: 2022.08.19.

이용 프로그램: SAS v9.4

운영체제: Windows 10

반응형

+ Recent posts