패널데이터 분석에서 개체와 시간을 변동하기 위한 TwoWay Fixed Effect, Interactive Fixed Effects

패널데이터 분석에서 개체와 시간을 변동하기 위한 TwoWay Fixed Effect, Interactive Fixed Effects
Photo by Richard Horvath / Unsplash

Two-Way Fixed Effects

Definition

  • 두 가지 고정 효과(Two-Way Fixed Effects) 모델은 패널 데이터 분석에서 개체와 시간에 대한 변동을 모두 통제하는 방법입니다.
  • 이는 개체와 시간의 고정 효과를 모두 포함하여, 분석 대상 변수의 변동을 설명합니다.

Motivation

  • 이 모델은 개체와 시간에 따른 변동을 모두 통제하여 더 정확한 분석을 가능하게 하기 위해 등장했습니다.
  • 이는 특히 패널 데이터에서 개체 간의 고정된 특성과 시간에 따른 변화를 동시에 고려할 수 있습니다.

Pros

  1. 이질성 통제: 개체와 시간에 따른 변동을 모두 통제할 수 있습니다.
  2. 편향 감소: 두 차원의 고정 효과를 고려하여 모델의 편향을 줄일 수 있습니다.
  3. 적용 범위 넓음: 다양한 분야에서 사용될 수 있습니다.

Cons

  1. 복잡성 증가: 모델이 복잡해질 수 있습니다.
  2. 추가 데이터 필요: 더 많은 데이터가 필요합니다.
  3. 상호작용 효과 무시: 개체와 시간의 상호작용 효과를 고려하지 않습니다.

상호작용 고정 효과 (Interactive Fixed Effects)

Definition

  • 상호작용 고정 효과(Interactive Fixed Effects) 모델은 패널 데이터 분석에서 개체와 시간의 상호작용을 고려한 방법입니다.
  • 이는 두 차원의 고정 효과 외에도, 상호작용 효과를 모델링하여 복잡한 이질성을 통제합니다.

Motivation

  • 이 모델은 개체와 시간 간의 상호작용이 중요한 경우 사용됩니다. 두 차원의 복잡한 이질성을 통제하고자 할 때 유용합니다.

Pros

  1. 상호작용 효과 반영: 상호작용을 고려할 수 있습니다.
  2. 더 나은 모델링: 복잡한 이질성을 더 잘 모델링할 수 있습니다.
  3. 편향 감소: 상호작용 효과를 고려하여 모델의 편향을 줄일 수 있습니다.

Cons

  1. 복잡성 증가: 모델이 더욱 복잡해집니다.
  2. 계산 비용 증가: 더 많은 계산이 필요합니다.
  3. 추가 데이터 필요: 상호작용을 추정하기 위해 더 많은 데이터가 필요합니다.

Alternatives

  1. Random Effects 모델: 고정 효과 대신 랜덤 효과를 사용하여 개체 간의 변동을 모델링합니다.
  2. Hierarchical Linear 모델: 계층적 구조를 고려하여 변동을 모델링합니다.
  3. Difference-in-Differences: 두 그룹 간의 차이를 비교하여 정책 효과를 추정합니다.

샘플 코드

  • C(campaign)는 범주형 변수로서 각 캠페인에 대한 고유한 효과를 모델에 포함하는 역할
import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf

# 데이터 생성
np.random.seed(42)
n_campaigns = 10  # 캠페인 수
t_weeks = 12      # 주 수
df = pd.DataFrame({
    'campaign': np.repeat(np.arange(n_campaigns), t_weeks),
    'week': np.tile(np.arange(t_weeks), n_campaigns),
    'spend': np.random.rand(n_campaigns * t_weeks) * 1000  # 광고비 지출
})

# 캠페인 및 시간 고정 효과 추가
df['campaign_effect'] = np.repeat(np.random.randn(n_campaigns), t_weeks)
df['week_effect'] = np.tile(np.random.randn(t_weeks), n_campaigns)
df['sales'] = 100 + df['campaign_effect'] + df['week_effect'] + 0.5 * df['spend'] + np.random.randn(n_campaigns * t_weeks) * 10

print(df.head())

# Two-Way Fixed Effects 모델 적합
model = smf.ols('sales ~ spend + C(campaign) + C(week)', data=df).fit() print(model.summary())

# 상호작용 항 추가
df['interaction'] = df['campaign'] * df['week']

# Interactive Fixed Effects 모델 적합
model_interactive = smf.ols('sales ~ spend + C(campaign) + C(week) + interaction', data=df).fit()
print(model_interactive.summary())

Read more

OLS 기반 인과추론 시 오차항 관련 체크 필요 가정

OLS 기반 인과추론 시 오차항 관련 체크 필요 가정

배경 * 아래 글을 DANBI에서 보다가 더 알아보게 되었습니다. OLS를 떠받치는 몇 개의 기둥이 있는데 그중 실용적으로 가장 중요한 것이 일치성(consistency)다. 쉽게 말해서 OLS를 통해 도출된 추정량이 있을 때 샘플사이즈가 커지면서 이 값이 참 값으로 접근한다는 것이다. 일치성이 충족되면 우리는 적당하게 큰 표본에 대해서 추정치가 좋은 속성을 지니고 있다고

인공지능이 문제가 아니라 결국 사람이 문제가 될 것입니다.

인공지능이 문제가 아니라 결국 사람이 문제가 될 것입니다.

사람들이 AI가 필요하다고 생각하는 시점 저 판사를 얼른 AI로 교체해야 한다. 유튜브에서 뉴스를 보다 보면 정말 많이 보이는 덧글입니다. 이러한 내용의 덧글이 달릴 때마다, 정말 많은 사람들이 공감을 표하곤 합니다. 왜 이렇게 사람들은 이러한 주장에 공감을 표하는 것일까? AI는 시킨대로 하기 때문에 공정하다는 인식 여러 이유가 있겠지만, 사람들은 아마 AI가

BG/NBD 모델은 고객 생애가치를 추정하는데 사용되는 확률 모델입니다.

BG/NBD 모델은 고객 생애가치를 추정하는데 사용되는 확률 모델입니다.

1. BG/NBD 모델이란? * BG/NBD(Beta-Geometric/Negative Binomial Distribution) 모델은 **고객의 생애 가치(Customer Lifetime Value, CLV)**를 추정하는 데 사용되는 확률적 모델입니다. * 특히 고객이 반복 구매를 할지, 아니면 더 이상 활동하지 않을지를 추정하는 데 유용합니다. 이 모델은 고객의 구매 행태를 두 가지 중요한 개념으로 나눕니다: * 고객은 활성(active)

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성(Multi Collinearity) * **Multi-Collinearity(다중공선성)**는 독립 변수들 간의 강한 상관관계가 존재할 때 발생합니다. 즉, 한 독립 변수가 다른 독립 변수에 의해 설명될 수 있을 정도로 상관관계가 높은 상황을 의미합니다. * 이 문제는 주로 회귀 분석에서 나타나며, 변수들 간의 관계를 해석하는 데 있어 큰 장애물이 될 수 있습니다. * 일반적인 회귀식을 $Y=