Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

codingfarm

R-정규 분포 함수 본문

통계학/R

R-정규 분포 함수

scarecrow1992 2020. 2. 21. 19:36

<참고자료>

https://hsm-edu.tistory.com/263?category=750249

 

난수함수(rnorm)

특정 평균값과 분산을 만족하는 임의의 변수값을 생성해 준다.

디폴트는 평균0과 표준편차1이다.

>a=rnorm(1000)
cs

 

 

배열의 크기가 충분히 커야 의도한 데이터분포를 확보 할 수 있으며

mean(a)와 var(a)로 평균, 표준편차를 확인하면 각각 0과 1에 가까운 값이 얻어짐을 확인 할 수 있다.

 

평균이 100, 표준편차가 5인 데이터 10개를 확보하기 위해선

>a=rnorm(10,mean=100,sd=5)
cs

 

 

 

확률밀도함수(dnorm)

확률 밀도 함수의 함수값을 구해준다.

확률밀도함수 이므로 값자체가 확률을 의미하진 않는다.

> dnorm(0)
[1] 0.3989423
> dnorm(1)
[1] 0.2419707
> dnorm(2)
[1] 0.05399097
> dnorm(-1)
[1] 0.2419707
> dnorm(-2)
[1] 0.05399097
cs

평균이 0, 표준편차가 1인 확률 밀도 함수에 대해선

0에서 최대값을 가지며, 0에 대해서 좌우대칭, 0에서 멀어질수록 값이 작아짐을 확인 할 수 있다.

 

평균값이 달라질 경우 그래프가 이동하므로 최대값을 가지는 지점 또한 변한다.

> dnorm(0)
[1] 0.3989423
> dnorm(5, mean=5)
[1] 0.3989423
cs

 

표준편차가 달라질 경우 그래프의 폭이 변하므로 최대값이 변화함을 확인 할 수 있다.

> dnorm(0)
[1] 0.3989423
> dnorm(0,sd=10)
[1] 0.03989423
> dnorm(0, sd = 0.1)
[1] 3.989423
> dnorm(0, sd = 5)
[1] 0.07978846
dnorm(0, sd = 0.5)
[1] 0.7978846
cs

 

누적분포함수(pnorm)

확률 밀도 함수의 너비를 구한다

pnorm(1)은 위에서 표시한 부분의 넓이이다.

> pnorm(Inf)
[1] 1
> pnorm(1)
[1] 0.8413447
cs

전체 구간의 넓이는 1이며, 1까지의 범위는 84%임을 알 수 있다.

 

> pnorm(0)
[1] 0.5
> m=5
> pnorm(m,mean=m)
[1] 0.5
cs

평균치 까지의 넓이는 0.5가 됨을 알 수 있다.

 

반대편에서의 누적분포를 알고싶으면 아래와 같은

 

> pnorm(1, lower.tail=FALSE)
[1] 0.1586553
cs

 

위 그림을 보면 평균치를 기준으로 표준편차 사이의 넓이는 68%가 됨을 알수있다.

그러므로 아래의 코드를 통해 68%의 너비가 나옴을 확인 할 수 있다.

 

> pnorm(1)-pnorm(-1)
[1] 0.6826895
> m = 5
> s = 0.5
> pnorm(m+s, mean=m,sd=s) - pnorm(m-s,mean=m,sd=s)
[1] 0.6826895
cs

 

 

분위수함수

확률을 입력변수 삼아, 해당 확률에 해당하는 변수를 찾아준다.

> pnorm(1)
[1] 0.8413447
> qnorm(0.8413447)
[1] 0.9999998
cs

 

누적분포함수와의 대응을 통해 값이 정확히 맞아 떨어짐을 확인할 수 있다.

 

Comments