# Problem 9.11.1
# A coin is thrown independently 10 times with P(heads)=p
# To test null hypothesis p=.5 versus alternative that it is not,
# reject if 0 or 10 heads observed
#
# Let X be the number of heads observed.
# X ~ Binomial(size=10,prob=p)
#
# a). The significance level of the test is the
# probability of rejcting the null when it is true.
# (chance of getting 10 tails or getting 10 heads in a row)
sig.level=2*(.5^10)
print(sig.level)
## [1] 0.001953125
# b). What is the power of the test if P(heads)=.1
# The power is chance of a binomial(size=10,prob=.1) equalling 0 or 10
# This can be computing usin binomial pmf:
dbinom(0,size=10,prob=.1) + dbinom(10,size=10,prob=.1)
## [1] 0.3486784
# Or using the binomial cdf:
pbinom(0,size=10,prob=.1) + (1-pbinom(9,size=10,prob=.1))
## [1] 0.3486784
# Problem 9.11.6. Consider tossing the coin until a head comes up
# Define X to be the total number of tosses.
# The variable Y=(X-1) has a geometric distribution in R
# with pmf function dgeom(x, prob)
args(dgeom)
## function (x, prob, log = FALSE)
## NULL
x.grid=seq(1,15)
dgeom(0:10,prob=.5)
## [1] 0.5000000000 0.2500000000 0.1250000000 0.0625000000 0.0312500000
## [6] 0.0156250000 0.0078125000 0.0039062500 0.0019531250 0.0009765625
## [11] 0.0004882812
dgeom(0:10,prob=.1)
## [1] 0.10000000 0.09000000 0.08100000 0.07290000 0.06561000 0.05904900
## [7] 0.05314410 0.04782969 0.04304672 0.03874205 0.03486784
x.grid.probs.h0=dgeom(x.grid-1, prob=.5)
x.grid.probs.h1=dgeom(x.grid-1, prob=.1)
x.grid.likeratio=x.grid.probs.h0/x.grid.probs.h1
plot(x.grid, x.grid.likeratio,xlab="x", ylab="LikeRatio")
# a). If the prior probabilities are equal, which
# outcomes favor H0?
#
# These are the values of x for which the likelihood ratio exceeds 1.
x.grid[which(x.grid.likeratio>1)] # x=1,2, or 3
## [1] 1 2 3
# The values which favor H1 are the complement, values greater than 3.
# b). If the prior odds P(H0)/P(H1)=10,
# then the outcomes that favor H0 are those for which the
# posterior odds exceed 1, which are those for which the
# likelihood ratio exceeds 1/10:
x.grid[which(x.grid.likeratio>.1)]
## [1] 1 2 3 4 5 6 7
# c). What is the significance level of a test that
# rejects H0 if X >= 8
prob.h0=0.5
# Equals 1-Prob(accept H0 | H0)
sig.level=1-sum(dgeom(c(0:(7-1)), prob=prob.h0))
print(sig.level)
## [1] 0.0078125
# This should be close to
sum(dgeom(7:50,prob=prob.h0))
## [1] 0.0078125
# d) The power of the test is the probability of rejecting
# given prob=.1
prob.h1=.1
power.h1=1-sum(dgeom(c(0:(7-1)), prob=prob.h1))
print(power.h1)
## [1] 0.4782969
# This should be close to
sum(dgeom(7:50,prob=prob.h1))
## [1] 0.4736585