我有一个参数为(0,$ \ theta $)的Uniform分布, 并且我已经计算出其MME,以及其他两个估算器。 我还在代码中计算了他们的个人偏见。 但是我很难在一个图中正确地绘制三个偏差。 我想知道您是否会为我提供任何有关如何修改“ matplot”部分的建议。也许问题就在那里?非常感谢你!
n <- 1000
theta <- 9
x <- runif(n, 0, theta)
theta.hat.mme <-2*mean(x)
theta.hat.G <-(n*theta)/(n+1)
theta.hat.H <-((n+1)/n)*theta.hat.G
# theta.hat.G is the max of (x_1, x_2,...,x_n) be an estimator of theta, and theta.hat.H is the modified estimator of theta.hat.G to make it unbiased.
# Empirical Exploration of properties
M <- 1000 # Number of sample of size n
L <- 9 # Different values of n
# create storage variables
mme <- numeric(M)
vn <- numeric(L)
bias <- variance <- matrix(0, nrow=L, ncol=3)
for(l in 1:L)
{
n <- 20 + (l-1)*10
for(m in 1:M)
{
x <- runif(n, 0, theta)
mme[m] <- 2*mean(x)
}
bias[l,1] <- mean(mme)-theta
bias[1,2] <-mean(theta.hat.G)-theta
bias[1,3] <-mean(theta.hat.H)-theta
variance[l,1] <- var(mme)
variance[1,2] <-var(theta.hat.G)
variance[1,3] <-var(theta.hat.H)
vn[l] <- n
}
#windows(5,5)
matplot(vn, bias, type='l', col=1:3, lty=1:3, xlab='n')
abline(h=0, lty=3)
legend('topright', col=1:3,
c('Method of Moments Estimator', 'Theta G', 'Theta H'),
inset=0.01, lty=1:2)