ADP (R)

[Adp 실기 기출 풀이] 27회 - Quantile 회귀

멋쟁이천재사자 2023. 1. 17. 18:16

0. 들어가며

27회 ADP 실기를 76.7 점 (기계학습 28.7/통계학습 48)으로 간신히 합격했습니다.

 

턱걸이 합격에 가장 큰 덕은 바로 이 문제 덕분인 것 같습니다.

지난 포스트에서 언급하였지만 26회 MCMC 베이즈회귀 문제를 복원 및 풀이해보는 훈련으로 순발력 있게 대응할 수 있었습니다. 이번 문제는 딱 맞는 패키지가 R 에 있어서, MCMC bayes 회귀보다 쉬웠습니다.

 

1. 문제(복원)와 제출답안

4. car 패키지의 Prestige 데이터에서 education, prestige를 독립변수로 하여 종속변수 income을 예측하고자 한다.

더보기

data(Prestige,package = "carData")
head(Prestige)

4-1. 분위수를 0.5로 하여 분위수(Quantile)회귀(Regression)를 수행하고 회귀계수를 소수점 2자리로 제시하라 (5점)

더보기

education, prestige 의 계수는 각각 -298.60, 191.23 이며 절편은 960.35 임

library(dplyr)
library(quantreg)
rq(income ~ education+prestige, data=Prestige)

 

4-2. education이고 17이고 prestige가 90 일 때 income을 예측하라(5점)

더보기

income 예측치는 13094.85 임

17 * -298.60 + 90 * 191.23 + 960.35

 

2. 해설

 

이 문제와 같은 엉뚱한 회귀 문제같은 경우 해당 키워드로 help.search 해보면 도움이 될 수도 있습니다.

help.search("QuantileRegression")

 

예를 들어 부호검정을 제공하는 패키지가 기억나지 않으면 help.search("SIGN test") 해보면 BSDA 패키지가 제공한다는 것을 쉽게 확인할 수 있습니다.

 

이 문제는 help.search 결과로 충분했지만, 경우에 따라서는 패키지에서 제공하는 함수를 추가로 찾아보아야 할 수 있습니다. 그럴 때는 다음과 같이 실행하면 됩니다.

help(package="quantreg")

 

이번 시험에서는 help.search("QuantileRegression") 결과에서 Quantile Regression 을 빠르게 확인할 수 있었습니다. 약간 찍기 하는 느낌입니다.

 

quantreg::rq 즉 quantreg 패키지의 rq 함수를 클릭하면 도움말이 나옵니다.

tau 의 설명(the quantile(s) to be estimated, this is generally...)과 디폴트값(tau=.5)이 지문에서 제시한 분위수를 0.5 로 하라는 내용과 일치했습니다. 이것을 쓰면 되겠다는 확신을 갖는 순간이었습니다.

 

R 에 익숙하지 않은 제가 늘 그렇게 하듯이, 하단에 제공되는 Example 적절한 부분을 복사해서 실행해봅니다. 그리고 나서 인수를 시험문제에 맞게 수정하여 실행해서 결과값을 제출하였습니다.

예측은 문제에서 지정한 독립변수들을 수립한 회귀식에 대입하여 산수 계산하듯이 풀어서 냈습니다.