獨斷論

Statistical Rethinking 제5장 연습문제 풀이 본문

과학과 기술/R 통계

Statistical Rethinking 제5장 연습문제 풀이

부르칸 2021. 3. 11. 09:00

5E1 풀이

(2)와 (4)가 multiple regression이다.

(3)은 독립변수가 2개이지만 regression parameter $\beta$가 1개이므로 multiple regression이 아니다.

 

 

5E2 풀이

$y_i$: Animal disversity

$L_i$: Latitude

$D_i$: Plant diversity

 

Regression model:

$y_i \sim Normal(\mu_i, \sigma) $

$\mu_i = \alpha + \beta_L\, L_i + \beta_D\, D_i $

 

 

5E3 풀이

$y_i$: time to PhD degree

$F_i$: amount of funding

$L_i$: lab size

 

1) Neither amount of funding nor size of laboratory is a good predictor of time to PhD degree.

2개의 선형모델을 만들어 기울기가 0에 가까움을 보인다.

$ y_i \sim Normal(\mu_{Fi}, \sigma_{F}) $

$ \mu_{Fi} = \alpha_{F} + \beta_F \, F_i $

 

$ y_i \sim Normal(\mu_{Li}, \sigma_{L}) $

$ \mu_{Li} = \alpha_{L} + \beta_L \, L_i $

 

즉 위 2개의 모델에서 $\beta_L$과 $\beta_F$가 0에 가까움을 보인다.

 

2) but together these variables are both positively associated with time to degree.

$ y_i \sim Normal(\mu_i, \sigma) $

$ \mu_i = \alpha + \beta_F \, F_i + \beta_L \, L_i $

 

두 개의 독립변수를 넣은 모델에서는 기울기가 0보다 큼을 보인다.

 

 

5E4 풀이

(1), (3), (4), (5)

level이 4개이므로 3개만 이용하여야 한다.

(3)은 index variable을 이용하는 방법과 같다.

 

 

5M1 풀이

x와 y 사이의 Spurious correlation:

x와 y의 데이터가 서로 상관관계를 보이지만 이 둘 사이에는 아무런 인과관계가 성립하지 않고 제3의 변수 z가 x에 영향을 주고 y에 영향을 주어서 x와 y가 상관관계가 있어 보이는 것을 말함.

 

https://dictionary.apa.org/spurious-correlation

 

APA Dictionary of Psychology

 

dictionary.apa.org

화재로 인한 재산피해: y

화재현장의 소방관 수: x

화재의 정도: z

 

$ y = a + b \, x$로 regression하여 재산 피해를 줄이기 위해 투입되는 소방관을 수를 줄이는 멍청한 짓을 할수가 있다.

실제로는 $ z \rightarrow y $이고 $ z \rightarrow x $인 관계이다.

 

Statistical rethinking의 5M1의 문제 서술과는 약간 다름. spurious correlation이란 실제 상관관계에 대한 설명이고 데이터를 가지고 선형모델을 세웠을때 항상 5M1의 기술과 같이 나오지는 않는다.

 

 

5M2 풀이

비만도(outcome variable): y

가난(masked variable or latent variable):  z

탄수화물 섭취량: x1

단백질 섭취량: x2

선진국 사회는 비만도가 높을수록 탄수화물 섭취가 많고 단백질 섭취가 적다.

이는 가난한 사람들이 값싼 탄수화물을 가장 많이 섭취하고 단백질은 상대적으로 적게 섭취하기때문이다.

 

5M3 풀이

이혼 후에 재혼을 할 가능성이 있으므로 divorce rate가 marriage rate의 원인이 될수 있다.

데이터를 모을때 재혼과 초혼을 구별하여 모았어야 했다.

 

 

5M4

www.worldatlas.com/articles/mormon-population-by-state.html 에서 데이터를 가져올수 있다.

첨부파일:

mormon.csv
0.00MB

 

위 파일을 받아서 R의 작업디렉토리에 저장하고 아래를 실행한다.

rm(list=ls())

library(rethinking)
data(WaffleDivorce)
d = WaffleDivorce
dm = read.csv("mormon.csv", header=TRUE, strip.white=TRUE)
d2 = cbind(d, dm)
d3 = d2[c("Location", "MedianAgeMarriage", "Marriage", "Divorce", "Percentage")]
head(d3)

마지막줄을 실행하면 결과가 아래와 같이 나온다.

> head(d3)
    Location MedianAgeMarriage Marriage Divorce Percentage
1    Alabama              25.3     20.2    12.7        0.8
2     Alaska              25.2     26.0    12.5        4.6
3    Arizona              25.8     20.3    10.8        6.1
4   Arkansas              24.3     26.4    13.5        1.0
5 California              26.8     19.1     8.0        2.0
6   Colorado              25.7     23.5    11.6        2.7

이제 각 변수를 표준화한 후에 예측모델을 세운다.

d3$stdD = standardize(d3$Divorce)
d3$stdM = standardize(d3$Marriage)
d3$stdA = standardize(d3$MedianAgeMarriage)
d3$stdP = standardize(d3$Percentage)

flist = alist(
  stdD ~ dnorm(mu, sigma), 
  mu <- alpha + beta_M*stdM + beta_A*stdA + beta_P*stdP, 
  alpha ~ dnorm(0, 0.2), 
  beta_M ~ dnorm(0, 0.5), 
  beta_A ~ dnorm(0, 0.5), 
  beta_P ~ dnorm(0, 0.5), 
  sigma ~ dexp(1)
)

modelfit = quap(flist, data=d3)
precis(modelfit)

실행한 결과

> precis(modelfit)
        mean   sd  5.5% 94.5%
alpha   0.00 0.09 -0.15  0.15
beta_M  0.04 0.15 -0.20  0.27
beta_A -0.69 0.14 -0.92 -0.46
beta_P -0.31 0.12 -0.51 -0.12
sigma   0.73 0.07  0.62  0.85

 

 

5M5 풀이

$y_i$: obesity

$x1$: price of gasoline

$x2$: 하루에 운전하는 시간

$x3$: 외식비

 

모델

$ y_i \sim Normal( \mu_i , \sigma) $

$ \mu_i = \alpha + \beta1 \, x1_i + \beta2 \, x2_i + \beta3 \, x3_i $

 

 

 

Comments