Sas에서 roc 곡선을 만드는 방법


로지스틱 회귀는 응답 변수가 이진일 때 회귀 모델을 맞추는 데 사용할 수 있는 방법입니다.

로지스틱 회귀 모델이 데이터 세트에 얼마나 잘 맞는지 평가하기 위해 다음 두 가지 측정항목을 살펴볼 수 있습니다.

  • 민감도: 결과가 실제로 긍정적일 때 모델이 관찰에 대한 긍정적인 결과를 예측할 확률입니다. 이를 ‘진양성률’이라고도 합니다.
  • 특이성: 결과가 실제로 부정적일 때 모델이 관찰에 대해 부정적인 결과를 예측할 확률입니다. 이를 ‘진음성률’이라고도 합니다.

이 두 가지 측정값을 시각화하는 한 가지 방법은 “수신기 작동 특성” 곡선을 나타내는 ROC 곡선을 만드는 것입니다. 로지스틱 회귀모델의 민감도와 특이도를 표시한 그래프입니다.

다음 단계별 예에서는 SAS에서 ROC 곡선을 만들고 해석하는 방법을 보여줍니다.

1단계: 데이터세트 만들기

먼저 18명의 학생에 대해 다음 변수에 대한 정보가 포함된 데이터세트를 만듭니다.

  • 특정 대학 입학 (1 = 예, 0 = 아니요)
  • GPA(1~4등급)
  • ACT 점수(1~36점)
 /*create dataset*/
data my_data;
    input acceptance gpa act;
    datalines ;
1 3 30
0 1 21
0 2 26
0 1 24
1 3 29
1 3 34
0 3 31
1 2 29
0 1 21
1 2 21
0 1 15
1 3 32
1 4 31
1 4 29
0 1 24
1 4 29
1 3 21
1 4 34
;
run ;

2단계: 로지스틱 회귀 모델을 맞추고 ROC 곡선 만들기

다음으로, 반응 변수로 “acceptance”를 사용하고 예측 변수로 “gpa”와 “act”를 사용하여 로지스틱 회귀 모델을 맞추기 위해 proc Logistics를 사용할 것입니다.

SAS가 응답 변수가 값 1을 취할 확률을 예측하는 방법을 알 수 있도록 감소를 지정하겠습니다.

또한 Plots(only)=roc를 사용하여 모델에 대한 ROC 곡선을 생성합니다.

 /*fit logistic regression model & create ROC curve*/
proc logistic data =my_data descending plots ( only )=roc;
  model acceptance = gpa act;
run ;

SAS의 ROC 곡선

3단계: ROC 곡선 해석

ROC 곡선이 플롯의 왼쪽 상단 모서리에 가까울수록 모델이 데이터 세트의 응답 값 값을 더 잘 예측합니다.

위 그래프에서 파란색 ROC 곡선이 왼쪽 위 모서리를 껴안는 경향이 있음을 알 수 있습니다. 이는 로지스틱 회귀 모델이 반응 값의 값을 잘 예측하고 있음을 나타냅니다.

로지스틱 회귀 모델이 데이터에 얼마나 잘 맞는지 정량화하기 위해 곡선 아래에 있는 플롯의 양을 알려주는 AUC (곡선 아래 영역)를 계산할 수 있습니다.

AUC가 1에 가까울수록 모델이 더 좋습니다. AUC가 0.5인 모델은 무작위 분류를 수행하는 모델보다 나을 것이 없습니다.

위 차트 제목에서 이 모델의 AUC가 0.9351 임을 확인할 수 있습니다.

이 값이 1에 가까우므로 모델이 응답값의 값을 잘 예측하고 있음을 확인시켜 줍니다.

또한 AUC 값을 사용하여 다양한 로지스틱 회귀 모델의 적합성을 비교할 수도 있습니다.

예를 들어 두 가지 다른 로지스틱 회귀 모델을 적합하고 각각에 대한 AUC 값을 계산한다고 가정합니다.

  • 모델 1의 AUC: 0.9351
  • 모델 2의 AUC: 0.8140

모델 1의 AUC가 더 크기 때문에 이는 모델 1이 모델 2보다 데이터 적합성을 더 잘 수행한다는 것을 나타냅니다.

추가 리소스

다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

SAS에서 단순 선형 회귀를 수행하는 방법
SAS에서 다중 선형 회귀를 수행하는 방법
SAS에서 로지스틱 회귀를 수행하는 방법

의견을 추가하다

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