1.4. Chap3
1.4. Chap3
Contents
ÚOO¥Ä:¯KÒ´lA½Vǩ٥)ÅCþ(Åê).
3OÅþ^êÆ{)(þ!) Åê´Uì½O{ )
ê, §äkaqu(þ!) ÅCþÕáÄS5, ù êQ,
´ì(½{), BØU´ýÅê, Ïd~r^êÆ{)
Åê¡Åê.
3{ü/, lkoN¥)Å*ÿ, ÒI«llÑ
þ! oN¥)Å*ÿ{. l , Ü·þ!()Åê)ì´
lþ¤I, lÙ¦Vǩ٥)ÅêÑ6uþ!Åê)ì.
• ÅêØUýÅ; ´, ÅêU ÏLÅêXÚ
– )S±Ïv .
5Ó{u)ì:
Xn+1 = (aXn + c) (mod) m
•¦^Ûê«f.
• êÚ+nØkÏuaÀJ.
• F")¤ì±Ïé.
• Ø)õm/1000ê.
3 R ¥þ!Åê)ì´runif. )þ!Åêª
) þÝ þ
↑Example
) þÝ þ
runif{n} # 0 1 n
)01þnxmÝ
runif{n,a,b} # a b n
matrix(runif(n*m),nrow=n,ncol=m) #
↓Example
~^VÇ©ÙVÇþ¼ê(pmf)½öVÇݼê(pdf), \
ȩټê(cdf), © ê¼ê(quantile function)±9Åê )ì¼ê
3R¥®²8¤, 'Xé©Ù, ±ëwÏ©
↑Code
Previous Next First Last Back Forward 4
dbinom(x, size, prob, log = FALSE)
pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE)
qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE)
rbinom(n, size, prob)
↓Code
R ¥~©Ù¼ê
χ ©Ù
pbinom rbinom size, prob
2
ê©Ù
pchisq rchisq df
F©Ù
pexp rexp rate
pf rf df1,df2
AÛ©Ù
gamma pgamma rgamma shape,rate or scale
éê©Ù
pgeom rgeom prob
K©Ù
plnorm rlnorm meanlog,sdlog
©Ù
pnbinom rnbinom size, prob
Poisson©Ù
pnorm rnorm mean,sd
t©Ù
ppois rpois lambda
þ!©Ù
pt rt df
punif runif min,max
↑Example
M1
#
i1
sample(0:1,size=10,replace=TRUE)
# a-z
õ©ÙÄ
sample(letters)
#
x<-sample(1:3,size=100,replace=TRUE,prob=c(0.2,0.3,0.5))
#> table(x)
#x
# 1 2 3
#12 30 58
↓Example
o ëY.|Ü
)¤Åê_C{´Äu±eÙ½n
Theorem 1 (Probability Integral Transformation). eX ëY.ÅC
þ, Ùcdf F , K U = F
X X (X) ∼ U (0, 1).
Proof. ½Â
−1
FX (u) = inf{x : FX (x) = u}, 0 < u < 1.
ÏdF −1
X (U )ÚÅCþX Ó©Ù.
Previous Next First Last Back Forward 8
l , e)X Å*ÿx, ±
1. Ñ_C¼ê F (u). −1
X
ù«{¦F _¼êN´¦Ñ.
~: ¦^_C{)ëY.Ýf (x) = 3x I(0 < x < 1)Å*ÿ 2
.
d?F X (x) = x3 , (0 < x < 1), Ïd F −1
X (u) = u1/3 , Ïd
↑Code
n<-1000
u<-runif(n)
x<-u^(1/3)
hist(x,prob=TRUE,main=expression(f(x)==3*x^2))
y<-seq(0,1,0.01)
±ã¥êÆÎÒL«õSNëwÏ© ?plotmath.
~: ¦^_C{)ê©ÙÅê.
X ∼ Exp(λ), Ïdéx > 0, F (x) = 1 − e
X , l F (u) = −λx −1
X
3R¥±¦^rexp5).
½Â
−1
FX (u) = inf{x : FX (x) ≥ u}
K_CF −1
X (u) = xi , Ù¥F X (xi−1 ) < u ≤ FX (xi ). l )Å
êxª
|ÜA^_C{)ÅêØÓª±ëDevroye1nÙ.
~: ¦^_C{)0-1©ÙÅê.
dF (0) = f (0) = 1 − p±9F (1) = 1. Ïdeu > 1 − p,
X X X
KF (u) = 1; eu ≤ 1 − p, K F (u) = 0. Ïd
−1
X
−1
X
↑Code
n<-1000
p<-0.4
u<-runif(n)
nØ
x<-as.integer(u>1-p)
nØ
mean(x) # p
var(x) # p(1-p)
↓Code
3R¥,·¦^rbinom(n,1,p)5)0-1©ÙnÅ*ÿþ.
~: ¦^_C{)AÛ©ÙÅê.
duA۩٩ټêF (x) = 1 − q , x = 1, 2, · · · . ÏdzÅ
X
x
↑Code
n<-1000
p<-0.4
u<-runif(n)
x<-ceiling(log(1-u)/log(1-p))
↓Code
↑Code
rlogarithmic<-function(n,theta){
#return a random logarithmic(theta) sample size n
u<-runif(n)
#set the initial length of cdf vector
N<-ceiling(-16/log10(theta))
l ) logarithmic(0.5) ©ÙÅê
Previous Next First Last Back Forward 16
↑Example
n<-1000
theta<-0.5
Oéê©Ù©ÙÆ5é'
x<-rlogarithmic(n,theta)
#
k<-sort(unique(x))
IO
p<--1/log(1-theta)*theta^k/k
se<-sqrt(p*(1-p)/n) #
↓Example
e¡(JL²ªÇ©ÙÎÜnØ©Ù:
↑Result
> round(rbind(table(x)/n,p,se),3)
1 2 3 4 5 6 7 8 9
0.720 0.185 0.058 0.018 0.012 0.003 0.002 0.001 0.001
p 0.721 0.180 0.060 0.023 0.009 0.004 0.002 0.001 0.000
se 0.014 0.012 0.008 0.005 0.003 0.002 0.001 0.001 0.001
↓Result
é±B)¤ÅêÅCþY , ÙVǼ
êg÷vf (t)/g(t) ≤ c, ∀ t s.t. f (t) > 0.
1.
2. lg ¥)Åêy.
À{A::
Previous Next First Last Back Forward 19
• `:´OmØXxO\;
• ":´Ï¦N´)Åê %Cf éЩÙg '(J, Ïd
ØÐg¬ÉVÇé$,E¤ $1mL.
~: ¦^À{lXe©Ù)Åê.
f (x) = 6x(1 − x), 0<x<1
ld©Ù¥)nÅêIÌoê6uÉVÇ1/c.
g(x)U (0, 1)Ý, Kc = 6, l lg¥)ÅêxÉ, Ø
f (x)
= x(1 − x) > u
cg(x)
Ïd,²þ5wIcngÌ, =2cnÅêI).
↑Code
n<-1000
j<-k<-0
l ¥)Åê
j<-j+1
x<-runif(1) # g
if(x*(1-x)>u) {
k<-k+1
y[k]<-x
}
}
#>j
#[1] 6153
↓Code
p<-seq(.1,.9,.1)
Qhat<-quantile(y,p)
ÝC0IþE5O© ê.
1.2.3 Transformation Methods
2. eU ∼ χ (m) ±9 V ∼ χ (n), KF =
2 2 U/m
∼ F (m, n).
V /n
~: ¦^C{l)éê©ÙÅê.
5¿eU, V ∼ U (0, 1) pÕá, K
logV
X = 1+
log(1 − (1 − θ)U )
Ñlëêθéê©Ù. l
1. lU (0, 1)¥)u
2. lU (0, 1)¥)v
3. x = b1 + log(v)/log(1 − (1 − θ) u )c
Oéê©ÙVÇ
x<-floor(1+log(v)/log(1-(1-theta)^u))
k<-1:max(x)#
p<--1/log(1-theta)*theta^k/k
se<-sqrt(p*(1-p)/n)
p.hat<-tabulate(x)/n
round(rbind(p.hat,p,se),3)
↓Code
'u_C{, C{kÇ(o?)
↑Code
rlogarithmic<-function(n,theta){
stopifnot(all(theta>0 & theta <1))
th<-rep(theta,length=n)
u<-runif(n)
ÅCþÚ½ö·Ü´«AÏa.C.
ÚòÈ'©Ùk
• χ (ν): ν iid IO©Ù²òÈ.
2
~: ¦^ÅCþÚ)χ ©ÙÅê. 2
↑Code
n<-1000
nu<-2
{
X<-matrix(rnorm(n*nu),n,nu)^2
# 1
{
y<-rowSum(X)
# 2
y<-apply(X,MARGIN=1,FUN=sum)
↓Code
éÅCþ·Ü, ·kw½Â:
Definition
X
FX (x) = θi FXi (x).
θi > 0
P
.
θi = 1
éëY.ÅCþ, aqk
Ù¥R f Y (y)dy = 1.
= p Pr(X1 ≤ x) + (1 − p) Pr(X2 ≤ x)
= Pr{B ∗ X1 + (1 − B) ∗ X2 ≤ x},
ùp B ∼ Binomial(p).
)dÅê{w,
1. )êk ∈ {1, 2}, ùpP (1) = p, P (2) = 1 − p.
↑Code
n<-1000
k<-sample(1:5,size=n,replace=TRUE,prob=(1:5)/15)
rate<-1/k
x·Üݱ9©þÝ
x<-rgamma(n,shape=3,rate=rate)
#
plot(density(x),xlim=c(0,40),ylim=c(0,.3),lwd=3,xlab="x",main="")
for(i in 1:5)
lines(density(rgamma(n,3,1/i)))
↓Code
↑Code
f<-function(x,lambda,theta){
sum(dgamma(x,3,lambda)*theta)
}
↓Code
↑Code
¦^ ¼êI
x<-seq(0,8,length=200)
dim(x)<-length(x) # apply
p<-c(.1,.2,.2,.3,.2)
O·ÜÝ3 ?
lambda<-c(1,1.5,2,2.5,3)
# x
y<-apply(x,1,f,lambda=lambda,theta=p)
↑Code
#Poisson-Gamma Mixture
n<-1000
r<-4
´Å
beta<-3
lambda<-rgamma(n,r,beta) #lambda
x<-rpois(n,lambda)
#compare with negative binomial
mix<-tabulate(x+1)/n
negbin<-round(dnbinom(0:max(x),r,beta/(1+beta)),3)
se<-sqrt(negbin*(1-negbin)/n)
round(rbind(mix,negbin,se),3)
↓Code
k/ª
1
f (x) = (2π)−d/2 |Σ|−1/2 exp{− (x − µ)0 Σ−1 (x − µ)}, x ∈ Rd .
2
1. )i.i.d.IO©ÙÅCþZ , · · · , Z . 1 d
2. òZ = (Z , · · · , Z )CX = (X , · · · , X )¦ÙÏ"µ,
1 d 1 d
Σ:
X = CZ + µ,
öÛÉ©)(svd).
Previous Next First Last Back Forward 33
جéÅþ?1g5C, ²~´é¤
k|¤Ý ?1C. bZ = (Z )´ n × dÝ , Ù ij
?1C´
X = ZQ + JµT ,
o(Xe
1. )kIO©ÙÅê¤n × dÝ Z.
2. O©)Σ = Q Q. T
3. A^C X = ZQ + Jµ . T
Ù¥X = ZQ + Jµ 3R¥±Xe¢y
T
↑Code
Σ1/2 = P Λ1/2 P T
¤±
↑Code
mu <- c(0, 0)
Sigma <- matrix(c(1, .9, .9, 1), nrow = 2, ncol = 2)
rmvn.eigen <-
function(n, mu, Sigma) {
# generate n random vectors from MVN(mu, Sigma)
# dimension is inferred from mu and Sigma
d <- length(mu)
ev <- eigen(Sigma, symmetric = TRUE)
lambda <- ev$values
↑Code
rmvn.svd <-
function(n, mu, Sigma) {
# generate n random vectors from MVN(mu, Sigma)
# dimension is inferred from mu and Sigma
↑Code
rmvn.Choleski <-
function(n, mu, Sigma) {
# generate n random vectors from MVN(mu, Sigma)
# dimension is inferred from mu and Sigma
d <- length(mu)
Q <- chol(Sigma) # Choleski factorization of Sigma
Z <- matrix(rnorm(n*d), nrow=n, ncol=d)
X <- Z %*% Q + matrix(mu, n, d, byrow=TRUE)
X
}
'«)¤ì5U
·®²?Ø )ÅêØÓ{, @o=«{ÐQ? «Ä
±mE,5, O¡Ä±´â[8´O½õë
ê, ½ö´Oþ , ?1 µ(3± §¥ò9).
ùp·¦^system.time5µ)¤ìmE,5.
↑Code
library(MASS)
library(mvtnorm)
n <- 100 #sample size
d <- 30 #dimension
N <- 2000 #iterations
mu <- numeric(d)
set.seed(100)
system.time(for (i in 1:N)
detach(package:MASS)
detach(package:mvtnorm)
↓Code
õ·Ü
pNd (µ1 , Σ1 ) + (1 − p)Nd (µ2 , Σ2 )
)d·Ü©ÙnÅþ:
↑Code
library(MASS) #for mvrnorm
loc.mix <- function(n, p, mu1, mu2, Sigma) {
#generate sample from BVN location mixture
n1 <- rbinom(1, size = n, prob = p)
^d§S)10004©ÙÅþ:
↑Example
w,, lWishart©Ù¥)Åê±ÏLXeª:
1. lN (0, Σ)¥)¤X
d
2. -W = X X. T
ù«{´«$Ç{. ù´du7L)ndÅê5û½d(d +
1)/2. «Çp{´ÄuBartlett©): -T = (T ) ij
d × denÝ , Ù÷v
1. Tij i.i.d ∼ N (0, 1), i > j.
p
2. Tii ∼ χ2 (n − i + 1), i = 1, · · · , d.
ÓU. )dÅê±ÄuXe5:
eX , · · · , X i.i.d N (0, 1), K(U , · · · , U )ÑlR ¥ü ¥¡þþ!
1 d 1 d
d
©Ù, Ù¥
Xj
Uj = , j = 1, · · · , d. (1.1)
kxk
{Xe: ézu , E i
1. lN (0, 1)¥)Åêx , · · · , x i1 id
2. Oîªkxk = (x + · · · + x ) 2
i1
2 1/2 .
id
3. -u = x /kxk, u = (u , · · · , u
ij ij i i1 id ).
¢yèXe
↑Code
runif.sphere <- function(n, d) {
# return a random sample uniformly distributed
# on the unit sphere in R ^d
M <- matrix(rnorm(n*d), nrow = n, ncol = d)
L <- apply(M, MARGIN = 1,
FUN = function(x){sqrt(sum(x*x))})
D <- diag(1 / L)
U <- D %*% M
xÑ2002 ±þþ!©ÙÅêÑ:ã:
↑Example
X <- runif.sphere(200, 2)
par(pty = "s")
plot(X, xlab = bquote(x[1]), ylab = bquote(x[2]))
par(pty = "m")
↓Example
àgPoissonL§
ÏL[5ïÄOêL§, ·±) L§km´».
OêL§{N (t), t ≥ 0}Ç´λàgPoissonL§, X
J
1. N (t)kÕáOþ5
(λt)n −λt
2. P (N (s + t) − N (s) = n) = n!
e .
[àgPoissonL§3[0, t ]«mþG{Xe 0
1. S = 0
1
2. é÷vS ≤ t j = 1, 2, . . .,
j 0
(b) -S = T + · · · + T .
j 1 j
¦^, «ªÒ´
↑Code
lambda <- 2
t0 <- 3
upper <- 100
pp <- numeric(10000)
for (i in 1:10000) {
N <- rpois(1, lambda * upper)
Un <- runif(N, 0, upper) #unordered arrival times
Sn <- sort(Un) #arrival times
n <- min(which(Sn > t0)) #arrivals+1 in [0, t0]
pp[i] <- n - 1 #arrivals in [0, t0]
} ↓Code
àg Poisson L§
OêL§{N (t), t ≥ 0}rÝ´λ(t)PoissonL§, XJ
1. N (t)kÕáOþ5
, Ù
(m̃(s,t))n −m̃(s,t)
2. P (N (s + t) − N (s) = n) = e
¥m̃(s, t) = R λ(y)dy.
n!
s+t
s
ÏL làgPoissonL§Ä). ù´ÏlrÝλàgPoissonL
§¥ Ä, ¦3tu)¯±λ(t)/λÉ(Oê), Oê
L§ÒÑlrÝλ(t)àg PoissonL§. )[0, t ]àgPoissonL 0 [ o?]
§±ÏLd{¢y. kéλ < ∞, ¦λ(t) ≤ λ , ∀0 ≤ t ≤ t .
0 0 0
1. S = 0 1
2. é÷vS ≤ t j = 1, 2, . . .,
j 0
3. £m {S : I = 1}. j j
↑Example
lambda <- 3
upper <- 100
L§3t?G=
sum(Sn[keep]<=t)
#L§
OêL§{N (t), t ≥ 0}#L§, XJ mm
T , T , . . .´i.i.d.
1 2
↑Example
t0 <- 5
Tn <- rgeom(100, prob = .2) #interarrival times
Sn <- cumsum(Tn) #arrival times
n <- min(which(Sn > t0)) #arrivals+1 in [0, t0]
↓Example
N (t0 ) ©Ù±ÏLEXþL§5O
↑Example
þ¼êEN (t)±ÏLXeO
↑Example
é¡ÅiÄ
X , X , · · · ´i.i.dÅCþ
P , ÷vPr(X
Pr(X = −1) = 1/2, -S = X , ±9S K
1 2 i = 1) =
n
L§{S , n ≥ 0}¡é¡ÅiÄ.
i n i=1 i 0 = 0,
n
)é¡ÅiÄL§é{ü
n <- 400
incr <- sample(c(-1, 1), size = n, replace = TRUE)
S <- as.integer(c(0, cumsum(incr)))
±ÏLXeª5 pÇ):
bS = 0L§Ð©G, eL§3mnc£0, K3
0
T ©Ù
n−1 1 Γ(2n − 1)
p2n = P (T = 2n) = C2n−2 = , n ≥ 1.
n22n−1 n22n−1 Γ2 (n)
P (T = 2n + 1) = 0, n ≥ 0.
K{Xe:
Previous Next First Last Back Forward 55
-W 1jg£Ð© Im,
j
1. W = 0 1
2. é÷vW ≤ n j = 1, 2, . . .,
j
(b) -W = T + · · · + T .
j 1 j
3. -t = W − T
0 j j
4. s = 0. 1
5. )lt + 1nOþ. éi = 1, 2, . . . , n − t
0 0
(b) s = x + · · · + x .i 1 i
(c) es = 0, Oêìi = 1.
i
6. £s . i
ÏdO
↑Example
½ö¦^©Ù±9_C{O
↑Example