일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 한서지리지
- R
- post hoc test
- repeated measures ANOVA
- 기자조선
- ANOVA
- 고구려
- categorical variable
- 단군
- 독사방여기요
- spss
- 유주
- 우분투
- 창평
- 히스토그램
- linear regression
- 선형회귀분석
- 낙랑군
- 통계학
- 패수
- Histogram
- 신라
- 기자
- 태그를 입력해 주세요.
- 후한서
- t test
- 한서
- 지리지
- 통계
- 풍백
- Today
- Total
獨斷論
로지스틱 회귀분석 본문
100명을 무작위로 나이와 심장병이 있는지 조사하였을때 데이터가 아래와 같다고 가정하자.
데이터파일:
위 데이터파일을 내려받고 아래 R script를 실행
chd_df = read.csv("chdage.csv", header = TRUE)
plot(CHD ~ Age, data = chd_df)
대략 20대에서 9명은 심장병이 없고 1명만 심장병을 가지고 있는 반면, 60대에서는 심장병이 없는 사람은 2명이고 심장병을 가지고 있는 사람은 8명이다. 달리말하면 20대에서 심장병을 갖고 있을 확률은 0.1이고 60대가 심장병을 가질 확률은 0.8이다. 40대 초반이 심장병을 가질 확률은 대략 0.5이다. 이러한 확률은 아래와 같은 함수로 나타낼수가 있다(https://en.wikipedia.org/wiki/Logistic_function).
$$ \pi (x) = \frac { e^{\beta_0 + \beta_{1}x}}{1 + e^{\beta_0 + \beta_{1}x}} $$
$\pi(x)$는 $x$가 주어졌을때 outcome variable인 CHD가 1인 확률을 나타낸다. 즉, $$\pi (x) = P(Y =1 | x)$$ $$1 - \pi (x) = P(Y = 0 | x)$$ sample size가 N일때 심장병을 가진 사람이 z명이라면 이 확률분포를 아래와 같은 binomial distribution이다. $$ \pi(x_i)^z (1 - \pi(x_i))^{N-z} $$ R을 이용하여 logistic regression을 수행하면 아래와 같이 한다.
glm.fit = glm(CHD ~ Age, data = chd_df, family = binomial)
summary(glm.fit)
coef(glm.fit)
$\beta_0$는 약 -5.309이고 $\beta_1$은 약 0.111이다.
$$ \pi (x) = \frac { e^{-5.309 + 0.111 x}}{1 + e^{-5.309 + 0.111 x}} $$
logistic regression한 결과를 원래 데이터이 그려보면 아래와 같다.
x=seq(20, 70, length.out = 1000)
pi_x = exp(-5.309 + 0.111*x) / (1 + exp(-5.309 + 0.11092*x))
plot(CHD ~ Age, data = chd_df)
lines(x, pi_x)