인과추론 | Chapter 4. 유용한 선형회귀 (2)

    728x90

     

    4.6 선형회귀에서의 비선형성

     

    유일한 교란요인을 임금이라고 가정

    신용한도가 소비에 미치는 영향을 파악하려면 임금(공통원인)을 통제해야 함.

    효과 추정에 직교화를 사용하고 싶으면, 신용한도를 임금에 회귀하고 그 잔차를 구해 신용한도의 편향을 제거해야 함.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # 데이터 가져오기 (risk_data)  
    import pandas as pd
    import numpy as np
    risk_data = pd.read_csv('./data/risk_data.csv')
     
     
    # 신용한도-임금 편향제거 모델
    import statsmodels.formula.api as smf
    debiasing_model = smf.ols(
         'credit_limit ~ wage',
         data = risk_data
         ).fit()
         
         risk_data_deb = risk_data.assign(
            # 시각화를 위해, avg(T)를 잔차에 추가
            credit_limit_res = (debiasing_model.resid
                                + risk_data['credit_limit'].mean())
    cs

     

    하지만 여러 임금 수준에서 신용한도 별 소비 그래프는 선형 관계가 아님 >> 처치반응곡선에 오목성이 있음

    (기울기와 인과효과는 밀접한 관련이 있어서, 인과추론 관점에서 신용한도가 증가함에 따라 한도가 소비에 미치는 효과는 감소한다는 의미.)

     

    4.6.1 처치 선형화

    처치를 결과와 선형 관계로 변환해야 함.

    관계가 오목하므로 오목함수(로그함수, 제곱근 함수 또는 신용한도를 분수의 거듭제곱으로 취하는 함수 등등)를 적용.

    로그함수 제곱근함수 분수 거듭제곱 함수 ( $x^{1/2}$ )
    출처: https://www.mathfactory.net/11244 https://depositphotos.com/ko/vector/diagram-of-mathematics-function-of-the-square-root-46541311.html https://chocohaim1121.tistory.com/7

     

    ▶ 선형화 방식 참고

    선형관계가 나타나는 독립-종속변수의 함수를 찾아야 함

     

    >> 참고 게시글 : 2024.08.19 - [기록+성장] - 통계학 Khan Academy | 14~16단원

     

    통계학 Khan Academy | 14~16단원

    1. 14단원1-1. 카이제곱 적합도 검정▶ 카이제곱분포란? 표준정규분포에서 표집해 얻은 숫자를 제곱하는 것HTML 삽입미리보기할 수 없는 소스제곱을 하기 때문에 항상 양수가 됨χ^2 분포의 밑수 1

    nasena.tistory.com

     

    4.6.2 비선형 FWL과 편향 제거

    • 처치 선형화 단계 : T와 Y의 관계를 선형화하는 함수 F를 찾음
    • 편향 제거 단계 : F(T)를 교란요인 X에 회귀하고 처치 잔차 $ \tilde{F(T)} = F(T) - \hat{F(T)} $를 구함
    • 잡음 제거 단계 : 결과 Y를 교란 요인 X에 회귀하고 결과 잔차 $ \tilde{Y} = Y - \hat{Y} $를 구함
    • 결과 모델 단계 : 이렇게 얻은 결과 모델을 결과 잔차 $ \tilde{Y} $를 처치 잔차 $ \tilde{F(T)} $에 회귀하여, F(T)가 Y에 미치는 인과효과의 추정값을 구함

     

    4.7 더미변수를 활용한 회귀분석

    독립성 가정을 해야함.

    일부 공변량을 통제했을 때 처치가 무작위로 배정된 것처럼 보이도록 가정해야 하지만 어려움.

    가능하면 무작위 실험을 하는 것이 좋음.

    하지만 비용이 많이 들어감

     

    4.7.1 조건부 무작위 실험

    무작위 통제 실험 계층화, 조건부 무작위 실험
    모든 고객에게
    동일한 확률 분포에서 완전히 무작위
    신용한도를 설정하는 실험을 설계하는 것

    • 장점 : 독립성 가정 만족
    • 단점 : 큰 비용
    무작위 통제 실험에 대한 차선책
    고객 공변량에 따라 나뉜
    서로 다른 분포에서 표본을 뽑아
    여러 국소 실험을 만드는 것

    • 장점 : 무작위 통제 실험보다 적은 비용
    : 설정한 범주형 변수에 따라 신용 한도가 무작위로 배정되었음을 알기 때문에 조건부 독립 가정에 훨씬 설득력이 생김
    • 단점 : 실험 설계가 복잡함
    : 실험군에 대한 결과만으로 단순 회귀분석을 하면 편향된 추정값을 얻게 됨.

    조건부 무작위 설계를 선택한다면, 가능한 완전 무작위 실험에 가깝게 설계해야 함
    → 그룹 수가 적을수록 조건부 무작위 실험을 진행하기 용이함
    → 그룹 간 처치 분포가 많이 중첩될수록 분석이 용이함
    (그렇지 않으면 위험한 외삽에 의존해야 할 가능성이 커짐)

     

    4.7.2 더미변수

    조건부 무작위 실험의 결과로 단순 회귀분석을 하면 편향된 추정값을 얻게 됨.

    모델에 처치가 무작위로 배정된 그룹 정보를 포함해야 함.

    (실험 설계 초반에 조건에 따라 그룹을 나눠 표본을 추출했었는데 해당 그룹 정보를 회귀 모델에 포함해야 한다는 말)

     

    이렇게 그룹 자체를 통제하는 방법더미변수(가변수)를 만드는 것. 

    고객이 해당 그룹에 속하면 1, 그렇지 않으면 0을 부여. (머신러닝에서는 원-핫 인코딩이라고 부름)

    이 때 더미 열 중 하나는 불필요함. (만약 다른 모든 열이 0이라는 사실을 알면 나머지 열은 1이라는 것이 정해지기 때문)

    '더미변수를 포함한 회귀 모델'에 대한 결과값 기울기각 그룹의 회귀에 대한 분산 가중평균이 됨

    그룹 간 다르게 처치를 배정하는 방법회귀 모델에 더미변수를 포함시키는 것

     

    [질문] 

    해당 기울기가 각 그룹의 회귀에 대한 분산 가중평균이라는 게 무슨 말인지?

    이 예제에서는 기울기 매개변수가 하나 뿐인데 그러면 분산 가중평균을 구할 때 동일한 값이 가중치로 곱해지는 건가?

     

    4.7.3 포화회귀모델

    이진 처치에 대한 회귀분석은 실험군과 대조군의 평균을 비교하는 것과 같음

    더미변수도 이진값이기 때문에 같은 논리가 적용됨

    • 그룹 별 효과 추정법
      • 조건부 무작위 실험 데이터를 여러 그룹으로 나누고 그룹 별로 효과 추정
      • 그룹 별 효과에 대한 평균을 구할 때 각 그룹의 크기가중치로 삼아 가중평균 구하기
    • 회귀분석(포화모델)
      • 더미변수와 처치에 대한 상호작용 항에서
        각 더미변수에 해당하는 그룹의 인과효과 추정
      • 이 때 상호작용 매개변수는 (생략된) 첫 번째 그룹의 효과와 연관지어 해석해야 함

     

    4.7.4 분산의 가중평균과 회귀분석

    [ 그룹별 계산 결과와 포화회귀모델의 결과가 동일한 경우 가질 수 있는 의문점 ]

     상호작용 항 없이 default ~ creadit_limit  + C(그룹명) 모델을 실행하면 단일 효과값(하나의 기울기 매개변수)만 얻게 됨.

    이 효과 추정값은 그룹별 효과를 추정하고 그룹 크기를 가중치로 사용해 평균한 결과다름!

     

    그 이유는 회귀분석이 그룹 효과를 결합할 때 표본 크기를 가중치로 사용하지 않기 때문.

    회귀분석은 각 그룹에서 처치의 분산에 비례하는 가중치를 사용함.

    회귀분석처치 변동성이 큰 그룹을 선호

     

    4.7.5 평균 제거와 고정효과

    더미변수를 사용하면 대부분이 0인 많은 열을 생성하게 됨

    이 문제의 해결을 위해 FWL 정리를 적용하고, 회귀분석이 처치를 직교화하는 방법이 있음

     

    FWL 정리에서 편향제거 단계는 공변량에서 처치를 예측하는 과정을 포함

    여기에서는 공변량이 더미변수

     

    더미변수는 기본적으로 그룹 평균과 비슷한 역할을 수행함

    더미변수를 활용하면 처치를 잔차화하고 싶을 때 훨씬 간단하고 효과적인 방법으로 할 수 있음

    • (방법1) 각 그룹별로 평균 처치 계산하기 >> 잔차 구하기 = 처치 - 해당 그룹의 평균 (처치에 대한 평균 제거)
      • 여기에서 얻은 매개변수 추정값은 모델에 더미변수를 추가해서 얻은 값과 동일함
      • 이렇게 그룹 내에서 고정된 모든 것을 통제해 얻은 모델을 고정효과 모델이라고 함
        고정된 것을 통제하는 수단(ex. 더미변수)을 고정 효과라고 함
    • (방법2) 회귀 모델 안에 그룹 별 평균 처치를 포함시키기 
      • 회귀분석은 추가된 변수들로부터 처치를 잔차화하기 때문에 여기에서도 효과는 거의 동일함

     

    4.8 누락 변수 편향

    공통원인(교란 요인)은 처치와 결과 간의 추정 관계를 편향시킬 수 있음.

    그래서 회귀 모델에 이런 요인들을 모두 포함해야 함.

    하지만 교란요인이 누락된 축소모델을 추정하면 편향이 발생함.

    이 편향은 누락 변수 편향(OVB : omitted variable bias)이라고 하며 해당 편향의 크기를 정확히 파악할 수 있음

    • 누락 변수 편향의 정의
      • (1) 누락 변수가 포함된 전체 모델의 회귀계수 더하기
      • (2) 결과에 미치는 누락 변수의 효과 곱하기
      • (3) 누락 변수를 포함된 변수에 회귀하는 모델의 회귀계수
      • 공식 : $ \frac{Cov(T, Y)}{Var(T)} = \tau + `\beta_{omitted} \delta_{omitted} $

     

    4.9 중립 통제변수

    회귀분석에서 교란요인을 보정하기 위해 포함해야 할 X에는 어떤 변수들을 포함해야 할까?

    • 공통 효과(충돌부)나 매개자는 선택편향을 유발하기 때문에 포함시키지 않아야 함
    • 통제변수는 편향에 영향을 미치지 않는 중립적인 변수지만, 분산에는 심각한 영향을 줄 수 있는 변수임.
      (편향-분산 트레이드오프)

     

    4.9.1 잡음 유발 통제변수

    어떤 변수 X는 교란요인이 아님.

    처치의 원인이지만 결과의 원인은 아님

    이 때 이 X를 회귀식에 포함하게 되면 표준오차가 증가해 매개변수의 신뢰구간이 넓어지게 됨.

    (OLS는 처치의 분산이 큰 그룹을 선호하기 때문) 

     

    4.9.2 특성 선택 : 편향-분산 트레이드오프

    현실적으로는 대체로 공변량이 처치에 영향을 주지만 결과에는 영향을 주지 않는 경우를 찾아보기 힘듦.

    오히려 T와 Y 모두에 영향을 주되 서로 다른 정도의 영향력을 행사하는 교란요인들이 많을 것.

     

    일반적으로 모델에 더 많은 교란 요인을 포함(보정)할수록 인과 추정값의 편향은 줄어듦.

    하지만 추정량의 분산이 증가함.

    • 결과 예측력은 약하지만 처치 예측력은 강한 변수를 포함하게 되면 편향이 감소하는 대신 분산이 증가하는 대가가 따름
    • 처치를 잘 설명하고 결과를 거의 설명하지 않는 교란 요인은 보정 대상에서 제외하는 것이 나음.

     

    요약

    회귀분석은 주로 교란 요인을 보정하거나 분산 감소에 사용됨.

    728x90

    댓글