#2
true.p=0.2;q=qnorm(1-0.025);B=1000;
test <- function(n){
X = rbinom(n=n,size=1,p=true.p);
p.n = mean(X);
uni = sqrt(log(2/0.05)/(2*n))
Wald = q*sqrt(p.n*(1-p.n)/n)
ind.uni=ind.Wald =0;
if( ((p.n+uni-true.p)*(p.n-uni-true.p)) < 0 ){
ind.uni =1;
}
if( ((p.n+Wald-true.p)*(p.n-Wald-true.p)) < 0 ){
ind.Wald =1;
}
result = c(ind.uni ,ind.Wald ,2*uni, 2*Wald)
}

result.100 = result.200 = result.300 = NULL;
for( i in 1:1000){
result.100 = rbind(result.100,test(100))
result.200 = rbind(result.200,test(200))
result.300 = rbind(result.300,test(300))
}
colMeans(result.100)
## [1] 1.0000 0.9410 0.2716 0.1559
colMeans(result.200)
## [1] 0.9990 0.9410 0.1921 0.1106
colMeans(result.300)
## [1] 1.00000 0.94400 0.15682 0.09021
#4
mu = 1:25;X = 25-mu;error = rnorm(25)
Y = mu + error;fit = lm(Y~X);
plot(X,Y);abline(fit[[1]]);

plot of chunk unnamed-chunk-1

#6-(b)
require(boot)
## Loading required package: boot
true = (1/2 + (exp(1)^4)/(1+exp(1)^2))/(1+exp(1)^2)
true; 
## [1] 0.8354
N= 100;empirical = NULL;
for( i in 1: 300){
X = rbinom(n=N*i, size=1, p=0.5);
Y = rbinom(n=N*i, size=1, p=inv.logit(4*X-2));
Z = rbinom(n=N*i, size=1, p=inv.logit(2*(X+Y)-2));
V = matrix(rbind(X,Y,Z), nrow=3);
empirical[i] = sum(V[2,]*V[3,])/sum(V[2,])
}
plot((1:300), empirical,xlab="sample size/100",ylab="prob")
abline(true,0,col="red")

plot of chunk unnamed-chunk-1

#6-(d)
true = (1/2 + (exp(1)^2)/(1+exp(1)^2))/2
true; 
## [1] 0.6904
for( i in 1: 300){
X = rbinom(n=N*i, size=1, p=0.5);
Z = rbinom(n=N*i, size=1, p=inv.logit(2*(X+1)-2));
V = matrix(rbind(X,Z), nrow=2);
empirical[i] = mean(V[2,])
}
plot((1:300), empirical,xlab="sample size/100",ylab="prob")
abline(true,0,col="red")

plot of chunk unnamed-chunk-1