SAS에서는 PROC SURVEYSELECT를 사용하여 층화추출을 간단하게 수행할 수 있습니다. 층화추출은 모집단을 여러 개의 층(strata)으로 나눈 후, 각 층에서 랜덤 샘플을 추출하는 방식입니다. 이를 통해 표본의 대표성을 높일 수 있습니다.
📌 기본 문법
proc surveyselect data=원본데이터
out=샘플데이터
method=srs
sampsize=샘플크기
seed=12345;
strata 층화변수;
run;
🔹 예제 1: 성별 층화추출 (각 성별 50명씩)
proc surveyselect data=mydata
out=sample_data
method=srs
sampsize=50
seed=12345;
strata gender;
run;
🔸 예제 2: 층마다 다른 샘플 수 설정
data sampsizes;
input gender $ sampsize;
datalines;
Male 40
Female 60
;
run;
proc surveyselect data=mydata
out=sample_data
method=srs
sampsize=sampsizes
seed=12345;
strata gender;
run;
🔸 예제 3: 각 층에서 10%씩 비율 기반 추출
proc surveyselect data=mydata
out=sample_data
method=srs
proportion=0.1
seed=12345;
strata gender;
run;
💡 참고: strata 문에 여러 개의 변수를 지정하여 다층화도 가능하며, 결측값이 있는 층은 자동으로 제외됩니다.
SAS에서 샘플사이즈(sampsize)와 시드(seed)의 차이
✅ 샘플사이즈 (sampsize)
샘플사이즈는 몇 개의 데이터를 추출할지를 결정합니다. 표본의 크기를 설정하는 옵션입니다.
proc surveyselect data=mydata
out=sample
method=srs
sampsize=50;
run;
→ 총 50개의 데이터를 무작위로 추출합니다.
✅ 시드 (seed)
시드는 랜덤 숫자 생성기의 초기값으로, 동일한 샘플을 재현(reproduce)하는 데 사용됩니다.
proc surveyselect data=mydata
out=sample
method=srs
sampsize=50
seed=12345;
run;
→ 같은 데이터를 같은 시드로 실행하면 항상 같은 샘플이 추출됩니다.
📌 샘플사이즈와 시드의 차이 비교
항목 | 샘플사이즈 (sampsize) | 시드 (seed) |
---|---|---|
역할 | 샘플의 수량 결정 | 무작위 순서 결정 |
결과 반복성 | X (수만 같고 내용은 달라짐) | O (같은 결과 반복 가능) |
기본값 생략 시 | 기본 수가 적용되거나 오류 | 매번 결과 달라질 수 있음 |
사용 목적 | 표본 크기 통제 | 결과 재현성 확보 |
💡 TIP:
분석을 반복하거나 다른 사람과 동일한 샘플을 공유해야 할 때는 반드시 seed를 고정하세요!
0 댓글