심슨의 역설

R 중급 회귀

Richie Cotton

Data Evangelist at DataCamp

아주 기묘한 역설!

심슨의 역설은 전체 데이터셋의 모형 추세가 데이터의 부분집합에서 보이는 추세와 크게 다를 때 발생합니다.

추세 = 기울기 계수

R 중급 회귀

합성 심슨 데이터

x y group
62.24344 70.60840 D
52.33499 14.70577 B
56.36795 46.39554 C
66.80395 66.17487 D
66.53605 89.24658 E
62.38129 91.45260 E
  • 데이터는 A~E의 5개 그룹
1 https://www.rdocumentation.org/packages/datasauRus/topics/simpsons_paradox
R 중급 회귀

선형 회귀

전체 데이터셋

mdl_whole <- lm(
  y ~ x, 
  data = simpsons_paradox
)
coefficients(mdl_whole)
(Intercept)            x  
    -38.554        1.751  

그룹별

mdl_by_group <- lm(
  y ~ group + group:x + 0, 
  data = simpsons_paradox
)
coefficients(mdl_by_group)
  groupA    groupB    groupC    groupD    groupE  
 32.5051   67.3886   99.6333  132.3932  123.8242  
groupA:x  groupB:x  groupC:x  groupD:x  groupE:x  
 -0.6266   -1.0105   -0.9940   -0.9908   -0.5364
R 중급 회귀

전체 데이터셋 그리기

ggplot(simpsons_paradox, aes(x, y)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

전체 산점도

R 중급 회귀

그룹별로 그리기

ggplot(simpsons_paradox, aes(x, y, color = group)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

그룹별 산점도

R 중급 회귀

차이를 조정하기

좋은 조언

가능하면 데이터를 시각화하십시오.

일반적인 조언

최적의 모형은 일반적으로 없습니다. 데이터와 질문에 따라 달라집니다.

또 다른 좋은 조언

모델링 전에 질문을 명확히 하십시오.

R 중급 회귀

시험 점수 예시

전체: 비디오 게임 예시

그룹별: 비디오 게임 예시

R 중급 회귀

감염병 예시

전체: 전염병 예시

그룹별: 전염병 예시

1 https://stats.stackexchange.com/questions/478463/examples-of-simpsons-paradox-being-resolved-by-choosing-the-aggregate-data
R 중급 회귀

차이를 다시 조정하기

  • 보통(항상은 아님) 그룹 모형이 더 많은 통찰을 줍니다.
  • 설명 변수가 빠졌을 수 있습니다.
  • 맥락이 중요합니다.
R 중급 회귀

실제 데이터셋의 심슨의 역설

  • 역설은 보통 덜 두드러집니다.
  • 방향이 완전히 바뀌기보다 기울기가 0에 가까울 수 있습니다.
  • 모든 그룹에서 나타나지 않을 수 있습니다.
R 중급 회귀

연습해 봅시다!

R 중급 회귀

Preparing Video For Download...