R : 정규분포 시각화
정규분포
- 연속형 확률변수에 대한 분포
- 평균을 기준으로 좌우대칭 종모양
- 모수(분포를 결정짓는 요인)는 평균(mu), 분산(sigma^2) / 평균이 높으면 그래프가 다 따라감
- X ~ N(mu, sigma^2)
# 정규분포 시각화
# 1) X ~(10,25) 평균 : 10 , 분산 : 25 (루트분산 = 표준편차)
vx <- seq(-10,30,0.01)
vy <- dnorm( vx,mean = 10, sd =5)
plot(vx,vy, type ='l', ylim = c(0,0.2))
# 2) X ~(10,10)
vy1 <- dnorm( vx, mean = 10, sd =sqrt(10) )
lines(vx, vy1, type ='l', col = 'red')
# 2) X ~(10,50)
vy2 <- dnorm( vx,mean = 10, sd = sqrt(50))
lines(vx, vy2, type ='l', col = 'blue')
=> 평균에 의해 좌우 이동,
분산에 의해 뾰족함의 정도(첨도)가 달라짐
분산이 커질수록 완만, 작을수록 뾰족
표준 정규 분포
- 정규분포를 따르는 확률변수를 표준화시켰을 때 갖는 분포
- 정규분포를 따르는 확률변수를 표준화시켰을 때 갖는 분포
- 평균이 0, 표준편차가 1인 정규분포
- Z = (X - mu) / sigma
- Z ~ N(0,1)평균 0 표준편차 1
- 모든 통계적 추론의 기본
표준 정규 분포 시각화
vx<- seq(-3,3,0.01)
vy<- dnorm(vx, 0,1)
plot(vx, vy, type = 'l')
# 예제) X ~ N(170,100)인 100개 난수 추출
v1 <- rnorm(100, mean = 170, sd = 10)
z1 <- (v1 -170) / 10
# 표준화된 난수의 실제 분포 (히스토그램)
hist(z1, probability = T, ylim = (0,0.5))
lines(vx, vy, type ='l', col = 'red')
# 표준정규분포 95%, 99% 범위 시각화
ld <- qnorm(0.01/2, mean = 0, sd =1) #99% 임계값
lu <- qnorm(1-0.01/2, mean = 0, sd =1)
plot(vx,vy, type = 'l')
# 임계값 수직선 그리기
abline(v=ld)
abline(v=lu)
# 색 채우기
vx1 <- c(ld, seq(ld, lu,0.01), lu)
vy1 <- c(0, dnorm(seq(ld, lu,0.01),0,1) ,0)
polygon(x, y, density = , angle = , col = )
polygon(vx1, vy1, col ='red')
polygon(vx1, vy1, density = 30, col ='red')
# 텍스트 삽입
text(x, y, label = , cex)
text(0,0.2, '99%', cex =3)
# 테두리
polygon(vx1, vy1, density = 30, col ='red',
border = 'black')
# [ 연습문제 ]
# 표준정규분포 시각 95% 임계값을 찾고
# 좌, 우 영역에 대한 빗금
plot(vx, vy, type = 'l')
ld <- qnorm(0.05/2)
lu <- qnorm(1-0.05/2)
abline(h=0)
#왼쪽 빗금
vx2 <- c(-3, seq(-3, ld, 0.01), ld)
vy2 <- c(0, dnorm(seq(-3, ld,0.01),0,1) , 0)
polygon(vx2, vy2, density = 30 )
#오른쪽 빗금
vx3 <- c(lu, seq(lu, 3, 0.01), 3)
vy3 <- c(0, dnorm(seq(lu, 3, 0.01),0,1) , 0)
polygon(vx3, vy3, density = 30 )
# 화살표
arrows(-2.5, 0.05, -2.3, 0.01, length = 0.1, col =2)
text(-2.5, 0.06, '0.025')