로지스틱 회귀 : 진 양성 최대화-오 탐지


9

로지스틱 회귀 모델 (탄성 그물 정규화가있는 R의 glmnet을 통해 적합)이 있으며 참 긍정과 거짓 긍정의 차이를 최대화하고 싶습니다. 이를 위해 다음 절차를 염두에 두었습니다.

  1. 표준 로지스틱 회귀 모형 적합
  2. 예측 임계 값을 0.5로 사용하여 모든 긍정적 예측 예측
  3. 긍정적으로 예측 된 관측 값에는 가중치 1을 할당하고 다른 모든 측정 값에는 0을 할당합니다.
  4. 가중 로지스틱 회귀 모형 적합

이 접근 방식의 결함은 무엇입니까? 이 문제를 진행하는 올바른 방법은 무엇입니까?

참 긍정과 거짓 긍정의 수의 차이를 최대화하려는 이유는 내 응용 프로그램의 디자인 때문입니다. 수업 프로젝트의 일환으로 저는 온라인 마켓 플레이스에서 자율적 참여자를 구축하고 있습니다. 모델이 무언가를 사고 더 높은 가격에 나중에 팔 수 있다고 예측하면 입찰을합니다. 고정 비용과 단가 증가 (모든 거래에서 동일한 금액을 얻거나 잃음)를 기준으로 로지스틱 회귀 및 출력 이진 결과 (승리, 패배)를 고수하고 싶습니다. 거짓 긍정은 내가 무언가를 사고 더 높은 가격에 팔 수 없다는 것을 의미하기 때문에 나를 아프게합니다. 그러나 허위 부정은 내가 기회를 얻지 않았다는 의미이기 때문에 (기회 비용 측면에서만) 나에게 해를 끼치 지 않지만, 가지고 있다면 돈을 벌었을 것입니다. 비슷하게,

0.5 컷오프는 완전히 임의적이며, 참 / 거짓 포지티브 사이의 가장 큰 차이를 생성하는 예측 임계 값에서 1 단계 모델을 최적화하면 0.4에 가까워집니다. 나는 이것이 내 데이터의 왜곡 된 특성 때문이라고 생각합니다. 음과 양의 비율은 약 1 : 3입니다.

현재 다음 단계를 따르고 있습니다.

  1. 분할 데이터 통합 ​​교육 / 테스트
  2. 훈련에 모델 맞추기, 테스트 세트에서 예측하기 및 참 / 거짓 긍정적 인 차이 계산
  3. 모델을 전체에 맞추고, 테스트 세트에서 예측하고, 참 / 거짓 긍정적 인 차이를 계산

훈련 세트가 전체 세트의 서브 세트 임에도 불구하고, 단계 # 2에서보다 참 / 거짓 긍정의 차이가 더 작다. # 3의 모델에 더 많은 음의 음수와 더 적은 음의 음수가 있는지 여부는 신경 쓰지 않으므로 가능성 함수 자체를 변경하지 않고 할 수있는 일이 있습니까?


이 접근 방식의 결함이 무엇인지 묻기 전에이 접근 방식이 왜 효과가 있는지를 귀하의 의견으로 작성해야합니다. 2-4 단계가 결과를 개선한다고 생각하는 이유는 무엇입니까?
user31264

또한 마지막에 1 단계에서 모델을 삭제하고 4 단계에서 모델 만 사용한다는 것이 맞습니까?
user31264

예, 전체 데이터 세트가 장착 된 모델을 사용하려고했지만 훈련 세트가 장착 된 모델의 성능이 낮기 때문에 이치에 맞지 않습니다.
tmakino

2
지금은 소스가 없지만 로지스틱 회귀 모델을 최적화하여 (수신기 작동 특성) 곡선 (또는 AUC) 영역을 최대화 할 수 있다는 것을 알고 있습니까? 바퀴를 재발 명할 필요가 없습니다.
AdamO

2
내가 여기서 이해하지 못하는 것은 모델에 예측 된 미래 가격에 대해 아무것도 포함하지 않았거나 최적화에 손익 규모를 포함시키지 않은 이유입니다. 99 %의 손실로 이어지는 "구매"결정은 모두 거짓 긍정이더라도 1 %의 손실로 이어지는 "구매"결정보다 훨씬 나쁩니다.
probabilityislogic

답변:


24

당신은 전혀 로지스틱 회귀를 원하지 않는 것 같습니다. "참 긍정과 거짓 긍정의 차이를 극대화하고 싶습니다." 그것은 객관적인 함수이지만 로지스틱 회귀는 아닙니다. 그것이 무엇인지 보자.

먼저, 약간의 표기법. 종속 변수는 :Yi

Yi={1Purchase i was profitable0Purchase i was un-profitable

독립 변수 (구입 여부를 예측하는 데 사용하는 물건)는 (벡터)가됩니다. 추정하려는 매개 변수는 (벡터)입니다. 때 구매를 예측 합니다. 관찰 경우 또는 표시기 함수 때 구매를 예측 합니다.XiβXiβ>0iXiβ>01Xiβ>0=1

진정한 포지티브 관찰 발생 모두 때 및 . 및 일 때 관측치 에 대한 오 탐지가 발생합니다 . 당신은 발견 할 진정한 양성 마이너스 오탐 (false positive) 또는을 극대화 : iYi=11Xiβ>0=1iYi=01Xiβ>0=1β

maxβi=1NYi1Xiβ>0i=1N(1Yi)1Xiβ>0

이것은 이산 반응 모델을 추정하는 데 특히 친숙한 객관 함수가 아니지만 객관 함수에 대해 약간의 대수를 수행하는 동안 나에게 견딜 수 있습니다.

i=1NYi1Xiβ>0i=1N(1Yi)1Xiβ>0=i=1NYi1Xiβ>0i=1N1Xiβ>0+i=1NYi1Xiβ>0=i=1NYi1Xiβ>0i=1N1Xiβ>0+i=1NYi1Xiβ>0+i=1N1i=1N1+i=1NYii=1NYi=i=1NYi1Xiβ>0+i=1N(1Yi)(11Xiβ>0)i=1N1+i=1NYi

이제 해당 합계의 마지막 두 용어는 함수가 아니므로 최대화에서 무시할 수 있습니다. 마지막으로, 우리는 당신이 해결하고자하는 문제, "참 긍정과 거짓 긍정의 차이를 최대화하는 것"이이 문제와 동일 : β

maxβi=1NYi1Xiβ>0+i=1N(1Yi)(11Xiβ>0)

이제 견적자는 이름이 있습니다! 최대 점수 추정기로 명명됩니다. 이산 반응 모델의 모수를 추정하는 매우 직관적 인 방법입니다. 파라미터는 정확한 예측의 수를 최대화하도록 선택된다. 첫 번째 항은 진양 수이고 두 번째 항은 진 음성의 수입니다.

이것은 (이진) 이산 반응 모델을 추정하는 아주 좋은 방법입니다. 예를 들어 추정기는 일관됩니다. (Manski, 1985, J Econometrics)이 추정기에는 약간의 이상한 점이 있습니다. 첫째, 작은 샘플에서는 고유하지 않습니다. 최대화를 해결하는 하나의 를 찾으면 데이터 세트에서 정확히 동일한 예측을 만드는 다른 는 최대화를 해결합니다. 따라서 발견 한 것과 거의 비슷한 많은 있습니다. 또한 추정량은 무증상으로 정상적이지 않으며 일반적인 최대 우도 추정량보다 느리게 수렴합니다.-루트 대신에 루트βββNN수렴. (Kim and Pollard, 1990, Ann of Stat) 마지막으로 부트 스트래핑을 사용하여 추론 할 수 없습니다. (Abrevaya & Huang, 2005, Econometrica)이 평가자를 사용하는 논문이 있지만, Caudill, International Journal of Forecasting, 2003 년 4 월, v. 19, is의 NCAA 농구 토너먼트에서 결과를 예측하는 것에 관한 재미있는 논문이 있습니다. 2, 313-17 쪽.

이러한 문제를 대부분 극복하는 추정기는 Horowitz의 평활 최대 점수 추정기입니다 (Horowitz, 1992, Econometrica and Horowitz, 2002, J of Econometrics). 이것은 부트 스트랩을 할 수 있는 루트 일관되고, 무증상적인, 고유 한 추정기를 제공합니다. Horowitz는 웹 페이지 에서 견적 도구를 구현하는 예제 코드를 제공합니다 .N


비용 함수를 최대 점수 추정기와 동일시하기 위해 대수를 포함 해 주셔서 감사합니다. 대해 주어진 표시기 함수를 사용 하면 항상 를 양수로, 를 음수 로 분류한다는 의미 입니까? 또한 입력 로지스틱 함수를 사용하여 p (모델 출력)를 계산 합니까? 현재 사용중인 접근 방식은 AUC 비용 함수입니다. 그런 다음 예측 임계 값을 최적화하여 참 긍정과 거짓 긍정의 차이가 가장 큰 값을 찾습니다. 나는 당신의 대답은 명시 적으로 최대 차이를 발견 이해βTx>0p>0.5p<=0.5βTx
tmakino

(계속) 비용 함수에서이를 정의하고 예측 임계 값을 0.5로 고정하여 중간 단계를 건너 뛰었습니다. 그러나 AUC는 이미 사용중인 회귀 패키지 (glmnet)에 있지만 최대 점수 평가 기는 그렇지 않습니다. 내 목표가 주어지면 내 접근 방식이 합리적이라고 생각합니까?
tmakino

1
불행히도, 나는 AUC 방법에 익숙하지 않으므로 여기에 얼마나 적합한 지 말할 수 없습니다. 최대 점수 추정기 에는 로지스틱 모델을 가정하지 않기 때문에 실제로 가 없습니다. 일 때 1을 예측 한 다음 가장 좋은 를 찾는 것 입니다. pXiβ>0β
Bill

15

이 접근 방식에는 다음과 같은 몇 가지 잘못된 점이 있습니다.

  • 연속 확률에 대한 컷오프 찾기
  • 0.5의 임의 컷오프 사용
  • "거짓 양성"및 "거짓 음성"의 비용이 모든 대상에 대해 동일하다고 가정
  • 분수가 아닌 가중치 사용
  • 추정 된 가중치 사용
  • 최대 우도 추정 무시
  • 최적의 의사 결정이 완전한 정보 (무엇이 다른 것을 능가하는지 여부가 아님) 및 유틸리티 / 손실 / 비용 기능을 기반으로 함을 지시하는 최적의 Bayes 의사 결정 이론을 활용하지 않음

1
감사합니다. 로지스틱 회귀를 고수하면서 (즉 우도 함수를 건드리지 않고)이를 달성 할 수있는 방법이 있습니까?
tmakino

"이것"이 무엇인지에 달려 있습니다. 궁극적 인 목표는 무엇이며 모델은 어떻게 사용됩니까?
Frank Harrell

달성하려는 것에 대한 세부 정보를 제공하기 위해 질문을 편집했습니다.
tmakino

1
내가 누락 된 것이 아니라면 추가 한 것은 컷 포인트 사용을 암시하지 않습니다. 예측 확률은 자체 오류율을 제공합니다.
Frank Harrell

8

설명하려는 내용을 달성하는 가장 좋은 방법은 AUC 손실 함수를 사용하여 로지스틱 회귀 매개 변수를 직접 최적화하는 것입니다. Zhou의 "진단 의학 통계 방법"교과서에이 방법이 설명되어 있습니다.

AUC (수신기 동작 특성 곡선 또는 ROC 아래의 영역)은 무작위로 샘플링 된 "case"가 "control"보다 마커 값이 높을 확률로 대략 해석됩니다. 이것은 모델 차별의 측정 또는 결과를 올바르게 분류하는 능력입니다. ROC는 회귀 모델에서 가능한 모든 마커 값 (적합 된 결과)에 대한 민감도 대 1-특이성을 나타내는 단위 평면의 곡선입니다.

로지스틱 회귀 모델의 기존 공식을 사용하여

logit Pr(Y=1|X)=α+βX

모형 모수에 대한 로그 승산 비를 사용하면 AUC 기반 손실 함수를 대략적으로 정의하여 최적의 모수를 얻을 수 있습니다. 우도 기반 로지스틱 회귀와 달리 AUC 회귀는 규칙적이지 않으며 모수 공간에서 극대값으로 수렴 할 수 있습니다.


1
허위 부정에 대한 작은 손실이 있지만 허위 긍정적에 대한 큰 손실이 있기 때문에 AUC가 여기에 가장 좋지 않다고 생각했을 것입니다.
probabilityislogic

실제 문제는 OP가 지속적인 결과 (ROI)를 가지며 손실 / 이득으로 이분법 화하고 있다는 것입니다. 그러나 일반적으로 "멍청한"마커 컷오프 영역 에서 ROC 회귀와 함께 머리카락을 따로 나누면 실제로 AUC로 계산됩니다. 의미있는 값과 어리석은 마커 값으로 간주되는 값을 미리 지정하고 부분 AUC 회귀에 모두 동일한 성능 기능 (및 문제)이있는 경우 부분 AUC를 사용할 수 있습니다.
AdamO
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.