5-3. Probability Computations for General Normal Random Variables
概率计算
1. Standard Normal Random Variable
If is a normally distributed random variable with mean and standard deviation , then
where denotes a standard normal random variable. can be any decimal number or ; can be any decimal number or .

EXAMPLE 9. Let be a normal random variable with mean and standard deviation . Compute the following probabilities.
[ Solution ]


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)> # 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> # 1-2. Plot
> norm.trans(mu, sd, a=a, b=b)
## Pr(0 < X < 14) = 0.945169
## Pr(-4 < Z < 1.6) = 0.945169 
> # 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> # 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 ]

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)> # 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> # 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 ]

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)> # 1-1. Compute P(X>650)
> mu <- 510; sd <- 60
> a <- 650; b <- 900
> 1- pnorm(a, mean=mu, sd=sd)
## [1] 0.009815329> # 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 ]
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)> # 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
> # 2. Plot cdf
> # 누적확률 그래프에 표시할 점 지정
> zp <- seq(-2, 2, by=0.5)
>
> # 누적확률 그래프 작성 : snorm.cdf()
> snorm.cdf(zp)
EXAMPLE 13. 표준정규분포에서 0 을 중심으로 사이에 들어갈 확률을 나타내는 그래프를 작성하시오.
[ Solution ]
library(Rstat)
# 1. Plot cdf
# 누적확률 그래프에 표시할 점 지정
zp <- 1:4
snorm.cdf(zp)> # 누적확률 그래프 작성 : 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 ]
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)> # 분위수 계산/표시 누적확률
> 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 ]
,
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)> # 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> # 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 ]
, 무상보증기간을 이라 하면, 를 만족해야 하므로,
==>
따라서 무상보증기간은 최대 약 7.53년이 된다.
qnorm(0.05, mean=10, sd=1.5)> qnorm(0.05, mean=10, sd=1.5)
## [1] 7.532722. Probability Computation using R
# 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)> # 1. P(X<1)
> pnorm(q=c(1), mean=0, sd=1) # p(x<1)
## [1] 0.8413447> # 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> # 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.022750133. Using pnormGC()
3-1. Install packages
install.packages("tigerstats")
library(tigerstats)3-2. Finding & Plotting
pnormGC(bound= , region="below", mean= , sd= , graph=TRUE)
mean and standard deviation : , ?.
# 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> pnormGC(bound=66, region="below", mean=70, sd=3)
## [1] 0.09121122
3-3. Finding & Plotting
pnormGC(bound= , region="above", mean= , sd= , graph=TRUE)
mean and standard deviation : , ?.
# 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> pnormGC(bound=66, region="above", mean=70, sd=3, graph=TRUE) # with graph
## [1] 0.9087888
3-4. Finding & Plotting
pnormGC(bound=c(a,b), region="between", mean= , sd= , graph=TRUE)
mean and standard deviation : , ?.
# 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> pnormGC(bound=c(68,72), region="between", mean=70, sd=3, graph=TRUE) # with graph
## [1] 0.4950149
3-5. Finding "Outside" Probabilities & Plotting
pnormGC(bound=c(a,b), region="outside", mean= , sd= , graph=TRUE)
mean and standard deviation : , ?.
# 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> pnormGC(bound=c(66,73), region="outside", mean=70, sd=3, graph=TRUE) # with graph
## [1] 0.2498665
Last updated
Was this helpful?