로지스틱 회귀 잔차 분석


12

이 질문은 일반적이고 오래 걸리는 것이지만 나와 함께 견뎌주십시오.

내 응용 프로그램에는 ~ 50 개의 기능과 단일 종속 이진 변수가있는 ~ 20,000 개의 데이터 포인트로 구성된 많은 데이터 세트가 있습니다. 정규화 된 로지스틱 회귀를 사용하여 데이터 세트를 모델링하려고합니다 (R 패키지 glmnet )

분석의 일부로 다음과 같이 잔차 그림을 만들었습니다. 각 기능에 대해 해당 기능의 값에 따라 데이터 포인트를 정렬하고 데이터 포인트를 100 버킷으로 나눈 다음 각 버킷 내의 평균 출력 값과 평균 예측 값을 계산합니다. 나는 이러한 차이점을 꾸 plot 다.

잔차 그림의 예는 다음과 같습니다.

위 그림에서 피처의 범위는 [0,1]입니다 (1의 농도가 높음). 보시다시피, 피처 값이 낮 으면 모델은 1- 출력의 가능성을 과대 평가하는쪽으로 편향되어있는 것으로 보입니다. 예를 들어, 가장 왼쪽 버킷에서 모형은 확률을 약 9 % 초과합니다.

이 정보를 바탕으로이 편향을 대략적으로 수정하기 위해 기능 정의를 간단한 방식으로 변경하고 싶습니다. 교체와 같은 변경

xx

또는

xfa(x)={a if x<a x else

어떻게해야합니까? 나는 인간이 ~ 50 플롯을 빠르게 스크롤하고 변경하고 모든 데이터 세트에 대해이 작업을 수행하고 시간이 지남에 따라 데이터가 발전함에 따라 모델을 최신 상태로 유지하기 위해 반복 할 수 있도록 일반적인 방법론을 찾고 있습니다.

일반적인 질문으로, 이것이 올바른 접근 방법입니까? "논리 회귀 잔차 분석"에 대한 Google 검색은 실질적인 조언과 함께 많은 결과를 반환하지 않습니다. 그들은 "이 모델이 잘 맞습니까?"라는 질문에 대한 답변으로 고쳐진 것 같습니다. Hosmer-Lemeshow와 같은 다양한 테스트를 제공합니다. 그러나 나는 내 모델이 좋은지 신경 쓰지 않고 더 나은 방법을 알고 싶습니다!

답변:


4

로지스틱 회귀 분석에서 편견을 실제로 평가할 수는 없습니다. 로지스틱 회귀는 로그 확률 또는 로짓 점수, log (p / (1-p))에서만 편향되지 않을 것으로 예상됩니다. 비율이 왜곡되어 편향되어 나타납니다. 로그 확률과 관련하여 잔차를 플로팅해야합니다.


버킷 내에서 로그 잔차를 어떻게 결합합니까? 산술 평균? 이것은 나에게 조금 불안하다. 직관적으로, 잔차 분석에 치우침이 표시되지 않으면 모형이 Pr [y = 1] <0.2를 예측할 때 y가 0.2보다 작은 확률로 1과 같아야합니다. 그러나 당신의 대답은 이것이 사실이 아니라고 제안하는 것 같습니다. 올바르게 이해하고 있습니까?
dshin

이것은 아마도 주석으로 게시하는 것이 좋습니다.
probabilityislogic

데이비드, 그것은 0.2 확률 이외의 것을 암시하지 않습니다. 아마도 내 편집 내용이 더 명확 해집니다.
John

미안하지만 난 아직도 조금 혼란스러워 편견없는 모델에 대한 직관적 인 이해는 모델이 많은 수의 데이터 포인트마다 p = 0.2를 예측하면 해당 데이터 포인트의 20 %가 y = 1이어야한다는 것입니다. 이 이해가 맞습니까? 그렇다면 내 플로팅 방법론에 바이어스가 올바르게 표시되어야합니다. 그렇지 않다면 ... "바이어스"라는 개념에 만족하지 않습니다! 0.2의 편향되지 않은 모델 판독 값이 y = 1 일 확률에 대해 아무 것도 알려주지 않으면, 편견이없는 것이 무엇입니까?
dshin

예, 20 %는 y = 1이어야합니다. 그러나 그것은 죽지 않을 것입니다, 그것은 어느 정도 떨어져있을 것입니다. 확률 공간에서 어느 방향으로 얼마만큼 떨어져있을 것이라고 생각하십니까? 편향되지 않으면 .2 : 1 또는 0 : .2 어딘가에 동일하게 떨어집니다. 그러나 그 공간의 크기로 볼 수 있듯이 더 큰 지역에서는 가능한 한 멀리 떨어져있는 경향이 있습니다. 로짓 공간에서 거리는 + 또는-와 같아야합니다.
John

2

이 작업을 수행하기위한 일반 소프트웨어가 없을 것입니다. 회귀 문제를 해결하는 일반적인 이론이 없기 때문에 가능성이 높습니다. 그러므로 이것은 이론적으로 근거를 둔 절차 라기보다는 "내가하는 일"유형의 답변에 가깝습니다.

생성하는 플롯은 기본적으로 100 개의 구간을 사용한 시각적 HL 테스트이지만 구간을 예측할 확률 대신 단일 예측 변수를 사용합니다. 이는 절차가 HL 테스트의 일부 속성을 상속 할 가능성이 있음을 의미합니다.

귀하의 기준이 "과적 합"하는 것을 알고 있어야하지만 귀하의 절차는 합리적으로 들립니다. 귀하의 기준은 또한 평가 과정의 일부가 되었기 때문에 진단으로 덜 유용합니다. 또한 직감으로 무언가를 할 때마다 의사 결정 과정을 가능한 한 자세하게 기록해야합니다. 이는 일반적인 과정이나 이론의 씨앗을 발견 할 수 있기 때문에 개발 될 때 더 나은 절차를 이끌어냅니다 (일부 이론과 관련하여 더 자동적이고 최적).

갈 한 가지 방법은 먼저 조사해야 할 줄거리의 수를 줄이는 것입니다. 이를 수행하는 한 가지 방법은 각 변수를 3 차 스플라인으로 맞추고 0이 아닌 비선형 추정값이있는 그림을 조사하는 것입니다. 데이터 포인트의 수를 고려할 때 이것은 비선형성에 대한 쉬운 자동 수정이기도합니다. 이렇게하면 모델이 50에서 200 + 50k로 확장됩니다. 여기서 k는 노트 수입니다. 이것을 "true"변환의 "통계 테일러 시리즈 확장"을 적용하는 것으로 생각할 수 있습니다.

이 후에도 진단이 여전히 나빠 보인다면 상호 작용 용어를 추가해보십시오.

귀하의 질문 중 일부는 여기보다 스택 오버 플로우의 도메인 인 대화 형 프로그램 작성에 관한 것 같습니다. 탐색 적 데이터 분석 도구를 검색하는 것이 유용 할 수 있습니다. 이러한 도구에는 "피기 백"할 수있는 기능이있을 가능성이 높습니다.


이 답변에 감사드립니다. 큐빅 스플라인 아이디어를 살펴 보겠습니다. 나는 선형 회귀 설정에서이 "그림을보고 피처를 조정"접근 방식을 사용했는데, 더 나은 적합을 얻는 방법이 더 분명해 보였습니다. 예를 들어 하키 스틱이 보이면 f_a (x) 수정을 적용하면 더 잘 맞는다는 것이 분명합니다. 종종 문제 영역의 지식은이 결정과 일치합니다. 예를 들어 소득에서 행복을 예측하는 경우 억만 장자가 백만장 자보다 1000 배 더 행복하다고 생각하지 않는 한 수입을 제한하는 것이 합리적입니다.
dshin

그러나 로지스틱 회귀 설정으로 전환했을 때, 방법론을 어떻게 전달해야할지 모르겠다는 것을 깨달았습니다. 따라서이 제출.
dshin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.