모델 선택을 위해 r에서 regsubsets()를 사용하는 방법


R의 도약 패키지에서 regsubsets() 함수를 사용하여 최상의 회귀 모델을 생성하는 예측 변수의 하위 집합을 찾을 수 있습니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: R에서 모델 선택을 위해 regsubsets() 사용

이 예에서는 R에 내장된 mtcars 데이터 세트를 사용합니다. 여기에는 32개의 서로 다른 자동차에 대한 11개의 서로 다른 속성에 대한 측정값이 포함되어 있습니다.

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

hp를 응답 변수로 사용하고 다음과 같은 잠재적 예측 변수를 사용하여 회귀 모델을 적합화한다고 가정합니다.

  • mpg
  • 무게
  • q초

도약 패키지의 regsubsets() 함수를 사용하여 철저한 검색을 수행하여 최상의 회귀 모델을 찾을 수 있습니다.

 library (leaps)

#find best regression model
bestSubsets <- regsubsets(hp ~ mpg + wt + drat + qsec, data=mtcars)

#view results
summary(bestSubsets)

Subset selection object
Call: regsubsets.formula(hp ~ mpg + wt + drat + qsec, data = mtcars)
4 Variables (and intercept)
     Forced in Forced out
mpg FALSE FALSE
wt FALSE FALSE
drat FALSE FALSE
qsec FALSE FALSE
1 subsets of each size up to 4
Selection Algorithm: exhaustive
         mpg wt drat qsec
1 ( 1 ) "*" " " " " " " 
2 (1) " " "*" " " "*" 
3 ( 1 ) “*” “*” “ “ “*” 
4 ( 1 ) “*” “*” “*” “*”

결과 하단의 별표( * )는 예측 변수 수가 서로 다른 가능한 각 모델에 대한 최상의 회귀 모델에 속하는 예측 변수를 나타냅니다.

결과를 해석하는 방법은 다음과 같습니다.

단일 예측 변수가 있는 모델의 경우 mpg를 예측 변수로 사용하여 최상의 회귀 모델이 생성됩니다.

두 개의 예측 변수가 있는 모델의 경우 예측 변수로 wtqsec을 사용하여 최상의 회귀 모델이 생성됩니다.

세 개의 예측 변수가 있는 모델의 경우 mpg , wtqsec를 예측 변수로 사용하여 최상의 회귀 모델이 생성됩니다.

4개의 예측 변수가 있는 모델의 경우 mpg , wt , dratqsec 를 예측 변수로 사용하여 최상의 회귀 모델이 생성됩니다.

각 모델에 대해 다음 측정항목을 추출할 수도 있습니다.

예를 들어, 다음 구문을 사용하여 4개의 최상의 모델 각각에 대해 적합 R-제곱 값을 추출할 수 있습니다.

 #view adjusted R-squared value of each model
summary(bestSubsets)$adjr2

[1] 0.5891853 0.7828169 0.7858829 0.7787005

결과에서 우리는 다음을 볼 수 있습니다:

  • mpg를 예측 변수로 사용하는 모델의 수정된 R 제곱 값은 0.589 입니다.
  • 예측 변수로 wtqsec를 사용하는 모델의 수정된 R 제곱 값은 0.783 입니다.
  • mp g , wtqsec 를 예측 변수로 사용하는 모델의 수정된 R 제곱 값은 0.786 입니다.
  • mpg , wt , dratqsec 을 예측 변수로 사용하는 모델의 수정된 R 제곱 값은 0.779 입니다.

이 값은 모델의 예측 변수 수에 따라 조정된 예측 변수 세트가 응답 변수의 값을 얼마나 잘 예측했는지에 대한 아이디어를 제공합니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 다중 선형 회귀를 수행하는 방법
R에서 조각별 회귀를 수행하는 방법
R에서 스플라인 회귀를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다