대치와 모델링을 함수로 묶기
대치된 데이터로 어떤 분석이나 모델링을 하더라도, 대치로 인한 불확실성을 반드시 고려해야 해요. 한 번만 대치한 데이터셋으로 모델을 학습하면, 대치가 불확실성을 가진 추정치라는 사실을 무시하게 됩니다. 이런 모델에서의 표준 오차는 대체로 과소추정돼요. 이를 해결하는 방법이 바로 다중 대치이고, 그 구현 방법 중 하나가 부트스트랩핑입니다.
다음 연습 문제에서는 익숙한 biopics 데이터를 사용할 거예요. 목표는 부트스트랩핑을 통한 다중 대치와 선형 회귀를 사용해, 주어진 데이터를 바탕으로 여성 인물을 다룬 전기 영화가 남성을 다룬 영화보다 수익이 더 적은지 확인하는 것입니다.
우선, 부트스트랩 샘플을 만들고, 이를 대치한 뒤, 선형 회귀 모델을 적합하는 함수를 작성해 봅시다.
이 연습은 강의의 일부입니다
R에서 대치(Imputation)로 결측치 다루기
연습 안내
indices로 지정된 행을 재표본추출하여data를 슬라이싱하고, 결과를data_boot에 할당하세요.- 이 부트스트랩 샘플
data_boot를 이웃 수 5인 kNN 대치로 대치하고, 결과를data_imp에 할당하세요. earnings를sub_sex,sub_type,year로 설명하는 선형 회귀 모델을data_imp에 적합하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
calc_gender_coef <- function(data, indices) {
# Get bootstrap sample
data_boot <- data[___, ]
# Impute with kNN imputation
data_imp <- ___
# Fit linear regression
linear_model <- ___
# Extract and return gender coefficient
gender_coefficient <- coef(linear_model)[2]
return(gender_coefficient)
}