로지스틱 모델의 RMSE (Root Mean Squared Error)


10

다른 물류 모델을 비교하기 위해 RMSE (Root Mean Squared Error)를 사용하는 유효성에 관한 질문이 있습니다. 응답은 0또는 1이고 예측은 0- 1?

이진 반응에도 아래의 방법이 적용됩니까?

# Using glmnet
require(glmnet)
load(url("https://github.com/cran/glmnet/raw/master    /data/BinomialExample.RData"))
cvfit = cv.glmnet(x, y, family = "binomial", type.measure = "mse")
A <- predict(cvfit, newx = x, s = "lambda.min", type = "response")
RMSE1 <- mean((y - A)^2)
# 0.05816881

# glm
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
AAA <- predict(mylogit, newdata = mydata, type = "response")
RMSE2 <- mean((mydata$admit - AAA)^2)
# 0.194714

1
이 경우 브리 어 점수라고합니다. actuaries.org/ASTIN/Colloquia/Hague/Papers/Lo.pdf

답변:


14

"그녀의 반응이 왜 0또는 1그 사이에 예측이 0- 1" 인지에 대한 이유를 이해하려면 작업중인 모델의 유형을 이해해야합니다. 처벌 방법과 교차 검증을 제거하면 기본적인 로지스틱 회귀 분석이 실행됩니다. 매개 변수는 로그 확률 / 물류 스케일에 적합합니다. 이것을 "선형 예측기"라고합니다. (자세한 내용은 여기에서 내 대답을 읽는 데 도움이 될 수 있습니다 . 로짓과 프로 빗 모델의 차이점 .) x 값을 꽂고 단순화하면 값은 '성공' 확률 에 대한 모형의 자연 로그 값입니다. ( 1). 해당 값을 지수화하면 모형의 예상 확률이'성공'의. 예측 확률 을 얻으려면 확률을 확률 / (1 + odds)를 통해 확률로 변환해야합니다. (이에 대한 자세한 내용은 여기에서 내 대답을 읽는 데 도움이 될 수 있습니다 . 로지스틱 회귀 분석에서 확률에 대한 간단한 예측의 해석 비율 . 여전히 그래도 클래스를 예측할 수는 없습니다 . 이를 위해서는 예측 확률을 일부 임계 값과 비교해야하며 임계 값보다 작 으면 '실패'( 0), 그렇지 않으면 '성공'( 1)을 예측해야 합니다. 가장 일반적인 기본 임계 값은 .5이지만 최적이 아닌 경우가 많습니다. R의 predict.glm()기능을 사용하면type="link"선형 예측 변수의 규모 (예 : 위의 모든 변환 이전)에 예측을 출력하지만이 상황에서는 도움이되지 않습니다. 를 사용 type="response"하면 예상 확률이 제공됩니다.


이항 회귀 모델이 반응을 얼마나 잘 예측하는지 평가하려고 할 때 몇 가지 옵션이 있습니다.

  1. 첫 번째로 가장 직관적 인 것은 예측 된 클래스와 관찰 된 클래스를 비교하고 정확한 백분율을 계산하는 것입니다. 직관적이지만 문제가 있습니다. 모델의 다른 측면이 적절하게 적합 할뿐만 아니라 최적의 임계 값에 부분적으로 좌우됩니다. 또한 많은 정보를 버립니다 (예 : 예측 확률이 임계 값에서 얼마나 떨어져 있는지).
  2. 다음 옵션은 ROC (수신기 작동 특성) 곡선 아래 영역을 사용하는 것입니다. 대부분의 사람들은이 옵션을 사용합니다. 올바른 백분율을 사용하는 것보다 훨씬 낫습니다. 그러나 대부분의 사람들이 인식하지 못하는 AUC에 대한 사실은 실제 정확도가 아니라 예측의 적절한 순서를 실제로 측정한다는 것입니다. 즉, 네 개의 관측치에 대한 확률을 예측 .2, .4, .6, .8하고 모든 관측치에 .01을 추가 한 경우 ( .21, .41, .61, .81) 모두 예측 확률이 동일하게 정확하지는 않지만 AUC는 동일합니다.
  3. 모델을 평가하는 세 번째 방법은 적절한 점수 함수를 사용하는 것입니다. 아마도 귀하의 맥락에서 가장 인기있는 점수 함수는 Brier 점수 입니다. @fcoppens가 지적한 것처럼 코드의 방법은 Brier 점수입니다. 모형이 한 관측치가 다른 관측치보다 '성공'일 가능성이 더 높다고 적절하게 예측할뿐만 아니라 모형의 예측 확률이 실제로 올바른지 평가합니다.

불행히도 Brier 점수는 잘 알려지지 않고 사용되었습니다. 이러한 방법의 상대적인 직관성은 정답률 (%)> AUC> 브리 어 점수이지만 실제 정보는 정답입니다. 모델의 성능에 대한 간단한 측정 만 원한다면 이러한 방법 간의 구별이 덜 중요하지만 이러한 방법을 사용하여 모델을 최적화하거나 모델을 선택하려는 경우 열등한 방법을 사용하면 성능이 저하됩니다 .


1

RMSE를 사용하면 오차 항이 평균 0으로 정상적으로 분포되어 있지만 이진 결과에서는 그렇지 않습니다. 따라서 가능성의 차이를 비교하는 것과 같이 이진 결과에 적합한 다른 접근법을 사용해야한다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.