계층적 회귀분석(Hierarchical Regression Analysis)

계층적 회귀분석(Hierarchical Regression Analysis)은 여러 단계에 걸쳐 독립 변수를 추가하면서 각 단계마다 모형의 적합도를 평가하는 회귀 분석 기법입니다. 이를 통해 각 독립 변수가 종속 변수에 미치는 영향을 단계별로 평가할 수 있습니다. 계층적 회귀분석은 주로 변수 간의 관계를 이해하고, 각 변수의 추가적인 설명력을 확인하는 데 사용됩니다.

주요 단계

1. 기본 모형 설정:

    • 첫 번째 단계에서는 기초 변수를 포함한 기본 모형을 설정합니다. 예를 들어, 통제 변수를 먼저 포함합니다.

    2. 새로운 변수 추가:

      • 다음 단계에서는 새로운 독립 변수를 추가하여 모형을 확장합니다. 이를 통해 새로운 변수가 종속 변수에 미치는 추가적인 설명력을 평가할 수 있습니다.

      3. 모형 비교:

        • 각 단계마다 결정 계수(R²)와 같은 적합도 지표를 비교하여 새로운 변수의 추가가 모형의 설명력을 얼마나 향상시키는지 평가합니다.
        • F-검정이나 변화된 R²의 유의성 검정을 통해 각 단계의 모형이 이전 모형에 비해 유의하게 나은지 확인할 수 있습니다.

        예시

        1. 1단계: 인구 통계학적 변수(나이, 성별 등)를 포함한 기본 모형
        2. 2단계: 여기에 사회경제적 변수(소득, 교육 수준 등)를 추가
        3. 3단계: 추가로 심리적 변수(스트레스 수준, 삶의 만족도 등)를 포함

        분석 절차

        1. 데이터 준비:
        • 분석에 사용할 데이터를 정리하고, 결측값을 처리합니다.
        1. 모형 구축:
        • 기본 모형을 설정하고, 점차적으로 독립 변수를 추가하는 방식으로 계층적 모형을 구축합니다.
        1. 회귀분석 수행:
        • 각 단계마다 회귀분석을 수행하고, 적합도 지표를 기록합니다.
        1. 결과 해석:
        • 각 단계별로 R², 변화된 R², F-검정 결과 등을 비교하여 변수의 추가적인 설명력을 평가합니다.

        코드 예제 (Python – Statsmodels 활용)

        아래는 Python을 사용하여 계층적 회귀분석을 수행하는 예제 코드입니다.

        import pandas as pd
        import statsmodels.api as sm
        
        # 예시 데이터 생성
        data = {
            'age': [23, 45, 31, 35, 46],
            'gender': [1, 0, 0, 1, 0],
            'income': [50000, 60000, 55000, 65000, 70000],
            'education': [12, 16, 14, 18, 20],
            'stress_level': [5, 6, 4, 7, 8],
            'life_satisfaction': [7, 8, 6, 9, 7]
        }
        df = pd.DataFrame(data)
        
        # 1단계: 인구 통계학적 변수 포함
        X1 = df[['age', 'gender']]
        X1 = sm.add_constant(X1)
        model1 = sm.OLS(df['life_satisfaction'], X1).fit()
        print(model1.summary())
        
        # 2단계: 사회경제적 변수 추가
        X2 = df[['age', 'gender', 'income', 'education']]
        X2 = sm.add_constant(X2)
        model2 = sm.OLS(df['life_satisfaction'], X2).fit()
        print(model2.summary())
        
        # 3단계: 심리적 변수 추가
        X3 = df[['age', 'gender', 'income', 'education', 'stress_level']]
        X3 = sm.add_constant(X3)
        model3 = sm.OLS(df['life_satisfaction'], X3).fit()
        print(model3.summary())

        위의 코드를 실행하면 각 단계별 회귀분석 결과가 출력됩니다. 이를 통해 각 단계에서 추가된 변수들이 종속 변수에 미치는 영향을 확인하고, 모형의 설명력이 어떻게 변화하는지 평가할 수 있습니다.

        댓글 달기

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

        위로 스크롤