1. Standard Normal Random Variable
If X X X is a normally distributed random variable with mean μ μ μ and standard deviation σ σ σ , then
P ( a < X < b ) = P ( a − μ σ < Z < b − μ σ ) P(a<X<b)=P(\frac{a−μ}{σ}<Z<\frac{b−μ}{σ}) P ( a < X < b ) = P ( σ a − μ < Z < σ b − μ )
where Z Z Z denotes a standard normal random variable . a a a can be any decimal number or − ∞ −∞ − ∞ ; b b b can be any decimal number or ∞ ∞ ∞ .
EXAMPLE 9. Let X X X be a normal random variable with mean μ = 10 μ = 10 μ = 10 and standard deviation σ = 2.5 σ = 2.5 σ = 2.5 . Compute the following probabilities.
P ( X < 14 ) . P(X < 14). P ( X < 14 ) .
P ( 8 < X < 14 ) . P(8<X<14). P ( 8 < X < 14 ) .
[ Solution ]
1. P ( X < 14 ) = P ( Z < 14 − μ σ ) = P ( Z < 14 − 10 2.5 ) = P ( Z < 1.60 ) = 0.9452 1. P(X<14)=P(Z<\frac{14−μ}{σ})=P(Z<\frac{14−10}{2.5})=P(Z<1.60)=0.9452 1. P ( X < 14 ) = P ( Z < σ 14 − μ ) = P ( Z < 2.5 14 − 10 ) = P ( Z < 1.60 ) = 0.9452
2. P ( 8 < X < 14 ) = P ( 8 − 10 2.5 < Z < 14 − 10 2.5 ) = P ( − 0.80 < Z < 1.60 ) = 0.9452 − 0.2119 = 0.7333 2. P(8<X<14)=P(\frac{8−10}{2.5}<Z<\frac{14−10}{2.5})=P(−0.80<Z<1.60)=0.9452−0.2119=0.7333 2. P ( 8 < X < 14 ) = P ( 2.5 8 − 10 < Z < 2.5 14 − 10 ) = P ( − 0.80 < Z < 1.60 ) = 0.9452 − 0.2119 = 0.7333
R Source 1. P(X<14) 1. Plot 2. P(8<X<14) 2. Plot
Copy library(Rstat)
# 1-1. Compute P(X<14)
mu <- 10; sd <- 2.5
a <- 0; b <- 14
pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
# 1-2. Plot
norm.trans(mu, sd, a=a, b=b)
# 2-1. Compute P(8<X<14)
a <- 8; b <- 14
pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
# 2-2. Plot
norm.trans(mu, sd, a=a, b=b)
Copy > # 1-1. Compute P(X<14)
> mu <- 10; sd <- 2.5
> a <- 0; b <- 14
> pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
## [1] 0.945169
Copy > # 1-2. Plot
> norm.trans(mu, sd, a=a, b=b)
## Pr(0 < X < 14) = 0.945169
## Pr(-4 < Z < 1.6) = 0.945169
Copy > # 2-1. Compute P(8<X<14)
> a <- 8; b <- 14
> pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
## [1] 0.7333453
Copy > # 2-2. Plot
> norm.trans(mu, sd, a=a, b=b)
## Pr(8 < X < 14) = 0.7333453
## Pr(-0.8 < Z < 1.6) = 0.7333453
EXAMPLE 10. The lifetimes of the tread of a certain automobile tire are normally distributed with mean 37,500 miles and standard deviation 4,500 miles. Find the probability that the tread life of a randomly selected tire will be between 30,000 and 40,000 miles.
[ Solution ]
P ( 30 < X < 40 ) = P ( 30 − μ σ < Z < 40 − μ σ ) P(30<X<40)=P(\frac{30−μ}{σ}<Z<\frac{40−μ}{σ}) P ( 30 < X < 40 ) = P ( σ 30 − μ < Z < σ 40 − μ )
= P ( 30 − 37.5 4.5 < Z < 40 − 37.5 4.5 ) =P(\frac{30−37.5}{4.5}<Z<\frac{40−37.5}{4.5}) = P ( 4.5 30 − 37.5 < Z < 4.5 40 − 37.5 )
= P ( − 1.67 < Z < 0.56 ) = 0.7123 − 0.0475 = 0.6648 =P(−1.67<Z<0.56)=0.7123−0.0475=0.6648 = P ( − 1.67 < Z < 0.56 ) = 0.7123 − 0.0475 = 0.6648
R Source P(30 < X < 40) Plot
Copy library(Rstat)
# 1-1. Compute P(30<X<40)
mu <- 37.5; sd <- 4.5
a <- 30; b <- 40
pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
# 1-2. Plot
norm.trans(mu, sd, a=a, b=b)
Copy > # 1-1. Compute P(30<X<40)
> mu <- 37.5; sd <- 4.5
> a <- 30; b <- 40
> pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
## [1] 0.6629523
Copy > # 1-2. Plot
> norm.trans(mu, sd, a=a, b=b)
## Pr(30 < X < 40) = 0.6629523
## Pr(-1.6667 < Z < 0.5556) = 0.6629523
EXAMPLE 11 . Scores on a standardized college entrance examination (CEE ) are normally distributed with mean 510 and standard deviation 60. A selective university considers for admission only applicants with CEE scores over 650. Find percentage of all individuals who took the CEE who meet the university's CEE requirement for consideration for admission.
[ Solution ]
P ( X > 650 ) = P ( Z > 650 − μ σ ) = P ( Z > 650 − 510 60 ) = P ( Z > 2.33 ) = 1 − 0.9901 = 0.0099 P(X>650)=P(Z>\frac{650−μ}{σ})=P(Z>\frac{650−510}{60})=P(Z>2.33)=1−0.9901=0.0099 P ( X > 650 ) = P ( Z > σ 650 − μ ) = P ( Z > 60 650 − 510 ) = P ( Z > 2.33 ) = 1 − 0.9901 = 0.0099
R Source P(X>650) Plot
Copy library(Rstat)
# 1-1. Compute P(X>650)
mu <- 510; sd <- 60
a <- 650; b <- 900
1- pnorm(a, mean=mu, sd=sd)
# 1-2. Plot
norm.trans(mu, sd, a=a, b=b)
Copy > # 1-1. Compute P(X>650)
> mu <- 510; sd <- 60
> a <- 650; b <- 900
> 1- pnorm(a, mean=mu, sd=sd)
## [1] 0.009815329
Copy > # 1-2. Plot
> norm.trans(mu, sd, a=a, b=b)
## Pr(650 < X < 900) = 0.009815329
## Pr(2.3333 < Z < 6.5) = 0.009815329
EXAMPLE 12. 표준정규분포의 누적확률 표와 그래프를 작성하시오.
[ Solution ]
R Source Table Plot
Copy library(Rstat)
# 1. Table
# 표준정규 누적확률 ( 0 ~ 2.49 ), 0.01 단위, 10개 열
pv <- matrix(pnorm(0:299/100), ncol=10, byrow=TRUE)
colnames(pv) <- 0:9/100; rownames(pv) <- 0:29/10
(round(pv, 4))
# 2. Plot cdf
# 누적확률 그래프에 표시할 점 지정
zp <- seq(-2, 2, by=0.5)
# 누적확률 그래프 작성 : snorm.cdf()
snorm.cdf(zp)
Copy > # 1. Table
> # 표준정규 누적확률 ( 0 ~ 2.49 ), 0.01 단위, 10개 열
> pv <- matrix(pnorm(0:299/100), ncol=10, byrow=TRUE)
> colnames(pv) <- 0:9/100; rownames(pv) <- 0:29/10
> (round(pv, 4))
## 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
## 0 0.5000 0.5040 0.5080 0.5120 0.5160 0.5199 0.5239 0.5279 0.5319 0.5359
## 0.1 0.5398 0.5438 0.5478 0.5517 0.5557 0.5596 0.5636 0.5675 0.5714 0.5753
## 0.2 0.5793 0.5832 0.5871 0.5910 0.5948 0.5987 0.6026 0.6064 0.6103 0.6141
## 0.3 0.6179 0.6217 0.6255 0.6293 0.6331 0.6368 0.6406 0.6443 0.6480 0.6517
## 0.4 0.6554 0.6591 0.6628 0.6664 0.6700 0.6736 0.6772 0.6808 0.6844 0.6879
## 0.5 0.6915 0.6950 0.6985 0.7019 0.7054 0.7088 0.7123 0.7157 0.7190 0.7224
## 0.6 0.7257 0.7291 0.7324 0.7357 0.7389 0.7422 0.7454 0.7486 0.7517 0.7549
## 0.7 0.7580 0.7611 0.7642 0.7673 0.7704 0.7734 0.7764 0.7794 0.7823 0.7852
## 0.8 0.7881 0.7910 0.7939 0.7967 0.7995 0.8023 0.8051 0.8078 0.8106 0.8133
## 0.9 0.8159 0.8186 0.8212 0.8238 0.8264 0.8289 0.8315 0.8340 0.8365 0.8389
## 1 0.8413 0.8438 0.8461 0.8485 0.8508 0.8531 0.8554 0.8577 0.8599 0.8621
## 1.1 0.8643 0.8665 0.8686 0.8708 0.8729 0.8749 0.8770 0.8790 0.8810 0.8830
## 1.2 0.8849 0.8869 0.8888 0.8907 0.8925 0.8944 0.8962 0.8980 0.8997 0.9015
## 1.3 0.9032 0.9049 0.9066 0.9082 0.9099 0.9115 0.9131 0.9147 0.9162 0.9177
## 1.4 0.9192 0.9207 0.9222 0.9236 0.9251 0.9265 0.9279 0.9292 0.9306 0.9319
## 1.5 0.9332 0.9345 0.9357 0.9370 0.9382 0.9394 0.9406 0.9418 0.9429 0.9441
## 1.6 0.9452 0.9463 0.9474 0.9484 0.9495 0.9505 0.9515 0.9525 0.9535 0.9545
## 1.7 0.9554 0.9564 0.9573 0.9582 0.9591 0.9599 0.9608 0.9616 0.9625 0.9633
## 1.8 0.9641 0.9649 0.9656 0.9664 0.9671 0.9678 0.9686 0.9693 0.9699 0.9706
## 1.9 0.9713 0.9719 0.9726 0.9732 0.9738 0.9744 0.9750 0.9756 0.9761 0.9767
## 2 0.9772 0.9778 0.9783 0.9788 0.9793 0.9798 0.9803 0.9808 0.9812 0.9817
## 2.1 0.9821 0.9826 0.9830 0.9834 0.9838 0.9842 0.9846 0.9850 0.9854 0.9857
## 2.2 0.9861 0.9864 0.9868 0.9871 0.9875 0.9878 0.9881 0.9884 0.9887 0.9890
## 2.3 0.9893 0.9896 0.9898 0.9901 0.9904 0.9906 0.9909 0.9911 0.9913 0.9916
## 2.4 0.9918 0.9920 0.9922 0.9925 0.9927 0.9929 0.9931 0.9932 0.9934 0.9936
## 2.5 0.9938 0.9940 0.9941 0.9943 0.9945 0.9946 0.9948 0.9949 0.9951 0.9952
## 2.6 0.9953 0.9955 0.9956 0.9957 0.9959 0.9960 0.9961 0.9962 0.9963 0.9964
## 2.7 0.9965 0.9966 0.9967 0.9968 0.9969 0.9970 0.9971 0.9972 0.9973 0.9974
## 2.8 0.9974 0.9975 0.9976 0.9977 0.9977 0.9978 0.9979 0.9979 0.9980 0.9981
## 2.9 0.9981 0.9982 0.9982 0.9983 0.9984 0.9984 0.9985 0.9985 0.9986 0.9986
Copy > # 2. Plot cdf
> # 누적확률 그래프에 표시할 점 지정
> zp <- seq(-2, 2, by=0.5)
>
> # 누적확률 그래프 작성 : snorm.cdf()
> snorm.cdf(zp)
EXAMPLE 13. 표준정규분포에서 0 을 중심으로 ± k \pm k ± k 사이에 들어갈 확률을 나타내는 그래프를 작성하시오.
[ Solution ]
R Source Plot
Copy library(Rstat)
# 1. Plot cdf
# 누적확률 그래프에 표시할 점 지정
zp <- 1:4
snorm.cdf(zp)
Copy > # 누적확률 그래프 작성 : snorm.cdf()
> snorm.cdf(zp)
> zp <- 1:4
> snorm.cdf(zp)
EXAMPLE 14. 누적확률 0.5%, 1.0%, 2.5%, 5.0%, 10% ~ 90%, 95%, 97.5%, 99%, 99.5%에 대한 표준정규분포의 분위수 표를 작성하시오.
[ Solution ]
R Source Table & Plot
Copy library(Rstat)
# 분위수 계산/표시 누적확률
pv <- c(0.005, 0.01, 0.025, 0.05, 1:9/10, 0.95, 0.975, 0.99, 0.995)
# 표준정규 분위수 작성 : snorm.quant()
snorm.quant(pv, pv)
Copy > # 분위수 계산/표시 누적확률
> pv <- c(0.005, 0.01, 0.025, 0.05, 1:9/10, 0.95, 0.975, 0.99, 0.995)
>
> # 표준정규 분위수 작성 : snorm.quant()
> snorm.quant(pv, pv)
## 0.005 0.01 0.025 0.05 0.1 0.2 0.3 0.4 0.5
## -2.5758 -2.3263 -1.9600 -1.6449 -1.2816 -0.8416 -0.5244 -0.2533 0.0000
## 0.6 0.7 0.8 0.9 0.95 0.975 0.99 0.995
## 0.2533 0.5244 0.8416 1.2816 1.6449 1.9600 2.3263 2.5758
EXAMPLE 15. 20대 남성의 신장이 평균 175, 분산 64인 정규분포를 따른다고 할 때, 20대 남성 중 180과 185 사이의 신장을 갖는 비율을 구하시오.
[ Solution ]
X ∼ N ( 175 , 8 2 ) X \sim N(175, 8^2 ) X ∼ N ( 175 , 8 2 ) ,
P ( 180 < X < 185 ) = p ( 180 − 175 8 < X − 175 8 < 185 − 175 8 ) P(180<X<185) = p( \frac{180-175}{8} < \frac{X-175}{8} < \frac{185-175}{8} ) P ( 180 < X < 185 ) = p ( 8 180 − 175 < 8 X − 175 < 8 185 − 175 ) = P ( 0.625 < Z < 1.25 ) = P ( Z < 1.25 ) − P ( Z < 0.625 ) = 0.8944 − 0.7340 = 0.1604 = P(0.625 < Z < 1.25) = P(Z<1.25) - P(Z<0.625) = 0.8944-0.7340 = 0.1604 = P ( 0.625 < Z < 1.25 ) = P ( Z < 1.25 ) − P ( Z < 0.625 ) = 0.8944 − 0.7340 = 0.1604
R Source P(180<X<185) Plot
Copy library(Rstat)
# 1-1. Compute P(180<X<185)
mu <- 175; sd <- 8
a <- 180; b <- 185
pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
# 1-2. Plot
norm.trans(mu, sd, a=a, b=b)
Copy > # 1-1. Compute P(180<X<185)
> mu <- 175; sd <- 8
> a <- 180; b <- 185
> pnorm(b, mean=mu, sd=sd) - pnorm(a, mean=mu, sd=sd)
## [1] 0.1603358
Copy > # 1-2. Plot
> norm.trans(mu, sd, a=a, b=b)
## Pr(180 < X < 185) = 0.1603358
## Pr(0.625 < Z < 1.25) = 0.1603358
EXAMPLE 16. A사 Q모델의 엔진 수명은 평균 10년, 표준편차가 1.5년인 정규분포를 따른다고 알려져 있다. Q 모델 엔진의 무상보증비율을 5% 이내로 유지해야 한다면, 무상보증기간은 최대 몇 년까지 가능하겠는가?
[ Solution ]
X ∼ N ( 10 , 1. 5 2 ) X \sim N(10, 1.5^2 ) X ∼ N ( 10 , 1. 5 2 ) , 무상보증기간을 m m m 이라 하면, P ( X < m ) ≤ 0.05 ) P(X<m) \le 0.05) P ( X < m ) ≤ 0.05 ) 를 만족해야 하므로,
P ( X < m ) = P ( Z < m − 10 1.5 ) = 0.05 P(X<m) = P( Z < \frac{m-10}{1.5}) =0.05 P ( X < m ) = P ( Z < 1.5 m − 10 ) = 0.05 ==> m − 10 1.5 ≤ − 1.645 , ∴ m ≤ 7.5325 \frac{m-10}{1.5} \le -1.645, \therefore m \le 7.5325 1.5 m − 10 ≤ − 1.645 , ∴ m ≤ 7.5325
따라서 무상보증기간은 최대 약 7.53년이 된다.
R Source m
Copy qnorm(0.05, mean=10, sd=1.5)
Copy > qnorm(0.05, mean=10, sd=1.5)
## [1] 7.53272
2. Probability Computation using R
P ( − 1 < X < 1 ) P(-1 < X <1) P ( − 1 < X < 1 )
R Source 1. P(X<1) 2. P(-1<X<1) 3. P(X>2)
Copy # 1. P(X<1)
pnorm(q=c(1), mean=0, sd=1) # p(x<1)
# 2. P(x<1) - p(x<-1)
b <- pnorm(q=c(1), mean=0, sd=1) # p(x<1)
a <- pnorm(q=c(-1), mean=0, sd=1) # p(x<-1)
(b-a)
# 3. (1 - p(X<2))
1 - pnorm(q=c(2), mean=0, sd=1) # 1- p(x<2)
# OR
pnorm(q=c(2), mean=0, sd=1, lower.tail=FALSE) # p(x>2)
Copy > # 1. P(X<1)
> pnorm(q=c(1), mean=0, sd=1) # p(x<1)
## [1] 0.8413447
Copy > # 2. P(x<1) - p(x<-1)
> b <- pnorm(q=c(1), mean=0, sd=1) # p(x<1)
> a <- pnorm(q=c(-1), mean=0, sd=1) # p(x<-1)
> (b-a)
## [1] 0.6826895
Copy > # 3. (1 - p(X<2))
> 1 - pnorm(q=c(2), mean=0, sd=1) # 1- p(x<2)
## [1] 0.02275013
> # OR
> pnorm(q=c(2), mean=0, sd=1, lower.tail=FALSE) # p(x>2)
## [1] 0.02275013
3. Using pnormGC()
3-1. Install packages
Copy install.packages("tigerstats")
library(tigerstats)
3-2. Finding
P ( X < x ) P(X<x) P ( X < x ) & Plotting
pnormGC(bound= , region="below", mean= , sd= , graph=TRUE)
mean μ = 70 μ=70 μ = 70 and standard deviation σ = 3 σ=3 σ = 3 : X n o r m ( 70 , 3 ) X ~ norm(70, 3) X n or m ( 70 , 3 ) , P ( X < 66 ) P(X<66) P ( X < 66 ) ?.
R Source Result Plot
Copy # P(X < 66)
pnormGC(bound=66, region="below", mean=70, sd=3) # without graph
pnormGC(bound=66, region="below", mean=70, sd=3, graph=TRUE) # with graph
Copy > pnormGC(bound=66, region="below", mean=70, sd=3)
## [1] 0.09121122
3-3. Finding
P ( X > x ) P(X>x) P ( X > x ) & Plotting
pnormGC(bound= , region="above", mean= , sd= , graph=TRUE)
mean μ = 70 μ=70 μ = 70 and standard deviation σ = 3 σ=3 σ = 3 : X n o r m ( 70 , 3 ) X ~ norm(70, 3) X n or m ( 70 , 3 ) , P ( X > 69 ) P(X > 69) P ( X > 69 ) ?.
R Source Result Plot
Copy # P(X > 69)
pnormGC(bound=66, region="above", mean=70, sd=3) # without graph
pnormGC(bound=66, region="above", mean=70, sd=3, graph=TRUE) # with graph
Copy > pnormGC(bound=66, region="above", mean=70, sd=3, graph=TRUE) # with graph
## [1] 0.9087888
3-4. Finding
P ( a < X < b ) P(a<X<b) P ( a < X < b ) & Plotting
pnormGC(bound=c(a,b), region="between", mean= , sd= , graph=TRUE)
mean μ = 70 μ=70 μ = 70 and standard deviation σ = 3 σ=3 σ = 3 : X n o r m ( 70 , 3 ) X ~ norm(70, 3) X n or m ( 70 , 3 ) , P ( 68 < X < 72 ) P(68<X < 72) P ( 68 < X < 72 ) ?.
R Source Result Plot
Copy # P(68 < X < 72)
pnormGC(bound=c(68,72), region="between", mean=70, sd=3) # without graph
pnormGC(bound=c(68,72), region="between", mean=70, sd=3, graph=TRUE) # with graph
Copy > pnormGC(bound=c(68,72), region="between", mean=70, sd=3, graph=TRUE) # with graph
## [1] 0.4950149
3-5. Finding "Outside" Probabilities
P ( a < X o r X > b ) P(a<X or X>b) P ( a < X or X > b ) & Plotting
pnormGC(bound=c(a,b), region="outside", mean= , sd= , graph=TRUE)
mean μ = 70 μ=70 μ = 70 and standard deviation σ = 3 σ=3 σ = 3 : X n o r m ( 70 , 3 ) X ~ norm(70, 3) X n or m ( 70 , 3 ) , P ( 66 < X o r X > 73 ) P(66<X or X>73) P ( 66 < X or X > 73 ) ?.
R Source Result Plot
Copy # P(66<X or X>73)
pnormGC(bound=c(66,73), region="outside", mean=70, sd=3) # without graph
pnormGC(bound=c(66,73), region="outside", mean=70, sd=3, graph=TRUE) # with graph
Copy > pnormGC(bound=c(66,73), region="outside", mean=70, sd=3, graph=TRUE) # with graph
## [1] 0.2498665