Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Chapter 6: ÚOíä¥Monte Carlo {

Contents

6 Monte Carlo Methods in Inference 1


6.1 Monte Carlo Methods for Estimation . . . . . . . . . . . . . 1
6.1.1 Monte Carlo Estimation and Standard Error . . . . 2
6.1.2 Estimation of MSE . . . . . . . . . . . . . . . . . . . 5
6.2 Estimating a confidence level . . . . . . . . . . . . . . . . . 10
6.3 Monte Carlo Methods for Hypothesis Tests . . . . . . . . . 16
6.4 Empirical Type I error rate . . . . . . . . . . . . . . . . . . 17
6.4.1 Power of a Test . . . . . . . . . . . . . . . . . . . . . 24
6.4.2 Power Comparisons . . . . . . . . . . . . . . . . . . 30
6.5 Application: “Count Five” Test for Equal Variance . . . . . 34

Previous Next First Last Back Forward 1


Chapter 6
Monte Carlo Methods in Inference

{Œ±ÚOíä½öꊩۥ?Û¦^‘Åê[
Monte Carlo
{. Ù ·‚?ؘ ÚOíä¥Monte Carlo{. Monte Carlo{Œ
±^uOÚOþ©Ù ¥ëê, þØ , © ê, Œ±^uO˜&
«mCXý¢ëêVÇ(˜&Y²), bu¥u˜.†ØÇ, õ
.
6.1 Monte Carlo Methods for Estimation

bX , · · · , X loNX ¥Ä‘Å, ëêθOþP


1 n

θ̂ = θ̂(X1 , · · · , Xn )

Previous Next First Last Back Forward 1


Px = (x , · · · , x ) ∈ R , ±9 x , x , · · · loNX ¥Ä˜Õ
1 n
T n (1) (2)

á‘Å*ÿŠ. K k'uθ̂5Ÿ, Œ±ÏLOŠSθ̂(x , · · · , x ), j = (j)


1
(j)
n

1, 2, · · · 5ïÄ.

6.1.1 Monte Carlo Estimation and Standard Error

~ 1: bX , X i.i.d ∼ N (0, 1), OE|X − X |.


1 2 1 2

w,, θ = E|X − X |Monte CarloOŒ^ÏLlIO©Ù


1 2

¥ )m‡ x = (x , x ), j = 1, · · · , m. , OŽ θ̂ =
(j) (j)
1
(j)
2
(j)

|x − x |, j = 1, · · · , m. ±9θO
(j) (j)
1 2

m m
1 X (j) 1 X (j) (j)
θ̂ = θ̂ = |x − x2 |.
m j=1 m j=1 1

3R¥éN´¢y:
↑Code
m <- 1000

Previous Next First Last Back Forward 2


g <- numeric(m)
for (i in 1:m) {
x <- rnorm(2)
g[i] <- abs(x[1] - x[2])
}
est <- mean(g)
est

↓Code

·‚Œ±OŽÑE|X − X | = 2/√π =. 1.128379 ±9 V ar(|X −


1 2 1

X |) = 2 − 4/π. ÏdE θ̂ = 2/ π, V ar(θ̂) = [2 − 4/π]/m.



2

éIO Monte Carlo O·‚Œ±l˜„|ÜÑu?Ø. du


þnþŠX̄ IO pV ar(X)/m, X ©Ù™ž, Œ±¦
^“Plug-in”{O: d
m
1 X
V ˆar(X) = (xi − x̄)2 .
m i=1

Previous Next First Last Back Forward 3


ÏdX̄ IO O
" m
#1/2 "m #1/2
1 1 X 1 X
se(x̄)
ˆ = √ (xi − x̄)2 = (xi − x̄)2
.
m m i=1 m i=1

½öŒ±¦^à Oþ
" m
#1/2
1 1 X
se(x̄)
ˆ = √ (xi − x̄)2 .
m m − 1 i=1

þmŒž, 'uIO ü‡OþAƒ. Ïd, c~¥IO


O   1/2
m
1 X (j)
se(
ˆ θ̂) = (θ̂ − θ̂)2  .
m j=1

OŽ§SXe
↑Code

sqrt(sum((g-mean(g))^2))/m
#sd(g)/sqrt(m) #for unbiased estimator

Previous Next First Last Back Forward 4


↓Code

6.1.2 Estimation of MSE

Monte Carlo{Œ±^uOŽ˜‡OþMSE. ˜‡OþMSE½


M SE(θ̂) = E[θ̂ − θ] . XJloNX ¥) m‡x , · · · , x ,
2 (1) (m)

Kθ̂MSEMonte CarloO
m
1 X (j)
M ˆSE = (θ̂ − θ)2 ,
m j=1

Ù¥θ̂ = θ̂(x ).
(j) (j)

~ 2: ¦^Monte Carlo{OIO©Ù—þŠX̄ MSE. [−1]

3É~:ž, —þŠ~~^5OoN¥%. b
X , · · · , X ˜‡‘Å, X , · · · , X ƒAgSÚOþ, K ˜
1 n (1) (n)

Previous Next First Last Back Forward 5


‡kY²—þŠ
n−k
1 X
X̄[−k] = X(i) .
n − 2k i=k+1

~¥, 8Iëêθ = EX̄ = EX̄ [−1] = 0. PT = X̄ [−1] , KÙMSE


˜‡ Monte Carlo OŽ{Xe
1. ÏLXeÚ½)m‡­ET , j = 1, · · · , m: (j)

• )oNX : x , · · · , x .
(j) (j)
1 n

• lŒüS x
(j) (j)
≤ ··· ≤ x (1) (n)

• OŽ T
P(j) 1 n−1 (j)
= x .
n−2 i=2 (i)

2. O ŽMSE M ˆSE(T ) = 1 m (j) 2


P
(T − θ) m j=1 =
1
m
(T (j) )2 .

¢y§SXe
Previous Next First Last Back Forward 6
↑Code
n <- 20
m <- 1000
tmean <- numeric(m)
for (i in 1:m) {
x <- sort(rnorm(n))
tmean[i] <- sum(x[2:(n-1)]) / (n-2)
}
mse <- mean(tmean^2)
mse
sqrt(sum((tmean - mean(tmean))^2)) / m #se
↓Code

—þŠMSEO0.0504531(seˆ =. 0.007). þŠ MSEV ar(X)/n =


1/20 = 0.05. ,˜¡, ¥ êŸþ´˜«—þŠ, ÙK Ø¥m
˜‡½ü‡: ¤k:. ¥ êMSEOXe
↑Code
n <- 20
m <- 1000

Previous Next First Last Back Forward 7


tmean <- numeric(m)
for (i in 1:m) {
x <- sort(rnorm(n))
tmean[i] <- median(x)
}
mse <- mean(tmean^2)
mse
sqrt(sum((tmean - mean(tmean))^2)) / m #se
↓Code

l ¥ êMSEO0.075(seˆ = 0.0086).


~ 3: 'IO©Ù†Xe·Ü(“À/”)©ÙekY²—þŠ
OMSE.
pN (0, σ 2 = 1) + (1 − p)N (0, σ 2 = 100)

·‚˜‡¼ê5éØÓkÚpOŽ—þŠX̄ MSE. l·Ü [−k]

¥) ž, ‡ŠâP (σ = 1) = p; P (σ = 10) = 1 − p5‘ÅÀ


Jσ. 5¿‘Åê) ¼êrnormŒ±¦^ëê•þŠIO . 
Previous Next First Last Back Forward 8
Äp = 1.0, 0.95, 0.9 ±9k = 0, 1, · · · , n/2 − 1. Ïd§SXe
↑Code
n <- 20; K <- n/2 - 1; m <- 1000;
mse <- matrix(0, n/2, 6)
trimmed.mse <- function(n, m, k, p) {
#MC est of mse for k-level trimmed mean of
#contaminated normal pN(0,1) + (1-p)N(0,100)
tmean <- numeric(m)
for (i in 1:m) {
sigma <- sample(c(1, 10), size = n,
replace = TRUE, prob = c(p, 1-p))
x <- sort(rnorm(n, 0, sigma))
tmean[i] <- sum(x[(k+1):(n-k)]) / (n-2*k)
}
mse.est <- mean(tmean^2)
se.mse <- sqrt(mean((tmean-mean(tmean))^2)) / sqrt(m)
return(c(mse.est, se.mse))
}
for (k in 0:K) {
mse[k+1, 1:2] <- trimmed.mse(n=n, m=m, k=k, p=1.0)
mse[k+1, 3:4] <- trimmed.mse(n=n, m=m, k=k, p=.95)

Previous Next First Last Back Forward 9


mse[k+1, 5:6] <- trimmed.mse(n=n, m=m, k=k, p=.9)
}
round(n*mse,3)
↓Code

[(J3L6.1(Page 158)¥Ð«. (JL², þŠ­èO(—þŠ


O)3oN©ÙÀ/žUü$ MSE.
6.2 Estimating a confidence level

3A^ÚO¥²~‘˜‡¯K´OoN©Ù. 'X, Nõ~^ÚO


íä {ÚóäÑ´Äu5be. 3¢S¥, oN©Ùš´²
~, O þ©ÙŒUؽövkw«L«, dž, Monte Carlo {
KŒ±^5?1 ÚOíä.
b(U, V )´™ëêθ˜&«m, KÚOþU, V ©Ùѝ6uÄ ©
ÙX ©ÙF . ˜&Y²Ò´«m(U, V )U CXθýŠVÇ. Ïd O˜
X

&Y²Ò´˜‡È©O¯K.
Previous Next First Last Back Forward 10
'XĐ ˜&«mO¯K. IO{´é5bé¯a,
3êâ() l©Ùž, ·‚5¦^Monte Carlo{Oý¢˜&
Y². Äkwb½ e ˜&«mO(IO{):
~ 4:  ˜&«m bX , · · · , X , i.i.d ∼ N (µ, σ ), n ≥ 2, S 
1 n
2 2

 , K d
(n − 1)S 2
∼ χ2n−1
σ2
σ ˜‡100(1 − α)%˜&«m
2

(0, (n − 1)S 2 /χ2α (n − 1))

l loNN (0, σ 2 = 4) ¥‘ÅÄn = 20‡, KOŽσ 95%˜& 2

þ. §SXe
↑Code
n <- 20
alpha <- .05
x <- rnorm(n, mean=0, sd=2)

Previous Next First Last Back Forward 11


UCL <- (n-1) * var(x) / qchisq(alpha, df=n-1)
↓Code

·‚Œ±¦^ã5†*þ䲘&Y²:
↑Code
m<-100000
ucls<-numeric(m)
for(i in 1:m){
x <- rnorm(n, mean=0, sd=2)
ucls[i] <- (n-1) * var(x) / qchisq(alpha, df=n-1)
}
ind<-ucls>4
cov.rate<-cumsum(ind)/1:m
plot(2:m,cov.rate[-1],type="l")
abline(h=0.95)
↓Code

²˜&Y²´ÏL[, énؘ&Y²?1O. ٘„‰{Xe


Previous Next First Last Back Forward 12
bX ∼ F , a,ëêθ. Kéj = 1, · · · , m:
X

1. )1j ‡‘Åx , · · · , x .
(j) (j)
1 n

2. OŽÄu1j ‡˜&«mC j

3. OŽy = I(θ ∈ C )
j j

4. OŽ²˜&Y²ȳ = 1 m
P
y . m j=1 j

~ 5: ˜&Y²Monte CarloO 3þ˜‡~f¥, ·‚¦^ for ̂


5¢yOŽσ m‡˜&þ.. ·‚Œ±¦^replicate¼ê:
2

↑Code
n <- 20
alpha <- .05
UCL <- replicate(1000, expr = {
x <- rnorm(n, mean = 0, sd = 2)
(n-1) * var(x) / qchisq(alpha, df = n-1)
} )

Previous Next First Last Back Forward 13


#OŽ¹ «mê
sigma^2=4

OŽ²CXÇ ˜&Y²)
sum(UCL > 4)
# (
mean(UCL > 4)
↓Code

¼ê‡­E‰1“è˜3{}¥, ëêexprŒ±N^˜‡¼ê:
replicate

↑Code
calCI <- function(n,alpha){
x <- rnorm(n, mean = 0, sd = 2)
return((n-1) * var(x) / qchisq(alpha, df = n-1))
}
UCL<-replicate(1000,expr=calCI(n=20,alpha=.05))
mean(UCL>4)
↓Code

Previous Next First Last Back Forward 14


±þ¤`˜&«mE{´ïá35bƒþ, XJêâ(
)ØÑl©Ù, K ý˜&Y²
(n − 1)S 2 σ 2 χ2α (n − 1) σ 2 χ2α (n − 1)
P( 2
> σ 2 ) = P (S 2 > ) = 1 − G( ).
χα (n − 1) n−1 n−1

ùpGÚOþS ©Ù. ÏdO˜&Y²du‡OG(t) = P (S <


2 2

g(x)dx, l Monte CarloÈ©O{Œ±^5OdÈ©.


t
R
t) = 0

~ 6: ²˜&Y² 3~5¥, bÑlχ , K²˜&Y²´õ 2


2

? dž  E,´4.
↑Code
n <- 20; alpha <- .05

l ¥Ä
UCL <- replicate(1000, expr = {
x <- rchisq(n, df = 2) # chi^2(2)
(n-1) * var(x) / qchisq(alpha, df = n-1) } )
sum(UCL > 4)
mean(UCL > 4)
↓Code

Previous Next First Last Back Forward 15


c¡~f¥Ä¯KÑ´3oN©Ù®œ/e, éëê?
1Monte CarloO. Ïdù« œ¹eMonte Carlo{¡´ëê
Bootstrop {. k'uBootstrap {·‚ò3 ¡ ÆS.

6.3 Monte Carlo Methods for Hypothesis Tests

b½·‚‡ÄXe/ªbu¯K:
H0 : θ ∈ Θ0 vs H1 : θ ∈ Θ1

ùpΘ , Θ ëê˜mΘy©.
0 1

ÚObu¥¬Ñyü«†Ø:
• Type I error: "báý, ¢Sþ"b´(;

• Type II error: "bÉ, ¢Sþ"b´†Ø.

Previous Next First Last Back Forward 16


uwwÍ5Y², α, ´˜.†ØÇþ.. áý"bVÇ 6uë
êθýŠ, Pπ(θ)áý"bVÇ, K
α = sup π(θ).
θ∈Θ0

˜.†ØÇ´"b(ž, "báýVÇ. Ïd˜‡u3"b


^‡e ­Eéõg , * ˜.†ØÇÒAT–õ½%Cα.
eT uÚOþ, T uÚOþ*ÿŠ, K¡T ´wwÍ , XJÄ
∗ ∗

uT u(Ø ´áý"bH . wÍVǽpŠ´¦uÚOþwÍ



0

ŒUαŠ.
6.4 Empirical Type I error rate

[Œ±^5OŽ˜‡u{²˜.†ØÇ. uL§3
Monte Carlo
"b^‡eŒþ­E, K ²˜.†ØǏuÚOþ3­E¥´wÍ
'~.
Previous Next First Last Back Forward 17
Monte Carlo[5OŽ²˜.†ØÇ:
1. éz‡­Ej, j = 1, · · · , m.

(a) l"©Ù)1j ‡‘Å x , · · · , x ;


(j) (j)
n

(b) Äu1j ‡OŽuÚOþT ;


1

(c) P¹ûü(JI = 1,eH 3wÍ5Y²αeá


ý; ÄK I = 0.
j 0
j

2. OŽwÍu'~ 1
I , d'~=*ÿ
m
P

˜.†ØÇ. m j=1 j

^p̂L«O˜.†ØÇ, KÙIO O


r
p̂(1 − p̂) 0.5
se(p̂)
ˆ = ≤ √ .
m m

Previous Next First Last Back Forward 18


~7: ²˜.†ØÇ bX , · · · , X1 20 i.i.d N (µ, σ 2 ), bH 0 :µ=
500 H : µ > 500. 3"be,
1

X̄ − 500
T∗ = √ ∼ t19 .
S/ 20

ŒT Š´|±éáb. ·‚¦^Monte Carlo{5OŽ3σ = 100ž


˜.†ØÇ, 5uÿÙ´Ä%C0.05.
↑Code
n <- 20; alpha <- .05; mu0 <- 500; sigma <- 100;
m <- 10000 #number of replicates
p <- numeric(m) #storage for p-values
for (j in 1:m) {
x <- rnorm(n, mu0, sigma)
ttest <- t.test(x, alternative = "greater", mu = mu0)
p[j] <- ttest$p.value
}
p.hat <- mean(p < alpha)
se.hat <- sqrt(p.hat * (1 - p.hat) / m)
print(c(p.hat, se.hat))

Previous Next First Last Back Forward 19


plot(1:m,cumsum(p<alpha)/1:m,type="l")
abline(h=0.05)
↓Code

~8: ©Ù Ýu ˜‡‘ÅCþX  ÝXê½Â


E[(X − µ)3 ]
β1 = ,
σ3
Ù¥µ = EX, σ = V ar(X). ˜‡©Ù¡´é¡, XJβ = 0; ¡´
2
1

,XJβ > 0;¡´K ,XJβ < 0. Ý XêO


1 1
1 Pn
n i=1 (Xi − X̄)3
b1 = 1 Pn .
(n i=1 (Xi − X̄)2 )3/2

Œ±y², √n(b − β ) =⇒ N (0, 6). ©Ù´é¡©Ù, Ïd ÝXê


1 1
Asy

Œ±^5u˜‡©Ù´Äé¡©Ù. b
H0 : β1 = 0 vs H1 : β1 6= 0.

Previous Next First Last Back Forward 20


l Œ±ÄuuÚOþb u{K. 1

p
|b1 | ≥ zα 6/n, Reject H0 ; Otherwise, Accept H0 .

éŒ5`, uwÍ5 Y²ˆ½wÍ5Y², 'Xα = 0.05;


é5`, dub nة٠،, l (ƒwÍ5Y²ØŒ,
1

Ù²˜.†Ønj±ÏLMonte Carlo{5O.
↑Code
n <- c(10, 20, 30, 50, 100, 500) #sample sizes
cv <- qnorm(.975, 0, sqrt(6/n)) #asymptotical crit. values for each n

sk <- function(x) {
#computes the sample skewness coeff.
xbar <- mean(x)
m3 <- mean((x - xbar)^3)
m2 <- mean((x - xbar)^2)
return( m3 / m2^1.5 )
}

Previous Next First Last Back Forward 21


#n is a vector of sample sizes
#we are doing length(n) different simulations
p.reject <- numeric(length(n)) #to store sim. results
m <- 10000 #num. repl. each sim.
for (i in 1:length(n)) {
sktests <- numeric(m) #test decisions
for (j in 1:m) {
x <- rnorm(n[i])
#test decision is 1 (reject) or 0 (Accept)
sktests[j] <- as.integer(abs(sk(x)) >= cv[i] )
}
p.reject[i] <- mean(sktests) #proportion rejected
}
names(p.reject)<-as.character(n)
p.reject
↓Code

Previous Next First Last Back Forward 22


(JL²éþž, ù«uwÍ5Y² $,vkˆnØ
Š0.05. 3oNe, Œ±¦Ñ
6(n − 2)
V ar(b1 ) = .
(n + 1)(n + 3)

Ïd, é, AT¦^d 5OŽu.Š:


↑Code
cv<-qnorm(.975, 0, sqrt(6*(n-2)/((n+1)*(n+3)))) # crit. values for each n
p.reject <- numeric(length(n)) #to store sim. results
m <- 10000 #num. repl. each sim.
for (i in 1:length(n)) {
sktests <- numeric(m) #test decisions
for (j in 1:m) {
x <- rnorm(n[i])
#test decision is 1 (reject) or 0 (Accept)
sktests[j] <- as.integer(abs(sk(x)) >= cv[i] )
}
p.reject[i] <- mean(sktests) #proportion rejected
}
p.reject

Previous Next First Last Back Forward 23


↓Code

y3OÒ'‚C¶ÂŠ0.05 .

6.4.1 Power of a Test

˜‡uõ½Â
π(θ) = Pθ (Reject H0 )

k˜‡θ ∈ Θ ž, ‹.†ØVǏ1 − π(θ ). nŽ¥, ·‚ F"˜


1 1 1

‡u†ØÇ$Ð. ˜.†ØÇÏLwÍ5Y²αÀJ ››, $


.†ØÇéAupõ. Ïd, 3'ü‡äkÓwÍ5Y²
už, ·‚a, ´'§‚õ. ˜„5`ù«'Ø´{ü˜
‡¯K, 'X˜‡uõπ(θ ) 6u3éábeθ Š. ˜‡u
1 1

õ¼êvk©ÛLˆªž, õ¼ê 3A½θ ∈ Θ ?ŠŒ±Ï 1 1

LMonte Carlo{.
Previous Next First Last Back Forward 24
Monte Carlo {OŽuõ:
1. ÀJ˜‡A½θ ∈ Θ. 1

2. éz‡­Ej, j = 1, · · · , m.

(a) 3éáb˜mθ = θ œ¹e)1j ‡‘Å


 x ,··· ,x ;
1
(j) (j)
n

(b) Äu1j ‡OŽuÚOþT ;


1

(c) P¹ûü(JI = 1,eH 3wÍ5Y²αeá


ý; ÄK I = 0.
j 0
j

3. OŽwÍu'~ I , d'~=*ÿ
1 m
P

˜.†ØÇ. m j=1 j

~9: ¦^[{O~7¥tuõ¿xѲõ¼ê­‚
↑Code
n <- 20
m <- 1000

Previous Next First Last Back Forward 25


mu0 <- 500
sigma <- 100
mu <- c(seq(450, 650, 10)) #alternatives
M <- length(mu)
power <- numeric(M)
for (i in 1:M) {
mu1 <- mu[i]
pvalues <- replicate(m, expr = {
#simulate under alternative mu1
x <- rnorm(n, mean = mu1, sd = sigma)
ttest <- t.test(x,
alternative = "greater", mu = mu0)
ttest$p.value } )
power[i] <- mean(pvalues <= .05)
}
↓Code

Oõπ̂(θ)3•þpower¥, e¡xѲõ¼êã”, ·‚ùp


¦^Hmiscperrbar¼ê.
↑Code

Previous Next First Last Back Forward 26


par(ask = TRUE)
library(Hmisc) #for errbar
plot(mu, power)
abline(v = mu0, lty = 1)
abline(h = .05, lty = 1)

#add standard errors


se <- sqrt(power * (1-power) / m)
errbar(mu, power, yplus = power+se, yminus = power-se,
xlab = bquote(theta))
lines(mu, power, lty=3)
detach(package:Hmisc)
par(ask = FALSE)
↓Code

5¿étu, ébH : µ = µ vs H : µ 6= µ ó, uÚO


0 0 1 0

þT = (X̄ − µ)/(S/√n)3"beÑl¥%t©Ù, 3éábe,


T Ñlš¥%t©Ù, š¥%ëêδ = (µ − µ ) n/σ. 3R¥,Œ±¦^¼

0

êpower.t.test5OŽtuõ½ö3‰½õe(½ˆëêŠ.
Previous Next First Last Back Forward 27
~10: ·Ü©Ùe5 Ýuõ 3~8¥, ·‚Ä 5
Ýu˜.†ØÇ. é·Ü©Ù
pN (0, σ 2 = 1) + (1 − p)N (0, σ 2 = 100), 0 ≤ p ≤ 1.

p = 0, 1, ©Ù; 0 < p < 1, Ø2©Ù. Ïd, ·‚Œ±O


Ž˜e Ýu^uu5õ. ùpÄwÍ5Y²α = 0.1, 
þn = 30. ·‚­EdL§m = 2500g5OŽõ.
↑Code
alpha <- .1
n <- 30
m <- 2500
epsilon <- c(seq(0, .15, .01), seq(.15, 1, .05))
N <- length(epsilon)
pwr <- numeric(N)
#critical value for the skewness test
cv <- qnorm(1-alpha/2, 0, sqrt(6*(n-2) / ((n+1)*(n+3))))

for (j in 1:N) { #for each epsilon

Previous Next First Last Back Forward 28


e <- epsilon[j]
sktests <- numeric(m)
for (i in 1:m) { #for each replicate
sigma <- sample(c(1, 10), replace = TRUE,
size = n, prob = c(1-e, e))
x <- rnorm(n, 0, sigma)
sktests[i] <- as.integer(abs(sk(x)) >= cv)
}
pwr[j] <- mean(sktests)
}
#plot power vs epsilon
plot(epsilon, pwr, type = "b",
xlab = bquote(epsilon), ylim = c(0,1))
abline(h = .1, lty = 3)
se <- sqrt(pwr * (1-pwr) / m) #add standard errors
lines(epsilon, pwr+se, lty = 3)
lines(epsilon, pwr-se, lty = 3)
↓Code

²õ¼ê­‚3p = 0Úp = 1ü:Cα = 0.1, é0 < p < 1, õ¼


êŒu0.1, ŒŠŒ3p = 0.15?ˆ.
Previous Next First Last Back Forward 29
6.4.2 Power Comparisons

{²~^u'ØÓuõ. !·‚?Øéu5
Monte Carlo
Ýu¯KA«u õ É. ©z¥éu5u®kéõØÓ
{. ·‚ùpÄn«u{.
~11: 5uõ' é˜5u¯K, 'Shapiro-
Wilku, Energyu Ú Ýun«uõ É.
bN ˜‡˜©Ùa, ub
H0 : FX ∈ N vs H1 : FX ∈
/ N.

Shapiro-Wilk u´ÄugSÚOþ駂35¤áe
Ï"Š£8, Ïd§áu˜„Äu£8 ڃ'aOu{. é
þ7 ≤ n ≤ 2000, CquÚOþ.ŠÏLòÚOþW C† ©Ù
‘ÅCþ . ëÖá )õShapiro-Wilku{. 3R¥, Œ
±ÏLshapiro.test ¼êŠShapiro-Wilku.
Previous Next First Last Back Forward 30
Energyu´ÄuÄ©ÙÚ©Ùƒm“energy”ål?1u, Ï
dŒuÚOþŠ¿›XwÍ5. energyu´^5uõ5˜«
{, ùp·‚Ä´ÙA~d = 1, 3˜ue, energyuaqu
Anderson-Darlingu. energyuÚOþ
 
n n
2 X 1 X0
Qn = n  Ekxi − X| − EkX − X k − 2 kxi − xj k ,
n i=1
n i,j=1

Ù¥X, X i.i.d©Ù‘ÅCþ. ŒQ ŠL²wÍ5. 3˜œ/e,


0
n

Q Œ±L«
n

n n
" #
2X 2 1 X
Qn = n (2Yi Φ(Yi ) + 2φ(Yi )) − √ − 2 (2k − 1 − n)Y(k) ,
n i=1 π n k=1

Ù¥Y = i , Y Y , · · · , Y 1k‡gSÚOþ. eëêµ , σ ™


Xi −µX
σX (k) 1 n X X

, K^þŠÚ . 3õœ/kaqOŽúª, 3R¥


energyu¹3energy¥, ¶¡mvnorm.etest.

Previous Next First Last Back Forward 31


1n«uÒ´·‚c¡~f¥ Ýu. ·‚wÍ5Y²α =
éáb
0.1,

(1 − p)N (µ = 0, σ 2 = 1) + pN (µ = 0, σ 2 = 100), 0 ≤ p ≤ 1

p = 0½ö1ž, ©Ù©Ù, dž²˜.†ØÇAT¶Â†Ø


Çα = 0.1››4, ·‚ a,´30 < p < 1žn«uõ'.
↑Code
library(energy)
alpha <- .1
n <- 30
m <- 500 #try small m for a trial run
test1 <- test2 <- test3 <- numeric(m)

#critical value for the skewness test


cv <- qnorm(1-alpha/2, 0, sqrt(6*(n-2) / ((n+1)*(n+3))))
sim <- matrix(0, 11, 4)

# estimate power

Previous Next First Last Back Forward 32


for (i in 0:10) {
epsilon <- i * .1
for (j in 1:m) {
e <- epsilon
sigma <- sample(c(1, 10), replace = TRUE,
size = n, prob = c(1-e, e))
x <- rnorm(n, 0, sigma)
test1[j] <- as.integer(abs(sk(x)) >= cv)
test2[j] <- as.integer(
shapiro.test(x)$p.value <= alpha)
test3[j] <- as.integer(
mvnorm.etest(x, R=200)$p.value <= alpha)
}
print(c(epsilon, mean(test1), mean(test2), mean(test3)))
sim[i+1, ] <- c(epsilon, mean(test1), mean(test2), mean(test3))
}
detach(package:energy)

# plot the empirical estimates of power


plot(sim[,1], sim[,2], ylim = c(0, 1), type = "l",
xlab = bquote(epsilon), ylab = "power")

Previous Next First Last Back Forward 33


lines(sim[,1], sim[,3], lty = 2)
lines(sim[,1], sim[,4], lty = 4)
abline(h = alpha, lty = 3)
legend("topright", 1, c("skewness", "S-W", "energy"),
lty = c(1,2,4), inset = .02)
↓Code

(JL²Shapiro-WilksuÚenergyu3udb¥kX Øõõ
, ['¥½n = 30 Úp < 0.5. dü‡uõÑ' Ýuõ
Œ, energyuwå530.5 ≤ p ≤ 0.8ž õŒ.
6.5 Application: “Count Five” Test for Equal
Variance

!¥·‚0 ˜‡{üü à5u{. “Count five” u à


5{dMcGrath Ú Yeh Ú\, ÏLé˜|ƒéu, ˜|
‰Œ4Š:‡ê. bü|þŠÚþуÓ. ˜|e˜‡
*ÿŠXJØ3,˜|‰Œ¥, KÒ´˜‡4Š:. XJz|
Previous Next First Last Back Forward 34
Ñk– 5‡4Š:, Káý b.
~ 12: Count Five test statistic ÏLXeêŠ~f5`²du.
↑Code
x1 <- rnorm(20, 0, sd = 1)
x2 <- rnorm(20, 0, sd = 1.5)
y <- c(x1, x2)

group <- rep(1:2, each = length(x1))


boxplot(y ~ group, boxwex = .3, xlim = c(.5, 2.5), main = "")
points(group, y)
↓Code

édü|, ÏLBoxãҌ±†*þOŽÑƒA4Š:‡ê. Œ±O


ŽXe
↑Code
# now identify the extreme points
range(x1)
range(x2)

Previous Next First Last Back Forward 35


i <- which(x1 < min(x2))
j <- which(x2 > max(x1))

x1[i]
x2[j]

out1 <- sum(x1 > max(x2)) + sum(x1 < min(x2))


out2 <- sum(x2 > max(x1)) + sum(x2 < min(x1))
max(c(out1, out2))
↓Code

dž·‚ØUáý à5b.
~ 13: ÄlӘ©Ù¥ÕáÄü|, OCount Fiveu
¥4Š:‡êŒŠ©Ù, ¿ éÑ0.80,0.90Ú0.95© ê.
e¡¼êmaxoutOŽ4Š:ŒŠ.٩ٌ±ÏLMonte Carlo
{O.
↑Code

Previous Next First Last Back Forward 36


maxout <- function(x, y) {
X <- x - mean(x)
Y <- y - mean(y)
outx <- sum(X > max(Y)) + sum(X < min(Y))
outy <- sum(Y > max(X)) + sum(Y < min(X))
return(max(c(outx, outy)))
}

n1 <- n2 <- 20; mu1 <- mu2 <- 0; sigma1 <- sigma2 <- 1; m <- 1000

# generate samples under H0


stat <- replicate(m, expr={
x <- rnorm(n1, mu1, sigma1)
y <- rnorm(n2, mu2, sigma2)
maxout(x, y)
})
print(cumsum(table(stat)) / m)
print(quantile(stat, c(.8, .9, .95)))
↓Code

Previous Next First Last Back Forward 37


5¿quantile¼ê‰Ñ0.95© ê´6, ´XJα = 0.05, K5Š
.ŠÜ·. quantile¼ê ‰Ñ© ê¿Ø´o´Ð, Ïd˜„‡5¿
Ú²©Ù¼ê'.
McGrath Ú Yehy² Count Five u^uu¥%zê␠à5
žwÍ5Y²õ0.0625. ¢S¥, oNþŠ˜„´Ø, z|Œ
±ÏL~ˆgþŠ5¥%z.
~ 14: oNþŠ™, z|~ˆgþŠ5¥%z, ¦
^Monte Carlo{O džCount FiveuwÍ5Y².
↑Code
count5test <- function(x, y) {
X <- x - mean(x)
Y <- y - mean(y)
outx <- sum(X > max(Y)) + sum(X < min(Y))
outy <- sum(Y > max(X)) + sum(Y < min(X))
# return 1 (reject) or 0 (do not reject H0)
return(as.integer(max(c(outx, outy)) > 5))
}

Previous Next First Last Back Forward 38


n1 <- n2 <- 20; mu1 <- mu2 <- 0; sigma1 <- sigma2 <- 1;
m <- 10000
tests <- replicate(m, expr = {
x <- rnorm(n1, mu1, sigma1)
y <- rnorm(n2, mu2, sigma2)
x <- x - mean(x) #centered by sample mean
y <- y - mean(y)
count5test(x, y)
} )

alphahat <- mean(tests)


print(alphahat)
↓Code

XJoNþŠ´®, K²˜.†Ønj0.055(c¡~f¥
OÑ). ~¥ ¦^þŠ“OoNþŠ, ˜.†Ønj0.0565(se=.
0.0022).

Previous Next First Last Back Forward 39


~ 15: ­E~ 13, ü|þ؃Ӟ, OŽ²˜.†ØÇ.
↑Code
n1 <- 20
n2 <- 30
mu1 <- mu2 <- 0
sigma1 <- sigma2 <- 1
m <- 10000

alphahat <- mean(replicate(m, expr={


x <- rnorm(n1, mu1, sigma1)
y <- rnorm(n2, mu2, sigma2)
x <- x - mean(x) #centered by sample mean
y <- y - mean(y)
count5test(x, y)
}))

print(alphahat)
↓Code

Previous Next First Last Back Forward 40


(JL²ü|þØӞ, Count Fiveu¿vk^0.0625›
›4˜.†ØÇ.
~ 16: ¦^Monte Carlo{OCount Fiveuõ. Ä©Ù
N (µ = 0, σ = 1) ÚN (µ = 0, σ = 1.5 ), þn = n = 20.
1
2
1 2
2
2
2
1 2

↑Code
# generate samples under H1 to estimate power
sigma1 <- 1
sigma2 <- 1.5

power <- mean(replicate(m, expr={


x <- rnorm(20, 0, sigma1)
y <- rnorm(20, 0, sigma2)
count5test(x, y)
}))

print(power)
↓Code

3éábσ 1 = 1, σ2 = 1.5eu²õ0.3025(se ≤ 0.005) .


Previous Next First Last Back Forward 41

You might also like