ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [R] 회귀분석 최적의 변수 조합 찾기
    카테고리 없음 2024. 3. 26. 11:21

    R 에서 회귀분석의 독립변수를 넣는 경우에 수가 많을 것이다.

    예를 들어 독립변수가 5개라고 한다면, 독립변수를 넣는 경우의 수는 2 ^ 5 = 32 가지의 경우의 수가 있을 것이다.

     

    이런 것들을 일일히 하는 데 고통을 받기에 한번에 이들 중에 어떤 경우에 수정된 R-square 값이 높은지를 보기 위해

    regsubsets 메소드를 사용한다.

    regsubsets 메소드 중에서 전역 탐색을 하면 모든 경우의 수를 볼 수 있을 것이다.

     

    R 의 regsubsets 함수는 leaps pachage 에 포함되어있다.

    그 용도는 회귀 분석에서 최적의 변수 조합을 찾기 위해 사용된다.

     

    이 함수는 가능한 모든 변수의 조합을 평가하여, 데이터에 가장 잘 맞는 회귀 모델을 찾는 데 도움을 준다.

     

     

    회귀 분석에서 최적의 변수 조합 찾기

    • x: 모델에 사용될 종속 변수와 독립 변수를 포함한 수식
    • data: 분석에 사용될 데이터 프레임입니다.
    • nbest: 각 변수 개수에 대해 선택할 최상의 모델 수입니다
    • nvmax: 고려할 최대 변수 수입니다. 이 값이 설정되지 않으면, 데이터에 있는 모든 변수가 고려됩니다.
    • force.in, force.out: 모델에 포함시키거나 배제할 변수를 강제로 지정합니다.
    • method : 변수 선택 방법을 선택하는 파라미터이고, 
      • "exhaustive" 를 넣으면 모든 가능한 변수 조합을 평가
      • "foward" 는 전진 선택법
      • "backward' 는 후진 제거법을 의미 (이거는 요새는 정확성 때문에 많이 안 쓰인다고 한다)
    • really.big: 데이터 세트가 크고 변수의 수가 많을 때 메모리 사용을 최적화하기 위한 옵션입니다.

    출력과 해석

    regsubsets 함수의 실행 결과는 다양한 정보를 포함하는 regsubsets 객체입니다.

    이 객체를 summary 함수로 처리하면, 각 변수 조합에 대한 세부 정보를 얻을 수 있습니다.

    여기에는 선택된 변수, 각 모델의 결정계수(R²), 조정된 R², AIC, BIC 등의 통계가 포함될 수 있습니다.

     

    주의 사항

    변수가 많고, 데이터의 크기가 클 경우에 긴 시간동안 돌아갈 수 있으므로, 

    nvmax 옵션을 조절하면서 실행하시길

     

    summary()

    * 가 있는 변수가 최적의 변수임.

    행은 최적의 예측변수의 조합 순위라고 보면 된다.

    예를 들어, 1행의 1, 3, 7열에 별표가 있다고 한다면, 최적의 예측변수(독립 변수) 조합이 1열, 3열, 7열에 있는 변수 3개의 조합이다.

    # regsubsets 을 활용해 변수 선택 실행하고, 결과를 regfit.full 에 할당 
    regfit.full <- regsubsets(mpg ~ ., data=mtcars, nvmax=10)
    
    # 요약 결과
    summary(regfit.full)
    
    # 요약 결과를 변수에 할당하고, 이를 통해 특정 정보를 추출할 수 있음.
    reg.summary <- summary(regfit.full)
    
    # 각 변수의 개수에 따른 R-squared 값을 확인합니다.
    reg.summary$rsq

     

Designed by Tistory.